Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic...

44
(c) 2010 Per-Erik Forssén Geometry for computer Vision Lecture 4a: Calibrated and oriented Epipolar Geometry

Transcript of Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic...

Page 1: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Geometry for computer Vision

L e c t u r e 4 a :C a l i b r a t e d a n d o r i e n t e d

E p i p o l a r G e o m e t r y

Page 2: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Lecture 4a: calibrated and oriented EPG

Extrinsic and intrinsic camera parameters

Zhang’s camera calibration

Calibrated epipolar geometry

Oriented epipolar geometry

Discussion of the paper:Mendonça and Cippolla, A Simple Technique for Self-Calibration, CVPR99

2

Page 3: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

The Pin-Hole Camera

A brightly illuminated scene will be projected onto a wall opposite of the pin-hole.

The image is rotated .

3

180◦

Page 4: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

The Pin-Hole Camera

From similar triangles we get:

4

x = fX

Zy = f

Y

Z

γ

xy1

=

f 0 00 f 00 0 1

XYZ

Page 5: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

The Pin-Hole Camera

More generally, we write:

f-focal length, s-skew, a-aspect ratio,c-projection of optical centre

5

γ

xy1

=

f 0 00 f 00 0 1

XYZ

γ

xy1

=

f s cx

0 fa cy

0 0 1

XYZ

Page 6: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

The Pin-Hole Camera

Motivation:

f-focal length, s-skew, a-aspect ratio,c-projection of optical centre

x ∼ KX̃

6

λ

xy1

����x

=

f s cx

0 fa cy

0 0 1

� �� �K

XYZ

� �� �X̃

Page 7: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

The Pin-Hole CameraFor a general position of the world coordinate system (WCS) we have:

x ∼ K

r11 r12 r13 t1r21 r22 r23 t2r31 r32 r33 t3

� �� �[R|t]

XYZ1

� �� �X

7

Page 8: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

The Pin-Hole CameraFor a general position of the world coordinate system (WCS) we have:

K contains the intrinsic parameters

[R | t] contain the extrinsic parameters

x ∼ K

r11 r12 r13 t1r21 r22 r23 t2r31 r32 r33 t3

� �� �[R|t]

XYZ1

� �� �X

8

Page 9: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Normalised coordinatesMetric points transformed to the camera’s coordinate system are called normalised image coordinates

In contrast to regular image coordinates

K contains the intrinsic parameters

[R | t] contain the extrinsic parameters

9

x ∼ K [R|t]X

x̂ ∼ [R|t]X

x = Kx̂

Page 10: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibrationZhang’s camera calibration (A flexible new technique for camera calibration, PAMI 2000)

In OpenCV, and in Matlab toolbox

Finds K from 3 or more photos of a planarcalibration target

OpenCV also findsradial distorsion(omitted here).

10

Page 11: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibrationWe now imagine a world coordinate system fixed to the planar target

γ

xy1

= K

r11 r12 r13 t1r21 r22 r23 t2r31 r32 r33 t3

XYZ1

11

Page 12: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibrationWe now imagine a world coordinate system fixed to the planar target

γ

xy1

= K

r11 r12 t1r21 r22 t2r31 r32 t3

XY1

=

h11 h12 h13

h21 h22 h23

h31 h32 h33

� �� �H

XY1

12

Page 13: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

If we estimate a homography between the image and the model plane (lecture 3) we know H

We also know that and

13

rT1 r2 = 0 rT

1 r1 = rT2 r2

H = [h1 h2 h3] = K [r1 r2 t]

Page 14: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

If we estimate a homography between the image and the model plane (lecture 3) we know H

We also know that and

14

rT1 r2 = 0 rT

1 r1 = rT2 r2

H = [h1 h2 h3] = K [r1 r2 t]

hT1 K−T K−1h2 = 0

hT1 K−T K−1h1 = hT

2 K−T K−1h2

Page 15: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

For a K of the form

It can be shown that (use e.g. Maple)

15

K−T K−1 = B =

1α2 − γ

α2βv0γ−u0β

α2β

− γα2β

γ2

α2β2 + 1β2 −γ(v0γ−u0β)

