论文笔记(三十三):BundleTrack:6D Pose Tracking for Novel Objects without Instance or Category-Level 3D Modes

BundleTrack:6D Pose Tracking for Novel Objects without Instance or Category-Level 3D Modes

  • 文章概括
  • 摘要
  • I. 介绍
  • II. 相关工作
  • III. 问题的提出
  • IV. 方法
    • A. 传播物体分割
    • B. 关键点检测、匹配和本地注册
    • C. 关键帧选择
    • D. 在线姿势图优化
    • E. 扩充关键帧内存池
  • V. 实验
    • A. 数据集
    • B. NOCS 数据集的结果
    • C. YCBInEOAT 数据集的结果
    • D. 分析
    • VI. 结论

文章概括

作者:Bowen Wen and Kostas Bekris
来源:arXiv:2108.00516v1 [cs.CV] 1 Aug 2021
原文:https://arxiv.org/pdf/2108.00516.pdf
代码、数据和视频:
系列文章目录:
上一篇:
https://blog.csdn.net/xzs1210652636?spm=1000.2115.3001.5343
下一篇:



摘要

跟踪视频序列中物体的 6D 姿态对机器人操纵非常重要。然而,大多数先前的研究通常假定目标物体的 CAD 模型(至少在类别级别上)可用于离线训练或在线模板匹配。这项工作提出了一个用于对新物体进行 6D 姿态跟踪的通用框架–BundleTrack,它在实例或类别层面上都不依赖于三维模型。它利用了深度学习在分割和稳健特征提取方面的最新进展,以及记忆增强姿势图优化在时空一致性方面的互补属性。这样就能在各种具有挑战性的场景(包括明显的遮挡和物体运动)下实现长期、低漂移跟踪。两个公开基准的综合实验表明,所提出的方法明显优于最先进的类别级 6D 跟踪或动态 SLAM 方法。与依赖于对象实例 CAD 模型的先进方法相比,尽管提出的方法降低了信息要求,但仍取得了不相上下的性能。在 CUDA 中的高效实现为整个框架提供了 10Hz 的实时性能。代码见:https: //github.com/wenbowen123/BundleTrack


I. 介绍

机器人操纵通常需要被操纵物体的姿态信息。在某些情况下,这可以通过前向运动学(FK)来实现,即假设物体的运动等同于末端执行器的运动。然而,FK 通常不足以准确估计物体的姿态 [1]。这可能是由于抓取或手持操作过程中的滑动[2],或在交接过程中,或由于吸盘的顺应性(图 1)。在这种情况下,通过视觉数据动态估计物体的姿态是可取的。人们对单图像 6D 姿势估计方法进行了广泛的研究 [3]-[7]。其中一些方法速度很快,可以在每一帧新图像中从头开始重新估计姿势 [8]、[9]。然而,这种方法是多余的,效率较低,导致连续帧的估计不连贯,并对规划和控制产生负面影响。另一方面,给定初始姿势估计值后,通过图像序列跟踪 6D 物体姿势可以提高估计速度,同时利用时间一致性提供连贯、准确的姿势 [10]-[12]。

大多数现有的 6D 物体姿态估计或跟踪方法都假定可以访问对象实例的 3D 模型 [3]、[9]。获取此类实例的三维模型会使归纳新的、未见过的实例变得复杂。为了克服这一限制,最近的研究放宽了这一假设,只需要类别级别的三维模型即可进行 6D 姿态估计 [13]-[16] 或跟踪 [17]。它们通常通过对同一类别的大量 CAD 模型进行训练来实现这一目标。虽然对于以前见过的物体类别已经取得了可喜的成果,但仍然存在局限性。这些方法受到训练数据库中各种类别的限制。流行的三维模型数据库,如 ShapeNet [18] 和 ModelNet40 [19],分别包含 55 和 40 个类别。这还远远不足以涵盖现实世界中的各种物体类别。此外,建立三维模型数据库通常需要大量的人工和专家领域知识,涉及扫描[20]、网格细化[21]或 CAD 设计等步骤。

SLAM 文献中的另一个研究方向是解决动态、物体感知方面的挑战 [23]-[26],即在跟踪动态物体的同时对其进行即时重构,而无需事先建立物体 3D 模型。然而,通过重建进行跟踪 [24], [26] 往往会在将观测数据与错误的姿态估计融合到全局模型中时积累误差。这些错误会对后续帧的模型跟踪产生不利影响。

受上述限制的启发,本研究旨在实现准确、稳健的 6D 姿势跟踪,这种跟踪可适用于没有实例或类别级 3D 模型的新物体。它利用最近在视频分割以及基于学习的关键点检测和匹配方面取得的进展,进行粗略的姿态估计,然后通过记忆增强姿态图优化步骤实现时空一致的姿态输出。具有代表性的历史观测数据不会汇总到一个全局模型中,而是作为关键帧保存在内存池中,为未来的图形提供候选节点,以便与最新观测数据一起实现多对数据关联。通过在 CUDA 中高效实施这一框架,可以实现具有竞争力的运行时间。在图 1 所示的两个大规模公共基准上进行了广泛的实验。定性和定量结果都表明,与现有的先进方法(包括使用实例或类别级三维模型的方法或类似 SLAM 的方法)相比,该方法有了显著改进。


在这里插入图片描述

图 1:顶部:NOCS 数据集 [13] 示例: 目标物体在跟踪过程中离开了摄像机的光斑,但 BundleTrack 无需重新初始化即可保持其估计值。下图 YCBInEOAT 数据集 [22] 示例: 在机械臂取放操作过程中,尽管缺乏纹理、严重的自闭塞以及机械臂和吸盘造成的运动,物体仍被成功跟踪。在此设置中,由于末端执行器的存在,通过前向运动学计算物体姿态并不可靠。

总之,这项工作的贡献如下:

  1. 将各种方法进行新颖的整合,形成一个 6D 姿势跟踪框架,该框架可在不访问实例或类别级 3D 模型的情况下对新物体进行泛化。
  2. 用于低漂移精确 6D 物体姿态跟踪的内存增强姿态图优化。特别是,利用历史观测数据增强内存池,可实现多跳数据关联,并改善一对连续帧之间缺乏对应关系的问题。此外,将关键帧保留为原始节点,而不是汇总到全局模型中,也能显著减少跟踪漂移。
  3. 高效的 CUDA 实现,可在线执行计算量巨大的多对特征匹配以及姿势图优化,用于 6D 物体姿势跟踪(据作者所知,这是第一次)。

这些贡献带来了新的先进性能,在 NOCS 数据集[13]的 "5°5cm "指标下,将之前的最佳准确率从 33.3% 提高到 87.4%,即使与使用类别级三维模型进行训练的方法相比也不遑多让。在 YCBInEOAT 数据集[22]中,即使与使用实例级三维模型的方法[22]相比,它们的性能也不相上下。

II. 相关工作

6D 物体姿态跟踪 - 对于有 CAD 物体模型的设置,6D 姿态跟踪已取得重大进展。其中包括基于手工制作的概率滤波技术[11]、[27]、[28]、优化技术[12]、[29]-[31]和机器学习技术[10]、[22]。然而,这些实例级三维模型需要离线训练或在跟踪过程中进行模型帧注册,这就使得对新实例的泛化变得复杂。最近,一种 6D 姿态跟踪方法[17]将假设放宽到使用三维物体 CAD 模型数据库进行训练的类别级三维模型[18]。在测试过程中,需要识别目标物体类别,并利用该类别的相应网络进行跟踪。这项工作并不局限于此类数据库所能包含的类别数量,而是采用了深度特征,原则上可以在任意二维图像上进行训练。正如随附的实验所显示的那样,它可以泛化到各种新奇的物体。

