CV Chapter 7 3D Reconstruction
Questions about the lecture 'Computer Vision' of the RWTH Aachen Chapter 7 3D Reconstruction
Questions about the lecture 'Computer Vision' of the RWTH Aachen Chapter 7 3D Reconstruction
Set of flashcards Details
Flashcards | 108 |
---|---|
Language | English |
Category | Computer Science |
Level | University |
Created / Updated | 04.02.2017 / 23.02.2017 |
Weblink |
https://card2brain.ch/box/20170204_cv_chapter_7_3d_reconstruction
|
Embed |
<iframe src="https://card2brain.ch/box/20170204_cv_chapter_7_3d_reconstruction/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
What is the effect?
[camera.affine.SfM.3D resconstruction, 3]
1. Affine transformation of 3D space
2. Orthographic projection
3. Affine transformation of image
What is the problem which has to be solved?
[affine.SfM.3D resconstruction, 2]
1. Problem is to estimate all Ai, bi and Xj for linear mapping plus translation x = AX + b
2. 2mn knowns and 8m+3n-12DoF unknowns // For 2 views we need 4 points
How does centering works?
[affine.SfM.3D resconstruction, 2]
1. Subtract centroid of image points
2. ^xij=xij – 1/n Sumk=1n xik = Ai*^Xj
How is the matrix decomposed?
[measurement matrix.affine.SfM.3D resconstruction]
D = U*W*VT = U3*W3*V3T = M*S
What are the characteristics?
[measurement matrix.affine.SfM.3D resconstruction, 4]
1. With measurement matrix D
2. Set to rank 3 due to singular values of 0 except of first 3
3. M = U3*W31/2 and S = W3!/2*V3T
4. Could be achieved by any 3x3 matrix C → euclidean upgrade
How to solve affine ambiguity?
[affine.SfM.3D resconstruction]
Via euclidean upgrade
What is the definition?
[orthographic assumption.euclidean upgrade.affine.SfM.3D resconstruction, 3]
1. Image axes are perpendicular a1*a2=0
2. Scale is 1 [a1|²=[a2|²=1
3. Yields system of 3m equations
What are the equations?
[orthographic assumption.euclidean upgrade.affine.SfM.3D resconstruction, 3]
1. ^ai1*^ai2=0 → ai1TCCTai2=0
2. |^ai1|=1 → ai1TCCTai1=1
3. |^ai2|=1 → ai2TCCTai2=1
How does it work?
[euclidean upgrade.affine.SfM.3D resconstruction, 3]
1. Problem is to estimate C
2. Solve L and recover by Cholesky decomposition L=CCT
3. Update M=MC and S=C-1S
How to deal with missing data?
[affine.SfM.3D resconstruction, 4]
1. Typically assumption that all points are visible is not true
2. Decompose into dense sub-blocks // NP-complete
3. Fuse results
4. Incremental bilinear refinement
How does it work?
[incr bilin refinement.missing data.affine.SfM.3D resconstruction, 3]
1. Perform factorization on sub-block
2. Solve for new 3D point visible by >=2 known cameras
3. Solve for new camera that sees >=3 known 3D points
What is the problem which has to be solved?
[projective.SfM.3D resconstruction, 2]
1. Problem is to estimate all Pi and Xj
2. 2mn knowns and 11m+3n-15DoF unknowns // For 2 views we need 7 points
What holds for the two camera case?
[projective.SfM.3D resconstruction, 2]
1. If fundamental matrix F is computable
2. Then two projection matrices can be estimated
How does it works?
[proj factorization.projective.SfM.3D resconstruction, 3]
1. If depth z is known then factorize D to estimate M and S
2. If M and S are known then solve for depth z
3. Use iterative method alternating between above two steps
How does it works?
[seq struture.projective.SfM.3D resconstruction, 2]
1. Initialize motion from two images with F and structure
2. For each additional view perform calibration, triangulation and bundle adjustment
How does it works?
[calibration.seq struture.projective.SfM.3D resconstruction]
Determine projective matrix via additional points
How does it works?
[triangulation.seq struture.projective.SfM.3D resconstruction]
Refine structure re and computing points
How does it works?
[bundle adjustement.seq struture.projective.SfM.3D resconstruction, 4]
1. Refine structure and motion
2. Non-linear method
3. Minimize mean-square reprojection error E(P,X) = Sumi=1mSumi=jnD(xij,PiXj)²
4. Seeks maximum likelihood assuming Gaussian noise
What is the characteristic?
[bundle adjustement.seq struture.projective.SfM.3D resconstruction]
Generally used as final step of any multi-view reconstruction algorithm with good initialization
How to solve projective ambiguity?
[projective.SfM.3D resconstruction, 3]
1. Do not solve, can already be useful answering lines intersecting with planes
2. Euclidean upgrade with new knowledge of calibration or markers
3. Self-calibration
How does it work?
[self-calibration.projective.SfM.3D resconstruction, 2]
1. Determine intrinsic parameters from uncalibrated images
2. Constraint that parameters of one camera remain fixed
What are the practical considerations?
[projective.SfM.3D resconstruction, 3]
1. Baseline
2. Apply RANSAC // Incorrect matches or moving objects
3. Estimation dependent on point location // Far points stable
What are the characteristics?
[baseline.prac considerations.projective.SfM.3D resconstruction, 3]
1. Small yields large depth error
2. Large yields difficult search problem
3. Track feautres between frames until sufficient
What are the guidelines?
[projective.SfM.3D resconstruction, 3]
1. Use calibrated cameras wherever possible
2. Perform SfM with two cameras
3. Any constraint on setup can be useful
What are possible ones?
[constraints.guidelines.projective.SfM.3D resconstruction, 3]
1. Square pixel, zero skew, fixed focal length
2. Fixed baseline in stereo SfM setup
3. Constrained camera motion on a ground plane
What holds?
[constraints.guidelines.projective.SfM.3D resconstruction]
Might need adapting algorithm
What are limitations?
[SfM.3D reconstruction, 3]
1. Difficult for large motion or field-of-view and depth variation
2. Limited camera calibration
3. Good feature trackers required
Name commercial SW packages?
[SfM.3D reconstruction, 7]
1. boujou
2. PFTrack
3. MatchMover putting virtual objects in videos
4. SynthEyes
5. Icarus
6. Voodoo camera tracker
7. Large-scale SfM by Flickr