摘要
本文提出了一个新颖的本质矩阵估计的方法,这已是双目视觉处理的关键任。首先假设相机内部参数是已知的,然后从一对双目图像之间的点匹配估计本质矩阵。该本质矩阵形成平滑的流形,并且可以在该流形上定义合适的成本函数(cost function),使得其最小值是期望的本质矩阵。我们寻求一种计算上有效的优化方案,以满足在线处理视频图像的需求。我们的工作扩展并提升 Ma等人先前的工作,他提出了一种基本的黎曼牛顿法(Riemannian Newton)解本质矩阵,与 Ma 等人不同,我们提出了三种高斯牛顿算法改进收敛特性和减少计算消耗(cost)。一种是基于新颖的牛顿方法,使用由所有本质矩阵组成的流形上的normal黎曼度量,另外两种方法类似牛顿式方法,从数值的角度来看,这是更有效的。最后,展示了基于仔细分析内在几何问题的局部二次收敛算法。 关键词:本质矩阵,双目视觉,黎曼流形,牛顿方法,局部二次收敛 paper: Essential Matrix Estimation Using Gauss-Newton Iterations on a Manifold
1. Introduction
在Longuet-Higgins(1981)的开创性工作中,展示了一对校准的相机图像之间的位姿(pose)信息可由本质矩阵代数获取。几种用于估计该矩阵的技术已被开发研究,例如, 在Huang和Faugeras(1989)以及Huang和Netravali(1994)。我们只提两种这样的方法,第一个是归一化八点算法(Hartley和Zisserman,2003),它适用于无噪声数据,但在显著的噪声数据情况下仅能提供近似解。第二个是Ma等人(2001)的,他提出了本质矩阵流形上的牛顿方法,以改进八点算法得到的估计。Ma等人的算法,虽然局部二次收敛,但有缺点,本文将予以解决。 首先,它仅收敛于真实解的一个可能较小的邻域,其次,它仅限于特定的黎曼度量结构。
本文以我们早期的会议论文(Helmke等,2004)为基础,提出了一种本质矩阵计算的新优化方法,该方法基于本质矩阵的流形
E
\mathcal{E}
E 的齐次空间结构。使用不同的局部参数化
E
\mathcal{E}
E ,引入一个新的类似牛顿,该方法能够更快的二次局部收敛到真实的解,另外,通过结合合适的梯度下降步长,可获得一个在流形上的高斯牛顿的变种方法。我们的方法也可能对其他优化应用感兴趣,其中算法设计的更大灵活性可能证明是有益的。 此外,适当选择局部参数这导致更有效的数值实现,如计算机模拟所示,每次迭代的复杂性远远低于Ma等人(2001)的工作。
我们从第2节中的问题公式开始,接下来第3节基本矩阵流形的几何分析,包括切空间描述,局部参数化和随后的成本函数(cost fuction )讨论。 该算法与局部二次收敛的证明在第4节中讨论。模拟结果在第5节中给出。结论可以在第6节中找到,并且在Ma等人的理论方法之间进行了详细的比较。 我们的详细内容见附录。
2. Problem Formulation
两个相同场景的图像与极线几何相关(Longuet-Higgins,1981),正如我们现在解释的那样(见图1)。 虽然本节中的后续材料在计算机视觉社区中是众所周知的,但我们还包括极线约束的推导,以提高论文对更广泛受众的可读性。
为简单起见,我们假设图像由两个相同的针孔相机拍摄,焦距等于1。 如果已知相机校准矩阵,则可以类似地处理任意相机的更一般情况。
两个相机的中心使用
C
1
,
C
2
∈
R
3
C_1, C_2 \in R^3
C 1 , C 2 ∈ R 3 ,坐标系使用一组正交基
{
e
1
,
e
2
,
e
3
}
\{e_1, e_2, e_3\}
{ e 1 , e 2 , e 3 } 和
{
e
1
′
,
e
2
′
,
e
3
′
}
\{e^{'}_1,e^{'}_2,e^{'}_3\}
{ e 1 ′ , e 2 ′ , e 3 ′ } 。
t
:
=
C
2
−
C
1
t := C_2 - C_1
t : = C 2 − C 1 表示第一个相机到第二个相机平移向量,
R
∈
S
O
3
R \in SO_3
R ∈ S O 3 确定实正交变换矩阵,表示将基向量
{
e
1
,
e
2
,
e
3
}
\{e_1, e_2, e_3\}
{ e 1 , e 2 , e 3 } 变换到
{
e
1
′
,
e
2
′
,
e
3
′
}
\{e^{'}_1,e^{'}_2,e^{'}_3\}
{ e 1 ′ , e 2 ′ , e 3 ′ } (即相对于基
{
e
1
,
e
2
,
e
3
}
\{e_1, e_2, e_3\}
{ e 1 , e 2 , e 3 } ),
[
t
1
,
t
2
,
t
3
]
[t_1, t_2, t_3]
[ t 1 , t 2 , t 3 ] 表示t的坐标(相对于第一个相机)。给一个对象点
M
∈
R
3
M \in R^3
M ∈ R 3 ,让
m
i
:
=
[
X
i
,
Y
i
,
Z
i
]
T
m_i := [X_i, Y_i, Z_i]^T
m i : = [ X i , Y i , Z i ] T ,
i
=
1
,
2
i =1, 2
i = 1 , 2 表示M相对于两个相机下的坐标,有
(1)
m
1
=
R
m
2
+
t
m_1 = R m_2 + t \tag{1}
m 1 = R m 2 + t ( 1 ) 让
(2)
Ω
:
=
[
0
−
t
3
t
2
t
3
0
−
t
1
−
t
2
t
1
0
]
\Omega := \begin{bmatrix} 0 & -t_3 & t_2 \\ t_3 & 0 & -t_1 \\ -t_2 & t_1 & 0 \end{bmatrix} \tag{2}
Ω : = ⎣ ⎡ 0 t 3 − t 2 − t 3 0 t 1 t 2 − t 1 0 ⎦ ⎤ ( 2 ) 是反对称矩阵且满足
Ω
t
=
0
\Omega t = 0
Ω t = 0 ,所以有
(3)
m
1
T
Ω
m
2
=
0
m^T_1 \Omega m_2 = 0 \tag{3}
m 1 T Ω m 2 = 0 ( 3 )
让
m
^
1
=
[
u
1
,
v
1
,
1
]
T
,
m
^
2
=
[
u
2
,
v
2
,
1
]
\hat m_1 = [u_1, v_1, 1]^T, \hat m_2 = [u_2, v_2, 1]
m ^ 1 = [ u 1 , v 1 , 1 ] T , m ^ 2 = [ u 2 , v 2 , 1 ] 是相机的图像坐标(相对于相机正交基的图像像素坐标)。由于
m
^
i
\hat m_i
m ^ i 和
m
i
m_i
m i 相差一个尺度(即比例关系),所以相对于相机图像坐标(这里需要说明的是图像坐标是基于相机坐标系的不是图像坐标系 )的对极约束(epipolar constraint)为
(4)
m
^
1
Ω
R
m
^
2
=
0
\hat m_1 \Omega R \hat m_2 = 0 \tag{4}
m ^ 1 Ω R m ^ 2 = 0 ( 4 ) 矩阵
(5)
E
=
Ω
R
E = \Omega R \tag{5}
E = Ω R ( 5 ) 被称做 本质矩阵,更一般的说
E
=
:
Ω
R
E =: \Omega R
E = : Ω R 是任何一个3 x 3的矩阵形式, 其中
Ω
\Omega
Ω 是反对称矩阵,
R
R
R 是正交旋转矩阵,从已知的旋转和平移向量定义的位姿信息中很容易确定(见3.1节)。本质矩阵在运动分析中占据着非常重要的角色。因此,给定一对校准图像之间的一组点对应关系,任务是估计封装图像之间的相对位姿的本质矩阵。
已知在无噪声情况下具有八个或更多个通用点对应关系,本质矩阵是唯一确定的。 关于五个点对应的解的数量的讨论,我们参考Horn(1990)。
3. 本质矩阵优化
3.1 本质矩阵流形几何
由于我们算法的新颖方面取决于对基本矩阵的微分几何的详细理解,我们首先回顾这些几何细节。 请注意Soatto等人的作者(1996)已经建议利用基本流形的几何形状。在
R
3
R^3
R 3 中保持旋转变换的方向由特殊正交群
S
O
3
SO_3
S O 3 (行列式等于1的(3×3)正交矩阵组成)的元素表示:
(6)
S
O
3
:
=
{
X
∈
R
3
×
3
∣
d
e
t
X
=
1
,
X
T
X
}
SO_3 := \{X \in R^{3 \times 3} | det X = 1, X^T X \} \tag{6}
S O 3 : = { X ∈ R 3 × 3 ∣ d e t X = 1 , X T X } ( 6 )
集合
S
O
3
SO_3
S O 3 是3维李群,与之对应的李代数
s
o
3
\mathfrak{so_3}
s o 3 是(3x3)反对称矩阵:
(7)
s
o
3
:
=
{
X
∈
R
3
×
3
∣
X
=
−
X
T
}
\mathfrak{so_3} := \{X \in R^{3 \times 3} | X = - X^T\} \tag{7}
s o 3 : = { X ∈ R 3 × 3 ∣ X = − X T } ( 7 ) 众所周知, 李代数
(
R
3
,
×
)
(R^3, \times)
( R 3 , × ) 到李代数
(
s
o
3
,
[
.
,
.
]
)
(\mathfrak{so_3}, [.,.])
( s o 3 , [ . , . ] ) 同构,其中
×
\times
× 表示向量的叉积,
[
A
,
B
]
=
A
B
−
B
A
[A,B] = AB-BA
[ A , B ] = A B − B A 表示矩阵的交换器(matrix commutator)。这让我们利用线性映射
R
3
R^3
R 3 标识
s
o
3
\mathfrak{so_3}
s o 3
(8)
Ω
:
R
3
→
s
o
3
,
ω
=
[
ω
x
ω
y
ω
z
]
→
[
0
−
ω
z
ω
y
ω
z
0
−
ω
x
−
ω
y
ω
x
0
]
\Omega : R^3 \to \mathfrak{so_3} \quad, \\ \omega = \begin{bmatrix} \omega_x \\ \omega_y \\ \omega_z \end{bmatrix} \to \begin{bmatrix} 0 & - \omega_z & \omega_y \\ \\ \omega_z & 0 & - \omega_x \\ -\omega_y & \omega_x & 0 \end{bmatrix} \tag{8}
Ω : R 3 → s o 3 , ω = ⎣ ⎡ ω x ω y ω z ⎦ ⎤ → ⎣ ⎢ ⎢ ⎡ 0 ω z − ω y − ω z 0 ω x ω y − ω x 0 ⎦ ⎥ ⎥ ⎤ ( 8 ) 其中
Ω
\Omega
Ω 可以写成:
(9)
Ω
(
ω
)
=
ω
x
Ω
x
+
ω
y
Ω
y
+
ω
z
Ω
z
\Omega(\omega) = \omega_x \Omega_x + \omega_y \Omega_y + \omega_z \Omega_z \tag{9}
Ω ( ω ) = ω x Ω x + ω y Ω y + ω z Ω z ( 9 ) 其中
(10)
Ω
x
:
=
[
0
0
0
0
0
−
1
0
1
0
]
Ω
y
:
=
[
0
0
1
0
0
0
−
1
0
0
]
Ω
z
:
=
[
0
−
1
0
1
0
0
0
0
0
]
\Omega_x := \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{bmatrix} \\ \Omega_y := \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{bmatrix} \\ \Omega_z := \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} \tag{10}
Ω x : = ⎣ ⎡ 0 0 0 0 0 1 0 − 1 0 ⎦ ⎤ Ω y : = ⎣ ⎡ 0 0 − 1 0 0 0 1 0 0 ⎦ ⎤ Ω z : = ⎣ ⎡ 0 1 0 − 1 0 0 0 0 0 ⎦ ⎤ ( 1 0 ) 根据上面的定义,本质矩阵
E
=
Ω
R
E = \Omega R
E = Ω R 定义为反对称矩阵
Ω
\Omega
Ω 和旋转矩阵
R
R
R 的积。它在计算机视觉文献中是众所周知的(参见Hartley和Zisserman,2003)本质矩阵的特征在于它们只有一个正的2重奇异值,且秩为2。特别的,Frobenius范数等于
2
\sqrt 2
2
的归一化本质矩阵,其特征值为{1,1,0},因此归一化的本质矩阵的集合写作:
(11)
E
=
{
Ω
R
∣
Ω
∈
s
o
3
,
R
∈
S
O
3
,
∥
Ω
∥
2
=
2
}
\mathcal{E} = \{\Omega R | \Omega \in \mathfrak{so_3}, R \in SO_3, \Vert \Omega \Vert^2 = 2\} \tag{11}
E = { Ω R ∣ Ω ∈ s o 3 , R ∈ S O 3 , ∥ Ω ∥ 2 = 2 } ( 1 1 ) 这是所提出优化方法上的一个基本的非线性约束集,其中
∥
Ω
∥
\Vert\Omega \Vert
∥ Ω ∥ 表示为Frobenius的范数
t
r
(
Ω
Ω
T
)
\sqrt {tr(\Omega\Omega^T)}
t r ( Ω Ω T )
。
3.1.1 归一化本质矩阵的SVD分解
本质矩阵在紧凑的李群齐次空间
S
O
3
×
S
O
3
SO_3 \times SO_3
S O 3 × S O 3 的描述是我们接下来的算法基础,下面将详细的描述它。
引理 3.1. 当且仅当存在奇异值分解(singular value decomposition)时,非零(3×3)矩阵
E
E
E 是本质的。
(12)
E
=
U
Σ
V
T
,
w
i
t
h
Σ
=
[
s
0
0
0
s
0
0
0
0
]
,
s
>
0
a
n
d
U
,
V
∈
S
O
3
E=U \Sigma V^T, \quad with \quad \Sigma = \begin{bmatrix} s & 0 & 0 \\ 0 & s & 0 \\ 0 & 0 & 0 \end{bmatrix}, s > 0 \\ and \quad U, V \in SO_3 \tag{12}
E = U Σ V T , w i t h Σ = ⎣ ⎡ s 0 0 0 s 0 0 0 0 ⎦ ⎤ , s > 0 a n d U , V ∈ S O 3 ( 1 2 ) 更进一步说,当且仅当
s
=
1
s= 1
s = 1 时,
E
E
E 是归一化本质矩阵,有
(13)
E
0
=
[
I
2
0
0
0
]
E_0 = \begin{bmatrix} I_2 & 0 \\ 0 & 0 \end{bmatrix} \tag{13}
E 0 = [ I 2 0 0 0 ] ( 1 3 ) 归一化的本质流形等于齐次空间:
(14)
E
=
{
U
E
0
V
T
∣
U
,
V
∈
S
O
3
}
\mathcal{E} = \{UE_0V^T | U, V \in SO_3\} \tag{14}
E = { U E 0 V T ∣ U , V ∈ S O 3 } ( 1 4 )
证明: 假设
E
=
Ω
R
E =\Omega R
E = Ω R 是本质的,其中
Ω
∈
s
o
3
\Omega \in \mathfrak{so_3}
Ω ∈ s o 3 ,
R
∈
S
O
3
R \in SO_3
R ∈ S O 3 。所以有:
E
E
T
=
Ω
R
R
T
Ω
T
=
−
Ω
2
EE^T = \Omega R R^T \Omega^T=-\Omega^2
E E T = Ω R R T Ω T = − Ω 2 对应的特征值
λ
(
E
E
T
)
=
{
s
2
,
s
2
,
0
}
,
w
h
e
r
e
s
:
=
1
2
∥
Ω
∥
\lambda(E E^T) = \{s^2, s^2, 0\},\quad where \quad s:= \frac{1}{\sqrt 2}\Vert \Omega \Vert
λ ( E E T ) = { s 2 , s 2 , 0 } , w h e r e s : = 2
1 ∥ Ω ∥ 然后
E
E
E 的特征值的集合
σ
(
E
)
=
{
s
,
s
,
0
}
\sigma(E) =\{s, s, 0\}
σ ( E ) = { s , s , 0 } ,因此存在一个SVD(见公式12),
U
,
V
∈
O
3
U, V \in O_3
U , V ∈ O 3 ,但很容易看出也存在因子分解(12)U,V∈SO 3。 反过来考虑
Ψ
:
=
[
0
−
s
0
s
0
0
0
0
0
]
∈
s
o
3
,
Γ
:
=
[
0
1
0
−
1
0
0
0
0
1
]
∈
S
O
3
\Psi := \begin{bmatrix} 0 & -s & 0 \\ s & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} \in \mathfrak{so_3}, \Gamma := \begin{bmatrix} 0 & 1 & 0 \\ -1 & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} \in SO_3
Ψ : = ⎣ ⎡ 0 s 0 − s 0 0 0 0 0 ⎦ ⎤ ∈ s o 3 , Γ : = ⎣ ⎡ 0 − 1 0 1 0 0 0 0 1 ⎦ ⎤ ∈ S O 3 另有:
Ψ
T
=
Γ
[
s
0
0
0
s
0
0
0
s
]
\Psi^T=\Gamma \begin{bmatrix} s & 0 & 0 \\ 0 & s & 0 \\ 0 & 0 & s \end{bmatrix}
Ψ T = Γ ⎣ ⎡ s 0 0 0 s 0 0 0 s ⎦ ⎤ 因此
E
E
E 的奇异值分解为:
(15)
E
=
U
[
s
0
0
0
s
0
0
0
0
]
V
T
=
U
Γ
T
Γ
[
s
0
0
0
s
0
0
0
0
]
Γ
U
T
U
Γ
T
V
T
=
(
U
Γ
T
Ψ
T
Γ
U
T
)
(
U
Γ
T
V
T
)
=
Ω
1
R
1
E = U \begin{bmatrix} s & 0 & 0 \\ 0 & s & 0 \\ 0 & 0 & 0 \end{bmatrix} V^T= U\Gamma^T\Gamma \begin{bmatrix} s & 0 & 0 \\ 0 & s & 0 \\ 0 & 0 & 0 \end{bmatrix} \Gamma U^TU\Gamma^TV^T \\ =(U\Gamma^T\Psi^T\Gamma U^T)(U\Gamma^TV^T) \\= \Omega_1 R_1 \tag{15}
E = U ⎣ ⎡ s 0 0 0 s 0 0 0 0 ⎦ ⎤ V T = U Γ T Γ ⎣ ⎡ s 0 0 0 s 0 0 0 0 ⎦ ⎤ Γ U T U Γ T V T = ( U Γ T Ψ T Γ U T ) ( U Γ T V T ) = Ω 1 R 1 ( 1 5 ) 其中
(16)
Ω
1
=
U
Γ
T
Ψ
T
Γ
U
T
,
R
1
=
U
Γ
T
V
T
\Omega_1=U\Gamma^T \Psi^T\Gamma U^T, \quad R_1=U\Gamma^TV^T \tag{16}
Ω 1 = U Γ T Ψ T Γ U T , R 1 = U Γ T V T ( 1 6 )
E
E
E 的第二种分解是
E
=
Ω
2
R
2
E=\Omega_2 R_2
E = Ω 2 R 2 ,其中
Ω
2
=
−
Ω
1
,
R
2
=
U
Γ
V
T
\Omega_2 = -\Omega_1, R_2=U\Gamma V^T
Ω 2 = − Ω 1 , R 2 = U Γ V T 。给定本质矩阵的SVD分解的正交矩阵不是唯一的,因此给定一个因子矩阵(factoring matrices)
U
,
V
∈
S
O
3
U,V \in SO_3
U , V ∈ S O 3 ,然后有
(17)
U
[
Θ
0
0
d
e
t
Θ
]
,
V
[
Θ
0
0
d
e
t
Θ
]
U \begin{bmatrix} \Theta & 0 \\ 0 & det \Theta \end{bmatrix}, V\begin{bmatrix} \Theta & 0 \\ 0 & det \Theta \end{bmatrix} \tag{17}
U [ Θ 0 0 d e t Θ ] , V [ Θ 0 0 d e t Θ ] ( 1 7 ) 也是一个因子,其中
Θ
∈
O
2
\Theta \in O_2
Θ ∈ O 2 ,更进一步说,它描述了本质矩阵所有可能的因子。
从上面的本质矩阵的描述,我们可以看到关于
E
\mathcal{E}
E 有两种不同的描述:
等式(14)通过SVD分解得到
作为映射的像
(18)
π
:
S
2
×
S
O
3
→
E
(
Ω
,
R
)
↦
Ω
R
.
\pi: \mathrm{S^2 \times SO_3} \to \mathcal{E} \\ (\Omega, R) \mapsto \Omega R. \tag{18}
π : S 2 × S O 3 → E ( Ω , R ) ↦ Ω R . ( 1 8 )
第二个已广泛用于Ma等人(2001),而第一个将在这里被利用。 在下一个定理中,我们阐明如何相互计算这两个因子分解。
定理 3.1 让
(19)
S
2
:
=
{
Ω
∈
s
o
3
∣
∥
Ω
∥
=
2
}
\mathrm{S^2}:=\left\{\Omega \in \mathfrak{so_3} \middle | \Vert\Omega \Vert = \sqrt 2\right\} \tag{19}
S 2 : = { Ω ∈ s o 3 ∣ ∣ ∣ ∥ Ω ∥ = 2
} ( 1 9 ) 表示半径为
2
\sqrt 2
2
的双球面(two-sphere in
s
o
3
\mathfrak{so_3}
s o 3 )上。 映射
(20)
π
:
S
2
×
S
O
3
→
E
,
(
Ω
,
R
)
↦
Ω
R
,
\pi: \mathrm{S^2} \times SO_3 \to \mathcal{E}, \\ (\Omega, R) \mapsto \Omega R, \tag{20}
π : S 2 × S O 3 → E , ( Ω , R ) ↦ Ω R , ( 2 0 ) 是带有原像的 two-to-one的全映射(covering map)
(21)
π
−
1
(
U
[
I
2
0
0
0
]
V
T
)
=
(
U
[
0
ϵ
0
−
ϵ
0
0
0
0
0
]
U
T
,
U
[
0
−
ϵ
0
ϵ
0
0
0
0
1
]
V
T
)
\pi^{-1} \begin{pmatrix} U \begin{bmatrix} I_2 & 0 \\ 0 & 0 \end{bmatrix} V^T \end{pmatrix} = \\ \begin{pmatrix} U \begin{bmatrix} 0 & \epsilon & 0 \\ -\epsilon & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} U^T, U \begin{bmatrix} 0 & -\epsilon & 0 \\ \epsilon & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} V^T \end{pmatrix} \tag{21}
π − 1 ( U [ I 2 0 0 0 ] V T ) = ⎝ ⎛ U ⎣ ⎡ 0 − ϵ 0 ϵ 0 0 0 0 0 ⎦ ⎤ U T , U ⎣ ⎡ 0 ϵ 0 − ϵ 0 0 0 0 1 ⎦ ⎤ V T ⎠ ⎞ ( 2 1 ) 其中
U
,
V
∈
S
O
3
,
ϵ
∈
{
+
1
,
−
1
}
U,V \in SO_3, \epsilon \in \{+1, -1\}
U , V ∈ S O 3 , ϵ ∈ { + 1 , − 1 } 。因此,如果
E
=
U
E
0
V
T
E=UE_0V^T
E = U E 0 V T ,那么
E
=
Ω
R
E = \Omega R
E = Ω R ,其中
ϵ
=
±
1
\epsilon = \pm1
ϵ = ± 1 ,
(22)
Ω
=
U
[
0
ϵ
0
−
ϵ
0
0
0
0
0
]
U
T
,
R
=
U
[
0
−
ϵ
0
ϵ
0
0
0
0
1
]
V
T
\Omega = U \begin{bmatrix} 0 & \epsilon & 0 \\ -\epsilon & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} U^T ,\\ R= U \begin{bmatrix} 0 & -\epsilon & 0 \\ \epsilon & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} V^T \tag{22}
Ω = U ⎣ ⎡ 0 − ϵ 0 ϵ 0 0 0 0 0 ⎦ ⎤ U T , R = U ⎣ ⎡ 0 ϵ 0 − ϵ 0 0 0 0 1 ⎦ ⎤ V T ( 2 2 ) 相反, 如果给定
E
=
Ω
R
E=\Omega R
E = Ω R ,由SVD分解
(23)
Ω
=
U
[
0
ϵ
0
−
ϵ
0
0
0
0
0
]
U
T
\Omega= U \begin{bmatrix} 0 & \epsilon & 0 \\ -\epsilon & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} U^T \tag{23}
Ω = U ⎣ ⎡ 0 − ϵ 0 ϵ 0 0 0 0 0 ⎦ ⎤ U T ( 2 3 )
(24)
V
:
=
R
T
U
[
0
−
ϵ
0
ϵ
0
0
0
0
1
]
V:=R^TU \begin{bmatrix} 0 & -\epsilon & 0 \\ \epsilon & 0 & 0 \\ 0 & 0 & 1 \end{bmatrix} \tag{24}
V : = R T U ⎣ ⎡ 0 ϵ 0 − ϵ 0 0 0 0 1 ⎦ ⎤ ( 2 4 ) 可推出
U
,
V
U, V
U , V 。 满足两种可能因子
E
=
Ω
1
R
1
=
Ω
2
R
2
E=\Omega_1 R_1=\Omega_2 R_2
E = Ω 1 R 1 = Ω 2 R 2 的几何解释见Hartley and Zisserman, 2003), Figs. 9.12 (a), (d) in Section 9.6.3.Figs.(b), ( c) 对应
−
E
-E
− E 。
接下来详述
E
\mathcal{E}
E 的流形结构。
定理 3.2 集合
E
\mathcal{E}
E 是一个平滑的5维紧凑流形,与
R
P
2
×
S
O
3
\mathrm{RP^2 \times SO_3}
R P 2 × S O 3 微分同胚(diffeomorphic)。
证明: 回想一下,真实的投影平面
R
P
2
\mathrm{RP^2}
R P 2 可以用等谱流形(isospectral)标识
{
U
[
I
2
0
0
0
]
U
T
∣
U
∈
S
O
3
}
\left\{ U \begin{bmatrix} I_2 & 0 \\ 0 & 0 \end{bmatrix} U^T \middle | U \in SO_3 \right\}
{ U [ I 2 0 0 0 ] U T ∣ ∣ ∣ ∣ U ∈ S O 3 } 可以证明映射
(25)
ϕ
:
E
→
R
P
2
×
S
O
3
,
U
[
I
2
0
0
0
]
V
T
↦
(
U
[
I
2
0
0
0
]
U
T
,
U
V
T
)
\phi: \mathcal{E} \to \mathrm{RP^2} \times SO_3,\\ U \begin{bmatrix} I_2 & 0 \\ 0 & 0 \end{bmatrix} V^T \mapsto \left ( U \begin{bmatrix} I_2 & 0 \\ 0 & 0 \end{bmatrix} U^T, UV^T \right ) \tag{25}
ϕ : E → R P 2 × S O 3 , U [ I 2 0 0 0 ] V T ↦ ( U [ I 2 0 0 0 ] U T , U V T ) ( 2 5 ) 是平滑和双射的,再着, 逆
ϕ
−
1
(
X
,
Y
)
=
X
Y
,
\phi^{-1}(X,Y) = XY,
ϕ − 1 ( X , Y ) = X Y , 也是平滑的。因此,
ϕ
\phi
ϕ 是微分同胚(diffeomorphism)。因为
R
P
2
\mathrm{RP^2}
R P 2 是2维的,
S
O
3
SO_3
S O 3 是3维的,所以
R
P
2
×
S
O
3
\mathrm{RP^2} \times SO_3
R P 2 × S O 3 是5维的。
3.1.2 本质流的切空间
通过奇异值分解来表示本质矩阵的一个优点是它允许对相关切空间进行优雅描述。 理论 3.3 归一化本质矩阵
E
=
U
E
0
V
T
E=UE_0V^T
E = U E 0 V T 的切空间是
T
E
E
=
{
U
(
Ω
E
0
−
E
0
Ψ
)
V
T
∣
Ω
,
Ψ
∈
s
o
3
}
T_E\mathcal{E} = \{U(\Omega E_0-E_0\Psi)V^T | \Omega, \Psi \in \mathfrak{so_3}\}
T E E = { U ( Ω E 0 − E 0 Ψ ) V T ∣ Ω , Ψ ∈ s o 3 }
(26)
=
{
U
[
0
ω
12
−
ψ
12
−
ψ
13
ψ
12
−
ω
12
0
−
ψ
23
−
ω
13
−
ω
23
0
]
V
T
∣
ω
i
j
,
ψ
i
j
∈
R
,
i
,
j
∈
{
1
,
2
,
3
}
w
i
t
h
Ω
=
{
ω
i
j
}
,
Ψ
=
{
ψ
i
j
}
}
=\left\{ U \begin{bmatrix} 0 & \omega_{12} - \psi_{12} & -\psi_{13} \\ \psi_{12} - \omega_{12} & 0 & -\psi_{23} \\ -\omega_{13} & -\omega_{23} & 0 \end{bmatrix} V^T \middle |\omega_{ij},\psi_{ij} \in \mathrm{R}, i, j \in\{1, 2, 3\} \\ with \quad \Omega=\{\omega_{ij}\}, \Psi=\{\psi_{ij}\} \right\} \\ \tag{26}
= ⎩ ⎨ ⎧ U ⎣ ⎡ 0 ψ 1 2 − ω 1 2 − ω 1 3 ω 1 2 − ψ 1 2 0 − ω 2 3 − ψ 1 3 − ψ 2 3 0 ⎦ ⎤ V T ∣ ∣ ∣ ∣ ∣ ∣ ω i j , ψ i j ∈ R , i , j ∈ { 1 , 2 , 3 } w i t h Ω = { ω i j } , Ψ = { ψ i j } ⎭ ⎬ ⎫ ( 2 6 )
证明: 对于任意的
E
=
U
E
0
V
T
∈
E
E=UE_0V^T \in \mathcal{E}
E = U E 0 V T ∈ E ,让
α
E
:
S
O
3
×
S
O
3
→
E
\alpha_E:SO_3 \times SO_3 \to \mathcal{E}
α E : S O 3 × S O 3 → E 是定义在
α
E
(
U
^
,
V
^
)
=
U
^
E
V
^
T
\alpha_E(\hat U, \hat V) = \hat U E \hat V^T
α E ( U ^ , V ^ ) = U ^ E V ^ T 的平滑映射。切空间
T
E
E
T_E\mathcal{E}
T E E 是
(27)
D
α
E
(
I
3
,
I
3
)
:
s
o
3
×
s
o
3
→
R
3
×
3
,
(
Ω
^
,
Ψ
^
)
↦
Ω
^
E
−
E
Ψ
^
D\alpha_E(I_3, I_3): \mathfrak{so_3 \times so_3} \to \mathrm{R^{3 \times 3}}, \\ (\hat \Omega , \hat \Psi) \mapsto \hat \Omega E - E \hat \Psi \tag{27}
D α E ( I 3 , I 3 ) : s o 3 × s o 3 → R 3 × 3 , ( Ω ^ , Ψ ^ ) ↦ Ω ^ E − E Ψ ^ ( 2 7 ) 线性映射的像,也就是
α
E
\alpha_E
α E 导数在单位阵
(
I
3
,
I
3
)
∈
S
O
3
×
S
O
3
(I_3, I_3) \in SO_3 \times SO_3
( I 3 , I 3 ) ∈ S O 3 × S O 3 的像。通过设置
Ω
:
=
U
T
Ω
^
U
,
Ψ
:
=
V
T
Ψ
^
V
\Omega := U^T \hat \Omega U, \Psi := V^T \hat \Psi V
Ω : = U T Ω ^ U , Ψ : = V T Ψ ^ V ,第一个等式(参见Helmke和Moore,1994),第89页详细说明。 结果来自简单的计算。
推论 3.1. 映射
D
α
E
(
I
3
,
I
3
)
:
s
o
3
×
s
o
3
→
R
3
×
3
D\alpha_E(I_3, I_3): \mathfrak{so_3 \times so_3} \to \mathrm{R^{3 \times 3}}
D α E ( I 3 , I 3 ) : s o 3 × s o 3 → R 3 × 3 的核(kernel)是
(28)
Ω
=
Ψ
=
[
0
x
0
−
x
0
0
0
0
0
]
,
x
∈
R
\Omega = \Psi = \begin{bmatrix} 0 & x & 0 \\ -x & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}, x \in \mathrm{R} \tag{28}
Ω = Ψ = ⎣ ⎡ 0 − x 0 x 0 0 0 0 0 ⎦ ⎤ , x ∈ R ( 2 8 ) 矩阵对
(
Ω
,
Ψ
)
∈
s
o
3
×
s
o
3
(\Omega, \Psi) \in \mathfrak{so_3 \times so_3}
( Ω , Ψ ) ∈ s o 3 × s o 3 的集合。
证明: 让
Ω
=
(
w
i
j
)
,
Ψ
=
(
ψ
i
j
)
\Omega = (w_{ij}), \Psi=(\psi_{ij})
Ω = ( w i j ) , Ψ = ( ψ i j ) , 其中
Ω
,
Ψ
∈
s
o
3
\Omega, \Psi \in \mathfrak{so_3}
Ω , Ψ ∈ s o 3 ,
E
0
E_0
E 0 在等式(13)中定义, 有
(29)
Ω
E
0
−
E
0
Ψ
=
0
⟺
[
0
ω
12
−
ψ
12
−
ψ
13
ψ
12
−
ω
12
0
−
ψ
23
−
ω
13
−
ω
23
0
]
=
0
3
⟺
ω
12
=
ψ
12
,
ω
13
=
ψ
13
=
ω
23
=
ψ
23
=
0
\Omega E_0 - E_0 \Psi = 0 \\ \Longleftrightarrow \begin{bmatrix} 0 & \omega_{12} - \psi_{12} & -\psi_{13} \\ \psi_{12} - \omega_{12} & 0 & -\psi_{23} \\ -\omega_{13} & -\omega_{23} & 0 \end{bmatrix} = 0_3 \\ \Longleftrightarrow \omega_{12} = \psi_{12}, \omega_{13} = \psi_{13} = \omega_{23} = \psi_{23} = 0 \tag{29}
Ω E 0 − E 0 Ψ = 0 ⟺ ⎣ ⎡ 0 ψ 1 2 − ω 1 2 − ω 1 3 ω 1 2 − ψ 1 2 0 − ω 2 3 − ψ 1 3 − ψ 2 3 0 ⎦ ⎤ = 0 3 ⟺ ω 1 2 = ψ 1 2 , ω 1 3 = ψ 1 3 = ω 2 3 = ψ 2 3 = 0 ( 2 9 ) 设置
ω
12
=
ψ
12
=
x
\omega_{12} = \psi_{12} = x
ω 1 2 = ψ 1 2 = x 将得到等式(28)。
由于在
E
=
U
E
0
V
T
∈
E
E=UE_0V^T \in \mathcal{E}
E = U E 0 V T ∈ E 处的仿射切空间
T
E
a
f
f
T^{aff}_E
T E a f f 可以通过切空间
T
E
E
T_E \mathcal{E}
T E E 来识别,将得到
(30)
T
E
a
f
f
E
=
{
U
[
1
−
x
3
−
x
5
x
3
1
x
4
−
x
2
x
1
0
]
V
T
∣
x
1
,
.
.
.
,
x
5
∈
R
}
T^{aff}_E \mathcal{E} = \left\{ U \begin{bmatrix} 1 & -x_3 & -x_5 \\ x_3 & 1 & x_4 \\ -x_2 & x_1 & 0 \end{bmatrix} V^T \middle | x_1, ...,x_5 \in \mathrm{R} \right\} \tag{30}
T E a f f E = ⎩ ⎨ ⎧ U ⎣ ⎡ 1 x 3 − x 2 − x 3 1 x 1 − x 5 x 4 0 ⎦ ⎤ V T ∣ ∣ ∣ ∣ ∣ ∣ x 1 , . . . , x 5 ∈ R ⎭ ⎬ ⎫ ( 3 0 )
3.1.3. 本质流的参数化
流形上的计算通常在局部参数化下进行,因此,对于接下来的收敛分析需要本质流的局部参数化(见 Fig.2)。 我们为
E
\mathcal{E}
E 引入了一类参数化,这是我们算法的后续公式的基础。给定本质矩阵
E
∈
E
E \in \mathcal{E}
E ∈ E ,让
U
,
V
∈
S
O
3
U, V \in SO_3
U , V ∈ S O 3 , 其中
U
E
0
V
T
=
E
UE_0V^T = E
U E 0 V T = E 。回想一下,任意的因式分解
E
=
V
^
E
0
V
^
T
E = \hat V E_0 \hat V^T
E = V ^ E 0 V ^ T ,其中
U
^
,
V
^
∈
S
O
3
\hat U, \hat V \in SO_3
U ^ , V ^ ∈ S O 3 且
(
U
^
,
V
^
)
=
(
U
Γ
,
V
Γ
)
(\hat U, \hat V)=(U \Gamma, V\Gamma)
( U ^ , V ^ ) = ( U Γ , V Γ )
(31)
Γ
∈
S
:
=
{
[
Θ
0
0
d
e
t
Θ
]
∣
Θ
∈
O
2
}
\Gamma \in \mathcal{S} := \left\{ \begin{bmatrix} \Theta & 0 \\ 0 & det \Theta \end{bmatrix} \middle | \Theta \in O_2 \right\} \tag{31}
Γ ∈ S : = { [ Θ 0 0 d e t Θ ] ∣ ∣ ∣ ∣ Θ ∈ O 2 } ( 3 1 ) 这里,
S
\mathcal{S}
S 是
S
O
3
SO_3
S O 3 的子群(subgroup),叫做
E
0
E_0
E 0 的stabiliser子群。
定义 3.1 让
U
,
V
∈
S
O
3
U,V \in SO_3
U , V ∈ S O 3 , 其中
U
E
0
V
T
=
E
UE_0V^T = E
U E 0 V T = E ,则在
E
E
E 上的
E
\mathcal{E}
E 的局部参数化是一个平滑映射
(32)
μ
(
U
,
V
)
:
R
→
E
\mu_{(U, V)}: \mathrm{R} \to \mathcal{E} \tag{32}
μ ( U , V ) : R → E ( 3 2 ) 并有以下条件成立:
μ
(
U
,
V
)
(
0
)
=
E
\mu_{(U,V)}(0) = E
μ ( U , V ) ( 0 ) = E
μ
(
U
,
V
)
\mu_{(U,V)}
μ ( U , V ) 在0附近局部同胚(diffeomorphism)
存在映射
L
:
S
→
G
L
5
L: \mathcal{S} \to GL_5
L : S → G L 5 ,使得
(33)
μ
(
U
Γ
,
V
Γ
)
(
x
)
=
μ
(
U
,
V
)
(
L
(
Γ
)
x
)
\mu_{(U\Gamma,V\Gamma)}(x) = \mu_{(U,V)}(L(\Gamma)x) \tag{33}
μ ( U Γ , V Γ ) ( x ) = μ ( U , V ) ( L ( Γ ) x ) ( 3 3 ) 其中
Γ
∈
S
,
x
∈
R
5
\Gamma \in \mathrm{S},x\in\mathrm{R^5}
Γ ∈ S , x ∈ R 5 ,这里
(34)
G
L
5
:
=
{
X
∈
R
5
×
5
∣
d
e
t
X
不
等
于
0
}
GL_5 := \{X \in \mathrm{R^{5 \times 5}} | det X 不等于 0 \} \tag{34}
G L 5 : = { X ∈ R 5 × 5 ∣ d e t X 不 等 于 0 } ( 3 4 ) 接下来我们看3个例子,为了去描述他们,让
U
,
V
∈
S
O
3
U,V \in SO_3
U , V ∈ S O 3 是任意的,
x
=
[
x
1
,
.
.
.
,
x
5
]
T
∈
R
5
x=[x_1, ..., x_5]^T \in \mathrm{R^5}
x = [ x 1 , . . . , x 5 ] T ∈ R 5 ,
E
0
E_0
E 0 在式(13)中定义,考虑映射
(35)
Ω
1
:
R
→
s
o
3
,
[
x
1
,
.
.
,
x
5
]
T
↦
1
2
[
0
−
x
3
2
x
2
x
3
2
0
−
x
1
−
x
2
x
1
0
]
\Omega_1 : \mathrm{R} \to \mathfrak{so_3}, \\ [x_1,..,x_5]^T \mapsto \frac{1}{\sqrt 2} \begin{bmatrix} 0 & -\frac{x_3}{\sqrt 2} & x_2 \\ \frac{x_3}{\sqrt 2} & 0 & -x_1 \\ -x_2 & x_1 & 0 \end{bmatrix} \tag{35}
Ω 1 : R → s o 3 , [ x 1 , . . , x 5 ] T ↦ 2
1 ⎣ ⎡ 0 2
x 3 − x 2 − 2
x 3 0 x 1 x 2 − x 1 0 ⎦ ⎤ ( 3 5 )
(36)
Ω
2
:
R
→
s
o
3
,
[
x
1
,
.
.
,
x
5
]
T
↦
1
2
[
0
x
3
2
x
5
−
x
3
2
0
−
x
4
−
x
5
x
4
0
]
\Omega_2 : \mathrm{R} \to \mathfrak{so_3},\\ [x_1,..,x_5]^T \mapsto \frac{1}{\sqrt 2} \begin{bmatrix} 0 & \frac{x_3}{\sqrt 2} & x_5 \\ -\frac{x_3}{\sqrt 2} & 0 & -x_4 \\ -x_5 & x_4 & 0 \end{bmatrix} \tag{36}
Ω 2 : R → s o 3 , [ x 1 , . . , x 5 ] T ↦ 2
1 ⎣ ⎡ 0 − 2
x 3 − x 5 2
x 3 0 x 4 x 5 − x 4 0 ⎦ ⎤ ( 3 6 ) 注意,
2
\sqrt 2
2
因子对随后的黎曼几何解释很重要。
Example 3.1 指数参数化被定义为
(37)
μ
(
U
,
V
)
:
R
5
→
E
,
μ
(
U
,
V
)
(
x
)
:
=
U
e
Ω
1
(
x
)
E
0
e
−
Ω
2
(
x
)
V
T
\mu_{(U,V)}: \mathrm{R^5} \to \mathcal{E}, \\ \mu_{(U,V)}(x) := Ue^{\Omega_1(x)}E_0e^{-\Omega_2(x)}V^T \tag{37}
μ ( U , V ) : R 5 → E , μ ( U , V ) ( x ) : = U e Ω 1 ( x ) E 0 e − Ω 2 ( x ) V T ( 3 7 ) 是
E
\mathcal{E}
E 在
E
E
E 上的局部参数化,这里的
Ω
1
(
x
)
,
Ω
2
(
x
)
\Omega_1(x),\Omega_2(x)
Ω 1 ( x ) , Ω 2 ( x ) 在(35)和(36)中定义。3.1.3中定义的条件一和条件二在接下来的处理中满足,
μ
(
U
,
V
)
\mu_{(U,V)}
μ ( U , V ) 的平滑性和
μ
(
U
,
V
)
=
E
\mu_{(U,V)}=E
μ ( U , V ) = E 很明显。可以看出
μ
(
U
,
V
)
\mu_{(U,V)}
μ ( U , V ) 在
0
∈
R
5
0 \in \mathrm{R^5}
0 ∈ R 5 附近局部同胚,我们需要证明导数
(38)
D
μ
(
U
,
V
)
(
0
)
:
R
5
→
T
E
E
D\mu_{(U,V)}(0) : \mathrm{R^5} \to T_E\mathcal{E} \tag{38}
D μ ( U , V ) ( 0 ) : R 5 → T E E ( 3 8 ) 是可逆的。对于任意的
h
=
[
h
1
,
.
.
.
,
h
5
]
T
∈
R
5
h = [h_1,...,h_5]^T \in \mathrm{R^5}
h = [ h 1 , . . . , h 5 ] T ∈ R 5 ,有
(39)
D
μ
(
u
,
v
)
(
0
)
h
=
U
{
1
2
[
0
−
h
3
2
h
2
h
3
2
0
−
h
1
−
h
2
h
1
0
]
E
0
−
[
0
h
3
2
h
5
−
h
3
2
0
−
h
4
−
h
5
h
4
0
]
}
V
T
=
1
2
U
[
0
−
2
h
3
−
h
5
2
h
3
0
h
4
−
h
2
h
1
0
]
V
T
D\mu_{(u,v)}(0)h =U\left\{ \frac{1}{\sqrt 2} \begin{bmatrix} 0 & -\frac{h_3}{\sqrt 2} & h_2 \\ \frac{h_3}{\sqrt 2} & 0 & -h_1 \\ -h_2 & h_1 & 0 \end{bmatrix}E_0- \\ \begin{bmatrix} 0 & \frac{h_3}{\sqrt 2} & h_5 \\ -\frac{h_3}{\sqrt 2} & 0 & -h_4 \\ -h_5 & h_4 & 0 \end{bmatrix} \right\}V^T \\ =\frac{1}{\sqrt 2 }U \begin{bmatrix} 0 & -\sqrt 2h_3 & -h_5 \\ \sqrt 2h_3 & 0 & h_4 \\ -h_2 & h_1 & 0 \end{bmatrix} V^T \tag{39}
D μ ( u , v ) ( 0 ) h = U ⎩ ⎪ ⎨ ⎪ ⎧ 2
1 ⎣ ⎢ ⎡ 0 2
h 3 − h 2 − 2
h 3 0 h 1 h 2 − h 1 0 ⎦ ⎥ ⎤ E 0 − ⎣ ⎢ ⎡ 0 − 2
h 3 − h 5 2
h 3 0 h 4 h 5 − h 4 0 ⎦ ⎥ ⎤ ⎭ ⎪ ⎬ ⎪ ⎫ V T = 2
1 U ⎣ ⎡ 0 2
h 3 − h 2 − 2
h 3 0 h 1 − h 5 h 4 0 ⎦ ⎤ V T ( 3 9 ) 其中明显暗含着双射(bijectivity),这就证明了条件一和条件二。为了确定条件三,我们考虑任意元素
(40)
Γ
±
:
=
[
R
±
0
0
±
1
]
∈
S
O
3
\Gamma_{\pm} := \begin{bmatrix} R_{\pm} & 0 \\ 0 & \pm 1 \end{bmatrix} \in SO_3 \tag{40}
Γ ± : = [ R ± 0 0 ± 1 ] ∈ S O 3 ( 4 0 ) 其中
(41)
R
±
=
[
c
−
s
±
s
±
c
]
,
w
i
t
h
c
2
+
s
2
=
1
R_{\pm} = \begin{bmatrix} c & -s \\ \pm s & \pm c \end{bmatrix}, \quad with \quad c^2+s^2 =1 \tag{41}
R ± = [ c ± s − s ± c ] , w i t h c 2 + s 2 = 1 ( 4 1 ) 也就是
R
+
∈
S
O
3
R_+ \in SO_3
R + ∈ S O 3 是一个旋转,
R
_
∈
O
2
R_{\_} \in O_2
R _ ∈ O 2 是一个反射,也就是
d
e
t
R
_
=
−
1
det R_{\_} = -1
d e t R _ = − 1 。因此,
L
:
S
→
G
L
5
L: \mathrm{S} \to GL_5
L : S → G L 5 ,对于
L
(
Γ
±
)
=
L
±
L(\Gamma_{\pm})=L_{\pm}
L ( Γ ± ) = L ±
(42)
L
±
:
R
5
→
R
5
,
L
±
=
±
[
R
±
0
0
0
1
0
0
0
R
±
]
L_{\pm}:\mathrm{R^5} \to \mathrm{R^5}, \\ L_{\pm} = \pm \begin{bmatrix} R_{\pm} & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & R_{\pm} \end{bmatrix} \tag{42}
L ± : R 5 → R 5 , L ± = ± ⎣ ⎡ R ± 0 0 0 1 0 0 0 R ± ⎦ ⎤ ( 4 2 ) 满足
(43)
μ
(
U
Γ
±
,
V
Γ
±
)
(
x
)
=
U
Γ
±
e
Ω
1
(
x
)
E
0
e
−
Ω
2
(
x
)
Γ
±
T
V
T
=
U
e
Ω
1
(
L
±
x
)
E
0
e
−
Ω
2
(
L
±
x
)
V
T
=
μ
(
U
,
V
)
(
L
±
x
)
\mu_{(U\Gamma_{\pm}, V\Gamma_{\pm})}(x)= U\Gamma_{\pm}e^{\Omega_1(x)}E_0e^{-\Omega_2(x)}\Gamma_{\pm}^TV^T \\ =Ue^{\Omega_1(L_{\pm}x)}E_0e^{-\Omega_2(L_{\pm}x)}V^T \\ =\mu_{(U,V)}(L_{\pm}x) \tag{43}
μ ( U Γ ± , V Γ ± ) ( x ) = U Γ ± e Ω 1 ( x ) E 0 e − Ω 2 ( x ) Γ ± T V T = U e Ω 1 ( L ± x ) E 0 e − Ω 2 ( L ± x ) V T = μ ( U , V ) ( L ± x ) ( 4 3 ) 其中
x
∈
R
5
x \in \mathrm{R^5}
x ∈ R 5 。因此
μ
(
U
,
V
)
\mu_{(U,V)}
μ ( U , V ) 满足条件一二三。
随后,我们认为本质流形作为
S
O
3
×
S
O
3
SO 3×SO 3
S O 3 × S O 3 的轨迹作用于等效的
E
0
E_0
E 0 通过该群作用的导数,
S
O
3
×
S
O
3
SO_3 \times SO_3
S O 3 × S O 3 上的通常规范黎曼测量包含本质流形上的黎曼测量,该测量叫做
E
\mathcal{E}
E 上的正规黎曼测量(normal Riemannian metric)(详见see e.g. Helmke and Moore,1994)。此外,通过利用推论3.1,证明了在
S
o
3
×
S
O
3
So_3 \times SO_3
S o 3 × S O 3 上作用测地线被映射到
E
\mathcal{E}
E 上的测地线(我们参考Mahony(1994),定理5.9.2,在更一般的背景下证明了这一事实)。 此外,在附录中我们将讨论与Ma等人(2001)引入的黎曼度量的主要差异。
映射
μ
(
U
,
V
)
\mu_{(U,V)}
μ ( U , V ) 将
R
5
R^5
R 5 中的直线经过原点映射到
E
\mathcal{E}
E 的测地线
(45)
t
↦
U
e
Ω
1
(
t
x
)
E
0
e
−
Ω
2
(
t
x
)
V
T
t \mapsto U e^{\Omega_1(tx)}E_0e^{-\Omega_2(tx)}V^T \tag{45}
t ↦ U e Ω 1 ( t x ) E 0 e − Ω 2 ( t x ) V T ( 4 5 ) 关于
E
\mathcal{E}
E 上的正规黎曼测量,因此
μ
(
U
,
V
)
−
1
\mu_{(U,V)}^{-1}
μ ( U , V ) − 1 定义了黎曼正规坐标(Riemanmian normal coordinates)。
Example 3.2 与例3.1中相同的精神,我们可以定义Cayley参数化。 回想一下,Cayley变换
C
a
y
(
Ω
)
Cay(\Omega)
C a y ( Ω )
C
a
y
:
s
o
3
→
S
O
3
,
Ω
↦
(
I
+
1
2
Ω
)
(
I
−
1
2
Ω
)
−
1
Cay: \mathfrak{so_3} \to SO_3, \\ \Omega \mapsto (I + \frac{1}{2} \Omega)(I - \frac{1}{2}\Omega)^{-1}
C a y : s o 3 → S O 3 , Ω ↦ ( I + 2 1 Ω ) ( I − 2 1 Ω ) − 1 作为反对称矩阵的矩阵指数
e
Ω
e^{\Omega}
e Ω 的二阶近似。众所周知,Cayley在
s
o
3
\mathfrak{so_3}
s o 3 上的映射在
0
∈
s
o
3
0 \in \mathfrak{so_3}
0 ∈ s o 3 附近局部同胚。所以Cayley参数化
(46)
μ
(
U
,
V
)
C
a
y
:
R
5
→
E
,
μ
(
U
,
V
)
C
a
y
(
x
)
:
=
U
C
a
y
(
Ω
1
(
x
)
)
E
0
C
a
y
(
−
Ω
2
(
x
)
)
V
T
\mu_{(U,V)}^{Cay}:\mathrm{R^5} \to \mathcal{E}, \\ \mu_{(U,V)}^{Cay}(x):=UCay(\Omega_1(x))E_0 Cay(-\Omega_2(x))V^T \tag{46}
μ ( U , V ) C a y : R 5 → E , μ ( U , V ) C a y ( x ) : = U C a y ( Ω 1 ( x ) ) E 0 C a y ( − Ω 2 ( x ) ) V T ( 4 6 ) 与3.1的例子类似。可以证明
μ
(
U
,
V
)
C
a
y
\mu_{(U,V)}^{Cay}
μ ( U , V ) C a y 满足3.1定义的条件一二三。
Example 3.3. 第三个例子我们考虑SVD分解参数化。让
Ω
1
(
x
)
,
Ω
2
(
x
)
\Omega_1(x), \Omega_2(x)
Ω 1 ( x ) , Ω 2 ( x ) 分别定义在(35)(36),通过奇异值分解实现
R
3
×
3
R^{3 \times 3}
R 3 × 3 相对于Frobenius范数在
E
\mathcal{E}
E 上的正交投影
(47)
π
S
V
D
:
R
3
×
3
→
E
,
X
=
U
∑
V
T
↦
U
E
0
V
T
\pi^{SVD} : \mathrm{R^{3 \times 3} \to \mathcal{E}}, \\ X = U \sum V^T \mapsto UE_0 V^T \tag{47}
π S V D : R 3 × 3 → E , X = U ∑ V T ↦ U E 0 V T ( 4 7 ) 其中
U
,
V
∈
S
O
3
U,V \in SO_3
U , V ∈ S O 3 被计算并使得奇异值
∑
=
d
i
a
g
(
σ
1
,
σ
2
,
σ
3
)
\sum = diag(\sigma_1, \sigma_2, \sigma_3)
∑ = d i a g ( σ 1 , σ 2 , σ 3 ) ,
σ
1
>
σ
2
>
σ
3
≥
0
\sigma_1 > \sigma_2 > \sigma_3 \geq 0
σ 1 > σ 2 > σ 3 ≥ 0 。因此定义一个映射
(48)
μ
(
U
,
V
)
S
V
D
:
R
5
→
E
,
x
↦
U
π
S
V
D
(
E
0
+
Ω
1
(
x
)
E
0
−
E
0
Ω
2
(
x
)
)
V
T
\mu_{(U,V)}^{SVD}:\mathrm{R^5} \to \mathcal{E}, \\ x \mapsto U \pi^{SVD}(E_0 + \Omega_1(x)E_0 - E_0\Omega_2(x))V^T \tag{48}
μ ( U , V ) S V D : R 5 → E , x ↦ U π S V D ( E 0 + Ω 1 ( x ) E 0 − E 0 Ω 2 ( x ) ) V T ( 4 8 )
注意,在
R
5
\mathrm{R^5}
R 5 中的足够小的邻域0中,
E
0
+
Ω
1
(
x
)
E
0
−
E
0
Ω
2
(
x
)
E_0 + \Omega_1(x)E_0 - E_0\Omega_2(x)
E 0 + Ω 1 ( x ) E 0 − E 0 Ω 2 ( x ) 的最小奇异值对于x是简单的。 因此,
μ
(
U
,
V
)
S
V
D
\mu_{(U,V)}^{SVD}
μ ( U , V ) S V D 在0附近是平滑的,如下面的引理所示,请参阅附录中的证明。 然后可以轻松检查定义3.1的属性(条件一二三)。
(49)
U
:
=
X
∈
R
3
×
3
∣
最
小
奇
异
值
是
简
单
的
(
s
a
m
p
l
e
)
\mathcal{U}:={X \in \mathrm{R^{3 \times 3}}| 最小奇异值是简单的(sample)} \tag{49}
U : = X ∈ R 3 × 3 ∣ 最 小 奇 异 值 是 简 单 的 ( s a m p l e ) ( 4 9 )
U
⊂
R
3
×
3
\mathcal{U} \subset \mathrm{R^{3 \times 3}}
U ⊂ R 3 × 3 是开集, 投影
π
S
V
D
:
U
→
E
,
X
↦
X
^
\pi^{SVD}: \mathcal{U} \to \mathcal{E}, \\ X \mapsto \hat X
π S V D : U → E , X ↦ X ^ 是平滑的。
3.2 Cost function
3.2.1 本质流形上的cost function
让
M
(
i
)
:
=
m
^
2
(
i
)
m
^
1
(
i
)
T
M^{(i)} := \widehat m_2^{(i)} {\widehat m_1^{(i)}}^T
M ( i ) : = m
2 ( i ) m
1 ( i ) T ,其中
m
^
2
i
,
m
^
1
i
\widehat m_2^{i} ,{\widehat m_1^{i}}
m
2 i , m
1 i 是左右相机匹配图像中第
i
i
i 个归一化的特征点对,这里假设匹配点对是已知的。我们的任务是开发一个约束的最小二乘来求解线性等式
(50)
m
^
1
(
i
)
E
m
^
2
(
i
)
T
=
0
,
i
=
1
,
.
.
.
,
n
.
\widehat m_1^{(i)}E {\widehat m_2^{(i)}}^T = 0,\quad i = 1, ..., n. \tag{50}
m
1 ( i ) E m
2 ( i ) T = 0 , i = 1 , . . . , n . ( 5 0 ) 为了处理大量的匹配特征点,需要有效的压缩其形式,让
(51)
M
‾
:
=
[
v
e
c
T
(
M
(
1
)
T
)
⋮
v
e
c
T
(
M
(
n
)
T
)
]
,
R
9
×
9
∋
M
:
=
1
n
(
M
‾
T
M
‾
)
⩾
0
\overline M := \begin{bmatrix} vec^T({M^{(1)}}^T) \\ \vdots & \\ vec^T({M^{(n)}}^T) \end{bmatrix}, \mathrm{R^{9 \times 9} \ni \mathcal{M}:=\frac{1}{n}(\overline M^T \overline M) \geqslant 0} \tag{51}
M : = ⎣ ⎢ ⎢ ⎡ v e c T ( M ( 1 ) T ) ⋮ v e c T ( M ( n ) T ) ⎦ ⎥ ⎥ ⎤ , R 9 × 9 ∋ M : = n 1 ( M T M ) ⩾ 0 ( 5 1 ) 考虑平滑函数
(52)
f
:
E
→
R
,
f
(
E
)
=
1
2
n
∑
i
=
1
n
(
m
^
1
(
i
)
E
m
^
2
(
i
)
T
)
=
1
2
n
∑
i
=
1
n
t
r
2
(
M
(
i
)
E
)
=
:
1
2
n
∥
v
e
c
(
E
)
∥
M
2
f : \mathcal{E} \to R, \\ f(E) = \frac{1}{2n} \sum_{i=1}^n(\widehat m_1^{(i)}E {\widehat m_2^{(i)}}^T) \\ =\frac{1}{2n} \sum_{i=1}^n tr^2(M^{(i)}E) \\ =:\frac{1}{2n} \Vert vec(E)\Vert^2 _\mathcal{M}\tag{52}
f : E → R , f ( E ) = 2 n 1 i = 1 ∑ n ( m
1 ( i ) E m
2 ( i ) T ) = 2 n 1 i = 1 ∑ n t r 2 ( M ( i ) E ) = : 2 n 1 ∥ v e c ( E ) ∥ M 2 ( 5 2 ) 该成本函数(cost function)的全局最小化提出了本文所述的主要计算任务。 注意,根据
f
f
f 的对称性,对于本质矩阵
E
,
−
E
E,-E
E , − E 也是
f
f
f 的临界点(critical point)。 因此,成本函数的临界点成对出现
E
,
−
E
E,-E
E , − E ,因此临界点的数量是偶数。 注意,通过Mountain Pass引理和
E
E
E 的非平凡拓扑,
f
f
f 必存在鞍点。 这些鞍点是牛顿方法的局部吸引子(local attractors),除非修改梯度下降,例如, 使用高斯 - 牛顿方法。
3.2.2 Noise-free solution
当且仅当本质矩阵的极限约束满足匹配图像点
m
^
1
(
i
)
E
m
^
2
(
i
)
T
=
0
\widehat m_1^{(i)}E {\widehat m_2^{(i)}}^T = 0
m
1 ( i ) E m
2 ( i ) T = 0 ,cost function值为0,也就是数据在无噪声的情况下全局最小值为0,即可或得希望的解。也应该清楚的知道,无噪声的情况下
v
e
c
(
E
)
vec(E)
v e c ( E ) 的奇异值向量是
M
\mathcal{M}
M 的0特征值对应的向量。所以有一种计算方法,所谓的归一化8点算法(Hartley和Zisserman,2003)。
3.2.3 Closed Form Initial Estimate in the Noisy Case
应用中我们主要对有噪声的情况下感兴趣 ,通常
M
\mathcal{M}
M 是非0的奇异值,cost function不能达到0值。然而,即使在存在噪声的情况下,搜索该成本函数的最小值也是有意义的。 启发式地,可以预期全局最小值是真实本质矩阵解的最小二乘近似,从而促使我们使用8点算法进行初始化。因此,我们以估计
E
E
E 的
E
^
\widehat E
E
的优化算法开始,其中
∥
E
^
∥
=
2
\Vert \widehat E \Vert = \sqrt 2
∥ E
∥ = 2
,得到
v
e
c
(
E
^
)
vec(\widehat E)
v e c ( E
) 的奇异值向量,该奇异值向量是
M
\mathcal{M}
M 是最小奇异值
λ
m
i
n
(
M
)
\lambda_{min}(\mathcal{M})
λ m i n ( M ) 对应的奇异值向量。一般情况下,
E
^
\widehat E
E
不在流形
E
\mathcal{E}
E 上,因此我们通过奇异值分解投影
E
^
\widehat E
E
到本质矩阵的流形上,我们首先可以获得估计
E
E
E 的
E
1
E_1
E 1
(53)
M
v
e
c
(
E
^
)
=
λ
m
i
n
(
M
)
v
e
c
(
E
^
)
,
E
^
=
U
^
∑
V
^
T
,
E
1
=
U
^
E
0
V
^
T
\mathcal{M}vec(\widehat E) = \lambda_{min}(\mathcal{M})vec(\widehat E), \\ \widehat E ={ \widehat U} \sum \widehat V^T, E_1 = \widehat U E_0 \widehat V^T \tag{53}
M v e c ( E
) = λ m i n ( M ) v e c ( E
) , E
= U
∑ V
T , E 1 = U
E 0 V
T ( 5 3 ) 我们用
E
1
E_1
E 1 初始化我们的算法。这是归一化的八点算法求解(另见Hartley和Zisserman,2003),第11.2节。 注意,8点算法仅在最小特征值与其他特征值很好地分离的情况下给出数值上有意义的结果。 除非噪音水平太高,否则可以假设这一点。
3.2.4 Quadratic Model of the Cost Function
成本函数(cost function)
f
:
E
→
R
f: \mathcal{E} \to \mathrm{R}
f : E → R 在
E
∈
E
E \in \mathcal{E}
E ∈ E 附近可以用局部参数空间坐标(37)表示如下。
(54)
f
∘
μ
(
U
,
V
)
:
R
5
→
R
,
f
∘
μ
(
U
,
V
)
=
1
2
∥
v
e
c
(
U
e
Ω
1
(
x
)
E
0
e
−
Ω
2
(
x
)
V
T
)
∥
M
2
=
1
2
∥
(
V
⊕
U
)
v
e
c
(
e
Ω
1
(
x
)
E
0
e
−
Ω
2
(
x
)
)
∥
M
2
f \circ \mu_{(U,V)}: \mathrm{R^5} \to \mathrm{R}, \\ f \circ \mu_{(U,V)} = \frac{1}{2}\Vert vec(Ue^{\Omega_1(x)}E_0 e^{-\Omega_2(x)}V^T) \Vert_{\mathcal{M}}^2 \\ =\frac{1}{2}\Vert (V \oplus U)vec(e^{\Omega_1(x)}E_0 e^{-\Omega_2(x)})\Vert_{\mathcal{M}}^2 \tag{54}
f ∘ μ ( U , V ) : R 5 → R , f ∘ μ ( U , V ) = 2 1 ∥ v e c ( U e Ω 1 ( x ) E 0 e − Ω 2 ( x ) V T ) ∥ M 2 = 2 1 ∥ ( V ⊕ U ) v e c ( e Ω 1 ( x ) E 0 e − Ω 2 ( x ) ) ∥ M 2 ( 5 4 ) 这里“⊗”和“vec”分别表示矩阵Kronecker乘积和vec操作,即堆叠列。
f
∘
μ
(
U
,
V
)
f \circ \mu_{(U,V)}
f ∘ μ ( U , V ) 在0附近的二阶泰勒多项式
(55)
f
∘
μ
(
U
,
V
)
(
0
)
+
D
(
f
∘
μ
(
U
,
V
)
)
(
h
)
+
1
2
D
2
(
f
∘
μ
(
U
,
V
)
)
(
h
,
h
)
f \circ \mu_{(U,V)}(0) + D(f \circ \mu_{(U,V)})(h) + \frac{1}{2}D^2(f \circ \mu_{(U,V)})(h, h) \tag{55}
f ∘ μ ( U , V ) ( 0 ) + D ( f ∘ μ ( U , V ) ) ( h ) + 2 1 D 2 ( f ∘ μ ( U , V ) ) ( h , h ) ( 5 5 ) (i). 常量项是
(56)
(
f
∘
μ
(
U
,
V
)
)
(
0
)
=
1
2
∥
v
e
c
(
E
)
∥
M
2
(f \circ \mu_{(U,V)})(0) = \frac{1}{2}\Vert vec(E) \Vert_{\mathcal{M}}^2 \tag{56}
( f ∘ μ ( U , V ) ) ( 0 ) = 2 1 ∥ v e c ( E ) ∥ M 2 ( 5 6 ) (ii). 线性项是
(57)
d
d
t
f
∘
μ
(
U
,
V
)
(
t
h
)
∣
t
=
0
=
D
(
f
∘
μ
(
U
,
V
)
)
(
0
)
h
=
(
∇
(
f
∘
μ
(
U
,
V
)
)
(
0
)
)
T
⋅
h
=
⟨
g
r
a
d
f
(
U
E
0
V
T
)
,
U
(
Ω
1
(
h
)
E
0
−
E
0
Ω
2
(
h
)
)
V
T
⟩
=
v
e
c
T
(
E
)
M
v
e
c
(
U
(
Ω
1
(
h
)
E
0
−
E
0
Ω
2
(
h
)
)
V
T
)
\frac{d}{dt}f \circ \mu_{(U,V)}(th) |_{t=0} \\ =D(f \circ \mu_{(U,V)})(0)h \\ =(\nabla (f \circ \mu_{(U,V)})(0))^T \cdot h \\ =\langle grad f(UE_0V^T), U(\Omega_1(h)E_0-E_0\Omega_2(h))V^T\rangle \\ =vec^T(E)\mathcal{M}vec(U(\Omega_1(h)E_0-E_0\Omega_2(h))V^T) \tag{57}
d t d f ∘ μ ( U , V ) ( t h ) ∣ t = 0 = D ( f ∘ μ ( U , V ) ) ( 0 ) h = ( ∇ ( f ∘ μ ( U , V ) ) ( 0 ) ) T ⋅ h = ⟨ g r a d f ( U E 0 V T ) , U ( Ω 1 ( h ) E 0 − E 0 Ω 2 ( h ) ) V T ⟩ = v e c T ( E ) M v e c ( U ( Ω 1 ( h ) E 0 − E 0 Ω 2 ( h ) ) V T ) ( 5 7 ) 这里,
∇
(
f
∘
μ
(
U
,
V
)
)
(
0
)
\nabla (f \circ \mu_{(U,V)})(0)
∇ ( f ∘ μ ( U , V ) ) ( 0 ) 表示
f
∘
μ
(
U
,
V
)
:
R
5
→
R
f \circ \mu_{(U,V)}:\mathrm{R^5} \to \mathrm{R}
f ∘ μ ( U , V ) : R 5 → R 在0处的标准欧几里得梯度,此外
(58)
g
r
a
d
f
(
U
E
0
V
T
)
=
D
μ
(
U
,
V
)
(
0
)
⋅
∇
(
f
∘
μ
(
U
,
V
)
)
(
0
)
grad f(UE_0V^T) = D \mu_{(U,V)}(0) \cdot \nabla(f \circ \mu_{(U,V)})(0) \tag{58}
g r a d f ( U E 0 V T ) = D μ ( U , V ) ( 0 ) ⋅ ∇ ( f ∘ μ ( U , V ) ) ( 0 ) ( 5 8 ) 是
f
:
E
→
R
f:\mathcal{E} \to R
f : E → R 关于在
E
\mathcal{E}
E 上的正规黎曼测量
⟨
,
⟩
\langle, \rangle
⟨ , ⟩ 的黎曼梯度。
为了计算欧几里得梯度和海塞(hessian)矩阵,让
(59)
v
e
c
(
Ω
1
(
x
)
)
:
=
Q
1
x
v
e
c
(
Ω
2
(
x
)
)
:
=
Q
2
x
,
vec(\Omega_1(x)) := Q_1x \\ vec(\Omega_2(x)) := Q_2 x , \tag{59}
v e c ( Ω 1 ( x ) ) : = Q 1 x v e c ( Ω 2 ( x ) ) : = Q 2 x , ( 5 9 ) 其中
(60)
Q
1
:
=
[
v
e
c
(
1
2
Q
x
)
v
e
c
(
1
2
Q
y
)
v
e
c
(
1
2
Q
z
)
0
0
]
∈
R
9
×
5
,
Q
1
:
=
[
0
0
v
e
c
(
−
1
2
Q
z
)
v
e
c
(
1
2
Q
x
)
v
e
c
(
1
2
Q
y
)
]
∈
R
9
×
5
Q_1:= \left[vec(\frac{1}{\sqrt 2}Q_x) \quad vec(\frac{1}{\sqrt 2}Q_y) \quad vec(\frac{1}{2}Q_z) \quad 0 \quad 0\right] \in \mathrm{R^{9 \times 5}},\\ Q_1:= \left[ 0 \quad 0 \quad vec(-\frac{1}{2}Q_z) \quad \quad vec(\frac{1}{\sqrt 2}Q_x) \quad vec(\frac{1}{\sqrt 2}Q_y) \right] \in \mathrm{R^{9 \times 5}} \tag{60}
Q 1 : = [ v e c ( 2
1 Q x ) v e c ( 2
1 Q y ) v e c ( 2 1 Q z ) 0 0 ] ∈ R 9 × 5 , Q 1 : = [ 0 0 v e c ( − 2 1 Q z ) v e c ( 2
1 Q x ) v e c ( 2
1 Q y ) ] ∈ R 9 × 5 ( 6 0 ) 其中
Q
x
,
Q
y
,
Q
z
Q_x, Q_y, Q_z
Q x , Q y , Q z 在(10)中定义。局部cost fuction的欧几里得梯度公式是
(61)
∇
(
f
∘
μ
(
U
,
V
)
)
(
0
)
=
J
T
M
v
e
c
(
E
)
,
\nabla(f \circ \mu_{(U,V)})(0) = J^T\mathcal{M}vec(E), \tag{61}
∇ ( f ∘ μ ( U , V ) ) ( 0 ) = J T M v e c ( E ) , ( 6 1 ) 其中
(62)
J
:
=
(
V
⊕
U
)
(
(
E
0
⊕
I
)
Q
1
−
(
I
⊕
E
0
)
Q
2
)
J:=(V\oplus U )((E_0 \oplus I)Q_ 1- (I\oplus E_0)Q_2) \tag{62}
J : = ( V ⊕ U ) ( ( E 0 ⊕ I ) Q 1 − ( I ⊕ E 0 ) Q 2 ) ( 6 2 ) (iii).
h
h
h 中的二次项包含两项的和,第一项
∥
v
e
c
(
U
(
Ω
1
(
h
)
E
0
−
E
0
Ω
2
(
h
)
)
V
T
)
∥
M
2
=
:
h
T
H
^
f
∘
μ
(
U
,
V
)
(
0
)
h
\Vert vec(U(\Omega_1(h)E_0-E_0\Omega_2(h))V^T) \Vert_{\mathcal{M}}^2 \\ =:h^T\widehat H_{f\circ \mu_{(U,V)}}(0)h
∥ v e c ( U ( Ω 1 ( h ) E 0 − E 0 Ω 2 ( h ) ) V T ) ∥ M 2 = : h T H
f ∘ μ ( U , V ) ( 0 ) h 是
R
5
\mathrm{R^5}
R 5 的二次形式,其中
H
^
f
∘
μ
(
U
,
V
)
(
0
)
\widehat H_{f\circ \mu_{(U,V)}}(0)
H
f ∘ μ ( U , V ) ( 0 ) 对所有的
U
,
V
∈
S
O
3
U,V \in SO_3
U , V ∈ S O 3 是正定(半正定)的。注意,通过观察当且只有矩阵
M
\mathcal{M}
M 是正定的,
H
^
f
∘
μ
(
U
,
V
)
(
0
)
\widehat H_{f\circ \mu_{(U,V)}}(0)
H
f ∘ μ ( U , V ) ( 0 ) 是正定的。 被给的第二项是
(63)
h
T
H
~
f
∘
μ
(
U
,
V
)
(
0
)
h
:
=
v
e
c
T
(
E
)
M
v
e
c
(
U
(
Ω
1
2
(
h
)
E
0
+
E
0
Ω
2
2
(
h
)
−
2
Ω
1
(
h
)
E
0
Ω
2
(
h
)
)
V
T
)
h^T \widetilde H_{f\circ \mu_{(U,V)}}(0)h :=vec^T(E)\mathcal{M}vec(U(\Omega_1^2(h)E_0+E_0\Omega_2^2(h)-2\Omega_1(h)E_0\Omega_2(h))V^T) \tag{63}
h T H
f ∘ μ ( U , V ) ( 0 ) h : = v e c T ( E ) M v e c ( U ( Ω 1 2 ( h ) E 0 + E 0 Ω 2 2 ( h ) − 2 Ω 1 ( h ) E 0 Ω 2 ( h ) ) V T ) ( 6 3 ) 因此,在0处的局部cost function的海塞矩阵(Hessian matrix)是
(64)
H
f
∘
μ
(
U
,
V
)
(
0
)
=
H
^
f
∘
μ
(
U
,
V
)
(
0
)
+
H
~
f
∘
μ
(
U
,
V
)
(
0
)
H_{f \circ \mu_{(U,V)}}(0) = \widehat H_{f\circ \mu_{(U,V)}}(0) + \widetilde H_{f\circ \mu_{(U,V)}}(0) \tag{64}
H f ∘ μ ( U , V ) ( 0 ) = H
f ∘ μ ( U , V ) ( 0 ) + H
f ∘ μ ( U , V ) ( 0 ) ( 6 4 ) 其中
(65)
H
^
f
∘
μ
(
U
,
V
)
(
0
)
:
=
J
T
M
J
≥
0
\widehat H_{f\circ \mu_{(U,V)}}(0) := J^T \mathcal{M}J \geq 0 \tag{65}
H
f ∘ μ ( U , V ) ( 0 ) : = J T M J ≥ 0 ( 6 5 ) 通过表示
(66)
v
e
c
(
D
)
:
=
(
V
T
⊕
U
T
)
M
v
e
c
(
E
)
vec(D):= (V^T \oplus U^T)\mathcal{M}vec(E) \tag{66}
v e c ( D ) : = ( V T ⊕ U T ) M v e c ( E ) ( 6 6 ) 我们有
(67)
H
~
f
∘
μ
(
U
,
V
)
(
0
)
=
[
Q
1
T
Q
2
T
]
[
−
(
D
E
0
⊕
I
)
(
D
⊕
E
0
)
(
D
T
⊕
E
0
)
−
(
E
0
D
⊕
I
)
]
[
Q
1
Q
2
]
\widetilde H_{f\circ \mu_{(U,V)}}(0) = [Q_1^T \quad Q_2^T] \begin{bmatrix} -(DE_0 \oplus I) & (D \oplus E_0) \\ (D^T \oplus E_0) & -(E_0 D \oplus I) \end{bmatrix} \begin{bmatrix} Q_1 \\ Q_2 \end{bmatrix} \tag{67}
H
f ∘ μ ( U , V ) ( 0 ) = [ Q 1 T Q 2 T ] [ − ( D E 0 ⊕ I ) ( D T ⊕ E 0 ) ( D ⊕ E 0 ) − ( E 0 D ⊕ I ) ] [ Q 1 Q 2 ] ( 6 7 ) 用于优化
f
∘
μ
(
U
,
V
)
f \circ \mu_{(U,V)}
f ∘ μ ( U , V ) 的牛顿方向是
(68)
−
H
f
∘
μ
(
U
,
V
)
(
0
)
−
1
∇
(
f
∘
μ
(
U
,
V
)
)
(
0
)
-H_{f \circ \mu_{(U,V)}}(0)^{-1} \nabla(f \circ \mu_{(U,V)})(0) \tag{68}
− H f ∘ μ ( U , V ) ( 0 ) − 1 ∇ ( f ∘ μ ( U , V ) ) ( 0 ) ( 6 8 ) 与此同时与梯度下降一致的高斯牛顿方向是
(69)
−
H
^
f
∘
μ
(
U
,
V
)
(
0
)
−
1
∇
(
f
∘
μ
(
U
,
V
)
)
(
0
)
-\widehat H_{f \circ \mu_{(U,V)}}(0)^{-1} \nabla(f \circ \mu_{(U,V)})(0) \tag{69}
− H
f ∘ μ ( U , V ) ( 0 ) − 1 ∇ ( f ∘ μ ( U , V ) ) ( 0 ) ( 6 9 ) 式(55)中的二次项
(70)
d
2
d
t
2
(
f
∘
μ
(
U
,
V
)
)
(
t
h
)
∣
t
=
0
=
H
f
(
E
)
(
γ
˙
(
0
)
,
γ
˙
(
0
)
)
,
\frac{d^2}{dt^2}(f \circ \mu_{(U,V)})(th)|_{t=0} = \mathcal{H}_{f(E)}(\dot \gamma(0), \dot \gamma(0)), \tag{70}
d t 2 d 2 ( f ∘ μ ( U , V ) ) ( t h ) ∣ t = 0 = H f ( E ) ( γ ˙ ( 0 ) , γ ˙ ( 0 ) ) , ( 7 0 ) 有一个几何的解释,那就是
H
f
(
E
)
\mathcal{H}_{f(E)}
H f ( E ) 表示
f
:
E
→
R
f:\mathcal{E} \to \mathrm{R}
f : E → R 的黎曼海塞形式,其中
f
:
E
→
R
f:\mathcal{E} \to \mathrm{R}
f : E → R 关于正规黎曼测量。这里
γ
(
t
)
=
μ
(
U
,
V
)
(
t
h
)
\gamma(t)=\mu_{(U,V)}(th)
γ ( t ) = μ ( U , V ) ( t h ) ,
γ
(
0
)
=
E
\gamma(0)=E
γ ( 0 ) = E 表示从
E
E
E 方向
γ
˙
(
0
)
=
D
μ
(
U
,
V
)
(
0
)
h
\dot \gamma(0)=D\mu_{(U,V)}(0)h
γ ˙ ( 0 ) = D μ ( U , V ) ( 0 ) h 发出的测地线(geodesic),(see e.g. Lang, 1999), pp. 342.
4. The Algorithm
我们提出的牛顿型算法是通过迭代映射来定义的
(71)
s
:
E
→
E
s : \mathcal{E} \to \mathcal{E} \tag{71}
s : E → E ( 7 1 ) 对于任意的
U
,
V
∈
S
O
3
U, V \in SO_3
U , V ∈ S O 3 ,让
x
o
p
t
(
U
,
V
)
x^{opt}(U,V)
x o p t ( U , V ) 表示
(72)
H
f
∘
μ
(
U
,
V
)
(
0
)
x
=
−
∇
(
f
∘
μ
(
U
,
V
)
)
(
0
)
H_{f \circ \mu_{(U,V)}}(0)x = - \nabla(f \circ \mu_{(U,V)})(0) \tag{72}
H f ∘ μ ( U , V ) ( 0 ) x = − ∇ ( f ∘ μ ( U , V ) ) ( 0 ) ( 7 2 ) 的解,类似的, 让
x
G
N
o
p
t
x^{opt}_{GN}
x G N o p t (U,V)表示
(73)
H
^
f
∘
μ
(
U
,
V
)
(
0
)
⋅
x
=
−
∇
(
f
∘
μ
(
U
,
V
)
)
(
0
)
\widehat H_{f \circ \mu_{(U,V)}}(0) \cdot x = - \nabla(f \circ \mu_{(U,V)})(0) \tag{73}
H
f ∘ μ ( U , V ) ( 0 ) ⋅ x = − ∇ ( f ∘ μ ( U , V ) ) ( 0 ) ( 7 3 ) 的解,也就是高斯牛顿的方向。 在第一种情况下算法映射
s
s
s 给出
(74)
s
(
U
E
0
V
T
)
=
v
(
U
,
V
)
(
x
o
p
t
(
U
,
V
)
)
s(UE_0V^T) =v_{(U,V)}(x^{opt}(U,V)) \tag{74}
s ( U E 0 V T ) = v ( U , V ) ( x o p t ( U , V ) ) ( 7 4 ) 其中
(75)
v
(
U
,
V
)
∈
{
μ
(
U
,
V
)
,
μ
(
U
,
V
)
C
a
y
,
μ
(
U
,
V
)
S
V
D
}
v_{(U,V)} \in\{\mu_{(U,V)},\mu_{(U,V)}^{Cay}, \mu_{(U,V)}^{SVD} \} \tag{75}
v ( U , V ) ∈ { μ ( U , V ) , μ ( U , V ) C a y , μ ( U , V ) S V D } ( 7 5 ) 表示前面介绍的三个局部参数化的一个,我们现在描述提出算法的实现细节。首先预处理数据为式(51)描述的
9
×
9
9 \times 9
9 × 9 的矩阵
M
\mathcal{M}
M ,让
λ
m
i
n
(
A
)
\lambda_{min}(A)
λ m i n ( A ) 表示对称矩阵A的最小奇异值。 注意,上述算法针对正规测量实现黎曼牛顿算法,至少在
f
f
f 的局部最小值集合的足够小的邻域上。 在这样的邻域之外,黎曼Hessian几乎是不确定的退化,我们使用由近似Hessian
H
^
\widehat H
H
定义的黎曼测量转换为黎曼梯度算法。因此,s在流形
E
\mathcal{E}
E 上有效地实现了Gauss-Newton算法。 牛顿算法的这种修改对于扩大局部最小值的吸引域是至关重要的。
reference
Hartley, R. and Zisserman, A. 2003. Multiple View Geometry, 2nd edi- tion. Cambridge: Cambridge University Press. Helmke, U., Hüper, K., Lee, P.Y., and Moore, J.B. 2004. Essential matrix estimation via Newton-type methods. In Proceedings of the MTNS, Leuven. Helmke, U. and Moore, J.B. 1994. Optimization and Dynamical Sys- tems. London: CCES. Springer. Horn, B. 1990. Relative orientation. International Journal of Computer Vision, 4(1):59–78. Huang, T.S. and Faugeras, O.D. 1989. Some properties of the E matrix in two-view motion estimation. IEEE Transactions on Pattern Analysis and Machine Inteligence, 11(12):1310–1312. Huang, T.S. and Netravali, A.N. 1994. Motion and structure from fea- ture correspondence: A review. Proceedings of the IEEE, 82(2):252– 268. Lang, S. 1999. Fundamentals of Differential Geometry. New York: Springer. Longuet-Higgins, H. 1981. A computer algorithm for reconstructing a scene from projections. Nature, 293:133–135. Ma, Y., Košecká, J., and Sastry, S. 2001. Optimization criteria and geo- metric algorithms for motion and structure estimation. International Journal of Computer Vision, 44(3):219–249. Mahony, R. 1994. Optimization Algorithms on Homogeneous Spaces. PhD thesis, Australian National University, Canberra. Smith, S.T. 1994. Optimization techniques on Riemannian mani- folds. In Hamiltonian and Gradient Flows, Algorithms and Con- trol, A. Bloch (ed.), Fields institute communications, pp. 113–136. American Math. Soc., Providence. Soatto, S., Frezza, R., and Perona, P. 1996. Motion estimation via dynamic vision. IEEE Transactions on Automatic Control, 41(3):393–413.