lecture 9: epipolar geometry

67
Lecture 9 - Fei-Fei Li Lecture 9: Epipolar Geometry Professor Fei-Fei Li Stanford Vision Lab 24-Oct-12 1

Upload: others

Post on 25-Dec-2021

13 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Lecture 9: Epipolar Geometry

Professor Fei-Fei Li Stanford Vision Lab

24-Oct-12 1

Page 2: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

What we will learn today?

• Why is stereo useful? • Epipolar constraints • Essential and fundamental matrix • Estimating F (Problem Set 2 (Q2)) • Rectification

24-Oct-12 2

Reading: [HZ] Chapters: 4, 9, 11 [FP] Chapters: 10

Page 3: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 3

Recovering structure from a single view Pinhole perspective projection

C

Ow

P p

Calibration rig

Scene

Camera K

Why is it so difficult?

Intrinsic ambiguity of the mapping from 3D to image (2D)

Page 4: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 4

Recovering structure from a single view Pinhole perspective projection

Intrinsic ambiguity of the mapping from 3D to image (2D)

Cour

tesy

slid

e S.

Laz

ebni

k

Page 5: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 5

Two eyes help!

Page 6: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 6

Two eyes help!

O2 O1

p2

p1

?

This is called triangulation

K =known K =known

R, T

Page 7: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 7

