当前位置: 首页 > article >正文

【TPAMI 2024】Occlusion-Aware Self-Supervised Monocular 6D Object Pose Estimation

TPAMI 2024 | 我3D都没搞明白,这都开始6D了!?而且这个单目6D物体姿态估计技术,让机器视觉无需人类教导!

Occlusion-Aware Self-Supervised Monocular 6D Object Pose Estimation

题目:遮挡感知的自监督单目6D物体姿态估计

作者:Gu Wang; Fabian Manhardt; Xingyu Liu; Xiangyang Ji; and Federico Tombari
源码:https://github.com/THU-DA-6D-Pose-Group/self6dpp.git


摘要

6D物体姿态估计(即相对于相机的3D平移和3D旋转)是计算机视觉中的一个基础但具有挑战性的问题。卷积神经网络(CNN)最近已被证明即使在单目设置下也能够预测可靠的6D姿态估计。尽管如此,CNN被识别为极度依赖数据,获取足够的注释通常非常耗时和劳动密集。为了克服这个限制,我们提出了一种新颖的单目6D姿态估计方法,通过自监督学习,消除了对真实注释的需求。在我们完全监督训练所提出的网络使用合成RGB数据之后,我们利用当前趋势中的噪声学生训练和可微渲染进一步在这些无监督的真实RGB(-D)样本上自我监督模型,寻求视觉和几何上最优的对齐。此外,使用可见和amodal掩码信息,我们的自监督变得对遮挡等具有挑战性的场景非常健壮。广泛的评估表明,我们提出的自监督方法在依赖合成数据或采用领域适应技术的所有其他方法上都表现更好。值得注意的是,我们的自监督方法在性能上持续优于其合成训练的基线,并且通常几乎接近其完全监督的对应物。

关键词

  • 6D物体姿态估计
  • 自监督学习
  • 可微渲染
  • 领域适应

1 引言

单目估计物体相对于相机的6D姿态(即3D平移和3D旋转)是计算机视觉中的一个长期存在的问题。准确定位6D物体姿态对于包括机器人操作[1]、[2]、[3]、增强现实[4]、[5]和自动驾驶[6]、[7]在内的广泛现实世界应用至关重要。基于学习的方法最近已经显示出对这项任务非常有希望的结果。尽管如此,这些方法通常在训练期间需要大量的数据[8]、[9]。然而,获取适当的训练标签非常耗时和劳动密集[10]、[11]。这对于6D姿态估计尤其如此,因为对于每个RGB-D帧,都需要通过一个困难和繁琐的过程精确对齐3D CAD模型。

因此,由于缺乏真实标签,文献中提出了几种不同的方法。最常见的方法是简单地使用OpenGL[12]、[13]或Blender[14]等工具渲染大量的合成训练图像。通过采样随机的6D姿态,可以使用伴随的3D CAD模型模拟大量的合成图像。此外,通常还采用领域随机化来强加对场景变化的不变性[15]、[16]。通过使用大规模2D对象数据集,例如VOC[17]和COCO[18]的图像作为渲染样本的背景。另一系列工作尝试通过使用GANs等技术进行领域适应,以将输入从源域转换为目标域或反之亦然[19]。尽管如此,由于渲染图像由于质量和物理上的不合理性,仍可以轻易地区分真实图像,因此最近的工作反而调查了使用基于物理的渲染来提高质量和额外强制执行真实的物理约束[3]、[11]。最终,尽管基于领域适应[19]、领域随机化[20]和逼真渲染[11]的技术正在稳步减少合成到真实领域的鸿沟,但性能仍然远远不能与在训练期间利用真实图像和6D姿态注释的方法相媲美。

受到可微渲染[21]、[22]和自监督学习[23]、[24]的当前趋势的启发,我们希望从完全不同的角度解决缺乏真实标记数据的问题。人类具有从2D图像中学习如何推理3D世界惊人的能力。此外,我们甚至可以在不需要另一个人类或标签的情况下,通过自我监督的方式学习3D世界属性,通过验证世界的观察是否符合预期的结果。例如,婴儿通过观察哪些物体一起移动来了解什么是3D对象[25]。将此转换为6D姿态估计的任务——尽管标记姿态是一个明显的障碍,但以RGB(-D)图像形式获得真实世界的观察可以轻松地大规模完成。因此,像人类一样,我们希望网络能够从这些未标记的示例中自我学习,以自我监督的方式。

为了建立监督,该方法需要从2/2.5D数据中单独理解3D世界。以2D图像的形式在眼睛的视网膜上体验3D世界被称为渲染,这是计算机图形学中一个非常活跃的研究领域[26]。不幸的是,大多数标准的3D CAD模型的渲染管线由于依赖光栅化,并且无法为argmax函数计算梯度,因此不可微。为了解决这个问题,最近提出了几种重新建立渲染梯度流的想法[27]。因此,大多数方法要么近似一个"有用的"梯度[22]、[28],要么通过近似光栅化函数本身来计算分析梯度[21]、[29]。然而,要获得这样有用的梯度,渲染图像和真实图像应该非常相似。为此,我们采用了如图1所示的两阶段方法。特别是,我们首先在基于物理的渲染[30]上全监督训练我们的模型。然后,我们使用未标记的RGB(-D)数据,使用可微渲染,在未见过的真实数据上自我监督模型,努力减少合成到真实领域的鸿沟。

  • 我们提出了一种自监督的单目6D物体姿态估计方法,该方法利用无监督的RGB(或结合深度信息)图像,通过可微分的学习管线对模型进行领域自适应。

  • 我们利用可见和非可见(amodal)物体掩码预测,开发了一个针对遮挡情况的自监督姿态估计器,并通过视觉和几何对齐建立了不同的自监督损失项。

  • 我们还进一步利用了嘈杂的学生训练[31]和一个基于RGB的深度姿态细化器[32][33],以提高整体姿态精度以及对遮挡和光度变化等不同干扰因素的鲁棒性。

据我们所知,我们是第一个从真实数据中进行自监督6D物体姿态估计的研究,无需真实世界的6D标签。我们通过广泛的实验验证了我们提出的自监督方法,即我们所称的Self6D++,其性能大大超过了所有依赖于合成数据或采用领域适应技术的其他方法。

