CS664 Assignment 3:

Optical Flow

DUE: Friday Dec 2, 2005, 11:59PM

This assignment is concerned with optical flow.  Note that we recommend you to do this assignment in groups of two. However, you can also do it by yourself if you prefer.

Your task is to implement Lucas-Kanade style optical flow. First you will need to obtain the spatial and temporal derivatives, after smoothing the image. We recommend that you use the NetPBM toolkit to do Gaussian blurring (the functions you want are pamgauss  and pnmconvol). Once you have the derivatives, you can solve the normal equations in closed form over any local window. You should pick the window size, and all other parameters, to obtain as good looking solutions as possible.

You will run your algorithm on the well-known Yosemite sequence, a semi-synthetic sequence that is a standard benchmark for optical flow methods. You should use the 3 images below. Just FYI, the full image data is here; see Michael Black's FAQ for additional information about this sequence. The images are taken from the "yos" sequence, images 10-12. While there is a form of ground truth available, you are not required to make use of it for this assignment.

To simplify the grading process, your code must run under Windows-XP. However, you will write straightforward C or C++ code, and can therefore do development on any platform that you wish. But the code you turn in must generate the results you show under Windows-XP.

What to turn in:  a) your source code b) Windows executable c) a write-up explaining how to run your program(s) and an explanation of your design choices and results. You will submit these using CMS, the course management system.

Images: