15-463: computational...

57
Multiple View Geometry 15-463: Computational Photography Alexei Efros, CMU, Fall 2007 © Martin Quinn …with a lot of slides stolen from Steve Seitz and Jianbo Shi

Upload: others

Post on 19-Mar-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Multiple View Geometry

15-463: Computational PhotographyAlexei Efros, CMU, Fall 2007

© Martin Quinn

…with a lot of slides stolen from Steve Seitz and Jianbo Shi

Page 2: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Our Goal

Page 3: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

The Plenoptic Function

P(θ,φ,λ,t,VX ,VY ,VZ )

How can we compress this into something manageable?

Page 4: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo ReconstructionThe Stereo Problem

• Shape from two (or more) images• Biological motivation

knownknowncameracamera

viewpointsviewpoints

Page 5: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Why do we have two eyes?

Cyclope vs. Odysseus

Page 6: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

1. Two is better than one

Page 7: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

2. Depth from Convergence

Human performance: up to 6-8 feet

Page 8: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

3. Depth from binocular disparity

Sign and magnitude of disparity

P: converging point

C: object nearer projects to the outside of the P, disparity = +

F: object farther projects to the inside of the P, disparity = -

Page 9: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification
Page 10: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo

scene pointscene point

optical centeroptical center

image planeimage plane

Page 11: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo

Basic Principle: Triangulation• Gives reconstruction as intersection of two rays• Requires

– calibration– point correspondence

Page 12: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo correspondenceDetermine Pixel Correspondence

• Pairs of points that correspond to same scene point

Epipolar Constraint• Reduces correspondence problem to 1D search along conjugate

epipolar lines

epipolar plane epipolar lineepipolar lineepipolar lineepipolar line

Page 13: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo image rectification

Page 14: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo image rectification

Image Reprojection• reproject image planes onto common

plane parallel to line between optical centers• a homography (3x3 transform)

applied to both input images• pixel motion is horizontal after this transformation• C. Loop and Z. Zhang. Computing Rectifying Homographies for

Stereo Vision. IEEE Conf. Computer Vision and Pattern Recognition, 1999.

Page 15: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo Rectification

Page 16: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Your basic stereo algorithm

For each epipolar lineFor each pixel in the left image

• compare with every pixel on same epipolar line in right image

• pick pixel with minimum match cost

Improvement: match windows• This should look familar...• Can use Lukas-Kanade or discrete search (latter more common)

Page 17: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Window size

• Smaller window+–

• Larger window+–

W = 3 W = 20

Effect of window size

Page 18: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo results

Ground truthScene

• Data from University of Tsukuba• Similar results on other images without ground truth

Page 19: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Results with window search

Window-based matching(best window size)

Ground truth

Page 20: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Better methods exist...

State of the art methodBoykov et al., Fast Approximate Energy Minimization via Graph Cuts,

International Conference on Computer Vision, September 1999.

Ground truth

Page 21: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Depth from disparity

f

x x’

baseline

z

C C’

X

f

input image (1 of 2)[Szeliski & Kang ‘95]

depth map 3D rendering

Page 22: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

• Camera calibration errors• Poor image resolution• Occlusions• Violations of brightness constancy (specular reflections)• Large motions• Low-contrast image regions

Stereo reconstruction pipelineSteps

• Calibrate cameras• Rectify images• Compute disparity• Estimate depth

What will cause errors?

Page 23: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Stereo matchingNeed texture for matching

Julesz-style Random Dot Stereogram

Page 24: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Active stereo with structured light

Project “structured” light patterns onto the object• simplifies the correspondence problem

camera 2

camera 1

projector

camera 1

projector

Li Zhang’s one-shot stereo

Page 25: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Active stereo with structured light

Page 26: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Laser scanning

Optical triangulation• Project a single stripe of laser light• Scan it across the surface of the object• This is a very precise version of structured light scanning

Direction of travel

Object

CCD

CCD image plane

LaserCylindrical lens

Laser sheet

Digital Michelangelo Projecthttp://graphics.stanford.edu/projects/mich/

Page 27: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Portable 3D laser scanner (this one by Minolta)

Page 28: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Real-time stereo

Used for robot navigation (and other tasks)• Several software-based real-time stereo techniques have