初步版本的这项工作(Self6D)已于2020年在ECCV以口头报告的形式发表[34]。在这项工作中,我们展示了与原始版本相比的几个改进之处。首先,我们将单阶段姿态估计器替换为更强大的两阶段方法,显著提高了我们的基线。由于Yolov4[35]提供了更稳健的2D检测,我们可以使用改进版的最先进的6D姿态回归器GDR-Net[8]获得更精确的姿态。其次,我们引入了一些重要的修改,以改善在严重遮挡情况下的自监督。特别是,姿态预测器被扩展为预测可见和完整的非可见掩码,以用于自监督。我们还利用了嘈杂的学生训练[31]在自监督训练阶段增强鲁棒性。我们证明了,与[34]不同,这些贡献能够解除在自监督期间需要深度数据的约束,使我们的方法完全单目化。为此,我们采用了基于RGB的深度姿态细化器[32][33]作为教师模型,以获得更可靠的伪姿态标签。最后,我们通过广泛的实验证明了我们方法的优越性。特别是,我们不仅在包括LINEMOD[36]、HomebrewedDB[10]、Cropped LINEMOD[19]和Occluded LINEMOD[37]的常见基准数据集上显著提高了我们的基线[34],还增加了对YCB-Video[38]的新评估。此外,与最初的版本[34]相比,我们的Self6D++能够在Occluded LINEMOD和YCB-Video方面的具有挑战性的场景下产生更可靠的姿势估计,这些场景展示了许多对称物体经历显著的遮挡。在所有基准测试中,我们几乎可以完全填补与使用真实世界6D姿势标签的最先进的全监督方法之间的差距。代码和模型将在https://github.com/THU-DA-6D-Pose-Group/self6dpp.git上公开提供。

3. 方法

在本文中,我们的目标是在不需要大量真实样本的详尽标注数据集的情况下,从单目图像进行6D姿态估计。为此,我们提出了一种新的方法,该方法能够从合成的RGB数据以及未标记的真实世界RGB(-D)样本中学习单目姿态估计。如图1所示,我们的方法由两个阶段组成。由于大规模合成数据的生成可以非常容易地大规模获得,我们首先仅使用合成RGB数据以全监督的方式训练我们的模型。随后,为了解决过度拟合到合成域的问题,我们通过在未标记的真实世界RGB(-D)数据上进行自监督来增强模型的泛化能力。

图2总结了我们针对未标记数据的单目6D姿态估计的自监督方法。我们通过建立不同的视觉和几何约束来解决这一问题,寻求在6D姿态方面的最佳对齐。利用嘈杂的学生训练范式和可微分渲染,我们可以建立各种视觉和几何一致性,这些一致性反过来作为强大的误差信号。

与[34]不同,我们使用了基于GDR-Net[8]的遮挡感知姿态估计器。我们还在自监督中额外利用了可见和非可见(amodal)物体掩码( M vis M_{\text{vis}} Mvis M amodal M_{\text{amodal}} Mamodal),以进一步提高对遮挡的鲁棒性。给定原始传感器RGB图像 I S I_S IS(以及可选的关联传感器深度图像 D S D_S DS),我们首先使用现成的对象检测器(例如Yolov4[35],为了清晰起见在图2中省略)提取感兴趣物体。因此,对象检测器和姿态估计器都预先在合成RGB数据上进行了训练。然后我们使用预训练后获得的相同权重初始化教师和学生姿态估计器。当两者都使用相同的输入RGB补丁 I S I_S IS 进行输入时,学生的补丁还会经历各种增强 I S a u g I_S^{aug} ISaug。给定相应的补丁,教师和学生分别预测可见掩码 M ^ vis \hat{M}_{\text{vis}} M^vis M ~ vis \tilde{M}_{\text{vis}} M~vis,非可见掩码 M ^ amodal \hat{M}_{\text{amodal}} M^amodal M ~ amodal \tilde{M}_{\text{amodal}} M~amodal,以及相关的姿态 P ^ init \hat{P}_{\text{init}} P^init P ~ \tilde{P} P~。通过教师的监督,学生网络因此必须对通过增强引入的任何变化保持不变性。为了也能直接从原始数据中学习,我们还运行可微分渲染以获得与学生预测的姿态 P ~ = [ R ~ ∣ t ~ ] \tilde{P} = [\tilde{R}|\tilde{t}] P~=[R~t~] 相关的RGB(-D)图像 ( I R ; D R ) (I_R; D_R) (IR;DR) 和概率非可见掩码 M R M_R MR,使用我们原始工作中扩展的DIB-R1[29]渲染器,如下所示:

R ( P ~ ; K , M ) = ( I R , D R , M R ) R(\tilde{P}; K, M) = (I_R, D_R, M_R) R(P~;K,M)=(IR,DR,MR)

其中 M M M 表示给定的3D CAD模型, K K K 是已知的相机内参矩阵。此外,利用基于RGB的深度姿态细化器 D ref D_{\text{ref}} Dref [32][33],我们进一步细化获得的伪姿态标签 P ^ = D ref ( P ^ init ) \hat{P} = D_{\text{ref}}(\hat{P}_{\text{init}}) P^=Dref(P^init)。尽管 D ref D_{\text{ref}} Dref 仅在合成数据上训练,但由于其迭代特性,它仍然可以在外部变化的情况下细化 P ^ init \hat{P}_{\text{init}} P^init。最后,通过使用伪标签 ( P ^ ; M ^ vis ; M ^ amodal ) (\hat{P}; \hat{M}_{\text{vis}}; \hat{M}_{\text{amodal}}) (P^;M^vis;M^amodal) 和传感器数据 ( I S ; D S ) (I_S; D_S) (IS;DS) 直接自监督预测值 ( P ~ ; M ^ vis ; M ~ amodal ) (\tilde{P}; \hat{M}_{\text{vis}}; \tilde{M}_{\text{amodal}}) (P~;M^vis;M~amodal),并通过它们相应的可微分渲染数据 ( I R ; D R ; M R ) (I_R; D_R; M_R) (IR;DR;MR) 建立视觉和几何对齐。

3.1 遮挡下的单目姿势估计

由于我们依赖可微分渲染,6D姿态 P ~ \tilde{P} P~ 的推断必须是完全可微分的,以便允许反向传播。虽然可以获得PnP[88]以及RANSAC[89]的梯度,但它们也带来了高内存占用和计算量的负担,使得它们在我们的在线学习公式中不切实际。因此,我们不能依赖于建立2D-3D对应关系的方法[14][50][52],尽管这些方法目前在该领域占主导地位。在这项工作的最初版本[34]中,我们提出了一个单阶段姿态估计器,受ROI-10D[7]的启发,直接估计旋转和平移参数。然而,在面对遮挡时,其性能远不如基于2D-3D对应关系的最新方法。为此,我们采用了更近期的两阶段回归基础方法GDR-Net[8],它通过在姿态推断过程中使用密集对应关系作为几何指导,结合了对应驱动和直接回归基础方法的两个领域。

然而,原始的GDR-Net仍然不是非常适合我们的自监督,特别是当物体经历严重遮挡时。由于渲染掩码 M R M_R MR 总是未被遮挡的,伪掩码也需要是未被遮挡的。但是,由于GDR-Net只对可见物体掩码 M vis M_{\text{vis}} Mvis 生产一个输出通道,我们增加了第二个掩码预测分支,用于未被遮挡的非可见(amodal)物体掩码 M amodal M_{\text{amodal}} Mamodal。注意,两种掩码的真实值都可以从模拟器中轻松获得。这允许姿态估计器在自监督中更好地考虑遮挡。此外,我们对[8]进行了两个小改动。首先,我们将Faster R-CNN[90]替换为更快、更强的Yolov4检测器[35]。其次,我们将ResNet-34[91]替换为更近期的ResNeSt50[92]骨干网络。

正如前文所述,我们需要良好的初始估计才能启用自监督。因此,我们在模拟RGB图像上完全监督地预训练了对象检测器和遮挡感知姿态估计器。与[8]不同,我们对掩码预测使用二元交叉熵损失。对于6D姿态和几何特征的所有其他损失,我们使用了原始GDR-Net提出的相同目标函数。我们请读者参阅[8]以获取更多详细信息。

3.2 遮挡下自监督单目6D姿态估计

在本节中,我们详细描述了通过噪声学生训练和可微渲染实现我们自监督训练中的视觉和几何对齐的方法。为了简化后续内容,我们定义了给定掩模 M M M的所有前景和背景像素为:

P o s ( M ) = { ( i , j ) ∣ M ( i , j ) = 1 } Pos(M) = \{ (i, j) | M(i, j) = 1 \} Pos(M)={(i,j)M(i,j)=1}

N e g ( M ) = { ( i , j ) ∣ M ( i , j ) = 0 } Neg(M) = \{ (i, j) | M(i, j) = 0 \} Neg(M)={(i,j)M(i,j)=0}

自监督的视觉对齐

最直接的方法是简单地将渲染图像 I R IR IR与传感器图像 I S IS IS对齐,直接在两个样本上施加损失。然而,由于 I S IS IS I R IR IR之间的域间隙非常大,这在实践中效果并不好。特别是,照明变化以及反射和不良重建质量(尤其是在颜色方面)经常导致高误差,尽管位姿估计很好,最终导致优化发散。因此,为了尽可能保持域间隙小,我们施加了多种约束,测量不同域独立属性的不同视觉相似性。

由于对象掩模天然与域无关,它们可以提供特别强的监督。由于我们的数据未标注,我们使用我们的伪掩模 M ^ a m o d a l \hat{M}_{amodal} M^amodal M ^ v i s \hat{M}_{vis} M^vis进行弱监督。然而,由于预测掩模的不完美,我们使用加权交叉熵损失[93],重新校准正面和负面区域的权重:

L r w c e ( M ^ , M ) = − 1 ∣ M ^ p o s ∣ ∑ j ∈ M ^ p o s M ^ j log ⁡ M j − 1 ∣ M ^ n e g ∣ ∑ j ∈ M ^ n e g log ⁡ ( 1 − M j ) L_{rwce}(\hat{M}, M) = -\frac{1}{|\hat{M}_{pos}|} \sum_{j \in \hat{M}_{pos}} \hat{M}_j \log M_j - \frac{1}{|\hat{M}_{neg}|} \sum_{j \in \hat{M}_{neg}} \log (1 - M_j) Lrwce(M^,M)=M^pos1jM^posM^jlogMjM^neg1jM^neglog(1Mj)

其中 M ^ \hat{M} M^是伪掩模, M M M是相应的预测或渲染掩模。具体来说,我们利用可见和完整对象掩模以考虑视觉对齐中的遮挡。由于我们的数据未经过标注,我们使用伪掩膜 e M a m o d a l e M_{amodal} eMamodal e M v i s e M_{vis} eMvis 进行弱监督。然而,由于预测掩膜的不完美,我们采用了重新加权的交叉熵损失函数 [93],它重新校准了正负区域的权重:

L r w c e ( e M , M ) = − 1 ∣ P o s ( e M ) ∣ ∑ j ∈ P o s ( e M ) e M j log ⁡ M j − 1 ∣ N e g ( e M ) ∣ ∑ j ∈ N e g ( e M ) log ⁡ ( 1 − M j ) L_{rwce}(e M, M) = -\frac{1}{|Pos(e M)|} \sum_{j \in Pos(e M)} e M_j \log M_j - \frac{1}{|Neg(e M)|} \sum_{j \in Neg(e M)} \log (1 - M_j) Lrwce(eM,M)=Pos(eM)1jPos(eM)eMjlogMjNeg(eM)1jNeg(eM)log(1Mj)

这里, e M e M eM 是伪掩膜, M M M 是相应的预测或渲染掩膜。具体来说,我们利用可见和完整的物体掩膜来考虑视觉对齐中的遮挡问题。

