EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation
论文链接:
https://arxiv.org/abs/2203.13254
代码链接:
https://github.com/tjiiv-cprg/EPro-PnP
前言
我们研究的是 3D 视觉中的一个经典问题:基于单张 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 点 3D 坐标记作 ),有时还需要获取各对点的关联权重(第 i 对点的关联权重记作 )。根据透视投影约束,这 N 对 2D-3D 加权关联点隐式地定义了物体的最优位姿。具体而言,我们可以找出使重投影误差最小的物体位姿 :
基于 PnP 的方法也需要前馈网络去预测 2D-3D 关联点集 。相比于直接位姿预测,这一深度学习结合传统几何视觉算法的模型有非常好的可解释性,其泛化性能较为稳定,但在以往的工作中模型的训练方法存在缺陷。很多方法通过构建代理损失函数,去监督 X 这一中间结果,这对于位姿而言不是最优的目标。例如,已知物体形状的前提下,可以预先选取出物体的 3D 关键点,然后训练网络去找出对应的 2D 投影点位置。这也意味着代理损失只能学习 X 中的部分变量,因此不够灵活。如果我们不知道训练集中物体的形状,需要从零开始学习 X 中的全部内容该怎么办?
显示和隐式方法的优势互补,如果能够通过监督 PnP 输出的位姿结果,端到端地训练网络去学习关联点集 X ,则可以将二者优势结合。为实现这一目标,一些近期研究利用隐函数求导实现了 PnP 层的反向传播。然而,PnP 中的 argmin 函数在某些点是不连续不可导的,使得反向传播并不稳定,直接训练难以收敛。
EPro-PnP方法介绍
2.1 EPro-PnP模块
为了实现稳定的端到端训练,我们提出了端到端概率 PnP(end-to-end probabilistic PnP),即 EPro-PnP。其基本思想是将隐式位姿视作一个概率分布,则其概率密度 对于 X 是可导的。首先基于重投影误差定义位姿的似然函数:
3D 目标检测的结果如上图所示。其中左上视图显示了变形关联网络采样出的 2D 点位置,红色表示水平 X 分量较高的带你,绿色表示垂直 Y 分量较高的点。绿色点一般位于物体上下两端,其主要作用是通过物体高度来推算物体的距离,这一特性并非人为指定,完全是自由训练的结果。右图显示了俯视图上的检测结果,其中蓝色云图表示物体中心点位置的分布密度,反映了物体定位的不确定性。一般远处的物体定位不确定性大于近处的物体。