been developed (most based on simple discrete search)

Nomad robot searches for meteorites in Antarticahttp://www.frc.ri.cmu.edu/projects/meteorobot/index.html

Page 29: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Volumetric Stereo

Scene VolumeScene VolumeVV

Input ImagesInput Images(Calibrated)(Calibrated)

Goal: Goal: Determine transparency, radiance of points in VDetermine transparency, radiance of points in V

Page 30: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

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 31: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Complexity and Computability

Discretized Discretized Scene VolumeScene Volume

N voxelsN voxelsC colorsC colors

33

All Scenes (CN3)Photo-Consistent

Scenes

TrueScene

Page 32: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Issues

Theoretical Questions• Identify class of all photo-consistent scenes

Practical Questions• How do we compute photo-consistent models?

Page 33: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

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

2. C unconstrained, viewpoint constraints• Voxel coloring algorithm [Seitz & Dyer 97]

3. General Case• Space carving [Kutulakos & Seitz 98]

Voxel Coloring Solutions

Page 34: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Reconstruction from Silhouettes

Binary ImagesBinary Images

Approach: • Backproject each silhouette• Intersect backprojected volumes

Page 35: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Volume Intersection

Reconstruction Contains the True Scene• But is generally not the same • In the limit get visual hull

> Complement of all lines that don’t intersect S

Page 36: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Voxel Algorithm for Volume Intersection

Color voxel black if on silhouette in every image• O(MN3), for M images, N3 voxels• Don’t have to search 2N3 possible scenes!

Page 37: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

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 38: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

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

2. C unconstrained, viewpoint constraints• Voxel coloring algorithm [Seitz & Dyer 97]

3. General Case• Space carving [Kutulakos & Seitz 98]

Voxel Coloring Solutions

Page 39: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

1. Choose voxel1. Choose voxel2. Project and correlate2. Project and correlate3.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 40: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

The Global Visibility Problem

Inverse Visibilityknown images

Unknown SceneUnknown Scene

Which points are visible in which images?

Known SceneKnown Scene

Forward Visibilityknown scene

Page 41: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

LayersLayers

Depth Ordering: visit occluders first!

SceneSceneTraversalTraversal

Condition: Condition: depth order is depth order is viewview--independentindependent

Page 42: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Calibrated Image Acquisition

Calibrated Turntable360° rotation (21 images)

Selected Dinosaur ImagesSelected Dinosaur Images

Selected Flower ImagesSelected Flower Images

Page 43: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Voxel Coloring Results (Video)

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 44: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

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 45: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

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

2. C unconstrained, viewpoint constraints• Voxel coloring algorithm [Seitz & Dyer 97]

3. General Case• Space carving [Kutulakos & Seitz 98]

Voxel Coloring Solutions

Page 46: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

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 47: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Convergence

Consistency Property• The resulting shape is photo-consistent

> all inconsistent points are removedConvergence Property

• Carving converges to a non-empty shape> a point on the true scene is never removed

p

Page 48: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Structure from Motion

Reconstruct • Scene geometry• Camera motion

UnknownUnknowncameracamera

viewpointsviewpoints

Page 49: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Three approachesThree approaches

Page 50: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Outline of a simple algorithm (1)Outline of a simple algorithm (1)

• Based on constraints

• Input to the algorithm (1): two images

Page 51: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Outline of a simple algorithm (2)Outline of a simple algorithm (2)

• Input to the algorithm (2): User select edges and corners

Page 52: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Outline of a simple algorithm (3)Outline of a simple algorithm (3)

• Camera Position and Orientation Determine the position and orientation of camera

Page 53: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Outline of a simple algorithm (4)Outline of a simple algorithm (4)

• Computing projection matrix and Reconstruction

Page 54: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Outline of a simple algorithm (5)Outline of a simple algorithm (5)

• Compute 3D textured triangles

Page 55: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Facade Facade

SFMOMA (San Francisco Museum of Modern Art) by Yizhou Yu,

Page 56: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Façade (Debevec et al) inputs

Page 57: 15-463: Computational Photographygraphics.cs.cmu.edu/courses/15-463/2007_fall/Lectures/stereo.pdf · epipolar lines. epipolar plane. epipolar line epipolar line. Stereo image rectification

Façade (Debevec et al)