Assignment 2

DUE 10/30/01, 23:59pm


Stereo - graph cuts.

Notes about compiling the maxflow library and the ground truth image have been posted to the newsgroup (cornell.class.cs664).

This problem set will be concerned with applying some of the energy minimization techniques to the same stereo problem as in the assignment 1, part B. Your task is to implement the expansion and the swap move algorithms described in the lecture. You should do this assignment in groups of two.

In this assignment you will need to compute the minimum two way cut of a directed graph.  For this, we are providing you with code that does that for you.  Download maxflow.tar.gz and unzip it.  You will find a file called example.c . You can use this file to pretty much figure out how to use this implementation of a maxflow algorithm.

A very good resource for this assignment is the paper Graph cut energy minimization paper by Boykov, Veksler and Zabih.

What to turn in:  a) your source code for all problems b) output images. c) NT executables (they must run under NT even if you developed in another platform), d) a write-up explaining how to run your program and  a brief explanation of your results. Go here to see instructions on how to turn in you assignment.

Only turn in the source code for the files you have written or modified. We already have libadt.  Any implementation decisions you make must be documented in your write-up.

Your output images (disparity maps) can be in LongImage format so they can be better displayed by wv.

Energy function, datasets

The energy function and datasets are exactly the same as in the assignment 1, part B.

Experiments

1. The first experiment is to compare the performance of the expansion and the swap move algorithms. You should compare their running times and the value of the energy found. Use the two datasets given and some fixed value of lambda.

2. The second experiment is compare the perfomance of the algorithm with different values of lambda. For the image with ground truth compute the error statistics for different lambdas (and include it into your write-up). For the second dataset pick the value of lambda which appears to give the best
result. (You are free to make any other reasonable modifications to the energy function, e.g. different static clues).

The second experiment can be performed only for one of the algorithms (the expansion or the swap) that you found to perform better in the first experiment. For each dataset include the best result that you obtained. Thus, you should submit two output images.