CS651: Computer Vision
Spring 2007

Home | Schedule | Assignments | Additional Resources

Assignment 3: Optical Flow and Image Warping

Due Tuesday, Mar. 20


Overview

In this assignment you will implement, test, and analyze a standard algorithm for computing optical flow between images. A major component of this assignment is related to visualization. The ability to create compelling and informative visualizations is an essential skill for all computer scientists and engineers. In this assignment, effective visualizations will help you understand and evalauate the performance of your solution.


1. Colorspaces and false-color visualizations (10 points)

For this part of the assignment you need to devise a method for mapping a scalar value p that lies in the range [0...1] to a unique color. This helper function will be used repeatedly in future parts of the assignment to visualize scalar-valued functions (e.g., error images, stability measures, etc.). The HSV colorspace is well suited for this task. One idea is to map p to a unique hue value and either set saturation and value to 1 or map them to functions of p as well. Play around with different choices, be creative!! You may use images from previous assignments or things you find on-line (topographic images are good for this) to test your function by first converting it to grayscale (i.e., each pixel will have a value in the range [0,1]) and then generating a unique color at each pixel using your mapping function. Be sure that your final "false color" image is in RGB format and displayable within MATLAB (consult help hsv2rgb). Include some false color images obtained with your mapping function in your write-up and explain what you did.


2. Optical Flow (55 points)

Your next task is to implement the "differential" algorithm for computing optical flow we covered in class. Recall that there are two main underlying assumptions: the image brightness is constant and that motion is constant and purely translational within small image regions (details can be found in the class notes):

By superimposing colored line segments over images, using your color mapping function from part one to generate false-color images, etc. generate visualizations of the following quantities: Include these visualizaations in your write-up and, for each, discuss what they reveal about the data. Your discussion should mention features in the images (e.g., lack/presence of texture), properties of the scene motion, and the difference between apparent and actual motion caused by the "aperture problem". Now choose one (or two) of the above visualizations and a single pair of images to analyze the impact of adjusting the image neighborhood size N. Generate visualizations for different settings of N and use them to answer the following questions (5 points):


3. Image warping (35 points)

This part of the assignment asks you to implement and test a function for warping one image according to its optical flow. Recall our discussion in class about forward vs. reverse warping and convince yourself that performing reverse warping simplifies the process of image reconstruction. For clarity, assume we have two images I_1 and I_2 along with a dense motion field that maps pixels in I_1 onto pixels in I_2. Implement the following: The final step is to evaluate your image warping code with visualizations. Do the following (5 points): There are a number of free tools you can download for making a movie from a collection of images. If you can't seem to find anything please post to the course mailing list asking for advice and help your colleagues by telling them about any useful tools you come across.


Submitting

This assignment is due Tuesday, March 20, 2007 at 11:59 PM. Please see the general notes on submitting your assignments, as well as the late policy and the collaboration policy.

Please submit:


Data