ECE 877 Computer Vision
Spring 2012

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/20
2 Classification Quiz #1, 1/23 *
3 Shape HW2:  Level sets, due 2/3
4 Shape Quiz #2, 2/10
5 Texture HW3:  Feature detection / matching, due 2/17
6 Texture Quiz #3, 2/24
7 Model fitting HW4:  Mosaicking, due 3/2
8 Model fitting Quiz #4, 3/9
9 Camera calibration HW5:  Two-view reconstruction, due 3/16
10 [break] Quiz #5, 3/30
11 Multiple view geometry HW6:  N-view reconstruction, due 4/6
12 Multiple view geometry Quiz #6, 4/13
13 3D reconstruction  
14 3D reconstruction Quiz #7, 4/27
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 2008, Visual Studio 2010, or VC++ 6.0.  You should develop your code in Debug mode but test in Release mode before submitting.  The grader will test in Release mode.  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 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  If you are using Gmail, it is not sufficient to change the 'send mail as:' to  Instead, from 'Mail Settings' you need to go to 'Accounts and Import', 'Send mail as:', 'Send mail from another address', type in your, select 'Send through SMTP servers', type '' along with your userid and password, select 'Secured connection using SSL', then 'Add account'.

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, if you have built an MFC Windows application (as opposed to a console-based application), 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.   

You may leave the body of the email blank.  Be sure that your zip 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).  We cannot grade what we do not receive. 

(Obsolete instructions that were applicable when the Clemson server used to block .zip attachments:  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!!!  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".) 

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.

Reports should be professionally written, with a title, a description of the problem, a description of the algorithm, a detailed discussion of your particular implementation, results, and analysis.  An example report.  Similarly, code should be professionally and cleanly written, making use of standard programming practices.


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: TBD
1:25 - 2:15 MWF, 223 Riggs Hall