Title: 旋转参数的最小方差估计 —— Umeyama 算法详细推导 (I)
相关博文介绍
- 矩阵乘法可交换与可同时对角化的关系 —— Umeyama 算法推导的数学准备 (I)
- 旋转矩阵约束下的朗格朗日乘子 —— Umeyama 算法推导的数学准备 (II)
- 矩阵乘操作、三角化、开方特征值 —— Umeyama 算法推导的数学准备 (III)
- 奇异值分解之常用结论
- 旋转参数的最小方差估计 —— Umeyama 算法详细推导 (I)
- 相似变换 (旋转、平移、缩放) 参数的最小方差估计 —— Umeyama 算法详细推导 (II)
- Umeyama 算法之源码阅读与测试
前言
SLAM 轨迹的对齐和评估时, 多用 Umeyama 算法实现.
该算法要解决的问题为:
给定两个 m m m 维空间内的点集 { x i \mathbf{x}_i xi} 和 { y i \mathbf{y}_i yi} (其中 i = 1 , 2 , … , n i=1,2,\ldots,n i=1,2,…,n) 找出最小误差平方意义下的相似变换参数 (包括旋转 R \mathbf{R} R、平移 t \mathbf{t} t、缩放 c c c).
该算法初见于 S. Umeyama 的一篇论文 “Least-squares estimation of transformation parameters between two point patterns”[1].
I. 引理 —— 旋转参数的最小方差估计
在完整解决相似变换的参数估计前, 原论文先提出了如下引理用于解决一个较小的问题 —— 旋转变换的参数估计.
A \mathbf{A} A 和 B \mathbf{B} B 都是 m × n m\times n m×n 的矩阵.
R \mathbf{R} R 是 m × m m\times m m×m 的旋转矩阵.
U D V T \mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} UDVT 是 A B T \mathbf{A}\mathbf{B}^{\small\rm T} ABT 的奇异值分解, 即
A B T = U D V T (I-1) \mathbf{A}\mathbf{B}^{\small\rm T} = \mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} \tag{I-1} ABT=UDVT(I-1)
其中 U U T = V V T = I \mathbf{U}\mathbf{U}^{\small\rm T}= \mathbf{V}\mathbf{V}^{\small\rm T} = \mathbf{I} UUT=VVT=I, D = d i a g ( d i ) \mathbf{D}={\rm diag}(d_i) D=diag(di), d 1 ≥ d 2 ≥ ⋯ ≥ d m ≥ 0 d_1 \geq d_2 \geq \cdots \geq d_m \geq 0 d1≥d2≥⋯≥dm≥0.以 R \mathbf{R} R 为参数的目标函数 ∥ A − R B ∥ F \|\mathbf{A}- \mathbf{R} \mathbf{B}\|_{F} ∥A−RB∥F 的最小值为
min R ∥ A − R B ∥ F 2 = ∥ A ∥ F 2 + ∥ B ∥ F 2 − 2 t r ( D S ) (I-2) \underset{\mathbf{R}}{\min} \|\mathbf{A}-\mathbf{R}\mathbf{B}\|_{F}^2 = \|\mathbf{A}\|_{F}^2 + \|\mathbf{B}\|_{F}^2 -2\, {\rm tr}(\mathbf{D}\mathbf{S}) \tag{I-2} Rmin∥A−RB∥F2=∥A∥F2+∥B∥F2−2tr(DS)(I-2)
其中
S = { I , if det ( A B T ) ≥ 0 d i a g ( 1 , 1 , ⋯ , 1 , − 1 ) , if det ( A B T ) < 0 (I-3) \mathbf{S} = \left\{ \begin{array} {ll} \mathbf{I}, & \text{if} \;\; \det (\mathbf{A}\mathbf{B}^{\small\rm T})\geq 0\\ {\rm diag}(1,1,\cdots,1,-1), & \text{if} \;\; \det (\mathbf{A}\mathbf{B}^{\small\rm T})< 0\\ \end{array} \right. \tag{I-3} S={I,diag(1,1,⋯,1,−1),ifdet(ABT)≥0ifdet(ABT)<0(I-3)
当 r a n k ( A B T ) ≥ m − 1 {\rm rank}(\mathbf{A}\mathbf{B}^{\small\rm T}) \geq m-1 rank(ABT)≥m−1 时, 达到式 (I-2) 目标函数最小化所需的最优的旋转矩阵 R \mathbf{R} R 被唯一确定为
R = U S V T (I-4) \mathbf{R} = \mathbf{U} \mathbf{S} \mathbf{V}^{\small\rm T} \tag{I-4} R=USVT(I-4)
其中当 det ( A B T ) = 0 \det ({\mathbf{A}\mathbf{B}^{\small\rm T}}) = 0 det(ABT)=0 时 (也就是说, 当 r a n k ( A B T ) = m − 1 {\rm rank}(\mathbf{A}\mathbf{B}^{\small\rm T})= m-1 rank(ABT)=m−1 时), 式 (4) 中的 S \mathbf{S} S 需要选择为
S = { I , if det ( U ) det ( V ) = 1 d i a g ( 1 , 1 , ⋯ , 1 , − 1 ) , if det ( U ) det ( V ) = − 1 (I-5) \mathbf{S} = \left\{ \begin{array} {ll} \mathbf{I}, & \text{if} \;\; \det (\mathbf{U})\det(\mathbf{V}) = 1\\ {\rm diag}(1,1,\cdots,1,-1), & \text{if} \;\; \det (\mathbf{U})\det(\mathbf{V}) = -1\\ \end{array} \right. \tag{I-5} S={I,diag(1,1,⋯,1,−1),ifdet(U)det(V)=1ifdet(U)det(V)=−1(I-5)
本篇博客内容就是详细推导一下以上引理.
II. Lagrange 乘子法求最优参数估计
我们已由 “旋转矩阵约束下的朗格朗日乘子 —— Umeyama 算法推导的数学准备 (II)” 一文中构建了 “旋转参数的最小方差估计” 的拉格朗日函数
L = ∥ A − R B ∥ F 2 + t r ( λ ( R T R − I ) ) + g [ det ( R ) − 1 ] (II-1) L = \| \mathbf{A} - \mathbf{R}\mathbf{B} \|_{F}^2 + {\rm tr}\left({\boldsymbol\lambda}\left({\mathbf{R}^{\small\rm T} \mathbf{R}} - \mathbf{I}\right)\right) + g\left[\det(\mathbf{R}) - 1\right] \tag{II-1} L=∥A−RB∥F2+tr(λ(RTR−I))+g[det(R)−1](II-1)
其中 R \mathbf{R} R 是 m × m m\times m m×m 的旋转矩阵. λ \boldsymbol\lambda λ 是 m × m m \times m m×m 的对称矩阵, 作为拉格朗日乘子矩阵. g g g 是标量拉格朗日乘子.
需要说明:
我们虽然知道这里的 R \mathbf{R} R 是旋转矩阵, 但在做具体运算时只能当做普通矩阵, 而旋转矩阵的约束或特性已经通过拉格朗日函数中的两个拉格朗日乘子项体现了.
根据拉格朗日乘子法标准步骤进行计算.
1. 极值驻点
A. 拉格朗日函数第一项对 R \mathbf{R} R 的偏导数
根据矩阵的 Frobenius-范数的定义以及 [Identity 1] Matrix Trace 可知
∥
A
−
R
B
∥
F
2
=
t
r
[
(
A
−
R
B
)
T
(
A
−
R
B
)
]
=
t
r
[
(
A
−
R
B
)
(
A
−
R
B
)
T
]
=
t
r
(
A
A
T
−
R
B
A
T
−
A
B
T
R
T
+
R
B
B
T
R
T
)
(II-1-A-1)
\begin{aligned} \|\mathbf{A}-\mathbf{R}\mathbf{B}\|_{F}^2 & = {\rm tr}\left[(\mathbf{A}-\mathbf{R}\mathbf{B})^{\small\rm T} (\mathbf{A}-\mathbf{R}\mathbf{B})\right]\\ & = {\rm tr}\left[(\mathbf{A}-\mathbf{R}\mathbf{B}) (\mathbf{A}-\mathbf{R}\mathbf{B})^{\small\rm T}\right]\\ & = {\rm tr} (\mathbf{A} \mathbf{A}^{\small\rm T} - \mathbf{R} \mathbf{B} \mathbf{A}^{\small\rm T} - \mathbf{A} \mathbf{B}^{\small\rm T} \mathbf{R}^{\small\rm T} + \mathbf{R} \mathbf{B} \mathbf{B}^{\small\rm T} \mathbf{R}^{\small\rm T}) \end{aligned} \tag{II-1-A-1}
∥A−RB∥F2=tr[(A−RB)T(A−RB)]=tr[(A−RB)(A−RB)T]=tr(AAT−RBAT−ABTRT+RBBTRT)(II-1-A-1)
根据 Partial Derivative of a Matrix Trace 对式 (II-1-1) 求偏导数
∂
∥
A
−
R
B
∥
F
2
∂
R
=
−
2
A
B
T
+
2
R
B
B
T
(II-1-A-2)
\frac{\partial \|\mathbf{A}-\mathbf{R}\mathbf{B}\|_{F}^2 }{\partial \mathbf{R}} = -2 \mathbf{A}\mathbf{B}^{\small\rm T} + 2 \mathbf{R}\mathbf{B}\mathbf{B}^{\small\rm T} \tag{II-1-A-2}
∂R∂∥A−RB∥F2=−2ABT+2RBBT(II-1-A-2)
B. 拉格朗日函数第二项对 R \mathbf{R} R 的偏导数
同样利用 [Identity 1] Matrix Trace 和 Partial Derivative of a Matrix Trace 计算
∂ t r ( λ ( R T R − I ) ) ∂ R = ∂ t r ( λ R T R ) ∂ R = ∂ t r ( R λ R T ) ∂ R = 2 R λ (II-1-B-1) \begin{aligned} \frac{\partial {\rm tr}\left({\boldsymbol\lambda}\left({\mathbf{R}^{\small\rm T} \mathbf{R}} - \mathbf{I}\right)\right)}{\partial \mathbf{R}} & = \frac{\partial {\rm tr}\left({\boldsymbol\lambda}{\mathbf{R}^{\small\rm T} \mathbf{R}} \right)}{\partial \mathbf{R}}\\ &= \frac{\partial {\rm tr}\left(\mathbf{R} {\boldsymbol\lambda}{\mathbf{R}^{\small\rm T} } \right)}{\partial \mathbf{R}}\\ & = 2\mathbf{R} {\boldsymbol\lambda} \end{aligned} \tag{II-1-B-1} ∂R∂tr(λ(RTR−I))=∂R∂tr(λRTR)=∂R∂tr(RλRT)=2Rλ(II-1-B-1)
C. 拉格朗日函数第三项对 R \mathbf{R} R 的偏导数
利用 [Identity 13-a] Derivative of a Matrix’s Determinant 计算
∂
g
[
det
(
R
)
−
1
]
∂
R
=
g
(
det
(
R
)
R
−
1
)
T
(II-1-C-1)
\frac{\partial g\left[\det(\mathbf{R}) - 1\right]}{\partial \mathbf{R}} = g \left(\det(\mathbf{R})\, \mathbf{R}^{-1}\right)^{\small\rm T} \tag{II-1-C-1}
∂R∂g[det(R)−1]=g(det(R)R−1)T(II-1-C-1)
D. 拉格朗日函数对 λ \boldsymbol{\lambda} λ 的偏导数
利用 [Identity 4] Partial Derivative of a Matrix Trace of the First Order (1) 计算
∂
L
∂
λ
=
R
T
R
−
I
=
0
(II-1-D-1)
\frac{\partial L}{\partial \boldsymbol{\lambda}} = {\mathbf{R}^{\small\rm T} \mathbf{R}} - \mathbf{I} = \mathbf{0} \tag{II-1-D-1}
∂λ∂L=RTR−I=0(II-1-D-1)
求驻点可以得到
R
−
1
=
R
T
(II-1-D-2)
\mathbf{R}^{-1} = \mathbf{R}^{\small\rm T} \tag{II-1-D-2}
R−1=RT(II-1-D-2)
E. 拉格朗日函数对 g g g 的偏导数
∂ L ∂ g = det ( R ) − 1 = 0 (II-1-E-1) \frac{\partial L}{\partial g} = \det(\mathbf{R}) - 1 = 0 \tag{II-1-E-1} ∂g∂L=det(R)−1=0(II-1-E-1)
求驻点可以得到
det
(
R
)
=
1
(II-1-E-2)
\det(\mathbf{R}) = 1 \tag{II-1-E-2}
det(R)=1(II-1-E-2)
F. 拉格朗日函数对 R \mathbf{R} R 的偏导数
结合式 (II-1-A-2)、式 (II-1-B-1)和式 (II-1-C-1) 得到
∂
L
∂
R
=
−
2
A
B
T
+
2
R
B
B
T
+
2
R
λ
+
g
(
det
(
R
)
R
−
1
)
T
=
0
(II-1-F-1)
\frac{\partial L}{\partial \mathbf{R}} = -2 \mathbf{A}\mathbf{B}^{\small\rm T} + 2 \mathbf{R}\mathbf{B}\mathbf{B}^{\small\rm T} + 2\mathbf{R} {\boldsymbol\lambda} + g \left(\det(\mathbf{R})\, \mathbf{R}^{-1}\right)^{\small\rm T} = \mathbf{0} \tag{II-1-F-1}
∂R∂L=−2ABT+2RBBT+2Rλ+g(det(R)R−1)T=0(II-1-F-1)
求驻点后, 获得的式 (II-1-D-2) 和式 (II-1-E-2) 体现出
R
\mathbf{R}
R 作为旋转矩阵的特性, 至此以后才可以放心地使用这些旋转性质.
那么继续简化式 (II-1-F-1) 为
∂
L
∂
R
=
−
2
A
B
T
+
2
R
B
B
T
+
2
R
λ
+
g
R
=
0
(II-1-F-2)
\frac{\partial L}{\partial \mathbf{R}} = -2 \mathbf{A}\mathbf{B}^{\small\rm T} + 2 \mathbf{R}\mathbf{B}\mathbf{B}^{\small\rm T} + 2\mathbf{R} {\boldsymbol\lambda} + g \mathbf{R} = \mathbf{0} \tag{II-1-F-2}
∂R∂L=−2ABT+2RBBT+2Rλ+gR=0(II-1-F-2)
2. 目标函数的最小值
A. 共同的特征向量
定义对称矩阵
L
′
≜
B
B
T
+
λ
+
g
2
I
(II-2-A-1)
\mathbf{L}^{'} \triangleq \mathbf{B}\mathbf{B}^{\small\rm T} + {\boldsymbol\lambda} + \frac{g}{2} \mathbf{I} \tag{II-2-A-1}
L′≜BBT+λ+2gI(II-2-A-1)
根据矩阵乘法结合律
L
′
L
′
L
′
=
L
′
L
′
2
=
L
′
2
L
′
(II-2-A-2)
\mathbf{L}^{'} \mathbf{L}^{'} \mathbf{L}^{'} =\mathbf{L}^{'} {\mathbf{L}^{'}}^2 = {\mathbf{L}^{'}}^2 \mathbf{L}^{'} \tag{II-2-A-2}
L′L′L′=L′L′2=L′2L′(II-2-A-2)
就是说
L
′
\mathbf{L}^{'}
L′ 和
L
′
2
{\mathbf{L}^{'}}^{2}
L′2 是乘法可交换的. 那么由 矩阵乘法可交换与可同时对角化的关系 —— Umeyama 算法推导的数学准备 (I) 可知, 存在正交矩阵
V
ˉ
\bar{\mathbf{V}}
Vˉ 由同时是
L
′
\mathbf{L}^{'}
L′ 和
L
′
2
{\mathbf{L}^{'}}^{2}
L′2 的特征向量构成, 称其为
L
′
\mathbf{L}^{'}
L′ 和
L
′
2
{\mathbf{L}^{'}}^{2}
L′2 共同的特征向量矩阵.
因为
λ
\boldsymbol{\lambda}
λ 是对称的, 所以
L
′
\mathbf{L}^{'}
L′ 也是对称的. 式 (II-1-F-2) 简写为
R
L
′
=
A
B
T
(II-2-A-3)
\mathbf{R}\mathbf{L}^{'} = \mathbf{A}\mathbf{B}^{\small\rm T}\\ \tag{II-2-A-3}
RL′=ABT(II-2-A-3)
或者两边转置
L
′
R
T
=
B
A
T
(II-2-A-4)
\mathbf{L}^{'} \mathbf{R}^{\small\rm T} = \mathbf{B}\mathbf{A}^{\small\rm T} \tag{II-2-A-4}
L′RT=BAT(II-2-A-4)
上面两式左右两边相乘,
L
′
L
′
=
L
′
R
T
R
L
′
=
B
A
T
A
B
T
(II-2-A-5)
\mathbf{L}^{'} \mathbf{L}^{'} =\mathbf{L}^{'} \mathbf{R}^{\small\rm T} \mathbf{R}\mathbf{L}^{'} = \mathbf{B}\mathbf{A}^{\small\rm T} \mathbf{A}\mathbf{B}^{\small\rm T} \tag{II-2-A-5}
L′L′=L′RTRL′=BATABT(II-2-A-5)
并利用奇异值分解式 (I-1) 得到
L
′
2
=
B
A
T
A
B
T
=
(
U
D
V
T
)
T
U
D
V
T
=
V
D
2
V
T
(II-2-A-6)
\begin{aligned} {\mathbf{L}^{'}}^{2} & = \mathbf{B}\mathbf{A}^{\small\rm T} \mathbf{A}\mathbf{B}^{\small\rm T} \\ &=(\mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} )^{\small\rm T} \mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} \\ &= \mathbf{V} \mathbf{D}^2 \mathbf{V}^{\small\rm T} \end{aligned} \tag{II-2-A-6}
L′2=BATABT=(UDVT)TUDVT=VD2VT(II-2-A-6)
可以看出
V
\mathbf{V}
V 也是
L
′
2
{\mathbf{L}^{'}}^{2}
L′2 特征向量矩阵.
根据 奇异值分解之常用结论 可知, 奇异值分解中正交矩阵
V
\mathbf{V}
V 的选取不唯一, 此处只要满足 “
V
\mathbf{V}
V 是
B
A
T
A
B
T
\mathbf{B}\mathbf{A}^{\small\rm T} \mathbf{A}\mathbf{B}^{\small\rm T}
BATABT (即
L
′
2
{\mathbf{L}^{'}}^{2}
L′2) 的特征向量矩阵” 这一条件就能满足奇异值分解的要求. 故此处奇异值分解中的正交矩阵
V
\mathbf{V}
V 选为
L
′
\mathbf{L}^{'}
L′ 和
L
′
2
{\mathbf{L}^{'}}^{2}
L′2 共同的特征向量矩阵
V
ˉ
\bar{\mathbf{V}}
Vˉ, 两者一致
V
ˉ
≜
V
(II-2-A-7)
\bar{\mathbf{V}} \triangleq {\mathbf{V}} \tag{II-2-A-7}
Vˉ≜V(II-2-A-7)
B. 特征值的关系
由式 (II-2-A-6) 可知,
D
2
=
[
d
1
2
d
2
2
⋱
d
m
2
]
(II-2-B-1)
\mathbf{D}^2 =\begin{bmatrix}d_1^{2} \\& d_2^2 \\ && \ddots \\ &&& d_m^2 \end{bmatrix} \tag{II-2-B-1}
D2=
d12d22⋱dm2
(II-2-B-1)
是
L
′
2
{\mathbf{L}^{'}}^{2}
L′2 特征值按照降序排列构成的矩阵.
由 矩阵乘操作、三角化、开方特征值 —— Umeyama 算法推导的数学准备 (III) 中 “矩阵开平放的特征值” 可知,
L
′
{\mathbf{L}^{'}}
L′ 的各个特征值是
L
′
2
{\mathbf{L}^{'}}^{2}
L′2 中对应特征值的开根
d
i
d_i
di 或者负的开根
−
d
i
-d_i
−di. 那么
L
′
{\mathbf{L}^{'}}
L′ 特征值构成的矩阵可以写成
D
S
\mathbf{D}\mathbf{S}
DS, 其中
S
≜
d
i
a
g
(
s
i
)
,
s
i
=
1
or
−
1
(II-2-B-2)
\mathbf{S} \triangleq {\rm diag}(s_i), \quad s_i =1\; \text{or}\; -1 \tag{II-2-B-2}
S≜diag(si),si=1or−1(II-2-B-2)
也就是说
L
′
=
V
D
S
V
T
(II-2-B-3)
{\mathbf{L}^{'}} = \mathbf{V} \mathbf{D} \mathbf{S} \mathbf{V}^{\small\rm T} \tag{II-2-B-3}
L′=VDSVT(II-2-B-3)
那么其行列式
d
e
t
(
L
′
)
=
d
e
t
(
V
D
S
V
T
)
=
d
e
t
(
D
)
d
e
t
(
S
)
(II-2-B-4)
{\rm det}({\mathbf{L}^{'}}) = {\rm det}(\mathbf{V} \mathbf{D} \mathbf{S} \mathbf{V}^{\small\rm T}) ={\rm det}(\mathbf{D}) {\rm det}(\mathbf{S}) \tag{II-2-B-4}
det(L′)=det(VDSVT)=det(D)det(S)(II-2-B-4)
另外, 由式 (II-2-A-4) 并利用
L
′
\mathbf{L}^{'}
L′ 的对称性可知
L
′
=
B
A
T
R
=
R
T
A
B
T
(II-2-B-5)
\mathbf{L}^{'} = \mathbf{B}\mathbf{A}^{\small\rm T} \mathbf{R} = \mathbf{R}^{\small\rm T} \mathbf{A} \mathbf{B}^{\small\rm T} \tag{II-2-B-5}
L′=BATR=RTABT(II-2-B-5)
计算其行列式
d
e
t
(
L
′
)
=
d
e
t
(
R
T
A
B
T
)
=
d
e
t
(
A
B
T
)
(II-2-B-6)
{\rm det}(\mathbf{L}^{'}) = {\rm det}(\mathbf{R}^{\small\rm T} \mathbf{A} \mathbf{B}^{\small\rm T}) = {\rm det}(\mathbf{A}\mathbf{B}^{\small\rm T}) \tag{II-2-B-6}
det(L′)=det(RTABT)=det(ABT)(II-2-B-6)
结合式 (II-2-B-4) 和式 (II-2-B-6)
d
e
t
(
D
)
d
e
t
(
S
)
=
d
e
t
(
A
B
T
)
(II-2-B-7)
{\rm det}(\mathbf{D}) {\rm det}(\mathbf{S}) = {\rm det}(\mathbf{A}\mathbf{B}^{\small\rm T}) \tag{II-2-B-7}
det(D)det(S)=det(ABT)(II-2-B-7)
因为奇异值的非负性, 可知
d
e
t
(
S
)
{\rm det}(\mathbf{S})
det(S) 需满足
{
d
e
t
(
S
)
=
1
,
if
d
e
t
(
A
B
T
)
>
0
d
e
t
(
S
)
=
−
1
,
if
d
e
t
(
A
B
T
)
<
0
(II-2-B-8)
\left\{ {\begin{array}{ll} {\rm det}(\mathbf{S}) = 1, & \text{if} \;\; {\rm det}(\mathbf{A}\mathbf{B}^{\small\rm T}) > 0\\ {\rm det}(\mathbf{S}) = -1, & \text{if} \;\; {\rm det}(\mathbf{A}\mathbf{B}^{\small\rm T}) < 0 \end{array} } \right. \tag{II-2-B-8}
{det(S)=1,det(S)=−1,ifdet(ABT)>0ifdet(ABT)<0(II-2-B-8)
我们已经获得了式 (II-2-B-2) 和式 (II-2-B-8) 作为
S
\mathbf{S}
S 取值的约束. 这样
L
′
\mathbf{L}^{'}
L′ 的特征值组成的矩阵
D
S
\mathbf{D}\mathbf{S}
DS 的取值约束也确定了. 下面就根据目标函数最小化来明确
S
\mathbf{S}
S 的具体值.
C. 目标函数最小值的确定
利用 [Identity 1] Matrix Trace 对式 (II-1-A-1) 进行计算
∥
A
−
R
B
∥
F
2
=
t
r
(
A
A
T
−
R
B
A
T
−
A
B
T
R
T
+
R
B
B
T
R
T
)
=
t
r
(
A
A
T
)
−
t
r
(
R
B
A
T
)
−
t
r
(
A
B
T
R
T
)
+
t
r
(
B
B
T
R
T
R
)
=
t
r
(
A
A
T
)
−
2
t
r
(
A
B
T
R
T
)
+
t
r
(
B
B
T
)
=
∥
A
∥
F
2
+
∥
B
∥
F
2
−
2
t
r
(
R
T
A
B
T
)
(II-2-B-3),(II-2-B-5)
=
∥
A
∥
F
2
+
∥
B
∥
F
2
−
2
t
r
(
V
D
S
V
T
)
=
∥
A
∥
F
2
+
∥
B
∥
F
2
−
2
t
r
(
D
S
)
=
∥
A
∥
F
2
+
∥
B
∥
F
2
−
2
(
d
1
s
1
+
d
2
s
2
+
…
+
d
m
s
m
)
(II-2-C-1)
\begin{aligned} \|\mathbf{A}-\mathbf{R}\mathbf{B}\|_{F}^2 & = {\rm tr} (\mathbf{A} \mathbf{A}^{\small\rm T} - \mathbf{R} \mathbf{B} \mathbf{A}^{\small\rm T} - \mathbf{A} \mathbf{B}^{\small\rm T} \mathbf{R}^{\small\rm T} + \mathbf{R} \mathbf{B} \mathbf{B}^{\small\rm T} \mathbf{R}^{\small\rm T})\\ &= {\rm tr} (\mathbf{A} \mathbf{A}^{\small\rm T} ) - {\rm tr}(\mathbf{R} \mathbf{B} \mathbf{A}^{\small\rm T}) -{\rm tr}(\mathbf{A} \mathbf{B}^{\small\rm T} \mathbf{R}^{\small\rm T}) +{\rm tr}( \mathbf{B} \mathbf{B}^{\small\rm T} \mathbf{R}^{\small\rm T} \mathbf{R})\\ &= {\rm tr} (\mathbf{A} \mathbf{A}^{\small\rm T} ) -2 \,{\rm tr}(\mathbf{A} \mathbf{B}^{\small\rm T} \mathbf{R}^{\small\rm T}) +{\rm tr}(\mathbf{B} \mathbf{B}^{\small\rm T})\\ &= \|\mathbf{A}\|_{F}^2 + \|\mathbf{B}\|_{F}^2 - 2 \,{\rm tr}(\mathbf{R}^{\small\rm T} \mathbf{A} \mathbf{B}^{\small\rm T} ) \\ {\small{\text{(II-2-B-3),(II-2-B-5)}}}\quad &= \|\mathbf{A}\|_{F}^2 + \|\mathbf{B}\|_{F}^2 - 2 \,{\rm tr}(\mathbf{V} \mathbf{D} \mathbf{S} \mathbf{V}^{\small\rm T})\\ &= \|\mathbf{A}\|_{F}^2 + \|\mathbf{B}\|_{F}^2 - 2 \,{\rm tr}(\mathbf{D} \mathbf{S})\\ &= \|\mathbf{A}\|_{F}^2 + \|\mathbf{B}\|_{F}^2 - 2 (d_1 s_1 + d_2 s_2 +\ldots + d_m s_m)\\ \end{aligned} \tag{II-2-C-1}
∥A−RB∥F2(II-2-B-3),(II-2-B-5)=tr(AAT−RBAT−ABTRT+RBBTRT)=tr(AAT)−tr(RBAT)−tr(ABTRT)+tr(BBTRTR)=tr(AAT)−2tr(ABTRT)+tr(BBT)=∥A∥F2+∥B∥F2−2tr(RTABT)=∥A∥F2+∥B∥F2−2tr(VDSVT)=∥A∥F2+∥B∥F2−2tr(DS)=∥A∥F2+∥B∥F2−2(d1s1+d2s2+…+dmsm)(II-2-C-1)
那么目标函数取极小值只与
S
\mathbf{S}
S 有关, 根据奇异值的非负性以及降序排列特性, 并结合
S
\mathbf{S}
S 取值约束式 (II-2-B-2) 和式 (II-2-B-8).
对于 S \mathbf{S} S 中的元素, 尽量选取更多正元素, 如需取负元素, 对应的奇异值越小越好.
这样就得到了引理中的式 (I-3), 此时能取到最小目标函数值.
S
=
{
I
,
if
det
(
A
B
T
)
≥
0
d
i
a
g
(
1
,
1
,
⋯
,
1
,
−
1
)
,
if
det
(
A
B
T
)
<
0
(I-3)
\mathbf{S} = \left\{ \begin{array} {ll} \mathbf{I}, & \text{if} \;\; \det (\mathbf{A}\mathbf{B}^{\small\rm T})\geq 0\\ {\rm diag}(1,1,\cdots,1,-1), & \text{if} \;\; \det (\mathbf{A}\mathbf{B}^{\small\rm T})< 0\\ \end{array} \right. \tag{I-3}
S={I,diag(1,1,⋯,1,−1),ifdet(ABT)≥0ifdet(ABT)<0(I-3)
那么取得最小目标函数值时的旋转矩阵
R
\mathbf{R}
R 如何确定呢?
3. 旋转参数的最优估计
A. r a n k ( A B T ) = m {\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) = m rank(ABT)=m 情况
根据式 (II-2-A-3) 可知,
r
a
n
k
(
A
B
T
)
=
m
{\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) = m
rank(ABT)=m 情况下 (即满秩情况下), 对称阵
L
′
\mathbf{L}^{'}
L′ 非奇异即可逆. 由式 (II-2-B-3) 并结合
V
\mathbf{V}
V 的正交性、
S
\mathbf{S}
S 的对角
±
1
\pm 1
±1 元素, 可得
L
′
−
1
=
V
D
−
1
S
V
T
(II-3-A-1)
{\mathbf{L}^{'}}^{-1} = \mathbf{V} \mathbf{D}^{-1} \mathbf{S} \mathbf{V}^{\small\rm T} \tag{II-3-A-1}
L′−1=VD−1SVT(II-3-A-1)
由式 (II-2-A-3) 可知
R
=
A
B
T
L
′
−
1
(I-1), (II-3-A-1)
=
U
D
V
T
V
D
−
1
S
V
T
=
U
S
V
T
(II-3-A-2)
\begin{aligned} \mathbf{R} &= \mathbf{A}\mathbf{B}^{\small\rm T} {\mathbf{L}^{'}}^{-1}\\ \small{\text{(I-1), (II-3-A-1)}}\quad &= \mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} \mathbf{V} \mathbf{D}^{-1} \mathbf{S} \mathbf{V}^{\small\rm T}\\ &= \mathbf{U} \mathbf{S} \mathbf{V}^{\small\rm T} \end{aligned} \tag{II-3-A-2}
R(I-1), (II-3-A-1)=ABTL′−1=UDVTVD−1SVT=USVT(II-3-A-2)
上式中的
S
\mathbf{S}
S 按照式 (I-3) 中所列取值.
B. r a n k ( A B T ) = m − 1 {\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) = m-1 rank(ABT)=m−1 情况
当 r a n k ( A B T ) = m − 1 {\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) = m-1 rank(ABT)=m−1 时,
- 由式 (II-2-A-3) 可以知道此时 L ′ \mathbf{L}^{'} L′ 也不满秩 (即不可逆).
- 由奇异值分解性质可知,
d
m
=
0
d_m = 0
dm=0, 即
D
S
=
[
d
1
⋱
d
m
−
1
0
]
[
1
⋱
1
∗
]
=
D
(II-3-B-1)
\mathbf{D}\mathbf{S} = \begin{bmatrix} d_1 \\ &\ddots \\ && d_{m-1} \\ &&& \color{blue}{0}\end{bmatrix} \begin{bmatrix} 1 \\ &\ddots \\ && 1 \\ &&& \color{blue}{\ast}\end{bmatrix} = \mathbf{D} \tag{II-3-B-1}
DS=
d1⋱dm−10
1⋱1∗
=D(II-3-B-1)
式 (II-2-B-3) 和式 (II-3-B-1) 代入式 (II-2-A-3) 得
R
V
D
S
V
T
=
A
B
T
=
U
D
V
T
⇒
R
V
D
=
U
D
⇒
U
T
R
V
D
=
D
(II-3-B-2)
\mathbf{R}\mathbf{V} \mathbf{D} \mathbf{S} \mathbf{V}^{\small\rm T} = \mathbf{A}\mathbf{B}^{\small\rm T} = \mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} \\ \Rightarrow \quad \mathbf{R}\mathbf{V} \mathbf{D} = \mathbf{U} \mathbf{D}\\ \Rightarrow \quad \mathbf{U}^{\small\rm T} \mathbf{R}\mathbf{V} \mathbf{D} =\mathbf{D}\\ \tag{II-3-B-2}
RVDSVT=ABT=UDVT⇒RVD=UD⇒UTRVD=D(II-3-B-2)
那么定义
Q
≜
U
T
R
V
(II-3-B-3)
\mathbf{Q} \triangleq \mathbf{U}^{\small\rm T} \mathbf{R}\mathbf{V} \tag{II-3-B-3}
Q≜UTRV(II-3-B-3)
则有
Q
D
=
D
(II-3-B-4)
\mathbf{Q} \mathbf{D} =\mathbf{D}\\ \tag{II-3-B-4}
QD=D(II-3-B-4)
其中
Q
\mathbf{Q}
Q 写成列向量形式为
[
q
1
q
2
…
q
m
]
\begin{bmatrix}\mathbf{q}_1 &\mathbf{q}_2 &\ldots &\mathbf{q}_m\end{bmatrix}
[q1q2…qm]. 由 矩阵乘的列操作 可知
Q
D
=
[
q
1
…
q
m
−
1
q
m
]
[
d
1
⋱
d
m
−
1
0
]
=
[
d
1
q
1
…
d
m
−
1
q
m
−
1
0
]
(II-3-B-5)
\begin{aligned} \mathbf{Q} \mathbf{D} &= \begin{bmatrix}\mathbf{q}_1 &\ldots &\mathbf{q}_{m-1} &\mathbf{q}_m\end{bmatrix} \begin{bmatrix} d_1 \\ &\ddots \\ && d_{m-1} \\ &&& {0}\end{bmatrix} \\ & = \begin{bmatrix}d_1 \mathbf{q}_1 &\ldots &d_{m-1} \mathbf{q}_{m-1} &\mathbf{0}\end{bmatrix} \end{aligned} \tag{II-3-B-5}
QD=[q1…qm−1qm]
d1⋱dm−10
=[d1q1…dm−1qm−10](II-3-B-5)
D = [ d 1 ⋱ d m − 1 0 ] = [ d 1 e 1 … d m − 1 e m − 1 0 ] (II-3-B-6) \begin{aligned} \mathbf{D} & = \begin{bmatrix} d_1 \\ &\ddots \\ && d_{m-1} \\ &&& {0}\end{bmatrix} \\ & = \begin{bmatrix}d_1 \mathbf{e}_1 &\ldots &d_{m-1} \mathbf{e}_{m-1} &\mathbf{0}\end{bmatrix} \end{aligned} \tag{II-3-B-6} D= d1⋱dm−10 =[d1e1…dm−1em−10](II-3-B-6)
其中 e i = [ 0 , … , 1 i , … , 0 ] T \mathbf{e}_i = [0,\ldots,\overset{i}{1},\ldots,0]^{\small\rm T} ei=[0,…,1i,…,0]T 为 R m \mathbb{R}^{m} Rm 空间中的标准正交基.
根据式 (II-3-B-4) 可知
d
i
q
i
=
d
i
e
i
(
for
1
≤
i
≤
m
−
1
)
(II-3-B-7)
d_i \mathbf{q}_i = d_i \mathbf{e}_i \quad (\text{for}\;\; 1 \leq i \leq m-1) \tag{II-3-B-7}
diqi=diei(for1≤i≤m−1)(II-3-B-7)
故有
q
i
=
e
i
(
for
1
≤
i
≤
m
−
1
)
(II-3-B-8)
\mathbf{q}_i = \mathbf{e}_i \quad (\text{for}\;\; 1 \leq i \leq m-1) \tag{II-3-B-8}
qi=ei(for1≤i≤m−1)(II-3-B-8)
下面确定
Q
\mathbf{Q}
Q 的最后一列
q
m
\mathbf{q}_m
qm.
由定义式 (II-3-B-3) 可知
Q
Q
T
=
U
T
R
V
V
T
R
T
U
=
I
(II-3-B-9)
\mathbf{Q} \mathbf{Q}^{\small\rm T} = \mathbf{U}^{\small\rm T} \mathbf{R}\mathbf{V} \mathbf{V}^{\small\rm T} \mathbf{R}^{\small\rm T} \mathbf{U} =\mathbf{I} \tag{II-3-B-9}
QQT=UTRVVTRTU=I(II-3-B-9)
矩阵
Q
\mathbf{Q}
Q 是正交矩阵 (含旋转或镜像). 因为矩阵的前
m
−
1
m-1
m−1 列构成了标准正交基, 则最后一列为
q
m
=
e
m
or
q
m
=
−
e
m
(II-3-B-10)
\mathbf{q}_m = \mathbf{e}_m \quad \text{or} \quad \mathbf{q}_m = -\mathbf{e}_m \tag{II-3-B-10}
qm=emorqm=−em(II-3-B-10)
当
q
m
=
e
m
\mathbf{q}_m = \mathbf{e}_m
qm=em 时,
d
e
t
(
Q
)
=
1
{\rm det}{(\mathbf{Q})}=1
det(Q)=1; 当
q
m
=
−
e
m
\mathbf{q}_m = -\mathbf{e}_m
qm=−em 时,
d
e
t
(
Q
)
=
−
1
{\rm det}{(\mathbf{Q})}=-1
det(Q)=−1.
对
Q
\mathbf{Q}
Q 的定义式两边求行列式可以得到
det
(
Q
)
=
det
(
U
)
det
(
R
)
det
(
V
)
=
det
(
U
)
det
(
V
)
(II-3-B-11)
\begin{aligned} \det(\mathbf{Q}) &= \det(\mathbf{U}) \det(\mathbf{R}) \det(\mathbf{V})\\ &= \det(\mathbf{U}) \det(\mathbf{V}) \end{aligned} \tag{II-3-B-11}
det(Q)=det(U)det(R)det(V)=det(U)det(V)(II-3-B-11)
这样就决定了
Q
\mathbf{Q}
Q 的取值
Q
=
{
[
1
1
⋱
1
1
]
if
det
(
U
)
det
(
V
)
=
1
[
1
1
⋱
1
−
1
]
if
det
(
U
)
det
(
V
)
=
−
1
(II-3-B-12)
\mathbf{Q} = \left\{ {\begin{array}{l} \begin{bmatrix}1\\ & 1 \\ &&\ddots \\ &&& 1\\ &&&& 1\end{bmatrix} & \text{if}\;\; \det(\mathbf{U}) \det(\mathbf{V}) =1\\ \begin{bmatrix}1\\ & 1 \\ &&\ddots \\ &&& 1\\ &&&& -1\end{bmatrix} & \text{if}\;\; \det(\mathbf{U}) \det(\mathbf{V}) = -1 \end{array}} \right. \tag{II-3-B-12}
Q=⎩
⎨
⎧
11⋱11
11⋱1−1
ifdet(U)det(V)=1ifdet(U)det(V)=−1(II-3-B-12)
再由
Q
\mathbf{Q}
Q 的定义式 (II-3-B-3) 可知
R
=
U
Q
V
T
(II-3-B-13)
\mathbf{R} = \mathbf{U} \mathbf{Q} \mathbf{V}^{\small\rm T} \tag{II-3-B-13}
R=UQVT(II-3-B-13)
此即为
r
a
n
k
(
A
B
T
)
=
m
−
1
{\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) = m-1
rank(ABT)=m−1 时的旋转参数估计矩阵. 写成统一形式:
当
r
a
n
k
(
A
B
T
)
=
m
−
1
{\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) = m-1
rank(ABT)=m−1 时
R
=
U
S
V
T
(II-3-B-14)
\mathbf{R} = \mathbf{U} \mathbf{S} \mathbf{V}^{\small\rm T} \tag{II-3-B-14}
R=USVT(II-3-B-14)
其中
S
=
{
I
if
det
(
U
)
det
(
V
)
=
1
d
i
a
g
(
1
,
1
,
…
,
1
,
−
1
)
if
det
(
U
)
det
(
V
)
=
−
1
(II-3-B-15)
\mathbf{S} = \left\{ {\begin{array}{l} \mathbf{I} & \text{if}\;\; \det(\mathbf{U}) \det(\mathbf{V}) =1\\ {\rm diag}(1,1,\dots,1,-1) & \text{if}\;\; \det(\mathbf{U}) \det(\mathbf{V}) = -1 \end{array}} \right. \tag{II-3-B-15}
S={Idiag(1,1,…,1,−1)ifdet(U)det(V)=1ifdet(U)det(V)=−1(II-3-B-15)
即引理中的式 (I-5).
C. r a n k ( A B T ) < m − 1 {\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) < m-1 rank(ABT)<m−1 情况
我们可以从 r a n k ( A B T ) = m − 1 {\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) = m-1 rank(ABT)=m−1 情况下的参数估计推导过程可以知道, Q \mathbf{Q} Q 的最后一个列 q m \mathbf{q}_m qm 是通过与前面 m − 1 m-1 m−1 个标准正交基的正交性来确定的.
当 r a n k ( A B T ) < m − 1 {\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) < m-1 rank(ABT)<m−1 时, 将由两列或以上向量待确定, 将有无穷多组正交基 (任意旋转或镜像) 可作为估计值.
故 r a n k ( A B T ) < m − 1 {\rm rank}(\mathbf{A} \mathbf{B}^{\small\rm T}) < m-1 rank(ABT)<m−1 时, 无法确定 Q \mathbf{Q} Q (即 S \mathbf{S} S), 即无穷多解.
至此, 旋转参数的最优估计的推导过程完毕.
总结
本篇博文详细推导了 S. Umeyama 论文 “Least-squares estimation of transformation parameters between two point patterns” 中的引理部分[1].
(如有问题, 请指出)
参考文献
[1] S. Umeyama, “Least-squares estimation of transformation parameters between two point patterns,” in IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 13, no. 4, pp. 376-380, April 1991, doi: 10.1109/34.88573.