目录
VSLAM学习(一) 三维运动、相机模型、SLAM模型
VSLAM学习(二) 非线性优化
VSLAM学习(三) 单目相机位姿估计
VSLAM学习(四) Bundle Adjustment

一、对极几何约束

相机在不同位姿拍到世界中同一个路标,会有不同的成像位置,如下图所示

世界路标 P \boldsymbol P P,在相机两个不同位姿所拍到的帧 I 1 , I 2 \boldsymbol I_1,\boldsymbol I_2 I1​,I2​中,分别投影在了 p 1 , p 2 \boldsymbol p_1,\boldsymbol p_2 p1​,p2​两点。
这两帧时刻,相机的坐标中心点分别为 C 1 , C 2 \boldsymbol C_1,\boldsymbol C_2 C1​,C2​
e 1 , e 2 \boldsymbol e_1,\boldsymbol e_2 e1​,e2​分别是这两个时刻中心点在另一帧上的投影

那么很容易看出, p 1 e 1 / / P C 2 \boldsymbol p_1\boldsymbol e_1 // \boldsymbol P\boldsymbol C_2 p1​e1​//PC2​, p 2 e 2 / / P C 1 \boldsymbol p_2\boldsymbol e_2 // \boldsymbol P\boldsymbol C_1 p2​e2​//PC1​

1.1 本质矩阵

记 P \boldsymbol P P点在 I 1 \boldsymbol I_1 I1​帧和 I 2 \boldsymbol I_2 I2​帧的坐标系下的向量坐标分别为 P 1 \boldsymbol P_1 P1​和 P 2 \boldsymbol P_2 P2​
那么根据三维运动我们知道:

P 2 = R 12 P 1 + t \boldsymbol P_2=\boldsymbol R_{12}\boldsymbol P_1+\boldsymbol t P2​=R12​P1​+t

两边同时左叉乘 t \boldsymbol t t得

t ∧ P 2 = t ∧ R 12 P 1 \boldsymbol t^{\land}\boldsymbol P_2=\boldsymbol t^{\land}\boldsymbol R_{12}\boldsymbol P_1 t∧P2​=t∧R12​P1​
两边再同时与 P 2 \boldsymbol P_2 P2​作内积

0 = P 2 T t ∧ R 12 P 1 0=\boldsymbol P_2^T\boldsymbol t^{\land}\boldsymbol R_{12}\boldsymbol P_1 0=P2T​t∧R12​P1​

我们将 t ∧ R 12 = d e f E \displaystyle{\boldsymbol t^{\land}\boldsymbol R_{12}\overset{\mathrm{def}}{=}\boldsymbol E} t∧R12​=defE称为本质矩阵(Essential Matrix)

P 2 T E P 1 = 0 \boldsymbol P_2^T\boldsymbol E\boldsymbol P_1=0 P2T​EP1​=0

1.2 基础矩阵

根据相机模型我们知道

