本节精髓(看完懂一半!):把李群转换成李代数(李代数由向量组成,向量加法封闭,李群就是旋转矩阵,旋转矩阵加法不封闭),李代数求导以获得最小误差,从而得到最佳位姿。
1.相机位姿是T,它观察到一个在世界坐标系中的一个空间点p,相机上产生了一个相机观测数据z,那么z = Tp + noise,noise是观测噪声。那么观测误差就是e = z - Tp
目的:寻找最佳位姿T
做法:就是让整体误差最小~
求解此问题,就是求目标函数J对于变换矩阵T的导数。
2.遇到问题:我们知道变换矩阵T所在的SE(3)空间,对加法计算并不封闭,也就是说任意两个变换矩阵相加后并不是一个变换矩阵,这主要是因为旋转矩阵对加法是不封闭造成的
解决办法:李代数就是解决这个问题的。我们把大写SE(3)空间的T映射为一种叫做李代数的东西,映射后的李代数我们叫做小se(3)好了。它是由向量组成的,我们知道向量是对加法封闭的。这样我们就可以通过对李代数求导来间接的对变换矩阵求导了
3.李群
群(group)就是一种集合加上一种运算的代数结构。
群有几个运算性质:封闭性,结合律,幺元,还有逆(知道就好,不记得可以查书)
李群的定义是指连续光滑的群
旋转矩阵群SO(3)是李群(你想象你拿个杯子就可以在空间中以某个支点连续的旋转它,所以SO(3)它就是李群)
变换矩阵群SE(3)也是李群(一边旋转一边平移,也是连续的)
4.李代数
李代数对应李群的正切空间,它描述了李群局部的导数
李代数对应了李群的导数
5.一起证明第一个重要的结论
R(t)旋转矩阵,反对称矩阵(相当于导数的矩阵)
反对称矩阵其实是将三维向量和三维矩阵建立对应关系
是这样定义的:如果一个3 X 3的矩阵A满足如下式子
左边有个转置,右边有个负号,叫反对称矩阵,还是挺形象的
我们假设有一个反对称矩阵A的定义如下:
满足性质:该矩阵的转置等于该矩阵元素取负数
现在我们进行简化表达旋转矩阵
我们定义对应的一个三维向量:
A就是旋转矩阵
现在我们应该能看懂前面的式子:
6.指数映射
定义:李群空间的任意一个旋转矩阵R都可以用李代数空间的一个向量的反对称矩阵指数来近似
你只要记得用旋转矩阵表示的话就是李群空间,也是我们熟悉的表示方法。而用向量的反对称矩阵表示的话就是李代数空间,这两个空间建立了联系
通过公式推导得到李群和李代数之间的关系式:
:
最后得到(罗德里格斯公式):
三维向量 φ = θa,a是一个长度为1的方向向量。看到这个式子有没有觉得很神奇?
最后总结成一张图: