Uncalibrated Stereo Vision

A CS 766 Project
University of Wisconsin - Madison
Fall 2004

 

Overview | Downloads | Results | Reference Material

Results

We discuss here our results from the various stages of the pipe-line.  From the overview, the steps are:

0 - Find Correspondence using the KLT feature point tracker.
1 - Determine the Fundamental Matrix, F.
2 - Recify images using F.
3 - Apply Birchfield and Tomasi calibated stereo correspondence algorithm to create a depth map.
4 - If the depth map generated is bad, determine new correspondence points by searching the space near the epipolar lines determine originally.
5 - Repeat from step 1, using the new correspondence points.

Step 0 - Find Correspondence using the KLT feature point tracker
Though KLT is sufficiently good at finding features, the tracker did not perform well for our purposes.  We tried a number of the following methods for finding better correspondences given KLT output:
  1. Ignore tracking data and run RANSAC to find a fundamental matrix that is consitent.  That is, that each feature in one image has another feature in the other image that lies near the epipolar line.  Unfortunately, since it is highly probable that some feature will lie near a given epipolar line, this also has poor results.
  2. Like #1, use RANSAC, but only score how close a feature that KLT succesfully tracked is to the epipolar lines.  Again, this gave poor results, since a few poorly tracked features would score well.
  3. Again using RANSAC, find the best fundamental matrix that is internally consistent.  That is, do not score using all features, or all tracked features, but only those used to determine the fundamental matrix in the first place.  In this case, use more than 8 points for calculating F, so that F is simply an approximation to those points.  Again, a few bad correspondences appear in well scoring sets.
  4. A method proposed by M. Pilu.  This method first generates a pairwise proximity matrix between all features, using pixel position and a local normalized cross correlation.  The SVD of this matrix is taken, and the diagonal values are set to 1.  Once multiplied back together, we are given a scoring matrix between pairwise correspondences.  Pilu uses this matrix to find correspondences between all pairs, however we are only interested in a few, best correspondences.  We therefore pick the best N scoring correspondences to use for tracking. 

    Good correspondences tend not to be well distributed throughout the image.  This increases the error in later steps, since the determined fundamental matrix tends to be inaccurate for finding epipolar lines far from the tracked features.  To avoid this, we split the image into fourths, and run tracking and correspondence on each smaller image.  This distributes the correspondences while still giving us good matches.



    Note that this will still produce bad results in regions where poor features have been detected as seen in the sky of this pair of mars images.

Step 1 Determine the Fundamental Matrix, F
OpenCV provides a method for this calculation.  A good discussion of the 8-point algorithm is given by Hartley.  Note that this calculation is very much sensitive to noise.  For example, the following image is a parallel stereo pair.  In other words, all epipolar lines should be horizontal.  Note that almost all points are tracked reasonably, however if we examine the epipolar line that corresponds to the top-left of the box (white square), it is not horizontal and misses the point in the corresponding image.



The calculated fundamental matrix provides much better results in other parts of the image

Step 3 - Apply Birchfield and Tomasi calibated stereo correspondence algorithm to create a depth map
Birchfield and Tomasi use a dynamic programming method to determine disparity given two rectified images.  Essentially, they perform a global sequence alignment between each pair of lines.  This method is provided by openCV.  Perfectly rectified images give the depth image below.  This image has been brightness enhanced.