动态物体感知 SLAM - 为了跟踪动态物体的姿态并将其与静态背景分离,采用了帧模型迭代最接近点 (ICP) 结合色彩 [23]-[26]、概率数据关联 [32] 或三维水平集可能性最大化 [33]。同时,通过将观测到的 RGB-D 数据与新追踪到的姿态聚合在一起,即时重建物体模型。尽管如此,帧模型跟踪对于物体重构仍具有挑战性,因为姿势估计中的误差会转移到重构模型中,并对后续跟踪产生不利影响 [34]。这项工作并不融合观察到的帧,而是将它们作为姿势图中的节点进行维护,从而可以纠正之前错误的估计,并减少长期跟踪中的漂移。在涉及小型、无纹理、扁平或闪亮物体的机器人操纵设置中,上述 SLAM 系列方法也可能面临挑战,因为一对连续帧之间缺乏足够的对应关系。为了改善这一问题,BundleTrack 在当前帧和多个历史帧之间搜索对应关系,包括特征和几何术语,作为姿势图中的边。大量实验证明了它的有效性,包括在这种具有挑战性的操作场景中。

三维手持物体扫描 - 在扫描动态手持物体[35]-[39]方面已经取得了可喜的成果,在这种情况下,需要考虑到物体的运动,这与当前的设置类似。特别是,一个用于机器人操纵的框架[37]可同时执行物体重构和跟踪,这导致了与上述动态 SLAM 方法类似的问题。此外,在卡尔曼滤波框架中还需要前向运动学,这就妨碍了在物体不被机器人操纵器握住的情况下的通用性。虽然估计物体姿态是扫描过程的一部分,但它与在线 6D 姿态跟踪存在主要区别。对于扫描应用而言,外部辅助(包括人机交互或故意运动)是可以接受的 [36]、[38]、[39],但在当前工作中并未假设。此外,在扫描结束时通常会采用耗时的全局优化步骤来完善模型及其姿态,而中间错误的姿态估计和相关帧会被丢弃,不会融合到全局模型中[36], [38], [39]。相比之下,这项工作旨在提供快速、准确的在线姿势跟踪输出。

III. 问题的提出

假设一个刚体没有相应的三维模型,也没有用于训练的类别级三维模型数据库。目标是连续跟踪其相对于开始跟踪时的 6D 姿态变化,即在摄像机帧 中的相对变换 T_{0→} ∈ (3), ∈ {1,2, …,} 。输入如下:

  • _: RGB-D 数据序列_, ∈ {0, …,}.
  • _0:第一幅图像_0 上的二进制掩码,表示要在图像空间中跟踪的目标对象区域。
  • _0^ (可选): 摄像机帧 中的初始姿态。如果目标是恢复物体在 中的绝对姿态,则使用该姿态,否则设为同一姿态。

初始掩码 _0 可以通过多种不同方法获得,用于初始化跟踪。例如,通过语义分割[40]-[42]或非语义方法,如图像分割[43]-[45]、点云分割/聚类[46]、[47]或平面拟合和去除[46]等。

通过在摄像机帧_= _^ =_0^ [(_0){-1}_{0→}_0^] = 0→0∈ (3)中应用相对变换 0→ ,可以在任意时间戳恢复摄像机帧 中的物体姿态。为简单起见,本文其余部分将把 T_ 称为过程的输出,但 _{0→} 是实际计算出的跟踪结果。

IV. 方法

拟议的 BundleTrack 框架概览见图 2。


在这里插入图片描述

图 2:BundleTrack 框架(从左到右):(1) 图像分割网络根据先验图像返回对象掩码;(2)网络检测关键点及其描述符;(3) 对关键点进行匹配,并在连续帧之间进行粗配准,以估算初始相对变换 ˜T;(4) 从内存池中选择关键帧参与姿势图优化;(6) 图像分割网络返回对象掩码。(4) 从记忆库中选择关键帧参与姿态图优化;(5) 在线姿态图优化输出精炼的时空一致姿态T;(6) 如果是丰富多样性的新视角,则将最新帧纳入内存池。

