(01)ORB-SLAM2源码无死角解析-(56) 闭环线程→计算Sim3:理论推导(1)求解s,t
本人讲解关于slam一系列文章汇总链接:史上最全slam从零开始,针对于本栏目讲解的(01)ORB-SLAM2源码无死角解析-接如下:
(01)ORB-SLAM2源码无死角解析-(00)目录_最新无死角讲解:https://blog.csdn.net/weixin_43013761/article/details/123092196
文末正下方中心提供了本人
联系方式,
点击本人照片即可显示
W
X
→
官方认证
{\color{blue}{文末正下方中心}提供了本人 \color{red} 联系方式,\color{blue}点击本人照片即可显示WX→官方认证}
文末正下方中心提供了本人联系方式,点击本人照片即可显示WX→官方认证
一、前言
上一篇博客,对 ComputeSim3() 进行了整体的讲解,大致明白了了 sim3 的作用。但是应该如何求解相似变换(Similarity Transformation)呢?在上一篇博客中提到:
T
=
[
R
t
0
1
]
T
s
=
[
s
R
t
0
1
]
(01)
\color{Green} \tag{01} \mathbf T=\left[\begin{array}{cc} \mathbf R & \mathbf t \\ \\ \mathbf 0& 1 \end{array}\right]~~~~~~~~~~~~~~~~~~Ts=\left[\begin{array}{cc} s \mathbf R & \mathbf t \\ \\ \mathbf 0& 1 \end{array}\right]
T=⎣
⎡R0t1⎦
⎤ Ts=⎣
⎡sR0t1⎦
⎤(01)左边为欧式变换矩阵,右边的是相似变换矩阵,可以很明显的知道仅仅相差一个尺度因子
s
s
s,当
s
=
1
s=1
s=1的时候,相似变换就成了欧式变换。总的来说计算Sim3 实际就是计算这三个参数:旋转
R
\mathbf R
R 平移
t
\mathbf t
t 尺度因子
s
s
s。
理论来说计算Sim3需要3对不共线的点对即可求解。为什么三对不共线点就可以求解?那么下面来推导一下:
( 1 ) : \color{blue}(1): (1):假设坐标系1下有三个不共线三维点