α2β2 − v0β2

v0γ−u0βα2β −γ(v0γ−u0β)

α2β2 − v0β2

(v0γ−u0β)2

α2β2 + v20

β2 + 1

K =

α γ u0

0 β v0

0 0 1

Page 16: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

For a K of the form

It can be shown that (use e.g. Maple)

Remember our constraints and

16

K−T K−1 = B =

1α2 − γ

α2βv0γ−u0β

α2β

− γα2β

γ2

α2β2 + 1β2 −γ(v0γ−u0β)

α2β2 − v0β2

v0γ−u0βα2β −γ(v0γ−u0β)

α2β2 − v0β2

(v0γ−u0β)2

α2β2 + v20

β2 + 1

K =

α γ u0

0 β v0

0 0 1

hT1 Bh2 = 0 hT

1 Bh1 − hT2 Bh2 = 0

Page 17: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

As B is symmetric

17

B =

b1 b2 b4

b2 b3 b5

b4 b5 b6

Page 18: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

As B is symmetric

If we now define

The constraints can be written as

18

B =

b1 b2 b4

b2 b3 b5

b4 b5 b6

b =�b1 b2 b3 b4 b5 b6

�T

�vT

12

(v11 − v22)T

�b = 0

vij = [hi1hj1, hi1hj2 + hi2hj1, hi2hj2, hi3hj1 + hi1hj3, hi3hj2 + hi2hj3, hi3hj3]T

Page 19: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

Each view of the plane gives us two rows in the system:

As b has 6 unknowns, we need 3 views of the plane.

Two views can also work if we require

19

Vb = 0

γ = 0

Page 20: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

Once b has been estimated, we can extract the parameters in K according to

20

v0 = (b2b4 − b1b5)/(b1b3 − b22)

