ECE 847 Digital Image Processing
Fall 2007

This course introduces students to the basic concepts, issues, and algorithms in digital image processing and computer vision. Topics include image formation, projective geometry, convolution, Fourier analysis and other transforms, pixel-based processing, segmentation, texture, detection, stereo, and motion. 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 of their own choosing in a course project.

Syllabus
 

Schedule

 
Week Topic Assignment
1 Pixel-based processing HW1:  Warm-up, due 8/31
2 Pixel-based processing Quiz #1, 9/7
3 Filters and edge detection HW2:  Pixels and regions, due 9/14
4 Filters and edge detection Quiz #2, 9/21
5 Segmentation HW3: Edge detection, due 9/28
6 Segmentation Quiz #3, 10/5
7 Stereo HW4: Segmentation, due 10/12
8 Stereo Quiz #4, 10/19
9 Motion HW5: Stereo matching, due 10/26
10 Motion Quiz #5, 11/2
11 Image formation HW6:  Lucas-Kanade tracking, due 11/9
12 Projective geometry Quiz #6, 11/16
13 Projective geometry
14 Color Quiz #7, 12/7
15 Color projects due
 

Readings and Resources

Readings to complement the lectures:

Computer vision in the news:

Vision in biological systems:

Computer vision companies:

Software:

Additional computer vision resources

Assignments

In the assignments, you will implement several fundamental algorithms in C/C++, documenting your findings is an accompanying report for each assignment.  The C/C++ languages are chosen for their fundamental importance, their ubiquity, and their 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.

To make grading easier, your code should do one of the following:

To turn in your assignment, send an email to assign@assign.ece.clemson.edu (and cc the instructor and grader) with the subject line "ECE847-1,#n" (without quotes), where 'n' is the assignment number.  You may leave the body of the email blank.  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, *.dsp, *.dsw; do not include *.ncb, *.opt, *.plg, *.aps, or the res, Debug, or Release directories).  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.  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".)  

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 noon of the next business day after the deadline (at the latest). Just 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

Assignments:

  • Grading standard:  Detailed grading breakdown is available in the grading chart.

    Extra credit:  Contributions to the Blepo computer vision library will earn up to 10 points extra credit on your final grade.  In general, you should expect 1 point for a major bug fix, and 2-7 points for a significant extension to an existing function or implementation of an algorithm or set of functions.  Contributions should be cleaning written, with code-level and user-level documentation, and a test harness.  To receive extra credit, you must meet the following deadlines:

     

    Projects

    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:

    Administrivia

    Instructor: Stan Birchfield, 207-A Riggs Hall, 656-5912, email: stb at clemson
    Office hours:  4:00-5:00pm, MTWThF, or by appointment
    Grader: Zhichao Chen, 017 Riggs Hall, zhichac at clemson
    Lectures: 12:20 - 1:10 MWF, 223 Riggs Hall