Computer Science - The City College of New York
CSC I6716 - Spring 2012  3D Computer Vision

Assignment 4.
Stereo and Motion ( Deadline: May 03 before class)
(Those marked with * are optional for extra credits)

1.  (Stereo- 10 points ) Estimate the accuracy of  the simple stereo system (Figure 3 in the lecture notes of stereo vision) assuming that the only source of noise is the localization of corresponding points in the two images. Discuss the dependence of the error in depth estimation as a function of the baseline width and the focal length.

Hint: Take the partial derivatives of Z with respect to x, T, f respectively.

2. (Motion- 10 points) Could you obtain 3D information of a scene by viewing the scene by a camera  rotating around its optical center? Show why or why not. What about moving the camera along its optical axis?

3. (Motion- 10 points) Show that the aperture problem can be solved if a corner is visible through the aperture.

4. (Stereo Programming - 30 basic points  + 20 extra points ) Use the image pair ( Image 1, Image 2) for the following exercises.

(1). Fundamental Matrix. - Design and implement a program that , given a stereo pair, determines at least eight point matches, then recovers the fundamental matrix (5 points ) and the location of the epipoles (5 points). Check the accuracy of the result by measuring the distance between the estimated epipolar lines and image points not used by the matrix estimation (5 points). Also, overlay the epipolar lines of control points and test points on one of the images (say Image 1- I already did this in the starting code below). Control points are the correspondences (matches)  used in computing the fundamental matrix,  and test points are those  used to check the accuracy of the computation.

Hint: As a first step, you can pick up the matches of both the control points and the test points manually. You may use my matlab code (FmatGUI.m)  as a starting point - where I provided an interface to pick up point matches by mouse clicks. The epipolar lines should be (almost)  parallel in this stereo pair. If not, something is wrong either with your code or the point matches. Make sure this is achieved before you move to the second step* - that is to try to search for point matches automatically by your program. However the second step is optional (for extra 5 points)

(2). Feature-based matching. - Design a stereo vision system to do "feature-based matching" and explain your algorithm in writing (5 points). The system should have a user interface that allows a user to select a point on the first image, say by a mouse click (5 points).  The system should then find and highlight the corresponding point on the second image, say using a cross hair points). Try to use the epipolar geometry derived from (1) in searching  correspondences along epipolar lines (5 points).

Hint : You may use a similar interface  as I did for question (1). You may use the point match searching algorithm in (1) (if you have done so), but this time you need to constrain your search windows along the epipolar lines.

(3) *Discussions. Show your results on points with different properties like those in corners, edges, smooth regions, textured regions, and occluded regions that are visible only in one of the images (5 points). Discuss for each case, why your vision system succeeds or fails in finding the correct matches (5 points). Compare the performance of your system against a human user (e.g. yourself) who marks the corresponding matches on the second image by a mouse click (5 points).

4. Proof-reading (20 points). While you are reading the lecture notes on stereo vision, please use Track Changes of the Word program to make changes for typos, unclear sentences, and etc.. You might also put your comments for me to further improve the writing of the document, using the Comment Tool.

5. Proof-reading (20 points). While you are reading the lecture notes on visual motion, please use Track Changes of the Word program to make changes for typos, unclear sentences, and etc.. You might also put your comments for me to further improve the writing of the document, using the Comment Tool.