λ = b6 − (b23 + v0(b2b4 − b1b5)/b1

γ = −b2α2β/λ

u0 = γv0α− b4α2/λ

α =�

λ/b1

β =�

λb1/(b1b3 − b22)

Page 21: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

Once b has been estimated, we can extract the parameters in K according to

The book instead suggests Cholesky factorisation21

v0 = (b2b4 − b1b5)/(b1b3 − b22)

λ = b6 − (b23 + v0(b2b4 − b1b5)/b1

γ = −b2α2β/λ

u0 = γv0α− b4α2/λ

α =�

λ/b1

β =�

λb1/(b1b3 − b22)

Page 22: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

Once K is computed we can also find the extrinsic camera parameters R,t for each image:

( )

22

r1 = λK−1h1 r2 = λK−1h2 r3 = r1 × r2

R = [r1 r2 r3] t = λK−1h3

λ = 1/||K−1h1|| = 1/||K−1h2||

Page 23: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

Once K is computed we can also find the extrinsic camera parameters R,t for each image:

Finally, K, Ri, ti are refined using ML (minimising the cost function)

23

r1 = λK−1h1 r2 = λK−1h2 r3 = r1 × r2

R = [r1 r2 r3] t = λK−1h3

arg minn�

i=1

m�

j=1

||xij − x̂(K,Ri, ti,Xj)||2

Page 24: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

So what about the initial homographies?

Assign each point a WCS value

24

H = K [r1 r2 t]X = [x y 0]T

Page 25: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

So what about the initial homographies?

Assign each point a WCS value Do we need to know which point is the upper left one on the checker-board? Why not?

25

H = K [r1 r2 t]X = [x y 0]T

Page 26: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

Can we use any combination images of the calibration plane?

26

Page 27: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Camera calibration

Can we use any combination images of the calibration plane?

The constraints used: andhave to be linearly independent.

Planes must not be parallel!

27

rT1 r2 = 0 rT

1 r1 = rT2 r2

Page 28: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Calibrated epipolar geometry

Rotational homography

28

λx1 = KX

λx2 = KRX

Page 29: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Calibrated epipolar geometry

Rotational homography

Can be efficiently computed using the Procrustes algorithm (le 7)

29

λx1 = KX

λx2 = KRX

λx2 = KRK−1x1

H = KRK−1

Page 30: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Calibrated epipolar geometry

Recall the epipolar constraint

30

xT1 Fx2 = 0

Page 31: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Calibrated epipolar geometry

Recall the epipolar constraint

...and the normalised image coordinates

We can instead express the epipolar constraint in normalised coordinates

The matrix E is called the essential matrix.It has some interesting properties...

31

xT1 Fx2 = 0

x = Kx̂

x̂T1 KT

1 FK2x̂2 = 0 or x̂T1 Ex̂2 = 0

Page 32: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Calibrated epipolar geometry

In lecture 2 we saw that for cameras P1 and P2:

Now, if

We get and

32

P+2 =

�K−1

2

0T

F = [e12]×P1P+2

P2 = K2 [I|0] and P1 = K1 [R|t]

F = [K1t]×K1RK−12

e12 = P1O2

Page 33: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Calibrated epipolar geometry

Using the cross-product-commutator rule:(A4.3)

on

...we may express F as either of

33

F = K−T1 [t]×RK−1

2 F = K−T1 R

�RT t

�×K−1

2

F = K−T1 R [t2]×K−1

2

[b]×A = det(A)A−T�A−1b

�×

F = [K1t]×K1RK−12

Page 34: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Calibrated epipolar geometry

This gives us the essential matrix expressions:

E has only 5 dof (3 from R, 2 from t)recall that F has 7

A necessary and sufficient condition on E is that it has the singular values [a,a,0](see 9.6.1 in the book for proof)

34

E = [t]×R = R�RT t

�×

Page 35: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Calibrated epipolar geometry

This gives us the essential matrix expressions:

We can extract R and t (up to scale) from Eif we also make use of one point correspondence (a 3D point known to be in front of both cameras). See 9.6.2 in the book.

35

E = [t]×R = R�RT t

�×

Page 36: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Oriented epipolar geometry

The regular epipolar constraintignores the knowledge that points are in frontof the camera.

36

xT1 Fx2 = 0

Page 37: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Oriented epipolar geometry

The oriented epipolar constraint properly distinguishes points in front and behind of the camera

37

λe1 × x1 = Fx2 , λ ∈ R+

Page 38: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Oriented epipolar geometry

The oriented epipolar constraint compares oriented lines and

Sign of F needs to be determined

38

λe1 × x1 Fx2

Page 39: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Oriented epipolar geometry

The oriented epipolar constraint compares oriented lines and

Sign of F needs to be determined

A point is said to be in front of the camera if and behind the camera otherwise.

Use a trusted correspondence (e.g. one used to estimate F) to determine sign

39

λe1 × x1 Fx2

λ [x1 x2 1]T

λ > 0

Page 40: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Oriented epipolar geometry

The oriented epipolar constraint compares oriented lines and

1. Ensure correct sign of F

2. Compare the lines by checking the sign of the scalar product of the line normals

(elements 1 and 2 only) Why?40

λe1 × x1 Fx2

l1 = λ [cos φ1 sin φ1 − ρ1]T

l2 = λ [cos φ2 sin φ2 − ρ2]T

Page 41: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Oriented epipolar geometry

What if the points are noisy?

Small amounts of noise in x1 or x2 may cause in or to change sign!

41

l = λ [cos φ sin φ − ρ]T

λe1 × x1 Fx2ρ

Page 42: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Oriented epipolar geometry

Usage:

The oriented epipolar constraint can be used to quickly reject a hypothesized F inside a RANSAC loop.

See: Chum, Werner and Matas, Epipolar Geometry Estimation via RANSAC benefits from the Oriented Epipolar Constraint, ICPR04

42

Page 43: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

Discussion

Discussion of the paper:Mendonça and Cippolla, A Simple Technique for Self-Calibration, CVPR99

43

Page 44: Geometry for computer Vision - cvl.isy.liu.se · Lecture 4a: calibrated and oriented EPG Extrinsic and intrinsic camera parameters Zhang’s camera calibration Calibrated epipolar

( c ) 2 0 1 0 P e r - E r i k F o r s s é n

for next week...

A selection from chapters 15 and 16(see email).

David Nistér, An Efficient Solution to the Five-Point Relative Pose Problem, PAMI04

44