ECE 877 Computer Vision
Spring 2011

This course builds upon ECE 847 by exposing students to fundamental concepts, issues, and algorithms in digital image processing and computer vision. Topics include segmentation, texture, detection, 3D reconstruction, calibration, shape, and energy minimization. The goal is to equip students with the skills and tools needed to manipulate images, along with an appreciation for the difficulty of the problems. Students will implement several standard algorithms, evaluate the strengths and weakness of various approaches, and explore a topic in more detail in a course project.


Tentative Schedule

Week Topic Assignment
1 Classification HW1:  Template matching, due 1/21
2 Classification Quiz #1, 1/28
3 Shape HW2:  Level sets, due 2/4
4 Shape Quiz #2, 2/11
5 Texture HW3:  Feature detection / matching, due 2/18
6 Texture Quiz #3, 2/25
7 Model fitting HW4:  Mosaicking, due 3/4
8 Model fitting Quiz #4, 3/11
9 Camera calibration HW5:  Two-view reconstruction, due 3/18
10 [break] Quiz #5, 3/28
11 Multiple view geometry HW6:  N-view reconstruction, due 4/8
12 Multiple view geometry Quiz #6, 4/15
13 3D reconstruction  
14 3D reconstruction Quiz #7, 4/29
15 Function optimization projects due

Readings and Resources

See ECE 847 Readings and Resources.

In the assignments, you will implement several fundamental algorithms in C/C++, documenting your findings is an accompanying report for each assignment.  C/C++ is chosen for its fundamental importance, ubiquity, and efficiency (which is crucial to image processing and computer vision).   For your convenience, you are encouraged to use the latest version of the Blepo computer vision library.

Your code must compile under Visual Studio 2010, Visual Studio 2008, or VC++ 6.0.  To make grading easier, your code should do one of the following:

To turn in your assignment, send an email to (and cc the instructor and grader) with the subject line "ECE877-1,#n" (without quotes but with the # sign), where 'n' is the assignment number.  You may leave the body of the email blank.  You must send this email from your Clemson account, because the assign server is not smart enough to know who you are if you use another account.  (E.g., do not use  Be sure that this file is actually attached to the email rather than being automatically included in the body of the email (Eudora, for example, has been known include files inline, but this behavior can be turned off).  Also, be sure to change the extension of your zip file (e.g., change .zip to _zip) so that the server does not block the attachment!!!  We cannot grade what we do not receive.  (Also be sure that you're not hiding extensions for known types; in Windows explorer, uncheck the box "Tools.Folder Options.View.Hide extensions for known file types".) 

To your email, attach a zip file containing your report (in any standard format such as .pdf or .doc; but not .docx), and all the files needed to compile your project (such as .h, .c, .cpp, .rc, .vcproj, .sln, .dsp, .dsw).  Also check in the res directory that contains .ico and .rc2 files.  But do NOT check in all the other files that Visual Studio creates automatically, such as .aps, .clw, .ncb, .opt, .plg, .suo, or the Debug or Release directories.  When in doubt, check out your code to a new temporary directory and verify that it compiles and runs.   

All assignments are due at 11:59pm on the due date shown.  An 8-hour grace period is extended, so that no points will be deducted for anything submitted before 8:00am the next morning.

In addition to submitting your report electronically, please also turn in a hardcopy.  The deadline for the electronic copy is the same as for the code, whereas the hardcopies should be brought to the instructor by the next class period after the deadline (at the latest).  Just leave it in the pouch on my door (or slip it under the door) if I'm not in.  No points will be deducted for printing in black-and-white, even if the report is in color.  An example report


Grading standard: 

Detailed grading breakdown is available in the grading chart


In your final project, you will investigate some area of image processing or computer vision in more detail. Typically this will involve formulating a problem, reading the literature, proposing a solution, implementing the solution (using the programming language/environment of your choice), evaluating the results, and communicating your findings. In the case of a survey project, the quality and depth of the literature review should be increased significantly to compensate for the lack of implementation.

Project deadlines:

To turn in your report, please send me a single email per group (do not email the assign server) with two attachments:

Both files should have the same name, which should correspond somehow to your topic. Use underscores instead of spaces. Do not send PPTX files. Example: face_detection.pdf and face_detection.ppt.  You do *not* need to send me your code (although you may if you like).

Projects from previous years


Instructor: Stan Birchfield, 209 Riggs Hall, 656-5912, email: stb at clemson
Grader: Vidya Murali, 017 Riggs Hall, vmurali at clemson
1:25 - 2:15 MWF, 227 Riggs Hall