360 likes | 440 Views
Computing F. Epipolar geometry: basic equation. separate known from unknown. (data). (unknowns). (linear). If A has rank 8 soln unique up to a scale factor For noisy data, rank of A might be larger than 8 least squares soln
E N D
Epipolar geometry: basic equation separate known from unknown (data) (unknowns) (linear) If A has rank 8 soln unique up to a scale factor For noisy data, rank of A might be larger than 8 least squares soln Minimize || Af || subject to ||f|| = 1 singular vector for smallest sing. value of A This is called “8 point” algorithm
the singularity constraint: SVD from linearly computed F matrix (rank 3) Replace F with F‘ that minimizes Forbenius norm || F – F‘ ||F subject to det(F‘) = 0 Compute closest rank-2 approximation Two steps: (a) linear soln F obtained from sing. Vect corresp. To smallest singular value (b) replace F by F’ the closest singular matrix to F under Forbenius norm || A||F = square root of sum of squares of ai,j
the minimum case – 7 point correspondences Assume matrix A has rank 7 7 correspondences A is 7x9 ; If A rank 7 soln to Af =0 is 2D space of the form α F1 + ( 1 – α ) F2 where F1 and F2 are matrices corresponding to generators f1 and f2 of the right null space of A Det (F) = 0 det (α F1 + ( 1 – α ) F2 ) = 0 cubic polynomial in α either one or 3 real solns either one or 3 F This is called the “7 point “ algorithm.
~10000 ~100 ~10000 ~100 ~10000 ~10000 ~100 ~100 1 Orders of magnitude difference Between column of data matrix least-squares yields poor results ! the NOT normalized 8-point algorithm
(0,500) (700,500) (-1,1) (1,1) (0,0) (0,0) (700,0) (-1,-1) (1,-1) the normalized 8-point algorithm Transform image to ~[-1,1]x[-1,1] Least squares yields good results(Hartley, PAMI´97) Translate and scale each image so that the centroid of the reference points is at the origin of the coordinates and the RMS distance of the points from the origin is √2
algebraic minimization • Find F‘ with rank 2 directly, i.e. Find singular matrix F‘ that minimizes || A F‘|| subject to ||F‘|| = 1 • Arbitrary singular matrix F can be written as F = M [e]x where M is nonsingular and [e]x is any skew symmetrix matrix • For now, assume e is known • F = M [e]x f = Em where f and m are vectors corresponding to F and M matrices and • Minimize || A E m || subject to || Em || = 1 • Apply Algorithm A.5.6 from Hartley and Zisserman
Geometric distance Gold standard Sampson error Symmetric epipolar distance
Gold standard (= least-squares for Gaussian noise) Maximum Likelihood Estimation xi and x’I measured correspondence; and true correspondence Find F to minimize Initialize: normalized 8-point, (P,P‘) from F, reconstruct Xi Parameterize: (overparametrized) Minimize cost using Levenberg-Marquardt (preferably sparse LM, see book)
Symmetric epipolar error Minimize distance of a point from its projected epipolar line
Some experiments: Epipoles close to image Epipoles in the image
Some experiments: Matched points known extremely accurately
Algorithm comparison • Normalized 8 point (alg. 11.1) • Min. Algebraic error while imposing singularlity (Alg. 11.2) • Gold standard algorithm (Alg. 11.3) • N = total number of correspondences • Choose n out of N points randomly 100 times • Find average residual error vs. n • Squared distance between a point’s epipolar line and the other image averaged over all N • This is not directly minimized by any of the 3 algorithms
Some experiments: (for all points!) Residual error:
Recommendations: • Do not use unnormalized algorithms • Quick and easy to implement: 8-point normalized (alg. 11.1) • Better: enforce rank-2 constraint during minimization (alg. 11.2) • Best: Maximum Likelihood Estimation (alg. 11.3) (minimal parameterization, sparse implementation)
Automatic computation of F • Interest points • Putative correspondences • RANSAC • (iv) Non-linear re-estimation of F • Guided matching • (repeat (iv) and (v) until stable)
Feature points • Extract feature points to relate images • Required properties: • Well-defined (i.e. neigboring points should all be different) • Stable across views (i.e. same 3D point should be extracted as feature for neighboring viewpoints)
Feature points (e.g.Harris&Stephens´88; Shi&Tomasi´94) Find points that differ as much as possible from all neighboring points homogeneous edge corner If M has two small eigen value homogeneous; if one small and one large eigenvalue edge; if two large eigenvalues corner Feature = local maxima (subpixel) of F(1,2)
Feature points Select strongest features (e.g. 1000/image)
? Feature matching Evaluate NCC for all features with similar coordinates Keep mutual best matches Still many wrong matches!
3 3 2 2 4 4 1 5 1 5 Feature example Gives satisfying results for small image motions
Wide-baseline matching… • Requirement to cope with larger variations between images • Translation, rotation, scaling • Foreshortening • Non-diffuse reflections • Illumination geometric transformations photometric changes
Wide-baseline matching… (Tuytelaars and Van Gool BMVC 2000) Wide baseline matching for two different region types
Finding more matches restrict search range to neighborhood of epipolar line (1.5 pixels) relax disparity restriction (along epipolar line)
(generate hypothesis) (verify hypothesis) RANSAC Step 1. Extract features Step 2. Compute a set of potential matches Step 3. do Step 3.1 select minimal sample (i.e. 7 matches) Step 3.2 compute solution(s) for F Step 3.3 determine inliers until (#inliers,#samples)<95% Step 4. Compute F based on all inliers Step 5. Look for additional matches Step 6. Refine F based on all correct matches
How many samples? Choose N so that, with probability p, at least one random sample is free from outliers. e.g. p=0.99
More problems: • Absence of sufficient features (no texture) • Repeated structure ambiguity • Robust matcher also finds • support for wrong hypothesis • solution: detect repetition (Schaffalitzky and Zisserman, BMVC‘98)
geometric relations between two views is fully described by recovered 3x3 matrix F two-view geometry
Special case: Enforce constraints for optimal results: Pure translation (2dof), Planar motion (6dof), Calibrated case (5dof) compute essential matrix; but for E, two singular values are equal.