图优化总结:
第一,先由两个位姿顶点Ti和Tj、一个位姿变换边Tij构成一个优化函数;
第二,扰动该函数并对两个位姿顶点的扰动量求偏导,得到J,然后计算H,第三,根据H△x=g得到扰动量△x,并对原先俩位姿进行更新,实现优化。
因此这里我们又有了一个新的认识,“前端”关注的是光度误差与重投影误差之类的东西,而这里“后端”关注的是已经知道了不同的位姿T,如何整体对它进行调整,这也就更符合了“后端”的含义。
三角形的位姿T1,T2。。。是通过和世界坐标系的比较而得到的,蓝色的边是两个位姿之间相对运动的估计。
如何获得T1,T2:世界坐标系的路标点有了,然后根据图像坐标系下的点,估计世界坐标系与图像坐标系下的变换关系,解得位姿,这里的位置是有误差的。
如何估计它们的相对运动,也就是蓝色的线:
数学方式算出来的是:T1的逆乘以T2。
匹配方法是:通过T1和T2所在的图像进行匹配,比如单独算一个2D-2D之间的位姿变换或者光流法等,这样根据图像算出的位姿相对变换很有可能是和T1与T2用数学方式计算得到的位姿是有差异的
如何减小两种方法的差异:
相对运动公式如下,左边是根据匹配获得的,右边是根据数学公式获得的,两者是近似相等。
参考链接:
https://blog.csdn.net/zkk9527/article/details/89068410
误差项都是针对于单个位姿和路标点的,但是在整体的BA目标函数上,必须把自变量定义成所有待优化的变量。(也就是说,视觉里程计的两章里的BA,主要针对的是讲单个误差项的求导过程,但是这章讲的是所有的误差合并到一起,做一个整体的矩阵进行优化)
VO 的匹配过程只需要和 Map 打交道即可