Stereo and structured light

Similar documents
Structured light , , Computational Photography Fall 2017, Lecture 27

L2 Data Acquisition. Mechanical measurement (CMM) Structured light Range images Shape from shading Other methods

Stereo Vision Computer Vision (Kris Kitani) Carnegie Mellon University

Multiple View Geometry

Project 2 due today Project 3 out today. Readings Szeliski, Chapter 10 (through 10.5)

Multi-View Stereo for Community Photo Collections Michael Goesele, et al, ICCV Venus de Milo

CS5670: Computer Vision

Computer Vision. 3D acquisition

Stereo vision. Many slides adapted from Steve Seitz

Stereo. 11/02/2012 CS129, Brown James Hays. Slides by Kristen Grauman

Binocular stereo. Given a calibrated binocular stereo pair, fuse it to produce a depth image. Where does the depth information come from?

Computational light transport

Project 3 code & artifact due Tuesday Final project proposals due noon Wed (by ) Readings Szeliski, Chapter 10 (through 10.5)

Today. Stereo (two view) reconstruction. Multiview geometry. Today. Multiview geometry. Computational Photography

Structured Light. Tobias Nöll Thanks to Marc Pollefeys, David Nister and David Lowe

Image Based Reconstruction II

Computer Vision Lecture 17

Computer Vision Lecture 17

Recap from Previous Lecture

There are many cues in monocular vision which suggests that vision in stereo starts very early from two similar 2D images. Lets see a few...

What have we leaned so far?

Stereo. Many slides adapted from Steve Seitz

Structured Light 3D Scanning in the Presence of Global Illumination

Two-view geometry Computer Vision Spring 2018, Lecture 10

3D Computer Vision. Structured Light I. Prof. Didier Stricker. Kaiserlautern University.

More computational light transport

BIL Computer Vision Apr 16, 2014

Structured Light II. Guido Gerig CS 6320, Spring (thanks: slides Prof. S. Narasimhan, CMU, Marc Pollefeys, UNC)

Image Rectification (Stereo) (New book: 7.2.1, old book: 11.1)

CS 4495 Computer Vision A. Bobick. Motion and Optic Flow. Stereo Matching

Lecture 9 & 10: Stereo Vision

3D object recognition used by team robotto

EECS 442 Computer vision. Stereo systems. Stereo vision Rectification Correspondence problem Active stereo vision systems

3D Scanning. Qixing Huang Feb. 9 th Slide Credit: Yasutaka Furukawa

Lecture 14: Computer Vision

Lecture 6 Stereo Systems Multi-view geometry

Rectification and Disparity

EE795: Computer Vision and Intelligent Systems

Multiple View Geometry

Stereo II CSE 576. Ali Farhadi. Several slides from Larry Zitnick and Steve Seitz

ENGN D Photography / Spring 2018 / SYLLABUS

Fundamentals of Stereo Vision Michael Bleyer LVA Stereo Vision

Lecture'9'&'10:'' Stereo'Vision'

Lecture 19: Depth Cameras. Visual Computing Systems CMU , Fall 2013

CS 4495 Computer Vision A. Bobick. Motion and Optic Flow. Stereo Matching

Epipolar Geometry and Stereo Vision

Correspondence and Stereopsis. Original notes by W. Correa. Figures from [Forsyth & Ponce] and [Trucco & Verri]

Stereo Vision. MAN-522 Computer Vision

Geometric camera models and calibration

Image correspondences and structure from motion

Public Library, Stereoscopic Looking Room, Chicago, by Phillips, 1923

Lecture 14: Basic Multi-View Geometry

Epipolar Geometry and Stereo Vision

Dense 3D Reconstruction. Christiano Gava

Final project bits and pieces

3D Photography: Active Ranging, Structured Light, ICP

Chaplin, Modern Times, 1936

CONTENTS. High-Accuracy Stereo Depth Maps Using Structured Light. Yeojin Yoon

Colorado School of Mines. Computer Vision. Professor William Hoff Dept of Electrical Engineering &Computer Science.

3D Photography: Stereo

A virtual tour of free viewpoint rendering

Overview of Active Vision Techniques

Dense 3D Reconstruction. Christiano Gava

55:148 Digital Image Processing Chapter 11 3D Vision, Geometry

Rectification. Dr. Gerhard Roth

ENGN 2911 I: 3D Photography and Geometry Processing Assignment 2: Structured Light for 3D Scanning

Epipolar Geometry and Stereo Vision

Lecture 10: Multi view geometry

Step-by-Step Model Buidling

12/3/2009. What is Computer Vision? Applications. Application: Assisted driving Pedestrian and car detection. Application: Improving online search

Recap: Features and filters. Recap: Grouping & fitting. Now: Multiple views 10/29/2008. Epipolar geometry & stereo vision. Why multiple views?

Camera Calibration. Schedule. Jesus J Caban. Note: You have until next Monday to let me know. ! Today:! Camera calibration

3D photography. Digital Visual Effects, Spring 2007 Yung-Yu Chuang 2007/5/15

Cameras and Stereo CSE 455. Linda Shapiro

Depth. Common Classification Tasks. Example: AlexNet. Another Example: Inception. Another Example: Inception. Depth

1 Projective Geometry

Three-Dimensional Sensors Lecture 2: Projected-Light Depth Cameras

Epipolar Geometry Prof. D. Stricker. With slides from A. Zisserman, S. Lazebnik, Seitz

Light transport matrices

Computer Vision. Exercise Session 6 Stereo matching. Institute of Visual Computing

Stereo. Outline. Multiple views 3/29/2017. Thurs Mar 30 Kristen Grauman UT Austin. Multi-view geometry, matching, invariant features, stereo vision

Lecture 6 Stereo Systems Multi- view geometry Professor Silvio Savarese Computational Vision and Geometry Lab Silvio Savarese Lecture 6-24-Jan-15

Rectification and Distortion Correction

Computer Vision I. Announcements. Random Dot Stereograms. Stereo III. CSE252A Lecture 16

Stereo and Epipolar geometry

Light Transport CS434. Daniel G. Aliaga Department of Computer Science Purdue University

Optical Active 3D Scanning. Gianpaolo Palma

Estimating the surface normal of artwork using a DLP projector

Stereo Vision A simple system. Dr. Gerhard Roth Winter 2012

Surround Structured Lighting for Full Object Scanning

3D Computer Vision. Depth Cameras. Prof. Didier Stricker. Oliver Wasenmüller

CS 2770: Intro to Computer Vision. Multiple Views. Prof. Adriana Kovashka University of Pittsburgh March 14, 2017

Flexible Calibration of a Portable Structured Light System through Surface Plane

The main problem of photogrammetry

Image warping and stitching

3D Shape and Indirect Appearance By Structured Light Transport

CS 231A: Computer Vision (Winter 2018) Problem Set 2

Lecture 10: Multi-view geometry

Image warping , , Computational Photography Fall 2017, Lecture 10

Reminder: Lecture 20: The Eight-Point Algorithm. Essential/Fundamental Matrix. E/F Matrix Summary. Computing F. Computing F from Point Matches

Transcription:

Stereo and structured light http://graphics.cs.cmu.edu/courses/15-463 15-463, 15-663, 15-862 Computational Photography Fall 2018, Lecture 20

Course announcements Homework 5 is still ongoing. - Make sure to download updated version! - Any questions about homework 5? How many of you attended Eric Fossum s talk? Guest lecture on Wednesday: Han Joo will talk about the panoptic studio.

CMU s Panoptic Studio

Overview of today s lecture Revisiting triangulation. Disparity. Stereo rectification. Stereo matching. Structured light. Binary coding. Dealing with global illumination. Epipolar imaging.

Slide credits Many of these slides were adapted directly from: Kris Kitani (16-385, Spring 2017). Srinivasa Narasimhan (16-820, Spring 2017). Mohit Gupta (Wisconsin).

Revisiting triangulation

How would you reconstruct 3D points? Left image Right image

How would you reconstruct 3D points? Left image Right image 1. Select point in one image

How would you reconstruct 3D points? Left image Right image 1. Select point in one image 2. Form epipolar line for that point in second image (how?)

How would you reconstruct 3D points? Left image Right image 1. Select point in one image 2. Form epipolar line for that point in second image (how?) 3. Find matching point along line (how?)

How would you reconstruct 3D points? Left image Right image 1. Select point in one image 2. Form epipolar line for that point in second image (how?) 3. Find matching point along line (how?) 4. Perform triangulation (how?)