当前观察到的 RGB-D 帧 _ 和上一个时间戳 _{-1} 中计算出的对象分割掩码被转发到视频分割网络,以计算当前的对象掩码 _。分别根据_和_{-1},对_和_{-1}中的目标对象区域进行裁剪、调整大小,并发送到关键点检测网络,以计算关键点和特征描述符。数据关联过程由特征匹配和离群值剪除组成,采用 RANSAC [48] 的方式识别特征对应关系。基于这些对应关系,_{-1} 和 _ 之间的配准可以用闭合形式求解,然后用来提供两个快照之间变换的粗略估计值 ˜T_。作为姿势图优化步骤的一部分,估计值 ˜T_ 用于初始化当前节点 T_。为了定义姿势图的其他节点,会从内存池中选择不超过 K 个关键帧参与优化。K 的选择是为了在效率与准确性之间取得平衡。姿态图边缘包括特征和几何对应关系,这些都是在 GPU 上并行计算的。根据这些信息,姿势图步骤会在线输出当前时间戳 T_ ∈(3)的优化姿势。如果最后一帧对应的是一个新视角,那么它也会被纳入内存池。

A. 传播物体分割

第一步是从背景中分割出对象的图像区域。之前的研究 [24] 使用 Mask-RCNN [49] 来计算视频中每一帧的物体掩码。它独立处理每一帧新图像,效率较低,而且会造成时间上的不一致。

为了避免这些限制,本研究采用了现成的transductive-VOS网络 [50] 进行视频对象分割,该网络是在 Davis 2017 [51] 和 Youtube-VOS [52] 数据集上训练的。该网络利用当前和过去特征嵌入之间密集的长期相似性依赖关系,将之前的对象掩码传播到最新帧。BundleTrack 所需的对象掩码是简单的二进制,即在这里插入图片描述并将目标区域与背景区分开来。唯一的要求是有一个感兴趣的初始掩码 _0。无论是 Transductive-VOS 网络还是 BundleTrack 的后续步骤,都不要求 _0 来自语义/实例分割。因此,根据不同的应用,也可以通过其他方法获得,例如低层图像分割 [43]、[53],点云分割/聚类 [46]、[47],或平面拟合和去除 [46] 等。

虽然目前的实现使用的是 Transductive-VOS 技术,但以下技术并不依赖于这种特定的网络。如果可以通过更简单的方法计算物体掩膜,例如在机器人操纵场景中通过前向运动学计算感兴趣区域 (ROI),然后进行点云过滤[2],则可以替换分割模块。

B. 关键点检测、匹配和本地注册

在连续帧 _{-1} 和 _ 之间进行局部配准,以计算初始姿态 ˜T。为此,需要对每张图像上检测到的关键帧进行对应。之前的研究 [17] 依靠类别级三维模型来学习固定数量的类别级语义关键点,与此不同,本研究旨在使用非特定实例或类别的通用特征。之所以选择 LF-Net [54],是因为它在性能和推理速度之间取得了令人满意的平衡。它只需要在一般的二维图像上进行训练,如本文使用的 ScanNet 数据集[55],并可泛化到新场景。在测试过程中,对于新观察到的帧 _,LF-Net 接收分割图像(第四章 A 节)作为输入。然后,它会输出关键点_, ∈ {0,1, …, - 1}以及特征描述符_ ∈ ^128,其中在所有实验中均为 500。由于上一步的分割可能不够完美,背景中可能会出现离群关键点。因此,通过 RANSAC[48]进行特征匹配和离群点修剪至关重要,在本研究中,RANSAC 在 GPU 上并行执行。每个配准样本由两幅图像之间匹配的 3 对关键点组成。姿态假设是通过最小二乘法从样本中生成的[56]。在对样本进行评估时,离群点对应的变换点对之间的距离要低于阈值,法线形成的角度要在阈值之内。在所有实验中, 和 的值均根据经验设定为 5 和 45°。在 RANSAC 之后,通过 ˜T = T_{-1}-1计算初步姿态,其中 -1是最佳采样对应假设。

C. 关键帧选择

然后在姿势图优化步骤中对 ˜T 进行细化。为了提高效率,参与优化的关键帧数量限制在  6 K,其中 K = 15是实验中使用的数量。当关键帧内存池 N的大小大于 K 时,目标是找到相互视图重叠度最大的一组关键帧,以充分利用多视图一致性。这一挑战可表述为边缘加权图的最小 H 子图问题 [57]:
在这里插入图片描述

