Implicit 3D Orientation Learning for 6D Object Detection from RGB Images

从RGB图像中进行6D目标检测的隐式三维方向学习
论文是我自己翻译的,限于本人的水平,不到之处请多包涵
摘要:我们提出了一种基于RGB的实时管道[1],用于物体检测和6D姿态估计。我们新颖的3D方向估计基于去噪自动编码器的变体,该变体使用域随机化在3D模型的模拟视图上训练。
这种所谓的增强自动编码器与现有方法相比具有几个优点:它不需要真实的,带有姿势注释的训练数据,可以推广到各种测试传感器,并且固有地处理对象和视图对称性。它不是学习从输入图像到对象姿势的显式映射,而是提供由潜在空间中的样本定义的对象方向的隐式表示。在T-LESS和LineMOD数据集上的实验表明,我们的方法优于类似的基于模型的方法,并与需要真实姿势注释图像的最新方法竞争。
关键词:6D目标检测·姿态估计·域随机化·自动编码器·合成数据·姿态模糊·对称性
introduction
用于诸如移动机器人操纵和增强现实之类的应用的现代计算机视觉系统的最重要组件之一是可靠且快速的6D物体检测模块。尽管最近的结果非常令人鼓舞[17,15,40,38,12],但尚未提供灵活,通用,强大且快速的解决方案。其原因是多方面的。首先,当前的解决方案对于典型的挑战(例如对象遮挡,不同类型的背景杂乱和环境的动态变化)不够健壮。其次,现有方法通常需要某些对象属性,例如足够的纹理表面结构或不对称形状以避免混淆。最后,当前系统在运行时和它们需要的注释训练数据量方面效率不高。
因此,我们提出了一种直接解决这些问题的新方法。具体地说,我们的方法对单个RGB图像进行操作,这显着增加了可用性,因为不需要深度信息。我们注意到,尽管可以选择性地结合深度图来改进估计。作为第一步,我们应用Single Shot Multibox Detector(SSD)[22],它提供对象边界框和标识符。在由此产生的场景上,我们采用了我们新颖的3D方向估计算法,该算法基于先前训练的深度网络架构。虽然深度网络也用于现有方法,但我们的方法不同之处在于我们没有在训练期间明确地学习3D姿势注释。相反,我们隐式地从渲染的3D模型视图中学习表示。这是通过训练一个广义版本的去噪自动编码器[39]来实现的,我们称之为“增强自动编码器(AAE)”,使用一种新颖的域随机化[36]策略。我们的方法有几个优点:首先,由于训练独立于SO(3)中对象方向的具体表示(例如四元数),我们可以处理由对称视图引起的模糊姿态,因为我们避免了从图像到方向的一对多映射。其次,我们学习专门编码3D方向的表示,同时实现对遮挡,杂乱背景的强大性以及对不同环境和测试传感器的推广。最后,AAE不需要任何真实的姿势注释训练数据。相反,它被训练为以自我监督的方式编码3D模型视图,克服了对大型姿势注释数据集的需要。该方法的示意图如图1所示。

Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
related work
基于深度的方法(例如使用点对特征(PPF)[38,12])已经在多个数据集上显示出稳健的姿态估计性能,赢得了2017年的SIXD挑战[14]。但是,它们通常依赖于计算上的昂贵的姿势假设评估。此外,现有的深度传感器通常比RGB相机对阳光或镜面物体表面更敏感。
卷积神经网络(CNN)已经彻底改变了RGB图像的二维物体检测[29,22,20]。但是,与2D边界框注释相比,使用完整的6D对象姿势标记真实图像的工作量更大,需要专业知识和复杂的设置[15]。然而,大多数基于学习的姿势估计方法使用真实标记的图像,因此限于姿势注释的数据集。 [35,40,4,28]
因此,一些工作[17,40]已经提出对从3D模型渲染的合成图像进行训练,从而产生具有免费姿势标签的大数据源。然而,对合成数据的幼稚培训通常不会推广到真实的测试图像。因此,主要的挑战是弥合将模拟视图与真实摄像机记录分开的域间隙。
simulation to reality transfer
从合成数据到实际数据的推广有三种主要策略:

