Computer Vision
Utrecht University |
1. Description
The goal of computer vision is to make computers work like human visual perception, namely, to understand and recognize the world through visual information, such as, images or videos. Human visual perception, after millions of years of evolution, is extremely good in understanding and recognizing objects or scenes. To have similar abilities to human visual perception (or beyond), computer scientists have been attempting to develop algorithms by relying on various visual information, and this course is about these algorithms. In case you are wondering why we should care about computer vision, consider this: if you think your visual perception system is important and beneficial, so is computer vision.
The potential practical benefits of computer vision systems are immense. It is anticipated that computer vision systems will soon become commonplace and its technology will be applied for a broad range of products, such as, google search on images and videos, object/face recognition and tracking, human pose identification, 3D reconstruction from images, image/video enhancement, robot vision, medical imaging, computer graphics, computer gaming, surveillance, remote sensing, user interactions for mobile devices, intelligent vehicle systems (a car that can drive itself), etc.
To enroll for the course, programming skills in C/C++ are
required. This course emphasizes more in the practicality of computer
vision, meaning more projects, which are more fun.
Lecturer: Robby
T. Tan
E-mail: r.t.tan (at) uu.nl
Official
website: computer
vision class
Samples from the previous year results:
[ Result 1 |
Result 2 |
Result 3 ]

