这篇文章介绍了我们获得CVPR2022最佳学生论文奖的作品《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation》。本论文研究的问题是基于单幅图??像估计3D空间中物体的位姿。在现有方法中,基于PnP几何优化的姿态估计方法往往通过深度网络提取2D-3D连接点。损失端到端稳定地训练网络,其中2D-3D关联点依赖于其他代理损失的监督,这不是姿态估计的最佳训练目标。为了解决这个问题,我们在理论上提出了EPro-PnP模块,它输出位姿的概率密度分布而不是单一的最优位姿解,从而用可推导的概率密度代替不可推导的最优位姿,实现稳定的端到端-结束训练。EPro-PnP用途广泛,适用于各种特定任务和数据。它可以用来改进现有的基于PnP的姿态估计方法,也可以利用它的灵活性来训练新的网络。从更一般的意义上来说,EPro-PnP的本质是将常见的分类softmax带入连续域,理论上可以扩展到训练具有嵌套优化层的通用模型。论文链接:https://arxiv.org/abs/2203.13254代码链接:https://github.com/tjiiv-cprg/EPro-PnP1.前言我们正在研究3D视觉中的一个经典问题:基于leaflet的RGB图像定位其中的3D对象。具体来说,给定包含3D物体投影的图像,我们的目标是确定从物体坐标系到相机坐标系的刚体变换。这种刚体变换称为物体的位姿,记为y,它由两部分组成:1)位置(position)分量,可以用一个3x1的位移向量t来表示,2)方向(orientation)分量,它可以用一个3x3的旋转矩阵R表示。针对这个问题,现有的方法可以分为两类:显式和隐式。显式方法也可以称为直接姿态预测,即利用前馈神经网络(FFN)直接输出物体姿态的各个分量,通常:1)预测物体的深度,2)寻找中心点物体在图像上的2D投影位置,3)预测物体的方向(方向的具体处理方法可能比较复杂)。利用标有物体真实姿态的图像数据,可以设计损失函数直接监督姿态预测结果,轻松实现网络的端到端训练。然而,这样的网络缺乏可解释性,并且容易在小数据集上过度拟合。在3D对象检测任务中,显式方法占主导地位,尤其是对于大规模数据集(例如nuScenes)。隐式方法是一种基于几何优化的姿态估计方法,最典型的代表是基于PnP的姿态估计方法。在这类方法中,首先需要在图像坐标系中找到N个2D点(第i个2D坐标标记),同时在物体坐标系中找到与之关联的N个3D点(i-thpoint3DCoordinates记为),有时需要获取每对点的关联权重(第i对点的关联权重记为)。这N对2D-3D加权关系点根据透视投影约束隐式定义了对象的最佳姿态。具体来说,我们可以找到使重投影误差最小的物体的姿态:其中,表示加权加权投影误差,是姿态的函数。表示具有内部参数的相机投影函数,表示元素级产品。PnP方法通常用于已知物体几何形状的6-DOF姿态估计任务。基于PnP的方法还需要前馈网络来预测2D-3D连接点集。与直接姿态预测相比,这种深度学习结合传统几何视觉算法的模型具有很好的可解释性,泛化性能也比较稳定,但以往工作中模型的训练方法存在缺陷。许多方法通过构造一个代理损失函数来监督X的中间结果,这并不是pose的最优目标。例如,在知道物体形状的前提下,可以提前选择物体的3D关键点,然后训练网络寻找对应的2D投影点位置。这也意味着surrogateloss只能学习到X中的部分变量,不够灵活。如果我们不知道训练集中对象的形状并且需要从头开始学习X中的所有内容怎么办?显式和隐式方法的优点是互补的。如果可以端到端地训练网络,通过监督PnP输出的位姿结果来学习关联点集X,则可以结合两者的优点。为了实现这一目标,最近的一些研究使用隐式函数推导实现PnP层的反向传播。但是,PnP中的argmin函数在某些点是不连续和不可微的,导致反向传播不稳定,直接训练难以收敛。二、EPro-PnP方法介绍1.EPro-PnP模块为了实现稳定的端到端训练,我们提出端到端概率PnP(end-to-endprobabilisticPnP),即EPro-PnP。基本思想是将隐式姿态视为概率分布,其概率密度对于X是可导出的。首先,基于重投影误差定义姿势的似然函数:如果使用无信息先验,则姿势的后验概率密度是似然函数的归一化结果:可以注意到,上述公式与常用的分类softmax公式其实EPro-PnP的本质是将softmax从离散阈值移到连续阈值,用积分代替求和。2.KLdivergenceloss在训练模型的过程中,如果已知物体的真实位姿,就可以定义目标位姿分布。此时,KL散度可以计算为用来训练网络的损失函数(因为是固定的,也可以理解为交叉熵损失函数)。在目标接近狄拉克函数的情况下,基于KL散度的损失函数可以简化为如下形式:如果推导,则有:可以看出损失函数由两项组成,和第一项(表示为)试图减少姿态真实值的重投影误差,第二项(表示为)试图增加预测姿态中各处的重投影误差。两者方向相反,效果如下图(左)所示。打个比方,右边是我们训练分类网络时常用的分类交叉熵损失。3.对于MonteCarloposeloss,需要注意的是KLloss中的第二项包含一个积分。该积分没有解析解,必须用数值??方法逼近。考虑到通用性、准确性和计算效率,我们采用蒙特卡洛方法通过采样来模拟位姿分布。具体来说,我们使用重要性采样算法-自适应多重重要性采样(AMIS)来计算具有权重的K个姿势样本。我们称这个过程为MonteCarloPnP:相应地,第二项可以近似为权重的函数并且可以反向传播:姿势采样的可视化如下图所示:4.PnP求解器的导数正则化虽然MonteCarloPnPloss可以用来训练网络获得高质量的位姿分布,但是在推理阶段,仍然需要通过PnP优化求解器来获取最优位姿解。常用的高斯-牛顿及其导数算法通过迭代优化求解,其迭代增量由代价函数的一阶和二阶导数决定。为了使PnP的解更接近真实值,可以对成本函数的导数进行正则化。设计正则化损失函数如下:其中,为Gauss-Newton迭代增量,与代价函数的一阶导数和二阶导数有关,可以反向传播,表示距离度量,位置使用smoothL1,余弦相似度为方向。在不一致的情况下,此损失函数会强制迭代增量指向实际的基本事实。3.基于EPro-PnP的姿态估计网络我们对6-DOF姿态估计和3D目标检测这两个子任务使用不同的网络。其中,对于6-DOFposeestimation,在ICCV2019的CDPN网络基础上稍作修改,使用EPro-PnP训练进行消融研究;对于3D目标检测,基于ICCVW2021的FCOS3DDeformablecorrespondence(可变形对应)检测头设计了一个全新的网络,以证明EPro-PnP可以训练网络在没有物体形状知识的情况下直接学习所有2D-3D点和相关权重,从而展示了EPro-PnP在应用中的灵活性。1.6-DOFposeestimation的denseassociationnetwork网络结构如上图所示,只是在原有CDPN的基础上修改了输出层。原始的CDPN使用检测到的物体的2D帧裁剪出区域图像并将其输入到ResNet34主干中。最初的CDPN将位置和方向解耦为两个分支。position分支采用直接预测的显式方法,orientation分支采用denseassociation和PnP的隐式方法。为了研究EPro-PnP,修改后的网络只保留了denseassociationbranch,其输出是一个3通道的3D坐标图,以及2通道的关联权重,其中关联权重经过了空间softmax和全局权重缩放。加入spatialsoftmax的目的是为了对权重进行归一化处理,使其具有类似attentionmap的性质,可以关注相对重要的区域。实验证明,权重的归一化也是稳定收敛的关键。全局权重缩放反映了姿势分布的集中度。该网络可以仅使用EPro-PnP的蒙特卡罗姿势损失进行训练,并且可以在已知物体形状的情况下添加导数正则化和额外的3D坐标回归损失。2.用于3D物体检测的变形关联网络的网络结构如上图所示。总体来说,它是基于FCOS3D检测器,参考可变形DETR设计的网络结构。在FCOS3D的基础上,保留了centerness和classificationlayer,将原来的posepredictionlayer替换为objectembedding和referencepointlayers,用于生成objectquery。参考可变形DETR,我们通过预测相对于参考点的偏移量来得到(并得到)2D采样位置。采样的特征通过注意力操作聚合成对象特征,用于预测对象级结果(3D分数、体重秤、3D框大小等)。另外,将采样后的每个点的特征加入到objectembedding中,经过selfattention处理,输出每个点对应的3D坐标和关联权重。所有的预测都可以通过EPro-PnP的MonteCarloposeloss进行训练,不需要额外的正则化就可以收敛并具有很高的准确性。在此基础上,可以加入导数正则化损失和辅助损失,进一步提高精度。四、实验结果1.6-DOF姿态估计任务使用LineMOD数据集实验,并与CDPN基线进行严格比较。主要结果如上。可以看出,增加端到端训练的EPro-PnP损失可显着提高准确性(+12.70)。继续增加导数正则化损失,精度进一步提高。在此基础上,利用原CDPN的训练结果进行初始化和增加epoch(保持epoch总数与原CDPN完整的三阶段训练一致)可以进一步提高准确率,并且pre的优势-trainedCDPN部分来自额外的CDPN训练。口罩监督。上图是EPro-PnP与各种领先方法的对比。EPro-PnP是相对落后的CDPN改进而来,精度接近SOTA,而且EPro-PnP结构简单,完全基于PnP进行位姿估计,不需要额外的显式深度估计或位姿细化。因此,在效率上也有优势。2.3D物体检测任务使用nuScenes数据集实验,与其他方法的对比结果如上图所示。EPro-PnP不仅比FCOS3D有明显的改进,而且超越了当时FCOS3D的另一个改进版本SOTA和PGD。更重要的是,EPro-PnP是目前唯一在nuScenes数据集上使用几何优化方法估计姿势的方法。由于nuScenes数据集的规模较大,端到端训练的直接姿态估计网络具有良好的性能,我们的结果表明基于几何优化的端到端训练的模型可以在大型数据集上取得更好的性能。完美的表现。3.可视化分析上图是用EPro-PnP训练的密集关联网络的预测结果。其中,关联的权重图突出了图像中的重要区域,类似于注意力机制。从损失函数分析可以看出,高亮区域对应的是重投影不确定性低的区域,对位姿变化更敏感。3D物体检测的结果如上图所示。左上图显示了变形关联网络采样的二维点位置,红色表示水平X分量较高的带,绿色表示垂直Y分量较高的点。绿点一般位于物体的上下两端,其主要作用是通过物体的高度来计算物体的距离。这个特征不是人为规定的,完全是自由训练的结果。右图为俯视图检测结果,其中蓝色云图代表物体中心点的分布密度,反映物体位置的不确定性。通常,远处物体的定位不确定性大于近处物体的定位不确定性。EPro-PnP的另一个重要优势是它能够通过预测复杂的多峰分布来表示方向模糊。如上图所示,由于物体本身的旋转对称性,Barrier往往会出现两个方向相差180°的峰;Cone本身没有特定的方向,所以预测结果分布在各个方向;行人不是完全旋转对称的,但由于图像不清晰,不易判断前后,有时会出现两个峰。这种概率特性使得EPro-PnP不需要对对称物体的损失函数做任何特殊处理。五、总结EPro-PnP将原始不可推导的最优位姿转化为可推导的位姿概率密度,使得基于PnP几何优化的位姿估计网络能够实现稳定灵活的端到端训练。EPro-PnP可以应用于一般的3D物体位姿估计问题,即使在未知3D物体几何形状的情况下,它也可以通过端到端的训练来学习物体的2D-3D连接点。因此,EPro-PnP拓宽了网络设计的可能性,例如我们提出的可变形关联网络,这在以前是无法训练的。此外,EPro-PnP还可以直接用于改进现有的基于PnP的姿态估计方法,通过端到端的训练释放现有网络的潜力,提高姿态估计精度。更一般意义上,EPro-PnP的本质是将常见的分类softmax带入连续域,不仅可以用于其他基于几何优化的3D视觉问题,还可以扩展到训练一般的嵌套优化理论上的层次。模型。
