multiview reconstruction

34
Multiview Reconstruction Multiview Reconstruction

Upload: heriberto-noboa

Post on 30-Dec-2015

43 views

Category:

Documents


0 download

DESCRIPTION

Multiview Reconstruction. Why More Than 2 Views?. Baseline Too short – low accuracy Too long – matching becomes hard. Camera 1. Camera 2. Camera 3. Why More Than 2 Views?. Ambiguity with 2 views. Trinocular Stereo. Straightforward approach to eliminate bad correspondences - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Multiview Reconstruction

Multiview ReconstructionMultiview Reconstruction

Page 2: Multiview Reconstruction

Why More Than 2 Views?Why More Than 2 Views?

• BaselineBaseline– Too short – low accuracyToo short – low accuracy

– Too long – matching becomes hardToo long – matching becomes hard

Page 3: Multiview Reconstruction

Why More Than 2 Views?Why More Than 2 Views?

• Ambiguity with 2 viewsAmbiguity with 2 views

Camera 1Camera 1 Camera 2Camera 2Camera 3Camera 3

Page 4: Multiview Reconstruction

Trinocular StereoTrinocular Stereo

• Straightforward approach to eliminate bad Straightforward approach to eliminate bad correspondencescorrespondences– Pick 2 views, find correspondencesPick 2 views, find correspondences

– For each matching pair, reconstruct 3D pointFor each matching pair, reconstruct 3D point

– Project point into 3Project point into 3rdrd image image

– If can’t find correspondence near predicted If can’t find correspondence near predicted location, rejectlocation, reject

Page 5: Multiview Reconstruction

Volumetric Multiview ApproachesVolumetric Multiview Approaches

• Goal: find a model consistent with imagesGoal: find a model consistent with images

• ““Model-centric” (vs. image-centric)Model-centric” (vs. image-centric)

• Typically use discretized volume (voxel Typically use discretized volume (voxel grid)grid)

• For each voxel, compute occupied / freeFor each voxel, compute occupied / free(for some algorithms, also color, etc.)(for some algorithms, also color, etc.)

Page 6: Multiview Reconstruction

Photo ConsistencyPhoto Consistency

• Result: not necessarily correct sceneResult: not necessarily correct scene

• Many scenes produce the same imagesMany scenes produce the same images

All scenesAll scenes

Photo-consistent scenesPhoto-consistent scenes

True sceneTrue scene ReconstructedReconstructedscenescene

Page 7: Multiview Reconstruction

Silhouette CarvingSilhouette Carving

• Find silhouettes in all imagesFind silhouettes in all images

• Exact version:Exact version:– Back-project all silhouettes, find intersectionBack-project all silhouettes, find intersection

Binary ImagesBinary Images

Page 8: Multiview Reconstruction

Silhouette CarvingSilhouette Carving

• Find silhouettes in all imagesFind silhouettes in all images

• Exact version:Exact version:– Back-project all silhouettes, find intersectionBack-project all silhouettes, find intersection

Page 9: Multiview Reconstruction

Silhouette CarvingSilhouette Carving

• Discrete version:Discrete version:– Loop over all voxels in some volumeLoop over all voxels in some volume

– If projection into images lies inside all If projection into images lies inside all silhouettes, mark as occupiedsilhouettes, mark as occupied

– Else mark as freeElse mark as free

Page 10: Multiview Reconstruction

Silhouette CarvingSilhouette Carving

Page 11: Multiview Reconstruction

Voxel ColoringVoxel Coloring

• Seitz and Dyer, 1997Seitz and Dyer, 1997

• In addition to free / occupied, store colorIn addition to free / occupied, store colorat each voxelat each voxel

• Explicitly accounts for occlusionExplicitly accounts for occlusion

Page 12: Multiview Reconstruction

Voxel ColoringVoxel Coloring

• Basic idea: sweep through a voxel gridBasic idea: sweep through a voxel grid– Project each voxel into each image Project each voxel into each image in whichin which

it is visibleit is visible

– If colors in images agree, mark voxel with colorIf colors in images agree, mark voxel with color

– Else, mark voxel as emptyElse, mark voxel as empty

• Agreement of colors based on comparing Agreement of colors based on comparing standard deviation of colors to thresholdstandard deviation of colors to threshold

Page 13: Multiview Reconstruction

Voxel Coloring and OcclusionVoxel Coloring and Occlusion

• Problem: which voxels are visible?Problem: which voxels are visible?

• Solution, part 1: constrain camera viewsSolution, part 1: constrain camera views– When a voxel is considered, necessary occlusion When a voxel is considered, necessary occlusion

information must be availableinformation must be available

– Sweep occluders before occludeesSweep occluders before occludees

– Constrain camera positions to allow this sweepConstrain camera positions to allow this sweep

Page 14: Multiview Reconstruction

Voxel Coloring Sweep OrderVoxel Coloring Sweep Order

LayersLayers

SceneScene

TraversalTraversal

SeitzSeitz

Page 15: Multiview Reconstruction

Voxel Coloring Camera PositionsVoxel Coloring Camera Positions

Inward-lookingCameras above scene

Outward-lookingCameras inside scene

SeitzSeitz

Page 16: Multiview Reconstruction

Panoramic Depth OrderingPanoramic Depth Ordering

• Cameras oriented in many different directionsCameras oriented in many different directions

• Planar depth ordering does not applyPlanar depth ordering does not apply

SeitzSeitz

Page 17: Multiview Reconstruction

Panoramic Depth OrderingPanoramic Depth Ordering

Layers radiate outwards from camerasLayers radiate outwards from camerasSeitzSeitz

Page 18: Multiview Reconstruction

Panoramic Depth OrderingPanoramic Depth Ordering

SeitzSeitzLayers radiate outwards from camerasLayers radiate outwards from cameras

Page 19: Multiview Reconstruction

Panoramic Depth OrderingPanoramic Depth Ordering

SeitzSeitzLayers radiate outwards from camerasLayers radiate outwards from cameras

Page 20: Multiview Reconstruction

Voxel Coloring and OcclusionVoxel Coloring and Occlusion

• Solution, part 2: per-image mask of which Solution, part 2: per-image mask of which pixels have been usedpixels have been used– Each pixel only used onceEach pixel only used once

– Mask filled in as sweep progressesMask filled in as sweep progresses

Page 21: Multiview Reconstruction

Image AcquisitionImage Acquisition

•Calibrated TurntableCalibrated Turntable

•360° rotation (21 images)360° rotation (21 images)

Selected Dinosaur ImagesSelected Dinosaur Images

Selected Flower ImagesSelected Flower Images SeitzSeitz

Page 22: Multiview Reconstruction

Voxel Coloring ResultsVoxel 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

SeitzSeitz

Page 23: Multiview Reconstruction

Voxel Coloring ResultsVoxel Coloring Results

• With texture: good resultsWith texture: good results

• Without texture: regions tend to “bulge Without texture: regions tend to “bulge out”out”– Voxels colored at earliest time at which Voxels colored at earliest time at which

projection into images is consistentprojection into images is consistent

– Model good for re-rendering: image will look Model good for re-rendering: image will look correct for viewpoints near the original onescorrect for viewpoints near the original ones

Page 24: Multiview Reconstruction

Limitations of Voxel ColoringLimitations of Voxel Coloring

• A view-independent depth orderA view-independent depth ordermay not existmay not exist

• Need more powerful general-case Need more powerful general-case algorithmsalgorithms– Unconstrained camera positionsUnconstrained camera positions

– Unconstrained scene geometry/topologyUnconstrained scene geometry/topology

pp qq

Page 25: Multiview Reconstruction

Space CarvingSpace Carving

Image 1Image 1 Image NImage N

……......

Initialize to a volume V containing the true sceneInitialize to a volume V containing the true scene

Repeat until convergenceRepeat until convergence

Choose a voxel on the current surfaceChoose a voxel on the current surface

Carve if not photo-consistentCarve if not photo-consistentProject to visible input imagesProject to visible input images

Kutulakos & SeitzKutulakos & Seitz

Page 26: Multiview Reconstruction

Multi-Pass Plane SweepMulti-Pass Plane Sweep

• Faster alternative:Faster alternative:– Sweep plane in each of 6 principal directionsSweep plane in each of 6 principal directions

– Consider cameras on only one side of planeConsider cameras on only one side of plane

– Repeat until convergenceRepeat until convergence

Page 27: Multiview Reconstruction

Multi-Pass Plane SweepMulti-Pass Plane Sweep

True Scene Reconstruction

Page 28: Multiview Reconstruction

Multi-Pass Plane SweepMulti-Pass Plane Sweep

Page 29: Multiview Reconstruction

Multi-Pass Plane SweepMulti-Pass Plane Sweep

Page 30: Multiview Reconstruction

Multi-Pass Plane SweepMulti-Pass Plane Sweep

Page 31: Multiview Reconstruction

Multi-Pass Plane SweepMulti-Pass Plane Sweep

Page 32: Multiview Reconstruction

Multi-Pass Plane SweepMulti-Pass Plane Sweep

Page 33: Multiview Reconstruction

Space Carving Results: African Space Carving Results: African VioletViolet

Input Image (1 of 45) Input Image (1 of 45) ReconstructionReconstruction

ReconstructionReconstructionReconstructionReconstruction

Page 34: Multiview Reconstruction

Space Carving Results: HandSpace Carving Results: Hand

Input ImageInput Image(1 of 100) (1 of 100)

Views of ReconstructionViews of Reconstruction