Download presentation
Presentation is loading. Please wait.
Published byJoΓ£o VΓtor de Vieira Modified over 5 years ago
2
Structure from motion Input: Output: (Tomasi and Kanade)
a set of point tracks Output: 3D location of each point (shape) camera parameters (motion)
3
Orthographic SFM: Setup
πΌ 1 , πΌ 2 ,β¦, πΌ π : a collection of images (video frames) depicting a rigid scene Orthographic projection (no scale) π point tracks in those π frames Unknown 3D location: π π =( π π , π π , π π ) π β β 3 , π=1,β¦,π Projected locations: denote by ( π₯ ππ , π¦ ππ ) π the location of π π at frame π, then π₯ ππ = π π π π π + π π π¦ ππ = π π π π π + π π π π π , π π π are the two top rows of a rotation matrix
4
Orthographic SFM: Objective
Find π π π π β β 3 and π π , π π ββ that minimize π=1 π π=1 π ( π π π π π + π π )β π₯ ππ 2 + ( π π π π π + π π )β π¦ ππ 2 Subject to π π = π π =1 π π π π π =0
5
Eliminate translation
We can eliminate translation by representing the location of each point relative to the centroids of all π points: Assume without loss of generality that the centroid of π 1 ,β¦, π π coincides with the origin πβ β 3 Translate each image point by setting π₯ ππ = π₯ ππ β π₯ π π¦ ππ = π¦ ππ β π¦ π ( π₯ π , π¦ π ) denotes the centroid of ( π₯ ππ , π¦ ππ )
6
Objective (w/o translation)
Find π π π π β β 3 that minimize π=1 π π=1 π π π π π π β π₯ ππ 2 + π π π π π β π¦ ππ 2 Subject to π π = π π =1 π π π π π =0
7
Measurement matrix π= π₯ 11 π₯ β¦ π₯ π1 π₯ π π₯ 1π β¦ . . π₯ ππ π¦ 11 π¦ π¦ π1 π¦ π π¦ 1π β¦ . . π¦ ππ 2πΓπ
8
Transformation and shape matrices
π= π 1 π β¦ π π π π 1 π β¦ π π π = π 11 π 12 π 13 β¦ β¦ π π1 π π2 π π3 π 11 π 12 π 13 β¦ β¦ π π1 π π2 π π3 2πΓ3 π= π 1 π 2 π 1 π 2 . π 1 π 2 π π . . π π π π 3Γπ
9
Objective: matrix notation
Find π and π that minimize πβππ πΉ Subject to π π = π π =1 π π π π π =0 π is 2πΓπ, π is 2πΓ3, π is 3Γπ
10
π=ππ+Noise π₯ 11 π₯ β¦ π₯ π1 π₯ π π₯ 1π β¦ . . π₯ ππ π¦ 11 π¦ π¦ π1 π¦ π π¦ 1π β¦ . . π¦ ππ 2πΓπ = π 11 π 12 π 13 β¦ β¦ π π1 π π2 π π3 π 11 π 12 π 13 β¦ β¦ π π1 π π2 π π πΓ3 π 1 β¦ π π π 1 π π π 1 β¦ π π 3Γπ +Noise
11
TK-Factorization π=ππ+Noise
Step 1: find rank 3 approximation to π using SVD π=πΞ£ π π where π is 2πΓ2π, π π π=πΌ, Ξ£=ππππ( π 1 , π 2 ,β¦), size 2πΓπ, and π 1 β₯ π 2 β₯β¦β₯0 π is πΓπ, π π π=πΌ
12
TK-Factorization π =π Ξ£ 3 π π
π =π Ξ£ 3 π π where Ξ£ 3 =ππππ( π 1 , π 2 , π 3 ,0, 0,β¦) Note: this is a relaxation, only noise components outside the 3D space are annihilated Step 2: factorization π =π Ξ£ π = Ξ£ 3 π π Ambiguity: π =( π π΄)( π΄ β1 π ) for any non-singular, 3Γ3 matrix π΄
13
TK-Factorization Step 3: resolve ambiguity π π = π π =1 π π π π π =0 Let π
π = π π π π π π 2Γ3 , note that π
π π
π π =πΌ Let π π = π π π π π π 2Γ3 be the corresponding rows in π , then π
π = π π π΄ Find a 3Γ3 symmetric matrix π΄ π΄ π π π π΄ π΄ π π π π = π
π π
π π =πΌ
14
TK-Factorization π π π΄ π΄ π π π π = π
π π
π π =πΌ
π π π΄ π΄ π π π π = π
π π
π π =πΌ Equation is linear in π΄ π΄ π There are 3π equations in 6 unknowns Find π΄ by eigen-decomposition π΄ π΄ π =πβ π π so that π΄=π β Solution is obtained up to a rotation ambiguity π π (π΄π΅)( π΅ π π΄ π ) π π π such that π΅ π΅ π =πΌ
15
TK-Factorization: Summary
Eliminate translation, construct π πππ·(π) to get rank 3 π and factorize π = π π (3Γ3 ambiguity π΄ remains) Resolve ambiguity: estimate π΄ π΄ π from orthonormality and factorize to obtain π΄ Solution up to rotation and reflection
16
Incomplete tracks Tracks are often incomplete β
Factorization with missing data Rank is difficult to enforce Surrogate: minimize the nuclear norm β sum of singular values, π 1 + π 2 + π 3 +β¦ Nuclear norm is convex, minimization often achieves low rank Accurate reconstruction usually requires accounting for perspective distortion
17
Perspective projection
A point π=(π,π,π) is projected to π₯= ππ π π¦= ππ π A point rotated by π
and translated by π projects to π₯= π( π 1 π π+ π‘ π₯ ) π 3 π π+ π‘ π§ π¦= π( π 2 π π+ π‘ π¦ ) π 3 π π+ π‘ π§ π π π denotes the rows of π
We call πΆ=πΎ[π
,π] 3Γ4 a camera matrix πΎ calibration matrix, π
camera orientation, π camera location
18
Bundle adjustment Given π points in π frames, (π₯ ππ , π¦ ππ ), find camera matrices πΆ π and positions π π (π=1,β¦,π) that minimize π=1 π π=1 π π ( π π1 π π π + π‘ π₯ ) π π3 π π π + π‘ π§ β π₯ ππ π (π π2 π π π + π‘ π¦ ) π π3 π π π + π‘ π§ β π¦ ππ 2 Alternate optimization Given π
π and π π , solve for π π Given π π solve for π
π and π π Very good initial guess is required
19
Bundler (photo-tourism)
(Snavely et al.)
20
Bundler (photo-tourism)
Given images, identify feature points, describe them with SIFTs Match SIFTs, accept each match π π β π π whose score is at least twice of any other match π π β π π For every pair of images with sufficiently many matches use RANSAC to recover Essential matrices Starting with two images and adding one image at a time: use essential matrix to recover depth and apply bundle adjustment
21
Simultaneous solutions
πΈ ππ : Essential matrix between πΌ π and πΌ π , π,π=1,β¦,π πΈ ππ = π ππ Γ π
ππ (on a subset of image pairs) Objective: recover camera orientation π
π and location π π relative to a global coordinate system min π
π π
ππ β π
π π
π π πΉ This can be solved in various ways, for example min π
π π
ππ π
π β π
π πΉ : least squares solution if we ignore the orthonormality constraints for π
π
22
Essential in global coordinates
Corresponding points, π and π, satisfy the following relation π π π
π π π π Γ β π π Γ π
π π=0 This generalizes the formula for the essential matrix (plug in π
π =πΌ, π π =π) Once camera orientations π
π are known we can solve for camera locations Solution suffers from shrinkage problems
23
Reconstruction example
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.