37
Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced Computer Vision Apps

Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Mysteries of Parameterizing Camera

Motion - Part 2Instructor - Simon Lucey

16-623 - Advanced Computer Vision Apps

Page 2: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Today

• Gauss-Newton and SO(3)

• Alternative Representations of SO(3)

• Exponential Maps

• SL(3) for Homographies

Page 3: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Example - Extrinsic Estimation

argmin✓

NX

n=1

||xn � ⇡(wn;✓)||22

x1

x2

x3

x4

✓ = [⌦, ⌧ ] “extrinsics”⇡(·) ! R3 : R2 “projection function”

Page 4: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Example - Extrinsic Estimation

argminy

||x� F(y)||22

Page 5: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Example - Structure from Motion

argminy

||x� F(y)||22

Page 6: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Reminder: Non-Linear Least Squares

• Many problems in vision can be expressed as solving a non-linear least-squares objective.

y

||x�F(y

)||2 2

Page 7: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Reminder: Gauss-Newton• Attempts to solve a non-linear least-squares problem by

approximating it at as a sequence of linear least-squares problems.

7

• If initialized properly, Gauss-Newton has quadratic convergence properties unlike steepest descent which is at most linear.

||x�F(y

)||2 2

y

Page 8: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Reminder: Gauss-Newton Algorithm

• Gauss-Newton algorithm common strategy for optimizing non-linear least-squares problems.

8

s.t. F : RN ! RM

Step 1:

Step 2:

keep applying steps until converges.

“Carl Friedrich Gauss”

“Isaac Newton”

argminy

||x� F(y)||22

argmin�y

||x� F(y)� @F(y)

@yT�y||22

y ! y +�y

�y

“Problem”

Page 9: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Reminder: Non-Convex Set

9

What happens if y belongs to a non-convex set?

Page 10: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Reminder: SO(3) is not a Convex Domain

• As is a rotation matrix it is constrained by the following,

• We refer to these matrices as belonging to the Special Orthogonal Group - SO(3).

⌦T⌦ = I

det(⌦) = 1

⌦1,⌦2 2 SO(3)

�⌦1 + (1� �)⌦2

s.t. 0 � 12/ SO(3), 8�

Page 11: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Today

• Gauss-Newton and SO(3)

• Alternative Representations of SO(3)

• Exponential Maps

• SL(3) for Homographies

Page 12: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Non-Uniqueness of Euler Angles

• We can define a rotation matrix through Euler angles.

12

• Euler angles do form a convex set.

• However, the representation is not unique as it is possible,

⌦(✓u, ✓v, ✓w) = ⌦(✓u)⌦(✓v)⌦(✓w)

⌦(✓u, ✓v, ✓w) = ⌦(✓0u, ✓0v, ✓

0w)

✓u 6= ✓0u ✓v 6= ✓0v ✓w 6= ✓0w

�⇡ ✓ ⇡

Page 13: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Example - Gimbal Lock

13

Page 14: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

• Extension of complex numbers they take the form,

• Unlike Euler angles, unit quaternions give a global parameterization of SO(3), at the cost of using four numbers instead of three to represent a rotation.

Quaternions

14

where i, j and k are fundamental quaternion units.

“William Rowan Hamilton”

q0 + q1 · i+ q2 · j + q3 · k

q =

2

664

q0q1q2q3

3

775 s.t. ||q||22 = 1

Page 15: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Quaternions - Problem

15

q0

q1

||q||22 = 1

q =

q0q1

Does q form a convex set?

Page 16: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Today

• Gauss-Newton and SO(3)

• Alternative Representations of SO(3)

• Exponential Maps

• SL(3) for Homographies

Page 17: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Right-hand rule

• Given three orthonormal 3D vectors (x,y, z)

z = x⇥ y

• Then,

Page 18: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Uniquely Defining Rotation

18

n

||n||2 = 1 �⇡ ✓ ⇡

Page 19: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Exponential Map

19

n

w(0)

w(✓)

w(✓) = ⌦(n, ✓)w(0)

Page 20: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Exponential Map

20

w(0)

w(✓)

n

@w(0)

@✓= [n]⇥w(0)

@w(0)

@✓

Page 21: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Exponential Map

21

nw(�✓)

w(�✓) ⇡ (I+�✓ · [n]⇥)w(0)

Page 22: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Exponential Map

22

n

w(✓) = (I+ ✓ · [n]⇥ +✓

2!· [n]2⇥ +

3!· [n]3⇥ + . . .)w(0)

w(✓)

w(0)

Page 23: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Exponential Map

23

n

w(✓)

w(✓) = exp(✓ · [n]⇥)w(0)

Page 24: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Exponential Map

24

• To more compactly represent a 3D rotation matrix,