其中,_ 是相应关键帧姿势的旋转矩阵。我们的目标是找到最佳的二进制向量 ∈ ^ 来表示选择。帧对(, )之间边缘的权重是它们旋转的大地距离。当相对于摄像机的相互旋转差最小时,相互观看重叠度最大。解决这一问题的组合优化算法的复杂度为(N K/N )[57]。在实际操作中,我们会从关键帧集 {_0} 开始进行贪婪迭代选择,直到所选关键帧的数量达到 K。选择 _0,是因为初始帧不会出现任何跟踪漂移,并可作为参考帧。在每次迭代中,都会添加与 _ 的大地距离之和最小的关键帧,以及之前选定的所有关键帧。这就将复杂度降低到 (NK3 + NK2),使得选择过程实用(不到一毫秒)而不降低性能。

D. 在线姿势图优化

姿态图可以表示为 = {, }, || = +1, 其中每个节点对应于当前和 选定时间戳 ∈ {, - _1, - _2, . …, - _ }。为简单起见,图节点的下标将用简单的指数 ∈ ||代替实际的时间戳 -_。每个节点的姿态可以表示为 T_, ∈ ||。受 [58] 的启发,对于每对节点之间的边,考虑了两种能量 E_ 和 E_。能量 E_ 与根据特征对应关系计算的残差有关,而 E_ 则与根据密集像素点到平面距离测量的几何残差有关。当图的总能量 E 最小时,就实现了时空一致性:
在这里插入图片描述
为了计算 E_,需要确定每对节点(, )之间的特征对应关系 _{, }。如果 , 已在之前的姿势图优化过程中建立,则可重复使用。否则,将执行第 IV-B 章中的数据关联过程来计算 _{, }。这些多对特征对应关系是在 GPU 上并行建立的。在公式(2)和(3)中,代表摄像机帧中未投影的三维点,是 M-估计器,其中使用了 Huber loss。
在这里插入图片描述
对于 E_,通过点重新投影来关联密集的像素对应关系,同时根据点对之间的距离和它们的法线形成的角度来过滤异常值;(·) 是透视投影操作; -1(-)表示非投影映射,它通过查找像素位置上的深度值来恢复摄像机帧中的三维点;_(·)返回像素在帧_, ∈||上的法线。

在公式 (1) 中,_1 和_2 是平衡 E_ 和 E_ 的权重。为了强调对这些值的选择不敏感,除非另有说明,所有实验中的_1 和_2 都设为 1。然后,我们的目标是找到最佳姿势,即:
在这里插入图片描述
其中,¯E()是堆叠能量残差向量,=(, -1, -2, ... ,-)∈6×(+1)是对应于当前帧和个选定的过去关键帧的叠加姿势向量,而对应于初始帧_0 的姿势作为参考保持不变。每个区块 = (T) ∈(3)都用李代数[59]进行参数化,包括 3 个平移参数和 3 个旋转参数。常用的方法是围绕进行一阶泰勒展开,这样就可以通过高斯-牛顿更新求解迭代重权非线性最小二乘法:
在这里插入图片描述
其中,J 是关于 的雅各布矩阵,W 是由 M-估计器 和残差计算得出的对角权重矩阵,每次迭代都会更新。为了更好地利用 J 和 W 的稀疏性,在每个高斯牛顿步骤中都使用了 PCG(预处理共轭梯度)[60] 迭代求解器,其中对角矩阵 JWJ被用作预处理。每次迭代 ←  Δ后,在切线空间中累积增量姿势更新。整个姿态图优化采用 CUDA 实现并行计算。

优化结束后,每个图节点对应的物体姿态由 T_ = () ∈(3),∈ ||得到。与当前时间戳 相对应的姿势将成为输出跟踪姿势 T_,而与历史关键帧相对应的姿势将在内存池中更新。整个过程是因果性的,即输出中不能更新过去帧的修正姿态。不过,它们修正后的姿势估计值能为接下来的姿势图优化步骤提供更好的初始化,从而有利于新观测数据的求解。在这种情况下,任何中间错误的姿态估计都会在与全局模型融合时引入噪声,并对后续跟踪产生不利影响。

E. 扩充关键帧内存池