Triangulation • Find X that minimizes ),(),( 22

211

2 PMpdPMpd +

O1 O2

p1

p2

P

Page 8: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 8

Stereo-view geometry

• Correspondence: Given a point in one image, how

can I find the corresponding point p’ in another one?

• Camera geometry: Given corresponding points in two images, find camera matrices, position and pose.

• Scene geometry: Find coordinates of 3D point from its projection into 2 or multiple images.

This lecture (#9)

Page 9: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 9

Stereo-view geometry

• Correspondence: Given a point in one image, how

can I find the corresponding point p’ in another one?

• Camera geometry: Given corresponding points in two images, find camera matrices, position and pose.

• Scene geometry: Find coordinates of 3D point from its projection into 2 or multiple images.

Next lecture (#10)

Page 10: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

What we will learn today?

• Why is stereo useful? • Epipolar constraints • Essential and fundamental matrix • Estimating F • Rectification

24-Oct-12 10

Reading: [HZ] Chapters: 4, 9, 11 [FP] Chapters: 10

Page 11: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 11

Epipolar geometry

• Epipolar Plane • Epipoles e1, e2

• Epipolar Lines • Baseline

O1 O2

p2

P

p1

e1 e2

= intersections of baseline with image planes = projections of the other camera center = vanishing points of camera motion direction

Page 12: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 12

Example: Converging image planes

Page 13: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 13

Example: Parallel image planes

O1 O2

P

e2 p1 p2

e2

• Baseline intersects the image plane at infinity • Epipoles are at infinity • Epipolar lines are parallel to x axis

Page 14: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 14

Example: Parallel image planes

Page 15: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 15

Example: Forward translation

• The epipoles have same position in both images • Epipole called FOE (focus of expansion)

O2

e1

e2

O2

Page 16: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 16

Epipolar Constraint

- Two views of the same object - Suppose I know the camera positions and camera matrices - Given a point on left image, how can I find the corresponding point on right image?

Page 17: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 17

Epipolar Constraint

• Potential matches for p have to lie on the corresponding epipolar line l’.

• Potential matches for p’ have to lie on the corresponding epipolar line l.

Page 18: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 18

Epipolar Constraint

=→

1vu

PMp

O O’

p

p’

P

R, T

′′

=′→1vu

PMp

[ ]01 IKM = [ ]TRKM 2'=

Page 19: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 19

Epipolar Constraint

O O’

p

p’

P

R, T

K1 and K2 are known (calibrated cameras)

[ ]0IM = [ ]TRM ='

[ ]01 IKM = [ ]TRKM 2'=

Page 20: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 20

Epipolar Constraint

O O’

p

p’

P

R, T

[ ] 0)pR(TpT =′×⋅Perpendicular to epipolar plane

)( pRT ′×

Page 21: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 21

Cross product as matrix multiplication

baba ][0

00

×=

−−

−=×

z

y

x

xy

xz

yz

bbb

aaaa

aa

“skew symmetric matrix”

Page 22: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 22

Triangulation

O O’

p

p’

P

R, T

[ ] 0)pR(TpT =′×⋅ [ ] 0pRTpT =′⋅⋅→ ×

E = essential matrix (Longuet-Higgins, 1981)

Page 23: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 23

Triangulation

• E p2 is the epipolar line associated with p2 (l1 = E p2) • ET p1 is the epipolar line associated with p1 (l2 = ET p1) • E is singular (rank two) • E e2 = 0 and ET e1 = 0 • E is 3x3 matrix; 5 DOF

O1 O2

p2

P

p1

e1 e2

l1 l2

Page 24: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 24

Triangulation

PMP →

=→

vu

p [ ]0IKM =unknown

O O’

p

p’

P

Page 25: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 25

Triangulation

O O’

p

p’

P

[ ] 0pRTpT =′⋅⋅ ×

pKp 1−→The image part with relationship ID rId8 was not found in the file.

[ ] 0)( 12

11 =′⋅⋅→ −

×− pKRTpK T

[ ] 0121 =′⋅⋅ −

×− pKRTKp TT 0pFpT =′→

Page 26: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 26

Triangulation

O O’

p

p’

P

0pFpT =′

F = Fundamental Matrix (Faugeras and Luong, 1992)

Page 27: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 27

Triangulation

O1 O2

p2

P

p1

e1 e2

• F p2 is the epipolar line associated with p2 (l1 = F p2) • FT p1 is the epipolar line associated with p1 (l2 = FT p1) • F is singular (rank two) • F e2 = 0 and FT e1 = 0 • F is 3x3 matrix; 7 DOF

Page 28: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 28

Why is F useful?

- Suppose F is known - No additional information about the scene and camera is given - Given a point on left image, how can I find the corresponding point on right image?

l’ = FT p p

Page 29: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 29

Why is F useful?

• F captures information about the epipolar geometry of 2 views + camera parameters

• MORE IMPORTANTLY: F gives constraints on how the scene changes under view point transformation (without reconstructing the scene!)

• Powerful tool in: • 3D reconstruction • Multi-view object/scene matching

Page 30: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

• Why is stereo useful? • Epipolar constraints • Essential and fundamental matrix • Estimating F (Problem Set 2 (Q2)) • Rectification

24-Oct-12 30

What we will learn today?

Reading: [HZ] Chapters: 4, 9, 11 [FP] Chapters: 10

Page 31: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 31

Estimating F

O O’

p

p’

P The Eight-Point Algorithm

′′

=′→1vu

pP

=→

1vu

pP 0pFpT =′

(Hartley, 1995)

(Longuet-Higgins, 1981)

Page 32: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 32

Estimating F

0pFpT =′

Let’s take 8 corresponding points

Page 33: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 33

Estimating F

Page 34: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 34

Estimating F

Lsq. solution by SVD!

• Rank 8 A non-zero solution exists (unique)

• Homogeneous system

• If N>8 F̂

f

1=f

W 0=fW

Page 35: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 35

Estimating F

0pF̂pT =′The estimated F may have full rank (det(F) ≠0) (F should have rank=2 instead)

0F̂F =−Find F that minimizes

Subject to det(F)=0

Frobenius norm (*)

SVD (again!) can be used to solve this problem

^ ^

(*) Sqrt root of the sum pf squares of all entries

Page 36: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 36

Example D

ata

cour

tesy

of R

. Moh

r and

B. B

oufa

ma.

Page 37: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 37

Example

Mean errors: 10.0pixel 9.1pixel

Page 38: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 38

Normalization

Is the accuracy in estimating F function of the ref. system in the image plane?

iii pTq = iii pTq ′′=′

E.g. under similarity transformation (T = scale + translation):

Does the accuracy in estimating F change if a transformation T is applied?

Page 39: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 39

Normalization

Why?

•The accuracy in estimating F does change if a transformation T is applied

•There exists a T for which accuracy is maximized

Page 40: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 40

Normalization

- SVD enforces Rank(W)=8

- Recall the structure of W: Highly un-balance (not well conditioned)

-Values of W must have similar magnitude

F1=f,0=fW Lsq solution

by SVD

More details HZ pag 108

Page 41: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 41

Normalization

IDEA: Transform image coordinate system (T = translation + scaling) such that:

• Origin = centroid of image points • Mean square distance of the data points from origin is 2 pixels

iii pTq = iii pTq ′′=′ (normalization)

Page 42: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 42

The Normalized Eight-Point Algorithm

1. Normalize coordinates:

2. Use the eight-point algorithm to compute F’q from the points q and q’ .

3. Enforce the rank-2 constraint.

4. De-normalize Fq:

i i

iii pTq = iii pTq ′′=′

0qFq qT =′

qF→

TFTF qT′=

0)Fdet( q =

0. Compute Ti and Ti’

Page 43: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 43

With

tr

ansf

orm

atio

n W

ithou

t tr

ansf

orm

atio

n

Mean errors: 10.0pixel 9.1pixel

Mean errors: 1.0pixel 0.9pixel

Example

Page 44: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

• Why is stereo useful? • Epipolar constraints • Essential and fundamental matrix • Estimating F • Rectification

24-Oct-12 44

What we will learn today?

Reading: [HZ] Chapters: 4, 9, 11 [FP] Chapters: 10

Page 45: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 45

Rectification

p’

P

p

O O’

• Make two camera images “parallel” • Correspondence problem becomes easier

Page 46: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 46

Rectification

O O

P

e2 p p’

e2

K K x

y

z

u

v

u

v

• Parallel epipolar lines • Epipoles at infinity • v = v’

Let’s see why….

Page 47: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 47

Rectification

K1=K2 = known x parallel to O1O2

RtE ][ ×=

O O

P

e2 p p’

e2

K K x

y

z

u

v

u

v

Page 48: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 48

baba ][0

00

×=

−−

−=×

z

y

x

xy

xz

yz

bbb

aaaa

aa

Cross product as matrix multiplication

Page 49: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 49

Rectification

K1=K2 = known x parallel to O1O2

−== ×

0000

000][

TTRtE

O O

P

e2 p p’

e2

K K x

y

z

u

v

u

v

→ v = v’?

Page 50: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 50

Rectification

( ) ( ) vTTvvTTvuv

u

TTvu ′==

′−=

′′

− 0

010

10000

0001

O O

P

e2 p p’

e2

K K x

y

z

u

v

u

v

0pEpT =′

→ v = v’

Page 51: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 51

Rectification

p’ p

O O’

H

GOAL of rectification : Estimate a perspective transformation H that makes images parallel Impose v’=v

• This leaves degrees of freedom for determining H • If not appropriate H is chosen, severe projective distortions on image take place • We impose a number of restriction while computing H [HZ] Chapters: 11 (sec. 11.12)

Page 52: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 52

Rectification

H

Courtesy figure S. Lazebnik

Page 53: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 53

Application: view morphing S. M. Seitz and C. R. Dyer, Proc. SIGGRAPH 96, 1996, 21-30

Page 54: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 54

Application: view morphing

If rectification is not applied, the morphing procedure does not generate geometrically correct interpolations

Page 55: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 55

Application: view morphing

Page 56: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 56

Application: view morphing

Page 57: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 57

Application: view morphing

Page 58: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 58

Application: view morphing

Page 59: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li 24-Oct-12 59

The Fundamental Matrix Song http://danielwedge.com/fmatrix/

Page 60: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

• Why is stereo useful? • Epipolar constraints • Essential and fundamental matrix • Estimating F (Problem Set 2 (Q2)) • Rectification

24-Oct-12 60

What we have learned today?

Reading: [HZ] Chapters: 4, 9, 11 [FP] Chapters: 10

Page 61: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Supplementary materials

24-Oct-12 61

Page 62: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Making image planes parallel

T21

T ]1ee[TRKe == TKe ′=′

Making image planes parallel

p’

P

p

e e’ K K’

R,T

[ ] PTRKP ′→[ ] P0IKP →

O O’

0. Compute epipoles

24-Oct-12 62

Page 63: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Making image planes parallel

1. Map e to the x-axis at location [1,0,1]T (normalization)

[ ]T101

→= T21 ]1ee[e

p’

P

p

e’

O O’

HHTRH =1

e

24-Oct-12 63

Presenter
Presentation Notes
AZ pag 304-305 One can find a a translation and rotation matrix Rh and Th that map the epipole to location [1 0 1]
Page 64: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Making image planes parallel

2. Send epipole to infinity:

p’ p

[ ]T101e =

−=

101010001

H2

P

[ ]T001

e

O O’

Minimizes the distortion in a neighborhood (approximates id. mapping)

24-Oct-12 64

Page 65: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Making image planes parallel

4. Align epipolar lines

p’ p

H = H2 H1

P

e

O O’

e’

3. Define: H = H2 H1

24-Oct-12 65

Page 66: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Projective transformation of a line (in 2D)

lHl T−→

=

bvtA

H

24-Oct-12 66

Page 67: Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Making image planes parallel

p’ p

H = H2 H1

P

e

O O’

e’

4. Align epipolar lines

3. Define: H = H2 H1 lHlH TT −− =′′These are called matched pair of transformation

l l′

[HZ] Chapters: 11 (sec. 11.12)

24-Oct-12 67