在计算机视觉领域,从RGB图像中估计六自由度位姿是一个基本任务。然而,在多目标场景中,这一任务变得极具挑战性。目前,最好的方法通常采用间接策略,即识别2D和3D对应关系,然后使用透视点方法求解。然而,这种方法无法端到端进行训练。 相反,直接方法由于目标大小变化和遮挡等挑战,导致精度较低。为了解决这些问题,作者提出了一种端到端的物体位姿估计网络SEMPose。SEMPose利用了一个精心设计的纹理-形状引导特征金字塔网络,有效地解决了目标大小变化的问题。 此外,它采用了一种迭代精炼头结构,逐步分别回归旋转和位姿,以提高估计精度。在训练过程中,作者通过选择可见部分的阳性样本来缓解遮挡的影响。实验结果表明,SEMPose可以在32 FPS的速度下进行推理,无需除RGB图像之外的任何输入。 它可以实时准确地估计多个物体的位姿,推理时间不受目标物体数量的影响。在LM-O和YCB-V数据集上,作者的方法在基于RGB的单模型方法中取得了更高的准确度。 即使与多模型方法和使用额外精炼的多方法相比,作者的结果仍然具有竞争力。
在机器视觉领域,六自由度(6D)位姿估计起着至关重要的作用。这种技术可以测量物体的位置(沿x、y、z轴的坐标)和方向(俯仰角、偏航角)。因此,它可以帮助机器人准确理解物体的空间姿态,这对于机器人抓取、移动或操作物体[1]至关重要。在这些过程中,常常会遇到需要估计多个物体的场景。这些物体通常大小不一,并且可能会相互遮挡。然而,尽管6D位姿估计技术取得了显著的进展,但现有的方法在处理多物体场景时仍然存在困难。
近年来,随着深度学习的深入研究,6D 姿态估计的方法不断涌现。与此同时,基于物理的渲染技术缩小了合成图像和真实图像之间的差距,提高了模型在实际场景中的泛化能力[28]。在这种背景下,基于深度学习的方法在 6D 姿态估计任务上取得了显著进展,在准确性和速度上都超过了传统的基于点对点特征的方法[27]。这些方法中,最直接的方法是从输入图像直接回归物体的 6D 姿态,无需额外的步骤或模型进行特征点检测或匹配。这些方法既适用于单目标场景,也适用于多目标场景,并且易于部署和训练。然而,由于遮挡和物体尺寸的变化,这些方法在准确性上仍落后于最先进的方法。间接方法通过利用对应关系概念实现更高的准确性。这些方法首先在 2D 图像中预测物体的关键点,然后将它们与相应的 3D 关键点匹配。最后,这些对应关系输入到 Perspective-n-Points (PnP) 算法或 RANSAC 算法,以获取物体的姿态。这种两阶段方法提高了准确性。
然而,这些方法也存在缺点:一方面,由于 PnP 和 RANSAC 的非可微分性质,这些方法无法直接端到端进行训练和部署;另一方面,即使只处理一个目标,RANSAC 的迭代过程也可能非常耗时[32]。
此外,在多目标姿态估计任务中,现有方法也面临一些挑战。
一方面,现有方法大多为特定类型的目标设计网络,导致难以泛化到其他类型。因此,为了在YCB-V数据集上提高准确性,许多方法训练了21个姿态估计模型针对21种不同的目标[8, 14]。这意味着在实际部署时,系统复杂性和资源消耗都较高。
另一方面,在多目标场景中,目标之间的大小和规模存在差异,可能导致网络训练过程中的不平衡和偏差[30]。
针对这些问题,作者提出SEMPose,这是一个用于多目标姿态估计的单端到端网络。作者的网络不需要除了RGB图像之外的其他附加信息,例如3D模型[33],深度图像[34],目标对称信息[10]或真实ROI信息[9]。
具体来说,作者采用了 Backbone -颈-头结构,使得整个网络可以端到端地进行训练。为了解决多目标场景中物体尺度的变化问题,作者设计了一种纹理-形状引导的特征金字塔结构,以层次化地捕捉不同大小的物体的融合特征。针对物体遮挡的问题,作者使用物体的未遮挡部分来指导在采样过程中进行正样本选择。此外,为了提高姿态预测的准确性,作者采用不同的策略预测旋转和翻译,并设计旋转迭代头和翻译迭代头。这使得作者的网络可以学习与翻译紧密相关的坐标特征,并充分利用上下文信息进行更全面的预测。
总体而言,作者的贡献如下:
主流的6D人体姿态估计方法采用间接回归方法。其中一些方法基于对应原则。这些方法首先在图像中检测目标物体的特征点,然后将这些特征点与已知模型中的对应特征进行匹配。接着,它们利用如 RANSAC或 Perspective-n-points (PnP)等算法,根据匹配点对计算目标物体的6D姿态。
例如,PVNet [8]预测关键点指向的像素级向量,然后通过基于RANSAC的投票机制确定关键点的位置。最后,PnP用于计算。一些方法[23, 24]预测每个物体类别的信念图和亲和图。信念图表示关键点位置的可能性,而亲和图表示3D边界框顶点和相应中心点之间的相关性。然后,从预测的信念图中提取2D关键点,最后,使用PnP算法计算姿态。虽然这些方法可以有效降低遮挡的影响,但RANSAC/PnP的非可微分性质阻止了端到端训练和部署;此外,场景中物体数量增加,对计算资源的需求显著提高。
另一种基于模板匹配[33, 35]的方法。这些方法首先利用一个三维模型构建一个二维模板数据库,然后使用滑动窗口算法将输入图像与数据库中的所有模板进行比较,以估计姿态。这种方法的准确性随着模板数量增加而提高,但同时也存在几个显著的缺点:
首先,在实际应用中获取准确的三维模型可能具有挑战性;
其次,随着场景中需要估计的物体数量增加,模板数据库的大小也会增加,导致处理速度显著降低;
第三,由于遮挡或光照变化引起的纹理变化,会极大地降低准确性。总的来说,这些间接方法在涉及多个物体的场景中存在许多局限性。
估计6D位姿最直接的方法是直接回归6D位姿。例如,一些方法通过计算 GT 位姿下模型上的点与估计位姿之间的平均平方距离来评估匹配损失。这种方法评估两个位姿下模型点之间的差异,以提高6D位姿估计的准确性。
PoET[9]利用神经网络从单目RGB图像中生成多尺度特征图并检测物体。这些特征和边界框随后通过Transformer处理,最终使用独立的旋转和翻译头预测每个物体的6D位姿。GDR-Net[5]首先预测中间几何特征图,包括密集对应图和表面面积注意力图。然后,一个2D卷积Patch-PnP模块直接从这些几何特征中回归6D位姿。
这些方法主要是端到端,这有利于训练和部署。然而,由于卷积神经网络直接从图像中直接回归6D姿态,它们面临着学习不同程度的空间转换依赖性的挑战,并且难以有效地处理遮挡问题。因此,这些方法的准确性有很大的提升空间。
给定一个包含N个物体的RGB图像I,作者的目标是同时估计它们的6D位姿,其中,是旋转矩阵,是平移向量。整个6D位姿表示从相机坐标系到物体坐标系的刚性变换。
图1 提供了作者提出方法的总体结构示意图。作者的SEMPose包括三个部分:Backbone 、 Neck 和 Head 。核心组件包括作者设计的TS-FPN、姿态估计 Head 以及由可见部分引导的积极样本选择策略。
在以下部分,作者首先(第3.1节)将详细介绍作者的TS-FPN。然后(第3.2节),作者将解释作者的旋转和翻译回归策略。接下来(第3.3节),作者将描述如何设计网络来实现这种策略。最后(第3.4节),作者将介绍网络处理遮挡的方法,具体是通过采样可见部分实现。
在神经网络中,底层通常捕获输入图像的基本特征,如边缘、颜色和纹理信息。这些特征会随着物体的旋转而变化。因此,通过捕获这些高频细节,神经网络可以更好地理解物体的方向,从而提供更准确的旋转估计。随着网络的加深,特征图对输入数据的抽象更深,描绘出更复杂的边缘结构和特定形状。这种低频信息通常反映物体的整体形状和较大结构特征,这对于估计平移至关重要。这是因为物体的全局形状和位置信息有助于网络确定物体的中心和位置。例如,当物体移动时,主要变化是低频信息,而边缘和纹理等高频信息则相对稳定。
传统特征金字塔网络[6]通过将低层的高分辨率信息与高层的语义丰富信息相结合,可以更好地处理不同尺度的目标。这在目标检测领域取得了良好的效果,但仍然不足以实现姿态估计[15, 16]。因此,作者提出了一种名为Texture-Shape-guided Feature Pyramid Networks(TS-FPN)的方法,进一步集成高和低频特征。与FPN相比,在自顶向下过程中,作者并不简单地使用上采样和相加的方法。如图2所示,作者的TS-FPN将上采样的低频特征 与高频特征 在通道维度上进行拼接。然后,它捕获了H和W的空间依赖性,生成注意力权重。这些注意力权重分别应用于和,然后将加权的高频/低频特征反向添加到/,以获得增强的特征/。这种增强过程可以描述为:
在本文中, 表示元素加法, 表示元素乘法, 代表 sigmoid 函数, 表示核大小为 7 的卷积, 表示通道池, 表示在通道维上进行 ConCat 。
在捕获了空间依赖性后,作者沿H轴/W轴逆时针旋转/ 90°。然后将按相同方式处理后的特征连接在一起,并在并行通道注意力中生成和、和之间的注意力权重。这些权重用于重新加权相应的增强特征,然后进行逆旋转。最后,对特征求平均,得到最终的融合特征。跨通道特征融合可以描述为:
在这篇论文中, 表示 0 维的最大池化和平均池化操作。下标 , , , 和 分别表示 90° 的顺时针和逆时针旋转: 表示沿 逆时针, 表示沿 逆时针, 表示沿 顺时针, 表示沿 逆时针。
最后,作者的TS-FPN在输出端进行下采样。它最终输出五个层次的特征图,融合了形状和纹理信息,以便进行进一步的目标检测和姿态估计。
在获得由TS-FPN提取的多尺度特征后,作者需要利用这些特征进行6D姿态估计。在旋转方面,作者的主要关注点是物体在图像中的外观,因为旋转可以显著改变物体的外观[36]。相应地,位移估计的重点是物体中心点相对于相机的距离,因为这将直接影响图像中物体的尺寸[37]。因此,旋转和位移应使用不同的策略进行估计。
在旋转回归中,所有在四维或以下实欧几里得空间中的表示都是不连续的。这意味着广泛使用的3D和4D表示(欧拉角和四元数)都是不连续的,这给神经网络学习带来了挑战[22]。
为了应对这个问题,作者采用了更高维的6D表示。与传统表示相比,其主要优势在于大多数情况下具有简单性和连续性,已在许多研究中得到验证[5, 22]。在6D表示中,一个旋转由两个3D向量表示,这两个向量对应于3D空间中的两个正交方向。作者的策略是通过旋转头直接回归6D向量。然后,作者可以从6D向量中恢复出两个3D向量,即。接下来,作者用这两个3D向量构建三个标准正交基,和。最后,作者用这三个基向量作为旋转矩阵的列,得到最终的旋转矩阵。这个过程可以表示为:
表示向量归一化,而符号 表示向量叉积。
在获得旋转矩阵后,作者使用公式5中的几何损失来训练旋转头[20]。该公式量化了预测旋转和实际旋转之间的角度差异。
为了验证这种表示的有效性,作者还尝试了四元数表示。四元数对同一旋转有两种不同的表示方式。因此,作者通过确保实部非负,对预测和实际的四元数进行归一化。此外,作者使用了如公式6所示的损失函数,它本质上与测地线损失[20]相似。两种表示方法的有效性将在第4节中进行比较。
由于卷积操作的翻译不变性,网络对绝对坐标的预测效果不如相对坐标[21]。
因此,作者并没有像PoET那样直接回归翻译向量。首先,摄像头坐标系与像素坐标系之间的转换可以表示为, 其中和表示图像上3D点的投影坐标,表示摄像机内参。基于这一点,作者将分解为投影点和。然后,作者将分解为 Anchor 点坐标和相对坐标。因此,作者可以通过预测偏移和来获得平移,即
在训练过程中,作者使用平移损失作为损失函数。
在上一节中,作者已经建立了旋转和位移的回归策略。将这些策略应用到网络结构中时,作者需要分别回归 和 。最直接的方法类似于目标检测任务[15, 16]中的 Head 。具体而言,它涉及使用类别 Head 和边界框 Head ,如图1所示。作者使用了四个3x3卷积来进一步优化由TS-FPN产生的特征图。最后,一个卷积层输出预测结果。
然而,与目标检测任务相比,6D位姿估计任务需要更高的精度。此外,回归位移依赖于坐标特征,而普通卷积很难提取这些特征。因此,作者没有使用类似于类别 Head 的结构来回归旋转和位移。受到EfficientPose[21]的启发,作者采用了一种迭代优化方法来逼近最终结果。基于这个,作者设计了旋转 Head 和位移 Head 。以旋转 Head 为例,其结构如图3所示。
近似方法分为两步。首先,使用位姿初始化模块(PInM)来细化TS-FPN的特征图 。细化过程得到 ,然后进一步处理得到 。具体来说,将 的 和 坐标归一化到 的范围内,并映射到 。这个过程生成了两个带有坐标特征的通道,然后将它们与 拼接在一起。拼接后的数据经过一个标准卷积层。然后,经过三个带群归一化和Swish激活函数的深度可分卷积层,得到 。 保留了初步的原始特征,用于进一步迭代。最后,通过一个深度可分卷积层将通道数减少到6,得到 。这样,作者就完成了坐标特征的添加和整体特征的初步利用。作者的第一步可以表示为:
指的是逐点可分卷积, 表示上述提取坐标信息的操作。
其次,作者在通道维度将 和 连接起来。然后,作者将连接的特征图输入到一个由两个深度可分卷积组成的姿态迭代模块(PltM)中。接着,作者使用另一个深度可分卷积来压缩通道,得到 。最后,作者将 添加到 上,得到优化的 。这种结构的优点在于,它不仅考虑了初始旋转估计,还整合了网络早期层的信息。这有助于利用更多的上下文信息,并为作者做出更全面的预测提供更全面的视角。因此,作者已经完成了一次迭代。作者的第二步可以表示为:
作者的翻译头和旋转头基本上是相同的。唯一的区别是作者使用翻译头中的两个分支,如图1所示。这对应于第3.2节中的和。在翻译头结束时,作者将两个分支沿通道维度拼接在一起,输出。此外,作者可以将其转换回翻译向量。
此外,作者的旋转和翻译头在各种尺度上共享权重,类似于FCOS的方法[15]。权重共享导致参数数量显著减少。这种方法确保只要在一个尺度上存在正样本,其他尺度上的权重也可以更新,尽管正样本数量较少。这有助于减轻各级头之间样本分布不均的问题。
在本节中,作者将描述解决多目标场景遮挡问题的方法。在单阶段目标检测器中,阳性样本指的是与物体标注实例相关联的采样点。这些用于训练目标类别的特征。通常,阳性样本选择的策略要么是考虑GT边界框内的所有点,要么是仅考虑靠近框中心的那些点作为阳性样本[15, 16]。Hai等人提出,对于刚性物体,使用可见部分作为阳性样本更为合理[29]。在存在多个物体的场景中,物体的遮挡现象很常见,而作者研究的物体都是刚性的。因此,在训练阶段,作者从物体的可见部分中采样阳性样本。如图4所示,不同采样策略进行了说明。
为了实现上述采样策略,作者首先在目标目标的真实边界框上均匀设置边界点。然后,作者计算相对于边界点的边界框内每个像素点的前景-背景差异。最后,根据前景-背景差异,作者确定物体的可见部分。整个过程如图5所示。作者可以看到,距离图和真实可见性 Mask 本质上是一致的。这意味着在正样本采样的过程中,作者可以实现类似于分割的效果。
上述过程的原则是,边界点通常不是目标目标的组成部分。像素点与边界点之间的差异越大,像素点更有可能是目标目标的一部分。具体而言,作者使用与颜色差异相关的最小障碍距离 [31] 和欧几里得距离 来表示 。这可以表示为:
在这里, 表示从 到 的路径集合, 是这些路径之一, 表示 的颜色亮度, 是一个平衡系数,其值为 0.1,用于调整颜色差异和距离的权重。那么, 可以由以下公式得到:
在公式中,外部的 表示 RGB 中的三个通道之一,而内部的 是路径 上的一个点。此外,对于由 TS-FPN 提取的特征图,作者通过计算每个单元格的可见性概率来:
其中表示单元格内像素的平均前景-背景差异,是特征图上所有单元格的集合。在作者的实验中,将满足的单元格设置为阳性样本。有关更多参数设置,请参阅[29]。
在本节中,作者首先提供实验的实现细节,使用的数据集描述以及评估指标。然后,作者将作者的方法与最先进的在两个公共数据集上的方法进行比较,以证明SEMPose的优势。最后,作者进行消融研究,以证明作者特定设计的有效性。
实现细节作者的算法基于PyTorch实现。作者选择ResNet-50 [3]作为 Backbone 网络,使用作者的TS-FPN作为 Neck 分,并设计四个头,对应不同的任务。作者的TS-FPN构建自ResNet的最后三层来提取特征,生成具有256通道的多尺度特征图。在作者的网络训练阶段,作者设置批量大小为16,并选择AdamW作为优化算法,将初始学习率设置为4e-4。优化器的beta参数设置为(0.9, 0.999),并设置权重衰减因子为5e-4和e为1e-8。OneCycle策略控制学习率调整[18],达到4e-4。训练共进行150个周期,其中学习率在初始的0.5%的步数中线性上升,然后在整个后续步数中线性下降。在优化配置中,作者使用L2范数类型的最大范数为35的梯度裁剪。作者的大部分实验都是在RTX 4090D GPU和AMD 3.1GHz CPU上进行的。此外,为了与其他方法保持一致,作者在RTX 3090 GPU和Intel 2.8GHz CPU上测量推理时间。
作者的方法基于两个核心数据集BOP的数据进行评估,分别是LM-O[19]和YCB-V[7]。LM-O数据集为8个低纹理物体提供了在各种遮挡条件下的6D位姿标注,非常适合测试算法的遮挡处理能力。作者仅使用物理渲染(PBR)数据进行训练,并在实际世界数据上进行测试。YCB-V是一个具有多种光照条件、杂乱背景和图像噪声的高挑战性数据集。它包括了不同大小的21个常见家用物体,其中一些物体具有高度对称性和物体之间的不同遮挡程度。原始YCB-V数据集包含了92个视频序列,作者使用了80个序列进行真实图像训练,剩余的12个序列用于测试。此外,作者还使用了官方提供的PBR数据进行训练。
评估指标 作者使用常用的ADD(-S) 指标进行评估。ADD 指标衡量由真实世界中的模型点转换为估计的位姿后的对应模型点之间的平均距离,适用于非对称物体。ADD-S 指标衡量由估计的位姿转换为每个模型点,以及由真实世界中的位姿转换为最近的模型点之间的平均距离,适用于对称物体。具体的公式如下:
在评估YCB-V时,作者还计算了ADD-S的AUC(曲线下的面积)。此外,作者分别计算了每个物体类别的测地线距离(旋转误差)和L2距离(翻译误差)。具体公式如下:
结果在LM-O上。表1显示了作者与最先进方法在LM-O[7, 9, 5, 8, 12, 13, 14]上的比较结果。在未使用额外微调的单模型方法中,作者的SEMPose实现了最先进的结果;与使用8个模型针对8个目标的8种方法相比,SEMPose也达到了类似的准确性。此外,SEMPose甚至超过了某些耗时方法,这些方法采用了微调。
在表2中,作者对比了SEMPose与其他最先进的YCB-V方法。在单模型无优化方法中,SEMPose继续取得最佳结果。对于使用21个模型进行预测的多模型方法,作者的结果仍然具有竞争力。此外,与采用优化方法的耗时方法相比,SEMPose在准确性方面也表现良好。
此外,作者还报告了每个类别平均旋转误差和平均翻译误差的比较。表3中列出的方法都是YCB-V的单模型方法。如表所示,作者的方法相对于其他方法具有较低的翻译预测误差;旋转预测误差仅大于使用旋转校正的SilhoNet,与GDR-Net相比,SEMPose将翻译预测误差减少2.47cm,旋转误差减少8.87°。
在图6中,作者展示了YCB-V的定性比较结果。作者使用预测的姿态将3D模型点投射到图像上,并对具有不同颜色的物体进行区分。显然,作者的方法有效地处理了遮挡问题,而其他单模型方法在解决这个问题上存在困难。对于GDR-Net和作者的SEMPose,在绘制之前使用0.4的分数阈值来移除低置信预测。然而,尽管如此,GDR-Net经常将背景物体误认为是目标,或者将目标误分类为其他物体。这是单模型方法的一个常见问题。
作者在YCB-V数据集上进行消融研究,以证明作者的设计有效。所有结果都针对第4.1节中描述的相同集。
纹理与形状的融合 在表格中,在行B0中,作者展示了不使用第3.1节提出的纹理与形状融合的结果。在去除特征融合后,翻译误差增加了29.6%,旋转误差增加了114.0%。同时,ADD-S和ADD(-S)的AUC分别降低了7.0%和14.1%。这表明通过集成纹理和形状特征,SEMPose可以捕获更准确的颜色信息,这对旋转预测尤其有益。
姿态回归策略在C0至C2行中,作者展示了使用不同的姿态回归策略的结果。具体而言:在C0行中,作者使用四元数而不是6D表示来表示旋转。在C1行中,作者从分别回归和转变为直接回归。在C2行中,作者利用预测和实际位移向量的L2距离作为翻译损失。每次调整都会导致不同程度的错误增加和准确性降低。必须强调的是,仅针对旋转或翻译进行调整会影响另一个值的精度。
由于这四个头共享网络 Backbone 和 Neck 的共同特征,因此针对一个参数的修改可能会不经意地改变 Backbone 和 Neck 的参数,从而影响其他值。
姿态 Head 结构:在D0行中,作者用类似于第3.3节中描述的迭代精炼 Head 替换了。这一调整导致准确率显著下降。原因在于简单的 Head 结构无法有效利用TS-FPN的融合特征。此外,传统的卷积层并不擅长提取坐标特征。
正面样本选择策略。 在第E0行,作者从边界框的中心选择正样本进行训练,预计会导致准确率降低。如3.4节所述,在姿态估计任务中,遮挡非常常见。严重的遮挡导致边界框的中心不再属于目标物体。从可见部分采样可以避免这个问题。
在RTX 3090 GPU和Intel 2.8GHz CPU上,输入一张的图像,作者的SEMPose平均需要31ms来获取图片中所有目标物体的6D poses。这种推理速度在主流方法中具有很高的竞争力。此外,如图7所示,作者的推理时间与图像中物体的数量无关,这与其他方法有显著区别。
在这项工作中,作者提出了一种名为SEMPose的新颖单端到端网络,用于多目标姿态估计。在仅使用RGB图像的方法中,SEMPose在LM-O和YCB-V数据集上实现了最先进的性能。
成功的关键在于作者采用了形状纹理导向的特征处理策略。这使得作者的SEMPose能够更好地从多目标场景中识别单个物体。另一方面,作者的迭代 Head 结构也减少了旋转和翻译的估计误差。这确保了SEMPose的估计精度。此外,作者从可见部分采样正样本,很好地解决了多目标场景中的遮挡问题。基于以上,SEMPose可以实时、准确地预测图像中所有目标物体的6D姿态。
在未来,作者计划将工作扩展到类别级姿态估计,这涉及在同一类别内预测先前未见物体的姿态。此外,作者旨在探索将深度信息集成到姿态估计中,以进一步提高姿态估计的鲁棒性和准确性,特别是在具有严重遮挡和复杂背景的挑战性场景中。
[0]. SEMPose: A Single End-to-end Network for Multi-object Pose Estimation.