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

Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Stereo and structured light

http://graphics.cs.cmu.edu/courses/15-463

15-463, 15-663, 15-862Computational Photography

Fall 2018, Lecture 20

Page 2: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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.

Page 3: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

CMU’s Panoptic Studio

Page 4: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Overview of today’s lecture

• Revisiting triangulation.

• Disparity.

• Stereo rectification.

• Stereo matching.

• Structured light.

• Binary coding.

• Dealing with global illumination.

• Epipolar imaging.

Page 5: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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).

Page 6: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Revisiting triangulation

Page 7: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

How would you reconstruct 3D points?

Left image Right image

Page 8: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

How would you reconstruct 3D points?

Left image Right image

1. Select point in one image

Page 9: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

How would you reconstruct 3D points?

Left image Right image

1. Select point in one image2. Form epipolar line for that point in second image (how?)

Page 10: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

How would you reconstruct 3D points?

Left image Right image

1. Select point in one image2. Form epipolar line for that point in second image (how?)3. Find matching point along line (how?)

Page 11: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

How would you reconstruct 3D points?

Left image Right image

1. Select point in one image2. Form epipolar line for that point in second image (how?)3. Find matching point along line (how?)4. Perform triangulation (how?)

Page 12: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Triangulation

right imageleft image

3D point

left camera with matrix right camera with matrix

Page 13: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Stereo rectification

Page 14: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

What’s different between these two images?

Page 15: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 16: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 17: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Objects that are close move more or less?

Page 18: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

The amount of horizontal movement is

inversely proportional to …

Page 19: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

The amount of horizontal movement is

inversely proportional to …

… the distance from the camera.

More formally…

Page 20: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

image plane

camera center camera center

3D point

Page 21: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

(baseline)

Page 22: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

(baseline)

How is X related to x?

Page 23: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

(baseline)

Page 24: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

(baseline)

How is X related to x’?

Page 25: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

(baseline)

Page 26: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

(baseline)

Disparity

(wrt to camera origin of image plane)

Page 27: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

(baseline)

Disparityinversely proportional

to depth

Page 28: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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

Real-time stereo sensing

Page 29: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Subaru

Eyesight system

Pre-collision

braking

Page 30: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

What other vision system uses disparity for depth sensing?

Page 31: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 32: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 33: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 34: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 35: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 36: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

This is how 3D movies work

Page 37: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

So can I compute depth using disparity

from any two images of the same object?

Page 38: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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)

Page 39: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

How can you make the epipolar lines horizontal?

Page 40: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

image plane

camera center camera center

3D point

What’s special about these two cameras?

Page 41: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 42: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

t

x

x’

When are epipolar lines horizontal?

Page 43: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

t

x

x’

R = I t = (T, 0, 0)

When this relationship holds:

When are epipolar lines horizontal?

Page 44: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

t

x

x’

When are epipolar lines horizontal?

R = I t = (T, 0, 0)

Let’s try this out…

This always has to hold:

When this relationship holds:

Page 45: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

t

x

x’

R = I t = (T, 0, 0)

Write out the constraint

Let’s try this out…

When this relationship holds:

When are epipolar lines horizontal?

This always has to hold:

Page 46: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

t

x

x’

R = I t = (T, 0, 0)

y coordinate is

always the same!

Write out the constraint

Let’s try this out…

The image of a 3D point will

always be on the same

horizontal line

When this relationship holds:

When are epipolar lines horizontal?

This always has to hold:

Page 47: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

It’s hard to make the image planes exactly parallel

Page 48: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

How can you make the epipolar lines horizontal?

Page 49: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Use stereo rectification

Page 50: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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.

Page 51: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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

Page 52: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

What do we do after rectifying the two image planes?

Page 53: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Stereo matching

Page 54: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Depth Estimation via Stereo Matching

Page 55: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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?

Page 56: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

When are correspondences difficult?

Page 57: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

When are correspondences difficult?

textureless regions repeated patterns

specularities

Page 58: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Structured light

Page 59: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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

Page 60: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Use controlled (“structured”) light to make correspondences easier

Page 61: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Structured light and two cameras

I J

laser

Page 62: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

I J

Structured light and one camera

Projector acts like “reverse” camera

Page 63: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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).

Page 64: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Scanning using structured light

Page 65: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Do we need to illuminate the scene point by point?

Page 66: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Light Stripe Scanning – Single Stripe

Camera

Source

Surface

Light plane

• 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

Page 67: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Triangulation

• Project laser stripe onto object

Object

Laser

Camera

Light Plane

0=+++ DCzByAx

Page 68: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Camera

Triangulation

