![](/style/images/good.png)
![](/style/images/bad.png)
重用地图的单目视觉惯导SLAM系统
source link: https://mp.weixin.qq.com/s?__biz=MzU1MjY4MTA1MQ%3D%3D&mid=2247535637&idx=2&sn=25452640b3f85c4e8d4c54d1c694cfe2&chksm=fbfc6721cc8bee37d0a1ad995a7bbd21f7f363691197e1713b8c5aefa5ab2665828f5c79e534&mpshare=1&scene=1&srcid=12144q7L9cb94xV5tRzfGnPt&sharer_sharetime=1607943951123&sharer_shareid=08a5efa40af25b6a57bd07cf52cdcd42&exportkey=AylARyXsaqmHH1h%2FV6FBuCU%3D&pass_ticket=1ZuBPb68h5w8hSRbq51zAq0eRBdXGA2xRxayvf1V25Qhiwi60m7JKyscahrZ9bCo&wx_header=0
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
重用地图的单目视觉惯导SLAM系统
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
Visual-Inertial Monocular SLAM with Map Reuse
重用地图的单目视觉惯导SLAM系统
摘要
近些年来有很多优秀的视觉惯导融合的里程计系统,计算高精度和鲁棒性的传感器的增量运动。但是这些系统都是没有闭环的,所以导致系统即使回到观测过的地方还是会有累计误差。本文作者提出了一个新颖的基于紧耦合的带有闭环检测的视觉惯导SLAM系统,他可以在已经建图的地方重用地图达到0漂移的定位精度。这个系统可以用在所有的相机上,这里主要介绍存在尺度不确定性的单目相机。本文也提出了一个新颖的IMU初始化的方法可以在短时间内计算很高精度的尺度,重力方向,速度,加速度计和陀螺仪的偏置。在11个序列的飞行数据集上进行了测试,尺度误差达到1%(厘米级)精度。本文未开源,但是有大佬复现的代码:https://github.com/jingpang/LearnVIORB预备知识
系统的输入是IMU的测量和单目相机帧,利用针孔模型利用投影模型可以把相机坐标系下的3D点投影到2D的图像平面:视觉惯导的ORB-SLAM
这篇论文是基于ORB-SLAM做的,对于ORB-SLAM的介绍,可以参考解析ORB-SLAM3的文章。下边主要介绍加上IMU后对ORB-SLAM框架中Tracking、Local Mapping和Loop Closing的影响。Tracking
主要的变化是添加了相机频率的IMU位置、速度和偏置的估计。这样我们就可以得到比恒速模型准的多的机器人当前帧的初始状态。一旦预测到了机器人的位置,局部地图中的地图点就投影到当前帧和当前帧的特征点匹配。然后优化当前帧中特征匹配的重投影误差和IMU的误差。这种优化是不同的,取决于地图是否被局部建图或闭环线程更新,如图2所示。B.局部建图
在一个新的关键帧插入的时候局部建图线程进行Local BA,他优化最新的N帧(Local window)和所有被观测到的地图点,其他共视图中维护的不在局部滑窗中的关键帧虽然参与优化但是不改变位姿。固定窗口中包含了N+1个和滑窗相连的最新的共视关键帧,他们可以约束IMU的状态。C.闭环检测
闭环的主要作用是机器人又回到原来到过的地方的时候降低里程计带来的累计误差。场景充实别模块匹配最近的关键帧和原来的一个关键帧。利用两帧的词袋匹配可以得到刚体变换,然后执行优化的过程来降低里程计带来的累计误差。这种优化在大场景中很耗时,所以执行位姿图优化,==这样就可以忽略结构==,也可以很好的收敛。本文可以执行六自由度的位姿图优化,因为尺度是可观的。这个系统忽略IMU信息不优化速度和偏置。==速度利用把关联的关键帧旋转到正确的位姿上来修正。==同时并行的执行一个全局的BA来优化所有的状态,包括速度和偏置。IMU初始化
根据由运行一段时间的单目SLAM算法得到的若干关键帧来计算视觉-惯导的全局BA的尺度、重力方向、速度和IMU偏置的初始估计。运行一段时间(几秒钟)的单目SLAM算法,假设传感器运动后导致所有的状态都可观。初始化问题可以分成小的子问题- 陀螺仪偏置
- 尺度和重力估值(假设没加速度偏置)
- 加速度偏置估计,尺度和重力方向细化
陀螺仪偏置估计
可以利用两个连续关键帧的orientation估计陀螺仪的偏置,假设偏差的变化忽略不计(bias是缓慢变化的量),可以直接对所有的连续关键帧优化常数的bg(最小化陀螺仪的积分和ORB-SLAM计算出来的orientation):尺度和重力估计(没有加速度的偏置)
得到陀螺仪的偏置以后,可以利用预积分得到速度,位置,正确的旋转加速度的测量来补偿陀螺仪的bias。ORB-SLAM计算的相机轨迹具有尺度不确定性,所以在从相机坐标系到IMU的机体坐标系转的时候需要加一个尺度因子:(imu的所有的状态都是在B系下测量得到的)C.加速度偏置估计,尺度和重力细化
D.速度估计
在公式12和19中都是考虑三个连续的关键帧,所以线性的系统中就没有3N个额外的未知的速度,现在所有的速度都可以用公式18在重力、尺度和偏置已知的情况下来计算。为了计算最近几帧的速度,这里用公式3。E.重定位后的bias重新初始化
当系统重新初始化的时候,利用公式9重新初始化陀螺仪偏置,利用公式19重新初始化加速度计偏置,尺度和重力是已知的。利用二十个关键帧来初始化这两个偏置。备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区本文仅做学术分享,如有侵权,请联系删文。下载1在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。下载2在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。下载3在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近2000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、可答疑解惑、助你高效解决问题觉得有用,麻烦给个赞和在看~![640?wx_fmt=gif](https://mmbiz.qpic.cn/mmbiz_gif/gYUsOT36vfpFnEj3CMde0iaOKfGiaAmbfRRPePWld5pUR0niaibYOvNP5cx7nKS5I6180xeya4ZIYJClvHqSpQecqA/640?wx_fmt=gif)
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK