6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints学习笔记

摘要

        提出了一种基于RGB-D数据的类别级6D物体姿态跟踪的深度学习方法–6-PACK(6-Pack)。我们的方法实时跟踪已知对象类别(如碗、笔记本电脑和杯子)的新颖对象实例。6-pack学习通过几个3D关键点紧凑地表示对象,基于这些关键点,可以通过关键点匹配来估计对象实例的帧间运动。这些关键点是端到端学习的,无需人工监督,以便最有效地进行跟踪。

RGB-D(深度图像)

6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints学习笔记_第1张图片
6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints学习笔记_第2张图片
深度图像 = 普通的RGB三通道彩色图像 + Depth Map

        在3D计算机图形中,Depth Map(深度图) 是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道。其中,Depth Map 类似于灰度图像,只是它的每个像素值是传感器距离物体的实际距离。通常RGB图像和Depth图像是配准的,因而像素点之间具有一对一的对应关系。

6D位姿的含义

        6D是指6个自由度,代表了3个自由度的位移(Translation),以及3个自由度的空间旋转 (Rotation),合起来就叫位姿 (Pose)。位姿是一个相对的概念,指的是两个坐标系之间的位移和旋转变换。

对于物体的6D位姿估计,通常用物体从世界坐标系相机坐标系RT变换
3
其中,Tm是物体在世界坐标系下的坐标,Tc​ 是相机坐标系;Rcm是代表由世界坐标系到相机坐标系的旋转,tcm代表位移。

介绍

        在6D跟踪方面的开创性工作已经取得了显著的精度和鲁棒性,给定一个物体实例的3D模型,通常称为实例级6D跟踪。然而,在现实环境中,已知3D模型的假设可能是脆性的,因为新物体的完美几何形状很难获得。在这项工作中,作者提出研究类别级6D跟踪的问题,目标是开发能够在特定类别中跟踪新颖对象实例的类别级模型
        与我们最相关的是NOCS,它引入了一种类别级模型来从RGB-D图像中估计物体的6D姿态NOCS将每个对象像素变换为共享坐标帧,作为姿态估计的关键点。然而,从大量粗略的关键点估计姿势使得他们的方法容易受到来自杂波遮挡的噪声的影响。此外,这些按检测跟踪的方法不能利用来自先前帧时间信息。相反,我们试图开发一种跟踪模型,该模型学习紧凑和有区别的对象表示以实现健壮的注册,并利用时间一致性来进行有效的搜索。
        最后作者们提出了6-PACK:6D-Pose Anchor-based Category-level Keypoint tracker6- PACK跟踪RGB-D视频中的一小组关键点,并通过积累相对姿势随时间的变化来估计物体的姿势。这个方法不需要知道3D模型。 相反,它通过一种类似于2D物体检测中使用的提议方法的新型锚机制,规避了定义和估计绝对6D姿势的需要。这些锚点为生成3D关键点提供了基础。与之前需要手动标注关键点的方法不同,我们提出了一种无监督的学习方法,可以发现用于跟踪的最佳3D关键点集。

相关工作

        历史上,6D物体视觉姿态估计依赖于将物体的当前视图与给定的模板模型进行匹配。最近的6D物体姿态估计方法则学习直接输入图像模板物体模型渲染剪影进行匹配。然而,知道对象模型的要求将这些方法限制在已知的对象实例上。
        最近,KeypointNet通过利用多视图的几何一致性,展示了学习在3D空间中生成关键点而无需监督的好处。但是,当暴露于真实场景的有噪声的RGB-D数据时,这种方法就会受到影响,因为在真实场景中,物体有遮挡物,而且不居中,增加了可以找到关键点的三维空间的边界。
        密集关键点对应关系的依赖使得NOCS容易受到遮挡噪声的影响。相比之下,我们的新型关键点检测器仅根据最终姿势跟踪目标进行端到端的训练,以生成一组小但健壮的3D关键点进行跟踪,而无需直接的关键点监控
        作者的方法引入了一种新的锚定机制,使模型只在最相关的子空间中生成关键点。该策略显著提高了生成的关键点的质量,减少了估计姿势所需的关键点数量,使我们的模型能够实时跟踪物体。

问题

        对于一个对象类别的任何实例,给定它的初始6D姿势p0∈SE(3),以及它所属的类别(如杯子、碗、笔记本、…),作者将类别级6D姿势跟踪定义为连续估计对象在连续的时间帧 t-1t之间的姿势变化的问题,∆ p t ∈ S E ( 3 )姿势的变化包括旋转的变化△ R t ∈ S O ( 3 ) 和平移的变化△ t t ∈ R 3 ,△ p t = [ △ R t ∣ △ t t ]。然后通过递归应用最后一次估计的姿势变化来检索绝对姿势:p t = ∆ p t ⋅ p t − 1 = ∆ p t ⋅ ∆ p t − 1 ⋅ ⋅ ⋅ p 0
        作者们的方法受到最近关于学习预测6D物体姿态估计的3D关键点的启发。他们将三维关键点定义为三维空间k ∈ R3中的点,这些点在整个时间序列中几何和语义上是一致的。具体来说,给定两个连续的输入帧( I t − 1 , I t ) ,问题是从两个帧中预测匹配的关键点列表( k t − 1 , k t )。然后基于刚体假设,通过求解点集对齐问题,用最小二乘法优化,可以恢复姿势的变化△ pt 。

模型

6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints学习笔记_第3张图片
        6-PACK以如上方式执行类别级6D姿势跟踪。首先,6-PACK在物体预测姿势周围生成的锚点网格上使用关注机制
        首先,我们(1)在实例的预测姿势周围裁剪一个放大的体积,归一化为单位,(2)在体积上生成锚点网格。然后,我们(3)使用基于DenseFusion的网络来计算融合的几何和颜色特征,以满足我们的需求。中的M个点,(4)根据它们的距离将它们平均加权组合成N个锚特征。锚点特征被(5)用在一个注意力网络来选择最接近中心点,然后用来 (6) 生成一组有序的关键点。 整体工作流程(右下角)。基于锚点的关键点生成应用于前一帧和当前帧,以获得两组有序的关键点,计算帧间的姿势变化。 该姿势应用于之前计算的实例姿势,以获得当前估计的6D姿势。
        每个锚用周围RGB-D点的各个特征的距离加权和总结了它周围的体积。 通过这些信息,可以在新的RGB-D框架中找到物体的粗中心点,并指导后续对其周围关键点的搜索,这比以往方法在整个无约束的三维空间中搜索关键点更有效率。

        其次,6-PACK利用锚点特征生成对称和非对称类别的关键点。与之前的方法不同,这些关键点是以无监督的方式学习的,所以它们是基于训练数据进行跟踪的最稳健和最有参考价值的。

        最后,将当前帧和前一帧的关键点传递给最小二乘优化,计算出帧间的姿势变化。基于这个运动,我们外推下一帧中的姿势,使下一帧的锚点分布居中。

        该过程从给定的初始姿势p 0 所指示的位置开始。我们允许这个初始姿势包含一个错误,我们用一个初始迭代过程拒绝这个错误。我们生成 一组关键点,并将给定的姿势细化为集合的中心点,p 0 ′ 。 由于关键点的中心点是在训练过程中强加的,所以接近实例中心点。 然后,我们再次运行生成和修正,总次数为T=10次。我们选择最接近生成的关键点中心点的细化姿势作为跟踪过程的初始姿势,因为这个细化姿势最有可能是该类实例的正确姿势。初始化过程减少了提供一个非常精确的初始姿势p 0 的工作量,提高了类别级跟踪器的鲁棒性。

