点击上方“计算机视觉life”,选择“星标”
快速获得最新干货
协同同时定位和建图方法为基于嵌入式设备的自主机器人提供了一种解决方案.另一方面,视觉SLAM系统依赖于视觉帧之间的相关性.因此,来自不可靠无线网络的可视帧的丢失很容易损害协作可视SLAM系统的结果.
从我们的实验来看,丢失不到1秒的数据会导致可视化SLAM算法的失败.我们提出了一种新的缓冲方法-ORBBuf,以减少数据丢失对协同视觉SLAM系统的影响.
我们将缓冲问题建模转化为优化问题,我们使用了一种高效的类似贪婪的算法,我们的缓冲方法丢弃了对SLAM结果损失最小的帧,我们在ROS上实现我们的ORBBuf方法.通过对真实场景和数据集的广泛评估,我们证明了ORBBuf方法可以应用于不同的算法、不同的传感器数据(单目图像和立体图像)、不同的场景(室内和室外)和不同的网络环境(WiFi网络和4G网络).实验结果表明,网络中断确实会影响SLAM的结果,我们的ORBBuf方法可以将RMSE降低50倍.
现实世界中SLAM实验的结果是用一个TurtleBot3和一个服务器运行的,图a是我们实验室的一张照片.图b用ROS接收机器人的视觉数据来运行SLAM算法,但由于WiFi不可靠(左边的门完全没了)而失败.图c采用随机缓冲法也失败了.图d通过使用我们的ORBBuf方法,SLAM算法成功地估计了正确的轨迹(红色曲线)并建立了稀疏的3D地图(白色点).
下图是两个可视化结果,TUM数据集的序列1和序列11都是从包括房间和走廊的室内场景中收集的.灰色点代表基本事实,红色点代表大误差,蓝色点代表小误差.
表一给出了数值评估结果,在该表中,“Seq”表示数据集中的序列号,“Size”表示数据序列的总大小,“Frames”表示帧的总数量,“Intr”表示网络中断发生时的帧,“points”表示地面真实结果中的总点数,“Policy”表示所使用的缓冲方法,“Cnt”表示使用缓冲方法时结果中的点数,“Percent”表示完整性(Cnt除以Points),“Mean”表示相应点之间的平均误差距离,“Std”表示误差距离的标准偏差, 上图也显示了两个可视化结果.
表二给出了数值评估结果.在该表中,“序列”表示数据集中的序列号,“大小”表示数据序列的总大小,“帧”表示帧的总数量,“网络跟踪”表示网络跟踪,“RMSE”表示基础事实和使用缓冲方法的结果之间的均方根误差,下图也显示了两个可视化结果.
从图可知,VINS-Fusion结果非常不稳定.如我们所见,当使用丢弃-最旧的方法时,产生的RMSE值相对较大.当使用我们的ORBBuf方法时,得到的轨迹更符合地面真实情况,RMSE值减少了50倍.
我们进一步测试了改变缓冲区大小的效果,我们使用KITTI数据集的序列00和具有不同缓冲区大小的标记为Car02的网络轨迹重复实验,我们将每个测试重复10次,结果总结在图7的方框图中.
当使用丢弃最旧的方法,当缓冲区大小增加到30或更多时,产生的RMSE变低.当使用我们的ORBBuf方法时,由于缓冲区大小为15或更大,结果RMSE变低.当使用随机方法时,产生的RMSE不稳定,即使缓冲区大小为35.这一结果表明,我们的ORBBuf方法可以容忍相同级别的网络不可靠性与较小的缓冲区大小.
总的来说,我们已经表明ORBBuf方法可以用于不同类型的网络情况,并且可以适应不同类型的输入传感器数据.网络中断确实会影响协作式SLAM系统,在使用我们的ORBBuf方法后,SLAM系统变得更加强大,能够抵御网络不可靠性。
从0到1学习SLAM,戳↓
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
投稿、合作也欢迎联系:simiter@126.com
扫描关注视频号,看最新技术落地及开源方案视频秀 ↓