CSC2503: Foundations of

Computational Vision (Fall 2018)

General Information

Professor: Kyros Kutulakos (office: BA5264, office hour: Thursday 4pm)

Teaching assistant: Parsa Mirdehghan


Lectures: W 2-5pm (MP137)

Tutorials: F 11-noon (GB119)


Course dropbox: link to dropbox folder

Piazza page: link (anonymous link)

Final exam: Dec 12, 2-5pm (MP137)

About the Course

This course offers an in-depth, graduate-level introduction to computer vision. Topics covered include the following: (1) Camera system geometry, geometric transformations, multi-view geometry, projective and metric reconstructions. (2) Image acquisition, scene lighting and reflectance models. (3) The robust estimation of edges, lines, and regions. (4) Image matching and the estimation of motion in image sequences. (5) Advanced topics in visual inference, including Markov random fields and deep learning for computer vision.

All course materials (lecture slides, course notes, research papers, tutorial notes, assignments) will be available in the course dropbox.

In addition to the lecture slides and course notes, students are expected to read selected chapters from Simon Prince’s computer vision book and (much less frequently) Forsyth and Ponce’s computer vision book (1st edition). I am placing a third book, by Rick Szeliski, on dropbox as well. I will not be assigning chapters from it but it's a nice book to read if you want to get a more application-oriented view of computer vision.

Students taking the course are expected to be comfortable with elementary probability and statistics, linear algebra, elementary geometry, and vector calculus (including partial differentiation). It is also assumed that students are comfortable with programming and will be expected to rapidly learn to use Matlab or analogous python-based tools.


There will be 3 assignments given during the term for a total weight of 55%. Each assignment includes a programming portion (in matlab) and a theory portion (written report).


The two-hour final exam will be worth 45% of the course grade.


The tentative schedule for the assignments is as follows:

  • Assignment 1: on dropbox September 26, due October 17 at 11:59pm
  • Assignment 2: on dropbox October 17, due November 7 at 11:59pm
  • Assignment 3: on dropbox November 14, due December 5 at 11:59pm

Weight distribution for the assignments will be 18.3% each.


Late policy: there will be a 10% marks deduction for each day late, for up to three days. Deductions begin immediately after the due date & time (ie. after 11:59pm on the due date). For example, an assignment submitted late but less then 24hrs after the due date will receive a 10% deduction. Assignments submitted more than 72 hours late will not be accepted.

How to make the most out of this course

  1. Read the lecture slides before coming to class and consult the relevant readings (this applies to all lectures except the first one). While you are certainly not expected to digest the material before coming to each lecture, this should help you identify background you may want to consult before attending, as well as questions you may want to ask in class.
  2. Bring a copy of the lecture slides to class so you can make notes on them during the lecture.
  3. Consult past exams often, throughout the course. This will help you assess your understanding of the material as well as prepare for the final. Note that my policy is to not provide solutions to past exam questions and to discourage students from posting their answers to the web. Nevertheless, you are encouraged to discuss your answers and/or solution strategies informally in small groups. I am more than happy to tell you or your group if you are on the right (or wrong) track for a past exam question, as long as you have made a reasonable effort to answer it.
  4. Create informal study groups to discuss the lecture materials, double-check your answers to past exam questions and resolve points of confusion. Informal groups of 2-3 students work best.

Academic Honesty

Cheating on assignments has very serious repercussions for the students involved, far beyond simply getting a zero on their assignment.


All students taking this course should be aware of the following:

  • Assignments are strictly individual work. They should not be discussed with anyone. The TAs are very experienced in detecting signs of collaboration between students.
  • There is a zero tolerance on cheating. Even minor infractions will be identified and reported to the department and the Dean's office.
  • The assignments cover widely-used vision techniques, some of which have been used in prior installments of this course. Answers to the written questions---and even code for some of the assignments---are just a mouse click (or google search) away. You must resist the temptation to download and/or adapt someone else’s solutions and submit them as your own without proper attribution, no matter how difficult the assignment or how pressed for time you are.
  • Simply put: if an existing solution is easy for you to find, it is just as easy for us to find it as well. In fact, you can be sure we already know about it!!

Tentative Lecture Calendar





Sept 19: Lecture 1

  • Introduction to computer vision
  • Fundamentals of model fitting: Least squares, total least squares, robust estimation
  • Week1 slides & class notes
  • pp.49-54 of Prince
  • ch.15 of Forsyth & Ponce
  • useful reference: the matrix cookbook is now on the class dropbox


Sept 26: Lecture 2

Fundamentals of model  fitting (continued): Least squares, total least squares, robust estimation


A1 out

Oct 3: Lecture 3

Geometric computer vision I: perspective projection, homogeneous coordinates, camera models & transformations, homographies,  two-view geometry & the fundamental matrix

  • Week2 slides & class notes
  • ch.14-16 of Prince; you may skip 14.2, 14.4-14.7, 15.2-15.4, 15.6.3, 16.4-16.7
  • optional: Ch.2.1.2-2.1.5, Ch.9 and Ch.11 of Szeliski



Oct 10: Lecture 4

Geometric computer vision II: structure from motion

  • Week3 slides & class notes
  • ch.16 of Prince; you may skip 16.7.3
  • ch.7 of Szeliski



Oct 17: Lecture 5

Image filtering: linear filters, Fourier transforms, pyramids & multi-scale image transforms, robust filters

  • Week4 slides & class notes
  • ch.3-3.6 of Szeliski


A1 due
A2 out




Oct 24: Lecture 6

  • Image formation I: radiometry & reflectance
  • Image formation II: modeling real cameras: color, noise & lens blur
  • Week6 slides & class notes
  • skim Ch.2.2 of Szeliski



Oct 31: Lecture 7

  • Probabilistic appearance modelling: linear subspace models, mixture models
  • Motion analysis I: optical flow
  • Week7 slides & class notes
  • ch. 7 from Prince (except 7.5-7.7)
  • flowChapter05.pdf in Papers directory
  • Ch.8 from Szeliski






Nov 14: Lecture 8

Motion analysis II: tracking

Guest lecture by
Prof. David Fleet

  • Week8 class notes


A3 out

Nov 21: Lecture 9

Advanced Image Inference I: Deep learning for computer vision

Guest lecture by
Dr. Marakand Tapaswi

  • Week9 slides



Nov 28: Lecture 10

Advanced Image Inference II: Markov random fields

  • Week10 slides & class notes
  • sections 1.1, 1.4, 1.7,1.8, 2.1-2.2 from Blake2011.pdf in Papers directory