【Paper Notes】 EPro-PnP

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

这篇论文是获得了CVPR 2022 最佳学生论文,其论文内容比较有意思,也很有启发性,可以学习总结以下。


目标问题

首先,这篇文章要解决的问题是在6DoF估计问题中,没办法直接用Ground Truth Pose来监督网络训练的问题。

出现这个问题的原因是什么呢?

一般来说,要做姿态估计,我们的网络会输出一个集合\{\bold{u}_i, \bold{x}_i, \bold{w}_i\}\bold{u}_i是2D位置,\bold{x}_i是3D位置,\bold{w}_i\bold{u}_i,\bold{x}_i 关联的概率或者权重。

那么怎么通过这个得到估计的姿态呢?

T^* = \mathop{\arg \min } \limits_{T} \sum \limits_{i=1} ^ n \bold{w}_i \|\bold{u}_i - T\bold{x}_i\|^2

那么想要求解出T^*, 我们可以用BA方法,或者其他的PnP求解方法。但是这个方法有个问题,我们计算真实\hat T 和T^*的Loss时,在T^*上的梯度没办法传导到\bold{u}_i, \bold{x}_i, \bold{w}_i上,因此无法直接对网络进行监督。

那么本论文的首要目标就是解决上述问题。


文章思路

文章的思路比较有创新点,其本质是将T所在的空间进行离散化,来近似概率分布,然后和真实的概率分布(冲击函数)。

首先,我们需要定义出一个likelihood函数,该likelihood函数表示 \bold{p}(T|\bold{u}_i, \bold{x}_i, \bold{w}_i), 表示在给定\{\bold{u}_i, \bold{x}_i, \bold{w}_i\}时的真值Pose的分布。其实想得到这个likelihood函数比较简单,如果重投影误差为

\bold{e}(T; \bold{u}_i, \bold{x}_i, \bold{w}_i) = \sum \limits_{i=1} ^ n \bold{w}_i \|\bold{u}_i - T\bold{x}_i\|^2, 那么likelihood函数可以定义为\exp(\bold{e})

同时我们知道真实的ground truth的likelihood是一个冲激函数,那么我们就可以用这两个分布的KL散度来作为Loss函数。

那么如何建立对\bold{u}_i,\bold{x}_i,\bold{w}_i的梯度呢?其实,我们只需要把likelihood离散,然后求解Loss即可。

具体来说,我们首先计算 \exp(\bold{e}(\hat T)), 其真值应该为1,那么我们再sample一些非真值的姿态,其likelihood应该为0。通过这种监督,就可以训练整个网络。

更加形象化的表示如下:

【Paper Notes】 EPro-PnP_第1张图片 图片来自原文章


实验效果 

在实验中,必然很多都是Sota级别,但是我其实更加关注,EProPnP只用Pose做监督,不用3D coordinate 监督的方式到底够不够。

表格如下:

【Paper Notes】 EPro-PnP_第2张图片

 我们可以看到,在第三行,如果不叫coord监督,其结果也不是特别优秀的,那么其实这也说明,EProPnP更多情况是作为一个辅助loss。如果想要达到更高的精度,还是要多提供监督信息。当然即使这样,也不能掩盖这篇论文的创新高度。


参考文献

原文链接 https://arxiv.org/pdf/2203.13254.pdf

你可能感兴趣的:(深度学习,人工智能,计算机视觉)