初始帧 _0 总是被选中,因为它不会出现任何跟踪漂移。对于后面的帧,一旦确定了当前物体的姿态 T_,就会比较其与池中每个现有关键帧的旋转测地距离。如果所有成对距离都大于 (在所有实验中均为(10°)),_ 就会被添加到关键帧存储池中。这有助于添加来自新视角的帧,从而丰富多视角多样性。

V. 实验

本节将评估所提出的方法,并在两个公共基准(NOCS 数据集[13] 和 YCBInEOAT 数据集[22])上与最先进的 6D 姿态跟踪和估计方法进行比较。实验针对不同类型的物体和各种跟踪场景(如移动摄像机或移动物体)进行。定量和定性结果都表明,尽管 BundleTrack 不需要实例或类别级别的 3D 模型,但它的性能与替代方案相当,甚至更胜一筹。具体来说,BundleTrack 没有使用 CAD 模型或来自 3D 物体数据库的训练数据。所有实验都是在配备英特尔至强® E5-1660 [email protected] 处理器和一个英伟达 RTX 2080 Ti GPU 的标准台式机上进行的。

A. 数据集

NOCS 数据集 [13]: 在现有的数据集中,这个数据集最接近这里的设置,在评估过程中不提供实例三维模型。该数据集包含 6 个物体类别:瓶子、碗、相机、罐子、笔记本电脑和杯子。训练集包括 (1) 7 个真实视频,每个类别共包含 3 个实例,并标注了真实姿势;(2) 275K 帧合成数据,使用三维模型数据库 ShapeNetCore [18],在每个场景中使用上述 6 个类别中的 1085 个实例生成,并随机标注姿势和物体组合。测试集包含 6 个真实视频,每个类别中包含 3 个不同的未见实例,共产生 18 个不同的物体实例和 3,200 个帧。

YCBInEOAT 数据集 [22]: 该数据集有助于验证机器人操纵过程中 6D 姿态跟踪的有效性。开发该数据集的初衷是为了评估依赖 CAD 模型的方法。但是,BundleTrack 并没有使用现有的 CAD 模型。与 NOCS 数据集不同的是,YCBInEOAT 包含由静态 RGB-D 摄像机捕获的 9 个视频序列,其中的物体被静态放置在桌面上,并由移动摄像机捕获。有三种类型的操作:(1) 单臂拾放,(2) 手内操作,(3) 双臂之间的拾放。这些场景和所使用的末端执行器使得直接根据前向运动学计算姿势变得不可靠。操作视频涉及 5 个 YCB 物体 [61]:芥末瓶、番茄汤罐、糖盒、漂白剂清洁剂和饼干盒。

B. NOCS 数据集的结果

表 I 和图 3 分别列出了最新方法在 NOCS 数据集上的定量和定性结果。比较点包括依赖于类别级先验的基于学习的方法,如 NOCS[13]、KeypointNet[62]和带或不带时间预测的 6-PACK [17]。这些方法都是在真实训练集和合成训练集上进行离线训练的,训练集是用从 ShapeNetCore [18] 的相同类别中提取的三维物体模型渲染的。相比之下,ICP[63]、MaskFusion[24]、TEASER++*[64]和拟议的 BundleTrack 无法访问任何基于 3D 模型的训练数据。


在这里插入图片描述

表 I: NOCS 数据集[13]的结果。对于 5°5cm 和 IoU25 这两个指标,数值越大越好。对于 Rerr 和 Terr 指标,数值越小越好。在每种三维模型假设下,最佳结果均以粗体标出。TEASER++* 表示 TEASER++ [64],在与提议的 BundleTrack 相同的分割点云和特征对应关系上运行。

在这里插入图片描述

图 3:BundleTrack 的定性结果示例和 NOCS 数据集上的代表性比较点。在所有方法中,每个物体都被单独跟踪,并在同一幅图像中进行描述,以便可视化。方法名称分别用蓝色和绿色表示假设使用类别级三维模型和不使用模型。有关更多定性结果,请参阅补充视频。

