Computer Science - The City College of New York
CSC I6716 - Spring 2015 3D
Assignment 4. Stereo and Motion ( Deadline: April 28
(Those marked with * are optional for extra credits)
Note: Turn in a document (in writing) containing your writing
part of the assignment, a listing of your .m files, probably images
showing the results of your experiments, and definitely an analysis
of the results. All the writings must be hard copies in print. You
also need to turn in your “soft” copies of your assignment by
sending me email attachments. Send your source code ONLY –
please don't send in your images and executable. You are
responsible for the lose of your submissions if you don't
write “CSC I6716 Computer Vision Assignment 4” in the subject
of your email. Do write your **names** and IDs (last four digits) in
both your hard copy and soft copy submissions.
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
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 - 70 points + 5 bonus 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 (10
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 (10 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 (10 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 (10 points). Discuss
for each case, why your vision system succeeds or fails in finding
the correct matches (10 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).