Computer Science - The City College of New York
CSc 59866/59867 Capstone I/II Fall 2015-Spring 2016
Assignment 2(revised).
Stereo and Motion ( Deadline: October 14 extended
to Oct 21 by midnight)
(Those marked with * are optional for extra credits)
Note: All the writings must be in soft copies (PDF) Please
send the report (PDF) and the matlab code (*.m) of your
assignment to Prof. Zhu <zhu@cs.ccny.cuny.edu> as email
attachments. You are responsible for the lose of your
submissions if you don’t include “Capstone 2015 ” (exactly) in the subject of your email. Send
your source code ONLY – please don’t send in your images and
executable. Do write your names and IDs (last four digits) in both
your report and your matlab code files.
1. (Stereo- 25 points ) Estimate the accuracy of the
simple stereo system (Figure 3 in the online
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 disparity error, depth itself, the baseline width and
the focal length, respectively.
Hint: Z = fB/d; Take the partial derivatives of Z with respect to d,
B, f, respectively.
2. (Motion- 25 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. (25 points) Discussion the similarities (at least 2 ) and
differences (at least 2) between stereo vision and visual motion .
4. (25 points) Give five examples where humans use stereo and
motion, and Google another five examples that use machine vision
algorithms of stereo and motion.
3. (Stereo Programming - 15 bonus points ) Use the image pair ( Image 1, Image 2)
for the following exercises.
(1). Fundamental Matrix (5 points). - Design and implement a program
that , given a stereo pair, determines at least eight point matches,
then recovers the fundamental matrix . Check the accuracy of the
result by measuring the distance between the estimated epipolar
lines and image points not used by the matrix estimation . 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 revised 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.
(2). Feature-based matching (5 points). - Design a stereo vision
system to do "feature-based matching" and explain your algorithm in
writing.. The system should have a user interface that allows a user
to select a point on the first image, say by a mouse click.
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.
(3) Discussions (5 points). 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. Discuss for each case, why your vision system
succeeds or fails in finding the correct matches. 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.