尽管掩膜不受领域差异的影响,但它们丢弃了许多有价值的信息。特别是颜色信息通常是区分6D位姿的唯一指导,特别是对于几何形状简单的物体。因此,我们采用了几种技术来减轻渲染和真实图像之间的领域差异。

由于领域偏移至少部分是由光照引起的,我们尝试在测量颜色相似性之前解耦光照。设 r r r 表示从RGB到LAB空间的转换,同时丢弃光通道,我们根据剩余的两个通道评估颜色一致性:

L a b = 1 ∣ P o s ( e M v i s ) ∣ ∑ j ∈ P o s ( e M v i s ) ∥ ρ ( I S ) j ⋅ M v i s j − ρ ( I R ) j ∥ 1 Lab = \frac{1}{|Pos(e M_{vis})|} \sum_{j \in Pos(e M_{vis})} \|\rho(I^S)_j\cdot M_{vis_j} - \rho(I^R)_j \|_1 Lab=Pos(eMvis)1jPos(eMvis)ρ(IS)jMvisjρ(IR)j1

我们还采用了图像重建和领域转换的各种想法,因为它们面临同样的困境。我们在RGB空间评估结构相似性(SSIM)[94],并额外使用多尺度变体,即MS-SSIM:

L m s − s s i m = 1 − m s − s s i m ( I S ⊙ e M v i s , I R ; s ) L_{ms-ssim} = 1 - ms-ssim(IS \odot e M_{vis}, IR; s) Lmsssim=1msssim(ISeMvis,IR;s)

这里, ⊙ \odot 表示逐元素乘法, s = 5 s = 5 s=5 是使用的尺度数量。有关MS-SSIM的更多细节,请参阅 [94]。

另一种常见做法是在特征空间评估感知相似性 [95],[96]。为此,通常使用预训练的深度神经网络,如AlexNet [97],以确保低级和高级相似性。我们在AlexNet的不同层应用感知损失。具体来说,我们提取了5层 L = 5 L = 5 L=5 的特征图,并沿通道维度对它们进行归一化。然后我们计算归一化特征图 f ( l ) ( ⋅ ) f^{(l)}(\cdot) f(l)() 的每个层 l l l 的平方L2距离:

L p e r c e p t u a l = ∑ l = 1 L 1 ∣ N ( ) ∣ ∑ j ∈ N ( ) ∥ f ( l ) ( I S ⊙ e M v i s ) j − f ( l ) ( I R ) j ∥ 2 L_{perceptual} = \sum_{l=1}^{L} \frac{1}{|N()|} \sum_{j \in N()} \|f^{(l)}(IS \odot e M_{vis})_j - f^{(l)}(IR)_j\|^2 Lperceptual=l=1LN()1jN()f(l)(ISeMvis)jf(l)(IR)j2

然后,视觉对齐由所有四项的加权和组成:

L v i s u a l = L m a s k + λ 4 L a b + λ 5 L m s − s s i m + λ 6 L p e r c e p t u a l L_{visual} = L_{mask} + \lambda_4 Lab + \lambda_5 L_{ms-ssim} + \lambda_6 L_{perceptual} Lvisual=Lmask+λ4Lab+λ5Lmsssim+λ6Lperceptual

其中 λ 4 , λ 5 \lambda_4, \lambda_5 λ4,λ5 λ 6 \lambda_6 λ6 表示相关损失权重。

几何对齐的自监督

对于几何对齐,我们利用预测位姿 P ^ = [ R ^ ∣ t ^ ] \hat{P} = [\hat{R}|\hat{t}] P^=[R^t^]和我们的伪位姿标签 P ^ i n i t = [ R ^ i n i t ∣ t ^ i n i t ] \hat{P}_{init} = [\hat{R}_{init}|\hat{t}_{init}] P^init=[R^initt^init]来建立监督。然而,为了更好地处理由于严重遮挡引起的噪声,我们不是直接在 P ^ i n i t \hat{P}_{init} P^init上使用损失,而是使用基于RGB的深度位姿细化器 D r e f Dref Dref[32] [33]来获得更稳健的伪位姿标签 P ^ = D r e f ( P ^ i n i t ) \hat{P} = Dref(\hat{P}_{init}) P^=Dref(P^init)。值得注意的是,尽管细化器也仅用合成RGB数据训练,但由于其迭代性质,它仍然可以在外部变化的情况下细化 P ^ i n i t \hat{P}_{init} P^init。我们遵循常见程序,使用3D中的点匹配损失来几何对齐6D位姿[8] [32] [38]。通过比较预测 P ^ \hat{P} P^的变换模型点与来自 P ^ \hat{P} P^的相应变换模型点:

L p m = min ⁡ R ^ 1 ∣ M ∣ ∑ x ∈ M ∥ ( R ^ x + t ^ ) − ( R ^ g t x + t ^ g t ) ∥ 1 L_{pm} = \min_{\hat{R}} \frac{1}{|M|} \sum_{x \in M} \|(\hat{R}x + \hat{t}) - (\hat{R}_{gt}x + \hat{t}_{gt})\|_1 Lpm=R^minM1xM(R^x+t^)(R^gtx+t^gt)1

请注意,为了考虑对称性, L p m L_{pm} Lpm是作为所有已知全局对称变换集合下最小损失计算的[38]。受CosyPose[33]的启发,我们还根据Simonelli等人[98]将 R , ( t x , t y ) R, (t_x, t_y) R,(tx,ty) t z t_z tz分离在 L p m L_{pm} Lpm中,其中 t = ( t x , t y , t z ) T t = (t_x, t_y, t_z)^T t=(tx,ty,tz)T。这样,损失分别针对每个参数计算,同时使用剩余参数的真值。这导致梯度噪声较小,提高了优化的稳健性。

当传感器深度 D S DS DS也可用时,我们可以直接使用它作为代理来直接优化6D位姿,通过对齐目标3D模型 M M M D S DS DS进行几何对齐。然而,由于深度图仅提供可见区域的信息,整体与变换的3D模型的注册会损害性能。因此,我们利用渲染的深度图仅比较可见区域。然而,由于掩模不相交的点不能匹配,直接在两个深度图上使用损失会导致错误的对应关系。

因此,我们在3D中对可见表面进行操作,以找到最佳的几何对齐。我们首先使用相应的掩模 M ^ v i s \hat{M}_{vis} M^vis M R M_R MR D S DS DS D R DR DR进行反投影,以检索相机空间中的可见点云 P S PS PS P R PR PR

p − 1 ( D , M , K ) = K − 1 [ x j y j 1 ] T ∀ j ∈ P o s ( M ) p^{-1}(D, M, K) = K^{-1} \begin{bmatrix} x_j & y_j & 1 \end{bmatrix}^T \quad \forall j \in Pos(M) p1(D,M,K)=K1[xjyj1]TjPos(M)

P S = p − 1 ( D S , M ^ v i s , K ) , P R = p − 1 ( D R , M R , K ) P^S = p^{-1}(DS, \hat{M}_{vis}, K), \quad PR = p^{-1}(DR, MR, K) PS=p1(DS,M^vis,K),PR=p1(DR,MR,K)

其中 ( x j , y j ) (x_j, y_j) (xj,yj)表示掩模 M M M j j j的2D像素位置。

由于直接估计 P S PS PS P R PR PR之间的3D-3D对应关系是不可行的,我们参考了Chamfer距离,以在3D中寻找最佳对齐:

L c h a m = avg p S ∈ P S min ⁡ p R ∈ P R ∥ p S − p R ∥ 2 + avg p R ∈ P R min ⁡ p S ∈ P S ∥ p S − p R ∥ 2 L_{cham} = \text{avg}_{p_S \in PS} \min_{p_R \in PR} \|p_S - p_R\|_2 + \text{avg}_{p_R \in PR} \min_{p_S \in PS} \|p_S - p_R\|_2 Lcham=avgpSPSpRPRminpSpR2+avgpRPRpSPSminpSpR2

整体的几何对齐 L g e o m L_{geom} Lgeom分别定义为仅RGB和RGB-D:

L r g b g e o m = λ 7 L p m , L r g b − d g e o m = λ 7 L p m + λ 8 L c h a m L_{rgb}^{geom} = \lambda_7 L_{pm}, \quad L_{rgb-d}^{geom} = \lambda_7 L_{pm} + \lambda_8 L_{cham} Lrgbgeom=λ7Lpm,Lrgbdgeom=λ7Lpm+λ8Lcham

其中 λ 7 \lambda_7 λ7 λ 8 \lambda_8 λ8是相应的损失权重。

整体自监督

最终,我们的自监督 L s e l f L_{self} Lself可以简单地总结为RGB中视觉和几何对齐损失项的组合:

L r g b s e l f = L v i s u a l + L r g b g e o m L_{rgb}^{self} = L_{visual} + L_{rgb}^{geom} Lrgbself=Lvisual+Lrgbgeom

或者如果适用,在RGB-D中:

L r g b − d s e l f = L v i s u a l + L r g b − d g e o m L_{rgb-d}^{self} = L_{visual} + L_{rgb-d}^{geom} Lrgbdself=Lvisual+Lrgbdgeom

值得注意的是,尽管 L r g b − d s e l f L_{rgb-d}^{self} Lrgbdself需要深度数据进行自监督训练,但学习到位姿估计器在推理期间仍然不依赖于深度数据。此外,即使仅使用RGB数据,我们仍然可以成功应用我们的自监督。相反,Self6D[34]的实验在丢弃深度通道时完全失败。

4. 实验

在本节中,我们首先描述实现细节、所使用的数据集和评估指标。随后,我们将展示对预测掩码质量的分析以及不同的消融实验,以阐明我们提出的考虑遮挡的自监督方法的有效性。我们通过与其他最先进的6D姿态估计和领域自适应方法进行比较来结束本节。为了更好的理解,除了展示我们的结果外,我们还评估了仅使用合成数据以及额外使用真实6D姿态标签的方法。由于它们可以被视为我们方法的下限和上限,我们在以下内容中将它们称为OURS(LB)和OURS(UB)。

4.1 实现细节

训练策略

我们使用PyTorch[99]实现了我们的方法,并在NVIDIA TitanX GPU上运行了所有实验。所有的网络都是使用Ranger优化器[100] [101] [102]进行训练的。基础学习率设置为 1 0 − 4 10^{-4} 104,并在训练阶段的72%之后使用余弦调度[103]进行衰减。在模拟数据上进行预训练时,我们以4的批量大小训练2D目标检测器Yolov4[35]进行16个周期,我们扩展的GDR-Net姿态估计器以24的批量大小进行100个周期,姿态细化器以32的批量大小进行80个周期。对于深度细化器,我们训练了我们自己的PyTorch实现的DeepIM[32],使用的是BOP[30]公开提供的模拟数据,除了YCB-Video。对于YCB-Video,我们直接使用了CosyPose[33]公开的细化器,它也是在BOP[30]的模拟数据上预训练的。在自监督训练阶段,我们用6的批量大小再训练姿态估计器100个周期。教师网络每10个周期通过指数移动平均(EMA)[104]以0.999的动量向学生网络更新一次。按照标准程序[14] [45] [48],我们分别训练每个对象的姿态估计器和细化器。

使用的自监督超参数

我们的整体目标函数从等式(16)可以分解为以下项 L r g b − d s e l f = λ 1 L r w c e ( M ^ a m o d a l , M R ) + λ 2 L r w c e ( M ^ a m o d a l , M ~ a m o d a l ) + λ 3 L r w c e ( M ^ v i s , M ~ v i s ) + λ 4 L L a b + λ 5 L m s − s s i m + λ 6 L p e r c e p t u a l + λ 7 L p m + λ 8 L c h a m L_{rgb-d_{self}} = \lambda_1L_{rwce}(\hat{M}_{amodal}, M_R) + \lambda_2L_{rwce}(\hat{M}_{amodal}, \tilde{M}_{amodal}) + \lambda_3L_{rwce}(\hat{M}_{vis}, \tilde{M}_{vis}) + \lambda_4L_{Lab} + \lambda_5L_{ms-ssim} + \lambda_6L_{perceptual} + \lambda_7L_{pm} + \lambda_8L_{cham} Lrgbdself=λ1Lrwce(M^amodal,MR)+λ2Lrwce(M^amodal,M~amodal)+λ3Lrwce(M^vis,M~vis)+λ4LLab+λ5Lmsssim+λ6Lperceptual+λ7Lpm+λ8Lcham。我们分配了超参数,使它们各自的贡献保持在类似的范围内,如下所示:

| 超参数 λ 1 \lambda_1 λ1 λ 2 \lambda_2 λ2 λ 3 \lambda_3 λ3 λ 4 \lambda_4 λ4 λ 5 \lambda_5 λ5 λ 6 \lambda_6 λ6 λ 7 \lambda_7 λ7 λ 8 \lambda_8 λ8 | 值 |
| — | — | — | — | — | — | — | — |
| 值 | 1 | 1 | 1 | 0.2 | 1 | 0.15 | 10 {100, 0} |

注意,将 λ 8 \lambda_8 λ8设置为0,自监督就变成了我们在等式(15)中表示的无需深度数据的公式,即 L r g b s e l f L_{rgb_{self}} Lrgbself

4.2 数据集

4.2.1 合成训练数据

包括目标检测器、姿态估计器和姿态细化器在内的所有网络最初都在合成数据上进行预训练。基于物理的渲染(PBR)最近被证明对于提高2D检测[11]以及6D姿态估计[30]的性能是有希望的。与简单的OpenGL渲染[15]相比,PBR数据更加真实,并且强制执行物理合理性。因此,在我们的工作中,我们使用了[30]中公开可用的PBR数据以及各种增强(例如,随机高斯噪声、强度抖动等[20])来训练模型。我们想强调的是,即使使用了PBR数据,仅在合成数据上训练的姿态估计器在性能上仍明显逊色于使用真实姿态标签的相同网络[34]。与此相反,如4.4节所强调的,从真实数据中推断2D信息(如可见/非模态目标掩码)是非常可靠的,无论模型是在合成数据上训练的。

4.2.2 真实世界数据集

为了评估我们提出的方法,我们使用了几种常用的真实世界数据集。

  • LINEMOD [36]包含15个序列,每个序列都有约1.2k图像,具有杂乱和光照变化。只有13个提供了水密2 CAD模型,因此,我们像SSD6D [15]等其他工作一样,去除了另外两个序列。按照Brachmann等人[37]的做法,我们使用15%的真实数据进行训练,但丢弃了相应的姿态标签。
  • HomebrewedDB [10]是最近提出用于评估6D姿态的数据集。我们只使用与LINEMOD [36]共享三个对象的序列,以证明我们甚至可以在不同环境中对同一模型进行自监督。
  • Occluded LINEMOD [43]通过额外注释所有8个其他可见对象,扩展了LINEMOD的一个序列,这些对象经常遭受严重遮挡。我们采用BOP分割[9]进行测试,并使用剩余的样本进行自监督训练。
  • YCB-Video [38]是一个非常具有挑战性的数据集,包含21个对象,展示了杂乱、图像噪声、强遮挡和几个对称对象。
  • Cropped LINEMOD [19]是在LINEMOD的基础上构建的,包括11个不同小对象的中心裁剪图像,这些对象在各种姿态中被描绘在杂乱的场景中。该数据集适用于评估合成到真实领域的自适应,并具有约110k渲染源图像、10k真实世界目标图像和2.6k目标域的测试图像。

4.3 评估指标

我们根据常见的可区分模型点平均距离(ADD)指标[36]报告结果,该指标衡量的是变换后的模型点 e A D D eADD eADD的平均偏差是否小于对象直径的10%。

e A D D = avg x ∈ M ∥ ( R x + t ) − ( R ^ x + t ^ ) ∥ 2 eADD = \text{avg}_{x \in M} \left\| (Rx + t) - (\hat{R}x + \hat{t}) \right\|_2 eADD=avgxM (Rx+t)(R^x+t^) 2

对于对称对象(例如LINEMOD中的Eggbox和Glue),我们使用可区分模型点平均距离(ADD-S)指标,它将误差测量为到最近模型点的平均距离[105]。

e A D D S = avg x 2 ∈ M min ⁡ x 1 ∈ M ∥ ( R x 1 + t ) − ( R ^ x 2 + t ^ ) ∥ 2 eADD_S = \text{avg}_{x_2 \in M} \min_{x_1 \in M} \left\| (Rx_1 + t) - (\hat{R}x_2 + \hat{t}) \right\|_2 eADDS=avgx2Mx1Mmin (Rx1+t)(R^x2+t^) 2

在YCB-Video上评估时,我们还计算了ADD-S/ADD(-S)的AUC(曲线下面积),通过将距离阈值从0cm变化到10cm,如PoseCNN[38]中的做法。其中,ADD-S对所有对象使用对称度量,而ADD(-S)仅对对称对象使用对称度量。对于Cropped LINEMOD,我们报告PixelDA[19]的平均角度误差。

4.4 消融研究

预测掩模的质量分析

由于自监督学习需要从合成训练模型OURS(LB)获得高质量的估计掩模,我们展示了定量的结果。表1展示了不同数据集上预测掩模与真实掩模之间的交并比(mIoU (%))。基本上,我们可以在任何数据集上对于可见掩模报告至少85%的mIoU,对于Occluded LINEMOD和YCB-Video的模态掩模,这一数字甚至超过88%。这表明,由于基于物理的渲染,从真实数据预测的掩模非常准确,并且可以作为可靠的自监督信号。

Occluded LINEMOD上的消融研究

表2展示了在LINEMOD上进行消融研究的结果,使用ADD(-S)指标的平均召回率(%)。对于像LINEMOD、HomebrewedDB和Cropped LINEMOD这样的数据集,由于遮挡几乎可以忽略不计,因此我们只预测了可见掩模,并将其视为模态掩模。消融研究表明,预测“仅Mvis”和“Mamodal和Mvis两者”的结果几乎相同,无论是对于合成训练模型OURS(LB)还是自监督模型OURS。

考虑遮挡的自监督与位姿误差

