点击上方“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天内无条件退款

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

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

ORBBuf : 一种鲁棒的视觉SLAM缓冲方法相关推荐

  1. ORBBuf : 一种鲁棒的协同视觉SLAM缓冲方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 协同同时定位和建图方法为基于嵌入式设备的自主机器人提供了一种解决方案.另一方面,视觉SLAM ...

  2. Ultimate SLAM:结合事件、图像和惯性测量单元,在HDR和高速场景下实现鲁棒的视觉SLAM...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 事件摄像机是受生物启发的视觉传感器,输出像素级亮度变化,而不是标准亮度帧.这些相机不会受到运 ...

  3. 2017CVPR NID-SLAM:基于归一化信息距离的鲁棒单目SLAM系统

    原作:Geoffrey Pascoe 翻译:Frank 转载请注明出处 水平有限,错误请指出 NID-SLAM:基于归一化信息距离的鲁棒单目SLAM系统 摘要 本文提出了一种基于归一化信息距离(NID ...

  4. RoBERTa:一种鲁棒地优化BERT预训练的方法

    RoBERTa:一种鲁棒地优化BERT预训练的方法 文章目录 RoBERTa:一种鲁棒地优化BERT预训练的方法 前言 背景 实验 静态 VS 动态 Masking 输入形式与NSP任务 更大的bat ...

  5. CoBigICP:一种基于相关熵以及双向匹配的鲁棒且准确的配准方法

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 标题:CoBigICP: Robust and Precise Point Set Registrat ...

  6. VINS-Mono:一种鲁棒且通用的单目视觉惯性系统

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 Part 1. 基本信息 本文提出了一种基于紧耦合滑动窗口非线性优化方法的单目视觉-惯性系统,来自港科 ...

  7. 单目相机 svd 从图像恢复3维位置_论文学习——VINSMono:一种鲁棒且通用的单目视觉惯性系统...

    点击上方"视觉部落",选择"星标"公众号 精选作品,第一时间送达 文章同步首发于知乎用户yikang专栏 Part 1. 基本信息 本文提出了一种基于紧耦合滑动 ...

  8. 八种常用激光雷达和视觉SLAM算法的评估与比较

    文章:Evaluation and comparison of eight popular Lidar and Visual SLAM algorithms 作者:Bharath Garigipati ...

  9. H2K-一种鲁棒且较佳的花生叶疾病检测和分类方法

    1.研究思路 提出了一种基于图像处理的花生叶部病害自动识别和分类方法.提出的方法H2K融合了Harris角点检测器.HOG(方向梯度直方图)和KNN分类器,用于花生叶片病害的准确检测和分类.它包括许多 ...

最新文章

  1. Linux基础命令---shutdown
  2. python入门经典例题-Python入门_列表练习题
  3. 表的基本查询(数据库篇)
  4. soapui返回值类型都有哪些_货架的类型都有哪些呢
  5. 【Matlab】模式识别——聚类算法集锦
  6. 信息学奥赛C++语言: 求小数的某一位
  7. C语言decompose函数,R语言使用decompose函数进行时间序列的波动趋势分解
  8. 物流软件之Microcity介绍
  9. HTTP 协议中的长连接和短连接
  10. 基于SSM的图书馆管理系统
  11. 团队管理(一)-会议纪要的高效记录和执行
  12. C#向PPT文档插入图片以及导出图片
  13. 第39级台阶回溯算法c语言,回溯39级台阶
  14. 苹果home兼容问题修改--苹果fixed定位被遮挡-或者距离太近
  15. world添加水印java,Java添加水印到Word文档
  16. linux Nginx服务的安装及使用
  17. 苹果推出iOS15.2正式版,“数字遗产”计划正式上线,你的“继承人”是谁?
  18. bmap地图api删除路线
  19. Outlook Express邮件丢失问题解决方法之一
  20. Qt编程公众号二维码

热门文章

  1. [20170206]为什么少1个段.txt
  2. 微软职位内部推荐-Principal Dev Manager
  3. 魔兽War3按键精灵Ⅱ(2012-9-4)
  4. UNICODE字符集表
  5. 18000 台服务器整整瘫痪了三天:因 BoltDB 糟糕的设计
  6. 某大龄程序员哀叹:夫妻双失业后还不起房贷,被迫断供!四年还了80万,60多万都是利息!...
  7. 可视化与遗留系统的微服务改造
  8. 美团一面,看看你能否回答上来?
  9. 揭秘 Uber API 网关的架构,建议收藏!
  10. 深度学习技术在美图个性化推荐的应用实践