Title: 相似变换 (旋转、平移、缩放) 参数的最小方差估计 —— Umeyama 算法详细推导 (II)
文章目录
相关博文介绍
- 矩阵乘法可交换与可同时对角化的关系 —— Umeyama 算法推导的数学准备 (I)
- 旋转矩阵约束下的朗格朗日乘子 —— Umeyama 算法推导的数学准备 (II)
- 矩阵乘操作、三角化、开方特征值 —— Umeyama 算法推导的数学准备 (III)
- 旋转参数的最小方差估计 —— Umeyama 算法详细推导 (I)
- 相似变换参数 (旋转、平移、缩放) 的最小方差估计 —— Umeyama 算法详细推导 (II)
前言
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) 找出最小误差平方意义下的相似变换参数 (Similarity Transformation).
该算法初见于 S. Umeyama 的一篇论文 “Least-squares estimation of transformation parameters between two point patterns”[1].
相似变换
相似变换 Similarity Transformation = 旋转 Rotation R \mathbf{R} R + 平移 Translation t \mathbf{t} t + 放缩 Scale c c c
上一篇博文中已经详细推导了 “[引理] 旋转参数的最小方差估计”, 该引理中只考虑了旋转变换, 获得了最优旋转参数估计 R \mathbf{R} R.
I. Umeyama 算法
1. 引理
[引理] 旋转参数的最小方差估计
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-1) \mathbf{A}\mathbf{B}^{\small\rm T} = \mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} \tag{I-1-1} ABT=UDVT(I-1-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-1-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-1-2} Rmin∥A−RB∥F2=∥A∥F2+∥B∥F2−2tr(DS)(I-1-2)
其中
S = { I , if det ( A B T ) ≥ 0 d i a g ( 1 , 1 , ⋯ , 1 , − 1 ) , if det ( A B T ) < 0 (I-1-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-1-3} S={I,diag(1,1,⋯,1,−1),ifdet(ABT)≥0ifdet(ABT)<0(I-1-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-1-2) 目标函数最小化所需的最优的旋转矩阵 R \mathbf{R} R 被唯一确定为
R = U S V T (I-1-4) \mathbf{R} = \mathbf{U} \mathbf{S} \mathbf{V}^{\small\rm T} \tag{I-1-4} R=USVT(I-1-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 时), 式 (I-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-1-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-1-5} S={I,diag(1,1,⋯,1,−1),ifdet(U)det(V)=1ifdet(U)det(V)=−1(I-1-5)
2. 定理
[定理] 相似变换参数的最小方差估计
令 X = { x 1 , x 2 , ⋯ , x n } \mathbf{X} = \{\mathbf{x}_1, \mathbf{x}_2,\cdots, \mathbf{x}_n\} X={x1,x2,⋯,xn} 和 Y = { y 1 , y 2 , ⋯ , y n } \mathbf{Y} = \{\mathbf{y}_1, \mathbf{y}_2,\cdots, \mathbf{y}_n\} Y={y1,y2,⋯,yn} 是 m m m-维空间中的两组对应点样本. 这两组对应点样本进行相似变换 (旋转 R \mathbf{R} R、平移 t \mathbf{t} t、缩放 c c c) , 得到的均方误差 (mean-square error, MSE) 为
e 2 ( R , t , c ) = 1 n ∑ i = 1 n ∥ y i − ( c R x i + t ) ∥ 2 2 (I-2-1) e^{2}(\mathbf{R}, \mathbf{t}, c) = \frac{1}{n} \sum_{i=1}^{n}\|\mathbf{y}_i - (c\mathbf{R} \mathbf{x}_i + \mathbf{t})\|_{2}^2 \tag{I-2-1} e2(R,t,c)=n1i=1∑n∥yi−(cRxi+t)∥22(I-2-1)
而最小均方误差为
ε 2 = σ y 2 − t r ( D S ) 2 σ x 2 (I-2-2) \varepsilon^{2} = \sigma_{y}^2 - \frac{{\rm tr}(\mathbf{D}\mathbf{S})^2}{\sigma_x^2} \tag{I-2-2} ε2=σy2−σx2tr(DS)2(I-2-2)
其中
μ x = 1 n ∑ i = 1 n x i (I-2-3) \boldsymbol{\mu}_x = \frac{1}{n} \sum_{i=1}^{n} \mathbf{x}_i \tag{I-2-3} μx=n1i=1∑nxi(I-2-3)μ y = 1 n ∑ i = 1 n y i (I-2-4) \boldsymbol{\mu}_y = \frac{1}{n} \sum_{i=1}^{n} \mathbf{y}_i \tag{I-2-4} μy=n1i=1∑nyi(I-2-4)
σ x 2 = 1 n ∑ i = 1 n ∥ x i − μ x ∥ 2 2 (I-2-5) \sigma_x^2 = \frac{1}{n} \sum_{i=1}^n \|\mathbf{x}_i - \boldsymbol{\mu}_x\|_2^2 \tag{I-2-5} σx2=n1i=1∑n∥xi−μx∥22(I-2-5)
σ y 2 = 1 n ∑ i = 1 n ∥ y i − μ y ∥ 2 2 (I-2-6) \sigma_y^2 = \frac{1}{n} \sum_{i=1}^n \|\mathbf{y}_i - \boldsymbol{\mu}_y\|_2^2 \tag{I-2-6} σy2=n1i=1∑n∥yi−μy∥22(I-2-6)
∑ x y = 1 n ∑ i = 1 n ( y i − μ y ) ( x i − μ x ) T (I-2-7) {\sum}_{xy} = \frac{1}{n} \sum_{i=1}^{n} (\mathbf{y}_i - \boldsymbol{\mu}_y) (\mathbf{x}_i - \boldsymbol{\mu}_x)^{\small\rm T} \tag{I-2-7} ∑xy=n1i=1∑n(yi−μy)(xi−μx)T(I-2-7)
- μ x \boldsymbol{\mu}_x μx 和 μ y \boldsymbol{\mu}_y μy 分别是 X \mathbf{X} X 和 Y \mathbf{Y} Y 的均值向量
- σ x 2 \sigma_x^2 σx2 和 σ x 2 \sigma_x^2 σx2 分别是 X \mathbf{X} X 和 Y \mathbf{Y} Y 的围绕各自均值向量的方差
- ∑ x y {\sum}_{xy} ∑xy 是 X \mathbf{X} X 和 Y \mathbf{Y} Y 的协方差矩阵
令 ∑ x y {\sum}_{xy} ∑xy 的奇异值分解式为 U D V T \mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} UDVT, 其中 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, 以及令
S = { I , if det ( ∑ x y ) ≥ 0 d i a g ( 1 , 1 , ⋯ , 1 , − 1 ) , if det ( ∑ x y ) < 0 (I-2-8) \mathbf{S} = \left\{ \begin{array} {ll} \mathbf{I}, & \text{if} \;\; \det ({\sum}_{xy})\geq 0\\ {\rm diag}(1,1,\cdots,1,-1), & \text{if} \;\; \det ({\sum}_{xy})< 0\\ \end{array} \right. \tag{I-2-8} S={I,diag(1,1,⋯,1,−1),ifdet(∑xy)≥0ifdet(∑xy)<0(I-2-8)
当 r a n k ( ∑ x y ) > m − 1 {\rm rank}{({\sum}_{xy})} > m-1 rank(∑xy)>m−1 时, 最优相似变换参数被唯一确定
R = U S V T (I-2-9) \mathbf{R} = \mathbf{U} \mathbf{S} \mathbf{V}^{\small\rm T} \tag{I-2-9} R=USVT(I-2-9)t = μ y − c R μ x (I-2-10) \mathbf{t} = \boldsymbol{\mu}_y - c\mathbf{R} \boldsymbol{\mu}_x \tag{I-2-10} t=μy−cRμx(I-2-10)
c = 1 σ x 2 t r ( D S ) (I-2-11) c = \frac{1}{\sigma_x^2} {\rm tr}(\mathbf{D} \mathbf{S}) \tag{I-2-11} c=σx21tr(DS)(I-2-11)
当 r a n k ( ∑ x y ) = m − 1 {\rm rank}{({\sum}_{xy})} = m-1 rank(∑xy)=m−1 时, 式 (I-2-9) 中的 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-2-12) \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-2-12} S={I,diag(1,1,⋯,1,−1),ifdet(U)det(V)=1ifdet(U)det(V)=−1(I-2-12)
II. 推导
1. 正则矩阵的定义与性质
表一. 正则矩阵的定义
公式名/编号 | |
---|---|
T-1-1 | h ≜ [ 1 1 ⋯ 1 ] ⏟ n T \mathbf{h} \triangleq \underset{n}{\underbrace{\begin{bmatrix}1 &1 &\cdots &1\end{bmatrix}}}^{\small\rm T} h≜n [11⋯1]T |
正则矩阵 T-1-2 | K ≜ I − 1 n h h T = [ 1 − 1 n − 1 n ⋯ − 1 n − 1 n 1 − 1 n ⋯ − 1 n ⋮ ⋮ ⋱ ⋮ − 1 n − 1 n ⋯ 1 − 1 n ] \mathbf{K} \triangleq \mathbf{I} - \frac{1}{n} \mathbf{h} \mathbf{h}^{\small\rm T} = \begin{bmatrix} 1-\frac{1}{n} &-\frac{1}{n} &\cdots & -\frac{1}{n}\\ -\frac{1}{n} &1-\frac{1}{n} &\cdots &-\frac{1}{n}\\ \vdots &\vdots &\ddots & \vdots\\ -\frac{1}{n} &-\frac{1}{n} &\cdots & 1-\frac{1}{n}\\ \end{bmatrix} K≜I−n1hhT= 1−n1−n1⋮−n1−n11−n1⋮−n1⋯⋯⋱⋯−n1−n1⋮1−n1 |
表二. 正则矩阵的性质
公式名/编号 | 性质 |
---|---|
T-2-1 | h T h = n \mathbf{h}^{\small\rm T}\mathbf{h} = n hTh=n |
复制性 T-2-2 | t h T = t [ 1 1 ⋯ 1 ] ⏟ n = [ t t ⋯ t ] ⏟ n , w h e r e t ∈ R x \mathbf{t}\mathbf{h}^{\small\rm T} = \mathbf{t}\underset{n}{\underbrace{\begin{bmatrix}1 &1&\cdots &1 \end{bmatrix}}} = \underset{n}{\underbrace{\begin{bmatrix}\mathbf{t} &\mathbf{t} &\cdots &\mathbf{t} \end{bmatrix}}},\;\; {\rm where}\,\mathbf{t}\in \mathbb{R}^{x} thT=tn [11⋯1]=n [tt⋯t],wheret∈Rx |
不变性 T-2-3 | K K = ( I − 1 n h h T ) ( I − 1 n h h T ) = I − 1 n h h T − 1 n h h T + 1 n 2 h h T h h T = I − 1 n h h T = K \begin{aligned} \mathbf{K}\mathbf{K} &=\left(\mathbf{I} - \frac{1}{n} \mathbf{h} \mathbf{h}^{\small\rm T} \right) \left(\mathbf{I} - \frac{1}{n} \mathbf{h} \mathbf{h}^{\small\rm T}\right) \\ & = \mathbf{I} - \frac{1}{n} \mathbf{h} \mathbf{h}^{\small\rm T} - \frac{1}{n} \mathbf{h} \mathbf{h}^{\small\rm T} + \frac{1}{n^2} \mathbf{h} \mathbf{h}^{\small\rm T}\mathbf{h} \mathbf{h}^{\small\rm T}\\ &= \mathbf{I} - \frac{1}{n} \mathbf{h} \mathbf{h}^{\small\rm T}\\ &= \mathbf{K} \end{aligned} KK=(I−n1hhT)(I−n1hhT)=I−n1hhT−n1hhT+n21hhThhT=I−n1hhT=K |
对称性 T-2-4 | K = K T = K K \mathbf{K} = \mathbf{K}^{\small\rm T} = \mathbf{K}\mathbf{K} K=KT=KK |
正交性 T-2-5 | h T K = h T ( I − 1 n h h T ) = 0 \mathbf{h}^{\small\rm T} \mathbf{K} = \mathbf{h}^{\small\rm T} \left(\mathbf{I} - \frac{1}{n} \mathbf{h} \mathbf{h}^{\small\rm T} \right) = \mathbf{0} hTK=hT(I−n1hhT)=0 |
已知矩阵的 Frobenius-范数 的平方是其各个元素平方的和. 将这些元素的平方按元素所在列为一组求和, 再把各列的和相加, 就是所有元素的平方和. 这样就建立了矩阵 Frobenius-范数和矩阵各个列向量 2-范数之间的关系.
表三. 矩阵 Frobenius-范数的列形式
公式名/编号 | 性质 |
---|---|
T-3-1 | ∣ X ∣ F 2 = ∑ i = 1 n ∣ x i ∣ 2 2 |\mathbf{X}|_{F}^2 = \sum_{i=1}^n |\mathbf{x}_i|_2^2 ∣X∣F2=∑i=1n∣xi∣22 |
T-3-2 | ∣ t h T ∣ F 2 = t r [ ( t h T ) ( t h T ) T ] = n t r ( t t T ) = n ∣ t ∣ 2 2 |\mathbf{t} \mathbf{h}^{\small\rm T}|_{F}^2 = {\rm tr}\left[ \left(\mathbf{t} \mathbf{h}^{\small\rm T}\right) \left(\mathbf{t} \mathbf{h}^{\small\rm T}\right)^{\small\rm T} \right] = n \,{\rm tr}(\mathbf{t}\mathbf{t}^{\small\rm T}) = n |\mathbf{t}|_2^2 ∣thT∣F2=tr[(thT)(thT)T]=ntr(ttT)=n∣t∣22 |
表四. 正则矩阵的统计应用
公式名/编号 | 性质 |
---|---|
均值 T-4-1 | μ x = 1 n ∑ i = 1 n x i = 1 n X h \boldsymbol{\mu}_x = \frac{1}{n}\sum_{i=1}^{n} \mathbf{x}_i = \frac{1}{n} \mathbf{X} \mathbf{h} μx=n1∑i=1nxi=n1Xh |
均值 T-4-2 | μ y = 1 n ∑ i = 1 n y i = 1 n Y h \boldsymbol{\mu}_y = \frac{1}{n}\sum_{i=1}^{n} \mathbf{y}_i = \frac{1}{n} \mathbf{Y} \mathbf{h} μy=n1∑i=1nyi=n1Yh |
零均值化 T-4-3 | X K = [ x 11 x 12 ⋯ x 1 n x 21 x 22 ⋯ x 2 n ⋮ ⋮ ⋱ ⋮ x n 1 x n 2 ⋯ x n n ] [ 1 − 1 n − 1 n ⋯ − 1 n − 1 n 1 − 1 n ⋯ − 1 n ⋮ ⋮ ⋱ ⋮ − 1 n − 1 n ⋯ 1 − 1 n ] = [ x 11 − 1 n ∑ i x 1 i x 12 − 1 n ∑ i x 1 i ⋯ x 1 n − 1 n ∑ i x 1 i x 21 − 1 n ∑ i x 2 i x 22 − 1 n ∑ i x 2 i ⋯ x 2 n − 1 n ∑ i x 2 i ⋮ ⋮ ⋱ ⋮ x n 1 − 1 n ∑ i x n i x n 2 − 1 n ∑ i x n i ⋯ x n n − 1 n ∑ i x n i ] = [ x 1 − μ x x 2 − μ x ⋯ x n − μ x ] \begin{aligned} \mathbf{X}\mathbf{K} & = \begin{bmatrix} x_{11} &x_{12} &\cdots & x_{1n}\\ x_{21} &x_{22} &\cdots & x_{2n}\\ \vdots &\vdots &\ddots & \vdots\\ x_{n1} &x_{n2} &\cdots & x_{nn}\\ \end{bmatrix} \begin{bmatrix} 1-\frac{1}{n} &-\frac{1}{n} &\cdots & -\frac{1}{n}\\ -\frac{1}{n} &1-\frac{1}{n} &\cdots &-\frac{1}{n}\\ \vdots &\vdots &\ddots & \vdots\\ -\frac{1}{n} &-\frac{1}{n} &\cdots & 1-\frac{1}{n}\\ \end{bmatrix} \\ &= \begin{bmatrix} x_{11}-\frac{1}{n}\sum_i x_{1i} &x_{12}-\frac{1}{n}\sum_i x_{1i} &\cdots & x_{1n}-\frac{1}{n}\sum_i x_{1i}\\ x_{21}-\frac{1}{n}\sum_i x_{2i} &x_{22}-\frac{1}{n}\sum_i x_{2i} &\cdots & x_{2n}-\frac{1}{n}\sum_i x_{2i}\\ \vdots &\vdots &\ddots & \vdots\\ x_{n1}-\frac{1}{n}\sum_i x_{ni} &x_{n2}-\frac{1}{n}\sum_i x_{ni} &\cdots & x_{nn}-\frac{1}{n}\sum_i x_{ni}\\ \end{bmatrix} \\ &= \begin{bmatrix} \mathbf{x}_1- \boldsymbol{\mu}_x &\mathbf{x}_2- \boldsymbol{\mu}_x &\cdots &\mathbf{x}_n- \boldsymbol{\mu}_x\end{bmatrix} \end{aligned} XK= x11x21⋮xn1x12x22⋮xn2⋯⋯⋱⋯x1nx2n⋮xnn 1−n1−n1⋮−n1−n11−n1⋮−n1⋯⋯⋱⋯−n1−n1⋮1−n1 = x11−n1∑ix1ix21−n1∑ix2i⋮xn1−n1∑ixnix12−n1∑ix1ix22−n1∑ix2i⋮xn2−n1∑ixni⋯⋯⋱⋯x1n−n1∑ix1ix2n−n1∑ix2i⋮xnn−n1∑ixni =[x1−μxx2−μx⋯xn−μx] |
零均值化 T-4-4 | Y K = [ y 1 − μ y y 2 − μ y ⋯ y n − μ y ] \mathbf{Y}\mathbf{K} = \begin{bmatrix} \mathbf{y}_1- \boldsymbol{\mu}_y &\mathbf{y}_2- \boldsymbol{\mu}_y &\cdots &\mathbf{y}_n- \boldsymbol{\mu}_y\end{bmatrix} YK=[y1−μyy2−μy⋯yn−μy] |
方差 T-4-5 | 1 n ∣ X K ∣ F 2 = 1 n ∑ i = 1 n ∣ x i − μ x ∣ 2 2 = σ x 2 \frac{1}{n} |\mathbf{X}\mathbf{K}|_{F}^2 = \frac{1}{n} \sum_{i=1}^{n} |\mathbf{x}_i- \boldsymbol{\mu}_x|_2^2 = \sigma_x^2 n1∣XK∣F2=n1∑i=1n∣xi−μx∣22=σx2 |
方差 T-4-6 | σ y 2 = 1 n ∣ Y K ∣ F 2 \sigma_y^2 =\frac{1}{n} |\mathbf{Y}\mathbf{K}|_{F}^2 σy2=n1∣YK∣F2 |
协方差 T-4-7 | 1 n Y K X T = 1 n Y K K T X T = 1 n ( Y K ) ( X K ) T = 1 n [ y 1 − μ y y 2 − μ y ⋯ y n − μ y ] [ ( x 1 − μ x ) T ( x 2 − μ x ) T ⋮ ( x n − μ x ) T ] = 1 n ∑ i = 1 n ( y i − μ y ) ( x i − μ x ) T = ∑ x y \begin{aligned} \frac{1}{n} \mathbf{Y} \mathbf{K} \mathbf{X}^{\small\rm T} & = \frac{1}{n} \mathbf{Y} \mathbf{K} \mathbf{K}^{\small\rm T} \mathbf{X}^{\small\rm T} = \frac{1}{n} \left(\mathbf{Y} \mathbf{K}\right) \left(\mathbf{X}\mathbf{K}\right)^{\small\rm T}\\ &= \frac{1}{n} \begin{bmatrix} \mathbf{y}_1- \boldsymbol{\mu}_y &\mathbf{y}_2- \boldsymbol{\mu}_y &\cdots &\mathbf{y}_n- \boldsymbol{\mu}_y\end{bmatrix} \begin{bmatrix} (\mathbf{x}_1- \boldsymbol{\mu}_x)^{\small\rm T} \\ (\mathbf{x}_2- \boldsymbol{\mu}_x)^{\small\rm T} \\ \vdots \\ (\mathbf{x}_n- \boldsymbol{\mu}_x)^{\small\rm T} \end{bmatrix}\\ &= \frac{1}{n} \sum_{i=1}^{n} (\mathbf{y}_i - \boldsymbol{\mu}_y) (\mathbf{x}_i - \boldsymbol{\mu}_x)^{\small\rm T}\\ &= {\sum}_{xy} \end{aligned} n1YKXT=n1YKKTXT=n1(YK)(XK)T=n1[y1−μyy2−μy⋯yn−μy] (x1−μx)T(x2−μx)T⋮(xn−μx)T =n1i=1∑n(yi−μy)(xi−μx)T=∑xy |
表五. 正则矩阵的其他计算结果
公式名/编号 | 性质 |
---|---|
T-5-1 | X K + 1 n X h h T = X ( I − 1 n h h T ) + 1 n X h h T = X \mathbf{X}\mathbf{K} + \frac{1}{n} \mathbf{X} \mathbf{h} \mathbf{h}^{\small\rm T} = \mathbf{X}(\mathbf{I} - \frac{1}{n} \mathbf{h} \mathbf{h}^{\small\rm T})+ \frac{1}{n} \mathbf{X} \mathbf{h} \mathbf{h}^{\small\rm T} = \mathbf{X} XK+n1XhhT=X(I−n1hhT)+n1XhhT=X |
T-5-2 | Y K + 1 n Y h h T = Y \mathbf{Y}\mathbf{K} + \frac{1}{n} \mathbf{Y} \mathbf{h} \mathbf{h}^{\small\rm T} = \mathbf{Y} YK+n1YhhT=Y |
2. 目标函数
由矩阵乘的操作可知
[
R
x
1
R
x
2
⋯
R
x
n
]
=
[
R
X
]
(II-2-1)
\begin{bmatrix}{\mathbf{R} \mathbf{x}_1 } & {\mathbf{R} \mathbf{x}_2 } &\cdots & {\mathbf{R} \mathbf{x}_n} \end{bmatrix} = \begin{bmatrix} \mathbf{R} \mathbf{X} \end{bmatrix} \tag{II-2-1}
[Rx1Rx2⋯Rxn]=[RX](II-2-1)
再结合式 (T-2-2) 可知
[
y
1
−
(
c
R
x
1
+
t
)
y
2
−
(
c
R
x
2
+
t
)
⋯
y
n
−
(
c
R
x
n
+
t
)
]
=
[
Y
−
(
c
R
X
+
t
h
T
)
]
(II-2-2)
\begin{bmatrix}{\mathbf{y}_1 - (c\mathbf{R} \mathbf{x}_1 + \mathbf{t})} & {\mathbf{y}_2 - (c\mathbf{R} \mathbf{x}_2 + \mathbf{t})} &\cdots & {\mathbf{y}_n - (c\mathbf{R} \mathbf{x}_n + \mathbf{t})}\end{bmatrix} = \begin{bmatrix} \mathbf{Y} - (c\mathbf{R} \mathbf{X} + \mathbf{t}\mathbf{h}^{\small\rm T} ) \end{bmatrix} \tag{II-2-2}
[y1−(cRx1+t)y2−(cRx2+t)⋯yn−(cRxn+t)]=[Y−(cRX+thT)](II-2-2)
根据 Frobenius-范数 (T-3-1) 变换目标函数 (I-2-2)
e
2
(
R
,
t
,
c
)
=
1
n
∑
i
=
1
n
∥
y
i
−
(
c
R
x
i
+
t
)
∥
2
2
=
1
n
∥
Y
−
c
R
X
−
t
h
T
∥
F
2
(T-5-1)
,
(T-5-2)
=
1
n
∥
Y
K
+
1
n
Y
h
h
T
−
c
R
(
X
K
+
1
n
X
h
h
T
)
−
t
h
T
∥
F
2
=
1
n
∥
Y
K
−
c
R
X
K
+
(
1
n
Y
h
−
c
n
R
X
h
−
t
)
h
T
∥
F
2
=
1
n
∥
(
Y
K
−
c
R
X
K
)
−
t
′
h
T
∥
F
2
=
1
n
t
r
{
[
(
Y
K
−
c
R
X
K
)
−
t
′
h
T
]
T
[
(
Y
K
−
c
R
X
K
)
−
t
′
h
T
]
}
(T-3-2)
=
1
n
∥
Y
K
−
c
R
X
K
∥
F
2
+
∥
t
′
∥
F
2
+
t
r
[
(
Y
K
−
c
R
X
K
)
T
t
′
h
T
]
‾
=
1
n
∥
Y
K
−
c
R
X
K
∥
F
2
+
∥
t
′
∥
F
2
(II-2-3)
\begin{aligned} e^{2}(\mathbf{R}, \mathbf{t}, c) & = \frac{1}{n} \sum_{i=1}^{n}\left\|\mathbf{y}_i - (c\mathbf{R} \mathbf{x}_i + \mathbf{t})\right\|_{2}^2\\ &= \frac{1}{n} \left\| \mathbf{Y} - c\mathbf{R} \mathbf{X} - \mathbf{t}\mathbf{h}^{\small\rm T} \right\|_{F}^2\\ {\small\text{(T-5-1)},\text{(T-5-2)}}\quad &= \frac{1}{n} \left\| \mathbf{Y}\mathbf{K} + \frac{1}{n} \mathbf{Y} \mathbf{h} \mathbf{h}^{\small\rm T} - c\mathbf{R} \left(\mathbf{X}\mathbf{K} + \frac{1}{n} \mathbf{X} \mathbf{h} \mathbf{h}^{\small\rm T}\right) - \mathbf{t}\mathbf{h}^{\small\rm T} \right\|_{F}^2\\ &= \frac{1}{n} \left\| \mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K} + \left(\frac{1}{n} \mathbf{Y} \mathbf{h} - \frac{c}{n}\mathbf{R} \mathbf{X} \mathbf{h} - \mathbf{t}\right) \mathbf{h}^{\small\rm T}\right\|_{F}^2\\ &= \frac{1}{n} \left\| \left(\mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K}\right) - \mathbf{t}^{'} \mathbf{h}^{\small\rm T}\right\|_{F}^2\\ &= \frac{1}{n} {\rm tr}\left\{ \left[ \left(\mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K}\right) - \mathbf{t}^{'} \mathbf{h}^{\small\rm T}\right]^{\small\rm T} \left[ \left(\mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K}\right) - \mathbf{t}^{'} \mathbf{h}^{\small\rm T}\right] \right\}\\ {\small\text{(T-3-2)}}\quad &= \frac{1}{n} \left\|\mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K}\right\|_F^2 + \|\mathbf{t}^{'}\|_{F}^2 + \underline{{\rm tr}\left[\left(\mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K}\right)^{\small\rm T} \mathbf{t}^{'} \mathbf{h}^{\small\rm T}\right]}\\ &= \frac{1}{n} \left\|\mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K}\right\|_F^2 + \|\mathbf{t}^{'}\|_{F}^2 \end{aligned} \tag{II-2-3}
e2(R,t,c)(T-5-1),(T-5-2)(T-3-2)=n1i=1∑n∥yi−(cRxi+t)∥22=n1
Y−cRX−thT
F2=n1
YK+n1YhhT−cR(XK+n1XhhT)−thT
F2=n1
YK−cRXK+(n1Yh−ncRXh−t)hT
F2=n1
(YK−cRXK)−t′hT
F2=n1tr{[(YK−cRXK)−t′hT]T[(YK−cRXK)−t′hT]}=n1∥YK−cRXK∥F2+∥t′∥F2+tr[(YK−cRXK)Tt′hT]=n1∥YK−cRXK∥F2+∥t′∥F2(II-2-3)
其中
t
′
≜
−
(
1
n
Y
h
−
c
n
R
X
h
−
t
)
(II-2-4)
\mathbf{t}^{'} \triangleq -\left(\frac{1}{n} \mathbf{Y} \mathbf{h} - \frac{c}{n}\mathbf{R} \mathbf{X} \mathbf{h} - \mathbf{t}\right) \tag{II-2-4}
t′≜−(n1Yh−ncRXh−t)(II-2-4)
另外, 式 (II-2-2) 倒数第二行下划线项被省略的原因是
t
r
[
(
Y
K
−
c
R
X
K
)
T
t
′
h
T
]
=
t
r
[
K
T
(
Y
−
c
R
X
)
T
t
′
h
T
]
=
t
r
[
h
T
K
T
‾
(
Y
−
c
R
X
)
T
t
′
]
(T-2-5)
=
0
(II-2-5)
\begin{aligned} {\rm tr}\left[\left(\mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K}\right)^{\small\rm T} \mathbf{t}^{'} \mathbf{h}^{\small\rm T}\right] &= {\rm tr}\left[\mathbf{K}^{\small\rm T} \left(\mathbf{Y}- c\mathbf{R} \mathbf{X}\right)^{\small\rm T} \mathbf{t}^{'} \mathbf{h}^{\small\rm T}\right] \\ & = {\rm tr}\left[\underline{\mathbf{h}^{\small\rm T} \mathbf{K}^{\small\rm T} } \left(\mathbf{Y}- c\mathbf{R} \mathbf{X}\right)^{\small\rm T} \mathbf{t}^{'} \right] \\ {\small\text{(T-2-5)}}\quad &= 0 \end{aligned} \tag{II-2-5}
tr[(YK−cRXK)Tt′hT](T-2-5)=tr[KT(Y−cRX)Tt′hT]=tr[hTKT(Y−cRX)Tt′]=0(II-2-5)
3. 平移参数的最优估计
要使目标函数式 (II-2-3) 达到最小值, 首先需要
∥
t
′
∥
F
2
=
0
(II-3-1)
\|\mathbf{t}^{'}\|_{F}^2 = 0 \tag{II-3-1}
∥t′∥F2=0(II-3-1)
由式 (II-2-4) 可知, 此时需要
t
\mathbf{t}
t 满足
t
=
1
n
Y
h
−
c
n
R
X
h
=
μ
y
−
c
R
μ
x
(II-3-2)
\mathbf{t} = \frac{1}{n} \mathbf{Y} \mathbf{h} - \frac{c}{n}\mathbf{R} \mathbf{X} \mathbf{h} = \boldsymbol{\mu}_y - c \mathbf{R} \boldsymbol{\mu}_x \tag{II-3-2}
t=n1Yh−ncRXh=μy−cRμx(II-3-2)
这就是 [定理] 中的式 (I-2-10), 即平移参数的最优估计结果.
4. 旋转参数的最优估计
满足式 (II-3-1) 或式 (II-3-2) 的目标函数式为
e
2
(
R
,
t
,
c
)
=
1
n
∥
Y
K
−
c
R
X
K
∥
F
2
=
1
n
∥
A
ˉ
−
R
B
ˉ
∥
F
2
(II-4-1)
\begin{aligned} e^{2}(\mathbf{R}, \mathbf{t}, c) & = \frac{1}{n} \left\|\mathbf{Y}\mathbf{K}- c\mathbf{R} \mathbf{X}\mathbf{K}\right\|_F^2 \\ & = \frac{1}{n} \left\|\bar{\mathbf{A}}- \mathbf{R} \bar{\mathbf{B}}\right\|_F^2 \end{aligned} \tag{II-4-1}
e2(R,t,c)=n1∥YK−cRXK∥F2=n1
Aˉ−RBˉ
F2(II-4-1)
其中定义
A
ˉ
≜
Y
K
(II-4-2)
\bar{\mathbf{A}} \triangleq \mathbf{Y} \mathbf{K} \tag{II-4-2}
Aˉ≜YK(II-4-2)
B ˉ = c X K (II-4-3) \bar{\mathbf{B}} = c \mathbf{X} \mathbf{K} \tag{II-4-3} Bˉ=cXK(II-4-3)
由 [定理] 中的条件已知 “
∑
x
y
{\sum}_{xy}
∑xy 的奇异值分解式为
U
D
V
T
\mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T}
UDVT”, 即
U
D
V
T
=
∑
x
y
=
(T-4-7)
1
n
Y
K
X
T
(T-2-4)
=
1
n
Y
K
K
T
X
T
=
1
c
n
(
Y
K
)
(
c
X
K
)
T
=
1
c
n
A
ˉ
B
ˉ
T
(II-4-4)
\begin{aligned} \mathbf{U} \mathbf{D} \mathbf{V}^{\small\rm T} &= {\sum}_{xy} \overset{\small\text{(T-4-7)}}{=} \frac{1}{n} \mathbf{Y} \mathbf{K} \mathbf{X}^{\small\rm T}\\ {\small\text{(T-2-4)}}\quad &= \frac{1}{n} \mathbf{Y} \mathbf{K} \mathbf{K}^{\small\rm T} \mathbf{X}^{\small\rm T}\\ &= \frac{1}{cn} (\mathbf{Y} \mathbf{K})(c\mathbf{X} \mathbf{K})^{\small\rm T}\\ &= \frac{1}{cn} \bar{\mathbf{A}} \bar{\mathbf{B}}^{\small\rm T} \end{aligned} \tag{II-4-4}
UDVT(T-2-4)=∑xy=(T-4-7)n1YKXT=n1YKKTXT=cn1(YK)(cXK)T=cn1AˉBˉT(II-4-4)
也就是说
A
ˉ
B
ˉ
T
\bar{\mathbf{A}} \bar{\mathbf{B}}^{\small\rm T}
AˉBˉT 的奇异值分解就是
U
(
c
n
D
)
V
T
\mathbf{U} (cn \mathbf{D}) \mathbf{V}^{\small\rm T}
U(cnD)VT, 其中
c
n
D
cn \mathbf{D}
cnD 是奇异值降序排列组成的对角矩阵.
根据 [引理] 中式 (I-1-4) 可知, 使得式 (II-4-1) 描述的目标函数取最小值的旋转参数的最优估计结果为
R
=
U
S
V
T
(II-4-5)
\mathbf{R} = \mathbf{U} \mathbf{S} \mathbf{V}^{\small\rm T} \tag{II-4-5}
R=USVT(II-4-5)
当然首先要满足存在唯一解的条件
r
a
n
k
(
∑
x
y
)
>
m
−
1
(II-4-6)
{\rm rank}{({\sum}_{xy})} > m-1 \tag{II-4-6}
rank(∑xy)>m−1(II-4-6)
否者无确切解 (可参考 旋转参数的最小方差估计 —— Umeyama 算法详细推导 (I) 中的讨论).
矩阵 S \mathbf{S} S 也完全由 [引理] 替换对应参数获得, 这里不再重复.
根据 [引理] 中式 (I-1-2) 可知, 此时取得的最小值
e
2
(
R
,
t
,
c
)
=
1
n
∥
A
ˉ
−
R
B
ˉ
∥
F
2
(I-1-2)
=
1
n
∥
A
ˉ
∥
F
2
+
1
n
∥
B
ˉ
∥
F
2
−
2
n
t
r
(
c
n
D
S
)
=
1
n
∥
Y
K
∥
F
2
+
1
n
∥
c
X
K
∥
F
2
−
2
n
t
r
(
c
n
D
S
)
(T-4-5),(T-4-6)
=
σ
y
2
+
c
2
σ
x
2
−
2
c
t
r
(
D
S
)
(II-4-7)
\begin{aligned} e^{2}(\mathbf{R}, \mathbf{t}, c) & = \frac{1}{n} \left\|\bar{\mathbf{A}}- \mathbf{R} \bar{\mathbf{B}}\right\|_F^2\\ {\small\text{(I-1-2)}}\quad & = \frac{1}{n} \|\bar{\mathbf{A}}\|_{F}^2 + \frac{1}{n} \|\bar{\mathbf{B}}\|_{F}^2 - \frac{2}{n}\, {\rm tr}(cn\mathbf{D}\mathbf{S})\\ &= \frac{1}{n} \|\mathbf{Y} \mathbf{K}\|_{F}^2 + \frac{1}{n} \|c \mathbf{X} \mathbf{K}\|_{F}^2 - \frac{2}{n}\, {\rm tr}(cn\mathbf{D}\mathbf{S})\\ {\small\text{(T-4-5),(T-4-6)}} \quad&= \sigma_y^2 +c^2 \sigma_x^2 - {2c}\, {\rm tr}(\mathbf{D}\mathbf{S}) \end{aligned} \tag{II-4-7}
e2(R,t,c)(I-1-2)(T-4-5),(T-4-6)=n1
Aˉ−RBˉ
F2=n1∥Aˉ∥F2+n1∥Bˉ∥F2−n2tr(cnDS)=n1∥YK∥F2+n1∥cXK∥F2−n2tr(cnDS)=σy2+c2σx2−2ctr(DS)(II-4-7)
上式是在对平移参数和旋转参数最优估计后, 得到的最小目标函数值.
5. 缩放参数的最优估计
可以看出此时的目标函数式 (II-4-7) 是关于
c
c
c 的二次函数, 对其求关于
c
c
c 的导数
d
e
2
(
R
,
t
,
c
)
d
c
=
2
c
σ
x
2
−
2
t
r
(
D
S
)
(II-5-1)
\frac{de^2(\mathbf{R},\mathbf{t},c)}{dc} = 2c\sigma_x^2 - 2 \,{\rm tr}(\mathbf{D}\mathbf{S}) \tag{II-5-1}
dcde2(R,t,c)=2cσx2−2tr(DS)(II-5-1)
计算极值点, 即为缩放参数的最优估计
c
=
t
r
(
D
S
)
σ
x
2
(II-5-2)
c= \frac{{\rm tr}(\mathbf{D}\mathbf{S})}{\sigma_x^2} \tag{II-5-2}
c=σx2tr(DS)(II-5-2)
6. 最小化目标函数
将最后一个最优估计参数, 代入式 (II-4-7) 得到最终的最小化目标函数值
ε
2
=
σ
y
2
+
c
2
σ
x
2
−
2
c
t
r
(
D
S
)
=
σ
y
2
+
(
t
r
(
D
S
)
σ
x
2
)
2
σ
x
2
−
2
(
t
r
(
D
S
)
σ
x
2
)
t
r
(
D
S
)
=
σ
y
2
−
t
r
(
D
S
)
2
σ
x
2
(II-6-1)
\begin{aligned} \varepsilon^2 &= \sigma_y^2 +c^2 \sigma_x^2 - {2c}\, {\rm tr}(\mathbf{D}\mathbf{S})\\ &= \sigma_y^2 +\left(\frac{{\rm tr}(\mathbf{D}\mathbf{S})}{\sigma_x^2}\right)^2 \sigma_x^2 - {2} \left(\frac{{\rm tr}(\mathbf{D}\mathbf{S})}{\sigma_x^2}\right) {\rm tr}(\mathbf{D}\mathbf{S})\\ & = \sigma_y^2 - \frac{{\rm tr}(\mathbf{D}\mathbf{S})^2}{\sigma_x^2} \end{aligned} \tag{II-6-1}
ε2=σy2+c2σx2−2ctr(DS)=σy2+(σx2tr(DS))2σx2−2(σx2tr(DS))tr(DS)=σy2−σx2tr(DS)2(II-6-1)
这样就完全证明了 [定理] 部分.
总结
本篇博文详细推导了 S. Umeyama 论文 “Least-squares estimation of transformation parameters between two point patterns” 中的定理部分[1], 获得了相似变换参数 (旋转、平移、缩放) 的最小方差估计.
这就为实际应用中的源码实现提供了坚实的数学基础, 相对来说源码实现并不复杂.
后面我们会简单看一下 Umeyama 算法的源码, 包括 Eigen 中的 C++实现和 evo 中的 Python 实现.
(如有问题, 请指出)
参考文献
[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.