Programming Assignment 3

This assignment is due on Wednesday, April 25, 2007.

In this assignment, you will implement two other well-known computer vision algorithms: The Eight Point Algorithm for estimating the fundamental matrix F and Lucas-Kanade optical flow Algorithm. At this point, we have covered the Eight Point Algorithm and we will discuss the Lucas-Kanade optical flow algorithm on Tuesday, April 17. As before, you should turn in the MATLAB code (and a short summary) in a zip file here.

Epipolar Geometry and Eight Point Algorithm

  • Implement the Eight Point Algorithm for estimating the fundamental matrix F. Your implementation should also incorporate the normalization described in Problem 2, Homework 4.
  • Run your code on the pair of images provided below (Data1). In the same data file, there is a set of eight points. Use these points to compute the fundamental matrix of this stereo pair.
  • Plot the epipolar line for four of these eight points in the first view (Image1), and verify that they pass through the corresponding points in the second view (Image2).
  • Solve for the coordinates of the two epipoles.
  • Finally (this part is optional), implement a stereo matching algorithm using intensity correlation. The routine should take five inputs: the two images, the fundamental matrix, one point in the first view, and the size of the subwindow. It should return the corresponding point in the second view. The search should be over an epipolar line (or a small neighborhood of the epipolar line). Test your code on the five points supplied in the data file.

    Data

    Data1 ( Data1 for MATLAB 6.5 or earlier)

    data1.zip contains the followings:
  • Image1 (first view)
  • Image2 (second view)
  • EightPts (It is a 4-by-8 matrix. Each column gives the coordinates (in pixels) of a pair of corresponding points.)
  • ShowPts.m (This displays the points and images.)
  • FivePts (It is a 2-by-5 matrix. It gives the coordinates of five points in the first view.)

    Optical Flow

  • Implement the Lucas-Kanade optical flow algorithm. Run your implemention on the sequence of (two) images provided in data2 below. Your implementation should plot the flow vector at every pixel ( MATLAB routine "quiver" should be helpful).
  • Identify the regions with reliable optical flow.

    Images

    Data2( Data2 for MATLAB 6.5 or earlier)
    .