COMPSCI 773 Assignment 1

Due Date: Fri, 27 March 2009

The goal of this assignment is to apply theoretical knowledge of stereovision on real epipolar image pairs in order to compute disparity maps for the pairs and compare different algorithms performance. To do so you will:

  1. Implement and test a simple local stereo matching using window-based correlation.
  2. Implement and test 2 or 3 more advanced stereo matching algorithms (one per a group member): you may use available on the Web graph cut and belief propagation ones on the Middlebury Stereo Vision Page ( or on other Web sources; alternatively, you may choose and implement yourself any published algorithm (in this case, your choice is unrestricted).
  3. You should compare all the algorithms implemented on stereo images from the above Middlebury Stereo Vision Page by submitting your results to their on-line evaluation tool.

Part 1. Your first stereo matching algorithm

Using lecture notes and relevant bibliography, implement a simple stereo matching algorithm using window-based correlation. The interactive algorithm should allow the user to input the specifications of images of stereo pair, the height and width of a window, and the range of disparities for this stereo pair. In this part YOU MUST code your algorithm by yourselves; the use of the code already available is not permitted. Each group should implement different correlation algorithms or at least have their own coding specifics. Feel free to derive your own algorithm from past reading and discussions with your lecturers.

Your program should compute and output a disparity map and be able to display this disparity map as a greyscale or colour image, together with the input images. You should save and include into your report performance characteristics of your algorithm, i.e. specifications and sizes of the images, the window size, disparity range, and processing time (your program has to measure the net processing time of building the disparity map).

Since this will be a team effort, the group report should extensively describe the implementation and details of the implemented algorithm(s), including what has been done by each team member, present displayed results and give associated (meaningful) comments.

Part 2. More stereo matching algorithms

Here you should each choose one of the published stereo algorithms, be able to understand its equations, behaviour and pros and cons. You can either implement the algorithm yourself or adapt some existing code (in the latter case you must provide the URL the original code came from). The original coding will be favoured over the adapted code. A non-exhaustive list of present stereo matching algorithms with relevant bibliography is available on the Middlebury Stereo Vision page and the corresponding publications can be found on the Web. Each student should provide an individual report with a full description of the implemented algorithm. During the Demo time, specific questions will be asked for each algorithm to the student responsible for its implementation. You may add these algorithms to your interface developed for Part 1. Again the in-depth description of the algorithm specifics and its performance will play an important part in the final grading of this assignment.

Part 3. Algorithm comparisons and improvements

By mimicking the error analysis and ranking at the Middlebury Stereo Vision page, assess performance of implemented algorithms depending on values of their parameters. In other words, vary the parameters influencing the performance of your algorithms (e.g. the % of correct matches and/or the % of disparity errors being less than 1 disparity level) and try to find an optimal set of parameters. Try the same parameters on different stereo pairs from the Middlebury web page containing objects of different type. Then assess the algorithm performance for the face stereo pairs provided on the course web page. Propose potential improvements to optimise human face depth map computation by comparing the robustness of your stereo matching algorithms for faces and in more general cases.

Submission

You should submit your assignment as a zipped archive in electronic report (one per group) before the due date to Patrice (patrice@cs.auckland.ac.nz). Your archive should contain a group report describing the solutions the group decided to implement. This report may deal with introduction, description of your overall achievements regarding to the proposed work, and conclusion. You should also submit individual reports describing each group member’s contribution. The reports should look more like research papers that is you must clearly state the problem you faced, the solution you chose and the difficulties you encountered and the performance of your solution. Your programs should be as well submitted with proper guidance for your lecturers to test your solution. You will have to provide a demo of your system on one of the labs in the Tamaki building 731 at mutually agreed time.

Each group member will have a short talk with the lecturers to assess personal achievements. This will contribute to assignment 1 final grade. Your report should be still a scientific c ontribution rather than a daily diary-like account of your 773 journey. The front page should clearly indicate who did what. Report structure may include:

Demos

Each group will show a demo on the week the assignment is due.