• Depth from ray-plane triangulation:• Intersect camera ray with light plane

Laser

Object

Light Plane

0=+++ DCzByAx

)','( yx

Image Point

fzyy

fzxx

/'

/'

=

=

CfByAx

Dfz

++

−=

''

Page 69: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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

Example: Laser scanner

Page 70: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 71: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 72: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 73: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 74: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 75: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Portable 3D laser scanner (this one by Minolta)

Page 76: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Faster Acquisition?

Page 77: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Binary coding

Page 78: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Faster Acquisition?

• Project multiple stripes simultaneously

• What is the problem with this?

Page 79: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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

Page 80: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Binary Coding

Pattern 1

Pattern 2

Pattern 3

Projected over time

Example:

3 binary-encoded patterns which allows the measuring surface to be divided in 8 sub-regions

Faster:

stripes in images.12 −n

n

Page 81: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Binary Coding

• Assign each stripe a unique illumination codeover time [Posdamer 82]

Space

Time

Page 82: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Binary Coding

Pattern 1

Pattern 2

Pattern 3

Projected over time

Example: 7 binary patterns proposed

by Posdamer & Altschuler

Codeword of this píxel: 1010010 → identifies the corresponding pattern stripe

Page 83: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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

Page 84: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Continuum of Triangulation Methods

Slow, robust Fast, fragile

Multi-stripeMulti-frame

Single-frameSingle-stripe

Page 85: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Using shadows

Page 86: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 87: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 88: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 89: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 90: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 91: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is
Page 92: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

The 3D scanning pipeline

Page 93: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Model Acquisition Pipeline

3D Scanner

Page 94: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Model Acquisition Pipeline

3D Scanner

View Planning

Page 95: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Model Acquisition Pipeline

3D Scanner

AlignmentView Planning

Page 96: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Model Acquisition Pipeline

3D Scanner

Alignment

Merging

View Planning

Page 97: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Model Acquisition Pipeline

3D Scanner

Alignment

MergingDone?

View Planning

Page 98: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Model Acquisition Pipeline

3D Scanner

Alignment

MergingDone?

View Planning

Display

Page 99: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Dealing with global illumination

Page 100: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Light Transport

Light Source

Scene

Inter-reflections

Sub-surface

scattering

Volumetric

Scattering

Direct Illumination

100

Slide adapted from Nayar et al

Page 101: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Why is global illumination a problem?

Page 102: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Bowl on a Marble Slab

Page 103: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

103

Captured images under conventional Gray codes

Pattern 1 Pattern 10 Pattern 7 Pattern 4

Lowest Frequency

Illumination

Highest Frequency

Illumination

Page 104: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Issues due to global illumination effects

Strong Inter-reflections

Low-frequency pattern

Blurring due to

Sub-surface Scattering

High-frequency pattern

Page 105: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Visualizations: State of the Art

Conventional Gray

(11 images)

Modulated Phase-Shifting

(162 images)

Errors due to

interreflections

Errors due to

sub-surface scattering

Page 106: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

V-Groove SceneInter-reflections

Page 107: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Conventional Gray codes

Low frequency pattern

Captured Image

Inverse Pattern

Captured Image

Pattern

Edge I = 0.16 I = 0.25

Page 108: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Binarization error

Incorrect Binarization

One (illuminated) Zero (not-illuminated)

Errors due to inter-reflections

Ground-truth Binarization

Page 109: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Why is the Decoding Incorrect for Low-frequencies?

Captured Image Captured Image

Pattern

Edge I = 0.16 I = 0.25

I = Direct + a . Global I = (1 – a) . Global

a ~= 0, Direct < Global => I < I

Page 110: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Binarization for high-frequency pattern

Pattern

Captured Image

Inverse Pattern

Captured Image

I = 0.25 I = 0.16

I = Direct + 0.5 Global I = 0.5 Global >

Page 111: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Binary DecodingCaptured Image

High-frequency Patterns are Decoded Correctly

Page 112: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

112

Logical Coding and Decoding

Preventing errors due to long-range effects

Page 113: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Logical Coding and Decoding

XOR

=

Correct BinarizationIncorrect Binarization

Binarization

Binarization Binarization

Page 114: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Depth Map Comparison

Our XOR-04 Codes (11 images)Conventional Gray Codes (11 images)

0 200 400 600 800600

700

800

900

1000

1100

1200

Pixels

Dep

th (

mm

)

Gray Codes

Our XOR-04 Codes

Ground Truth

Errors due to Inter-reflections

Page 115: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

XOR of Second-last Pattern with Patterns 1-8 → XOR-04 Codes

(10 patterns)

Making the Logical XOR Codes

Conventional Gray Codes (10 patterns)

XOR of Last Pattern with Patterns 1-9 → XOR-02 Codes (10 patterns)

Base PlaneBase Plane

Page 116: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Gray Codes with Low Spatial Frequencies

Conventional Gray Codes

Max min-stripe-width Gray Codes

Page 117: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Ensemble of Codes for General Scenes

Conventional Gray (10 images) Max min-SW Gray (10 images)

XOR-04 (10 images) XOR-02 (10 images)

Page 118: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Reconstructing General Scenes

Page 119: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Ensemble of Codes for General Scenes

Conventional Gray (10 images) Max min-SW Gray (10 images)

XOR-04 (10 images) XOR-02 (10 images)

Return the

consistent value

Ensemble of Codes (41 images)

Page 120: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Conventional Gray

(11 images)

Our Technique

(41 images)

Modulated Phase-Shifting

(162 images)

Shape Comparison

Page 121: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Qualitative Light Transport Analysis

Inter-reflections

(Both XOR codes agree)

Sub-surface Scattering

(Both Gray codes agree)

All four codes agree

Error-Detection

(all four codes different)

Page 122: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Translucent Wax Candle

Modulated Phase-

Shifting (162 images)

Our Ensemble Codes

(41 images)Scene

Errors due to strong

sub-surface scattering

Page 123: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Modulated Phase-

Shifting (162 images)

Our Ensemble Codes

(41 images)Scene

Translucent Wax Object

Errors due to strong

sub-surface scattering

Page 124: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Ikea Lamp

Diffusion +

Inter-reflections

Page 125: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Depth-Map Comparison

Regular Gray Codes (11 images) Our Ensemble Codes (41 images)

Page 126: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Visualization using our ensemble codes

Page 127: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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.

Page 128: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Shape Comparisons

Phase-Shifting (18 images)Regular Gray Codes (11 images)

Our XOR Codes (11 images)

Page 129: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Fruit Basket: Multiple Effects

Sub-surface Scattering Inter-reflections

Page 130: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Regular Gray (11 images) Phase-Shifting (18 images)

Depth-maps with previous state of the art

Page 131: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Regular Gray (11 images) Modulated Phase-Shifting (162 images)

Depth-maps with previous state of the art

Page 132: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Depth-maps with our Ensemble Codes

Our Ensemble Codes (41 images)

Page 133: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Visualizations with our ensemble codes

Page 134: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Visualization with our ensemble codes

Page 135: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Bowls and Milk: Multiple Effects

Interreflections

Subsurface Scattering

Page 136: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Phase-Shifting (18 images) Modulated Phase-Shifting (162 images)

Our XOR Codes (11 images)Regular Gray Codes (11 images)

Page 137: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

3D Visualizations with our ensemble codes

Page 138: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Flower-Vase

Diffusion

Sub-surface Scattering

Page 139: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Comparison

Phase-Shifting (18 images) Regular Gray Code (11 images)

Modulated Phase-Shifting (162 images) Our Ensemble Codes (41 images)

Page 140: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Comparison

Phase-Shifting (18 images) Regular Gray Code (11 images)

Modulated Phase-Shifting (162 images) Our Ensemble Codes (41 images)

Page 141: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Shape Using Ensemble Codes Wax Bowl

Multiple Global Illumination Effects

Page 142: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Shape Using Ensemble Codes Deep Wax Container

Multiple Global Illumination Effects

Page 143: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Lamp made of shiny brushed metal

Strong and high-frequency inter-reflections

Page 144: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Regular Gray (11 images) Our Ensemble Codes (41 images)

Depth Map Comparison

Page 145: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Another look at epipolar imaging

Page 146: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Epipolar imaging camera

Rectified camera-projector pair.

Page 147: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Regular Imaging

Light Source Sensor

Page 148: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Regular Imaging

Light Source Sensor

Page 149: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Regular Imaging

Light Source Sensor

Page 150: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Regular Imaging

Light Source Sensor

Page 151: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Epipolar Imaging

Light Source Sensor & Mask

Epipolar Plane

Page 152: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Epipolar Imaging

Light Source Sensor & Mask

Page 153: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Epipolar Imaging

Light Source Complete Image

Page 154: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Epipolar Imaging

Light Source Sensor & Mask

Page 155: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

Epipolar Imaging

Light Source Sensor & Mask

Page 156: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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.

Page 157: Stereo and structured light - Computer Graphicsgraphics.cs.cmu.edu/courses/15-463/2018_fall/lectures/lecture20.pdf · Fall 2018, Lecture 20. Course announcements •Homework 5 is

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.

References