geometry for computer vision - linköping university · in the calibrated case, epipolar geometry...

46
May 27, 2014 Computer Vision lecture 5b Computer Vision Laboratory Geometry for Computer Vision Lecture 5b Calibrated Multi View Geometry 1 Per-Erik Forssén

Upload: others

Post on 24-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Geometry for Computer VisionLecture 5b

Calibrated Multi View Geometry

1

Per-Erik Forssén

Page 2: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Overview• The 5-point Algorithm• Structure from Motion• Bundle Adjustment

2

Page 3: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Planar degeneracy

In the uncalibrated case, two view geometry is encoded by the fundamental matrix

3

x

T1 Fx2 = 0

Page 4: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Planar degeneracy

In the uncalibrated case, two view geometry is encoded by the fundamental matrix

If all scene points lie on a plane, or if the camera has undergone a pure rotation (no translation), we also have:

Big trouble!

4

x1 = Hx2

x

T1 Fx2 = 0

Page 5: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Planar degeneracyIf , then the epipolar constraint

becomesFor , this is true whenever M is

skew-symmetric, i.e.

5

x1 = Hx2

xT1 Fx2 = xT

1 FH�1x1 = 0

M = FH�1

MT + M = 0 M = [m]⇥,

Page 6: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Planar degeneracyIf , then the epipolar constraint

becomesFor , this is true whenever M is

skew-symmetric, i.e.

Thus where m may be chosen freely!

A two-parameter family of solutions.

6

MT + M = 0 M = [m]⇥,

x1 = Hx2

xT1 Fx2 = xT

1 FH�1x1 = 0

M = FH�1

F = [m]⇥ H

Page 7: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

The 5-point algorithmRecap from last week’s lecture...In the calibrated case, epipolar geometry

is encoded by the essential matrix, E according to:

7

T1 Ex̂2 = 0

Page 8: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

The 5-point algorithmRecap from last week’s lecture...In the calibrated case, epipolar geometry

is encoded by the essential matrix, E according to:

In the calibrated setting there are just two possibilities if a plane is seen. See Negahdaripour, Closed-form relationship between the two interpretations of a moving plane. JOSA90

8

T1 Ex̂2 = 0

Page 9: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

The 5-point algorithm• E can be estimated from 5 corresponding

points (see today’s paper).• A small sample is useful for RANSAC (le

3).• The plane degeneracy is essentially

avoided.• There are however up to 10 solutions for E

to test. Today’s paper!

9

Page 10: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

In lecture 4 we saw that:

...and how R and t (up to scale) can be retrieved from E, using the visibility constraint on a point correspondence.

10

E = [t]⇥R = R⇥RT t

⇤⇥

The 5-point algorithm

Page 11: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Estimation of the essential matrix is usually the first step in Structure from Motion (SfM)

11

Structure from Motion

Page 12: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Estimation of the essential matrix is usually the first step in Structure from Motion (SfM)

12

Input:

Output:

Structure from Motion

Page 13: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Structure from Motion

Definition:

Given a collection of imagesdepicting a static scenecompute the 3D scene structureand the position of each camera (motion)

13

Page 14: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

Cost function:

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Structure from Motion

14

" =KX

k=1

LX

l=1

vk,l||xk,l � proj(Rl(Xk � tl))||2

Page 15: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Structure from Motion

Definition of variables:

Given:

Sought:

By minimising:

15

{Xk}K1 , {Rl, tl}L1

xk,l visible at vk,l

"({Xk}K1 , {Rl, tl}L1 )

Page 16: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

Cost function:

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Structure from Motion

16

" =KX

k=1

LX

l=1

vk,l||xk,l � proj(Rl(Xk � tl))||2

Page 17: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

" =KX

k=1

LX

l=1

vk,l⇢(xk,l � proj(Rl(Xk � tl)))

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Structure from Motion

Robust cost function:

17

Page 18: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Structure from Motion

Challenges:

1. Non-linear cost function - least squares solution not possible2. Very large problem - efficiency is paramount3. Non-convex problem - many local minima

18

Page 19: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Structure from Motion

Typical solution:

1. Use an approximate method to find a solution close to the global min

2. Use a regularized Newton method (e.g. Levenberg-Marquardt) to refine the solution. This is called Bundle Adjustment (BA)

19

Page 20: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Incremental Structure from Motion

Incremental Structure from Motion.

20

Page 21: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Incremental Structure from Motion

Natural approach if the input is a video.

Used in many open source packages e.g.:1. Bundler by Noah Snavely

http://www.cs.cornell.edu/~snavely/bundler/2. The Visual SFM package:

http://ccwu.me/vsfm/

21

Page 22: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Structure from Motion

Parallel Incremental Bundle Adjustment.(From an unordered image collection)

1. Building Rome in a Day, Agawal, Snavely, Simon, Seitz, Szeliski, ICCV 2009

2. Building Rome on a Cloudless Day, Frahm, Georgel, Gallup, Johnsson, Raguram, Wu, Yen, Dun, Clip, Lazebnik, Pollefeys, ECCV 2010

22

Page 23: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfMSolve for rotation first [Martinec and Pajdla CVPR07]

1. Find Euclidean reconstructions from pairs of views.

2. Solve for all absolute orientations

3. Solve for translations with a reduced point set

23

Page 24: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfMSolve for rotation first [Martinec and Pajdla CVPR07]

1. Find Euclidean reconstructions from pairs of views.Results in

2. Solve for all absolute orientations

