CS 4495/7495
Computer Vision

Fall 2008
Cherry Emerson 320
MWF 3:00 - 4:00 pm

Organization        Syllabus        Problem Sets        Miniprojects

This course will provide an introduction to computer vision, tailored for undergraduate and graduate students who are interested in conducting research in this field. It is the introductory vision course in the curriculum for Computational Perception and Robotics in the College of Computing. This course is designed to provide


Jim Rehg
Email: rehg@cc.gatech.edu
Office: TSRB 230B
Office hours: MWF 4:00 - 5:00 pm
Phone: 404-894-9105 (email preferred)

Teaching Assistant

Dongshin Kim
Email: dongshin@cc.gatech.edu

Recommended Text (you are not required to purchase this)

Computer Vision: A Modern Approach
by David Forsyth and Jean Ponce
Prentice Hall 2002


Familiarity with linear algebra and statistics, as well as basic signal and image processing will be essential. Equally important is familiarity with  programming. Permission of the instructor in special cases only.


Grades will be assessed as follows:

Problem Sets 70%
Midterm Exam 10%
Final Exam 15%
Participation 5%

The midterm will be a take-home exam that will not require any programming. The final exam will be administered during our assigned exam period at the end of the semester.

Problem Sets

There will be approximately 4 problem sets of one or two weeks duration. A number of them will require implementation of a vision algorithm or small vision system. I will provide a Python-based software infrastructure for these projects, but you will also be free to use Java, C/C++, or other languages. I will announce the projects and provide pointers to the software environment shortly.

There will also be a miniproject of slightly longer duration, for which you will be allowed to choose your own topic. If you are currently involved in a computer vision research project, you may do some additional work on this topic for your miniproject. I will also provide a list of project suggestions. Grading for the miniproject will be based on in-class presentations of the projects, which will take place during the last week of classes.

You are encouraged to work in teams of 2-3 people on the problem sets and miniprojects. (Of course all exams must be your individual work.) Team-forming will be begin next week, and I say more about it in class.

All problem sets and exams must be turned in on time. No late submissions of work will be accepted. I realize that conference travel and job trips may conflict with a problems set deadline. As a result, you will be allowed to replace your grade for one of the problem sets with your average grade for the others, effectively removing that problem set from consideration. You can only do this once.


Undergrads and grads will be graded as separate populations. I will produce separate undergraduate and graduate versions of each problem set. The graduate versions will be more involved, reflecting the fact that graduate students generally take fewer classes which are more in-depth. Students enrolled in 7495 must do the graduate problem sets. Students enrolled in 4495 may choose. If you have questions about this policy please see me during office hours.

There are a number of ways to earn participation credit (and even extra credit): Participate in class, do some of the extra credit components of the assignments, etc.

Problem Sets


The following supplemental texts may be helpful:


  1. Introduction (slides)
  2. Cameras (slides)
    Resources: Tutorial on projective geometry
  3. Camera models (slides)
  4. Single view metrology (slides)
    Resources: Single View Metrology paper, Overview paper
  5. Dense stereo (slides)
  6. Two view matching (slides)
  7. Multiview matching (slides)
    Resources: Factorization paper
  8. Color (slides)
  9. Photometry and Illumination (slides)
  10. Stitching (slides)
  11. Linear filters (slides)
  12. Edges (slides)
  13. Features (slides)
    Resources: SIFT paper
  14. Grouping (slides)
    Resources: Animation demos for k-means, article on EM algorithm and Gaussian mixtures
  15. Image Segmentation (slides)
  16. Graphcut (slides)
    Resources: Tutorial article, animation demo, and (more advanced) slides on max flow min cut. Boykov paper.
  17. Motion estimation and tracking
    Resources: Shi Tomasi paper.
  18. Particle Filter (slides)
    Resources: Tutorial article, more detailed slides.
  19. Object recognition (slides)


You will have a miniproject which will allow you to work in groups on a topic of your choice during the last few weeks of the semester. The deliverable for this project will be a presentation in class during the last three class periods prior to final exam week. The deadline for forming your project team and submitting a project proposal is Monday, November 10.

Each team is required to submit one project proposal (and obviously everyone in the class needs to be involved in one proposal). It is fine if you want to work on a project by yourself (of course you still need to submit a proposal). Proposals are submitted to me by email and must contain the following information. Please use the headings below in formatting your email so it is easy for me to pull out your answers to these questions.

  1. Project Title
  2. Project Team members - Please indicate which course number each team member is enrolled in (4495 or 7495)
  3. Project Description - What is the goal of the project, what problem are you solving or what experiment will you be performing, and what do you hope to accomplish by the end of the semester?
  4. Project Deliverables - What results and analysis will you have by the time of the presentation of your project to the class?
  5. Work Plan - What work needs to be done to accomplish your objectives, and how will you distribute that work among your project team? It is very important that each person in the project team have a well-defined responsibility for a specific portion of the work, and that these assignments be balanced across the team.
  6. Datasets - What resources will you need in terms of images, data, etc. Do you already have these resources?

My main interest in your miniprojects is that you have the chance to learn about a particular topic in more detail and gain some insight. In this regard, the results you obtain in the miniproject are not as important as the insight and explanation that you have. In other words, I am less interested in absolute measures of performance such as error rates, etc. and more interested in how you can explain and interpret your findings in terms of the strengths and weaknesses of your approach. This is what I will be looking for in your project presentations in terms of assigning project grades. Note that you are not required to write a project report. All of the necessary information about your project must be contained in your presentation to the class.

If you want to work in a project team but do not have any partners yet, please send me email. If your team is formed, but you are not sure what project you want to work on, then please send me an email containing your team members and some areas of class material that you are interested in. I can suggest some miniprojects based on that information.

Miniproject Presentation Guidelines

Your miniproject grade will be determined completely by your in-class presentation and associated slides. In particular there is no formal written report requirement for the miniproject. See below for information on how to submit your slides and on the presentation order.

You will have 8 minutes to give your presentation. I will time you and prevent you from going over time, so please use your allocated time wisely so that we can remain on schedule. In the case of group projects, it is not necessary that every project member give part of the presentation. It is better if one (or at most two) people summarize the work of the group. As stated below, you will have the opportunity to give the contribution of each project member. If you feel that you have more details that you would like to present than time permits, it is OK to include additional slides at the end of your presentation. I can look at those if I have questions later.

Please include the following information in your presentation:

Please keep in mind that the main purpose of the presentations is to enable everyone to learn from the efforts of all of  the project groups. Please include images and other visualizations that make it easier to explain and understand your goal, approach, and analysis. As in real life, my grade will reflect the fact that the quality and clarity of your presentation is at least as important as the analysis and results that you obtain. I expect everyone in the class to attend all of the presentations next week. Please let me know in advance if you cannot attend for some reason.

Submission Instructions

In order to avoid delays in switching between presentations, all presentations will be given from the laptop of the TA, Mr. Dongshin Kim. Please post your slides and any accompanying video files on a publicly-accessible website, and send the link to Dongshin and myself. If your talk includes videos, please mention this in your email, so that Dongshin can verify that the videos will play successfully on his laptop. If you are using a Mac to prepare your slides, please refrain from using image formats (such as tiff) that require the Quicktime decoder, as this is often not available on PC platforms and may cause your images to be unviewable. Please test drive your presentation on a standard Windows PC to avoid problems. Here are the remaining deadlines and details:

Good luck, I am looking forward to seeing your presentations!