DOT: Dynamic Object Tracking for Visual SLAM 论文笔记

DOT: Dynamic Object Tracking for Visual SLAM 论文笔记

Abstract 摘要

DOT(动态对象跟踪),这是一种添加到现有 SLAM 系统的前端,可以显着提高其在高动态环境中的鲁棒性和准确性。 DOT 结合实例分割和多视图几何为动态对象生成掩码,以允许基于刚性场景模型的 SLAM 系统在优化时避免此类图像区域。

为了判断潜在动态对象实际是否移动,DOT 分割潜在动态对象的第一个实例,然后使用估计的相机运动,通过最小化光度重投影误差来跟踪这些对象。最后,只生成实际的动态掩码。

实验结果表明,我们的方法显著提高了 ORB-SLAM 2 的准确性和鲁棒性,尤其是在高动态场景中。

Relate Work 相关工作

作者将动态环境中的SLAM分为三类:

  • 第一类是最普遍的一类,将场景建模为一组非刚性部分,因此包括可变形和动态对象 。虽然这条研究路线是最普遍的,但它也是最具挑战性的一条。
  • 第二类旨在通过仅重建场景的静态部分来提高视觉 SLAM 的准确性和鲁棒性。动态对象被分割出来并被忽略以进行相机姿态跟踪和地图估计。例如Dyna SLAM
  • 第三类同时跟踪和估计相机和多个动态对象的位姿。在MIDFusion[24]和MaskFusion[19]中,创建每个可能的运动对象的子图,并且执行对象和相机姿势的联合估计。

提到的大多数系统 [24, 1, 19, 11, 2] 都涉及深度学习方法,在某些情况下,由于分割网络的有限频率造成的瓶颈,这些方法目前无法实时实施。

在这项工作中开发的贡献,消除了对所有帧进行分割的要求,这使得系统能够独立于网络的分割频率,从而能够实时实施。

DOT

3.1. System Overview 系统总览

在这里插入图片描述

输入为一定速率的RGB-D或双目立体图像,输出是对场景的动态和静态元素进行编码的mask掩码,可直接用于SLAM或里程计系统

  • 实例分割块(Instanc Segmentation) 对应于以像素为单位分割出所有潜在动态对象的CNN。正如稍后将详细描述的,由于DOT逐帧跟踪掩码,因此不需要在每一帧都执行该操作。

  • 图像处理块(Image Processing) 提取并分离属于图像静态区域的点和属于动态对象的点

  • 对象跟踪块(Object tracking) 仅使用场景的静态部分跟踪相机姿势。并从该块计算相机位姿,独立地估计每个分割对象的运动(对象跟踪)。

  • 运动判断块(Is the object in motion) 使用几何标准确定被网络标记为潜在动态的对象是否确实在移动。此信息用于更新编码每个帧的静态和动态区域的掩码,并为链接的里程计/SLAM 视觉系统提供信息。(该块主要通过多视图几何,判断预先标记的潜在动态对象是否为动态对象)

  • **掩码传播块(Mask Propagation)**DOT 根据对象运动的估计(Mask Propagation)生成新的掩码,因此并非每一帧都需要由网络分割(参见图 3)。鉴于实例分割的大量计算负载,与其他最先进的方法相比,这可能是 DOT 的一个相关优势。
    在这里插入图片描述

图 3. 一段计算流程的示例。上排显示 DOT 估计相机和物体的跟踪。请注意,并非所有帧都需要来自网络的分段掩码(黄色帧)。下面一行显示了由 DOT 生成的对运动分类进行编码的分段掩码:运动中(颜色)、静态(黑色)和未观察到(灰色)。

3.2 Instance Segmentation 实例分割

我们使用深度网络 Detectron2来分割图像中存在的所有潜在可移动实例。网络的输出已被修改,以在单个图像中获得所有分割掩码。未分类为潜在移动类别的图像区域被赋予“背景”标签,并在后续块中被认为是静态的。

使用带有 Mask R-CNN R50-FPN 3x 的CoCo实例分割 Baseline模型,由于人体跟踪超出了本文的范围,因此这些类仅限于那些被认为可能可移动的类,不包括人类

为了在多个帧中一致地跟踪对象,我们在 DOT 计算的掩码和网络提供的掩码之间包括了一个匹配步骤。无法与任何现有对象配对的新检测用于初始化新实例。

3.3. Camera and Object Tracking 相机和对象追踪

从上一步的实例分割中,我们的目标是估计相机的运动和动态对象。

由于相机的运动和物体的运动在图像中是耦合的,我们分两步进行估计。首先,我们将相机的位姿作为一个相对变换 Tc ∈ SE(3),然后我们减去它来估计物体运动 To ∈ SE(3)(欧式变换矩阵李群)

  • Optimization优化:对于相机位姿的计算和物体运动的后续估计,我们进行高斯-牛顿法优化

  • Camera tracking 相机追踪:使用静态场景点 P 和多视图约束 [8] 估计相机运动

  • Object tracking 对象跟踪:跟踪相机位姿Tc后,就可以通过使用属于该对象的图像点 Q 类似地估计每个潜在动态对象的姿态。将潜在动态对象建模为具有位姿 To 的实体。

