pose graph 说的很清晰的一篇文章

https://blog.csdn.net/Hansry/article/details/78046342?locationNum=8&fps=1#

知乎上抄了一段:

pose graph的“测量”就是局部优化得出的各帧位姿,再计算得出的相邻关键帧间相对位姿,其实也就题主说的Tij。测量为什么打引号,后面来看。

局部优化的时候,假如算法没什么毛病的话,间隔短的帧间相对位姿是可以解算得比较准确的。但VO总是有累计误差,一直一帧一帧的跟踪下去,两个时间上离得很远的帧(先不考虑回环),它们之间基于之前的计算结果得出的的相对位姿就不可靠了。

pose graph利用前面那种短间隔可靠的相对位姿“测量”来构建一个涵盖长时间跨度的关键帧们的全局优化问题,平摊累积误差,以各关键帧位姿为节点,以前面的关键帧间(时间间隔要短)相对位姿计算结果作为测量进行极大似然估计。这样设计的最主要出发点其实还是避免优化海量地图点,减小计算规模。

所以前面测量加上引号,就是因为这个相对位姿并不是一个天然的测量值,它是个原始测量经过加工得到的二手测量值(由局部的里程计得到)。

 

1.使用pose graph通过图优化将累计误差分摊到每一帧得keyframe的pose上,之所以认为相对位姿是准确的,是因为相对位姿拥有较少的累计误差,且可以使用信息矩阵进行衡量(orb中优化的时候信息矩阵置1了)
2. 进行全局BA优化,这里的优化对对整个地图进行全局优化
感觉pose graph 只是在分摊累计误差,它只是用帧与帧的可视关系进行约束,约束并不够多,所以经过pose graph之后还需要用一个全局BA优化进行最终的调优,全局BA使用大量的observation关系进行约束,约束够多够强

 

位姿图(Pose Graph)

这就进入了第11讲,后端2。这章的内容依旧是实践为重点,我这里主要讲到的公式推导,因为我看的时候花了点时间,所以把它写下来。

BA和图优化,是把位姿和空间点放在一块,进行优化。特征点非常多,机器人轨迹越走越长,特征点增长的也很快。因此位姿图优化的意义在于:在优化几次以后把特征点固定住不再优化,只当做位姿估计的约束,之后主要优化位姿。

也就是说,不要红色的路标点了,只要位姿。位姿里的三角形是位姿,蓝色的线是两个位姿之间的变换。

关于这点,有一个理解非常重要:三角形的位姿,是通过和世界坐标系的比较而得到的,其实世界坐标系在大部分情况下也就是一开机的时候的相机坐标系,把第一帧检测到的特征点的相机坐标,当成是世界坐标,以此为参照,逐步直接递推下去。而上图蓝色的线,是根据中途的两张图,单独拿它俩出来估计一个相对的位姿变换。

换言之:在前端的匹配中,基本都是世界坐标系的点有了,然后根据图像坐标系下的点,估计世界坐标系与图像坐标系下的变换关系作为位姿,(这里的世界坐标系下的坐标实际是根据第一帧一路递推下来的,可能错误会一路累积)我们假设算出来两个,分别是T1和T2。而蓝色的线,作为两个位姿之间的相对变换,也就是T1和T2之间的变换。但它并不是直接根据T1的逆乘以T2这种数学方式算出来的(不然还优化什么?肯定相等啊)而是通过T1和T2所在的图像进行匹配,比如单独算一个2D-2D之间的位姿变换或者光流法等,这样根据图像算出的位姿很有可能是和T1与T2用数学方式计算得到的位姿是有差异的(因为没有涉及到第一帧图像,就是单纯这两张图像的像素坐标)。这个理论一定要明白,不然纯粹是瞎学】



 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值