CSCI 574 Computer Vision

Fall 2014






Prof.  Ram Nevatia

Phone : (213) 740-6427

Email : nevatia AT

Office Hours : TuTh 14:00 – 15:30

Office Location : PHE 204


Teaching Assistant



E-mail : TBA

Phone : TBA

Office Hours : TBA

Office Location : TBA




Course Enrollment


  This course is currently closed to M.S. students. We will make an effort to increase capacity but we will not have an accurate picture of availability until after the start of classes. We apologize for any inconvenience.





Homework 0


Course Slides

Lecture 1

Lecture 2

Lecture 3





     Computer Vision : A Mordern Approach, D. Forsyth and J. Ponce, Prentice-Hall, Second Edition, 2011


Computer Vision: Algorithms and Applications, Richard Szeliski, 2010; personal use, electronic copy available at  (




1.  Multiple View Geometry in Computer Vision, Richard Hartley and Andrew Zisserman, Cambridge University Press, 2004

2. Image Processing, Analysis, and Machine Vision (3rd Edition), Milan Sonka, Vaclav Hlavac, and Roger Boyle, Thomson Engineering, 2007

3. Pattern Classification (2nd Edition) Richard O. Duda, Peter E. Hart, and David G.Stork, Wiley-Interscience, 2000.

4. Emerging Topics in Computer Vision, Gerard Medioni, Sing Bing Kang, Prentice Hall, 2005.




1. CSCI 455 or equivalent - Data Structures, good programming skills, and ability to convert informal descriptions of methods into computer algorithms. Students must be able to program in C or C++.


2. Basic Mathematics - Knowledge of and ability to use calculus, analytical geometry,  linear algebra (matrix theory)  and basic probability theory is essential. If you have not used these skills for several years, you must be prepared to learn them rapidly.


3. CSCI 561 and 573 (Artifical Intelligence) are helpful but NOT required.


Course Objective


  The objective of this course is to understand the basic issues in computer vision and major approaches that address them. Even though Computer Vision is being used for many practical applications today, it is still not a solved problem. Hence, definitive solutions are available only rarely; most of the time, we will discuss alternatives and their limitations.

  After completing the course, the students may expect to have the knowledge needed to read and understand the more advanced topics and current research literature, and the ability to start working in industry or in academic research. However, this course is NOT designed to be a "cookbook" course that gives just a survey of the methods needed in "practice", nor will it cover "commercial" systems in any detail.


Course Requirement


There will be two exams:

1. Exam1:  Likely to   be scheduled around October 16

2. Exam2: likely on the last day of the class, December 4, to be confirmed only after start of classes; do not make travel plans before!


Both exams will be conducted during class hours.  The grade will be based on the Exam 1 and 2, the homework and the project. The Exam 1 and 2 will count for 30% each, the homework assignments, both written and programming taken together, will count for 30%; 10% weight will be given for class attendance and participation (does not apply to DEN students).


Note that all assignments are considered an integral part of the course and MUST be completed. Not completing even a single assignment may result in "F" grade.


Academic Integrity


The USC Student Conduct Code prohibits plagiarism. All USC students are responsible for reading and following the Student Conduct Code, which appears on pp. 83-97 of the 1997- 1998 SCampus.

In this course we encourage students to study together. This includes discussing general strategies to be used for individual assignments. However, all work submitted for the class is to be done individually, unless an assignment specifies otherwise.

Some examples of what is not allowed by the conduct code: copying all or part of someone else's work, and submitting it as your own; giving another student in the class a copy of your assignment solution; consulting with another student during an exam. If you have questions

about what is allowed, please discuss it with the instructor.

Violations of the Student Conduct Code will be filed with the Office of Student Conduct, and appropriate sanctions will be given.


Programming Facility


A software library of basic image processing algorithms, called OpenCV, will be used in programming assignments; this library is available for free download for educational purpose. This library is available for MS Windows and Linux; however, we will only provide TA support for the windows version. Students may choose to complete assignments using USC computer facilities or their own PCs. OpenCV can be downloaded here.


    Other useful links for OpenCV:

        􀁺 Active forum: OpenCV at YahooGroups

        􀁺 Tutorials and Links: OpenCV Wiki



Following is a list of topics expected to be covered, in anticipated order, and with expected time to be spent on them. This list is intended to be only indicative, the actual topics, the order and the time may vary somewhat depending on various factors including student interests and preparation.

  1. Introduction (1 week)
    Background, requirements and issues, human vision.
  2. Image formation: geometry and photometry (2 weeks)
    Geometry, brightness, quantization, camera calibration, photometry (brightness and color)
  3. Image segmentation (2 weeks)
    Region segmentation, Edge and line finding
  4. Multi-view Geometry (3 weeks)
    Shape from stereo and motion, feature matching, surface fitting, Active ranging
  5. Image classification(2 weeks)
    Pixel classification, region classification, face detection and identification
  6. Object Recognition(2 weeks)
    Alignment methods, Shape descriptions
  7. Motion analysis (1 weeks)
    Motion detection and tracking, Inference of human activity from image sequences
  8. Applications survey, Review (1 week)
    Industrial, navigation, mapping, multimedia