120 likes | 269 Views
3D Reconstruction – Factorization Method. Seong-Wook Joo KG-VISA 3/10/2004. Problem Setup. P feature points ( u p , v p ) from F frames Input: measurement matrix centroid = origin assumed for all frames Goal: Find motion and structure. features. frames. u 11 u 12 .
E N D
3D Reconstruction – Factorization Method Seong-Wook Joo KG-VISA 3/10/2004
Problem Setup • P feature points (up,vp) from F frames • Input: measurement matrix • centroid = origin assumed for all frames • Goal: Find motion and structure features frames u11 u12 u21 u22 v11 v12 v21 v22
Camera model: orthographic camera • i and j are unit vectors representing the x and y axis of the image plane in world coordinates. • Camera matrix is essentially the rotation matrix with orthographic projection (no third row) • No translation
Rotation matrix and shape matrix • Measurement matrix W can be expressed as • Where R, S represents rotation and shape
The Rank Theorem • Since R is 2F3 and S is 3P, in the ideal case (without noise), W is at most of rank three. • The rank theorem says the measurement matrix is highly redundant. In fact it resides in a 3-dimensional subspace.
The Factorization Algorithm • SVD is used to decompose W into R and S. (Assuming 2FP) • Since the rank of W is at most 3, only the first three singular values (diagonal elements in ) should be non-zero. • But this does not hold in practice because of noise. Therefore the best rank-3 approximation W to the ideal W is obtained by taking the top 3 singular values.
Affine Reconstruction • define so that e.g., • However the decomposition is not unique. If Q is any invertible matrix, below is also a valid decomposition.
Euclidean Reconstruction • Suppose the trueR and S can be obtained by the linear transformation Q • To find Q, We use the constraint that R consists of orthonormal vectors.
Extensions to Other Camera Models • Affine camera • Scaled orthographic (weak perspective) • Unknown scale factor f for each frame • Paraperspective • camera matrix is still a 2x3 matrix (affine), with unknown offset mf and scale ffor each frame • Same as orthographic case up to the affine reconstruction step • Use orthonormality of Rotation vectors to also solve for the additional unknowns • Projective camera • Use depth(fp)-multiplied measurement matrix W • Depth estimation is another issue • Reference • http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/UESHIBA1/ueshiba.html
Could we have used PCA? • Measurement vectors APx2F = [u1…uF v1…vF] • Suppose we don’t know anything about camera geometry • Noisy measurements of unknown (hopefully linear) process • We want • Invariant structure underlying the measurement data shape • (variant) coefficients that gives a particular frame motion • PCA • Largest Eigenvectors of AAT: e1, e2, e3E • AAT = E D ET • Comparing with the SVD A=WT=O2T O1T • AAT= O2T O1T O1 O2 = O2 2 O2T • E is essentially O2 , the “structure”
SVD output formats • “Economy size” • Matlab default: D is the same size as A m<n m>n Amxn Umxm Dmxn VTnxn Amxn Umxm Dmxn VTnxn m<n m>n Amxn Umxn Dnxn VTnxn Amxn Umxm Dmxm VTmxn (possible in theory, but Matlab doesn’t give this)