基于锚的注意机制

        由于巨大的输出空间,直接生成一组有序的3D关键点进行姿势跟踪非常具有挑战性。先前有关自动关键点生成的工作并未解决此问题:在其设置中,关键点是在以原点为中心的有界球体内为单个对象生成的。但是,在我们的设置中,对象可以位于RGB-D框架视场内3D空间中的任何位置。因此,关键点可以在无边界3D空间中的任何位置。
        所陈述的在无界空间中生成3D关键点的问题类似于2D对象检测的问题,其目标是在2D图像上的目标对象周围绘制一个紧密的边界框。解决此问题的成功方法是从在图像中绘制锚点的网格开始,然后找到最靠近对象中心的锚。这个过程粗略地定位了对象,并简化了第二步,即在锚周围生成一个更精确的边界盒建议。受这一想法的启发,我们提出了一种在预测的当前对象位置周围的3D锚网格上的注意力机制。每个锚点都包含了其周围体积的特征表示。模型根据这个特征,学习关注最接近物体中心点的锚。然后,3D关键点可以作为所选锚点的偏移点生成。通过将跟踪问题分为基于粗注意力的锚点选择细粒度的关键点生成,我们的跟踪器有可能处理更大区域的搜索空间(提高鲁棒性和可感知的帧间运动),同时保持高跟踪质量。
        如前所述,每个锚包含一个特征,代表它周围体积中的3D点。正如之前的工作所显示的那样,有可能将颜色和几何信息结合成一个融合的特征,用于姿势估计。作者们将DenseFusion特征嵌入应用于锚点网格内RGB-D图像中的所有彩色3D点,并使用距离加权平均法将其汇集到每个锚点中,生成锚点嵌入。
        假设网格有N个锚点,a i ∈ R 3 ,并包含M个来自RGB-D帧的彩色点,x j ∈ R 3 。因此,锚点到所有彩色点的距离向量为d i = [ d i 0 , d i 1 , ⋅ ⋅ ⋅ , d i M ] 。然后,将彩色点的特征权重定义为w = s o f t m a x ( d i ) 。基于这些权重,我们进行距离加权平均池化,生成锚点a i 的锚点嵌入ψ i ,ψ i = ∑ j w j φ j ,其中φ j 是DenseFusion编码器生成的x j 的点嵌入。
2
        这里β = m i n ( ∣ ∣ a i − o g t ∣ ∣ 2 ) , i = 1… N 指的是锚点到物体中心点的最小可能距离。我们使用一个两层MLP作为注意力网络。在评估过程中,6-PACK选择置信度得分最高的锚点,并生成关键点作为这个锚点的偏移量,下一节会解释。

无监督的3D关键点生成

        在基于锚点的注意力机制下,6-PACK以最高的置信度分数识别出锚点a i 和相关特征ψ i 。现在,6-PACK将利用这一特性生成最终的3D关键点集[ k 0 , . . . . . . , k K ],以跟踪对象类别的实例。我们提出了一个关键点生成神经网络,该网络将锚点特征作为输入,并生成一个包含有序关键点列表的K×3维输出。我们提出了一个关键点生成神经网络,该网络将锚点特征作为输入,并生成一个包含有序关键点列表的K × 3维输出。由于列表是有序的,我们不需要找到连续帧的关键点之间的对应关系来估计姿势的变化。

        如前所述,我们以无监督的方式训练我们的关键点生成网络,不需要人工标注,与有监督的方法相比,这使得类别级方向估计的转移性得到了改善。我们将关键点生成网络的无监督训练视为优化连续帧中生成的关键点之间的多视角一致性。换句话说,假设在两个连续的帧中分别生成了K个关键点;训练目标是将当前视图中的关键点放置在与前一帧关键点对应的位置上,并通过地面真实的帧间运动进行转换。这个目标可以形式化为以下的多视图一致性损失:
3
其中[ Δ R t g t ∣ Δ t t g t ] = Δ p t g t 为地真帧间的姿势变化。

        多视角一致性损失仅能保证帧间特征位置的一致性,与透视或物体的可见部分无关。 然而,这并不能保证这些位置对于我们的最终目标–估计姿势的变化是最优的(例如,所有的关键点可能最终都在同一个位置)。 为了解决这个问题,我们将基于关键点的姿势估计步骤变成一个可区分的姿势估计损失函数,并将其与训练过程中的多视角一致性损失相结合。该损失函数由平移损失Ltra旋转损失Lrot组成:
6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints学习笔记_第4张图片
        其中,k ˉ t 和k ˉ t − 1是上一帧和当前帧中关键点的中心点,Δ R ^ t 是基于生成的关键点集使用最小二乘优化估计的帧间方位变化。因此,这些损失迫使关键点被生成,从而可以从中计算出姿势的地面真实变化。

        作者们还整合定义了一个分离损失L s e p轮廓一致性损失L s i分离损失迫使关键点之间保持一定的距离,以避免退化配置,提高姿势估计。轮廓一致性损失迫使关键点更接近物体表面,以提高可解释性。

        除了上面介绍的主要目标外,我们还施加了一个中心点损失,迫使生成的关键点集的中心点位于对象的中心点L c e n,有用的修正给定初始姿势中的噪声,如本节开头所解释的。最终的整体训练损失是上面介绍的6个项的加权和,其中权重由它们的相对大小和重要性决定。

3D Keypoint Generation for Classes with Symmetry Axes:
        所提出的多视图一致性姿势损失函数不能很好地处理物体类别实例上的对称性,因为识别沿对称轴的旋转是一个无法解决的问题。我们提出了一种坐标系变换ρ ( ),它将点的坐标变换成一个围绕对称轴旋转不变的空间。图3说明了一个碗的实例上有五个点的情况下的变换。假设这一类所有实例的一些共同的对称轴s g t ,通过坐标的笛卡尔原点(图3中的y轴);我们将关键点k i 的位置从笛卡尔坐标中的( x , y , z ) 转化为定义为的三倍体( d , h , θ ) 。
6-PACK: Category-level 6D Pose Tracker with Anchor-Based Keypoints学习笔记_第5张图片
        对称轴的对象类。左:对象的透视图和五个关键点的笛卡尔坐标。右图。物体的鸟瞰图,同样的点转化为对称不变坐标(关键点2的坐标为d和θ)。

到对称轴的距离d:从k i 点到对称轴的距离,s g t 。
沿对称轴h的高度:k i 在对称轴上的正交投影与笛卡尔坐标原点之间的距离。
相对角θ:连接点k i 与对称轴的径向矢量与下一个关键点的径向矢量之间的分离角,当绕着s g t 顺时针前进时。

        新的坐标圆柱坐标密切相关,我们用相对的键点间角代替绝对旋转角。基于对称性不变的变换,我们将对称类的多视角一致性损失重新定义为:
6
        姿态估计损失也需要针对有对称轴的类别进行调整。虽然平移损失保持不变,但我们将旋转损失重新定义为对称轴方向的预测变化Δ s ^和地面真相变化Δ s g t t之间的角差。那么,这些类别的旋转损失就是简单的:
6

结论

        我们提出了一个类别级的6D物体姿态跟踪器6-Pack。我们的跟踪器基于一种新颖的基于锚点的关键点生成神经网络,它可靠地检测同一类别的不同实例上的相同关键点,并使用这些关键点来估计帧间姿势的变化。我们的方法以一种无监督的方式进行训练,以允许网络选择最好的关键点进行跟踪。我们将6-Pack方法3D几何方法深度学习模型进行了比较,结果表明,在一个具有挑战性的基于类别的6D对象姿态跟踪基准上,我们的方法达到了最先进的性能。此外,我们在高铁机器人平台上部署了6-Pack,表明我们的方法能够实现实时跟踪和机器人交互。

你可能感兴趣的:(点云,论文笔记,计算机视觉,人工智能,3d)