Lab 3. Optimisation: Stereo correspondences for fundamental matrix estimation

2. Epipolar constraint and fundamental matrix estimation

Preparation Question: Read through algorithm 11.1. How might you obtain the input image point corre- spondences? Why are n ≥ 8 correspondences needed?

Harris points with non-max suppression, thresholding, patch differences and matching with lab3.join_min.

\(F\) has 9 elements, but can only be determined up to scale, so \(F\) has 8 degrees of freedom.

3. Input data

Will the methods work for all stereo image pairs? If not, do you know what cases might cause failures? Consider both camera motion and the geometry of the world.

Section 11.7 Special cases of F-computation of lists degenerate cases:

  • Point on a plane.
  • No translation. The two camera centres are coincident.

4. RANSAC

In this algorithm, putative correspondences are obtained by similarity of patch intensity (do not use proximity as suggested in algorithm 11.4). What other approach might you use to obtain point correspondences? What would be the advantages/disadvantages?

  • Tracking.
  • (Better) feature detection/extraction.

Examine the functions fmatrix_residuals and fmatrix_residuals_gs. What do these functions compute? What is the difference between the two?

  • fmatrix_residuals: Signed distance between epipolar lines and points.
  • fmatrix_residuals_gs: 3D projection error

Run your algorithm on an image pair, then use the visualization routines provided. Are the results as expected? Where do the epipolar lines converge? Why? Is the result consistent between runs?

The results are fairly consistent between runs. The epipolar lines (should) converge on the opposite camera. The results are somewhat consistent.

What value on the inlier threshold do you use? Compute the inlier ratio - what is it?

The sum of squared residuals should be less than \(10\). The ratio is usually around \(0.5\).

How many RANSAC iterations do you use?

\(5000\).

5. Non-linear least-squares and the Gold Standard algorithm

Refer to the documentation for the above function to ensure that you understand its syntax. You need to provide a starting guess, a residual function, and constant parameters (the observed points). Write out the function call you will use.

  • Starting guess: \(F\) (output from RANSAC, OK?)
  • Residual function: fmatrix_residuals_gs
  • constant parameters: The observed inliers (output from RANSAC, OK?)

Run your algorithm on an image pair then use the visualization routines provided. Are the results as expected? Where do the epipolar lines converge? Why?

The results are roughly as expected. The epipolar lines converge off-screen, far to the right/left.

Comment on the differences (if any) between the results using RANSAC and the Gold Standard algorithm.

Gold standard has better residuals.

6. Verification

Using the tools (functions) provided with this lab, how will you quantitatively compare the solutions generated by the different algorithms?

  • Check that epipolar lines converge to a sensible location.
  • Residuals.

Evaluate the algorithms you have implemented. Write down qualitative and quantitative comparisons.

  • No obvious difference in the epipolar lines.
  • The cost function for gold standard is 80-50% of the other method.