• Would this work in MATLAB???

>> skew = @(n) [0,-n(3),n(2);… n(3),0,n(1);… -n(2),n(1),0]; >> R = exp(theta*skew(n));

⌦ = exp(✓[n]⇥)

>> R = expm(theta*skew(n));

Page 25: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Exponential Map = Convex Set

⌦(!) = exp([!]⇥)

! = ✓ · nwhere,

||n||2 = 1

�⇡ ✓ ⇡therefore,

! 2 R3

s.t. ||!||2 ⇡

!

Page 26: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Rodrigues Formula

• Rodrigues formula parametrizes a 3D rotation matrix uniquely in terms of the axis and angle.

26

n ✓

a⇥ b = [a]⇥b =

2

40 �a3 a2a3 0 �a1�a2 a1 0

3

5where,

R.M. Murray, Z. Li, and S.S. Sastry. “A Mathematical Introduction to Robotic Manipulation”. CRC Press, 1994.

Benjamin Olinde Rodrigues (6 October 1795 – 17 December 1851)

⌦ = I+ sin(✓)[n]⇥ + [1� cos(✓)][n]2⇥

[a]2⇥ = aaT � ||a||22I[a]3⇥ = �||a||22[a]⇥

Page 27: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Short Angle Approximation

• For many optimization problems in vision involving rotation matrices people try to take advantage of the short angle approximation.

27

sin(✓) ⇡ ✓cos(✓) ⇡ 1� ✓2

• In MATLAB type,

>> x = linspace(-1,1);

>> plot(x,sin(x),x,x,x,cos(x),x,1-x.*x);

Page 28: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Short Angle Approximation?

28

f(✓) = sin(✓)

f(✓) = cos(✓)

f(✓) = ✓

f(✓) = 1� ✓2

f(✓)

How could this be used to simplify linearization of ?⌦

Page 29: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Linearizing

29

⌦(! +�!) ⇡ ⌦(!) +@⌦(!)

@!x

�!x

+@⌦(!)

@!y

�!y

+@⌦(!)

@!z

�!z

• Naively we would linearize,

• Using the short angle approximation why is it better to?

⌦(�!) ⇡ I+ [�!]⇥Hint:

⌦(!)⌦(0+�!) ⇡ ⌦(!)

⇢@⌦(0)

@!x

�!x

+@⌦(0)

@!y

�!y

+@⌦(0)

@!z

�!z

! = [!x

,!y

,!z

]Twhere

||�!||22when is small!!!!

Page 30: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Reminder: Gauss-Newton Algorithm

• Gauss-Newton algorithm common strategy for optimizing non-linear least-squares problems.

30

s.t. F : RN ! RM

Step 1:

Step 2:

keep applying steps until converges.

“Carl Friedrich Gauss”

“Isaac Newton”

argminy

||x� F(y)||22

argmin�y

||x� F(y)� @F(y)

@yT�y||22

y ! y +�y

�y

“Is the update additive?”

Page 31: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Today

• Gauss-Newton and SO(3)

• Alternative Representations of SO(3)

• Exponential Maps

• SL(3) for Homographies

Page 32: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Reminder: Homographies

�1 �2

�3 = �2��11

Page 33: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

• Scale ambiguity is controlled by

Homographies are not Convex

“Scale Ambiguous”

det(�) = +1

Constraint is not convex!!!

Page 34: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

SL(3) Matrices

• Turns out any 3x3 matrix that has the constraint,

det(�) = +1

• called Special Linear Group of dimension 3 - SL(3). • Similar trick can be employed such that,

�(�) = exp

8X

k=1

�kAk

!

� 2 R8

Page 35: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

SL(3) Matrices

SL(3) on R2 on the left (i.e. w<H><p> ∈ R2). The mapw<H> : R2 → R2 defines a coordinate transformation (awarping) such that q = w<H><p>. Let I be the identityelement of the transformation group :

• w<I><p> is the identity map. i.e. ∀p ∈ R2:

w<I><p> = p (1)

• the composition of two actions corresponds to the actionof the composition, i.e ∀p ∈ R2, ∀H1, H2 ∈ SL(3):

w<H1><w<H2><p>> = w<H1H2><p> (2)

B. The Lie algebra of SL(3) and the exponential mapLet Ai, with i ∈ {1, 2, ..., 8}, be a basis of the Lie algebra

sl(3) (i.e. the dimension of sl(3) is 8). Any matrix A ∈ sl(3)can be written as a linear combination of the matrices Ai:

A(x) =8∑

i=1

xiAi (3)

where x = (x1, x2, ..., x8) is a (8×1) vector and xi is thei-th element of the base field. The Ai matrices are defined as:

A1 =

⎣001000000

