600.461/600.661 - Computer Vision - Fall 2014 - (3 credits, EQ)
Description
This course gives an overview of fundamental methods in computer vision from a computational perspective. Methods studied include: camera systems and their modeling; computation of 3-D geometry from binocular stereo, motion, and photometric stereo; and object recognition. Edge detection and color perception are covered as well. Elements of machine vision and biological vision are also included.This course gives an overview of fundamental methods in computer vision from a computational perspective. Methods studied include: camera systems and their modeling; computation of 3-D geometry from binocular stereo, motion, and photometric stereo; and object recognition. Edge detection and color perception are covered as well. Elements of machine vision and biological vision are also included.
Prerequisites
  1. 600.107 Intro Programming
  2. 110.201 Linear Algebra
  3. 550.310 Probability and Statistics
Instructor
Professor Rene Vidal

Office: Clark 302B, 410-516-7306

Office Hours: Tuesdays 4.30-5.30 p.m.

Teaching Assistant
Javad Fotouhi

Office: Clark 302B (September) Malone 239 (October onwards)

Office Hours: Mondays 10-11 a.m.

Meetings
Lectures: Tuesday, Thursday, 3:00-4:15 p.m., Shafer 303

Review Session: Monday October 13th, 16:45-18:00 p.m., Malone 328.

Textbook
The class does not have a required book. The reading material includes the slides posted in this website as well as your class notes.

For complementary reading, you may read the following online book.
  1. R. Szeliski, Computer Vision, Springer 2011
Course Objectives
Course Topics
  1. Image Processing
    • Image Filtering
    • Image Smoothing
    • Image Enhancement
    • Edge Detection
    • Line Detection
  2. Feature, Matching and Tracking
    • Feature Detection
    • Feature Descriptors
    • Feature Matching
    • Feature Tracking and Optical Flow
  3. Multiple View Geometry and 3D Reconstruction
    • 2D Transformations
    • Two-View Geometry
    • Affine Strucuture from Motion
  4. Segmentation
    • K-means and EM
    • Spectral clustering and graph cuts
    • Color Segmentation
    • Texture Segmentation
  5. Recognition
    • Nearest neighbors, support vector machines, bag of words
    • Eigenfaces
    • Image classification
    • Object detection
Grading
  1. Homeworks (20%): There will be about six homeworks, which will include both analytical exercises as well as programming assignments in MATLAB.
  2. Project (30%): There will be three mini-projects on image stitching, image segmentation, and object recognition due roughly at the end of September, end of October and end of November, respectively. These mini-projects will involve MATLAB programming.
  3. Exams (50%): There will be two in-class exams, one in mid October and the other in early December.
Assignments and Readings
Most of the slides used in class are based on slides from Prof. Hager's 2012 version of the course. Slides on corner detection are based on Prof. Steve Seitz's course. The Handouts on Linear Algebra and Optimization are the Appendices from Ma, Soatto, Kosecka and Sastry's book. The copyright of the slides and handouts belongs to the respective authors.
Date Slides Handouts Assignments Solutions
08/28/2014 Syllabus Linear Algebra
09/02/2014 Linear Algebra
09/04/2014 Overview Optimization Homework 1 Solution 1
09/09/2014 Cameras, Imaging and Color
09/11/2014 Image Filtering
09/16/2014 Image Filtering Homework 2 Solution 2
09/18/2014 Image Filtering
09/23/2014 Edge and Line Detection
09/25/2014 Feature Detection Homework 3 Solution 3
09/30/2014 Feature Matching
10/02/2014 Feature Description
10/07/2014 2D Transformations Homework 4 Solution 4
10/09/2014 Optical Flow
10/14/2014 Exam 1 Exam 1 Exam 1 Solution
10/16/2014 No class
10/21/2014 Perspective Projection Project 1
10/23/2014 Two-View Geometry
10/28/2014 Two-View Geometry
10/30/2014 Two-View Geometry
11/04/2014 Two-View Geometry Homework 5 Solution 5
11/06/2014 Segmentation: K-means
11/11/2014 Segmentation: Polysegment
11/13/2014 Segmentation: Spectral Clustering Spectral Clustering
11/18/2014 Recognition Homework 6
11/20/2014 Recognition
12/02/2014 Recognition
Ethics
The strength of the university depends on academic and personal integrity. In this course, you must be honest and truthful, abiding by the Computer Science Academic Integrity Policy:

Cheating is wrong. Cheating hurts our community by undermining academic integrity, creating mistrust, and fostering unfair competition. The university will punish cheaters with failure on an assignment, failure in a course, permanent transcript notation, suspension, and/or expulsion. Offenses may be reported to medical, law or other professional or graduate schools when a cheater applies.

Violations can include cheating on exams, plagiarism, reuse of assignments without permission, improper use of the Internet and electronic devices, unauthorized collaboration, alteration of graded assignments, forgery and falsification, lying, facilitating academic dishonesty, and unfair competition. Ignorance of these rules is not an excuse.

Academic honesty is required in all work you submit to be graded. Except where the instructor specifies group work, you must solve all homework and programming assignments without the help of others. For example, you must not look at anyone else.s solutions (including program code) to your homework problems. However, you may discuss assignment specifications (not solutions) with others to be sure you understand what is required by the assignment.

If your instructor permits using fragments of source code from outside sources, such as your textbook or on-line resources, you must properly cite the source. Not citing it constitutes plagiarism. Similarly, your group projects must list everyone who participated.

Falsifying program output or results is prohibited.

Your instructor is free to override parts of this policy for particular assignments. To protect yourself: (1) Ask the instructor if you are not sure what is permissible. (2) Seek help from the instructor, TA or CAs, as you are always encouraged to do, rather than from other students. (3) Cite any questionable sources of help you may have received.

On every exam, you will sign the following pledge: "I agree to complete this exam without unauthorized assistance from any person, materials or device. [Signed and dated]". Your course instructors will let you know where to find copies of old exams, if they are available.

In addition, the specific ethics guidelines for this course are:
  • Homeworks and exams are strictly individual
  • Projects can be done in teams of two students
Report any violations you witness to the instructor.

You can find more information about university misconduct policies on the web at these sites:
Administrative
  • Late policy:
    • Homeworks and projects are due on the specified dates.
    • No late homeworks or projects will be accepted.
Computer Vision Resources