{ s 1 p 1 = K P 1 s 2 p 2 = K P 2 \left\{ \begin{aligned} s_1\boldsymbol p_1&=\boldsymbol K\boldsymbol P_1 \\ s_2\boldsymbol p_2&=\boldsymbol K\boldsymbol P_2 \end{aligned} \right. {s1​p1​s2​p2​​=KP1​=KP2​​

其中 s 1 , s 2 s_1,s_2 s1​,s2​分别为P点在相机两帧里的深度
   p 1 , p 2 \boldsymbol p_1,\boldsymbol p_2 p1​,p2​分别为P点在相机图片像素坐标的齐次坐标

将 K \boldsymbol K K移到左边:

{ s 1 K − 1 p 1 = P 1 s 2 K − 1 p 2 = P 2 \left\{ \begin{aligned} s_1\boldsymbol K^{-1}\boldsymbol p_1&=\boldsymbol P_1 \\ s_2\boldsymbol K^{-1}\boldsymbol p_2&=\boldsymbol P_2 \end{aligned} \right. {s1​K−1p1​s2​K−1p2​​=P1​=P2​​

带入之前本质矩阵式中,得

0 = p 2 T ( K − 1 ) T E K − 1 p 1 0=\boldsymbol p_2^T(\boldsymbol K^{-1})^T\boldsymbol E\boldsymbol K^{-1}\boldsymbol p_1 0=p2T​(K−1)TEK−1p1​

我们将 ( K − 1 ) T E K − 1 = d e f F \displaystyle{(\boldsymbol K^{-1})^T\boldsymbol E\boldsymbol K^{-1}\overset{\mathrm{def}}{=}\boldsymbol F} (K−1)TEK−1=defF称为基础矩阵(Fundamental Matrix)

p 2 T F p 1 = 0 \boldsymbol p_2^T\boldsymbol F\boldsymbol p_1=0 p2T​Fp1​=0

以上两个关于本质矩阵和基础矩阵的等式称为对极几何约束

二、求解旋转与平移

2.1 八点法

将本质矩阵约束中的坐标归一化

x 2 T E x 1 = 0 \boldsymbol x_2^T\boldsymbol E\boldsymbol x_1=0 x2T​Ex1​=0

记归一化坐标 x 1 = ( u 1 , v 1 , 1 ) T \boldsymbol x_1=(u_1,v_1,1)^\mathrm{T} x1​=(u1​,v1​,1)T, x 2 = ( u 2 , v 2 , 1 ) T \boldsymbol x_2=(u_2,v_2,1)^\mathrm{T} x2​=(u2​,v2​,1)T
记本质矩阵 E = ( e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 e 9 ) \boldsymbol E=\begin{pmatrix}e_1 & e_2 & e_3 \\e_4 & e_5 & e_6 \\e_7 & e_8 & e_9\end{pmatrix} E=⎝⎛​e1​e4​e7​​e2​e5​e8​​e3​e6​e9​​⎠⎞​

那么

( u 2 , v 2 , 1 ) ( e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 e 9 ) ( u 1 v 1 1 ) = ( u 2 u 1 , u 2 v 1 , u 2 , v 2 u 1 , v 2 v 1 , v 2 , u 1 , v 1 , 1 ) ( e 1 e 2 e 3 e 4 e 5 e 6 e 7 e 8 e 9 ) = 0 (u_2,v_2,1) \begin{pmatrix} e_1 & e_2 & e_3 \\ e_4 & e_5 & e_6 \\ e_7 & e_8 & e_9 \end{pmatrix} \begin{pmatrix} u_1 \\ v_1 \\ 1 \end{pmatrix}= (u_2u_1,u_2v_1,u_2,v_2u_1,v_2v_1,v_2,u_1,v_1,1) \begin{pmatrix} e_1 \\ e_2 \\ e_3 \\ e_4 \\ e_5 \\ e_6 \\ e_7 \\ e_8 \\ e_9 \end{pmatrix} =0 (u2​,v2​,1)⎝⎛​e1​e4​e7​​e2​e5​e8​​e3​e6​e9​​⎠⎞​⎝⎛​u1​v1​1​⎠⎞​=(u2​u1​,u2​v1​,u2​,v2​u1​,v2​v1​,v2​,u1​,v1​,1)⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛​e1​e2​e3​e4​e5​e6​e7​e8​e9​​⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞​=0

现在要求解这9个值,由于等式等于0,可以去掉一个尺度自由度,那么只需8个方程即可求解。而 E = t ∧ R \boldsymbol E=\boldsymbol t^\mathrm{\land}\boldsymbol R E=t∧R,平移和旋转各有3个自由度,去掉尺度就只有5个自由度了,所以理论上最少只需要5对点就能求解,但是比较麻烦。

取8对点的方法称为八点法,将Essential矩阵展开成向量格式
记 a 1 = ( u 2 u 1 , u 2 v 1 , u 2 , v 2 u 1 , v 2 v 1 , v 2 , u 1 , v 1 , 1 ) \boldsymbol a_1=(u_2u_1,u_2v_1,u_2,v_2u_1,v_2v_1,v_2,u_1,v_1,1) a1​=(u2​u1​,u2​v1​,u2​,v2​u1​,v2​v1​,v2​,u1​,v1​,1)
e = ( v e c T E ) T = ( e 1 , e 2 , ⋅ ⋅ ⋅ , e 9 ) T \quad\boldsymbol e=(\mathrm{vec}^\mathrm{T}\boldsymbol E)^\mathrm{T}=(e_1,e_2,···,e_9)^\mathrm{T} e=(vecTE)T=(e1​,e2​,⋅⋅⋅,e9​)T

则 a 1 T e = 0 \boldsymbol a_1^\mathrm{T}\boldsymbol e=0 a1T​e=0
同样方法再找7对点,将对应系数记为 a 2 ⋅ ⋅ ⋅ a 8 \boldsymbol a_2···\boldsymbol a_8 a2​⋅⋅⋅a8​
可以得到方程组

( a 1 a 2 a 3 a 4 a 5 a 6 a 7 a 8 ) e = 0 \begin{pmatrix} \boldsymbol a_1 \\ \boldsymbol a_2 \\ \boldsymbol a_3 \\ \boldsymbol a_4 \\ \boldsymbol a_5 \\ \boldsymbol a_6 \\ \boldsymbol a_7 \\ \boldsymbol a_8 \end{pmatrix} \boldsymbol e =0 ⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛​a1​a2​a3​a4​a5​a6​a7​a8​​⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞​e=0

即可解出 e \boldsymbol e e的值
也就是求出了本质矩阵 E \boldsymbol E E的值

然后将矩阵 E \boldsymbol E E进行奇异值分解,便可得到 R \boldsymbol R R与 t \boldsymbol t t
(暂略)

如果多于8对点求解,可以使用以下两种方法

  • 最小二乘求解 min ⁡ e ∥ A e ∥ 2 2 = min ⁡ e e T A T A e \min\limits_{\boldsymbol e}\|\boldsymbol A\boldsymbol e\|_2^2=\min\limits_{\boldsymbol e}\boldsymbol e^\mathrm{T}\boldsymbol A^\mathrm{T}\boldsymbol A\boldsymbol e emin​∥Ae∥22​=emin​eTATAe
  • 使用RANSAC方法:
    ① 有一个模型适应于假设的局内点,即所有的未知参数都能从假设的局内点计算得出。
    ② 用1中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点。
    ③ 如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理。
    ④ 然后,用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过。
    ⑤ 最后,通过估计局内点与模型的错误率来评估模型。

2.2 单应矩阵

所有取出的点共面时,八点法退化,无法求解。
当所有点共面时,设该平面 π = ( n T , d ) \boldsymbol\pi=(\boldsymbol n^{\mathrm T},d) π=(nT,d),即单位法向量为 n \boldsymbol n n,截距为 d d d
则有

n T P + d = 0 o r − n T P d = 1 \boldsymbol n^{\mathrm T}\boldsymbol P+d=0 \quad\quad or \quad\quad -\frac{\boldsymbol n^{\mathrm T}\boldsymbol P}{d}=1 nTP+d=0or−dnTP​=1

可将1带入下式:

p 2 = 1 s 1 K ( R 12 P 1 + t ) = 1 s 1 K ( R 12 P 1 + t ⋅ ( − n T P d ) ) = 1 s 1 K ( R 12 − t n T d ) P 1 = s 2 s 1 K ( R 12 − t n T d ) K − 1 p 1 = d e f H p 1 \begin{aligned} \boldsymbol p_2&=\frac{1}{s_1}\boldsymbol K(\boldsymbol R_{12}\boldsymbol P_1+\boldsymbol t) \\ &=\frac{1}{s_1}\boldsymbol K\Big(\boldsymbol R_{12}\boldsymbol P_1+\boldsymbol t·(-\frac{\boldsymbol n^{\mathrm T}\boldsymbol P}{d})\Big) \\ &=\frac{1}{s_1}\boldsymbol K(\boldsymbol R_{12}-\frac{\boldsymbol t\boldsymbol n^{\mathrm T}}{d})\boldsymbol P_1 \\ &=\frac{s_2}{s_1}\boldsymbol K(\boldsymbol R_{12}-\frac{\boldsymbol t\boldsymbol n^{\mathrm T}}{d})\boldsymbol K^{-1}\boldsymbol p_1 \\ &\overset{\mathrm{def}}{=}\boldsymbol H\boldsymbol p_1 \end{aligned} p2​​=s1​1​K(R12​P1​+t)=s1​1​K(R12​P1​+t⋅(−dnTP​))=s1​1​K(R12​−dtnT​)P1​=s1​s2​​K(R12​−dtnT​)K−1p1​=defHp1​​

即

( u 2 v 2 1 ) = ( h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 h 9 ) ( u 1 v 1 1 ) \begin{pmatrix} u_2 \\ v_2 \\ 1 \end{pmatrix}= \begin{pmatrix} h_1 & h_2 & h_3 \\ h_4 & h_5 & h_6 \\ h_7 & h_8 & h_9 \end{pmatrix} \begin{pmatrix} u_1 \\ v_1 \\ 1 \end{pmatrix} ⎝⎛​u2​v2​1​⎠⎞​=⎝⎛​h1​h4​h7​​h2​h5​h8​​h3​h6​h9​​⎠⎞​⎝⎛​u1​v1​1​⎠⎞​

得

{ u 2 = u 1 h 1 + v 1 h 2 + h 3 v 2 = u 1 h 4 + v 1 h 5 + h 6 1 = u 1 h 7 + v 1 h 8 + h 9 \left\{ \begin{aligned} u_2&=u_1h_1+v_1h_2+h_3 \\ v_2&=u_1h_4+v_1h_5+h_6 \\ 1&=u_1h_7+v_1h_8+h_9 \end{aligned} \right. ⎩⎪⎨⎪⎧​u2​v2​1​=u1​h1​+v1​h2​+h3​=u1​h4​+v1​h5​+h6​=u1​h7​+v1​h8​+h9​​

归一化 H \boldsymbol H H(令 h 9 = 1 h_9=1 h9​=1),③式带入①、②并移项得

{ u 2 = u 1 h 1 + v 1 h 2 + h 3 − u 2 u 1 h 7 − u 2 v 1 h 8 v 2 = u 1 h 4 + v 1 h 5 + h 6 − v 2 u 1 h 7 − v 2 v 1 h 8 \left\{ \begin{aligned} u_2&=u_1h_1+v_1h_2+h_3-u_2u_1h_7-u_2v_1h_8 \\ v_2&=u_1h_4+v_1h_5+h_6-v_2u_1h_7-v_2v_1h_8 \end{aligned} \right. {u2​v2​​=u1​h1​+v1​h2​+h3​−u2​u1​h7​−u2​v1​h8​=u1​h4​+v1​h5​+h6​−v2​u1​h7​−v2​v1​h8​​

即
( u 1 v 1 1 0 0 0 − u 2 u 1 − u 2 v 1 0 0 0 u 1 v 1 1 − v 2 u 1 − v 2 v 1 ) ( h 1 h 2 h 3 h 4 h 5 h 6 h 7 h 8 ) = ( u 2 v 2 ) \begin{pmatrix} u_1 & v_1 & 1 & 0 & 0 & 0 & -u_2u_1 & -u_2v_1 \\ 0 & 0 & 0 & u_1 & v_1 & 1 & -v_2u_1 & -v_2v_1 \end{pmatrix} \begin{pmatrix} h_1 \\ h_2 \\ h_3 \\ h_4 \\ h_5 \\ h_6 \\ h_7 \\ h_8 \end{pmatrix}= \begin{pmatrix} u_2 \\ v_2 \end{pmatrix} (u1​0​v1​0​10​0u1​​0v1​​01​−u2​u1​−v2​u1​​−u2​v1​−v2​v1​​)⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛​h1​h2​h3​h4​h5​h6​h7​h8​​⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞​=(u2​v2​​)

一对点两个方程,所以只需要4对点即可求解
算出 H \boldsymbol H H,继而求解 R , t , n , K , d \boldsymbol R,\boldsymbol t,\boldsymbol n,\boldsymbol K,d R,t,n,K,d
这一步贼麻烦,暂略…

三、三角测量深度估计

求出平移和旋转之后,就可以来求某一个路标点在相机坐标下的位置了,确定深度了。

3.1 直接求解

由三维运动方程知(归一化坐标):
s 2 x 2 = s 1 R 12 x 1 + t s_2\boldsymbol x_2=s_1\boldsymbol R_{12}\boldsymbol x_1+\boldsymbol t s2​x2​=s1​R12​x1​+t

那么现在的任务就是求出 s 1 , s 2 s_1,s_2 s1​,s2​,即是深度值
两边同时左叉乘 x 2 \boldsymbol x_2 x2​
0 = s 1 x 2 ∧ R 12 x 1 + x 2 ∧ t 0=s_1\boldsymbol x_2^{\land}\boldsymbol R_{12}\boldsymbol x_1+\boldsymbol x_2^{\land}\boldsymbol t 0=s1​x2∧​R12​x1​+x2∧​t
便可求出 s 1 s_1 s1​的值,继而求出 s 2 s_2 s2​

然而,由于噪声的存在,我们之前确定的 R , t \boldsymbol R,\boldsymbol t R,t并不完全准确,导致 s 1 , s 2 s_1,s_2 s1​,s2​也不准
故而通过

s 1 x 1 = P 1 s_1\boldsymbol x_1=\boldsymbol P_1 s1​x1​=P1​

求出的路标P的坐标肯定也是个歪的

所以我们一般是对P点做最小二乘解

3.2 最小二乘解

以第一帧相机坐标系为准
对于第k帧中的路标P的坐标 x k \boldsymbol x_k xk​有

s k x k = R 1 k P + t k = ( R 1 k ∣ t k ) P s_k\boldsymbol x_k=\boldsymbol R_{1k}\boldsymbol P+\boldsymbol t_k=(\boldsymbol R_{1k}|\boldsymbol t_k)\boldsymbol P sk​xk​=R1k​P+tk​=(R1k​∣tk​)P

展开

s k ( u k v k 1 ) = ( r k , 1 r k , 2 r k , 3 r k , 4 r k , 5 r k , 6 r k , 7 r k , 8 r k , 9 t k , 1 t k , 2 t k , 3 ) ( X Y Z 1 ) s_k \begin{pmatrix} u_k \\ v_k \\ 1 \end{pmatrix}= \left( \begin{array}{c:c} \begin{matrix} r_{k,1} & r_{k,2} & r_{k,3} \\ r_{k,4} & r_{k,5} & r_{k,6} \\ r_{k,7} & r_{k,8} & r_{k,9} \end{matrix}& \begin{matrix} t_{k,1} \\ t_{k,2} \\ t_{k,3} \end{matrix} \end{array} \right) \begin{pmatrix} X \\ Y \\ Z \\ 1 \end{pmatrix} sk​⎝⎛​uk​vk​1​⎠⎞​=⎝⎛​rk,1​rk,4​rk,7​​rk,2​rk,5​rk,8​​rk,3​rk,6​rk,9​​​tk,1​tk,2​tk,3​​​⎠⎞​⎝⎜⎜⎛​XYZ1​⎠⎟⎟⎞​

即

{ s k u k = ( R 1 k ∣ t k ) 1 P s k v k = ( R 1 k ∣ t k ) 2 P s k = ( R 1 k ∣ t k ) 3 P \left\{ \begin{aligned} s_ku_k&=(\boldsymbol R_{1k}|\boldsymbol t_k)_{_1}\boldsymbol P \\ s_kv_k&=(\boldsymbol R_{1k}|\boldsymbol t_k)_{_2}\boldsymbol P \\ s_k&=(\boldsymbol R_{1k}|\boldsymbol t_k)_{_3}\boldsymbol P \end{aligned} \right. ⎩⎪⎨⎪⎧​sk​uk​sk​vk​sk​​=(R1k​∣tk​)1​​P=(R1k​∣tk​)2​​P=(R1k​∣tk​)3​​P​

其中 ( R 1 k ∣ t k ) n (\boldsymbol R_{1k}|\boldsymbol t_k)_{_n} (R1k​∣tk​)n​​表示增广矩阵 ( R 1 k ∣ t k ) (\boldsymbol R_{1k}|\boldsymbol t_k) (R1k​∣tk​)的第n行

消去第三行
{ u k ( R 1 k ∣ t k ) 3 P − ( R 1 k ∣ t k ) 1 P = 0 v k ( R 1 k ∣ t k ) 3 P − ( R 1 k ∣ t k ) 2 P = 0 \left\{ \begin{aligned} u_k(\boldsymbol R_{1k}|\boldsymbol t_k)_{_3}\boldsymbol P-(\boldsymbol R_{1k}|\boldsymbol t_k)_{_1}\boldsymbol P&=0 \\ v_k(\boldsymbol R_{1k}|\boldsymbol t_k)_{_3}\boldsymbol P-(\boldsymbol R_{1k}|\boldsymbol t_k)_{_2}\boldsymbol P&=0 \end{aligned} \right. {uk​(R1k​∣tk​)3​​P−(R1k​∣tk​)1​​Pvk​(R1k​∣tk​)3​​P−(R1k​∣tk​)2​​P​=0=0​

即
( u k ( R 1 k ∣ t k ) 3 − ( R 1 k ∣ t k ) 1 v k ( R 1 k ∣ t k ) 3 − ( R 1 k ∣ t k ) 2 ) P = 0 \begin{pmatrix} u_k(\boldsymbol R_{1k}|\boldsymbol t_k)_{_3}-(\boldsymbol R_{1k}|\boldsymbol t_k)_{_1} \\ v_k(\boldsymbol R_{1k}|\boldsymbol t_k)_{_3}-(\boldsymbol R_{1k}|\boldsymbol t_k)_{_2} \end{pmatrix}\boldsymbol P =0 (uk​(R1k​∣tk​)3​​−(R1k​∣tk​)1​​vk​(R1k​∣tk​)3​​−(R1k​∣tk​)2​​​)P=0

将所有的帧都整合起来,记

A = d e f ( u 1 ( R 11 ∣ t 1 ) 3 − ( R 11 ∣ t 1 ) 1 v 1 ( R 11 ∣ t 1 ) 3 − ( R 11 ∣ t 1 ) 2 u 2 ( R 12 ∣ t 2 ) 3 − ( R 12 ∣ t 2 ) 1 v 2 ( R 12 ∣ t 2 ) 3 − ( R 12 ∣ t 2 ) 2 ⋮ u n ( R 1 n ∣ t n ) 3 − ( R 1 n ∣ t n ) 1 v n ( R 1 n ∣ t n ) 3 − ( R 1 n ∣ t n ) 2 ) \boldsymbol A\overset{\mathrm{def}}{=} \begin{pmatrix} u_1(\boldsymbol R_{11}|\boldsymbol t_1)_{_3}-(\boldsymbol R_{11}|\boldsymbol t_1)_{_1} \\ v_1(\boldsymbol R_{11}|\boldsymbol t_1)_{_3}-(\boldsymbol R_{11}|\boldsymbol t_1)_{_2} \\ u_2(\boldsymbol R_{12}|\boldsymbol t_2)_{_3}-(\boldsymbol R_{12}|\boldsymbol t_2)_{_1} \\ v_2(\boldsymbol R_{12}|\boldsymbol t_2)_{_3}-(\boldsymbol R_{12}|\boldsymbol t_2)_{_2} \\ \vdots \\ u_n(\boldsymbol R_{1n}|\boldsymbol t_n)_{_3}-(\boldsymbol R_{1n}|\boldsymbol t_n)_{_1} \\ v_n(\boldsymbol R_{1n}|\boldsymbol t_n)_{_3}-(\boldsymbol R_{1n}|\boldsymbol t_n)_{_2} \end{pmatrix} A=def⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛​u1​(R11​∣t1​)3​​−(R11​∣t1​)1​​v1​(R11​∣t1​)3​​−(R11​∣t1​)2​​u2​(R12​∣t2​)3​​−(R12​∣t2​)1​​v2​(R12​∣t2​)3​​−(R12​∣t2​)2​​⋮un​(R1n​∣tn​)3​​−(R1n​∣tn​)1​​vn​(R1n​∣tn​)3​​−(R1n​∣tn​)2​​​⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞​

则

A P = 0 \boldsymbol A\boldsymbol P=0 AP=0

那么,可对P求最小二乘解

min ⁡ P 1 2 ∥ A P ∥ 2 2 = min ⁡ P 1 2 P T A T A P \min\limits_{\boldsymbol P}\frac{1}{2}\|\boldsymbol A\boldsymbol P\|_2^2= \min\limits_{\boldsymbol P}\frac{1}{2}\boldsymbol P^{\mathrm T}\boldsymbol A^{\mathrm T}\boldsymbol A\boldsymbol P \\ Pmin​21​∥AP∥22​=Pmin​21​PTATAP

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