⎦,A3 =

⎣010000000

⎦,A5 =

⎣1 0 00−100 0 0

⎦,A7 =

⎣000000100

A2 =

⎣000001000

⎦,A4 =

⎣000100000

⎦,A6 =

⎣0 0 00−100 0 1

⎦,A8 =

⎣000000010

(4)

The exponential map links the Lie algebra to the Lie Group:exp : sl(3) → SL(3). There exist an open cube v about 0 insl(3) and an open neighborhood U of the identity matrix I

in SL(3) such that exp : v → U is smooth and one-to-oneonto, with a smooth inverse. The neighborhood U of I is verylarge. Consequently, the homography matrix H can be locallyparameterized as:

H(x) = exp

(8∑

i=1

xiAi

)

III. GENERALIZED HOMOGRAPHY-BASED TRACKINGA. Unified projection modelFor sake of completeness, we present here a slightly modi-fied version of the projection model of Geyer [3] and Barreto[4] (Fig. 1). The projection of 3D points can be done in thefollowing steps (the values for ξ and γ are detailed Table I):1) world points in the mirror frame are projected onto theunit sphere, (X )Fm

→ (X s)Fm= X

∥X∥ = (Xs, Ys, Zs)2) the points are then changed to a new reference framecentered in Cp = (0, 0, ξ), (X s)Fm

→(X s)Fp=

(Xs, Ys, Zs − ξ)3) we then project the point onto the normalized plane,

m = ( Xs

Zs−ξ , Ys

Zs−ξ , 1) = !(X s)4) the final projection involves a generalized camera pro-jection matrix K (with γ the generalized focal length,

X

Xs

z⃗m

x⃗s

z⃗s

y⃗m

ξ

1

m

p

πm

Fm

Fp

Cmx⃗m

K

y⃗s

Cp

πp

Fig. 1. Unified image formation

(u0, v0) the principal point, s the skew and r the aspectratio)

p = Km =

⎣γ γs u0

0 γr v0

0 0 1

⎦m = k(m)

The function ! is bijective and

!−1(m) =

⎢⎢⎢⎣

−ξ−√

1+(1−ξ2)(x2+y2)

x2+y2+1 x−ξ−√

1+(1−ξ2)(x2+y2)

x2+y2+1 y−ξ−√

1+(1−ξ2)(x2+y2)

x2+y2+1 + ξ

⎥⎥⎥⎦(5)

We will call lifting the calculation of the point X s corre-sponding to a given point m (or p according to the context).We may note that in the perspective case, there is no mirrorand only points with Z > 0 are accepted (we thus fall backto the standard projection model with an extra normalizationto the sphere).

TABLE IUNIFIED MODEL PARAMETERS

ξ γParabola 1 −2pf

Hyperbola df√

d2+4p2

−2pf√

d2+4p2

Ellipse df√

d2+4p2

2pf√

d2+4p2

Planar 0 -fPerspective 0 f

d: distance between focal points4p: latus rectum

B. Minimization problemLet I∗ be the reference image. We will call reference tem-plate, a region of size q (rows × columns) of I∗ correspondingto the projection of a planar region of the scene.Two planar points are related by a homography H by

X = HX∗ so the projection of points, belonging to a planar

�(�) = exp

8X

k=1

�kAk

!

C. Mei, S. Benhimane, E. Malis and P. Rives, “Homography-based Tracking for Central Catadioptric Cameras”

Page 36: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

Lie Algebra

• Exponential maps on the SO(3) and SL(3) groups are related to the much broader topic of Lie Algebra.

• More details on this topic can be found at in Murray et al. 1994.

• Another group of particular interest in this group will be the SE(3) group.

“Sophus Lie”

T =

⌦ ⌧0T 1

Page 37: Lecture 11 - Mysteries of R - Part 216623.courses.cs.cmu.edu/slides/Lecture_11.pdf · Mysteries of Parameterizing Camera Motion - Part 2 Instructor - Simon Lucey 16-623 - Advanced

More to read…

• R.M. Murray, Z. Li, and S.S. Sastry. “A Mathematical Introduction to Robotic Manipulation”. CRC Press, 1994. (Excellent!!!)

A Mathematical Introduction to

Robotic Manipulation

Richard M. MurrayCalifornia Institute of Technology

Zexiang LiHong Kong University of Science and Technology

S. Shankar Sastry

University of California, Berkeley

c⃝1994, CRC PressAll rights reserved

This electronic edition is available fromhttp://www.cds.caltech.edu/∼murray/mlswiki.

Hardcover editions may be purchased from CRC Press,http://www.crcpress.com/product/isbn/9780849379819.

This manuscript is for personal use only and may not be reproduced, inwhole or in part, without written consent from the publisher.