对象视图和背景的照片真实渲染显示了对象检测和视点估计等任务的混合泛化性能[26,34,25,30]。它适用于简单的环境,并且如果使用相对少量的真实注释图像联合训练,则表现良好。然而,照片般逼真的建模总是不完美的,需要很多努力。

域适应(DA)[5]指的是利用从源域到目标域的训练数据,其中一小部分标记数据(监督DA)或未标记数据(无监督DA)可用。通过从合成图像生成逼真来训练分类器[33],3D姿态估计器[3]和抓取算法[2],已经为无监督DA部署了生成对抗网络(GAN)。虽然GAN构成了一种有前途的方法,但往往会产生脆弱的训练结果。受监督的DA可以降低对实际注释数据的需求,但不会弃用它。

域随机化(DR)建立在以下假设的基础上:通过在各种半现实设置(增加随机照明条件、背景、饱和度等)中对渲染视图的模型进行训练,它还将推广到真实图像。托宾等人[36]证明了使用CNN进行三维形状检测的域随机化(DR)范式的潜力。Hinterstoisser等人[13]表明,通过随机合成纹理三维模型视图,只训练faster-rcnn[29]的头部网络,它也能很好地概括为真实图像。必须注意的是,它们的渲染几乎是照片真实的,因为纹理化的3D模型具有非常高的质量。最近,Kehl等人[17]首创了一个端到端的CNN,称为“ssd6d”,用于6d目标检测,使用适度的dr策略来利用合成训练数据。作者在改变亮度和对比度的同时,在mscoco背景图像[21]上以随机姿势渲染纹理三维对象重建的视图。这使得网络可以概括为真实图像,并在10Hz下实现6D检测。和我们一样,对于非常精确的距离估计,它们依赖于使用深度数据的迭代最近点(ICP)后处理。相比之下,我们不把三维方位估计作为分类任务。
Learning representations of 3D orientations
我们描述了使用固定SO(3)参数化进行训练的困难,这将激发对特定对象表示的学习。
回归。由于旋转存在于连续的空间中,因此直接回归固定的SO(3)参数化(如四元数)似乎很自然。然而,代表性约束和姿势模糊可能引入收敛问题[32]。在实践中,用于全3D物体定向估计的直接回归方法并不十分成功[23]。

3D对象方向的分类需要SO(3)的离散化。甚至相当粗略的5度 间隔导致超过50.000种可能的类别。由于每个类仅在训练数据中稀疏地出现,这阻碍了收敛。在SSD6D [17]中,通过分别对离散化视点和平面内旋转进行分类来学习3D方向,从而将复杂度降低到O(n2)。但是,对于非规范视图,例如如果从上方看到物体,则视点的变化几乎等于面内旋转的变化,这产生模糊的类组合。通常,在执行单热分类时忽略不同方向之间的关系。

