点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者丨paopaoslam
来源丨泡泡机器人SLAM
标题:HybVIO: Pushing the Limits of Real-time Visual-inertial Odometry
作者:Otto Seiskari, Pekka Rantalankila, Juho Kannala, Jerry Ylilammi, Esa Rahtu, and Arno Solin
机构:Spectacular AI Helsinki, Finland
来源:IEEE 2022
编译:介来拉石
审核: 朱虎
摘要
大家好,今天为大家带来的文章是 HybVIO: Pushing the Limits of Real-time Visual-inertial Odometry
我们提出了一种将基于滤波的视觉惯性里程计(VIO)与基于优化的SLAM相结合的新型混合方法HybVIO。我们的方法的核心是高度鲁棒、独立的VIO,具有改进的IMU偏差建模、异常值抑制、平稳性检测和特征轨迹选择,可调整以在嵌入式硬件上运行。通过松散耦合的SLAM模块实现长期一致性。在学术基准测试中,我们的解决方案在所有类别中都能产生优异的性能,特别是在实时用例中,我们的表现优于当前最先进的技术。我们还使用自定义数据集演示了VIO在消费级硬件上用于车辆跟踪的可行性,并与当前的商用VISLAM替代方案相比显示了良好的性能。
主要工作与贡献
1.我们将概率惯性视觉里程计(PIVO)方法从单目扩展到立体。
2. 我们用Orstein-Uhlembeck(奥恩斯坦-乌伦贝克过程)随机游走过程改进了PIVO中的IMU偏差建模。
3. 我们推导了改进的离群点检测、平稳性检测和特征轨迹选择机制,这些机制利用了概率框架的独特特性。
4. 我们提出了一种新的混合自我运动估计方法,其中基于扩展卡尔曼滤波的VIO与基于优化的SLAM相结合。
算法流程
VIO状态描述符号设定
与文献[34]和[18]相同,tk时刻的VIO状态向量设定为如式子(1),其中Π是最近一个IMU和一个固定窗口大小照片对应的IMU位姿;其余三个参数分别是当前速度、IMU的偏差以及IMU和camera之间的时移。
IMU传播模型
公式2为IMU的递推模型,其中的fk方程则通过公式3的方程对位姿和速度进行更新。公式4则是论文作者设定的IMU 偏差模型,具体公式原理过程可细看论文。
特征跟踪
与文献[18]类似,视觉更新基于从多个相机帧查看特定点特征所产生的约束。首先利用良好特征跟踪算法(例如GFTT和FAST)来检测初始特征集,随后使用LK光流法在连续帧之间跟踪。同时使用之前三角化的3D位置的重投影作为LK跟踪器的初始值,这能提高其准确性和鲁棒性,尤其是在快速相机移动期间。
论文中关于特征跟踪部分的一些思想与[34]类似 ,而与[34]不同的是,还使用了[22]中描述的3点立体RANSAC方法,或者在单目情况下,使用2点(仅旋转,参见[13])和5点RANSAC方法[21]的混合方法来剔除异常特征 。
具体算法流程
平稳性检测
常见的重要特殊情况,即被跟踪设备几乎静止,需要在类似MSCKF的方法中特别注意。特别是,当设备处于静止状态时,姿势增强方案以秒为单位。姿势增强可能会迅速导致姿势轨迹退化为单个点的na(几乎)相同副本,这可能会破坏系统的稳定性。这一点在单目场景中尤为重要,因为三角测量基线因此接近于零。
论文遵循了[26]中介绍的方法,其中某些帧被归类为静止帧,而不是永久存储在姿势轨迹中。由此,系统在连续帧之间的像素坐标中评估跟踪特征的移动。
即:如果有一个阈值m(min)满足公式19,就执行姿势增强取消操作(公式20)作为EKF的预测步骤。
SLAM 模块
在较高的层次上,我们的方法由两个松散耦合的模块组成:基于滤波的VIO模块(在前面的章节中描述),以及一个可选的、基于优化的SLAM模块(使用VIO作为输入)。
实验与结果分析
我们在三个学术基准中将我们的方法与目前的水平[5,24,28,41,42]进行了比较。两种基线方法OKVIS[15]和PIVO[34]也被纳入其中,OKVIS[15]在所有这些方法中都报告了结果,PIVO[34]是最相似的方法。在[5]和[41]中可以找到更全面的比较,包括旧方法和纯视觉方法,这也是表2和表4中其他方法结果的主要来源。
A. EuRoC MAV
表2给出了EuRoC MA V[4]的结果。与[41]类似,我们明确区分了在线和后期处理的案例。前者对应于使用迄今为止看到的数据实时估计当前设备姿势。后者也称为映射模式,旨在使用序列中的所有数据生成精确的后处理轨迹。
在表3中,我们检查了表1中详述的四种不同配置的精度和计算负载 。
B. 商业比较数据集
为了评估我们的方法与(消费者级)商业解决方案相比的性能,我们使用图3所示的设备收集了一个定制数据集。每个设备都有一个商用VISLAM算法,可以记录其输出,以及设备观察到的摄像头和IMU数据。这使我们能够将我们的方法的准确性与具有相同输入的每个商业方法的输出进行比较。图4显示了两个不同序列的实验输出轨迹:图4a显示了一个车辆测试,设备连接到一辆汽车上,完全如图3所示。在图4b中,相同的装置牢固地连接在一根短杆上,由一个行走的人携带。
5.总结
我们演示了如何将PIVO框架扩展到立体数据,并将其改进为一种高性能的独立VIO方法。此外,我们还展示了一种新的方案,用一个并行、松散耦合的SLAM模块来扩展它。由此产生的混合方法在实时立体跟踪方面优于之前的最新技术。
仅VIO性能的测量也是相关的,因为不同VISLAM能力的相对值取决于用例。例如,在车辆环境中,利用GNSS-VIO融合在GPS中断期间进行跟踪,例如在隧道中;与不确定性量化和远程精度相比,环路闭合或局部视觉一致性可能无关紧要。在这种情况下,我们假设轻量级的VIO比全VISLAM更合适。我们也同样证明了我们的工作在这样用例的车辆跟踪方法的可行性。
在精确性方面略有折衷的情况下,实时性能在树莓Pi上得到了演示,而不使用GPU、VPU或ISP资源,这可以进一步提高视觉处理的速度和能耗。其他方法仅在高端桌面CPU上报告了类似的实时精度。
对于HybVIO方法的开源实现,在https://github.com/SpectacularAI/HybVIO
本文仅做学术分享,如有侵权,请联系删文。
干货下载与学习
后台回复:巴塞罗那自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件
后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf
后台回复:3D视觉课程,即可学习3D视觉领域精品课程
3D视觉精品课程推荐:
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码) 3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进 4.国内首个面向工业级实战的点云处理课程 5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解 6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦 7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化 8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近5000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~