论文解读《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》

论文:《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose Estimation》

Code:https://github.com/tjiiv-cprg/epro-pnp (909 star)

作者的视频简单介绍:https://www.bilibili.com/video/BV13T411E7kb

摘要:

  • 解决问题:对于6D位姿估计,基于几何(PnP)的方法性能要好一些,但以前的方法都不是端到端的,因为PnP不可微。最近有人开始提出基于PnP的端到端网络,把PnP作为可微层,采用位姿驱动的损失函数,使得位姿误差的梯度可以反向传播到2D-3D对应关系中。但是,这些工作仅学习一部分对应关系(2D坐标、3D坐标或相应的权重),而假设其他分量是先验的。为什么不以端到端的方式完全学习整套点和权重?这是因为,PnP问题的解在某些点上本质上是不可微的,这会导致训练困难和收敛问题。更具体地说,PnP问题可能具有模糊的解,这使得反向传播不稳定。 => 本文方法:提出了一种广义的端到端概率PnP(EPro-PnP)方法,该方法能够完全从头开始学习加权2D-3D点对应关系。其主要思想很简单:确定性姿势是不可微的,但姿势的 概率密度 显然是可微的——就像分类得分一样。因此,我们将PnP的输出解释为由可学习的2D-3D对应关系参数化的概率分布。在训练过程中,预测姿态分布和目标姿态分布之间的Kullback-Leibler(KL)散度被计算为损失函数,该损失函数可通过有效的蒙特卡罗姿态采样进行数值处理。

    **端到端训练的好处:**缩减人工的预处理、后续处理和特征提取步骤,减少了人为的工作量,尽可能是模型直接实现从原始输入到最终输出;给模型更多可以根据数据自动调节的空间,增加模型的整体契合度。

  • 提出了EPro-PnP,这是一个用于端到端姿态估计的概率PnP层,输入RGB图像,输出SE(3)流形上的姿态分布,本质上将分类Softmax带入连续域。2D-3D坐标和相应的权重被视为通过最小化预测姿态分布和目标姿态分布之间的KL偏差而学习的中间变量。基本原则统一了现有的方法,类似于注意力机制。

  • 效果:显著优于竞争性基线,缩小了基于PnP的方法与LineMOD 6DoF姿态估计和nuScenes 3D物体检测基准上的特定任务领先者之间的差距。同时,EPro-PnP可以通过简单地将其插入CDPN框架中,轻松地达到6DoF姿态估计的顶级性能。

实验原理:

把PnP求解器变成一个可微分的一个Layer(层),或者说是一个模块,使得它在整个网络中可以实现一个端到端的训练。

以前的解决方法:lmmplicit differentiation(隐式微分),但是有一个问题argmin函数并不是真正完全可导的,在某些点是不连续的,所以会导致反向传播不稳定,就必须要依赖整个代理损失来做一个正则化,来保证整个PnP它优化的目标函数如果它是一个凸优化问题的话,然后用隐式微分就可以解决,但是如果没有前面这些东西,光靠端到端的一个损失函数,没有办法稳定的通过反向传播来学习所有的这些2D、3D点。

论文解读《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》_第1张图片

本文试图把不可微分的一个最优解deterministic pose固定的一个单独位姿把它变成一个可微的东西。用了概率框架,把PnP视角转换一下,输出一个关于位姿的概率分布。输入Correspondence X是一个可导的东西,通过经典的贝叶斯公式推导得到一个概率密度。

  • Define the likelihood function:定义一个似然函数,通过重授影误差的─个平方和,来取负号再取exp,可以得到关于位姿的一个likelihood似然。
  • Prior:先验使用一个无信息的uninformative prior,其实是一个flat prior(扁平先验)的求码小模,可以直接粑整个likelihood做一个normalization归—化,就得到了最终的后验的─个概率密度,即图右上角的分布。
论文解读《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》_第2张图片

实质上是分类的Softmax在一个连续域上的推广,因为实际Softmax它就是用类似的一种方法Sumation(求和)在离散的类别上的求和,但本文是一个积分的情况,一个不可导的arg min问题来变成一个可导的问题。

这是因为优化层中的argmin函数不可导,因此最优位姿不可导,但将位姿视为概率分布后,位姿的概率密度是可导的。从本质上来说,这一做法等同于训练分类网络时,将argmax层替换为softargmax(即softmax)层,本文实际上是将离散softmax推广到了连续分布上。

损失函数:

得到一个具体的分布后,损失函数的反向传播是基于KL Divergence来计算和真值之间的误差,和分类里面的cross entropy交叉嫡它本身是一回事,是一个连续的cross entropy。

论文解读《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》_第3张图片

实现具体分布的KL Divergence计算时用蒙特卡洛的方法对这个分布做一个近似。

论文解读《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》_第4张图片

网络结构:

  • 方案一:

    6DoF Pose Estimation 的Benchmark上现有的网络CDPN,—个Surrograte loss(代理损失)来直接监督confidence map(置信图)和3D坐标,把它原始的这个PnP换成EPro-PnP,去做一个端到端的反向传播的训练。

    论文解读《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》_第5张图片
  • 方案二:

    更加激进一点的方案:验证EPro-PnP不需要3D坐标的回归损失,只用端到端的损失,把3D坐标2D坐标还有关联权重一起学出来。

    参考Deformable DETR,首先用defformable samplling的一个模块去预测2D点,确定没一个物体的中心参照点,然后去预测各个2D点对于参照点的偏移,就可以得到这些2D点的位置。然后从一个特征中通过interpolation(插值)来得到各个点的特征,经过一些处理,用很小的Transformer做一些信息交互,然后就得到各个点对应的3D坐标和权重。整个框架是做3D物体检测的,还需要各个点的特征聚集起来得到一个物体的特征,来预测整个物体的一些属性。

    论文解读《EPro-PnP: Generalized End-to-End Probabilistic Perspective-n-Points for Monocular Object Pose 》_第6张图片

你可能感兴趣的:(6D位姿估计,计算机视觉,人工智能,3d)