当依赖于3D方向的固定表示时,对称性是一个严重的问题,因为它们会导致姿势模糊(图2)。如果没有手动寻址,相同的训练图像可以分配不同的方向标签,这可以显着地干扰学习过程。为了应对模棱两可的物体,文献中的大多数方法都是人工适应的[40,9,17,28]。这些策略可以忽略一个旋转轴[40,9]而不是根据对象[17]调整离散化来训练额外的CNN来预测对称性[28]。这些描述了预先过滤掉对象对称性(2a)的繁琐的手动方式,但是处理由于自遮挡(2b)和遮挡(2c)引起的模糊性更难以解决。对称性不仅影响回归和分类方法,而且还影响任何基于学习的算法,该算法仅通过固定的SO(3)表示来区分对象视图。
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
描述符学习可用于学习在低维空间中关联对象视图的表示。 Wohlhart等人[40]引入了一种基于CNN的描述符学习方法,该方法使用三重态损失,最小化/最大化相似/不相似的对象方向之间的欧几里德距离。尽管在混合合成数据时,训练还依赖于姿势注释的传感器数据。此外,该方法不能抵抗对称性,因为损失可以由看似相同但具有相反取向的模糊对象视图支配。 Baltnas等[1]通过强制描述符和姿势距离之间的比例来扩展这项工作。他们通过在所考虑的姿势下利用物体的深度差来加权姿势距离损失来确认物体对称性的问题。这种启发式方法相对于[40]提高了对称对象的准确度。我们的工作也基于学习描述符,但我们训练自我监督的增强自动编码器(AAE),使得学习过程本身独立于任何固定的SO(3)表示。这意味着仅基于对象视图的外观来学习描述符,因此固有地考虑对称的模糊性。为描述符分配3D方向仅在训练之后发生。此外,与[1,40]不同,我们可以避免使用真实的标记数据进行训练。
Kehl等人[18]在LineMOD数据集[10]的随机RGB-D场景补丁上训练自动编码器架构。在测试时,比较来自场景和对象补丁的描述符以找到6D姿势。由于该方法需要评估大量补丁,因此每次预测需要大约670ms。此外,使用局部补丁意味着忽略对象特征之间的整体关系,这对于存在很少纹理是至关重要的。相反,我们训练整体对象视图并明确学习域不变性。
Method
在下文中,我们主要关注基于增强自动编码器(AAE)的新型3D方向估计技术。

autoencoders

最初的自动编码器(AE),由Hinton等人介绍[31],是一种用于高维数据的维数降低技术,如图像,音频或深度。它由编码器Φ和解码器Ψ组成,两者都是任意可学习的函数逼近器,通常是神经网络。训练目标是在通过低维瓶颈后重建输入x∈RD,z称为潜在表示∈Rn,其中n << D:
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
每个样本的损失只是像素方式L2距离的总和
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
例如,所得到的潜在空间可以用于无监督聚类。
去噪自动编码器[39]具有修改过的训练程序。这里,在重建目标保持清洁的同时,将人工随机噪声应用于输入图像x∈RD。训练的模型可用于重建去噪的测试图像。但潜在的代表性如何受到影响?
假设1:去噪AE产生潜在的表示,这些表示对噪声是不变的,因为它有助于去噪图像的重建。我们将证明这种训练策略实际上不仅对抗噪声而且对各种不同的输入增强实施不变性。最后,它允许我们弥合模拟和真实数据之间的域差距。
Augmented Autoencoders
AAE背后的动机是控制潜在表示编码的内容以及忽略哪些属性。我们将随机增强f_augm(.)应用于输入图像x∈RD,编码将变为不变量。重建目标仍为eq(2)但是eq(1)变成
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
为了证明假设1适用于几何变换,我们学习了二进制图像的潜在表示,描绘了不同尺度的2D正方形的平面内平移和旋转。我们的目标是仅在二维潜在空间z∈R^2中编码面内旋转r∈[0,2π],而与尺度或平移无关。图3描绘了在训练类似于图5中的模型的基于CNN的AE架构之后的结果。可以观察到,在固定尺度和平移(1)或随机尺度和平移(2)上训练的AES不仅不能清楚地编码旋转,而且对其他潜在因素也很敏感。相反,AAE(3)的编码对于平移和缩放保持不变,使得具有重合方向的所有正方形被映射到相同的编码。此外,潜在表示更平滑,潜在维度模拟频率f =4/2π的移位正弦和余弦函数。原因是正方形具有两个垂直的对称轴,即在旋转π/2之后,正方形看起来相同。基于对象外观而不是固定参数化来表示方向的这种属性对于避免在估计3D对象方向时由于对称性引起的模糊是有价值的。
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
图3:左:来自四个分布(a,b,c和d)的64x64个方格,由用于训练和测试的标度(s)和平移(txy)区分[24]。右:在训练普通AE(1),(2)和AAE(3)以重建正方形之后,分布(a),(b)或(c)的所有旋转(r)的归一化潜在维度z1和z2相同的方向。
Learning 3D Orientation from Synthetic Object Views
我们的玩具问题表明我们可以使用几何增强技术明确地学习物体平面内旋转的表示。应用相同的几何输入增强,我们可以从3D对象模型(CAD或3D重建)编码整个SO(3)视图空间,同时对不准确的对象检测具有鲁棒性。然而,编码器仍然无法同从真实RGB传感器得到的的图像联系起来,因为(1)3D模型和真实物体不同,(2)模拟和真实照明条件不同,(3)网络无法从背景杂乱和前景遮挡区分物体。我们在AAE框架内提出了一种域随机化(DR)技术,以使编码对于无关紧要的环境和传感器变化不变,而不是试图模仿模拟中特定真实传感器记录的每个细节。目标是训练有素的编码器将差异视为真实的相机图像,只是另一种无关的变化。因此,在保持重建目标干净的同时,我们将额外的增强随机应用于输入训练视图:(1)使用随机光位置和随机漫反射和镜面反射进行渲染(OpenGL中的simple Phong模型[27],(2)从Pascal VOC数据集中插入随机背景图像[6],(3)不同的图像对比,亮度、高斯模糊和颜色失真,(4)使用随机对象遮罩或黑色方块应用遮挡。图4描绘了来自T-LESS [15]的对象5的合成视图的示例性训练过程。

Implicit 3D Orientation Learning for 6D Object Detection from RGB Images

图4:AAE的培训过程; a)重建目标批次x的均匀采样的SO(3)对象视图; b)几何和颜色增强输入; c)在30000次迭代后重建x ̂
Network Architecture and Training Details
在我们的实验中使用的卷积自动编码器架构如图5所示。我们使用bootstrapped[2]像素级的L2损耗,其仅在具有最大误差的像素上计算(每个图像自举因子b = 4)。从而,重建更精细的细节并且训练不会收敛到局部最小值。使用OpenGL,我们以随机3D方向和沿摄像机轴(700mm)的恒定距离均匀地渲染每个对象的20000个视图。得到的图像被平方地裁剪并调整为128×128×3,如图4所示。除了随机照明渲染之外的所有几何和颜色输入增强在训练期间以均匀随机强度在线应用,参数在补充中找到。我们使用Adam [19]优化器,学习率为2×10-4,Xavier初始化[7],批量大小= 64和30000次迭代,单个Nvidia Geforce GTX 1080需要大约4个小时。
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
具有被遮挡测试输入的自动编码器CNN架构

Codebook Creation and Test Procedure
在训练之后,AAE能够从许多不同相机传感器的真实场景作物中提取3D对象(图8)。解码器重建的清晰度和方向是编码质量的指标。为了从测试场景作物确定3D对象方向,我们创建了一个码本(图6(顶部)):
1)从全视图球体(基于精制二十面体[8])在等距视点渲染干净的合成物体视图
2)以固定间隔旋转每个视图以覆盖整个SO(3)[3]
3)创建一个通过为所有结果图像生成潜码z∈R128并分配它们相应的旋转Rcam2obj∈R3x3的码本

在测试时,首先在RGB场景中检测所考虑的对象。该区域经过平方的裁剪并调整大小以匹配编码器输入大小。在编码之后,我们计算测试代码z test∈R128与来自码本的所有代码zi∈R128之间的余弦相似度:
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
在k-最近邻(kNN)搜索中确定最高相似度,并且返回来自码本的对应旋转矩阵{RkNN}作为3D对象取向的估计。我们使用余弦相似性,因为:(1)即使对于大型码本,它也可以在单个GPU上非常有效地计算。在我们的实验中,我们有2562个等距视点×36个面内旋转= 92232个总条目。 (2)我们观察到,可能由于旋转的圆形性质,缩放潜在测试代码不会改变解码器重建的对象方向(图7)。
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
图6:顶部:根据离散合成对象视图的编码创建一个码本; bottom:使用码本中余弦相似性最高的最近邻进行目标检测和三维方向估计 
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
图7:AAE解码器重建测试代码ztest∈R^128按因子s∈[0,2.5]缩放
图8:LineMOD(左)和T-LESS(右)场景作物的AAE解码器重建
Extending to 6D Object Detection
训练物体探测器。我们使用VGG16 base [22]和来自不同视点的黑色背景上的对象记录来微调SSD,这些视点在LineMOD和T-LESS的训练数据集中提供。我们还使用ResNet50骨干培训RetinaNet [20],这种骨干更慢但更准确。多个对象以随机方向,比例和平移方式复制到场景中。边界框注释相应地进行了调整。至于AAE,黑色背景被Pascal VOC图像取代。在60000个场景的训练中,我们应用各种颜色和几何增强。
投影距离估计。我们估计从相机到物体中心的完整3D平移〖t 〗pred,类似于[17]。因此,对于码本中的每个合成对象视图,我们保存其2D边界框的对角线长度l(syn,i)。
在测试时,我们计算检测到的边界框对角线l_test与对应的码本对角线l_(syn,max⁡_cos)之间的比率,即在相似的方向上。针孔相机模型用合成渲染距离t_(syn,z)和测试传感器与合成视角的焦距f_test,f_syn产生距离估计t_(pred,z)
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
t_(pred,x)和t_(pred,y)通过主点p_test,p_syn和标注框中心〖bb〗(cent,test)和〖bb〗(cent,syn)求得。
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
与[17]相比,我们可以预测不同测试内参的3D平移。
ICP精炼。可选地,使用标准ICP方法[41]在CPU上花费约200ms来对深度数据进行细化估计。详情见补充。
推理时间。具有VGG16基础和31类以及具有92232×128的码本大小的AAE(图5)的SSD产生表1中所示的平均推断时间。我们得出结论,基于RGB的流水线大约42Hz时,在Nvidia GTX 1080上是实时的。这可以实现增强现实和机器人应用程序,并为跟踪算法留出空间。多个编码器和相应的码本能够装入GPU存储器,使得多物体姿态估计可行。
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
Evaluation
我们在T-LESS [15]和LineMOD [10]数据集上评估AAE和整个6D检测管道。实例序列见补充。
Test Conditions
很少有基于RGB的姿势估计方法(例如[17,37])仅依赖于3D模型信息。大多数方法利用真实的姿势注释数据,甚至经常训练和测试相同的场景(例如,在略微不同的视点)[40,1,4]。通常的做法是忽略平面内旋转或仅考虑出现在数据集中的对象姿势[28,40],这也限制了适用性。对称对象视图通常单独处理[28,1]或忽略[40]。 SIXD挑战[14]试图通过禁止使用测试场景像素在6D定位算法之间进行公平比较。我们遵循这些严格的评估指南,但是处理6D检测中更难的问题,其中不知道哪个被考虑的对象存在于场景中。这在T-LESS数据集中尤其困难,因为对象非常相似。
Metrics
可见表面偏差(〖err〗_vsd)[16]是一个模糊不变的位姿误差函数,由估计的和真实可见物体深度表面之间的距离决定。与在SIXD挑战中一样,我们报告在〖err〗_vsd <0.3,公差τ= 20mm且物体可见度> 10%时的召回。尽管模型点的平均距离(ADD)指标不能处理姿态模糊,我们仍根据[11]中的协议(km = 0.1)为LineMOD数据集提供它。对于具有对称视图的对象(eggbox,glue),[11]计算到最近模型点的平均距离。在我们的消融研究中,我们还报告了〖AUC〗_vsd,它代表了“〖err〗_vsd与召回”曲线下的区域:
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
Ablation Studies
为了单独评估AAE,在本小节中,我们仅从Primesense和Kinect RGB场景作物上的T-LESS数据集预测对象5的3D方向。
表3显示了不同输入增强的影响。可以看出,不同颜色增强的效果是累积的。对于无纹理对象,即使颜色通道的反转似乎也是有益的,因为它可以防止过度拟合合成颜色信息。此外,使用随机Pascal VOC背景和增强功能在T-LESS中提供的真实物体记录训练产生的性能仅略高于使用合成数据的训练。图9a描绘了不同潜在空间大小对3D姿态估计精度的影响。性能开始在维度= 64时饱和。图9b我们证明了我们的域随机化策略甚至允许从无纹理的CAD模型中进行推广。

不同测试传感器颜色增强的消融研究。对象5,所有场景,T-LESS [15]。括号中三次运行的标准偏差。
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
6D Object Detection
首先,我们报告仅包含RGB的结果,包括2D检测,3D方向估计和投影距离估计。虽然这些结果在视觉上很吸引人,但是使用简单的基于云的ICP来改进距离估计,以与最先进的基于深度的方法竞争。表4显示了对T-LESS数据集的所有场景的6D检测评估,其中包含许多姿势模糊。我们的精确结果优于Kehl等人最近的局部补丁描述符方法,[18]即使他们只进行6D定位。
Vidal等人的最新技术(就SIXD挑战的平均准确度而言[14]) [38]通过姿势假设(平均4.9秒/对象)执行耗时的搜索。我们的方法产生相当的准确性,同时效率更高。表4的右侧部分显示了真实标注边界框的结果,其产生了姿势估计性能的上限。附录显示了一些失败案例,主要源于检测失败或强遮挡。在表5中,我们将我们的方法与最近引入的SSD6D [17]以及LineMOD数据集上的其他方法进行了比较。
SSD6D还训练3D模型的合成视图,但它们的性能似乎完全取决于复杂的遮挡感知,投射ICP细化步骤。我们的基本ICP有时会收敛到附近类似形状的物体。在RGB域中,我们的方法优于SSD6D。

Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
Implicit 3D Orientation Learning for 6D Object Detection from RGB Images
Conclusion
我们已经为自动编码器架构提出了一种新的自我监督训练策略,该策略能够在各种RGB传感器上进行稳健的3D物体定向估计,同时仅对3D模型的合成视图进行训练。通过要求自动编码器恢复几何和颜色输入增强,我们学习了一种表示(1)专门编码3D对象方向,(2)对合成和真实RGB图像之间的显着域间隙不变,(3)固有地考虑来自的姿态模糊度对称的对象视图。围绕这种方法,我们创建了一个实时(42 fps),基于RGB的管道,用于6D物体检测,尤其适用于没有姿势注释的RGB传感器数据的情况。

