Self6D: Self-Supervised Monocular 6D Object Pose Estimation论文翻译
Abstract
6D目标姿态估计是计算机视觉中的一个基本问题。最近卷积神经网络(CNNs)被证明可以估计出可靠的6D姿态,即使输入是单目图像。然而,卷积神经网络是非常数据驱动的,但是获取足够的带标签数据通常非常耗时和耗力。为了克服这一缺点,我们提出了一种基于自监督学习的单目6D位姿估计方法,消除了对真实数据的标注需求。在用合成的RGB数据对我们提出的网络进行全监督训练后,我们利用神经渲染的最新进展,在未标注的真实RGB-D数据上进一步对模型进行自监督训练,寻求视觉上和几何上的最佳预测。大量的实验表明,我们提出的自监督方法能够显著提高模型的原始性能,优于依赖合成数据或使用领域自适应的其他方法。
Keywords:自监督学习,6D姿态估计
Introduction
虽然最近基于学习的方法在估计6D姿态(即3D平移和旋转)方面表现出了很好的性能,但是其通常需要大量的训练数据。此外,与大多数2D计算机视觉任务(如分类、目标检测和分割)不同,获取真实世界中的6D对象姿态标签更为耗力耗时和容易出错。
为了解决数据不足的问题,一种常用的方法是模拟大量的合成图像。这对于物体的姿态估计尤其有吸引力,因为人们通常是针对相应的CAD模型从图像中估计出6D姿态的。我们知道CAD模型可以通过随机采样6D姿势轻松生成大量RGB图像。许多方法通常依赖于使用OpenGL渲染这些模型,并将它们放置在随机背景图像上(例如COCO等大规模2D对象数据集中绘制),以便对不断变化的场景施加不变性。最近的研究建议使用基于物理的渲染来生成高质量的渲染,并且额外地加强实际的物理约束,因为它们可以为6D姿势提供额外的提示。
尽管这些方法取得了令人信服的结果,但由于真实数据和合成数据之间存在领域差距,这些方法在从真实数据推断时仍然表现出较差的性能。虽然域自适应技术[1]、域随机化技术[49]和真实感绘制技术[15]在一定程度上缓解了这一问题,但其性能仍远远不能令人满意。这促使我们从另一个不同的角度来研究这个问题。人类有着惊人的才能从二维图像来感知三维世界。此外,他们甚至可以在没有监督的情况下,通过观察和验证这些观察是否符合预期结果[47],从另一个人或标签以自我监督的方式学习三维世界的属性[47]。在我们的领域中,虽然标记6D姿势是一个严重的瓶颈,但是获得未标注的数据可以很容易地在规模上实现。因此,与人类的学习类似,我们的目标是通过利用这些无监督的例子,教神经网络来推理物体的6D姿势。如图1所示,我们首先用合成数据对我们的方法进行全监督训练。然后,使用未注记的RGB-D数据,利用自监督学习来提高模型在实际数据上的性能。
图1:我们提出的方法的简单说明。我们通过在图像上显示通过姿态变换后的三维边界框来实现6D姿态的可视化。为了避免使用真实的6D姿态标注,我们首先在合成的RGB数据上训练我们的模型(a)。其次,使用大量未标记的真实RGB-D图像(b),我们显著地提高了它的性能(右)。蓝色框代表ground truth姿态,我们用红色和绿色分别展示了自我监督前后的结果。
为了实现这一点,需要从二维图像中理解三维特性。在眼睛视网膜上体验三维世界的机制被称为渲染,在计算机图形学中也得到了广泛的研究[40]。不幸的是,由于光栅化步骤的原因,渲染也是不可微的,因为argmax函数无法计算梯度。然而,最近提出了许多可微绘制的方法。因此,实际梯度要么近似于[21,36],要么通过近似光栅化函数本身进行解析计算[34,5]。总之,我们作出以下贡献。i) 据我们所知,我们是第一个利用真实数据且不需要标签的自监督的6D位姿估计方法。ii)利用神经渲染技术,提出了一种基于视觉和几何对准的自监督6D位姿估计方案。iii)我们的实验表明,我们提出的Self6D方法在很大程度上优于现有的无标签的单目6D姿态估计方法。
Related work
本文首先介绍了单目6D位姿估计的最新研究成果。然后,我们讨论了神经的重要方法,因为它们是我们和许多其他自监督学习框架的核心部分。然后我们概述了其他基于自我监督学习的成功方法。最后,我们简要介绍了6D姿态场中的域自适应问题,因为我们的方法可以看作是一个隐式的公式来缩小合成域与实际域的差距。
Monocular 6D Pose Estimation
近年来,单目6D姿态估计得到了广泛的关注,并提出了一些非常有前景的工作[14]。其中一个主要的分支是建立图像和三维CAD模型之间的2D-3D对应关系。在估计了这些对应关系后,通常采用PnP来求解6D姿态。受[2,3]的启发,Rad等人建议使用CNN来估计图像空间中三维边界框角点的二维投影[44]。类似地,[16,42]也回归相关稀疏3D关键点的2D投影,然而,两者都采用分段与投票相结合的方法来提高可靠性。相比之下,[57,29,41]确定了密集的2D-3D对应,而不是稀疏的对应。另一个分支的工作是学习一个姿态embedding,它可以用于后面的检索。特别的,受[54,23]的启发,[49]采用了一种增强的自动编码器(AAE)来学习3D旋转的潜在表示。一些方法也采用了直接回归6D姿态的方式。例如,虽然[22]扩展了[35]也对视点和平面内旋转进行了分类,[37]进一步调整[22]以通过多个假设(MHP)隐式地处理歧义。在[55]和[28]中,作者最小化了点匹配损失。这些方法中的大多数[16,41,44,50,55]都利用带标签的真实数据来训练他们的模型。然而,标记真实数据通常会带来大量的时间和人力成本。此外,缺乏足够的数据量可能会导致过拟合。相比之下,那些完全依赖合成数据来处理这些问题的研究[49,37],在性能上远远落后于基于真是数据的方法,因此,我们结合了这两个方法的优点。未注记的数据可以很容易地大规模获取,这与我们的自监督相结合,能够在很大程度上优于基于合成数据训练的方法。
Neural Rendering
光栅化是所有传统渲染流程的核心部分。然而,光栅化涉及到离散的赋值操作,阻止了整个渲染过程中梯度的流动。为了重建梯度流,人们已经做了一系列的工作。Loper和Black通过一阶泰勒近似引入了第一个可微渲染器来计算像素值的导数[36]。在[21]中,作者将梯度近似为像素强度随网格顶点的潜在变化。SoftRas[34]通过聚集每个网格三角形相对于渲染像素的概率贡献来进行渲染。因此,梯度可以通过解析法计算,但是需要额外计算。DIB-R[5]进一步扩展了[34],甚至能够根据各种不同的照明条件进行渲染。在这项工作中,我们使用DIB-R[5],它被认为是神经渲染的最新技术。
Recent Trends in Self-Supervised Learning
自监督学习,即尽管缺乏适当标记的数据,但最近仍使从二维图像理解到自主驾驶的深度估计的大量应用成为可能。自监督学习方法的核心是通过解决相关的代理任务来隐式地学习特定的任务。这通常是通过在多个视图或模式中实施不同的约束来实现的,例如像素一致性。
该领域的一个突出的方法是MonoDepth[8],由Godard等人提出,进行单目深度估计。作者训练了一个神经网络将二维图像点扭曲到另一个视图中,并强制执行最小的重投影损失来估计图像的深度。下面介绍了几个延伸单目深度的方法[43,9,10]。在视觉表征学习中,通过解决代理任务来确保一致性[25]。另一个研究方向是利用多视点极线几何[24]或在关键点的选取和重投影后施加2D-3D一致性[4],探索3D人体姿势估计的自监督学习。使用神经渲染的自监督学习方法也被用于从单个RGB图像进行3D重建的领域[19,60]。
在6D位姿估计领域,自监督学习仍然是一个尚未探索的领域。在文献[6]中,作者提出了一种新的带有交互式机械手的自标记方法。本质上,运行几种6D位姿估计方法,作者可靠地生成精确的标签。通过摄像机的姿态跟踪,这些标签会随着时间的推移而传播,以获得高的可伸缩性。然而,最终的6D位姿估计模型仍然使用所获得的数据进行全监督训练。在这项工作中,我们通过在神经渲染中加强视觉和几何一致性,直接使用自监督学习来估计6D姿态。
Domain Adaptation for 6D Pose Estimation
在6D位姿估计中,缩小合成数据和真实数据之间的域差距是一个关键的任务。许多研究都借助生成性对抗网络(Generative atteriral Networks,GANs)[1,27,56]来解决这一问题。生成器由此学习一种变换将来自合成域和真实域的样本对齐。例如,[27]使用基于分离表示的跨周期一致性损失来将图像嵌入到域不变的内容空间和特定于域的属性空间。相比之下,领域随机化[22,49,56]的工作旨在实现对特定领域属性的不变性。[22]利用COCO图像作为背景,并添加大量增强以使其对域保持不变,[56]使用对抗性训练来生成背景和图像增强,最大限度地“fooling”了姿势估计网络。
Self-Supervised 6D Pose Estimation
在这项工作中,我们的目标是通过自监督学习从单目图像中进行6D位姿估计。为此,我们提出了一种新的模型,可以从合成的RGB数据和真实世界中未标记的RGB-D数据中学习单目姿态估计。采用神经渲染技术,通过建立真实图像与相关6D姿态的渲染图像之间的一致性,实现对6D姿态估计的自监督。由于这需要良好的初始姿势估计,我们提出了一个二阶段方法。如图1所示,我们从仅使用合成RGB数据开始训练,然后利用未标记的真实世界RGB-D数据进一步提高姿态估计的性能。我们利用不同的视觉和几何约束来寻求对6D姿势的最佳对准。然而,虽然三维模型包含可见区域和不可见区域的信息,但深度图仅覆盖了可见表面,这使监督变得复杂,因为看不见的点会因引发对齐错误。因此,我们的目标是在当前姿态下只提取模型的可见表面。这可以通过剔除隐藏点,或者简单地以当前姿势渲染物体的方式来实现。因为我们需要渲染颜色来进行视觉对齐,所以我们使用渲染深度来进行可见表面的提取,这在计算上没有额外的成本。
我们使用文献[5]提出的可微渲染器DIB-R对模型进行6D姿态估计。由于DIB-R只能绘制RGB图像和对象蒙版(object masks),因此我们对其进行了扩展,以提供完全可微的深度图。此外,我们还修改了摄影机投影,以执行真实的透视投影1。假设6D姿态为3D旋转R,3D平移t,加上3D CAD模型M和相机内参矩阵K,我们绘制了由渲染的RGB图像IR、渲染深度图像DR和渲染掩模MR组成的三元组(IR、DR、MR)
架构细节。为了反向传播梯度,不止渲染,三维旋转和平移的预测也必须是可微的。虽然基于建立二维-三维对应关系的方法目前在该领域占主导地位,但由于无法计算PnP的梯度,因此它们是不可行的。为此,我们拟采取与ROI-10D[38]类似的网络架构,因为它们可以直接估计旋转和平移。然而,ROI-10D的预测姿态不够精确,无法满足我们自我监督的要求,因此,我们将我们的方法建立在最新的FCOS[51]探测器上。此外,我们后续自监督的一个关键部分需要对象实例掩码。由于没有提供标签,我们进一步扩展了ROI-10D来估计每个检测的可见对象掩码MP。
我们的模型基于目标检测器FCOS,使用基于ResNet-50的特征金字塔网络(FPN)[30]来计算二维区域提案(region proposals)。然后将不同层次的FPN特征与输入的RGB图像和2D坐标进行融合和连接[33],通过ROI-Align从中提取感兴趣区域来预测掩模(masks)和姿态。受ROI-10D的启发,我们使用不同的分支预测3D旋转R(参数化为四元数q),预测3D物体质心的2D投影(cx,cy)以及距离z来计算3D平移t,以及可见物体掩模MP。
为了训练第一阶段,我们使用焦点损失[31](focal loss)进行分类,使用GIoU损失[45]进行边界框回归。 我们依靠二进制交叉熵损失进行掩码预测。 如[28],我们使用不同模型的点距离的平均值作为姿态估计的目标函数。 最终损失可以总结为:
其中λclass,λbox,λmask和λpose表示每个损失函数的平衡因子,M表示3D模型,[R | t],[R _| t _]分别表示预测的和真实的姿态。 关于所用超参数的更多详细信息,请参考补充材料。
为了简化以下内容,我们将所有前景和背景像素定义为:
我们进一步将所有像素表示为:N = N +∪ N-
视觉对齐的神经渲染。最直观的方法是简单地将渲染图像IR与传感器图像IS对齐,直接在两个样本上应用一个损失。然而,由于IS和IR之间的域差距非常大,这在实践中并不奏效。尤其是,光照变化以及反射和糟糕的重建质量(尤其是在颜色方面)通常会导致较高的误差,尽管姿势估计很好,最终也会导致优化中的分歧。因此,为了尽可能减小域差距,我们施加了多个约束来度量不同的域无关属性。我们评估了关于蒙版,颜色,图像结构和高级内容的不同视觉相似性。
由于对象掩码与域无关,因此它们可以提供一个特别强大的监督。由于我们的数据未经标记,我们参考了预测的蒙版MP,以进行弱监督。然而,由于预测的蒙版不够准确,我们使用了修正的交叉熵损失[17],使其重新校准前景背景区域的权重。
虽然掩码没有受到域差距的影响,但它们会丢弃许多有价值的信息。尤其是对于几何简单的物体,颜色信息往往是消除6D姿态歧义的关键。
由于域偏移至少部分是由光引起的,因此我们尝试在测量颜色相似度之前将光解耦。 令ρ表示从RGB到LAB空间的转换,另外丢弃了光通道,我们根据下面的式子来评估其余两个通道上的颜色一致性
我们还借鉴了图像重建和领域迁移的各种思路,因为它们都克服了同样的难题。 我们还评估了RGB空间中的结构相似性(SSIM),并遵循通用做法使用多尺度变体,即MS-SSIM:
其中,○表示逐元素相乘,而s = 5是乘的比例。 有关MS-SSIM的更多详细信息,请参考附录和[59]。 另一个常见的做法是评估特征空间中的感知相似度[18,58]。 为此,通常使用像AlexNet [26]这样的预训练深度神经网络来确保低层和高层的相似性。 我们将感知损失应用于CNN的不同级别。 具体来说,我们提取L = 5层的特征图,并沿通道对其进行归一化。 然后,我们为每层l计算归一化特征图的平方L2距离。 我们在空间上对各个贡献进行平均,并跨所有层求和[58]
然后将所有四项的加权和作为视觉对齐
其中α,β和γ分别代表Lab,Lms-ssim和Lperceptual的平衡因子。 有关超参数的更多详细信息,请参阅附录。
几何对准的神经渲染。由于深度图只提供可见区域的信息,因此将其与转换后的3D模型(类似于公式3)对齐会损害性能。因此,我们利用渲染的深度图来仅对可见区域进行比较。然而,直接在两个深度图上使用损失会导致不好的对应,因为蒙版不相交的点无法匹配。
因此,我们对三维可见表面进行操作,以找到最佳的几何对齐方式。首先利用相应的掩模MP和MR对DS和DR进行反向投影,得到摄像机空间的可见点云ps和pr
(xj,yj)表示j在M中的2D像素位置。由于无法估计P S和P R之间的直接3D-3D对应关系,因此我们参考倒角距离以寻求3D的最佳对齐方式
整体自我监督损失是在视觉和几何对齐方面的简单组合
η表示平衡因子。 在图2展示了概述。值得注意的是,虽然我们需要RGB-D数据进行自我监督,但在后面的传播过程中我们不需要任何深度数据。
图2:我们的自我监督训练流程。 顶部:开始时我们纯粹基于合成RGB数据训练模型以进行6D姿态估计,以预测3D旋转R,平移t和对象实例蒙版(mask)MP。 利用大量未标记的RGB-D图像(IS,DS),通过自监督学习来提高模型的性能。我们使用微分渲染来渲染(R)相关的RGB-D图像和蒙版(IR、DR、MR)。底部:我们在视觉上(a和b)施加各种约束,并在几何上(c)对齐6D姿势。
Evaluation
在本节中,我们首先介绍我们的实验装置。然后,我们提出不同的消融实验,以说明我们的自我监督与实际的姿势错误之间存在着很强的相关性,并构成每个损失项的重要性。最后,我们将我们的方法与目前最新的6D位姿估计和区域自适应方法进行了比较。为了更好地理解,除了Self6D的结果外,我们还仅使用合成数据和另外使用真实的6D姿势标签来评估我们的方法。因为它们可以被认为是我们方法的上界和下界,所以我们将它们称为Self6D LB和Self6D UB。
合成训练数据。[52]和[15]最近提出使用真实感和物理上合理的渲染方式与简单的OpenGL渲染相比可以改进2D检测和6D姿势估计[22]。在我们的实验中,我们发现这两种方法的混合,再加上大量的增强(例如随机高斯噪声、强度抖动),可以得到最好的结果。
数据集。为了评估我们提出的方法,我们利用了常用的LineMOD数据集[11],该数据集由15个序列组成,每个序列具有≈1.2k的杂乱和轻度遮挡图像。其中只有13个提供了水密CAD模型,因此,我们删除了其他两个序列。在[2]中,作者建议抽取15%的真实数据进行训练,以缩小领域差距。我们使用相同的分割,并丢弃了姿态标签。
第二个数据集,我们使用了最近的HomebrewedDB[20]数据集。然而,我们只使用了LineMOD中包含三个对象的序列,证明我们可以在新的环境中对同一个模型进行自我监控。
为了与基于域自适应的方法进行比较,我们参考了常用的Cropped LineMOD数据集[54],其中包括11个不同小对象在不同姿态下成像的杂乱场景中的64×64块中心裁剪块。
6D姿态评价指标。
ADD:
ADDS:
Self6D: Self-Supervised Monocular 6D Object Pose Estimation论文翻译相关推荐
- Single-Stage 6D Object Pose Estimation 论文详解
摘要 这篇文章建立在基于分割驱动的6D姿态估计论文,论文中参考文献[13]就是这篇论文,实际上这两篇论文是一个实验室的工作,本篇论文也是在解决[13]结论中作者提出的问题. 最新的 6D 姿态估计框架 ...
- GDR-Net: Geometry-Guided Direct Regression Network for Monocular 6D Object Pose Estimati
转载请注明作者和出处: http://blog.csdn.net/john_bh/ paper 地址:GDR-Net: Geometry-Guided Direct Regression Networ ...
- Learning latent geometric consistency for 6D object pose estimation in heavily cluttered scenes
Learning latent geometric consistency for 6D object pose estimation in heavily cluttered scenes 在杂乱无 ...
- 论文笔记(三):PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes
PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes 文章概括 摘要 1. ...
- PoseCNN(A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes)复现记录
PoseCNN: A Cbjonvolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes 挖个坑,希望研究 ...
- 笔记:PoseCNN:A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes
PoseCNN: A Convolutional Neural Network for 6D Object Pose Estimation in Cluttered Scenes (Robotics: ...
- Single-Stage 6D Object Pose Estimation——6D姿态估计
Single-Stage 6D Object Pose Estimation 作者:Yinlin Hu,Pascal Fua, Wei Wang, Mathieu Salzmann 实验室:CVLab ...
- 论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion
论文笔记,物体六自由度位姿估计,DenseFusion: 6D Object Pose Estimation by Iterative Dense Fusion 链接 摘要 1,引言 2,模型 2.1 ...
- 2020.10.03读 Robust 6D Object Pose Estimation by Learning RGB_D Features
Robust 6D Object Pose Estimation by Learning RGB_D Features 1. 背景信息 2.方法 2.1旋转 2.2平移 3. 实验 3.1评估指标 3 ...
最新文章
- [51单片机学习笔记ONE]-----LED灯的多种使用方法
- python 调用sqldr_sqlldr并发
- 2D 游戏引擎 AlloyGameEngine
- 如何在Panel中嵌入子窗体
- meta viewport相关
- Redis系列教程(六):Redis缓存和MySQL数据一致性方案详解
- Halcon学习笔记:xyz_attrib_to_object_model_3d示例
- Multiple Gift(AtCoder-3731)
- Spring Cloud Ribbon 负载均衡客户端调用示例
- Divide Two Integers leetcode java
- 用html做网页作品,HTML5实例:用HTML5制作的网页的15个优秀案例
- openGL天空盒实现-立方体贴图
- 【Qt】Qt5.14.2配置yaml-cpp
- 关于使用硬改的路由器的各种经历
- Reducing Participation Costs via Incremental Verification for Ledger Systems学习笔记
- 关于异业联盟和O2O商业模式的一些想法
- Konva Vue当中的一些技术心得
- java 51_学习java第51天
- 魔兽铃声(适合做短信铃声)铃声 魔兽铃声(适合做短信铃声)手机...
- 计算两个时间的间隔时长
热门文章
- 练习六(归并排序、第k小元素、棋盘覆盖、大整数乘法)
- su linux pe,CГіmo encontrar individuos por su DNI en la red? GuГa transito a transito
- C语言中scanf()常见的错误
- 快来看啊,2023成都Java培训机构排行榜出来啦!
- openwrt上的asterisk的VOIP系统的建立
- H.265网页播放器EasyPlayer获取视频流正常,但是播放出现黑屏是什么原因?
- 微信公众号 修改 应用签名 不生效
- 04-JavaScript的操作
- access select max_超级玛丽2号Max:挑选重疾险需要避开这3大误区!
- 微信小程序demo1计算器