Class04eth18 Annotated
Class04eth18 Annotated
Torsten Sattler
Spring 2018
Schedule
Feb 19 Introduction
Feb 26 Geometry, Camera Model, Calibration
Mar 5 Features, Tracking / Matching
Mar 12 Project Proposals by Students
Structure-from-Motion
1. Initialize Motion
2. Initialize Structure
2. Initialize Structure
R
The Fundamental Matrix F
x1 x2
R,t
Properties of E
E is an essential matrix iff two of its singular
values are equal, third is 0
• Relationship to F?
3
• Compute closest rank-2 approximation: min F - F' F
1
F' U 2 VT U11V1T U2 2V2T
0
The Singularity Constraint
Minimal Case:
7 Point Correspondences
• Setup linear system from 7 correspondences:
x'1 x1 x'1 y1 x'1 y'1 x1 y'1 y1 y'1 x1 y1 1
f 0
x'7 x7 x'7 y7 x'7 y'7 x7 y'7 y7 y'7 x7 y7 1
F7pts F
F1 F2
-z
-z
-z
Automatic Computation of F
http://danielwedge.com/fmatrix/
Sequential / Incremental SfM
• Initialize motion from F or E
• Triangulate structure from motion
1. Initialize Motion
2. Initialize Structure
• Recover E and t as
• t=u3 or t=-u3
• R=UWVT or R=UWTVT
• Four solutions, but only one meaningful
L2
C1 x1 X
L1
x2
C2
Triangulation
• Backprojection
• Triangulation
m1 l1
l1 m2´ l2 m1
m1´ m2
m2
l2
2D-3D 2D-3D
mi+1
mi
2D-2D new view
x i Pi X(x1 ,..., x i 1 )
• Compute P using robust approach (6-point RANSAC)
i+1
R. Haralick, D. Lee, K. Ottenburg, M. Nolle. Review and analysis of solutions of the three
point perspective pose estimation problem, CVPR 1991
Incremental SfM
• Initialize:
• Compute pairwise epipolar geometry
• Find pair to initialize structure and motion
• Repeat:
• For each additional view
• Determine pose from structure
• Extend structure
• Refine structure and motion (bundle adjustment,
see lecture 7)
Global SfM
• Initialize:
• Compute pairwise epipolar geometry
• Compute:
• Estimate all orientations
• Estimate all positions
• Triangulate structure
• Refine structure and motion (bundle
adjustment)
• Pros: More efficient, more accurate
• Con: Less robust
SfM Software
• Colmap (Johannes Schönberger)
• Incremental SfM, very efficient, nice GUI,
open source
• VisualSFM (Changchang Wu)
• Incremental SfM, very efficient, GUI, binaries
• Bundler (Noah Snavely)
• Incremental SfM, open source
• OpenMVG (Pierre Moulon)
• Incremental and Global SfM, open source
• Theia (Chris Sweeney)
• Incremental and Global SfM, very efficient,
open source
Summary