Lecture5 Epipolar Geometry
Lecture5 Epipolar Geometry
Epipolar Geometry
P
p
Ow
Scene C
Calibration rig Camera K
Knowledge about scene (point correspondences, geometry of lines & planes, etc…
Recovering structure from a single view
Pinhole perspective projection
P
p
Ow
Scene C
Calibration rig Camera K
Why is it so difficult?
Intrinsic ambiguity of the mapping from 3D to image (2D)
Recovering structure from a single view
P = l × l"
[Eq. 1] P
l l'
p’
p
K =known K’ =known
R, T
O1 O2
P
P*
MP*
M’P*
p’
p
imag e2
e1 imag
O1 O2
Multi (stereo)-view geometry
• Camera geometry: Given corresponding points
in two images, find camera matrices, position
and pose.
p p’
e e’
O1 O2
• Epipolar Plane • Epipoles e, e’
• Baseline = intersections of baseline with image planes
= projections of the other camera center
• Epipolar Lines
Example of epipolar lines
Example: Parallel image planes
v v
e p p’ e’
u u
O1 O2
• Baseline intersects the image plane at infinity
• Epipoles are at infinity
• Epipolar lines are parallel to u axis
Example: Parallel Image Planes
Example: Forward translation
e’ P
O2
O1
Where is p’?
p
P Epipolar line 2
p p’
O1 O2
Epipolar Constraint
Epipolar line 2
p p’
Epipolar Constraint
P
v
p’
p
u
O1
R, T O2
" %
M = K !" I 0 #$ M ' = K '$ RT
#
−RT T '
&
! u $ " u! %
# & $ '
M P = # v & = p [Eq. 3] M ! P = $ v! ' = p' [Eq. 4]
# 1 & $ 1 '
" % # &
Epipolar Constraint ! 1 0 0 $
# &
K canonical =# 0 1 0 &
P # 0 0 1 &
" %
p’
p
O1
R, T O2
M = [I 0]
" % [Eq. 6]
[Eq. 5] M ' = $ RT −RT T '
# &
Epipolar Constraint
P
p’
p
O1
R, T O2
® p × [T ´ ( R p¢)] = 0
T
[Eq. 7]
Cross product as matrix multiplication
é 0 - az a y ù ébx ù
ê úê ú
a ´ b = ê az 0 - ax ú êby ú = [a´ ]b
ê- a y ax 0 úû êëbz úû
ë
Epipolar Constraint
P
p’
p
O1
R, T O2
p × [T ´ (R p¢)] = 0 ® p × [T´ ]× R p¢ = 0
T T
[Eq. 8] [Eq. 9]
E = Essential matrix
(Longuet-Higgins, 1981)
Epipolar Constraint
T P
p ⋅ E p' = 0
[Eq. 10]
p p’
l l’
e e’
O1 O2
p’
p
R, T
O1
O2
M = K[I 0] " T
M ' = K '$ R
#
T %
−R T '
&
pc = K −1 p [Eq. 11] pc! = K '−1 p! [Eq. 12]
−1 Epipolar Constraint
pc = K p
[Eq. 11] P
−1
pc! = K ' p!
[Eq. 12]
p’
p
O1
O2
[Eq.9]
× [T´ ]× R K¢ p¢ = 0 ® p F p¢ = 0
T -T -1 T
p K [Eq. 13]
Epipolar Constraint
P
p’
p
O1
O2
p F p¢ = 0 × [T´ ]× R K ¢
T -T -1
[Eq. 13]
F=K
[Eq. 14]
F = Fundamental Matrix
(Faugeras and Luong, 1992)
Epipolar Constraint
T P
p ⋅ F p' = 0
p p’
l l’
e e’
O1 O2
l’ = FT p
p p’
- Suppose F is known
- No additional information about the scene and camera is given
- Given a point on left image, we can compute the corresponding epipolar line in the second imag
Why F is useful?
• F captures information about the epipolar geometry of
2 views + camera parameters
p’
p
O1
O2
p F p¢ = 0
T
Estimating F
! u $ " u! %
[Eq. 13] p F p¢ = 0
T # &
p =# v &
$ '
p! = $ v! '
# 1 & $ 1 '
" % # &
!F $
# 11 &
# F12 &
# &
# F13 &
#F &
# 21 &
( )
ui u 'i ,ui v 'i ,ui ,vi u 'i ,vi v 'i ,vi ,u 'i ,vi ',1 # F22 & = 0 [Eq. 14]
# &
# F23 &
#F &
# 31 &
# F32 &
# &
" F33 %
Estimating F
æ F11 ö
æ u1u '1 u1v '1 u1 v1u '1 v1v '1 v1 u '1 v '1 1ö ç ÷
ç ÷ ç F12 ÷
ç u2u '2 u2v '2 u2 v2u '2 v2v '2 v2 u '2 v '2 1÷
ç F13 ÷
ç u3u '3 u3v '3 u3 v3u '3 v3v '3 v3 u '3 v '3 1÷ ç ÷
ç ÷ ç F21 ÷
ç u4u '4 u4v '4 u4 v4u '4 v4v '4 v4 u '4 v '4 1÷ ç ÷
F22 = 0 [Eqs. 15]
W ç u5u '5
ç
u5v '5 u5 v5u '5 v5v '5 v5 u '5 v '5 1÷ ç ÷
÷ ç F23 ÷
ç u6u '6 u6 v '6 u6 v6u '6 v6 v '6 v6 u '6 v '6 1÷ ç ÷
çu u ' ÷ ç F31 ÷
u7 v '7 u7 v7u '7 v7 v '7 v7 u '7 v '7 1
ç 7 7 ÷ ç F32 ÷
çu u' u8v '8 u8 v8u '8 v8v '8 v8 u '8 v '8 1÷ø ç ÷
è 8 8 çF ÷ f
è 33 ø
• Homogeneous system Wf = 0
• Rank 8 A non-zero solution exists (unique)
^ ^
and estimated F may have full rank (det(F) ≠0)
Subject to det(F)=0
Subject to det(F)=0
! s 0 0 $
# 1 &
F =U# 0 s2 0 &V T Where:
# & ! s
#" 0 0 0 &% 0 0 $
# 1 &
U# 0 s2 0 &V T = SVD( F̂)
# &
#" 0 0 s3 &%
[HZ] pag 281, chapter 11, “Computation of F”
Data courtesy of R. Mohr and B. Boufama.
Mean errors:
10.0pixel
9.1pixel
Problems with the 8-Point Algorithm
Lsq solution
W f = 0, by SVD
f =1 F
- Recall the structure of W:
- do we see any potential
(numerical) issue?
Problems with the 8-Point Algorithm
Wf = 0
æ F11 ö
æ u1u '1 u1v '1 u1 v1u '1 v1v '1 v1 u '1 v '1 1ö ç ÷
ç ÷ ç F12 ÷
ç u2u '2 u2v '2 u2 v2u '2 v2v '2 v2 u '2 v '2 1÷
ç F13 ÷
ç u3u '3 u3v '3 u3 v3u '3 v3v '3 v3 u '3 v '3 1÷ ç ÷
ç ÷ ç F21 ÷
ç u4u '4 u4v '4 u4 v4u '4 v4v '4 v4 u '4 v '4 1÷ ç ÷
F22 = 0
ç u5u '5 u5v '5 u5 v5u '5 v5v '5 v5 u '5 v '5 ÷
1 ç ÷
ç ÷ç F ÷
ç u6u '6 u6 v '6 u6 v6u '6 v6 v '6 v6 u '6 v '6 1÷ ç 23 ÷
çu u ' ÷ ç F31 ÷
u7 v '7 u7 v7u '7 v7 v '7 v7 u '7 v '7 1
ç 7 7 ÷ ç F32 ÷
çu u' u8v '8 u8 v8u '8 v8v '8 v8 u '8 v '8 1÷ø ç ÷
è 8 8 çF ÷
è 33 ø
• Highly un-balanced (not well conditioned)
HZ pag 108
• Values of W must have similar magnitude
• This creates problems during the SVD decomposition
Normalization
IDEA: Transform image coordinates such that the matrix
W becomes better conditioned (pre-conditioning)
2
pi
xe
ls
Coordinate system of the image
Coordinate system of the
after applying T
image before applying T
2 pixels 2 pixels
qi = T pi qi¢ = T ¢ pi¢
The Normalized Eight-Point Algorithm
2. De-normalize Fq: F = T Fq T
T ' det( Fq ) = 0
Without normalization
Mean errors:
10.0pixel
9.1pixel
Mean errors:
With normalization
1.0pixel
0.9pixel
The Fundamental Matrix Song
http://danielwedge.com/fmatrix/
Next lecture:
Stereo systems
e p p’ e’
y u
O1 x O2
Hint :
K1=K2 = known E=? R=I T = (T, 0, 0)
x parallel to O1O2
Essential matrix for parallel images
E = [T´ ]× R
v v’
e l p l’
p’ e’
y u u’
O1 x
v v’
e p p’ e’
y u u’
O1 x
How are p T
and p’ p ⋅ E p' = 0
related?
Example: Parallel image planes
v v’
e p p’ e’
y u u’
O1 x
How are p é0 0 0 ù æ u¢ ö æ 0 ö
ç ÷ ç ÷
andpT Ep’p¢ = 0 Þ ( u v 1) êê0 0 -T úú ç v¢ ÷ = 0 Þ ( u v 1) ç -T ÷ = 0 Þ Tv = Tv¢
related? êë0 T 0 ûú èç 1 ø÷ ç ÷
è Tv¢ ø ⇒ v = v"
Example: Parallel image planes
v v’
e p p’ e’
y u u’
O1 x
H1 I1 Is
î1
u I2
v
îS
u
v
C1 H2
u
v
î2
Cs
C2
From its reflection!
Deep view morphing
D. Ji, J. Kwon, M. McFarland, S. Savarese, CVPR 2017
Deep view morphing
D. Ji, J. Kwon, M. McFarland, S. Savarese, CVPR 2017
Deep view morphing
D. Ji, J. Kwon, M. McFarland, S. Savarese, CVPR 2017