ORBBuf : 一种鲁棒的视觉SLAM缓冲方法

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

编辑丨当SLAM遇见小王同学


声明: 本文只是个人学习记录,侵权可删。论文版权与著作权等全归原作者所有,小王自觉遵守《中华人民共和国著作权法》与《伯尔尼公约》等国内外相关法律,本文禁止转载!!

由不可靠的网络引起的数据丢失严重影响了远程可视SLAM系统的结果。根据实验,少于1秒的数据丢失会导致视觉SLAM算法失败。作者提出一种新颖的缓冲方法ORBBuf,以减少数据丢失对远程视觉SLAM系统的影响。通过在帧之间引入相似性度量,将缓冲问题建模为优化问题,并使用高效的贪婪算法将帧丢弃,从而使SLAM结果的质量损失最小。通过对真实场景和数据集的广泛评估,验证了ORBBuf方法可以应用于不同的状态估计算法(DSO和VINS-Fusion)、不同的传感器数据(单目图像和双目图像)、不同场景(室内和室外)以及不同的网络环境(WiFi网络和4G网络)。实验结果表明,网络损耗确实会影响SLAM结果,并且与DropOldest和Random缓冲方法相比,ORBBuf方法最多可以将RMSE降低50倍。

1

介绍

定位与建图任务在计算上非常昂贵,尤其是对于同时具有功耗和内存限制的嵌入式设备。在集中式服务器上执行这些计算的远程可视SLAM系统可以克服这些限制。另一方面,许多应用程序将一个或多个机器人用于特定任务,包括3D场景重建和景观探索。远程视觉SLAM系统中的集中式服务器可用于执行计算并从一个或多个机器人收集视觉信息。因此,远程视觉SLAM已成为一个新兴的研究主题。

在远程视觉SLAM系统中,机器人将收集到的视觉数据(例如图像或3D点云)传输到高性能服务器。这需要较高的网络带宽和网络可靠性。例如,以30 fps(每秒帧数)传输未压缩的1080p图像需要1.4Gbps的网络带宽,而商用WiFI路由器最多只能提供54Mbps的带宽。

网络连接,尤其是无线连接(例如通过WiFi或4G)并不总是可靠的。一项详细的测量研究显示,由于隧道,大型建筑物或总体覆盖范围较差,数十秒内可能发生吞吐量降低甚至网络中断的情况。随着5G的到来,网络带宽和延迟的问题将得到缓解,但是由于覆盖范围较差而导致的不可靠性仍然存在。

2

概述

在本文中,作者解决了网络可靠性问题可能对远程可视SLAM系统的准确性产生相当大的影响。为了验证,构建了一个远程可视SLAM系统,该系统通过公共WiFi路由器将Turtlebot3和服务器连接起来。如图1(a)所示,机器人在实验室周围移动。作者将相机固定在机器人的顶部,捕获的图像通过公共WiFi路由器传输到服务器。作者发现服务器上的SLAM算法在某些特定位置反复失败。在这些位置,网络连接非常不可靠(可能已受到周围金属桌的影响)。为了容忍这种网络不可靠性,一种常见的解决方案是缓冲。当网络不可靠时,机器人会将新帧放入其缓冲区中,并等待将来的传输。由于这种不可靠性持续存在,因此缓冲区已满,并且缓冲方法负责确定应丢弃哪些帧。作者尝试了两种常用的缓冲方法(Drop-Oldest和Random [7]),但是SLAM算法在两种情况下均失败(如图1(b)和(c)所示)。

真实世界方案的实验结果表明,网络中断确实会影响SLAM结果,并且ORBBuf方法可以大大缓解这种影响。本文的主要贡献包括:

  • 解决了远程可视SLAM的网络可靠性问题。通过引入相似性概念,将缓冲问题建模为优化问题

  • 研究揭示了SLAM算法在很大程度上依赖于连续输入帧之间的相关性,并使用该研究提出了一种新颖的相似性度量。

  • 基于ROS实现ORBBuf方法,并且它将为社区的利益而开源

  • 通过对现实世界场景和数十GB的3D视觉数据集的广泛评估,证明了ORBBuf方法可以应用于不同的状态估计算法以及不同的网络环境(WiFi网络和4G网络)。实验结果表明,使用ORBBuf方法最多可以将RMSE(均方根误差)降低50倍。

3

实验

作者进行了三个实验。在这些实验中,采用了不同种类的网络情况,不同的SLAM算法和不同种类的输入数据。

为了显示实际结果,我们的实验是完全在实际硬件上在线进行的。作者将一台笔记本电脑与Intel Core i7-8750H @ 2.20GHz 12x CPU,16GB内存以及GeForce GTX 1080 GPU用作SLAM服务器。在前两个实验中,使用了大型视觉数据集。作者使用不支持GPU的笔记本电脑来重播每个数据序列,并将其传输到服务器。所有软件模块均与ROS中间件连接。ROS版本是Ubuntu 16.04上的Lunar。

 1   模拟网络中断

在本实验中,使用TUM monoVO 数据集作为输入数据序列,并在SLAM服务器上运行DSO 算法。所有数据序列均以25 fps的速度重放,并且缓冲区大小设置为1秒。TUM monoVO数据集是一个大型室内数据集,其中包含使用校准的单眼相机捕获的50个真实世界序列(总计43GB)。此数据集中的所有图像都压缩为.jpg文件,分辨率为1280x1024。机器人和服务器通过真实的54Mbps WiFi路由器连接。为了模拟网络中断,通过添加三个新参数来修改数据序列重播模块。在传输指定的帧“ Intr”之前,作者使用tc命令模拟网络中断,从而向网络添加T毫秒的延迟,其中每个网络中断的时间持续L帧。在此实验期间,网络等待时间T设置为1000毫秒,网络中断持续时间L设置为50帧。