Triangulation 3D point left image right image left camera with matrix right camera with matrix

Stereo rectification

What s different between these two images?

Objects that are close move more or less?

The amount of horizontal movement is inversely proportional to

The amount of horizontal movement is inversely proportional to the distance from the camera. More formally

3D point image plane camera center camera center

(baseline)

How is X related to x? (baseline)

(baseline)

(baseline) How is X related to x?

(baseline)

(baseline) Disparity (wrt to camera origin of image plane)

(baseline) Disparity inversely proportional to depth

Real-time stereo sensing Nomad robot searches for meteorites in Antartica http://www.frc.ri.cmu.edu/projects/meteorobot/index.html

Pre-collision braking Subaru Eyesight system

What other vision system uses disparity for depth sensing?

This is how 3D movies work

So can I compute depth using disparity from any two images of the same object?

So can I compute depth using disparity from any two images of the same object? 1. Need sufficient baseline 2. Images need to be rectified first (make epipolar lines horizontal)

How can you make the epipolar lines horizontal?

3D point image plane camera center camera center What s special about these two cameras?

When are epipolar lines horizontal? x x t

When are epipolar lines horizontal? When this relationship holds: R = I t = (T, 0, 0) x x t

When are epipolar lines horizontal? When this relationship holds: R = I t = (T, 0, 0) Let s try this out x t x This always has to hold:

When are epipolar lines horizontal? When this relationship holds: R = I t = (T, 0, 0) Let s try this out x t x This always has to hold: Write out the constraint

When are epipolar lines horizontal? When this relationship holds: R = I t = (T, 0, 0) Let s try this out x t Write out the constraint x This always has to hold: The image of a 3D point will always be on the same horizontal line y coordinate is always the same!

It s hard to make the image planes exactly parallel

How can you make the epipolar lines horizontal?

Use stereo rectification

What is stereo rectification? Reproject image planes onto a common plane parallel to the line between camera centers Need two homographies (3x3 transform), one for each input image reprojection C. Loop and Z. Zhang. Computing Rectifying Homographies for Stereo Vision.Computer Vision and Pattern Recognition, 1999.

Stereo Rectification 1. Rotate the right camera by R (aligns camera coordinate system orientation only) 2. Rotate (rectify) the left camera so that the epipole is at infinity 3. Rotate (rectify) the right camera so that the epipole is at infinity 4. Adjust the scale

What do we do after rectifying the two image planes?

Stereo matching

Depth Estimation via Stereo Matching

1. Rectify images (make epipolar lines horizontal) 2. For each pixel a. Find epipolar line b. Scan line for best match c. Compute depth from disparity How would you do this?

When are correspondences difficult?

When are correspondences difficult? textureless regions repeated patterns specularities

Structured light

Use controlled ( structured ) light to make correspondences easier Disparity between laser points on the same scanline in the images determines the 3-D coordinates of the laser point on object

Use controlled ( structured ) light to make correspondences easier

Structured light and two cameras laser I J

Structured light and one camera Projector acts like reverse camera I J

Structured Light Any spatio-temporal pattern of light projected on a surface (or volume). Cleverly illuminate the scene to extract scene properties (eg., 3D). Avoids problems of 3D estimation in scenes with complex texture/brdfs. Very popular in vision and successful in industrial applications (parts assembly, inspection, etc).

3D Scanning using structured light

Do we need to illuminate the scene point by point?

Light Stripe Scanning Single Stripe Light plane Source Camera Surface Faster 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 Good for high resolution 3D, but still needs many images and takes time

Triangulation Light Plane Object Ax + By + Cz + D = 0 Laser Camera Project laser stripe onto object

Triangulation Light Plane Object Ax + By + Cz + D = 0 Laser Image Point ( x', y ' ) Camera Depth from ray-plane triangulation: Intersect camera ray with light plane x y = = x' z / y ' z / f f z = Ax Df ' + By ' + Cf

Example: Laser scanner Digital Michelangelo Project http://graphics.stanford.edu/projects/mich/

Portable 3D laser scanner (this one by Minolta)

Faster Acquisition?

Binary coding

Faster Acquisition? Project multiple stripes simultaneously What is the problem with this?

Faster Acquisition? Project multiple stripes simultaneously Correspondence problem: which stripe is which? Common types of patterns: Binary coded light striping Gray/color coded light striping

Binary Coding Faster: n 2 1 stripes in n images. Projected over time Example: 3 binary-encoded patterns which allows the measuring surface to be divided in 8 sub-regions Pattern 3 Pattern 2 Pattern 1

Binary Coding Assign each stripe a unique illumination code over time [Posdamer 82] Time Space

Binary Coding Example: 7 binary patterns proposed by Posdamer & Altschuler Projected over time Pattern 3 Pattern 2 Codeword of this píxel: 1010010 identifies the corresponding pattern stripe Pattern 1

More complex patterns Works despite complex appearances Works in real-time and on dynamic scenes Need very few images (one or two). But needs a more complex correspondence algorithm

Continuum of Triangulation Methods Multi-stripe Multi-frame Single-stripe Single-frame Slow, robust Fast, fragile

Using shadows

The 3D scanning pipeline

3D Model Acquisition Pipeline 3D Scanner

3D Model Acquisition Pipeline 3D Scanner View Planning

3D Model Acquisition Pipeline 3D Scanner View Planning Alignment

3D Model Acquisition Pipeline 3D Scanner View Planning Alignment Merging

3D Model Acquisition Pipeline 3D Scanner View Planning Alignment Done? Merging

3D Model Acquisition Pipeline 3D Scanner View Planning Alignment Done? Merging Display

Dealing with global illumination

Light Transport Volumetric Scattering Inter-reflections Light Source Direct Illumination Sub-surface scattering Scene 100 Slide adapted from Nayar et al

Why is global illumination a problem?

Bowl on a Marble Slab

Captured images under conventional Gray codes Lowest Frequency Illumination Highest Frequency Illumination Pattern 1 Pattern 4 Pattern 7 Pattern 10 103

Issues due to global illumination effects Strong Inter-reflections Blurring due to Sub-surface Scattering Low-frequency pattern High-frequency pattern

3D Visualizations: State of the Art Errors due to interreflections Errors due to sub-surface scattering Conventional Gray (11 images) Modulated Phase-Shifting (162 images)

V-Groove Scene Inter-reflections

Conventional Gray codes Low frequency pattern Inverse Pattern Pattern Edge I = 0.16 I = 0.25 Captured Image Captured Image

Binarization error Errors due to inter-reflections Incorrect Binarization Ground-truth Binarization One (illuminated) Zero (not-illuminated)

Why is the Decoding Incorrect for Low-frequencies? Pattern Edge I = 0.16 I = 0.25 Captured Image Captured Image I = Direct + a. Global I = (1 a). Global a ~= 0, Direct < Global => I < I

Binarization for high-frequency pattern Pattern Inverse Pattern I = 0.25 I = 0.16 Captured Image I = Direct + 0.5 Global > Captured Image I = 0.5 Global

High-frequency Patterns are Decoded Correctly Captured Image Binary Decoding

Preventing errors due to long-range effects Logical Coding and Decoding 112

Logical Coding and Decoding = XOR Binarization Binarization Binarization Incorrect Binarization Correct Binarization

Depth (mm) Depth Map Comparison Errors due to Inter-reflections Conventional Gray Codes (11 images) Our XOR-04 Codes (11 images) 1200 1100 1000 900 800 700 600 0 200 400 600 800 Pixels Ground Truth Gray Codes Our XOR-04 Codes

Making the Logical XOR Codes Base PlaneBase Plane Conventional Gray Codes (10 patterns) XOR of Last Pattern with Patterns 1-9 XOR-02 Codes (10 patterns) XOR of Second-last Pattern with Patterns 1-8 XOR-04 Codes (10 patterns)

Gray Codes with Low Spatial Frequencies Max min-stripe-width Gray Codes Conventional Gray Codes

Ensemble of Codes for General Scenes Conventional Gray (10 images) Max min-sw Gray (10 images) XOR-04 (10 images) XOR-02 (10 images)

Reconstructing General Scenes

Ensemble of Codes for General Scenes Conventional Gray (10 images) Return the consistent value Max min-sw Gray (10 images) Ensemble of Codes (41 images) XOR-04 (10 images) XOR-02 (10 images)

