CS664 Assignment 2:
Energy Minimization for Stereo and Denoising
DUE: Tuesday Nov 8, 2005, 11:59PM
This assignment is concerned with energy minimization for stereo and for image denoising. Note that we recommend you to do this assignment in groups of two. However, you can also do it by yourself if you prefer.
In this assignment you will experiment with the use of energy minimization for stereo and for image denoising. However, you will not have to implement any energy minimization algorithm yourself. Instead, you can make use of a new C++ software interface that allows you to call a choice of energy minimization methods on the same energy function.
The software interface is here. To use it, take a look at the file "README.txt" and "example.cpp". There is software for 4 different algorithms: ICM, MaxProduct Belief Propagation, Swap moves and Expansion moves.
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.
For each of the problems below, you should design your own energy function within the constraints described, and minimize it using each of the 4 algorithms above. Your write-up should include a chart of the energy obtained as a function of time, as well as the final image each algorithm returned.
Problem: Image denoising. For this problem you should use the image called "denoise-obs.pgm" below:
Your energy function should use the truncated L2 distance as a data term, and any smoothness term you prefer. You should also compute the average error of your solution with respect to the ground truth image "denoise-true.pgm" below:
Problem: Stereo. For this problem you should use the Tsukuba data set, which consist of a left and right image, named tsukuba.left.pgm and tskukba.right.pgm, below:
Your energy function should use the Potts model smoothness term, and any data term you prefer.