Computer Science 182a
Computer Vision and Robotics
Overview/Syllabus, Spring 2011



General Information

Instructor: Zachary Dodds
Office: Olin 1255
Phone: x71813     (909-607-1813)
E-mail: dodds@cs.hmc.edu
Official Office Hours: MWF 3:00 - 4:30 pm (Fridays in the CS lab, Beckman B102)
Real Office Hours: Anytime


Class Time and Place:
  • TTh 9:35-10:50am, Beckman B105
Course Homepage: http://www.cs.hmc.edu/courses/2011/spring/cs182a/index.html


Is This Course for You?

Absolutely! It would help, however, if you're comfortable with C++ programming (CS70 or so) and HMC's core mathematics. Curiosity about computer vision wouldn't hurt either!


What Is This Course About?

My goal is to provide a hands-on introduction to key ideas in computer vision, through projects that use robotic applications. Though it didn't exist a few decades ago, computer vision is a vast field nowadays. You might describe its ultimate goal to be the construction of a "seeing Turing machine" (one possible design is depicted on the course homepage).

Thus, the basic problem that computer vision addresses is this: how do we input images and output useful information about what those image depict. The "hands-on" component of the course is a set of projects that will have you writing your own solutions to a variety of such problems.

Texts

There is no required text for this class. We will use a variety of source papers.

The field is changing so rapidly, that it seems that each year brings a new and substantially better text. MY current favorite -- just officially released, but available in .pdf for free, is
Richard Szeliski, Computer Vision: Algorithms and Applications
That link should have the latest-updated draft.

Another "industry standard" text is
Forsyth & Ponce, Computer Vision:  A Modern Approach, Pearson, 2002, ISBN 0130851981

Projects and Grades

Learning Objectives

This course has three central goals, each with a number of associated objectives:
  1. Aim 1: To familiarize students with core computer vision techniques    Objectives:
    • Implement fundamental vision algorithms, such as color-based image segmentation, edge detection, and the extraction and matching of distinctive image feature points
    • Solve written problems that exercise core computer vision concepts (done both during and outside of class)
    • Implement a solution to a computer vision problem in a medium-size project (of the students' choosing)


  2. Aim 2: To increase students' knowledge of current computer vision applications -- and the growing potential for future ones    Objectives:
    • Complete homework assignments involving real-world applications such as content-based media retargeting, face recognition, and 3d modeling from single monocular images
    • Write critiques of the applications listed above and others in light of newer approaches or potential future ones


  3. Aim 3: To increase students' ability to pursue future graduate or industry paths, whether involving computer vision or not    Objectives:
    • Create a series of websites of a quality and depth that would demonstrate to potential employers or graduate advisors an applicant's ability to undertake, complete, and document research and implementation projects
    • Research a computer vision topic/algorithm (of the student's choice) to a depth that includes a substantial implementation, and then compose and deliver a presentation on that topic
    • Practice constructively critiquing such presentations -- both of other students and of oneself

Collaboration Policy - Honor Code

All conduct in this course should be in accordance with the Harvey Mudd Honor Code. In particular, the projects in CS153 offer the opportunity to work with one or two other students. It is important that that work truly be a product of all of those participants: students should work in the same physical location if collaborating on a homework project. Also, while discussion and research about problems or projects is encouraged outside of a lab group, you may not share (give or receive) written or electronically stored work with other groups or others outside the class. (Of course, you may use the assistance of the instructor.)

If you have any doubts about whether a form of interaction constitutes a violation of this standard, ask!