E

Essential 16-385 (Kris Kitani) Carnegie Mellon University Recall:Epipolar constraint

p

l0 x l x0 o o0 e e0

Potential matches for x lie on the epipolar line l0 The is an important concept for stereo vision

Task: Match point in left image to point in right image

Left image Right image

How would you do it? The epipolar constraint is an important concept for stereo vision

Task: Match point in left image to point in right image

Left image Right image

Epipolar constrain reduces search to a single line

How do you compute the epipolar line? Essential Matrix E The Essential Matrix is a 3 x 3 matrix that encodes epipolar geometry Given a point in one image, multiplying by the essential matrix will tell us the epipolar line in the second view.

Ex = l0 X

l0 x x0 o o0 e e0 Representing the … Epipolar Line a ax + by + c =0 in vector form l = b 2 c 3 4 5 l If the point x is on the epipolar line l then e

x x>l =? Epipolar Line a ax + by + c =0 in vector form l = b 2 c 3 4 5 l If the point x is on the epipolar line l then e

x x>l =0 Recall: Dot Product

c = a b ⇥ b

a

c a =0 c b =0 · ·

dot product of two orthogonal vectors is zero vector representing the line is normal (orthogonal) to the plane

a l = b 2 c 3 4 5 x x>l =? o

vector representing the point x is inside the plane

Therefore: x>l =0 So if x > l =0 and E x = l 0 then

x0>Ex =?

X

l0 x x0 o o0 e e0 So if x > l =0 and E x = l 0 then

x0>Ex =0

X

l0 x x0 o o0 e e0 Motivation

The Essential Matrix is a 3 x 3 matrix that encodes epipolar geometry

Given a point in one image, multiplying by the essential matrix will tell us the epipolar line in the second view. Essential Matrix vs Homography

What’s the difference between the essential matrix and a homography? Essential Matrix vs Homography

What’s the difference between the essential matrix and a homography?

They are both 3 x 3 matrices but … Essential Matrix vs Homography

What’s the difference between the essential matrix and a homography?

They are both 3 x 3 matrices but …

l0 = Ex x0 = Hx

Essential matrix maps a Homography maps a point to a line point to a point Where does the Essential matrix come from? X

x x0 o o0 t

R, t

x0 = R(x t) X

x x0 o o0 t

R, t

x0 = R(x t) Does this look familiar? X

x x0 o o0 t

R, t

x0 = R(x t) Camera-camera transform just like world-camera transform X

x x0 o o0 t

These three vectors are coplanar x, t, x0 X

x x0 o o0 t

If these three vectors are coplanar x , t , x 0 then x>(t x)= ? ⇥ X

x x0 o o0 t

If these three vectors are coplanar x , t , x 0 then x>(t x)=0 ⇥ Recall: Vector (cross) product takes two vectors and returns a vector perpendicular to both

c = a b ⇥

b

a

c a =0 c b =0 · · X

x x0 o o0 t

If these three vectors are coplanar x , t , x 0 then

(x t)>(t x)= ? ⇥ X

x x0 o o0 t

If these three vectors are coplanar x , t , x 0 then

(x t)>(t x)=0 ⇥ putting it together

rigid motion coplanarity x0 = R(x t) (x t)>(t x)=0 ⇥ (x0>R)(t x)=0 ⇥ putting it together

rigid motion coplanarity x0 = R(x t) (x t)>(t x)=0 ⇥ (x0>R)(t x)=0 ⇥ (x0>R)([t ]x)=0 ⇥ Cross product a b a b 2 3 3 2 a b = a3b1 a1b3 ⇥ 2 a b a b 3 1 2 2 1 4 5

Can also be written as a matrix multiplication

0 a a b 3 2 1 a b =[a] b = a3 0 a1 b2 ⇥ ⇥ 2 a a 0 3 2 b 3 2 1 3 4 Skew symmetric 5 4 5 putting it together

rigid motion coplanarity x0 = R(x t) (x t)>(t x)=0 ⇥ (x0>R)(t x)=0 ⇥ (x0>R)([t ]x)=0 ⇥ x0>(R[t ])x =0 ⇥ putting it together

rigid motion coplanarity x0 = R(x t) (x t)>(t x)=0 ⇥ (x0>R)(t x)=0 ⇥ (x0>R)([t ]x)=0 ⇥ x0>(R[t ])x =0 ⇥

x0>Ex =0 putting it together

rigid motion coplanarity x0 = R(x t) (x t)>(t x)=0 ⇥ (x0>R)(t x)=0 ⇥ (x0>R)([t ]x)=0 ⇥ x0>(R[t ])x =0 ⇥

Essential Matrix x0>Ex =0 [Longuet-Higgins 1981] properties of the E matrix

Longuet-Higgins equation x0>Ex =0

(points in normalized coordinates) properties of the E matrix

Longuet-Higgins equation x0>Ex =0

x>l =0 x0>l0 =0 Epipolar lines T l0 = Ex l = E x0

(points in normalized coordinates) properties of the E matrix

Longuet-Higgins equation x0>Ex =0

x>l =0 x0>l0 =0 Epipolar lines T l0 = Ex l = E x0

Epipoles e0>E = 0 Ee = 0

(points in normalized camera coordinates) How do you generalize to uncalibrated cameras?