表I给出了数字评估结果。在该表中,“ Seq”表示数据集中的序列号,“ Size”表示数据序列的总大小,“ Frames”表示帧的总数,“ Intr”表示发生网络中断时的帧,“ Points” ”表示基本事实结果中的点总数,“Policy”表示使用的缓冲方法,“ Cnt”表示使用缓冲方法时结果中的点数,“Percent”表示完整性(Cnt除以点数),“Mean”表示相应点之间的平均误差距离,“ Std”表示误差距离的标准偏差。图5显示了两个可视化结果。

可以看到,当使用Drop-Oldest方法时,SLAM算法最有可能在发生网络中断时失败(百分比很低)。使用随机方法时,SLAM算法在某些情况下仍会失败。当使用ORBBuf方法时,SLAM算法在所有情况下都成功,并且对应点之间的误差距离小于其他成功情况。

 2   收集的4G网络跟踪

在本实验中,使用KITTI 数据集作为输入数据序列,并在服务器上运行VINS-Fusion 等算法。KITTI数据集是一个大型室外数据集,包含22个现实世界序列(总计22.5GB)。该数据集中的所有图像均为.png文件,分辨率为1241x376。在此实验过程中,所有数据序列均以10 fps的速度重放,并且缓冲区大小设置为2秒。机器人和服务器通过网络电缆连接,以最小化其他因素。

表II给出了数字评估结果。在该表中,“ Seq”表示数据集中的序列号,“ Size”表示数据序列的总大小,“ Frames”表示帧的总数,“ Net Trace”表示网络跟踪,“ RMSE”表示使用缓冲方法的地面真实情况与结果之间的均方根误差。图6显示了两个可视化结果。

VINS-Fusion算法从不警告故障,但结果可能非常不稳定。当使用Drop-Oldest方法时,所得的RMSE值相对较大。当使用ORBBuf方法时,所得到的轨迹更符合地面真实情况,并且RMSE值最多降低了50倍。

作者进一步测试了更改缓冲区大小的效果。使用KITTI数据集的序列号00和带有不同缓冲区大小的标记为Car02的网络迹线重复该实验。将每个测试重复10次,结果总结在图7的方框图中。使用Drop-Oldest方法时,当缓冲区大小增加到30或更大时,所得的RMSE变低。当使用ORBBuf方法,由于缓冲区大小为15或更大,因此生成的RMSE变低。当使用随机方法时,即使缓冲区大小为35,结果RMSE也不稳定。此结果表明,ORBBuf方法可以在较小缓冲区大小的情况下容忍相同级别的网络不可靠性

此外,在实验期间测试了ORBBuf方法的运行时间。由于ORBBuf方法将ORB功能的计算引入到消息入队例程中,因此引入了一些时间开销。在上一个实验中,作者记录了入帧的时间。使用KITTI数据集的序列00和标记为Car02的网络跟踪的结果如图8所示。该结果与使用的网络跟踪有关。当网络稳定时,根本不会引入任何时间开销。当网络带宽不足或发生网络中断时,ORBBuf方法开始计算ORB功能。在最坏的情况下,ORBBuf方法会引入大约23ms的开销,这不会影响定期数据传输(即本实验中为10 Hz,下一个实验中为25Hz)。

 3   现实世界网络

在此实验中,作者构建了具有Raspberry Pi和1GB内存的Turtlebot3 Burger。Turtlebot顶部的摄像头捕获的图像通过公共WiFi路由器传输到服务器。在服务器上运行DSO算法,并在使用不同的缓冲方法时使用蓝牙键盘控制机器人沿相同路径移动。结果如图1所示。使用DropOldest和Random方法时,SLAM算法会丢失其轨迹。使用ORBBuf方法时,SLAM算法可以成功估计正确的轨迹(红色曲线)并构建稀疏的3D地图(白点)。

总的来说,实验已经证明ORBBuf方法可以用于不同类型的网络情况,并且可以适应不同类型的输入传感器数据。网络中断确实会影响远程SLAM系统,并且在使用ORBBuf方法之后,SLAM系统对网络的不可靠性变得更加强大。

 4   其他结果

4

结论

作者提出了一种用于远程视觉SLAM系统的新型缓冲方法。通过考虑缓冲区内部帧之间的相似性,提出的缓冲方法有助于克服网络中断。将ORBBuf方法与常用的通信中间件ROS集成在一起。实验结果表明,与Drop-Oldest和Random缓冲方法相比,ORBBuf方法可帮助视觉SLAM算法更可靠地抵御网络不可靠性,并将RMSE降低多达50倍。

总体而言,为了抵制网络的不可靠性,作者的工作在缓冲方法中考虑了视觉帧之间的相关性。还有望进一步考虑机器人的运动计划。

本文仅做学术分享,如有侵权,请联系删文。

下载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视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

 圈里有高质量教程资料、可答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

3D视觉工坊 CSDN认证博客专家 算法 3D视觉
个人公众号:3D视觉工坊。公众号特邀嘉宾及合伙人,先后就职于国内知名研究机构、自动驾驶公司、海康研究院,主要研究方向为深度学习、目标检测、语义分割、图像处理、自动驾驶感知算法等,CSDN博客专家。博主先后任职于国内知名研究院、知名大厂,致力于3D视觉算法、VLAM算法开发,涉及相机标定、手眼标定、结构光、点云后处理、三维重建等相关领域的研究,同时也是CSDN博客专家。3D视觉工坊坚持原创,近一年来输出了非常多的高质量文章,获得了粉丝的一致好评,我们将始终坚持走原创路线,打造一个铁杆粉丝的聚集区。
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页
实付 49.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值