为了证明我们提出的考虑遮挡的自监督Lself与实际6D位姿误差之间确实存在高相关性,我们从Occluded LINEMOD中随机抽取了50个样本,并在每个样本上分别进行优化,始终以OURS(LB)进行初始化。图3展示了每次迭代时损失与位姿误差的平均行为。随着损失的减少,旋转和平移的位姿误差也都持续下降,直到收敛。附带的定性图像(图3,右侧)进一步支持了这一观察,因为初始位姿明显比最终优化结果更差。

不同检测器的消融研究

表3还展示了我们的方法对于不同检测器的鲁棒性。在Occluded LINEMOD的BOP测试集上,将合成训练的检测器从Yolov4[35](AP: 64.3, AP50: 89.7, AP75: 74.2, 速度:22.4 ms/img)切换为稍差但速度更慢的Faster R-CNN[90],使用ResNet101[91]作为后端((AP: 62.4, AP50: 89.6, AP75: 74.0, 速度:70.8 ms/img),对于OURS - RGB-D只有1.2%的性能下降。因此,我们在所有其他实验中使用Yolov4作为基础检测器,以获得更好的准确性和效率。

遮挡下自监督的有效性

表3还展示了我们的自监督Lself在Occluded LINEMOD的BOP测试集下的遮挡下的有效性。

我们首先展示了嘈杂学生训练[31]策略在建立更鲁棒的自监督方面非常有用。当禁用学生输入的数据增强时,几乎所有对象都经历了显著的性能下降,整体平均召回率从64.7%下降到62.1%。特别是,几何引导对于启用自监督至关重要。禁用Lgeom几乎总是导致训练不稳定,平均召回率从52.9%下降到5.1%。有趣的是,尽管Self6D[34]在关闭Lmask时也发散了,但我们的新公式表现出更强的鲁棒性,这主要归功于由教师网络和Dref产生的强伪标签。

此外,我们将GDR-Net扩展为利用模态掩模是成功无标签训练的另一个关键因素。当移除模态掩模Mamodal时,网络的召回率从64.7%显著下降到55.1%。而Lvisual和Lpm只有相对较小的影响,当所有损失项一起使用时,才能获得最佳结果。此外,即使仅使用RGB信息,我们也可以以59.8%的成绩呈现出很好的结果,这比我们的合成基线OURS(LB)提高了6.9%的绝对改进。

最重要的是,通过提出的自监督,我们可以将性能从52.9%显著提高到64.7%。值得注意的是,我们的自监督将训练有和没有真实位姿标签之间的差距减少了一半以上,从OURS(LB) 52.9%到OURS 64.7%到OURS(UB) 74.4%。

4.5 与现有技术的比较

在本节的第一部分,我们将当前最先进的6D姿态估计方法与我们的方法进行比较。第二部分则展示了我们在Cropped LINEMOD领域的结果,这涉及到领域自适应。

4.5.1 6D姿态估计

在LINEMOD上的性能。与其他工作一致,我们区分了使用和不使用真实姿态标签的训练,即是否利用了带标注的真实训练数据。尽管利用了真实数据,我们并未采用任何姿态标签,因此必须被归类为后者。我们想强调的是,我们的模型可以在有无标签的训练中都产生最先进的结果。如表4所示,对于仅使用合成数据的训练,OURS(LB) 显示出77.4%的平均召回率,这明显优于先前最先进方法如MHP [55] 和 DPOD [49],它们分别报告了38.8% 和 40.5%。另一方面,对于使用真实姿态标签的训练,我们在所有最近发布的方法中表现最佳,包括PVNet [14] 和 CDPN [50],它们报告的平均召回率分别为91.0% 和 OURS(UB)。

值得注意的是,我们的两种模型,无论是RGB还是RGB-D,在所有自监督方法中都明显优于其他方法,报告的平均召回率分别为85.6%和88.5%,而Self6D和Sock等人[84]分别为58.9%和60.6%。此外,与Self6D [34] 形成鲜明对比的是,我们的方法甚至可以在缺少深度数据的情况下成功训练,而Self6D在去除深度分量时则完全失败,从58.9%下降到6.4%。我们想强调的是,我们提出的自监督方法甚至与最先进的全监督方法相当,因此在LINEMOD数据集上,几乎使姿态标签变得过时。

在HomebrewedDB上的性能。在表5中,我们将我们的方法与DPOD [49] 和 SSD6D [15] 进行了比较,它们在HomebrewedDB上与LINEMOD共享三个对象,并经过[16]的精炼(SSD6D+Ref.)。不幸的是,直接求解6D姿态的方法总是隐式地学习相机内参,这在暴露于新相机时会降低性能。基于2D-3D对应关系的方法则对相机变化具有鲁棒性,因为它们只是使用新的内参运行PnP。SSD6D +Ref. [16] 使用基于轮廓的姿态精炼,使用当前假设的渲染图。类似地,使用新内参重新渲染姿态可以轻松适应,并且可以超过DPOD和任何自监督方法对于Bvise对象。相比之下,由于我们直接从单个RGB图像回归姿态,我们的OURS(LB)的性能比任何其他方法都差,因为我们没有很好地泛化到HomebrewedDB的相机。尽管如此,我们仍然可以仅利用HomebrewedDB的15%未标注数据轻松适应新领域和内参。实际上,我们几乎将所有仅使用合成数据训练的方法的ADD数字翻倍,并至少超过所有自监督方法(例如Self6D [34] 和 Sock等人[84])20%,当仅使用RGB时,以及当在自监督期间同时利用深度数据时超过25%。我们进一步几乎完全填补了上下界之间超过90%的差距,将OURS(LB)从3.1%推至令人印象深刻的84.4%,而OURS(UB)报告了93.8%。因此,我们的方法也非常适合在遇到目标领域缺乏真实数据时进行领域自适应的任务。

正如我们在最初的手稿[34]中所好奇的,我们再次想了解我们的模型在暴露于真实数据量方面适应能力。我们将HomebrewedDB的样本分为100幅图像进行测试,900幅图像用于训练。之后,我们重复使用增加量的真实数据训练我们的模型,但总是在相同的测试分割上进行评估。在图4中,我们展示了相应的结果。仅使用10%的数据进行自监督,我们几乎已经可以达到84%左右的最优性能。这明显优于Self6D [34],后者需要近50%的数据。总之,我们可以以更少的数据实现更快的适应速度,同时仍然轻松超过Self6D。

在Occluded LINEMOD上的性能。我们还在表6中在Occluded LINEMOD上评估了我们的方法。如前所述,Occluded LINEMOD是一个更具挑战性的数据集,因为许多对象经常遭受严重的遮挡。我们在BOP [9]设置下,将我们提出的方法与仅使用合成数据的最先进方法进行了比较。其中,我们的基线方法OURS(LB)已经明显优于所有其他方法。例如,我们以52.9%超过了目前BOP排行榜[30]上表现最佳的CosyPose [33]方法,后者为46.7%。此外,在利用剩余的真实RGB(-D)数据进行自监督后,我们再次显著提高了OURS(LB)的性能,并以超过80%和100%的相对改进率超过了Self6D [34]和Sock等人[84],分别对于RGB和RGB-D。有趣的是,尽管在我们的教师模型中使用了Dref [32],但我们的RGB-D版本的性能并不受Dref限制(64.7%对比62.5%)。然而,如果不使用深度数据,性能稍差(59.8%对比62.5%)。尽管如此,Dref的迭代过程使其比我们的直接回归推断要慢得多。具体来说,给定一个RGB图像,我们的姿态估计器运行大约需要10ms,而Dref平均需要额外的30ms。

最后,图5展示了Occluded LINEMOD的一些定性结果。自监督后的位姿(绿色)通常比自监督前(红色)的结果与真实位姿(蓝色)对齐得更好。我们还想指出,我们的自监督模型有时甚至可以产生比一些真实标签更准确的位姿(参见左上角第二幅图像)。

在YCB-Video上的性能。在表7中,我们比较了我们在YCB-Video上的方法与最先进的[14],[32],[33],[38]方法,依据常用的标准度量AUC of ADD-S/ADD(-S)。总体上,我们得出了与其他数据集相似的结论。特别是,无论是来自RGB还是RGB-D的自监督都有助于提升相关基线的性能。此外,我们的方法在AUC of ADD(-S)上几乎与使用真实姿态标签的最先进方法相当,达到了80.0%,相比之下[33]为84.5%,甚至在AUC of ADD-S上略优于90.7%的OURS(UB),达到了91.1%。自监督带来的整体改进对于YCB-Video来说不如其他数据集那么显著,仅在AUC of ADD-S和AUC of ADD(-S)上分别提高了约1%或2%。请注意,使用Dref [33]对预测结果进行细化后,改进幅度甚至更小。这主要归因于我们的基线模型已经在不需要真实姿态标签的情况下为YCB-Video产生了非常强的结果,与我们的竞争对手不同。尽管如此,我们想再次强调,我们的自监督在估计6D姿态时仍然有所帮助,并且在不使用真实姿态标签的所有方法中产生了最佳结果。在表8中,我们为每个单独的对象提供了详细的结果。


4.5.2 姿态估计的领域自适应

由于我们的方法适用于合成到真实领域的自适应,我们根据常用的Cropped LINEMOD场景评估转移技能。我们使用Cropped LINEMOD的真实训练集对模型进行自监督,并报告真实测试集上的平均角度误差。如表9所示,我们的合成训练模型(OURS(LB))略微超过了包括Self6D [34]在内的最先进方法。从本质上讲,我们的方法能够成功地在目标领域超越原始模型,将平均角度误差从11.2°降低到3.9°(或者如果不使用深度数据进行自监督,则为4.7°)。

5 结论

在这项工作中,我们介绍了Self6D++,这是第一个自监督的6D目标姿态估计方法,旨在无需6D姿态注释即可从真实数据中学习。利用嘈杂的学生训练和可微渲染,我们能够强制执行多个视觉和几何约束。此外,我们提出了一种针对遮挡情况的自监督更为健壮的姿态估计器,利用可见和非模态掩码信息。与[34]相比,由于嘈杂学生训练和基于RGB的深度细化器[32],[33]的能力,我们在自监督训练期间自然不再依赖深度数据。总之,我们的方法已显著减少与依赖真实6D姿态标签的最先进技术之间的差距。

作为未来的工作,将我们的自监督应用于看不见的对象或类别,当没有适当的3D CAD模型可用时,这将是很有趣的。另一个有趣的方面是将2D检测也纳入我们的自监督中,因为这允许在整个网络中,包括Yolov4,以端到端的方式反向传播损失。此外,开发更轻量级和高效的自监督学习方法可能是一个非常有趣和有意义的未来方向。


http://www.kler.cn/a/287893.html

相关文章:

  • 利用Blackbox AI让编程更轻松
  • VSCode设置
  • Redis下载历史版本
  • 自存 关于RestController请求传参数 前端和后端相关
  • SobarQube实现PDF报告导出
  • LlamaFactory介绍
  • 音视频解码 AVIO内存输入模式
  • nexus 清理 docker 镜像
  • rv1126-rv1109-mkcramfs-mkfs.cramfs-打包文件系统
  • 干货含源码!如何用Java后端操作Docker(命令行篇)
  • 基于STM32实现智能园艺系统
  • 数据结构代码集训day14(适合考研、自学、期末和专升本)
  • 从零开始,认识游戏设计师(2)游戏源于设计师
  • 新加坡:区块链与加密货币的全球创新中心
  • FATE Board 执行流程探索
  • C++20 是 C++ 语言的一次重大更新
  • 【dp力扣】环绕字符串中唯一的子字符串
  • 【C语言】通讯录的实现(详解)
  • Ansible一键安装Harbor服务
  • 【C++ 面试 - STL】每日 3 题(四)
  • 软考计算机软件基础知识总结
  • Linux之Prometheus
  • Apache SeaTunnel 2.3.7发布:全新支持大型语言模型数据转换
  • 《从C/C++到Java入门指南》- 28.接口
  • 海力士A-DIE颗粒内存条震撼发布:毁灭者星际战舰DDR5内存条登场
  • 快速了解NoSql数据库Redis集群