目标姿态估计综述:Deep Learning-Based Object Pose Estimation: A Comprehensive Survey
论文: https://arxiv.org/pdf/2405.07801
代码:https://github.com/CNJianLiu/Awesome-Object-Pose-Estimation
1 介绍
姿态估计可应用于增强现实,机器人操纵,手物交互等场景。根据应用需求,姿势估计被估计为不同程度的自由度(DOF),例如仅包括3D旋转的3DOF,除此外额外包括3D平移的6DOF,以及除了估计3D旋转和3D平移以外还额外包括物体3D大小的9DOF。
在深度学习时代之前,很多基于手工设计的方法,如SIFT,FPFH,VFH和点对特征(PPF),用于对象姿态估计。但,当面对复杂场景时,这些方法在准确性和鲁棒性上表现出缺陷。这些传统方法现在已被数据驱动的基于深度学习的方法所取代,利用深度神经网络的力量从数据中学习高维特征表示,从而 提高了复杂环境的精度和鲁棒性。
基于深度学习的对象姿态估计方法可以根据问题的表述划分为实例级,类别级和未见对象的方法。图1展示了三种方法的比较。
1.1 实例级姿态估计
早期的方法主要是实例级,训练以估计特定对象实例的位姿。实例级方法可以进一步分为基于对应,基于模板,基于投票和基于回归的方法。由于实例级别的方法是在特定于实例的数据上训练的,因此他们可以在 给定的特定实例对象上估计位姿,但他们的泛化性很差,因为他们只能应用于受过训练的实例。此外,许多实例级方法都需要对象的CAD模型。
1.2 类别级姿态估计
由于实例级姿态估计的局限性,第一个类别级的对象姿态和尺寸估计方法被提出。它们概括为类内未见过的物体,而无需在推理过程中进行重新训练和使用CAD模型。随后的类别级方法可以分为基于形状先验的和无形状先验的方法。
在提高类别中的概括能力的同时,这些类别级别的方法仍然需要对每个对象类别收集和标记广泛的训练数据。
1.3 未见对象的姿态估计
然而,类别级姿态估计方法无法推广到未见过的对象类别上。为此,最近提出了一些未见对象的姿态估计方法,可以将其分类为基于CAD模型的和基于手动参考视图的方法。这些方法进一步增强了对象姿态估计的泛化性,即可以将它们推广到未见过的对象上,而无需重新训练。尽管如此,他们仍然需要获取对象CAD模型或标注出对象的一些参考图像。
尽管在目标姿态估计领域取得重大进展,但在当前方法中仍然存在一些挑战,例如依赖标注的训练数据,难以推广到新的未见过的对象上,模型紧凑性,以及在挑战场景中的鲁棒性。
本文的调查涵盖了所有的问题表述,包括实例级、类别级和未见对象的姿态估计。同时还讨论了不同的领域训练范式,应用领域,评价指标和benchmark数据集,并报告了最先进方法在这些基准上的性能。此外,本文还强调了流行趋势,并讨论了他们的优缺点,以及确定未来研究的主要挑战和有希望途径。本次调查的分类见图2。
2 数据集和指标
2.1 实例级方法的数据集
2.1.1 BOP挑战赛数据集
Linemod Dataset(LM),Linemod Occlusion Dataset (LM-O),IC-MI / IC-BIN Dataset,RU-APC Dataset,YCB-Video Dataset (YCB-V),T-LESS Dataset,ITODD Dataset,TYO-L / TUD-L Dataset,HB Dataset,HOPE Dataset。
2.1.2 其他数据集
YCBInEOAT Dataset,ClearPose Dataset,MP6D Dataset。
2.2 类别级方法的数据集
2.2.1 刚性对象数据集
CAMERA25 Dataset,REAL275 Dataset,kPAM Dataset,TOD Dataset,Objectron Dataset,Wild6D Dataset,PhoCaL Dataset,HouseCat6D Dataset。
2.2.2 关节对象数据集
BMVC Dataset,RBO Dataset,HOI4D Dataset,ReArtMix / ReArtVal Datasets,ContactArt Dataset。
2.3 未见对象方法的数据集
目前评估不可见方法的主流数据集是BOP挑战赛数据集,如2.1.1节所述。除了这些BOP挑战赛数据集外,还有一些用于评估基于人工参考视图方法的数据集。
MOPED Dataset,GenMOP Dataset,OnePose Dataset,OnePose-LowTexture Dataset。
2.4 指标
2.4.1 3DoF评价指标
GT真值和预测的3D旋转角度之间的测地距离是一种常用的3DoF位姿估计指标。计算两个旋转矩阵之间的角度误差可以直观地评估他们的相对偏差。他可以被描述为:
其中 R g t R_{gt} Rgt 和 R R R 表示GT和预测的3D旋转矩阵。T 表示矩阵转置, t r tr tr 表示矩阵的迹,即主对角线上的元素之和。通常,三维旋转估计精度定义为角度误差在特定阈值以下且预测类别正确的物体所占的百分比。可以表述为:
其中 c , c g t , λ c,c_{gt},\lambda c,cgt,λ分别表示预测类,真实类和预定义的阈值。
在测地距离公式中, R g t T R R_{gt}^TR RgtTR 表示从 R g t R_{gt} Rgt 到 R R R 的相对旋转:
R g t T R_{gt}^T RgtT 是 R g t R_{gt} Rgt 的逆旋转(因为旋转矩阵正交, R g t T = R g t − 1 R_{gt}^T=R_{gt}^{-1} RgtT=Rgt−1)
R g t T R R_{gt}^TR RgtTR 等价于先旋转 R R R,再反向旋转 R g t R_{gt} Rgt,最终只保留 R R R 相对于 R g t R_{gt} Rgt 的差异部分。
旋转矩阵的迹 t r ( R g t T R ) tr(R_{gt}^TR) tr(RgtTR) 与旋转角度相关。对于单位旋转轴,迹的公式可简化为 1 + 2 c o s ϕ 1+2cosϕ 1+2cosϕ。通过反解 c o s ϕ cosϕ cosϕ,即可得到旋转角度 ϕ ϕ ϕ。
2.4.2 6DoF评价指标
目前,BOP指标(BOP-M)是最流行的度量方式,他是可见表面差异(VSD)的平均召回率(AR),最大对称表面距离(MSSD)和最大对称感知投影距离(MSPD)度量。
具体来说,VSD度量仅测量可见物体表面的错位量,将形状上不可区分的位姿视为等价。可以表述如下:
式中, D ^ \hat{D} D^ 和 D ‾ \overline{D} D 分别表示物体模型 M M M 在 P ^ \hat{P} P^(估计的位姿) 和 P ‾ \overline{P} P (GT位姿)两种不同姿态下渲染生成的距离图。在这些图上,每个像素 p p p 存储从相机中心到投影到 p p p 上的3D点 x p x_p xp 的距离。这些距离值来源于深度图,深度图是Kinect等传感器的输出,包含 x p x_p xp 的 Z Z Z 坐标。将这些距离图与测试图 I I I 的距离图 D I D_I DI 进行比较,得到可见度掩码 V ^ \hat{V} V^ 和 V ‾ \overline{V} V。这些掩码表示了模型 M M M 在图像 I I I 中可见的像素。参数 τ \tau τ 表示对失准角的容忍度。
VSD(Visible Surface Discrepancy)是一种评估物体姿态估计准确性的方法,它专注于物体"可见部分"的匹配程度。
简单理解
想象你在玩一个"找不同"游戏:
准备两张照片:一张是你猜的物体姿态渲染图(估计图),一张是正确答案图(真实图)
比较每个像素点:
如果这个点在两张图中都看得见:
用尺子量这个点在两张图中的"深度"(距离相机的远近)
如果两个深度测量值相差很小(小于容忍值τ):这个点算"找对了"(得0分)
如果相差很大:这个点算"找错了"(得1分)
如果这个点只在其中一张图看得见:直接算"找错"(得1分)
计算平均分:把所有像素点的得分加起来求平均,就是最终的VSD误差值。分数越低表示估计姿态越准确。
MSSD度量是确定机器人操作成功可能性的合适因素,并且不收物体几何形状或表面采集密度的显著影响。可以表述为:
其中,集和 S M S_M SM 包含对象模型 M M M全局对称变换,而 V M V_M VM 表示模型的顶点。
MSSD是评估物体姿态估计准确性的另一个重要指标,特别适合判断机器人能否成功抓取物体。
简单理解
想象你要用机械手抓取一个对称的物体(比如一个圆柱形杯子):
你有两个杯子摆放方式:一个是你估计的姿态,一个是正确姿态
由于杯子是对称的,可能有多个"看起来正确"的摆放方式
MSSD就是找出这些可能摆放方式中,与你的估计最接近的那个,然后测量它们之间的最大距离差
关键特点
考虑对称性:不会因为物体对称性而误判(比如把杯子转180度其实也是对的)
测量最坏情况:关注物体表面点之间的最大距离差(确保最远的点也不超过阈值)
适合机器人操作:因为机器人抓取最关心的是物体表面关键点的位置
公式解释
e_MSSD(估计姿态, 真实姿态, 对称变换集合, 模型顶点) = 在所有可能的对称变换S中,找到使下列值最小的: 估计姿态下的点 与 对称变换后的真实姿态点 之间的最大距离
用积木玩具来比喻:
你搭的积木模型(估计姿态)和说明书上的(真实姿态)比较
如果积木是对称的,允许你把说明书上的模型旋转/翻转(对称变换)
找出能使两个模型最接近的那种旋转/翻转方式
然后测量两个模型对应点之间的最大距离差
实际意义
MSSD值越小,说明估计的物体姿态越准确。这个指标特别重要,因为:
在机器人抓取时,即使整体姿态接近,如果某个关键点偏差太大,也可能导致抓取失败
能正确处理对称物体,不会因为对称性而给出错误评估
MSPD度量对于评估增强现实中RGB-only的方法是理想的,专注于可感知的差异,并排除沿光学(Z)轴的对准,可表示如下:
其中 p r o j ( ) proj() proj() 函数表示二维投影(像素级),其余符号与MSSD中相同。
MSPD是评估物体姿态估计准确性的第三个重要指标,特别关注物体在2D图像上的投影效果。
简单理解
想象用手机给一个物体拍照:
你有两张照片:一张是实际拍摄的(真实姿态),一张是根据你的3D模型估计生成的(估计姿态)
MSPD就是比较这两张照片中物体轮廓的匹配程度
特别的是:它不考虑物体在深度方向(Z轴)的差异,只关心在照片平面(X/Y方向)的差异
关键特点
纯2D比较:就像比较两张照片中物体的轮廓是否对齐
忽略深度差异:不关心物体离相机远一点或近一点(Z轴方向)
考虑对称性:和MSSD一样会考虑物体可能的对称摆放方式
除了BOP-M,平均点距离ADD和平均最近点距离ADD-S也常用来评价6DoF姿态估计。它们可以通过计算物体CAD模型上对应点之间的平均距离来直观地量化估计位姿与真实位姿之间的几何误差。具体来说,ADD度量是针对非对称对象设计的,而ADD - S度量是针对对称对象显式设计的。给定真值旋转 R g t R_{gt} Rgt 和平移 t g t t_{gt} tgt,以及估计的旋转 R R R 和平移 t t t ,ADD计算对应于真值和估计位姿变换的3D模型点 x ∈ O x∈O x∈O 之间的平均成对距离:
对于对称物体,某些视图中点与点之间的匹配具有内在的模糊性。因此,使用最近点距离计算平均距离如下:
除此之外, n ° m n°m n°mcm 也是比较流行的评价指标(特别是在类别级的物体姿态估计中)。他直接量化了预测的3D旋转和3D平移中的误差。如果物体的旋转误差小于阈值 n ° n° n°,平移误差小于 m m mcm,则认为该物体的位姿预测正确。如下所示:
其中 e R e_R eR 和 e t e_t et 分别表示估计值和真值之间的旋转和平移误差。
此外,相比于在三维空间中直接比较6Do F位姿,二维投影度量的简单性和实用性也使其适用于评估,它量化了CAD模型点在估计的物体位姿和地面真实位姿下投影时的平均距离。如果投影距离小于5个像素,则认为位姿是正确的。
2.4.3 9DoF评价指标
I o U 3 D IoU_{3D} IoU3D 表示GT与预测值的三维包围盒之间的交并比百分比,可以评估6DoF姿态估计和3DoF尺寸估计。他可以表述为:
其中 G B G_B GB 和 P B P_B PB 分别表示GT和预测的三维包围盒。符号∩和∪分别表示交和并。根据 I o U 3 D IoU_{3D} IoU3D 值是否超过预定义的阈值来判断预测物体位姿的正确性。
2.4.4 其他指标
由于一些基于归一化物体坐标空间( Normalized Object Coordinate Space,NOCS )形状对齐的类别级方法在估计物体姿态之前重建三维物体形状,因此通常使用Chamfer Distance ( CD )度量来评估这些方法的NOCS形状重建精度。CD度量不仅捕获了全局形状偏差,而且对局部形状差异敏感:
其中 N N N 和 M g t M_{gt} Mgt 分别表示重构的和真实的 NOCS 形状。
3 实例级物体姿态估计
实例级物体姿态估计描述的是在模型的训练过程中,对已看到的物体进行位姿估计的任务。将现有的基于实例级方法分为四类:基于对应,基于模板,基于投标和基于回归的方法。
3.1 基于对应的方法
基于对应关系的物体姿态估计是指识别输入数据域给定的完整物体CAD模型之间的对应关系的技术。基于对应关系的方法可以分为稀疏对应关系和稠密对应关系。
基于稀疏对应的方法是通过检测输入图像或点云中的物体关键点,建立输入数据域物体CAD模型之间的2D-3D或3D-3D对应关系,然后利用透视点(PnP)算法或最小二乘法确定物体位姿。
基于稠密对应的方法旨在建立稠密的2D-3D或3D-3D对应关系,最终实现更精确的物体位姿估计。对于RGB图像,他们利用了每个像素或多个块来生成像素级的对应关系,对于点云,他们使用整个点云来寻找点级别的对应关系。
这两种方法的示意图见图4。一些代表性方法的属性和性能如表1所示。
3.2 基于模板的方法
通过利用图像的全局信息,基于模板的方法可以有效地解决无纹理物体带来的挑战。基于模板的方法涉及从一组标注了真实物体姿态的模板中识别出最相似的模板。这些方法可以分为基于RGB的模板方法和基于点云的模板方法。这两种方法如图4所示。当输入是RGB图像时,模板包括从物体CAD模型中提取的2D投影,以及地面真实姿态的注释。这个过程将物体姿态估计转化为图像检索。相反,当处理点云时,模板包含具有规范位姿的物体CAD模型。值得注意的是,我们将直接回归物体CAD模型与观测点云之间相对位姿的方法归类为基于模板的方法。这是因为这些方法可以解释为寻求使观测点云与模板对齐的最佳相对位姿。因此,确定的相对位姿作为物体位姿。一些代表性方法的特点和性能如表1所示。
3.3 基于投票的方法
基于选举的方法通过像素级或点级投票方案确定物体姿态,可分为间接投票和直接投票两种主要类型。间接投票方法通过像素级投票从RGB图像中估计出一组预定义的2D关键点,或者通过点级投票从点云中估计出一组预定义的3D关键点。然后,通过输入图像和CAD模型之间的2D - 3D或3D - 3D关键点对应关系来确定物体的位姿。直接投票方法直接在像素级或点级预测位姿和置信度,选择置信度最高的位姿作为物体位姿。这几种方法的示意图见图4。一些代表性方法的属性和性能如表1所示。
3.4 基于回归的方法
基于回归的方法旨在从学习到的特征中直接获取物体位姿。它们可以分为两种主要类型:几何引导回归和直接回归。几何引导回归方法利用RGBD图像(如物体的3D结构特征或2D - 3D几何约束等)的几何信息来辅助物体姿态估计。直接回归方法利用RGBD图像信息直接对物体位姿进行回归。这两种方法的示意图见图4。一些代表性方法的属性和性能如表1所示。
4 类别级目标姿态估计
类别级方法的研究已经引起了极大的关注,因为它们可以泛化到已建立的类别中看不见的对象。在这一部分回顾了类别级别的方法,并将其分为基于形状先验的方法(和不基于形状先验的方法。这两个类别的说明见图5。一些具有代表性的SOTA方法的特点和性能如表2所示。
4.1 基于形状先验的方法
基于形状先验的方法首先在离线模式下利用类内可视物体的CAD模型学习一个神经网络来获得形状先验,然后将其作为三维几何先验信息来指导类内不可视物体位姿估计。在这一部分中,我们将基于形状先验的方法根据其处理物体姿态估计的方法分为两类。第一类是归一化对象坐标空间( NOCS )形状对齐方法。他们首先预测NOCS形状/地图,然后使用离线位姿求解方法(如Umeyama算法)将物体点云与预测的NOCS形状/地图对齐以获得物体位姿。另一类是姿态回归方法。它们直接从特征层面对物体位姿进行回归,使得位姿获取过程具有可微性。这两个类别的说明见图5。
4.2 无形状先验的方法
无形状先验的方法不依赖于使用形状先验,因而具有更好的泛化能力。这些方法主要分为3类:深度引导的几何感知方法、RGBD引导的语义与几何融合方法和其他方法。前两类插图如图5所示。
5 未见对象位姿估计
不可见物体姿态估计方法可以泛化到不可见物体上,而不需要重新训练。点对特征( Point Pair Features,PPF ) 是一种经典的未知物体姿态估计方法,它利用有向点对特征建立全局模型描述和快速投票方案进行局部匹配。最终位姿通过位姿聚类和迭代最近点精化求解。然而,PPF存在精度低、运行速度慢等问题,限制了其应用范围。相比之下,基于深度学习的方法利用神经网络从数据中学习更复杂的特征,而不需要专门设计的特征工程,从而提高准确性和效率。在这一部分回顾了基于深度学习的未知物体姿态估计方法,并将其分类为基于CAD模型和基于人工参考视图的方法。这两类方法的示意图见图6。
5.1 基于CAD模型的方法
基于CAD模型的方法是指在估计未知物体位姿的过程中,利用物体的CAD模型作为先验知识。这些方法可以进一步分为基于特征匹配的方法和基于模板匹配的方法。基于特征匹配的方法重点是设计一个网络来匹配CAD模型和查询图像之间的特征,建立2D - 3D或3D - 3D对应关系,并通过PnP算法或最小二乘法求解位姿。基于模板匹配的方法利用CAD模型的渲染模板进行检索。初始位姿是基于最相似的模板获得的,需要使用精化器进一步精化,以获得更精确的位姿。这两类方法的示意图见图6。一些代表性方法的特点和性能如表3所示。
5.2 基于手工参考视图的方法
除了这些基于CAD模型的方法外,还有一些基于手工参考视图的方法,这些方法不需要未知对象的CAD模型作为先验条件,而是需要提供一些与目标对象手工标注的参考视图。与基于CAD模型的方法类似,这些方法也分为两类:基于特征匹配的方法和基于模板匹配的方法。这两类方法如图6所示。一些代表性方法的属性和性能如表4所示。
6 应用
随着物体姿态估计技术的进步,一些利用这一进步的应用已经被部署。在这一部分,我们详细阐述了这些应用的发展趋势。具体而言,这些应用包括机器人操作、增强现实( AR ) /虚拟现实( VR ) 、航空航天、手-物交互和自动驾驶。年代概况如图7所示。