Stereo matching Class 7 Read Chapter 7 of tutorial Tsukuba dataset.

Slides:



Advertisements
Similar presentations
Multiview Reconstruction. Why More Than 2 Views? BaselineBaseline – Too short – low accuracy – Too long – matching becomes hard.
Advertisements

Some books on linear algebra Linear Algebra, Serge Lang, 2004 Finite Dimensional Vector Spaces, Paul R. Halmos, 1947 Matrix Computation, Gene H. Golub,
Stereo Vision Reading: Chapter 11
Gratuitous Picture US Naval Artillery Rangefinder from World War I (1918)!!
Stereo Many slides adapted from Steve Seitz. Binocular stereo Given a calibrated binocular stereo pair, fuse it to produce a depth image Where does the.
MASKS © 2004 Invitation to 3D vision Lecture 7 Step-by-Step Model Buidling.
Lecture 8: Stereo.
Stereo.
MultiView Stereo Steve Seitz CSE590SS: Vision for Graphics.
Multiview Reconstruction. Why More Than 2 Views? BaselineBaseline – Too short – low accuracy – Too long – matching becomes hard.
Last Time Pinhole camera model, projection
Scene Planes and Homographies class 16 Multiple View Geometry Comp Marc Pollefeys.
Project 3 extension: Wednesday at noon Final project proposal extension: Friday at noon >consult with Steve, Rick, and/or Ian now! Project 2 artifact winners...
Lecture 12: Structure from motion CS6670: Computer Vision Noah Snavely.
Stereo. STEREOPSIS Reading: Chapter 11. The Stereopsis Problem: Fusion and Reconstruction Human Stereopsis and Random Dot Stereograms Cooperative Algorithms.
Computational Photography: Image-based Modeling Jinxiang Chai.
CSCE 641 Computer Graphics: Image-based Modeling Jinxiang Chai.
Multiple View Geometry : Computational Photography Alexei Efros, CMU, Fall 2005 © Martin Quinn …with a lot of slides stolen from Steve Seitz and.
Project 2 winners Think about Project 3 Guest lecture on Monday: Aseem Announcements.
Computing F and rectification class 14 Multiple View Geometry Comp Marc Pollefeys.
Multiview stereo. Volumetric stereo Scene Volume V Input Images (Calibrated) Goal: Determine occupancy, “color” of points in V.
Multi-view stereo Many slides adapted from S. Seitz.
Stereopsis Mark Twain at Pool Table", no date, UCR Museum of Photography.
Multiple View Geometry Marc Pollefeys University of North Carolina at Chapel Hill Modified by Philippos Mordohai.
The plan for today Camera matrix
Computer Vision Optical Flow Marc Pollefeys COMP 256 Some slides and illustrations from L. Van Gool, T. Darell, B. Horn, Y. Weiss, P. Anandan, M. Black,
CS 223b 1 More on stereo and correspondence. CS 223b 2 =?f g Mostpopular For each window, match to closest window on epipolar line in other image. (slides.
Assignment 2 Compute F automatically from image pair (putative matches, 8-point, 7-point, iterative, RANSAC, guided matching) (due by Wednesday 19/03/03)
Stereo and Structure from Motion
Project 1 grades out Announcements. Multiview stereo Readings S. M. Seitz and C. R. Dyer, Photorealistic Scene Reconstruction by Voxel Coloring, International.
Multiview Reconstruction. Why More Than 2 Views? BaselineBaseline – Too short – low accuracy – Too long – matching becomes hard.
Announcements Project Update Extension: due Friday, April 20 Create web page with description, results Present your project in class (~10min/each) on Friday,
CSE473/573 – Stereo Correspondence
Announcements PS3 Due Thursday PS4 Available today, due 4/17. Quiz 2 4/24.
From Images to Voxels Steve Seitz Carnegie Mellon University University of Washington SIGGRAPH 2000 Course on 3D Photography.
Lecture 25: Multi-view stereo, continued
Multiple View Geometry : Computational Photography Alexei Efros, CMU, Fall 2006 © Martin Quinn …with a lot of slides stolen from Steve Seitz and.
Accurate, Dense and Robust Multi-View Stereopsis Yasutaka Furukawa and Jean Ponce Presented by Rahul Garg and Ryan Kaminsky.
Stereo matching Class 10 Read Chapter 7 Tsukuba dataset.
Review: Binocular stereo If necessary, rectify the two stereo images to transform epipolar lines into scanlines For each pixel x in the first image Find.
3-D Scene u u’u’ Study the mathematical relations between corresponding image points. “Corresponding” means originated from the same 3D point. Objective.
Computer Vision Spring ,-685 Instructor: S. Narasimhan WH 5409 T-R 10:30am – 11:50am Lecture #15.
Computer vision: models, learning and inference
Reconstructing Relief Surfaces George Vogiatzis, Philip Torr, Steven Seitz and Roberto Cipolla BMVC 2004.
Some books on linear algebra Linear Algebra, Serge Lang, 2004 Finite Dimensional Vector Spaces, Paul R. Halmos, 1947 Matrix Computation, Gene H. Golub,
Structure from images. Calibration Review: Pinhole Camera.
Stereo Class 7 Read Chapter 7 of tutorial Tsukuba dataset.
Stereo Vision Reading: Chapter 11 Stereo matching computes depth from two or more images Subproblems: –Calibrating camera positions. –Finding all corresponding.
Stereo Many slides adapted from Steve Seitz.
Stereo Many slides adapted from Steve Seitz. Binocular stereo Given a calibrated binocular stereo pair, fuse it to produce a depth image image 1image.
Computer Vision, Robert Pless
Lec 22: Stereo CS4670 / 5670: Computer Vision Kavita Bala.
Computer Vision Lecture #10 Hossam Abdelmunim 1 & Aly A. Farag 2 1 Computer & Systems Engineering Department, Ain Shams University, Cairo, Egypt 2 Electerical.
Bahadir K. Gunturk1 Phase Correlation Bahadir K. Gunturk2 Phase Correlation Take cross correlation Take inverse Fourier transform  Location of the impulse.
Lecture 16: Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
stereo Outline : Remind class of 3d geometry Introduction
875 Dynamic Scene Reconstruction
Project 2 due today Project 3 out today Announcements TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA.
CSCE 641 Computer Graphics: Image-based Modeling Jinxiang Chai.
Correspondence and Stereopsis. Introduction Disparity – Informally: difference between two pictures – Allows us to gain a strong sense of depth Stereopsis.
CSE 185 Introduction to Computer Vision Stereo 2.
Stereo CS4670 / 5670: Computer Vision Noah Snavely Single image stereogram, by Niklas EenNiklas Een.
Robot Vision SS 2011 Matthias Rüther / Matthias Straka 1 ROBOT VISION Lesson 7: Volumetric Object Reconstruction Matthias Straka.
CS4670 / 5670: Computer Vision Kavita Bala Lec 27: Stereo.
Geometry 3: Stereo Reconstruction
What have we learned so far?
Announcements Midterm due now Project 2 artifacts: vote today!
MSR Image based Reality Project
Announcements Project 3 out today (help session at end of class)
Stereo vision Many slides adapted from Steve Seitz.
Presentation transcript:

Stereo matching Class 7 Read Chapter 7 of tutorial Tsukuba dataset

Stereo Standard stereo geometry Stereo matching Correlation Optimization (DP, GC) General camera configuration Rectification Plane-sweep Multi-view stereo

Standard stereo geometry pure translation along X-axis

Standard stereo geometry

Stereo matching Search is limited to epipolar line (1D) Look for most similar pixel ?

Aggregation Use more than one pixel Assume neighbors have similar disparities * Use correlation window containing pixel Allows to use SSD, ZNCC, Census, etc.

Compare intensities pixel-by-pixel Comparing image regions I(x,y) I´(x,y) Sum of Square Differences Dissimilarity measures

Compare intensities pixel-by-pixel Comparing image regions I(x,y) I´(x,y) Zero-mean Normalized Cross Correlation Similarity measures

Compare intensities pixel-by-pixel Comparing image regions I(x,y) I´(x,y) Census Similarity measures (Real-time chip from TYZX based on Census) only compare bit signature

Aggregation window sizes Small windows disparities similar more ambiguities accurate when correct Large windows larger disp. variation more discriminant often more robust use shiftable windows to deal with discontinuities (Illustration from Pascal Fua)

Occlusions (Slide from Pascal Fua)

Real-time stereo on GPU Computes Sum-of-Square-Differences (use pixelshader) Hardware mip-map generation for aggregation over window Trade-off between small and large support window (Yang and Pollefeys, CVPR2003) 290M disparity hypothesis/sec (Radeon9800pro) e.g. 512x512x36disparities at 30Hz GPU is great for vision too!

Exploiting scene constraints

Ordering constraint , , , , surface slice surface as a path occlusion right occlusion left

Uniqueness constraint In an image pair each pixel has at most one corresponding pixel In general one corresponding pixel In case of occlusion there is none

Disparity constraint surface slice surface as a path bounding box disparity band use reconstructed features to determine bounding box constant disparity surfaces

Stereo matching Optimal path (dynamic programming ) Similarity measure (SSD or NCC) Constraints epipolar ordering uniqueness disparity limit Trade-off Matching cost (data) Discontinuities (prior) Consider all paths that satisfy the constraints pick best using dynamic programming

Hierarchical stereo matching Downsampling (Gaussian pyramid) Disparity propagation Allows faster computation Deals with large disparity ranges

Disparity map image I(x,y) image I´(x´,y´) Disparity map D(x,y) (x´,y´)=(x+D(x,y),y)

Example: reconstruct image from neighboring images

Energy minimization (Slide from Pascal Fua)

Graph Cut (Slide from Pascal Fua) (general formulation requires multi-way cut!)

(Boykov et al ICCV‘99) (Roy and Cox ICCV‘98) Simplified graph cut

Stereo matching with general camera configuration

Image pair rectification

Planar rectification Bring two views to standard stereo setup (moves epipole to  ) (not possible when in/close to image) ~ image size (calibrated) Distortion minimization (uncalibrated)

Polar re-parameterization around epipoles Requires only (oriented) epipolar geometry Preserve length of epipolar lines Choose  so that no pixels are compressed original image rectified image Polar rectification (Pollefeys et al. ICCV’99) Works for all relative motions Guarantees minimal image size

polar rectification planar rectification original image pair

Example: Béguinage of Leuven Does not work with standard Homography-based approaches

Example: Béguinage of Leuven

General iso-disparity surfaces ( Pollefeys and Sinha, ECCV’04) Example: polar rectification preserves disp. Application: Active vision Also interesting relation to human horopter

Stereo camera configurations (Slide from Pascal Fua)

Multi-camera configurations Okutami and Kanade (illustration from Pascal Fua)

Multi-view depth fusion Compute depth for every pixel of reference image Triangulation Use multiple views Up- and down sequence Use Kalman filter (Koch, Pollefeys and Van Gool. ECCV‘98) Allows to compute robust texture

Plane-sweep multi-view matching Simple algorithm for multiple cameras no rectification necessary doesn’t deal with occlusions Collins’96; Roy and Cox’98 (GC); Yang et al.’02/’03 (GPU)

Space Carving

3D Reconstruction from Calibrated Images Scene Volume V Input Images (Calibrated) Goal: Determine transparency, radiance of points in V

Discrete Formulation: Voxel Coloring Discretized Scene Volume Input Images (Calibrated) Goal: Assign RGBA values to voxels in V photo-consistent with images

Complexity and Computability Discretized Scene Volume N voxels C colors 3 All Scenes ( C N 3 ) Photo-Consistent Scenes True Scene

Issues Theoretical Questions Identify class of all photo-consistent scenes Practical Questions How do we compute photo-consistent models?

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

Reconstruction from Silhouettes (C = 2) Binary Images Approach: Backproject each silhouette Intersect backprojected volumes

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

Voxel Algorithm for Volume Intersection Color voxel black if on silhouette in every image O(MN 3 ), for M images, N 3 voxels Don’t have to search 2 N 3 possible scenes!

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

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

1. Choose voxel 2. Project and correlate 3. Color if consistent Voxel Coloring Approach Visibility Problem: in which images is each voxel visible?

The Global Visibility Problem Inverse Visibility known images Unknown Scene Which points are visible in which images? Known Scene Forward Visibility known scene

Layers Depth Ordering: visit occluders first! SceneTraversal Condition: depth order is view-independent

Panoramic Depth Ordering Cameras oriented in many different directions Planar depth ordering does not apply

Panoramic Depth Ordering Layers radiate outwards from cameras

Panoramic Layering Layers radiate outwards from cameras

Panoramic Layering Layers radiate outwards from cameras

Compatible Camera Configurations Depth-Order Constraint Scene outside convex hull of camera centers Outward-Looking cameras inside scene Inward-Looking cameras above scene

Calibrated Image Acquisition Calibrated Turntable 360° rotation (21 images) Selected Dinosaur Images Selected Flower Images

Voxel Coloring Results (Video) Dinosaur Reconstruction 72 K voxels colored 7.6 M voxels tested 7 min. to compute on a 250MHz SGI Flower Reconstruction 70 K voxels colored 7.6 M voxels tested 7 min. to compute on a 250MHz SGI

Limitations of Depth Ordering A view-independent depth order may not exist pq Need more powerful general-case algorithms Unconstrained camera positions Unconstrained scene geometry/topology

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

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

Convergence Consistency Property The resulting shape is photo-consistent all inconsistent points are removed Convergence Property Carving converges to a non-empty shape a point on the true scene is never removed V’ V p

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

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

Space Carving Algorithm Step 1: Initialize V to volume containing true scene Step 2: For every voxel on surface of V test photo-consistency of voxel if 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Space Carving Results: African Violet Input Image (1 of 45) Reconstruction ReconstructionReconstruction

Space Carving Results: Hand Input Image (1 of 100) Views of Reconstruction

Other Features Coarse-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

voxel occluded Probalistic Space Carving Broadhurst et al. ICCV’01

Bayesian The Master's Lodge Image Sequence

I Light Intensity Object Color N Normal vector L Lighting vector V View Vector R Reflection vector color of the light Diffuse color Saturation point Reflected Light in RGB color space Dielectric Materials (such as plastic and glass) Space-carving for specular surfaces (Yang, Pollefeys & Welch 2003) Extended photoconsistency:

Experiment

Animated Views Our result

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

Graph-cut-based approach Refine using surface evolution e.g. [Sinha et al. ICCV07]

Interesting comparison of multi- view stereo approaches

Next class: structured light and active scanning