CV: CS 4476-A

MW 2:00-3:15pm, L4 Howey Physics Building


  • Computer Vision: Algorithms and Applications, by Rick Szeliski. An electronic copy is available free online here.
  • Some background reading on object recognition is from Kristen Grauman and Bastian Leibe’s short book on Visual Object Recognition.

Python, Pytorch & Linear Algebra

You should invest ten minutes each in figuring out how to the following tools to work at the level of just calling them when you’re stuck or need an output. You don’t need to be an expert but having a handle on these will make your life easier.

  • Python
  • PyTorch
  • Visualizing CNN weights
  • Receptive field examples
  • imagemagick (available on most systems): e.g., convert input.png -resize 800x800 output.png
  • A very good linear algebra review and reference from Zico Kolter (and Chuong Do) here. You can safely ignore: determinants, the Hessian, gradients/Hessians for quadratic and linear functions, gradients of the determinant, and eigenvalues as optimization.
  • The Matrix Cookbook. It’s organized thematically and often the identities are very useful when you’re stuck.

Advice on Doing Well

  • Attend Lecture. You’re adults and this is a 4000-level class. I don’t take attendance. You can experience this class by watching back to back computer vision lectures at 1.25x speed at midnight, but it’s not a good way to learn and will cost you time in the long run.
  • Stay on top of things. This stuff builds fairly cumulatively. If you look away for a while, your experience may look like this. If you skip a few critical classes and don’t keep up, you may miss an entire abstraction that’s used throughout a block of classes.
  • Success is time x effectiveness. You can put in lots of ineffective hours and get nothing done. Invest 30 minutes at the beginning of the semester to get comfortable with using pdb, matplotlib, and an effective workflow, and this will pay off.
  • Work and study in teams. If you’re already doing well, then explaining to people is really the best way to cement your understanding. If you’re not doing well, then you can find people who will explain things.
  • Start early on assignments
    • If you work for 4 hours and hit a brick wall, if you call it a night and spend 2 hours the next day, often the solution is obvious. If you don’t have a next day, then you can’t rely on this. In general, spending 4+2 hours on something is far better than spending 6 hours on it.
    • Your implementation may be slow
  • If you’re not sure whether it’s needed, include it. Asking “is it necessary” and waiting for an answer on Ed Discussion often takes as much time as including it.
  • Submit something for everything We can’t give partial credit for blank pages, but if you write something about how you’d tackle the problem, these are the easiest points to give.
  • Thanks to David Fouhey for providing the first draft of this advice!