[1]pipeline: https://blog.csdn.net/qq_39521554/article/details/80653463管道机制实现了对全部步骤的流式化封装和管理(streaming workflows with pipelines)。管道机制(也有人翻译为流水线学习器?这样翻译可能更有利于后面内容的理解)在机器学习算法中得以应用的根源在于,参数集在新数据集(比如测试集)上的重复使用。使用管道机制可以大幅度减少代码量.总的来说这是一个非常实用而有趣的方法。注意:管道机制更像是编程技巧的创新,而非算法的创新。
[2]:自举法:自举法是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。
思想:
从给定训练集中有放回的均匀抽样,也就是说,每当选中一个样本,它等可能地被再次选中并被再次添加到训练集中。从初始样本重复随机替换抽样,生成一个或一系列待检验统计量的经验分布。
无需假设一个特定的理论分布,便可生成统计量的置信区间,并能检验统计假设。

算法:
(1)采用重抽样技术从原始样本中抽取一定数量(自己给定)的样本,此过程允许重复抽样。
(2)根据抽出的样本计算给定的统计量T。
(3)重复上述N次(一般大于1000),得到N个统计量T。
(4)计算上述N个统计量T的样本方差,得到统计量的方差。
[3]:SO(3): https://zh.wikipedia.org/wiki/旋轉群
在经典力学与几何学里,所有环绕着三维欧几里得空间的原点的旋转,组成的群,定义为旋转群。根据定义,环绕着原点的旋转是一个保持矢量长度,保持空间取向的线性变换。 两个旋转的复合等于一个旋转。每一个旋转都有一个独特的逆旋转;零角度的旋转是单位元。旋转运算满足结合律.由于符合上述四个要求,所有旋转的集合是一个群。