CVPR2020:Epipolar Transformers -论文阅读与理解(持续更新)

一、论文阅读与理解
摘要
作者如何引出自己的思路的?
作者在论文开篇指出,常用的2D→3D人体关节点的步骤一般分为两步:
①2D Detector定位二维图像上关节的位置;②对2D 执行鲁棒三角剖分以获取三维关节位置。
作者认为,常规步骤存在缺点。步骤①中,2D Detector如果不利用任何三维信息是无法解决挑战性的遮挡和视角倾斜等问题的(也就说,作者认为可以在2D Detector部分进行改进)。
作者顺势提出了自己的改进思路:所以我们提出了可微的“极线变换器(epipolar transformer)”,这使得2D Detector能够利用三维感知特征来改进二维姿势估计。原理是(涉及多视几何):给定当前视图中的二维位置p,我们希望首先在相邻视图中找到其对应的点p0,然后将p0处的特征与p处的特征相结合,从而在p处产生一个三维感知特征。受立体匹配启发,epipolar transformer利用极线约束和特征匹配来逼近p0处的特征。
为了证明自己的思路很可行,通过实验结果证明,直接上数据:
InterHand和Human3.6M的实验表明,我们的方法比基线有一致的改进。具体来说,在不使用外部数据的情况下,我们使用ResNet-50 backbone和256×256图像大小训练的Human3.6M模型在性能方面比现有模型高4.23mm,达到了MPJPE 26.9mm。
1.Introduction
论文的优点(创新点):
①epipolar transformer 可以很容易地添加到现有的网络结构中,因为它是完全可微的,并且输出特征尺寸与输入相同。
② epipolar transformer 包含最小可学习参数(参数大小为C- byc,其中C为输入特征通道大小)。
③epipolar transformer是可解释的,因为人们可以分析沿极线的特征相似性来判断匹配是否成功。
④只要提供了内在和外在的特性,通过epipolar transformer学习的网络可以推广到新的多摄像机设置,这些设置不包括在训练数据中。
2. Related Work
多视角人体姿态估计相关,与论文思路对比。
//TODO
3.The Epipolar Transformer

epipolar transformer主要由两个部分组成:极线采样器(epipolar sampler)和特征融合模块(feature fusion module)。
在参考视图(Reference view)中给定一个点 p ,极线采样器(epipolar sampler)将沿着源视图(Source view)中相应的极线采样特征。示意图的下半部分。
然后,特征融合模块(feature fusion module)将源视图(Source view)中采样位置的所有特征以及参考视图(Reference view)中 p 处的特征,产生最终的3d感知特征。注意,这是对参考视图中中间特征映射的所有位置密集地执行的。
3.1 The Epipolar Sampler
先定义了用来描述epipolar sampler的符号。
给定同一时间不同时间拍摄的两幅图像,分别为参考图像I、源图像I‘。
它们的投影矩阵分别为M和M’。
相机中心为C和C‘,齐次坐标系下。
如论文中的图1所示,假设相机中心不重叠,极线l是如何查询reference image对应的source image 的对应点P’?论文中给出了公式(立体匹配相关):


根据上面给出的l的公式,我们以可以得到source image上的一条直线(极线)l,epipolar sampler会在这条极线上采样,采样方式为均匀采样(论文中平均采了64个点,也就说K=64)。会形成K=64的采样点集合P‘。epipolar sampler通过双线性插值采样亚像素位置(实值坐标)。对于其极线与I’(Source Image)完全不相交的点,只需跳过它们。
请参阅l论文的补充资料,了解如何处理对极变压器的图像转换的详细信息。
3.2 Feature Fusion Module
理想情况下,如果知道Ground Truth,一切都变得非常容易。在Source Image的p’上提取特征再与Reference Image 集合便可。
理想多么丰满,可现实是:到哪里找Ground Truth呢?所以,作者在论文里给出了这样子的解决办法:
将Fsrc(p’)近似为沿极线的所有采样特征点的加权和。

解释一下,上式的符号。
sim( , )表示相似度计算函数,参数为成对儿的特征点。具体来说是,点积之后再跟一个softmax函数
p是Reference Image中的一点p,就是很普通的一点p
p’是Source Image中沿极线搜索的64点中的一个
P‘是64个候选p’点的集合
Fsrc(p’ ):Source Image中p’点的特征采样
根据上式的计算结果得到加权采样特征之后,就可以跟Reference Image中得到采样特征进行融合。

Wz是1*1的卷积核,上式的输入与输出大小一致。作者解释了,这也是为什么它们的这个网络可以很好的插入到现有的许多网络的原因。

4. Experiments
在两个大规模的位姿估计数据集上进行了实验,这些数据集包含多视图图像和地面真实的3D位姿标注:InterHand,一个公开的人类位姿数据集Human3.6M。
InterHand dataset:
InterHand是一个内部的手数据集,它是在一个同步的多视图工作室中捕获的,有34个彩色相机和46个单色相机。我们的实验只使用了彩色摄像机。我们捕捉到23个做各种单手和双手姿势的受试者。然后我们用7.6K的唯一时间戳注释手的3D位置,当我们将3D注释投影到所有34个2D视图时,这导致了257K注释2D手。使用248K图像进行训练,使用9K图像进行测试。每只手标注了21个关键点,所以两只手有42个独特的点。
Human3.6M
Human3.6M 是最大的3D人体姿势基准测试之一,使用四个摄像头拍摄,并提供360万3D注释。摄像机位于一个矩形房间的角落,因此有更大的基线。这导致了与互用相机相比的一个主要差异——在Human3.6M 相机之间的视角差异明显更大。
5 conclusion
作者说他们的工作很遗憾还是没能解决手部遮挡问题。

作者提出的网络,第四部分提到的数据集上表现良好。而且在摄像机较少的情况下,该方法可以改善多视角姿态估计。
最大的限制是依赖于精确的几何相机校准。标定不准确会导致极线不准确,从而导致特征匹配不正确。该方法的另一个局限性是相邻相机视图的视角不能太大,否则很有可能一个3D点被遮挡在其中一个视图中,这将使特征匹配更加困难。
论文网络的理解

这部分就是论文的核心网络,展示了本论文的主要思路。主要完成的工作是在2D 检测部分利用3D感知特性获得更准确的姿态估计。整个框架适用于RGB的姿态估计,并没有涉及现在比较火热的3D姿态。我之前被作者的摘要迷惑了一直以为最终是要得到3D姿态,原来从始至终都是2D的姿态估计呀(这部分存疑)。
按照常规的2D姿态估计,接下来便是特征提取网络提取特征,然后对特征图进行置信计算,得到各个关节点的置信图,根据置信图选出得分最高的部分从而得到最终的关键位置。
输入:两个不同视角的RGB图,一个为Reference View ,另一个为Source View
如果按照流程,接下来是特征提取。传统的方法是在单幅图片进行特征提取操作,对于输入是序列的图片是将特征融合。
本论文是对两幅图像都进行特征提取,熟悉特征图的小伙伴都知道,特征图其实也是一个一个特征点组成的。要想将两个特征图进行融合可定要知道Reference View中的p特征点对应的Source View中的p’的准确位置。在不知道Ground Truth的情况下,论文中受立体匹配的启发,采用极线搜索的方法。对Source View沿极线进行采样,采样得到的特征点都属于候选特征点。
经过特征提取之后,得到了deep features(H* W * 256),我理解的整个就是RGB图的特征图。至此,论文流程已经走了两步:

特征点匹配:
在Reference View的deep features中提取p点dequery向量(大小为 1* 1*256?待确认),与之对应的Source VIew 中应该有64个同样大小的候选向量,此时query向量与sampled vector进行相似度计算,相似度最高的那个就被留下作为p’:

特征融合:
完成特征匹配之后,就得到了Source VIew的确定的特征图,将两个视角的特征进行融合,从而得到比单一视角更准确的特征图(作者认为两个视角融合了3D信息,特征图比单一图片的要好),特征图大小为(H* W* 256):

一些问题:
①论文采用的特征提取网络是什么?
答:论文提出的Epipolar Transformers 对各种网络有很好的植入性,所以它其实可以适用于任何特征提取网络。由于论文的重点不在于此,但是作者在实验部分给出了答案,主要使用Hourgalss和Resnet50网络进行实验。
②p’如何与p进行特征融合的?
答:这部分见论文3.2 Figure2(a)和Figure(b)是作者给出的两种思路。

③ query vector的大小?
答:暂时还不清楚。