using:

24

Rl,m, tl,m , l,m 2 [1 . . . L]

Rl , l 2 [1 . . . L]

Rl(:, i)�Rl,mRm(:, i) = 0 , i 2 [1, 2, 3]

Page 25: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfM2. Solve for all absolute orientations

using:

This results in a large sparse linear system.

All can be found from the three smallest eigenvectors to the system (orthogonality of is enforced after estimation).

25

Rl , l 2 [1 . . . L]

Rl(:, i)�Rl,mRm(:, i) = 0 , i 2 [1, 2, 3]

RlRl

Page 26: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfM2. Solve for all absolute orientations

Martinec and Pajdla used eigs in Matlab and this took0.37 sec, to solve for 259 views, and 2049 relative orientations. (we’ve also tested this with similar results)

26

Page 27: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfM3. Solve for translations with a reduced point set

Idea: look at

and find just four representatives Xk that span M(Matlab code provided in paper)

27

M = [m1 · · · ] ,where mk = [Rl|tl]Xk

Page 28: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfM3. Solve for translations with a reduced point set

28

Page 29: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfMMartinec and Pajdla method timing:

46 frame example. 186131 3D points.Full BA took 3h 6 min, max residual 98.57 pixelsReduced BA took 4.68 sec, max residual 98.46 pixels>2000x speedup (compared to using all points)

29

Page 30: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfMBonus feature: Better detection of incorrect EG.

30

Page 31: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Rotation based SfMAlso extended by Enqvist, Kahl, and Olsson,

Non-Sequential Structure from Motion, ICCV11 workshop

• Better detection of incorrect epipolar-geometries• Translations are found using Using Second Order Cone

Programming(SOCP). Auxiliary variables are used to be robust to outliers.

31

Page 32: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Why bundle adjustment?

A decent 3D model can often be found by incrementally adding new cameras using PnP (or even using today’s paper)

But...

32

Page 33: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Why bundle adjustment?

A decent 3D model can often be found by incrementally adding new cameras using PnP (or even using today’s paper)

But for long trajectories, errors will start to accumulate.

33

Page 34: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

BA is essentially ML over all image correspondences given all cameras, and all 3D points.

34

{R⇤, t⇤,X⇤} = arg min{R,t,X}

X

k,l

d(xkl,K[Rk|tk]Xl)2

Bundle Adjustment

Page 35: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

BA is essentially ML over all image correspondences given all cameras, and all 3D points. (Optionally also intrinsics.)

Needs initial guess. (Obtained by RANSAC on 5-point method and P3P)

35

{R⇤, t⇤,X⇤} = arg min{R,t,X}

X

k,l

d(xkl,K[Rk|tk]Xl)2

Bundle Adjustment

Page 36: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

The choice of parametrisation of 3D points, and camera rotations is important.

If both near and far points are seen, it might be better to usethan

Good choices for rotations are unit quarternions, and axis-angle vectors(lecture 7)

36

X = [X1, X2, X3, X4]T

X = [X1, X2, X3, 1]T

Bundle Adjustment

Page 37: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

Bundle adjustment cost function:

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Bundle Adjustment

37

" =KX

k=1

LX

l=1

vk,l||xk,l � proj(Rl(Xk � tl))||2

Page 38: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

Bundle adjustment cost function:

New notation:

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Bundle Adjustment

38

" =KX

k=1

LX

l=1

vk,l||xk,l � proj(Rl(Xk � tl))||2

"({Rl, tl}L1 , {Xk}K1 ) = "(x) = r(x)T r(x)

Page 39: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

New notation for cost function...

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Bundle Adjustment

39

"({Rl, tl}L1 , {Xk}K1 ) = "(x) = r(x)T r(x)

Page 40: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

New notation for cost function...

Taylor expansion...

Stationary point (set derivative of cost = 0)

Now solve for ....

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Bundle Adjustment

40

�x

"({Rl, tl}L1 , {Xk}K1 ) = "(x) = r(x)T r(x)

r(x+�x) ⇡ r(x) + J(x)�x

J(x)TJ(x)�x = �J(x)T r(x)

Page 41: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

Levenberg-Marqardt:

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Bundle Adjustment

41

Solving the normal

equations

Page 42: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

Jacobian and approximate Hessian matrices:

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Bundle Adjustment

42

J

TJ�x = �J

Tr(x)

Page 43: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

Shur complement from text book:

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Bundle Adjustment

43

Page 44: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

Comments:1. To solve for the cameras, Cholesky factorisation is used

instead of an explicit inverse.

2. For very large systems, sparse Cholesky solvers are preferable.

3. It quickly becomes impossible to store matrices explicitly, due to memory requirements(e.g. 200 cameras, 20K 3D points ➟ 30 TB for JTJ).

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Bundle Adjustment

44

Page 45: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

Too many details to mention!See the paper: Triggs et al., Bundle

Adjustment - A Modern Synthesis, LNCS Book chapter, 2000

45

Bundle Adjustment

Page 46: Geometry for Computer Vision - Linköping University · In the calibrated case, epipolar geometry is encoded by the essential matrix, E according to: In the calibrated setting there

May 27, 2014 Computer Vision lecture 5b

Computer Vision Laboratory

DiscussionDiscussion of the papers:

1. David Nistér, An Efficient Solution to the Five-Point Relative Pose Problem, CVPR’03

2. Long Quan, Invariants of six points and projective reconstruction from three uncalibrated images, TPAMI’95

46