lecture 12: structure from motion cs6670: computer vision noah snavely
Post on 19-Dec-2015
233 views
TRANSCRIPT
![Page 1: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/1.jpg)
Lecture 12: Structure from motion
CS6670: Computer VisionNoah Snavely
![Page 2: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/2.jpg)
Lecture 13: Multi-view stereo
CS6670: Computer VisionNoah Snavely
![Page 3: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/3.jpg)
Announcements
• Project 2 voting open later today
• Final project page will be released after class
• Project 3 out soon
• Quiz 2 on Thursday, beginning of class
![Page 4: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/4.jpg)
Readings
• Szeliski, Chapter 11.6
![Page 5: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/5.jpg)
Fundamental matrix – calibrated case
0
{the Essential matrix
![Page 6: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/6.jpg)
Fundamental matrix – uncalibrated case
0
the Fundamental matrix
![Page 7: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/7.jpg)
Properties of the Fundamental Matrix
• is the epipolar line associated with
• is the epipolar line associated with
• and
• is rank 2
• How many parameters does F have?7
T
![Page 8: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/8.jpg)
How many parameters?
• Matrix has 9 entries– -1 due to scale invariance– -1 due to rank 2 constraint
• 7 parameters in total
8
![Page 9: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/9.jpg)
Rectified case
![Page 10: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/10.jpg)
Rectified case
if
![Page 11: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/11.jpg)
Stereo image rectification
• reproject image planes onto a common• plane parallel to the line between optical
centers• pixel motion is horizontal after this transformation• two homographies (3x3 transform), one for each input
image reprojection C. Loop and Z. Zhang. Computing Rectifying Homographies for Stereo
Vision. IEEE Conf. Computer Vision and Pattern Recognition, 1999.
![Page 12: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/12.jpg)
Rectifying homographies
• Idea: compute two homographiesand
such that
![Page 13: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/13.jpg)
Rectifying homographies
![Page 14: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/14.jpg)
Estimating F
• If we don’t know K1, K2, R, or t, can we estimate F?
• Yes, given enough correspondences
![Page 15: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/15.jpg)
Estimating F – 8-point algorithm
• The fundamental matrix F is defined by
for any pair of matches p and q in two images.
• Let p=(u,v,1)T and q=(u’,v’,1)T,
333231
232221
131211
fff
fff
fff
F
each match gives a linear equation
0'''''' 333231232221131211 fvfuffvfvvfuvfufvufuu
![Page 16: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/16.jpg)
8-point algorithm
0
1´´´´´´
1´´´´´´
1´´´´´´
33
32
31
23
22
21
13
12
11
222222222222
111111111111
f
f
f
f
f
f
f
f
f
vuvvvvuuuvuu
vuvvvvuuuvuu
vuvvvvuuuvuu
nnnnnnnnnnnn
• In reality, instead of solving , we seek unit vector f that minimizesleast eigenvector of • need at least 8-correspondences
0Af2
Af
AA
![Page 17: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/17.jpg)
8-point algorithm• To enforce that F is rank 2, we replace F with F’ that
minimizes subject to the rank constraint. 'FF
• This is achieved by SVD. Let , where
, let
then is the solution.
VUF Σ
3
2
1
00
00
00
Σ
000
00
00
Σ' 2
1
VUF Σ''
![Page 18: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/18.jpg)
8-point algorithm% Build the constraint matrix A = [x2(1,:)‘.*x1(1,:)' x2(1,:)'.*x1(2,:)' x2(1,:)' ... x2(2,:)'.*x1(1,:)' x2(2,:)'.*x1(2,:)' x2(2,:)' ... x1(1,:)' x1(2,:)' ones(npts,1) ]; [U,D,V] = svd(A); % Extract fundamental matrix from the column of V % corresponding to the smallest singular value. F = reshape(V(:,9),3,3)'; % Enforce rank2 constraint [U,D,V] = svd(F); F = U*diag([D(1,1) D(2,2) 0])*V';
![Page 19: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/19.jpg)
8-point algorithm
• Pros: – linear, easy to implement and fast
• Cons: – minimizes an algebraic, rather than geometric
error– susceptible to noise
![Page 20: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/20.jpg)
0
1´´´´´´
1´´´´´´
1´´´´´´
33
32
31
23
22
21
13
12
11
222222222222
111111111111
f
f
f
f
f
f
f
f
f
vuvvvvuuuvuu
vuvvvvuuuvuu
vuvvvvuuuvuu
nnnnnnnnnnnn
Problem with 8-point algorithm
~10000 ~10000 ~10000 ~10000~100 ~100 1~100 ~100
!Orders of magnitude differencebetween column of data matrix least-squares yields poor results
![Page 21: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/21.jpg)
Normalized 8-point algorithm
(0,0)
(700,500)
(700,0)
(0,500)
(1,-1)
(0,0)
(1,1)(-1,1)
(-1,-1)
1
1500
2
10700
2
normalized least squares yields good resultsTransform image to ~[-1,1]x[-1,1]
![Page 22: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/22.jpg)
Normalized 8-point algorithm
A = [x2(1,:)‘.*x1(1,:)' x2(1,:)'.*x1(2,:)' x2(1,:)' ... x2(2,:)'.*x1(1,:)' x2(2,:)'.*x1(2,:)' x2(2,:)' ... x1(1,:)' x1(2,:)' ones(npts,1) ]; [U,D,V] = svd(A); F = reshape(V(:,9),3,3)'; [U,D,V] = svd(F); F = U*diag([D(1,1) D(2,2) 0])*V'; % Denormalise F = T2'*F*T1;
[x1, T1] = normalise2dpts(x1);[x2, T2] = normalise2dpts(x2);
![Page 23: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/23.jpg)
Results (ground truth)
![Page 24: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/24.jpg)
Results (8-point algorithm)
![Page 25: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/25.jpg)
Results (normalized 8-point algorithm)
![Page 26: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/26.jpg)
What about more than two views?
• The geometry of three views is described by a 3 x 3 x 3 tensor called the trifocal tensor
• The geometry of four views is described by a 3 x 3 x 3 x 3 tensor called the quadrifocal tensor
• After this it starts to get complicated…
• No known closed-form solution to the general structure from motion problem
![Page 27: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/27.jpg)
Questions?
![Page 28: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/28.jpg)
Multi-view stereo
StereoMulti-view stereo
![Page 29: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/29.jpg)
Multi-view Stereo
CMU’s 3D Room
Point Grey’s Bumblebee XB3
Point Grey’s ProFusion 25
![Page 30: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/30.jpg)
Multi-view Stereo
![Page 31: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/31.jpg)
Multi-view Stereo
Figures by Carlos Hernandez
Input: calibrated images from several viewpointsOutput: 3D object model
![Page 32: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/32.jpg)
Fua Narayanan, Rander, KanadeSeitz, Dyer
1995 1997 1998Faugeras, Keriven
1998
Hernandez, Schmitt Pons, Keriven, Faugeras Furukawa, Ponce
2004 2005 2006Goesele et al.
2007
![Page 33: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/33.jpg)
Stereo: basic ideaerror
depth
![Page 34: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/34.jpg)
width of a pixel
Choosing the stereo baseline
What’s the optimal baseline?– Too small: large depth error– Too large: difficult search problem
Large BaselineLarge Baseline Small BaselineSmall Baseline
all of thesepoints projectto the same pair of pixels
![Page 35: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/35.jpg)
The Effect of Baseline on Depth Estimation
![Page 36: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/36.jpg)
z
width of a pixel
width of a pixel
z
pixel matching score
![Page 37: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/37.jpg)
![Page 38: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/38.jpg)
Multibaseline Stereo
Basic Approach– Choose a reference view– Use your favorite stereo algorithm BUT
• replace two-view SSD with SSSD over all baselines
Limitations– Only gives a depth map (not an “object model”)– Won’t work for widely distributed views:
![Page 39: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/39.jpg)
Some Solutions• Match only nearby photos [Narayanan 98]
• Use NCC instead of SSD,Ignore NCC values > threshold [Hernandez & Schmitt 03]
Problem: visibility
![Page 40: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/40.jpg)
Popular matching scores• SSD (Sum Squared Distance)
• NCC (Normalized Cross Correlation)
– where
– what advantages might NCC have?
![Page 41: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/41.jpg)
The visibility problem
Inverse Visibilityknown images
Unknown SceneUnknown Scene
Which points are visible in which images?
Known SceneKnown Scene
Forward Visibilityknown scene
![Page 42: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/42.jpg)
Volumetric stereo
Scene VolumeScene Volume
VV
Input ImagesInput Images
(Calibrated)(Calibrated)
Goal: Goal: Determine occupancy, “color” of points in VDetermine occupancy, “color” of points in V
![Page 43: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/43.jpg)
Discrete formulation: Voxel Coloring
Discretized Discretized
Scene VolumeScene Volume
Input ImagesInput Images
(Calibrated)(Calibrated)
Goal: Assign RGBA values to voxels in Vphoto-consistent with images
![Page 44: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/44.jpg)
Complexity and computability
Discretized Discretized
Scene VolumeScene Volume
N voxelsN voxels
C colorsC colors
33
All Scenes (CN3)Photo-Consistent
Scenes
TrueScene
![Page 45: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/45.jpg)
Issues
Theoretical Questions• Identify class of all photo-consistent scenes
Practical Questions• How do we compute photo-consistent models?
![Page 46: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/46.jpg)
1. C=2 (shape from silhouettes)• Volume intersection [Baumgart 1974]
> For more info: Rapid octree construction from image sequences. R. Szeliski, CVGIP: Image Understanding, 58(1):23-32, July 1993. (this paper is apparently not available online) or
> W. Matusik, C. Buehler, R. Raskar, L. McMillan, and S. J. Gortler, Image-Based Visual Hulls, SIGGRAPH 2000 ( pdf 1.6 MB )
2. C unconstrained, viewpoint constraints• Voxel coloring algorithm [Seitz & Dyer 97]
3. General Case• Space carving [Kutulakos & Seitz 98]
Voxel coloring solutions
![Page 47: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/47.jpg)
Reconstruction from Silhouettes (C = 2)
Binary ImagesBinary Images
Approach: • Backproject each silhouette
• Intersect backprojected volumes
![Page 48: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/48.jpg)
Volume intersection
Reconstruction Contains the True Scene• But is generally not the same
• In the limit (all views) get visual hull > Complement of all lines that don’t intersect S
![Page 49: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/49.jpg)
Voxel algorithm for volume intersection
Color voxel black if on silhouette in every image• for M images, N3 voxels
• Don’t have to search 2N3 possible scenes!
O( ? ),
![Page 50: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/50.jpg)
Properties of Volume Intersection
Pros• Easy to implement, fast
• Accelerated via octrees [Szeliski 1993] or interval techniques [Matusik 2000]
Cons• No concavities
• Reconstruction is not photo-consistent
• Requires identification of silhouettes
![Page 51: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/51.jpg)
Voxel Coloring Solutions
1. C=2 (silhouettes)• Volume intersection [Baumgart 1974]
2. C unconstrained, viewpoint constraints• Voxel coloring algorithm [Seitz & Dyer 97]
> For more info: http://www.cs.washington.edu/homes/seitz/papers/ijcv99.pdf
3. General Case• Space carving [Kutulakos & Seitz 98]
![Page 52: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/52.jpg)
1. Choose voxel1. Choose voxel2. Project and correlate2. Project and correlate
3.3. Color if consistentColor if consistent(standard deviation of pixel
colors below threshold)
Voxel Coloring Approach
Visibility Problem: Visibility Problem: in which images is each voxel visible?in which images is each voxel visible?
![Page 53: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/53.jpg)
LayersLayers
Depth Ordering: visit occluders first!
SceneScene
TraversalTraversal
Condition: Condition: depth order is the depth order is the same for all input viewssame for all input views
![Page 54: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/54.jpg)
Panoramic Depth Ordering
• Cameras oriented in many different directions
• Planar depth ordering does not apply
![Page 55: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/55.jpg)
Panoramic Depth Ordering
Layers radiate outwards from camerasLayers radiate outwards from cameras
![Page 56: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/56.jpg)
Panoramic Layering
Layers radiate outwards from camerasLayers radiate outwards from cameras
![Page 57: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/57.jpg)
Panoramic Layering
Layers radiate outwards from camerasLayers radiate outwards from cameras
![Page 58: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/58.jpg)
Compatible Camera Configurations
Depth-Order Constraint• Scene outside convex hull of camera centers
Outward-Lookingcameras inside scene
Inward-Lookingcameras above scene
![Page 59: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/59.jpg)
Calibrated Image Acquisition
Calibrated Turntable360° rotation (21 images)
Selected Dinosaur ImagesSelected Dinosaur Images
Selected Flower ImagesSelected Flower Images
![Page 60: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/60.jpg)
Voxel Coloring Results
Dinosaur ReconstructionDinosaur Reconstruction72 K voxels colored72 K voxels colored7.6 M voxels tested7.6 M voxels tested7 min. to compute 7 min. to compute on a 250MHz SGIon a 250MHz SGI
Flower ReconstructionFlower Reconstruction70 K voxels colored70 K voxels colored7.6 M voxels tested7.6 M voxels tested7 min. to compute 7 min. to compute on a 250MHz SGIon a 250MHz SGI
![Page 61: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/61.jpg)
Limitations of Depth Ordering
A view-independent depth order may not exist
p q
Need more powerful general-case algorithms• Unconstrained camera positions
• Unconstrained scene geometry/topology
![Page 62: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/62.jpg)
Voxel Coloring Solutions
1. C=2 (silhouettes)• Volume intersection [Baumgart 1974]
2. C unconstrained, viewpoint constraints• Voxel coloring algorithm [Seitz & Dyer 97]
3. General Case• Space carving [Kutulakos & Seitz 98]
> For more info: http://www.cs.washington.edu/homes/seitz/papers/kutu-ijcv00.pdf
![Page 63: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/63.jpg)
Space Carving Algorithm
Space Carving Algorithm
Image 1 Image N
…...
• Initialize to a volume V containing the true scene
• Repeat until convergence
• Choose a voxel on the current surface
• Carve if not photo-consistent
• Project to visible input images
![Page 64: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/64.jpg)
Which shape do you get?
The Photo Hull is the UNION of all photo-consistent scenes in V• It is a photo-consistent scene reconstruction
• Tightest possible bound on the true scene
True SceneTrue Scene
VV
Photo HullPhoto Hull
VV
![Page 65: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/65.jpg)
Space Carving Algorithm
Basic algorithm is unwieldy• Complex update procedure
Alternative: Multi-Pass Plane Sweep• Efficient, can use texture-mapping hardware
• Converges quickly in practice
• Easy to implement
Results Algorithm
![Page 66: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/66.jpg)
Space Carving Results: African Violet
Input Image (1 of 45) Reconstruction
ReconstructionReconstruction
![Page 67: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/67.jpg)
Space Carving Results: Hand
Input Image(1 of 100)
Views of Reconstruction
![Page 68: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/68.jpg)
Properties of Space Carving
Pros• Voxel coloring version is easy to implement, fast
• Photo-consistent results
• No smoothness prior
Cons• Bulging
• No smoothness prior
![Page 69: Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely](https://reader037.vdocuments.mx/reader037/viewer/2022102907/56649d385503460f94a11af0/html5/thumbnails/69.jpg)
ImprovementsUnconstrained camera viewpoints
– Space carving [Kutulakos & Seitz 98]
Evolving a surface– Level sets [Faugeras & Keriven 98]– More recent work by Pons et al.
Global optimization– Graph cut approaches
• [Kolmogoriv & Zabih, ECCV 2002]• [Vogiatzis et al., PAMI 2007]
Modeling shiny (and other reflective) surfaces– e.g., Zickler et al., Helmholtz Stereopsis
See today’s reading for an overview of the state of the art