410 likes | 533 Views
Projective structure from motion. Marc Pollefeys COMP 256. Some slides and illustrations from J. Ponce, …. Last class: Affine camera. The affine projection equations are . how to find the origin? or for that matter a 3D reference point? . affine projection preserves center of gravity.
E N D
Projective structure from motion Marc Pollefeys COMP 256 Some slides and illustrations from J. Ponce, …
Last class: Affine camera • The affine projection equations are how to find the origin? or for that matter a 3D reference point? affine projection preserves center of gravity
All equations can be collected for all i and j • where Orthographic factorization • The orthographic projection equations are • where Note that P and X are resp. 2mx3 and 3xn matrices and therefore the rank of x is at most 3
Orthographic factorization • Factorize m through singular value decomposition • An affine reconstruction is obtained as follows Closest rank-3 approximation yields MLE!
PROJECTIVE STRUCTURE FROM MOTION • The Projective Structure from Motion Problem • Elements of Projective Geometry • Projective Structure and Motion from Two Images • Projective Motion from Fundamental Matrices • Projective Structure and Motion from Multiple Images Reading: Chapter 13.
Problem: estimate the m 3x4 matrices M and the n positions P from the mn correspondences p . i j ij The ProjectiveStructure-from-Motion Problem Given m perspective images of n fixed points P we can write j 2mn equations in 11m+3n unknowns Overconstrained problem, that can be solved using (non-linear) least squares!
If M and P are solutions, i j So are M’ and P’ where i j The Projective Ambiguity of Projective SFM When the intrinsic and extrinsic parameters are unknown and Q is an arbitrary non-singular 4x4 matrix. Q is aprojectivetransformation.
Projective Subspaces and Projective Coordinates P Projective coordinates
Projective Subspaces Given a choice of coordinate frame Line: Plane:
Affine and Projective Coordinates
sin(+)sin(+) {A,B;C,D}= sin(++)sin Cross-Ratios Collinear points Pencil of planes Pencil of coplanar lines
Cross-Ratios and Projective Coordinates * Along a line equipped with the basis * In a plane equipped with the basis In 3-space equipped with the basis
Projective Transformations Bijective linear map: Projective transformation: ( = homography ) Projective transformations map projective subspaces onto projective subspaces and preserve projective coordinates. Projective transformations map lines onto lines and preserve cross-ratios.
Perspective Projections induce projective transformations between planes.
Geometric Scene Reconstruction Idea: use (A,O”,O’,B,C) as a projective basis.
Reprinted from “Relative Stereo and Motion Reconstruction,” by J. Ponce, T.A. Cass and D.H. Marimont, Tech. Report UIUC-BI-AI-RCV-93-07, Beckman Institute, Univ. of Illinois (1993).
Motion estimation from fundamental matrices Q Once M and M’ are known, P can be computed with LLS. Facts: b’ can be found using LLS.
Projective Structure from Motion and Factorization Factorization?? • Algorithm (Sturm and Triggs, 1996) • Guess the depths; • Factorize D; • Iterate. Does it converge? (Mahamud and Hebert, 2000)
Bundle adjustment - refining structure and motion • Minimize reprojection error • Maximum Likelyhood Estimation (if error zero-mean Gaussian noise) • Huge problem but can be solved efficiently (exploit sparseness)
Bundle adjustment • Developed in photogrammetry in 50´s
Non-linear least squares • Linear approximation of residual • allows quadratic approximation of sum- of-squares Minimization corresponds to finding zeros of derivative N Levenberg-Marquardt: extra term to deal with singular N (decrease/increase l if success/failure to descent) (extra term = descent term)
P1 P2 P3 M U1 U2 W U3 WT V 3xn (in general much larger) 12xm Bundle adjustment • Jacobian of has sparse block structure • cameras independent of other cameras, • points independent of other points im.pts. view 1 Needed for non-linear minimization
U-WV-1WT WT V 3xn 11xm Bundle adjustment Eliminate dependence of camera/motion parameters on structure parameters Note in general 3n >> 11m Allows much more efficient computations e.g. 100 views,10000 points, solve 1000x1000, not 30000x30000 Often still band diagonal use sparse linear algebra algorithms
Sequential SfM • Initialize motion from two images • Initialize structure • For each additional view • Determine pose of camera • Refine and extend structure • Refine structure and motion
(reference plane;arbitrary) Initial projective camera motion • Choose P and P´compatible with F Reconstruction up to projective ambiguity • Same for more views? • Initialize motion • Initialize structure • For each additional view • Determine pose of camera • Refine and extend structure • Refine structure and motion different projective basis
Initializing projective structure • Reconstruct matches in projective frame by minimizing the reprojection error • Initialize motion • Initialize structure • For each additional view • Determine pose of camera • Refine and extend structure • Refine structure and motion Non-iterative optimal solution
Projective pose estimation • Infere 2D-3D matches from 2D-2D matches • Compute pose from (RANSAC,6pts) X F x • Initialize motion • Initialize structure • For each additional view • Determine pose of camera • Refine and extend structure • Refine structure and motion Inliers:
Refining and extending structure • Refining structure • Extending structure 2-view triangulation (Iterative linear) • Initialize motion • Initialize structure • For each additional view • Determine pose of camera • Refine and extend structure • Refine structure and motion
Refining structure and motion • use bundle adjustment Also model radial distortion to avoid bias!
Hierarchical structure and motion recovery • Compute 2-view • Compute 3-view • Stitch 3-view reconstructions • Merge and refine reconstruction F T H PM
Metric structure and motion use self-calibration (see next class) Note that a fundamental problem of the uncalibrated approach is that it fails if a purely planar scene is observed (in one or more views) (solution possible based on model selection)
PPPgric HHgric
Farmhouse 3D models (note: reconstruction much larger than camera field-of-view)
Next class: Camera calibration (and self-calibration) Reading: Chapter 2 and 3