Dynamic-VINS论文阅读

RGB-D Inertial Odometry for a Resource-Restricted Robot in Dynamic Environments
2022年IROS录用,哈尔滨工业大学工作。
在VINS-Mono的基础上加入YoloV3的目标检测算法,对动态目标进行检测和剔除,可以在嵌入式计算机上进行实时计算,定位结果良好。

摘要

现有的同步定位与映射(SLAM)算法在静态环境中性能良好,但在动态环境中容易失效。最近的研究将基于深度学习的语义信息引入SLAM系统,以减少动态对象的影响。然而,资源受限机器人在动态环境下的鲁棒定位仍然具有挑战性。本文提出了一种动态环境下资源受限机器人的实时RGB-D惯性里程测量系统——Dynamic-VINS。
三个主线程并行运行:目标检测、特征跟踪和状态优化。所提出的Dynamic-VINS将目标检测和深度信息结合起来进行动态特征识别,并达到了与语义分割相当的性能。Dynamic-VINS采用基于网格的特征检测,提出了一种快速高效的FAST特征点提取方法。将IMU应用于运动预测,进行特征跟踪和运动一致性检测。该方法在公共数据集和实际应用上进行了评估,在动态环境中显示出具有竞争力的定位精度和鲁棒性。据我们所知,它是目前动态环境下资源受限平台上性能最好的实时RGB-D惯性里程计。

系统框架

在这里插入图片描述
彩色图像被传递给对象检测线程和特征跟踪线程。两个连续帧之间的IMU测量值被预积分,用于特征跟踪、移动一致性检查和状态优化。

方法

  1. 特征匹配
    在这里插入图片描述
    对于每帧传入的图像,使用KLT稀疏光流方法跟踪特征点。本文利用帧间的IMU测量来预测特征的运动。提供更好的特征初始位置估计,提高了特征跟踪效率。它可以有效地丢弃噪声带来的不稳定特征和运动不一致的动态特征。
    1)根据IMU预积分预测特征点在新帧中的位置
    2)以预测位置作为初始值进行光流跟踪迭代的初始值
    3)跟踪成功标为红色,失败标为紫色
    4)对于跟踪成功的点(即稳定的特征点),以特征点中心建立橙色圆形mask;跟踪失败的点(即不稳定特征点),以特征点中心建立紫色圆形mask
    5)接下来在mask以外区域进行特征检测以补充特征点
    上述方法可以获得均匀分布的特征,避免在纹理模糊或弱的区域上重复提取不稳定的特征。
  2. 基于网格的特征检测
    为了稳定,系统保持最少数量的特性。因此,需要不断地从帧中提取特征点。该文采用基于网格的特征检测。将图像划分为网格,并对每个网格的边界进行填充,以防止网格边缘的特征被忽略;填充使当前网格能够获取相邻像素信息进行特征检测。
    与遍历整个图像来检测特征不同,只有匹配特征不足的网格才会进行特征检测。由于纹理较弱或被mask覆盖而无法检测到特征的网格单元将在下一帧检测中跳过,避免重复无用检测。采用线程池技术,提高了基于网格的特征检测的并行性能。因此,在不损失的情况下,显著减少了特征检测的时间。
  3. 动态特征识别
    动态目标的长期特征跟踪会伴随异常运动,引入错误的约束。使用YoloV3检测动态元素,如人和车。如果检测到的边界框覆盖了图像的较大区域,盲目删除边界框中的特征点可能会导致没有可用的特征来提供约束。因此,类语义分割有助于跟踪不被动态对象遮挡的特征,从而维持系统的运行。
    因此,将检测到的边界框中的点与深度信息相结合。
    在这里插入图片描述
    大部分动态对象的边界框上的角点都是背景点,且背景点与动态目标点的深度值相差较大。定义第k个动态目标的背景最大深度:在这里插入图片描述
    定义第k个动态边界框的深度阈值,介于边界框中心点深度与背景最大深度值之间:
    在这里插入图片描述
    在动态分割区域内将第k个动态对象区域设为加权深度(即计算得到的深度阈值),其他区域设为0。每个检测的特征点的深度与该区域的深度阈值做对比,特征点深度小于该区域阈值,则认为是动态特征点。
    考虑到动态对象可能长期存在于视场中,因此对动态特征进行跟踪而不用于姿态估计,而不是直接删除动态特征。每个特征跟踪线程传入的特征点将被判断是否为历史动态特征。该方法可以避免盲目删除特征点,同时保证效率。它可以节省动态目标特征检测的时间,对目标检测的漏检具有鲁棒性,并可回收假阳性动态特征。
  4. 错失特征补偿
    由于目标检测有时可能失败,本文提出的VINS利用之前的检测结果来预测接下来的检测结果,以弥补遗漏的检测。假设相邻帧中的动态对象具有一致的运动。一旦动态物体被检测到,它的像素速度和包围框将被更新。
    定义第k个动态目标(中心点)在相邻帧间的移动速度:
    在这里插入图片描述
    在新帧下的预测值:
    在这里插入图片描述
    若新帧未检测到该动态目标,则根据预测值预测该目标在新帧下的位置:
    在这里插入图片描述
    当连续时间阈值下检测不到时,放弃该动态对象的补偿。该方法提高了检测的查全率,有利于动态特征识别的一致性。
  5. 运动一致性检测
    由于物体检测只能识别人为定义的动态物体,存在漏检问题,状态优化仍然会受到未知移动物体的影响,比如人移动的书籍。Dyna-VINS将IMU预测的姿态与优化后的滑动窗口姿态相结合,实现动态特征识别。
    定义重投影误差:
    在这里插入图片描述
    重投影误差大于阈值则被认为是动态特征。

实验

  1. OpenLORIS数据集
    在这里插入图片描述
    黑点表示一个序列的开始。蓝点表示系统成功初始化时刻,蓝线表示系统成功跟踪跨度。office为静态场景,corridor,home包含无纹理的墙面和昏暗的灯光,home,cafe有一些坐着的人和小幅度运动,market包含大量行人和不可预测的运动物体,并场景最大
  2. TUM RGB-D 数据集
    该数据集无IMU数据,因此把Dyna-VINS简单地去掉了IMU部分。
    在这里插入图片描述
    消融实验:
    在这里插入图片描述
    CIRCULAR MASK:导致提取均匀分布的特征点失败
    OBJECT DETECTION:导致动态特征引入错误约束
    SEG-LIKE MASK:屏蔽整个动态框,说明背景特征有助于系统尽可能多的维持稳定特征点
  3. 运行时间分析
    在这里插入图片描述
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值