ECE 5554 / ECE 4554: Computer Vision Fall 2016

Course overview

Computer Vision 

Computer vision aims to develop algorithms to enable machines to understand and analyze visual data, i.e., ‘‘teaching machines to see". Applications include 3D reconstruction, autonomous vehicle navigation, medical image analysis, multimedia search, face detection/recognition, entertainment, and security.

In this introductory course, we will cover many of the core concepts and algorithms of computer vision: image formation, linear filters, interest points, correspondence and alignment, single-view and multi-view geometry, grouping, and recognition.

Course syllabus


Where: Room 230, New Classroom Building (NCB)
When: Tuesday and Thursday 3:30 – 4:45 PM

Instructor VT Email Office Office Hours
Jia-Bin Huang jbhuang 440 Whittemore Hall Monday 1:00 PM – 2:00 PM (final project)
Friday 3:00 PM – 4:00 PM (lectures/homeworks)
Akrit Mohapatra (TA) akrit 264 Whittemore Hall Monday 10:30 – 11:30 AM (on HW due day only)
Wednesday 10:30 – 11:30 AM


Homework Due date Solution Competition
HW 1 Sept 19 (Mon) 23:59 PM Link
HW 2 Oct 03 (Mon) 23:59 PM Link
HW 3 Oct 17 (Mon) 23:59 PM Link
HW 4 Oct 31 (Mon) 23:59 PM Link
HW 5 Nov 14 (Mon) 23:59 PM Link

Homework submission via Canvas

General Information

Textbook and optional references

Lectures are not based on any particular textbook. Our primary reference for this course is:

Computational Vision: Algorithms and Applications 

Computer Vision: Algorithms and Applications, Richard Szeliski, 2010

The electronic copy of the book in PDF is freely available on the web page:

Other useful references:

  • Computer Vision: A Modern Approach (2nd edition) by David Forsyth and Jean Ponces

  • Multiple View Geometry in Computer Vision, Hartley & Zisserman (a bible on recovering 3D geometry)

  • Concise Computer Vision: An Introduction into Theory and Algorithms by Reinhard Klette

  • Computer Vision, Shapiro and Stockman (a nice introduction to computer vision)

  • Linear Algebra and its Applications, Gilbert Strang (excellent book on linear algebra)

  • Vision Science: Photons to Phenomenology, Stephen Palmer (a great book on human visual perception)

  • Digital Image Processing, 2nd edition, Gonzalez and Woods (a good general image processing text)


Good knowledge of linear algebra and calculus. Previous experience with MATLAB will be helpful as all homeworks involve programming in MATLAB.


Regular attendance is expected. I will post lecture slides on the course website. However, the slides will be difficult to interpret without attending lectures.

Disability-related academic adjustments

To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Services for Students with Disabilities (SSD) as soon as possible. To contact SSD you may visit Suite 310 at Lavery Hall, or contact SSD via email or here.

Course objectives

Having successfully completed this course, the students will be able to

  • Become familiar with both the theoretical and practical aspects of image processing and analysis techniques.

  • Describe the foundation of image formation and image analysis.

  • Understand basics of measurements and robust detection of local features in images.

  • Describe various methods used for registration, alignment, and matching across images.

  • Understand the basics of 2D and 3D Computer Vision.

  • Program software of core computer vision techniques such as edge detection, shape registration, multi-view reconstruction, tracking, and image categorization.

  • Get an exposure to advanced concepts leading to object and scene categorization from images.

  • Develop practical skills that are necessary for building computer vision applications in other domains.

  • Understand basic ideas of deep convolutional neural networks and their applications in computer vision.

Assignments and Grading

  • Homeworks (60% of final grade): There are in total five homework assignments.

  • Final project (25% of final grade): Do a final project of your choice in groups of 2-4 people.

  • Final exam (15% of final grade): The exam will cover a variety of conceptual and paper-and-pencil problems related to the topics of lectures.

Graduate credits

  • Graduate students enrolled in ECE 5554 will be expected to do additional work for each homework assignment. Each homework assignment is worth up to 100 points, so you can earn 500 points through the standard assignments. In each assignment, we will also list several extra credit opportuniities available. ECE 4554 students are graded out of 525 points. Graduate students are graded out of 600 points.

Academic integrity

Feel free to discuss homeworks with your classmates, but please refrain from showing or sharing any code. Any existing code from the Internet cannot be used in your project assignments unless it is specifically approved by the course instructor. Be sure to acknowledge any help that you do get from other students or outside works, even if its just a small suggestion. Note that violations of academic integrity will go on record at the university, and zero points for the entire project assignment. For details, please review the honor code manual and policy online here.

Due dates

All problem sets/reports are to be submitted through Canvas by the due date noted on the assignment. Deadlines are firm.

Late policy

You are expected to do assignments on time. Late assignments will be assigned a penalty of 20% per day. Throughout the term you have an allowance of four free late days for your submissions, meaning you can accrue up to four days in late submissions with no penalty.

Final project

The final project is a chance to further explore a topic of interest. Groups of up to four are highly encouraged. More is expected of larger groups. Projects will include a project report webpage and a poster presentation. Various types of projects are possible. You could implement a paper that you find interesting, something discussed in class, a significant extension of one of the course projects, or something entirely of your own design. The work does not have to be of publishable originality. However, you are encouraged to submit the revised versions of projects to top computer vision conferences.

  • Research project: Perform a project in a topic of your choice. Formulate a goal, devise an approach, and evaluate. When proposing, indicate what dataset you will use for evaluation. For example, you could base your project on an existing paper and try to improve the accuracy or speed with some modification. You could also apply existing algorithms to your own field (e.g., robotics).

  • Review and implement a paper: Choose a paper or set of papers and write a scholarly review. Then, implement and evaluate the algorithm. If done in a group, more than one paper should be implemented and compared. Reviews should be written independently for each person, but the group can collaborate on implementation and evaluation.

Credits and Course Notes

The course material builds upon many preceding efforts to design excellent course projects and wonderful course notes. Feel free to use and modify any of the slides for academic and research purposes. Please do credit the original sources where appropriate.