Stereo epipolar geometry

Programming assignment #2(b)

CS 223b - Introduction to Computer Vision
Winter Quarter, 2002

Mitul Saha & Rohit Singh

Objective:Given a pair of uncalibrated stereo images, we are required to plot the corresponding epipolar lines using the knowledge of projective geometry.

Procedure: Two images of the same scene are related by the epipolar geometry. To determine the epipolar geometry and hence plot the epipolar lines we need to estimate the 3x3 singular matrix known as the Fundamnetal matrix. Since the camera is uncalibrated we need to find point corresspondences between the two images to estimate the Fundamental matrix. Hence we start with manually matching some points between the two images.

The following two images shows 20 points marked by red cross choosen for matching:

As per 8-point Algorithm we need atleast 8 points to estimate the Fundamental matrix. But only 8 points are not enough to get an accurate estimate of the Fundamental matrix for the entire image. So choose to match 20 points to get a good estimate of the fundamental matrix. Also the points chosen should be well scattered in the image so that the Fundamental matrix estimate is uniformly accurate. Say If we choose points only around the statue then the resulting Fundamental matrix does not map the far away points accurately. Also the corner points are easy to match manually with good accuracy.

After matching the images we use the 8-point algorithm to estimate the Fundamental matrix. After estimating the Fundamnetal matrix we plot the epipolar lines fpr a given point in the left image.

Now the corresponding epipolar line in the left image is the line joining the clicked point and the epipole of the left image. The epipole of the left image is the third column of the V matrix obtained from SVD of F (Page 157: Trucco). Hence now we have the epipolar lines in both the images.

The following images shows the plot of the epipolar lines in the right image corresponding to the clicked points on the left image.

The left image with some clicked points marked by red *: (The lines passing through the clicked points on the left image are the epipolar lines corresponding to the left image for the clicked points)

The right image with epipolar lines corresponding to the clicked points in the left image: (The red line image is the epipolar line corresponding to the clicked point marked by * on the red line of the above left image and so on.)

Matlab Source Codes: