Shape from Silhouettes

185
Shape from Silhouettes

Transcript of Shape from Silhouettes

Page 1: Shape from Silhouettes

Shape from Silhouettes

Page 2: Shape from Silhouettes

Schedule (tentative)

2

# date topic1 Sep.22 Introduction and geometry2 Sep.29 Invariant features 3 Oct.6 Camera models and calibration4 Oct.13 Multiple-view geometry5 Oct.20 Model fitting (RANSAC, EM, …)6 Oct.27 Stereo Matching7 Nov.3 2D Shape Matching 8 Nov.10 Segmentation9 Nov.17 Shape from Silhouettes10 Nov.24 Structure from motion11 Dec.1 Optical Flow 12 Dec.8 Tracking (Kalman, particle filter)13 Dec.15 Object category recognition 14 Dec.22 Specific object recognition

Page 3: Shape from Silhouettes

Shape from silhouettes

Automatic 3D Model Construction for Turn-Table Sequences, A.W. Fitzgibbon, G. Cross, and A. Zisserman, SMILE 1998

Slides fromLazebnik,MatusikYerexand others

Page 4: Shape from Silhouettes

What is shape from silhouette?

• The silhouette, or occluding contour of an object in an image contains some information about the 3D shape of the object.

• Given a single silhouette image of an object, we know that the 3D object lies inside the volume generated by back-projecting the silhouette area using the camera parameters.

Page 5: Shape from Silhouettes

What is shape from silhouette?• With multiple views of the

same object, we can intersect the generalized cones generated by each image, to build a volume which is guaranteed to contain the object.

• The limiting smallest volume obtainable in this way is known as the visual hull of the object.

Page 6: Shape from Silhouettes

Literature

• Theory – Laurentini ’94, Petitjean ’98, Laurentini ’99

• Solid cone intersection:– Baumgart ’74 (polyhedra), Szeliski ’93 (octrees)

• Image-based visual hulls– Matusik et al. ’00, Matusik et al. ’01

• Advanced modeling– Sullivan & Ponce ’98, Cross & Zisserman ’00,

Matusik et al. ’02• Applications

– Leibe et al. ’00, Lok ’01, Shlyakhter et al. ’01

Page 7: Shape from Silhouettes

Visual Hull: A 3D Example

Page 8: Shape from Silhouettes

Why use a Visual Hull?

• Can be computed robustly• Can be computed efficiently

- =

background +

foreground

background foreground

Page 9: Shape from Silhouettes

Computational complexity

• Intersection of many volumes can be slow• Simple polyhedron-polyhedron intersection

algorithms are inefficient

• To improve performance, most methods:– Quantize volumesand/or– Perform Intersection computations in 2D not 3D

Page 10: Shape from Silhouettes

Algorithms

• Standard voxel based method• Marching intersections• Image-based visual hulls• Exact polyhedral methods

Page 11: Shape from Silhouettes

Voxel based

– First the object space is split up into a 3D grid of voxels.

– Each voxel is intersected with each silhouette volume.

– Only voxels that lie inside all silhouette volumes remain part of the final shape.

Page 12: Shape from Silhouettes

Voxel based - example

Page 13: Shape from Silhouettes

Marching intersections

– The object space is again split up into a 3D grid.

– The grid that is used is made of 3 sets of rays, rather than voxels.

– Rays are aligned with the 3 axes, and store points of entry/exit into the volume

– Each silhouette cone can be converted to the marching intersections data structure.

– Then merging them is reduced to 1D intersections along each ray.

M. Tarini et al, Marching intersections, An efficient Approach to Shape from Silhouette

Page 14: Shape from Silhouettes

Marching intersections -example

Page 15: Shape from Silhouettes

Image based visual hulls

– This algorithm will only produce renderings of a visual hull from any view.

– Every pixel in the desired output image is back-projected to form a 3D ray.

– Each of those rays is intersected with each of the input silhouettes in the same way as the rays in the marching intersections method.

– Then a pixel in the output image is inside the new rendering of the visual hull if its ray has any segments left in it that are intersecting the visual hull. The depth of these pixels is known from the depth of the nearest entry point on the ray

Wojciech Matusik, Image Based Visual Hulls

Page 16: Shape from Silhouettes

Image based - example

Page 17: Shape from Silhouettes

Image-Based Computation

Reference 1

Reference 2

Desired

Page 18: Shape from Silhouettes

Observation

• Incremental computation along scanlines

Page 19: Shape from Silhouettes

IBVH Results

• Approximately constant computation per pixel per camera

• Parallelizes• Consistent with

input silhouettes

Page 20: Shape from Silhouettes

Video - Depth

Page 21: Shape from Silhouettes

Shading Algorithm

• A view-dependent strategy

Page 22: Shape from Silhouettes

Visibility Algorithm

Page 23: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Page 24: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Front-most Points

Page 25: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Visible

Page 26: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Coverage Mask

Page 27: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Coverage Mask

Visible

Page 28: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Coverage Mask

Visible

Page 29: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Coverage Mask

VisibleNot

Page 30: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Coverage Mask

Page 31: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Coverage Mask

Visible

Page 32: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Coverage Mask

Page 33: Shape from Silhouettes

Visibility in 2D

Desired viewReference view

Coverage Mask

VisibleNot

Page 34: Shape from Silhouettes

Video Shading

Page 35: Shape from Silhouettes

System

Server(4x 500 Mhz)

Camera Client

Camera Client

Camera Client

Camera Client

Page 36: Shape from Silhouettes

System

Server(4x 500 Mhz)

Camera Client

Camera Client

Camera Client

Camera Client

Trigger Signal

Page 37: Shape from Silhouettes

System

Server(4x 500 Mhz)

Camera Client

Camera Client

Camera Client

Camera Client

Page 38: Shape from Silhouettes

System

Server(4x 500 Mhz)

Camera Client

Camera Client

Camera Client

Camera Client

Compressed video

Page 39: Shape from Silhouettes

System

Server(4x 500 Mhz)

Camera Client

Camera Client

Camera Client

Camera Client

Intersection

Page 40: Shape from Silhouettes

System

Server(4x 500 Mhz)

Camera Client

Camera Client

Camera Client

Camera Client

Visibility

Page 41: Shape from Silhouettes

System

Server(4x 500 Mhz)

Camera Client

Camera Client

Camera Client

Camera Client

Shading

Page 42: Shape from Silhouettes

More IBVH Results

Page 43: Shape from Silhouettes

Exact Polyhedral Methods

– First, silhouette images are converted to polygons. (convex or non-convex, with holes allowed)

– Each edge is back projected to form a 3d polygon.

– Then each polygon is projected onto each image, and intersected with each silhouette in 2D.

– The resulting polygons are assembled to form the polyhedral visual hull

Wojciech Matusik, An Efficient Visual Hull Computation Algorithm

Page 44: Shape from Silhouettes

Exact Polyhedral - example

Page 45: Shape from Silhouettes

The Setup

Page 46: Shape from Silhouettes

How Do Visual Cones Intersect?

Page 47: Shape from Silhouettes

How Do Visual Cones Intersect?

Page 48: Shape from Silhouettes

How Do Visual Cones Intersect?

Page 49: Shape from Silhouettes

Frontier Point

How Do Visual Cones Intersect?

Page 50: Shape from Silhouettes

How Do Visual Cones Intersect?

Page 51: Shape from Silhouettes

Frontier PointsIntersection Points

How Do Visual Cones Intersect?

Page 52: Shape from Silhouettes

Cone Strips

How Do Visual Cones Intersect?

Page 53: Shape from Silhouettes

Motion from silhouettes?

• Circular motion• Camera networks

Page 54: Shape from Silhouettes

Circular motion

Mendonca et al.99

Page 55: Shape from Silhouettes

Circular motion

Mendonca et al.99

Page 56: Shape from Silhouettes

Circular motion

Mendonca et al.99

Page 57: Shape from Silhouettes

Camera networks

• 4 NTSC videos recorded by 4 computers for 4 minutes• Manually synchronized and calibrated using MoCap

system

Page 58: Shape from Silhouettes

Multiple View Geometry of Silhouettes

• Frontier Points• Epipolar Tangents

• Points on Silhouettes in 2 views do not correspond in general except for projected Frontier Points

• Always at least 2 extremal frontier points per silhouette• In general, correspondence only over two views

x1 x2

x’1x’2

0Fxx1

T

2=

0xFx1

T

2=′′

Page 59: Shape from Silhouettes

Camera Network Calibration from Silhouettes

• 7 or more corresponding frontier points needed to compute epipolar geometry for general motion

• Hard to find on single silhouette and possibly occluded

However, Visual Hull systems record many silhouettes!

(Sinha et al, CVPR’04)

Page 60: Shape from Silhouettes

Camera Network Calibration from Silhouettes

• If we know the epipoles, it is simple• Draw 3 outer epipolar tangents (from two

silhouettes)

• Compute corresponding line homography H-T (not unique)

• Epipolar Geometry F=[e]xH

Page 61: Shape from Silhouettes

Let’s just sample: RANSAC

• Repeat – Generate random hypothesis for epipoles – Compute epipolar geometry – Verify hypothesis and count inliers

until satisfying hypothesis • Refine hypothesis

– minimize symmetric transfer error of frontier points

– include more inliers

Until error and inliers stable

(use conservative threshold, e.g. 5 pixels, but abort early if not promising)

(use strict threshold, e.g. 1 pixels)

We’ll need an efficient representation as we are likely to have to do many trials!

Page 62: Shape from Silhouettes

A Compact Representation for SilhouettesTangent Envelopes

• Convex Hull of Silhouette.

• Tangency Points for a discrete set of angles.

• Approx. 500 bytes/frame. Hence a whole video sequences easily fits in memory.

• Tangency Computations are efficient.

Page 63: Shape from Silhouettes

Epipole Hypothesis and Computing H

Page 64: Shape from Silhouettes

Model Verification

Page 65: Shape from Silhouettes

Remarks

• RANSAC allows efficient exploration of 4D parameter space (i.e. epipole pair) while being robust to imperfect silhouettes

• Select key-frames to avoid having too many identical constraints (when silhouette is static)

Page 66: Shape from Silhouettes

Computed Fundamental Matrices

Page 67: Shape from Silhouettes

Computed Fundamental Matrices F computed directly (black epipolar lines) F after consistent 3D reconstruction (color)

Page 68: Shape from Silhouettes

Computed Fundamental Matrices F computed directly (black epipolar lines) F after consistent 3D reconstruction (color)

Page 69: Shape from Silhouettes

From epipolar geometry to full calibration

• Not trivial because only matches between two views• Approach similar to Levi et al. CVPR’03, but practical• Key step is to solve for camera triplet

• Assemble complete camera network• projective bundle, self-calibration, metric bundle

(also linear in v)

(v is 4-vector )

Assemble complete camera networkcalibration, metric bundlecalibration, metric bundle

Choose P3 corresponding to closest

Page 70: Shape from Silhouettes

Metric Cameras and Visual-Hull Reconstruction from 4 views

Final calibration quality comparable to explicit calibration procedure

Page 71: Shape from Silhouettes

Validation experiment:Reprojection of silhouettes

Page 72: Shape from Silhouettes

More experiments

Page 73: Shape from Silhouettes

More experiments

ecal=0.22 pixels ecal=0.23 pixelsecal=0.11 pixels

ecal=0.25 pixels ecal=0.22 pixels ecal=0.19 pixels

MPI Luca Ballan Starck&Hilton

INRIA INRIA MPI

More details: (Sinha and Pollefeys, IJCV2010)

Page 74: Shape from Silhouettes

• Unreliable silhouettes: do not make decision about their location

• Do sensor fusion: use all image information simultaneously

Shape from silhouettes

(Franco and Boyer, ICCV05)

Page 75: Shape from Silhouettes

Bayesian formulation

• Idea: we wish to find the content of the scene from images, as a probability grid

• Modeling the forward problem - explaining image observations given the grid state -is easy. It can be accounted for in a sensor model.

• Bayesian inference enables the formulation of our initial inverse problem from the sensor model

• Simplification for tractability: independent analysis and processing of voxels

Page 76: Shape from Silhouettes

Visualization

(Franco and Boyer, ICCV05)

Page 77: Shape from Silhouettes

Shape from silhouettes with occlusions?

Problem:

Page 78: Shape from Silhouettes

Occluder shape from incomplete silhouettes

• A simple deterministic scheme

Page 79: Shape from Silhouettes

To estimate occluder grid O• Treat voxels Ox independently• Only consider voxels Gi

X on line of sight

Page 80: Shape from Silhouettes

• Enable capture in real environment with occlusions– Robust inference of shape from partially occluded silhouettes– Inference of background shape from free-space & discrepancies

9 views, 30fps, 720by480, calibrated, about 1.2min.

Dynamic 3D capture in the real world (Guan et al., CVPR07)

Page 81: Shape from Silhouettes

Dynamic 3D capture in the real world

acquisition setup: 9 camcorders

example video frames

indirectly inferred background

(Guan et al., CVPR07)

Page 82: Shape from Silhouettes

Dynamic 3D capture in the real world

acquisition setup: 9 camcorders

example video frames

indirectly inferred background

(Guan et al., CVPR07)

Page 83: Shape from Silhouettes

Dynamic 3D capture in the real world (Guan et al., CVPR07)

Page 84: Shape from Silhouettes

3D tracking of multiple persons

• Separate foreground model for each person (GMM trained using EM)

• Random variable: (person 1, …, person n, unmodeled, background)

• Perform 3D analysis using all views, assume people consist of single connected component

• ‘Unmodeled’ foreground classcatches shadows, new persons, ...

(Guan et al., CVPR08)

catches shadows, new persons, ...

3D tracking of multiple persons

Page 85: Shape from Silhouettes

3D tracking of multiple persons

two-label multi-label multi-label + localization

multi-label + localization+ mutual occlusions

(Guan et al., CVPR08)

Page 86: Shape from Silhouettes

Space Carving

Page 87: Shape from Silhouettes

3D Reconstruction from Calibrated Images

Scene VolumeV

Input Images(Calibrated)

Goal: Determine transparency, radiance of points in V

Page 88: Shape from Silhouettes

Discrete Formulation: Voxel Coloring

Discretized Scene Volume

Input Images(Calibrated)

Scene Volume

Goal: Assign RGBA values to voxels in Vphoto-consistent with images

Page 89: Shape from Silhouettes

Complexity and Computability

Discretized Scene VolumeScene Volume

N voxelsC colorsN voxels3

All Scenes (CN3)Photo-Consistent

Scenes

TrueScene

Page 90: Shape from Silhouettes

Issues

Theoretical Questions

Identify class of all photo-consistent scenes

Practical QuestionsHow do we compute photo-consistent

models?

Identify class of all photo-consistent scenes

Page 91: Shape from Silhouettes

1. C=2 (silhouettes)Volume intersection [Martin 81, Szeliski 93]

2. C unconstrained, viewpoint constraintsVoxel coloring algorithm [Seitz & Dyer 97]

3. General CaseSpace carving [Kutulakos & Seitz 98]

Voxel Coloring Solutions

Page 92: Shape from Silhouettes

Reconstruction from Silhouettes (C = 2)

Binary Images

Approach: Backproject each silhouetteIntersect backprojected volumes

Page 93: Shape from Silhouettes

Volume Intersection

Reconstruction Contains the True SceneBut is generally not the same In the limit get visual hull

Complement of all lines that don’t intersect S

Page 94: Shape from Silhouettes

Voxel Algorithm for Volume Intersection

Color voxel black if on silhouette in every image

O(MN3), for M images, N3 voxelsDon’t have to search 2N3 possible scenes!

Page 95: Shape from Silhouettes

Properties of Volume Intersection

Pros– Easy to implement, fast– Accelerated via octrees [Szeliski 1993]

Cons– No concavities– Reconstruction is not photo-consistent– Requires identification of silhouettes

Page 96: Shape from Silhouettes

1. C=2 (silhouettes)Volume intersection [Martin 81, Szeliski 93]

2. C unconstrained, viewpoint constraintsVoxel coloring algorithm [Seitz & Dyer 97]

3. General CaseSpace carving [Kutulakos & Seitz 98]

Voxel Coloring Solutions

Page 97: Shape from Silhouettes

1. Choose voxel2. Project and correlate2. Project and correlate2. Project and correlate3. Color if consistent

Voxel Coloring Approach

Visibility Problem: in which images is each voxel visible?

Page 98: Shape from Silhouettes

The Global Visibility Problem

Inverse Visibilityknown images

Unknown Scene

Which points are visible in which images?

Known Scene

Forward Visibilityknown scene

Page 99: Shape from Silhouettes

Layers

Depth Ordering: visit occluders first!

SceneTraversal

Condition: depth order is view-independent

Page 100: Shape from Silhouettes

Panoramic Depth Ordering– Cameras oriented in many different

directions– Planar depth ordering does not apply

Page 101: Shape from Silhouettes

Panoramic Depth Ordering

Layers radiate outwards from cameras

Page 102: Shape from Silhouettes

Panoramic Layering

Layers radiate outwards from cameras

Page 103: Shape from Silhouettes

Panoramic Layering

Layers radiate outwards from cameras

Page 104: Shape from Silhouettes

Compatible Camera Configurations

Depth-Order ConstraintScene outside convex hull of camera centers

Outward-Lookingcameras inside scene

Inward-Lookingcameras above scene

Page 105: Shape from Silhouettes

Calibrated Image Acquisition

Calibrated Turntable

360° rotation (21 images)

Selected Dinosaur Images

Selected Flower Images

Page 106: Shape from Silhouettes

Voxel Coloring Results (Video)

Dinosaur Reconstruction72 K voxels colored7.6 M voxels tested7 min. to compute on a 250MHz SGI

Flower Reconstruction70 K voxels colored7.6 M voxels tested7 min. to compute on a 250MHz SGI

Page 107: Shape from Silhouettes

Limitations of Depth Ordering

A view-independent depth order may not exist

p q

Need more powerful general-case algorithms

Unconstrained camera positionsUnconstrained scene geometry/topology

Page 108: Shape from Silhouettes

1. C=2 (silhouettes)Volume intersection [Martin 81, Szeliski 93]

2. C unconstrained, viewpoint constraints

Voxel coloring algorithm [Seitz & Dyer 97]

3. General CaseSpace carving [Kutulakos & Seitz 98]

Voxel Coloring Solutions

Page 109: Shape from Silhouettes

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-consistentProject to visible input images

Page 110: Shape from Silhouettes

Convergence

Consistency PropertyThe resulting shape is photo-consistent

all inconsistent points are removed

Convergence PropertyCarving converges to a non-empty shape

a point on the true scene is never removed

V’

V

p

Page 111: Shape from Silhouettes

What is Computable?

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– Computable via provable Space Carving Algorithm

True Scene

V

Photo Hull

V

Page 112: Shape from Silhouettes

Space Carving Algorithm

The 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

Page 113: Shape from Silhouettes

Space Carving Algorithm

Step 1: Initialize V to volume containing true scene

Step 2: For every voxel on surface of Vtest photo-consistency of voxelif voxel is inconsistent, carve it

Step 3: Repeat Step 2 until all voxels consistent

Convergence: Always converges to a photo-consistent model (when all assumptions are met)

Good results on difficult real-world scenes

Page 114: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

True Scene Reconstruction

Page 115: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 116: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 117: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 118: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 119: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 120: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 121: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 122: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 123: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 124: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 125: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 126: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 127: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 128: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 129: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 130: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 131: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 132: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 133: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 134: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 135: Shape from Silhouettes

Multi-Pass Plane Sweep– Sweep plane in each of 6 principle directions– Consider cameras on only one side of plane– Repeat until convergence

Page 136: Shape from Silhouettes

Space Carving Results: African Violet

Input Image (1 of 45) Reconstruction

ReconstructionReconstruction

Page 137: Shape from Silhouettes

Space Carving Results: Hand

Input Image(1 of 100)

Views of Reconstruction

Page 138: Shape from Silhouettes

Other FeaturesCoarse-to-fine Reconstruction

• Represent scene as octree• Reconstruct low-res model first, then refine

Hardware-Acceleration• Use texture-mapping to compute voxel

projections• Process voxels an entire plane at a time

Limitations• Need to acquire calibrated images• Restriction to simple radiance models• Bias toward maximal (fat) reconstructions• Transparency not supported

Page 139: Shape from Silhouettes
Page 140: Shape from Silhouettes

voxel occluded

Probalistic Space Carving

Page 141: Shape from Silhouettes

Bayesian

The Master's Lodge Image Sequence

Page 142: Shape from Silhouettes

I Light Intensity

Object Color

N Normal vector

L Lighting vector

V View Vector

R Reflection vector

color of the light

Diffusecolor

Saturation point

0 1

1

1

Reflected Light in RGB color space

Dielectric Materials (such as plastic and glass)

C

Space-carving for specular surfaces(Yang, Pollefeys & Welch 2003)

Extended photoconsistency:

Page 143: Shape from Silhouettes

Experiment

Page 144: Shape from Silhouettes

Animated Views

Our result

Page 145: Shape from Silhouettes

Other Approaches

Level-Set Methods [Faugeras & Keriven 1998]Evolve implicit function by solving PDE’s

More recent level-set/PDE approaches by Pons et al., CVPR05, Gargallo et al. ICCV07, Kalin and Kremers ECCV08, …

Page 146: Shape from Silhouettes

Volumetric Graph cuts

ρ(x)

1. Outer surface2. Inner surface (at

constant offset)3. Discretize

middle volume4. Assign

photoconsistency cost to voxels

Slides from [Vogiatzis et al. CVPR2005]

Page 147: Shape from Silhouettes

Volumetric Graph cuts

Source

Sink

Slides from [Vogiatzis et al. CVPR2005]

Page 148: Shape from Silhouettes

Volumetric Graph cuts

Source

Sink

Cost of a cut ≈ ∫∫ ρ(x) dS

S

S

cut ⇔ 3D Surface S

[Boykov and Kolmogorov ICCV 2001]

Slides from [Vogiatzis et al. CVPR2005]

Page 149: Shape from Silhouettes

Volumetric Graph cuts

Source

Sink

Minimum cut ⇔ Minimal 3D Surface under photo-consistency metric

[Boykov and Kolmogorov ICCV 2001]

Slides from [Vogiatzis et al. CVPR2005]

Page 150: Shape from Silhouettes

Photo-consistency

• Occlusion

1. Get nearest point on outer surface

2. Use outer surface for occlusions2. Discard occluded views

Slides from [Vogiatzis et al. CVPR2005]

Page 151: Shape from Silhouettes

Photo-consistency

• Occlusion

Self occlusion

Slides from [Vogiatzis et al. CVPR2005]

Page 152: Shape from Silhouettes

Photo-consistency

• Occlusion

Self occlusion

Slides from [Vogiatzis et al. CVPR2005]

Page 153: Shape from Silhouettes

Photo-consistency

• Occlusion

N

threshold on angle between normal and viewing directionthreshold= ~60°

Slides from [Vogiatzis et al. CVPR2005]

Page 154: Shape from Silhouettes

Photo-consistency

• ScoreNormalised cross correlationUse all remaining cameras pair wiseAverage all NCC scores

Slides from [Vogiatzis et al. CVPR2005]

Page 155: Shape from Silhouettes

Photo-consistency

• ScoreAverage NCC = CVoxel score ρ = 1 - exp( -tan2[π(C-1)/4] / σ2 )

0 ≤ ρ ≤ 1σ = 0.05 in all experiments

Slides from [Vogiatzis et al. CVPR2005]

Page 156: Shape from Silhouettes

Example

Slides from [Vogiatzis et al. CVPR2005]

Page 157: Shape from Silhouettes

Example - Visual Hull

Slides from [Vogiatzis et al. CVPR2005]

Page 158: Shape from Silhouettes

Example - Slice

Slides from [Vogiatzis et al. CVPR2005]

Page 159: Shape from Silhouettes

Example - Slice with graphcut

Slides from [Vogiatzis et al. CVPR2005]

Page 160: Shape from Silhouettes