Shape Comparison Conventional Gray (11 images) Modulated Phase-Shifting (162 images) Our Technique (41 images)

Qualitative Light Transport Analysis Sub-surface Scattering (Both Gray codes agree) All four codes agree Inter-reflections (Both XOR codes agree) Error-Detection (all four codes different)

Translucent Wax Candle Errors due to strong sub-surface scattering Scene Modulated Phase- Shifting (162 images) Our Ensemble Codes (41 images)

Translucent Wax Object Errors due to strong sub-surface scattering Scene Modulated Phase- Shifting (162 images) Our Ensemble Codes (41 images)

Diffusion + Inter-reflections Ikea Lamp

Depth-Map Comparison Regular Gray Codes (11 images) Our Ensemble Codes (41 images)

3D Visualization using our ensemble codes

Shower Curtain Diffusion + Inter-reflections Goal is to reconstruct the shape of the shower-curtain. Shape of the curtain is planar because it was taped to the rod to avoid movement while capture.

Shape Comparisons Regular Gray Codes (11 images) Phase-Shifting (18 images) Our XOR Codes (11 images)

Fruit Basket: Multiple Effects Sub-surface Scattering Inter-reflections

Depth-maps with previous state of the art Regular Gray (11 images) Phase-Shifting (18 images)

Depth-maps with previous state of the art Regular Gray (11 images) Modulated Phase-Shifting (162 images)

Depth-maps with our Ensemble Codes Our Ensemble Codes (41 images)

3D Visualizations with our ensemble codes

3D Visualization with our ensemble codes

Bowls and Milk: Multiple Effects Subsurface Scattering Interreflections

Phase-Shifting (18 images) Modulated Phase-Shifting (162 images) Regular Gray Codes (11 images) Our XOR Codes (11 images)

3D Visualizations with our ensemble codes

Flower-Vase Diffusion Sub-surface Scattering

Comparison Phase-Shifting (18 images) Regular Gray Code (11 images) Modulated Phase-Shifting (162 images) Our Ensemble Codes (41 images)

Comparison Phase-Shifting (18 images) Regular Gray Code (11 images) Modulated Phase-Shifting (162 images) Our Ensemble Codes (41 images)

Multiple Global Illumination Effects Wax Bowl Shape Using Ensemble Codes

Multiple Global Illumination Effects Deep Wax Container Shape Using Ensemble Codes

Lamp made of shiny brushed metal Strong and high-frequency inter-reflections

Depth Map Comparison Regular Gray (11 images) Our Ensemble Codes (41 images)

Another look at epipolar imaging

Rectified camera-projector pair. Epipolar imaging camera

Regular Imaging Light Source Sensor

Regular Imaging Light Source Sensor

Regular Imaging Light Source Sensor

Regular Imaging Light Source Sensor

Epipolar Imaging Epipolar Plane Light Source Sensor & Mask

Epipolar Imaging Light Source Sensor & Mask

Epipolar Imaging Light Source Complete Image

Epipolar Imaging Light Source Sensor & Mask

Epipolar Imaging Light Source Sensor & Mask

References Basic reading: Szeliski textbook, Sections 7.1, 11.1, 12.1. Lanman and Taubin, Build Your Own 3D Scanner: Optical Triangulation for Beginners, SIGGRAPH course 2009. this very comprehensive course has everything you need to know about 3D scanning using structured light, including details on how to build your own. Gupta et al., A Practical Approach to 3D Scanning in the Presence of Interreflections, Subsurface Scattering and Defocus, IJCV 2013. this paper has a very detailed treatment of problems to structured-light-based 3D scanning caused because of global illumination, and proposes the robust XOR patterns we discussed. Additional reading: Gupta et al., A Combined Theory of Defocused Illumination and Global Light Transport, IJCV 2012. an earlier paper discussing global illumination and 3D scanning with structured light. O Toole et al., Homogeneous codes for energy-efficient illumination and imaging, SIGGRAPH 2015. the epipolar imaging paper we covered in a previous class also includes a discussion of how epipolar imaging helps when performing stereo-based 3D scanning in the presence of global illumination.

References Basic reading: Szeliski textbook, Section 8.1 (not 8.1.1-8.1.3), Chapter 11, Section 12.2. Hartley and Zisserman, Section 11.12.