评估协议与之前的工作[17]相同。初始化时使用扰动的地面真实物体姿态。扰动添加了一个 4 厘米范围内的均匀采样随机平移,以评估对噪声初始姿态的鲁棒性[17]。跟踪过程中不允许重新初始化。为了评估对缺失帧的鲁棒性,在测试视频的 3200 个帧中放弃了相同的均匀采样的 450 个帧 [17]。采用了四个指标 1) 5°5cm: 方位误差小于 5°、平移误差小于 5cm 的估计值百分比–越高越好;2) IoU25(Intersection over Union):预测值与地面实况三维边界框的重叠体积大于其结合部 25% 的情况百分比–越高越好;3) R_{err}: 以度为单位的平均方位误差–越低越好;4) T_{err}: 以厘米为单位的平均平移误差–越低越好。对于 Rerr 和 Terr,计算平均值时不计算 IoU≤25 的估计值[17]。

除 MaskFusion 和 TEASER++* 之外,其他比较点的结果均来自文献 [17]。评估使用的是 MaskFusion 的开源代码2,其中全局 SLAM 模块被禁用,以避免从摄像机估计的自我运动推断物体姿势。动态物体跟踪模块被保留下来,仅用于评估物体姿态跟踪效果。其原始分割模块 Mask-RCNN [49]在 NOCS 数据集提供的真实训练数据上进行了微调,以获得更好的性能,同时不使用使用类别级 3D 模型渲染的合成数据,因为这种方法也与任何 3D 模型无关[24]。除了文献[17]中报道的 ICP 外,我们还采用了另一种先进的三维配准方法[64]进行比较,并将其命名为 TEASER++*,该方法对离群点的对应具有鲁棒性,并且与三维模型无关。它将分割点云和特征对应关系作为输入,这些对应关系是使用 BundleTrack 中提出的相同模块计算得出的。对于 BundleTrack,初始掩码0 需要作为框架的输入,并通过上述掩码-RCNN 提供。在执行过程中,BundleTrack 不需要外部掩码输入,也不需要任何形式的重新初始化。如表 I 所示,尽管 BundleTrack 没有访问实例或类别级别的 3D 模型,但在所有指标和所有对象类别上,BundleTrack 都明显优于比较点。

C. YCBInEOAT 数据集的结果

仅对移动摄像机捕捉到的静态物体进行评估并不能完全反映 6D 姿态跟踪方法的特性[22]。因此,我们选择 YCBInEOAT 数据集来评估物体在摄像机前移动时的跟踪效果。评估方案与之前的工作[22]相同。结果是根据=1Í ∈ ||| + - ( ˆ +ˆ)|| 在这里插入图片描述
计算出来的、 和 - =1Í 1 ∈ min2 ∈ ||1 + - ( ˆ2 + ˆ)||[3] 设计用于评估对称对象。与先前的工作[22]类似,地面实况物体在摄像机帧中的姿态被作为初始化提供。跟踪过程中不允许重新初始化。

定量和定性结果分别见表 II 和图 4。比较点包括使用物体 CAD 模型的先进 6D 姿态跟踪方法,如 RGF [28]、dbot PF [11] 和 (3)-TrackNet [22]。6-PACK [17] 是一种先进的 6D 姿态跟踪方法,依赖于类别级三维模型。在对物体 “021_bleach_cleanser”、"006_mustard_bottle"和 "005_tomato_soup_can"进行评估时,分别使用了官方发布的针对 "bottle"和 "can"类别训练的网络。至于其余的对象 "003_cracker_box "和 “004_sugar_box”,在现有的三维模型数据库[18]中找不到合适的对应类别,因此 6-PACK 无法对其进行重新训练和评估。对于 6-PACK,每帧都会提供根据前向运动学计算出的物体模型三维边界框,以便从点云裁剪 ROI,因为这比其默认模块通过估计运动推断三维边界框更加可靠。MaskFusion 的初始对象遮罩是通过表格拟合和移除获得的,然后用 PCL [46] 实现欧氏聚类。由于缺乏训练集,原 MaskFusion 的分割模块 Mask-RCNN 无法在此基准上进行再训练。因此,在跟踪过程中,通过前向运动学分割出机器人手臂和末端执行器的区域来计算目标对象掩码。对于 6-PACK 所训练的 "瓶子 "类别中形状或颜色不规则的实例(“021_bleach_cleanser”、“006_mustard_bottle”),它很难获得令人满意的结果。尽管如此,BundleTrack 始终保持着高质量的跟踪效果,而无需进行任何重新训练或微调。这证明了 BundleTrack 对新物体实例的通用性,无论它们在类别中的分布属性如何。即使与依赖对象实例 CAD 模型的方法[11]、[22]、[28]相比,BundleTrack 也能获得相当或更优的性能。


