E
Essential Matrix 16-385 Computer Vision (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 epipolar geometry 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: Cross Product 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?