2. References
Main Reference: Computer Vision by R. Szeliski: free download.
Literatures (optional):
- Online and free books related to computer vision [website]
- G. Bradski, A. Kaehler, "Learning OpenCV: Computer Vision with OpenCV Library", O'Reilly Media 2008, ISBN: 0596516130.
- D. Forsyth and J. Ponce, "Computer Vision: A Modern Approach", Prentice Hall 2003, ISBN: 0-13-191193-7. [old draft in pdf].
- R. Hartley and A. Zisserman, "Multiple View Geometry in Computer Vision", Cambridge 2003, ISBN: 0-521-54051-8.
- O. Faugeras, "Three-Dimensional Computer Vision: A Geometric Viewpoint", MIT Press, ISBN: 0-262-06158-9.
Programming Resources (computer vision libraries and functions):
- OpenCV (the most popular computer vision library in C/C++, download). This is the standard library for this course.
- OpenCV Reference Manual [pdf]
Also, you can search in google scholar for academic papers, by entering the title, the author's name, or the topic:
3. Grading and Format
The final grade is average of the following assessments:- 40%: Assignments
- 60%: Exam
Retake exam:
To participate in the retake of the exam, the original grade must be no less than 4. Taking the retake exam should be discussed with the lecturer, particularly when the original score is 6 or above.
Assignments
During the course, students are expected to have a few assignments. Programming skills in C/C++ are required to accomplish the assignments. The deadlines of submitting the assignments are strict. One point (out of 10) is deducted if the submission is within 24 hours late. Two points if the submission is within 48 hours late. After 48 hours, the submission is rejected.
Written Exam
There is a written exam in the course.
Academic Honesty
Academic honesty is compulsory in accomplishing the assignment, projects, and the exam. Exchanging codes for different groups are not allowed. Using codes from the previous year or from the internet is prohibited, unless stated otherwise in the lectures. Copying texts of the reports from other groups is strictly prohibited. Generally, cheating, academic misconduct, plagiarism, and fabrication of any submitted material (including code and text) are not tolerated. We will use software to detect any code or text plagiarism. Any violation to the academic honesty will imply failure to pass the course.
4. Lecture Schedule
Notes:- The schedule was arranged as a rough guideline. The lectures will emphasize more on clarity rather than strictness in following the schedule.
- Acknowledgements: major parts of the slides and materials used in the lecture are taken from various internet sources. The lecturer thanks those people who made the materials available.
- The information from wikipedia must be read critically, since some of it might be inaccurate or simply wrong.
| | | | | | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 14-11-2012 (46) | 15.15-17.00 ANDRO-C101 |
Logistics + Introduction (motivations, applications, and overview) Reading Materials:
Additional Materials: |
Slide 1 Exercise 1 | |||||||||||||||
| 2 | 16-11-2012 (46) | 09.00-10.45 MIN-208 |
Image Formation: Geometry and Radiometry Reading Materials:
Additional materials: |
Slide 2 Lecture note 2 Exercise 2 | |||||||||||||||
| 3 | 21-11-2012 (47) | 15.15-17.00 WENT-GROEN |
Silhouette-based Volume Reconstruction Reading Materials:
|
Slide 3 Lecture note 3 Exercise 3 | |||||||||||||||
| 4 | 23-11-2012 (47) | 09.00-10.45 RUPPERT-ROOD |
Silhouette-based Volume Reconstruction: Part 2 Additional Materials:
| see Slide 3 | |||||||||||||||
| 5 | 28-11-2012 (48) | 15.15-17.00 ANDRO-C101 |
Voxel-based Visual Tracking Additional materials:
|
Slide 5 Lecture Note 5 Exercise 5 | |||||||||||||||
| 6 | 30-11-2012 (48) | 09.00-10.45 MIN-208 |
Bayesian Inferences 1 Additional materials:
|
Slide 6
Lecture Note 6 Exercise 6 | |||||||||||||||
| 7 | 05-12-2012 (49) | 15.15-17.00 ANDRO-C101 |
Bayesian Inferences 2 Additional materials:
| see Lecture Note 6 | |||||||||||||||
| 8 | 7-12-2012 (49) | 09.00-10.45 MIN-208 |
Bayesian Inferences in Tracking |
Lecture Note 6b | |||||||||||||||
| 9 | 12-12-2012 (50) | 15.15-17.00 WENT-GROEN |
Image Features and Matching: SIFT Reading materials:
|
Slide 9
Lecture Note 9 Exercise 9 | |||||||||||||||
| 10 | 14-12-2012 (50) | 09.00-10.45 MIN-208 |
Object Classification and Recognition Additional materials:
|
Slide 10
Exercise 10 | |||||||||||||||
| 19-12-2012 (51) | No class | ||||||||||||||||||
| 21-12-2012 (51) | No class | ||||||||||||||||||
| 11 | 9-1-2013 (2) | 15.15-17.00 ANDRO-C101 |
MRF + Graphcuts Additional materials:
|
Slide 11
Lecture Note 11 Exercise 11 | |||||||||||||||
| 12 | 11-1-2013 (2) | 09.00-10.45 MIN-208 |
Motion Analysis: Optical Flow Additional materials: |
Lecture Note 12
Del Operator | |||||||||||||||
| 13 | 16-1-2013 (3) | 15.15-17.00 ANDRO-C101 |
Image Editing: Image Inpainting Reading materials:
|
Slide 13
Lecture Note 13 Exercise 13 | |||||||||||||||
| 14 | 18-1-2013 (3) | 09.00-10.45 MIN-208 |
Image Editing: Gradient-based Image Editing Additional materials:
|
5. Important Dates
- Assignment 1:
30/11/2012, at 23.00 - Assignment 2:
19/12/2012, at 23.00 - Assignment 3:
18/01/2013, at 23.00 - Assignment 4: 01/02/2013, at 23.00
- Bonus assignment: 3/2/2013, at 23.00
- Final exam: 30/1/2013, at 17.00-20.00
- Retake exam: 13/3/2013, at 14.00-17.00
6. Old News
- [16/2/2013]: Those who need to retake, have to email me at least 1 week before the retake day (13-3-2013). Not doing this might cause you to be refused to participate (simply because we might not have enough exam sheets).
- [15/2/2013]: The exam grades and the final grades are now available on-line. Please check if your grades are correct. Note that, the final grades in the website are tentative (until they appear on OSIRIS).
- [15/2/2013]: The highest final grade is 9.5, the highest exam grade is 9.1, and almost all of you have done well in the course.
- [13/2/2013]: We expect to announce the assignment and final exam grades by Tuesday [19/2/2013].
- [29/01/2013]: The grades of assignment 2 are available on-line. If you cannot find your grade or think your grade is too low, email Marcelo (email address) and cc it to me.
- [22/01/2013]: The questions of the final exam are taken from the exercises, slides, lecture notes, and mandatory reading materials. Here is the final exam from the previous year [pdf]. Regarding the questions in the exercises and the previous final exam, no solutions or answers are provided. However, you are allowed to email your answers, and ask if they are correct.
- [18/01/2013]: Next Wednesday (23/1) is the last lecture. If there is remaining time, we will review all the topics in the course and discuss the final exam. For this, you might want to prepare some questions.
- [10/01/2013]: The deadline of assignment 3 is extended to January 18, 2013 at 23.00.
- [14/01/2013]: Lecture 12 (optical flow): I made a mistake in explaining the del operator in the lecture as well as in the lecture note. Regarding this, I have revised the pdf of lecture note 12, and will discuss the mistake in the next lecture on Wednesday (16/1).
- [21/12/2012]: The grades of assignment 1 is now available online. If you have questions regarding your grade, email me.
- [21/12/2012]: Submit (the university assignment submission system) has problem uploading large files (> 40MB). To avoid this problem, upload only the source code, and use an external server to send the other files.
- [13/12/2012]: Asssignment 2: The deadline is extended untill Wednesday (19/12) at 23.00. This extended deadline is strict, and no late submission is allowed.
- [11/12/2012]: Assignment 2: For those who want to capture data using the cameras in the motion capture lab, there are two slots available: Wednesday (12/12/) from 17.00 to 18.00, and Thursday (13/12) from 09.00 to 11.00. Note that, you have to contact the teaching assistant (Coert van Gemeren) by sending a message to [c.j.vangemeren @ uu.nl] for making an appointment.
- [29/11/2012]: The following link is an example of generated surface mesh (instead of voxels). If you are interested, you might want to try to use the data. In this case, you might need to modify the provided code. [Video | Data | Paper]
- [05/12/2012]: The last year final exam is available here.
- [05/12/2012]: The instructions of assignment 3 are now available on-line. In this assignment, you have the opportunity to implement the framework of the hidden Markov model for both tracking and labeling.
- [05/12/2012]: Assignment 2: the provided code is not perfect, hence you have to modify it whenever necessary.
- [03/12/2012]: Assignment 2: those who need webcams can borrow from me.
- [30/11/2012]: Assignment 2: to have the same origin of the world coordinates from multiple cameras, one of the solutions is to do the calibration semi manually by clicking the checkerboard's corners (more explanation: here). Or, you can draw the grid lines using an OpenCV function, and ensure that the starting position of the lines is the same for all views.
- [30/11/2012]: Regarding the lecture today, thanks to the feedback from a few students, I became aware that most of you already knew the basic probability theory. Thus, in the next lecture, I will directly discuss Bayes' theorem and inference techniques. Again, I really appreciate the feedback.
- [29/11/2012]: Assignment 1: if you use video in your submission, you should upload the output video to youtube or vimeo, and provide us with the link.
- [23/11/2012]: For assignment 2 and Assignment 3: If you add or change the provided code, you have to create your own files, and to provide some comments in the beginning of every function (about the purpose of the function). The point here is that I should be able to find and understand your code in an efficient way. If you fail to do this, your score might be affected.
- [22/11/2012]: Assignment 1: you will obtain a full score if using the explicit implementation of the equation: K [R|t].
- [16/11/2012]: Regarding assignment 1, start doing it as soon as possible. Since, installing OpenCV can be problematic, and obtaining the correct calibration data can be difficult.
- [16/11/2012]: The tentative instructions of the bonus assignment are available on-line.
- [15/11/2012]: The instructions for assignment 1 are already on-line.
- [15/11/2012]: If you cannot find a partner to complete the assignments, email me soon, so that I can pair you up.
- [15/11/2012]: Slides and exercises for the first and second lecture are available on the schedule. Try to answer the questions in the exercises, since almost all questions in the final exam will be taken from them.
- [15/11/2012]: If you later find that your assignment partner does not work properly, notify me.
- [15/11/2012]: If you need any help with regard to the assignments, contact Marcelo.