在这里插入图片描述

图 4:BundleTrack 的定性结果示例和 YCBInEOAT 数据集上的代表性比较点。方法名称分别用红色、蓝色和绿色表示假设实例三维模型、类别级三维模型和无模型。有关更多定性结果,请参阅补充视频。

在这里插入图片描述

表二:在 YCBInEOAT 数据集[22]上用 ADD 和 ADD-S 指标测量的 AUC 结果。在每种三维模型假设下,最佳结果以粗体显示。TEASER++* 表示 TEASER++ [64],在与提议的 BundleTrack 相同的分割点云和特征对应关系上运行。

D. 分析

消融研究: 消融研究调查了在线全局姿态图优化和每个能量项的有效性,如图 5 ( a ) 5(a) 5(a) 所示。

对初始姿态的敏感性: 如前所述,初始姿态中添加了 4 厘米范围内的随机平移噪声。这一部分进一步研究了不同平移和旋转噪声水平下的鲁棒性,如图 5 ( b ) 5(b) 5(b) 所示。

计算时间: 各模块的平均运行时间见图 5 ( c ) 5(c) 5(c)。包括视频分割在内,整个框架的平均运行速度为 10Hz。相关工作中的 6-PACK[17]、TEASER++*[64] 和 MaskFusion [24] 方法在同一台机器上的运行速度分别为 4Hz、11Hz 和 17Hz。

跟踪漂移分析: 5 ( d ) 5(d) 5(d) 显示了与具有代表性的相关工作[17]、[24]、[64]相比,在时间戳作用下的旋转和平移误差。结果是 NOCS 数据集上所有视频的平均值。


在这里插入图片描述

图 5:在 NOCS 数据集上进行的实验分析,如第 V-D 章所述。(a) 对姿势图优化和每个能量项的有效性进行的消融研究。(b) 通过故意引入不同的平移和旋转噪音水平,BundleTrack 对不准确初始姿势的敏感性。(c) 不同模块的平均运行时间分解。(d) 旋转和平移误差与时间戳比较,并与具有代表性的相关工作[17]、[24]、[64]进行跟踪漂移研究

通用性: BundleTrack 中神经网络的权重和超参数是固定的,无需在所有评估中进行任何重新训练或微调(第 V-B 和 V-C 节)。当应用于新实例时,该框架不需要访问实例或类别级别的三维模型来进行训练或注册。

失败案例: 虽然在所有实验中,BundleTrack 都能在不丢失或不重新初始化的情况下稳健地保持跟踪,但也会出现中间不精确的估计,如图 6 所示的情况。


在这里插入图片描述

图 6:BundleTrack 在 NOCS 数据集上遇到的一些最具挑战性的情况。上图:严重的自闭塞阻碍了马克杯手柄周围的数据关联,为解决绿轴周围的定位问题带来了挑战。不过,由于后续帧的可见性更好,BundleTrack 能够从漂移中恢复并继续跟踪,这要归功于记忆增强姿势图优化。底部: 接近视频末尾时,嘈杂的分割(紫色遮罩)错误地忽略了碗的侧面,从而阻碍了相关特征的提取,并导致轻微的平移偏移。随着未来更先进的分割模块的开发,整体跟踪性能有望得到提升。

VI. 结论

这项研究提出了一个通用框架–BundleTrack,用于跟踪新物体的 6D 姿态,而无需假设实例或类别级 3D 模型。大量实验证明,它能在各种具有挑战性的场景下进行长期精确跟踪。它的性能甚至可以与依赖目标物体 CAD 模型的先进方法相媲美。未来的研究包括探索将 BundleTrack 与无模型抓取方法[65]、[66]相结合,对各种新型物体进行稳健的拾放[67]、[68]或手部灵巧操作。

你可能感兴趣的:(文章,论文阅读)