Example – 3D

Slides from [Vogiatzis et al. CVPR2005]

Page 161: Shape from Silhouettes

[Vogiatzis et al. PAMI2007]

Page 162: Shape from Silhouettes

Protrusion problem

• ‘Balooning’ force• favouring bigger volumes that fill the visual hull

L.D. Cohen and I. Cohen. Finite-element methods for active contour models and balloons for 2-d and 3-dimages. PAMI, 15(11):1131–1147, November 1993.

Slides from [Vogiatzis et al. CVPR2005]

Page 163: Shape from Silhouettes

Protrusion problem

• ‘Balooning’ force– favouring bigger volumes that fill the

visual hull

L.D. Cohen and I. Cohen. Finite-element methods for active contour models and balloons for 2-d and 3-d images. PAMI, 15(11):1131–1147, November 1993.

∫∫ ρ(x) dS - λ ∫∫∫ dV

S V

Slides from [Vogiatzis et al. CVPR2005]

Page 164: Shape from Silhouettes

Protrusion problem

Slides from [Vogiatzis et al. CVPR2005]

Page 165: Shape from Silhouettes

Protrusion problem

Slides from [Vogiatzis et al. CVPR2005]

Page 166: Shape from Silhouettes

wij

SOURCE

wb

wb

Graph

h

ji

wb = λh3

wij = 4/3πh2 * (ρi+ρj)/2[Boykov and Kolmogorov ICCV 2001]

Slides from [Vogiatzis et al. CVPR2005]

Page 167: Shape from Silhouettes

168

Address Memory and Computational Overhead

(Sinha et. al. 2007)

– Compute Photo-consistency only where it is needed– Detect Interior Pockets using Visibility

Graph-cut on Dual of Adaptive Tetrahedral Mesh

Page 168: Shape from Silhouettes

169

Adaptive Mesh Refinement

Cell (Tetrahedron)

Face (triangle)

Unknown surface

Page 169: Shape from Silhouettes

170

Adaptive Mesh Refinement

Detect crossing facesby testing photo-consistency

of points sampled on the faces

Page 170: Shape from Silhouettes

171

Adaptive Mesh Refinement

If none of the faces of a cell are crossing faces,

that cell cannot any surface element.

Page 171: Shape from Silhouettes

172

Adaptive Mesh Refinement

• Prune the Inactive cells• Refine the Active cells

Page 172: Shape from Silhouettes

173

Mesh with Photo-consistency

Final Mesh shown with

Photo-consistency

Page 173: Shape from Silhouettes

174

Detect Interior

Use Visibility of the Photo-consistent Patches

Also proposed by Hernandez et. al. 2007, Labatut et.

Page 174: Shape from Silhouettes

175

First Graph-Cut

• Compute the Min-cutSource

Sink

Solution re-projected into

the original silhouette

Page 175: Shape from Silhouettes

176

Silhouette Constraints

Every such ray must meet the

real surface at least once

Page 176: Shape from Silhouettes

177

Silhouette Constraints

• Test photo-consistency

along the ray

• Robustly find an interior cell

Photo-consistency

Surface

Page 177: Shape from Silhouettes

178

Source

Sink

Final Graph-Cut

Page 178: Shape from Silhouettes

179

Final Graph-Cut

Before After

Page 179: Shape from Silhouettes

180

Results

After graph-cut optimization

After local refinement

36 images

2000 x 3000 pixels

Page 180: Shape from Silhouettes

20 images

Running Time:

Graph Construction : 25 mins

Graph-cut : 5 mins

Local Refinement : 20 mins

20 images

640 x 480 pixels

Page 181: Shape from Silhouettes

182

36images

36 images

Page 182: Shape from Silhouettes

183

48 images 47 images

24 images

Page 183: Shape from Silhouettes

• Optimize photo-consistency while exactly enforcing silhouette constraint

Photo-consistency + silhouettes[Sinha and Pollefeys ICCV05]

Page 184: Shape from Silhouettes

Interesting comparison of multi-view stereo approaches

http://vision.middlebury.edu/mview/

Page 185: Shape from Silhouettes

186

Next week:Structure from Motion