在直接法估计相机位姿的方法中,用李代数表示的相机运动模型起到了关键作用,因此本文接下来将详细讲解一下刚体运动模型和李代数之间的关系。
1.相机模型
相机模型可以描述一个三维空间中的点到二维像平面上的点的映射。为了简单起见,我们这里假设相机为针孔相机模型。因此,这样一个映射可以用一个投影矩阵来表示,如图1所示:
其中fx和fy表示相机的焦距除以x和y方向上单像素对应的传感器尺寸,cx和cy以像素为单位表示图像在x和y方向上的中心坐标。
我们用π来表示三维空间到二维像平面的映射,映射过程可以如图2所示表达式表示:
自然而然,π的逆就是二维到三维空间的映射,如图3所示:
2.刚体运动模型
刚体在三维欧式空间中的运动不改变其自身的形状和大小,也就是说,刚体上任意两点之间的距离和方向在运动前后不发生变化。这种映射过程被称作特殊欧式变换(special Euclidean transformation),这种变换的集合构成了特殊欧式群(special Euclidean group SE(3))。
刚体的运动通常可以分为两部分,即旋转(rotation)和平移(translation),总共有六个自由度,旋转包含三个自由度,平移包含三个自由度。
刚体的旋转部分有很多种表示方式,其中最长用的一种是用3x3的正交矩阵R表示旋转,所有的旋转都属于特殊取向群(special orientation group SO(3))。平移部分通常用一个三维的向量t来表示,三个维度分别代表在x、y、z三个方向上的平移。我们通常将旋转和平移结合起来,用一个4x4的矩阵表示刚体的运动,即刚体在三维空间中的变换(transformation),如图4所示:
其逆变换如图5所示:
我们将矩阵的形式展开就变成了如图6所示的形式:
3.李代数引入刚体运动
刚体的运动也可以用李代数(Lie algebra se(3))来表示,以方便数值优化。这样每一个处在李群(Lie group SE(3))中的变换就用一个6x1的向量表示,如图7所示:
当然,用变换矩阵的形式表示的M和用李代数形式表示的ξ可以相互转化,转化形式如图8所示:
以上即为全文,欢迎小伙伴们多多指教。