Lecture 9: Epipolar Geometry

Post on 25-Dec-2021

13 views 0 download

Transcript of Lecture 9: Epipolar Geometry

Lecture 9 -

Fei-Fei Li

Lecture 9: Epipolar Geometry

Professor Fei-Fei Li Stanford Vision Lab

24-Oct-12 1

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

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)

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

Lecture 9 -

Fei-Fei Li 24-Oct-12 5

Two eyes help!

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

Lecture 9 -

Fei-Fei Li 24-Oct-12 7

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

211

2 PMpdPMpd +

O1 O2

p1

p2

P

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)

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)

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

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

Lecture 9 -

Fei-Fei Li 24-Oct-12 12

Example: Converging image planes

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

Lecture 9 -

Fei-Fei Li 24-Oct-12 14

Example: Parallel image planes

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

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?

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.

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'=

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'=

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 ′×

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”

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)

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

Lecture 9 -

Fei-Fei Li 24-Oct-12 24

Triangulation

PMP →

=→

vu

p [ ]0IKM =unknown

O O’

p

p’

P

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 =′→

Lecture 9 -

Fei-Fei Li 24-Oct-12 26

Triangulation

O O’

p

p’

P

0pFpT =′

F = Fundamental Matrix (Faugeras and Luong, 1992)

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

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

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

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

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)

Lecture 9 -

Fei-Fei Li 24-Oct-12 32

Estimating F

0pFpT =′

Let’s take 8 corresponding points

Lecture 9 -

Fei-Fei Li 24-Oct-12 33

Estimating F

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

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

Lecture 9 -

Fei-Fei Li 24-Oct-12 36

Example D

ata

cour

tesy

of R

. Moh

r and

B. B

oufa

ma.

Lecture 9 -

Fei-Fei Li 24-Oct-12 37

Example

Mean errors: 10.0pixel 9.1pixel

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?

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

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

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)

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’

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

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

Lecture 9 -

Fei-Fei Li 24-Oct-12 45

Rectification

p’

P

p

O O’

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

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

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

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

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’?

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’

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)

Lecture 9 -

Fei-Fei Li 24-Oct-12 52

Rectification

H

Courtesy figure S. Lazebnik

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

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

Lecture 9 -

Fei-Fei Li 24-Oct-12 55

Application: view morphing

Lecture 9 -

Fei-Fei Li 24-Oct-12 56

Application: view morphing

Lecture 9 -

Fei-Fei Li 24-Oct-12 57

Application: view morphing

Lecture 9 -

Fei-Fei Li 24-Oct-12 58

Application: view morphing

Lecture 9 -

Fei-Fei Li 24-Oct-12 59

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

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

Lecture 9 -

Fei-Fei Li

Supplementary materials

24-Oct-12 61

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

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]

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

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

Lecture 9 -

Fei-Fei Li

Projective transformation of a line (in 2D)

lHl T−→

=

bvtA

H

24-Oct-12 66

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