3.4. Tracking quality,outliers and occlusions 跟踪质量、异常值和遮挡

遮挡、光照条件的变化和分割误差对物体和相机位姿的准确性有显着影响。如算法 1 所示,我们开发了几种策略,我们在对象跟踪步骤之后应用这些策略以减少它们的影响。
在这里插入图片描述

  • Tracking quality 追踪质量:动态对象的外观发生显着变化,产生高跟踪误差。我们使用 Pearson 相关系数(皮尔逊系数) φo ∈ [−1, 1] 来模拟外观相似性。该度量反映了点的参考强度与其相应估计之间的线性相关程度,因此不受增益和偏移变化的影响。请注意,该度量也可以应用于相机跟踪 φc,尽管背景外观的变化通常不太明显。
  • Outlier rejection 离群值拒绝检测异常值的常用方法是定义光度误差的绝对阈值 (3) (5)。更复杂的工作 [5] 根据中值残差、运动模糊或光照变化对其进行调整。如图 4 所示,我们建议设置相对于强度之间的线性关系的阈值,因此误差与图像中的光度变化无关。
  • Occlusions遮挡。动态对象可能会相互遮挡。在我们的实验中,将被遮挡的部分作为异常值移除是不够的。我们实施了一种策略,包括从最近到最远跟踪对象,依次更新它们各自的掩码。以这种方式,我们在每次迭代中更新已被较近对象遮挡的较远对象的点。
3.5. Is the object in motion? 判断潜在动态目标是否为处于运动

该块接收相机的变换矩阵 Tc 和物体位姿To 作为输入,并估计物体是否在移动。它的输出供 SLAM或里程计系统使用,是存储动态对象占据的图像区域以及它们是否处于运动状态的掩码。通过使用上一步中估计的 Tc 和 To 将每个对象的像素投影到新帧中来获得掩码。

由于传播的图像噪声,直接在 To 中观察对象运动会产生难以建立确定对象是否在运动中的绝对阈值。在这项工作中,我们选择使用 2D 图像测量来观察物体的运动。我们将我们的度量表示为动态视差,即点的投影(就好像它是静态 点pi 一样)与其实际投影 pi 之间的距离(以像素为单位)。对于每个对象,我们计算其点 p ∈ Q 的动态差异的中值:

一个点的 3D 运动会产生不同的图像运动,这取决于

  1. 其图像坐标
  2. 其深度
  3. 对象运动方向与相机运动之间的相对角度。

从非线性姿态优化(见方程(1))我们可以推导出物体运动估计的不确定性
在这里插入图片描述
)]

假设一个k维高斯分布,其微分熵为:

在这里插入图片描述

微分熵可以看作是从光度残差最小化得出的位姿不确定性。

基于此,用于对物体运动进行分类的算法工作如下。我们将动态视差与随熵平稳增长的可变阈值 Δd = f(H(x)) 进行比较。我们将所有动态视差超过此阈值(dd > Δd)的对象标记为“运动中”。对于低于熵阈值 Hmin 的每个值,我们假设无法观察到对象运动。因此,将对象标记为静态要求运动是可观察的(H(x) > Hmin),并且动态视差的中值小于可变阈值(dd < Δd)。

3.6 Mask propagation 掩膜传播

DOT 利用每一帧中可用的两个分割掩码:一个由神经网络产生,另一个从前一帧传播。将一个分割转换到另一个分割允许将在不同帧中找到的实例稳健地关联到同一个 3D 对象。

  • State propagation 状态传播

    将新的语义实例与预先存在的对象相关联使我们能够预测它们的运动(这对于快速移动的对象至关重要)。此外,在物体移动到运动不可观察的位置的情况下,可以保持运动的分类(参见第 3.3 节)。

  • Independent segmentation 独立分割

    我们的提议允许从初始种子随时间和空间传播语义分割掩码,从而无需分割每一帧。以较低的频率运行神经网络来使实时对象跟踪在低成本平台更容易。而且,DOT 能够填补网络暂时丢失连续图像之间对象实例化的空白

Experimental results 实验结果

比较了三种SLAM系统

  • ORB-SLAM2原系统无改动。
  • 加入DOT的ORB-SLAM2。
  • 将所有实例分割的结果都输入ORB-SLAM2,对所有潜在动态对象都进行去除。
    部分实验图如图所示:
    在这里插入图片描述

在高动态的数据集上DOT的RMSE误差最小,所有动态点去除的SLAM系统相比ORB-SLAM2误差有所下降,但是也高于DOT。

但是作者的实验部分没有测试运行加入DOT后SLAM系统处理的时间是否有优化。应该是加入DOT后,实时性相对于ORB-SLAM2有所下降

Conclusions 结论

DOT 是 SLAM 系统的一种新颖的前端算法,它通过结合实例分割和多视图几何方程来稳健地检测和跟踪移动对象。

DOT 与 SLAM 的独立性使其成为一个多功能前端,只需最少的集成工作即可适应任何最先进的视觉里程计或 SLAM 系统。与其他系统不同,DOT 的掩模跟踪降低了应该进行分割(通常涉及高计算成本)的速率,从而减少了相对于现有技术的计算需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值