[ECCV2022]3D face reconstruction with dense landmarks

标题:3D face reconstruction with dense landmarks

链接:https://arxiv.org/pdf/2204.02776.pdf

本文做的是基于单图的3D人脸重建。与之前方式不同的是,本文只使用了提取的密集landmark作为模型约束,甚至没有用基于图像的渲染重建损失,但效果却达到了SOTA。本文为后续的工作提供了一个非常好的思路,那就是直接使用基于计算机图形学生成的人脸进行训练。这样的好处是我们拥有绝对准确的ground truth,比如文中使用的landmark,而这是我们在真实数据库上无法达到的(比如被遮挡部分的landmark,即使非常用心,人工也难以准确标注)。且由于现阶段计算机图形学生成的结果的真实性和细腻度都要远远高于计算机视觉生成的结果,因此借用图形学的模型来作为样本是有道理的。

[ECCV2022]3D face reconstruction with dense landmarks_第1张图片

本文的模型结构非常简单,先使用一个CNN来预测密集的landmark,然后使用landmark来将3D模型拟合到真实人脸。以下会对文中的一些细节做介绍。

Landmark

外观

既然本文只使用了landmark做约束,那就先聊聊landmark的样子

[ECCV2022]3D face reconstruction with dense landmarks_第2张图片

a图是我们常用的68个点的landmark,而b图就是文中使用的。可以看到,文中使用的landmark(703个点)遍布整个头部,甚至包括了耳朵,眼球,牙齿和后脑。这些标注在真实数据集上是几乎无法采集的,但借助计算机图形学中的模型,我们可以很轻松的获得这些点的精确坐标。

预测

文中提到,最近的研究中,在预测landmark时通常喜欢使用基于每个点的heatmap,其实就是以每个landmark为中心,在空间中的高斯辐射。这给模型的优化提供了更为密集的梯度,缓解了landmark过于稀疏的问题。但作者提出,heatmap有两个问题,一个是费时。因为基于每个点我们都要画一张heatmap,那68个点就是68张heatmap,如果换成文中的703个点,那就有点无法接受了。另一个就是heatmap难以表示脱离图像之外的点

因此,作者在文中直接使用了基于回归的算法来预测特征点。但与过往的回归算法不同的是,作者是对每个点回归一个高斯分布,也即要求模型输出一个中心点坐标与标准差。其中标准差是为了表示landmark的不确定性,因为即使是图形学提供了完美的对应坐标,但完美的对应坐标之间也并不一定完美的表示了相同的语意。而后续的消融实验也证明了这一方案的有效性。

损失函数

训练损失

简而言之就是训练landmark预测器的损失,这里只有一个,就是landmark损失:这包含了两个部分,一个部分是对标准差的平方取log,这是为了避免模型对于某一个特征点过于确信(这可能会导致模型在简单的地方过于精益求精,而忽视一些困难的点(主要是那些不可见的点);也可能会导致模型学习到某些错误的强相关特征)。另一个部分就是基于当前点标准差的回归损失,对预测点与真实点的位置做回归约束。特点在于如果这个Landmark的不确定性高,那这个点的回归损失就越小,意味着这个点在优化中越不重要。

3D模型拟合损失

这部分是当我们获得了landmark结果后拟合3D模型时使用的损失。简单来说就是动态调整所有3D模型的参数使之在符合实际的情况下更好的贴合我们的landmark结果。

landmark损失:和训练损失中的回归损失一样,重点拟合那些确定的点。而不确定的点的拟合就没有那么重要。

身份损失:从一个3D人脸库中计算出一个人脸形状的高斯混合模型(GMM),然后同过计算当先形状属于该GMM的概率来用于惩罚那些不真实的人脸形状。

表情损失&关节点损失:这两个损失就是简单的要求表情参数越小越好,关节点旋转越小越好。这个的理由可能是作者不想让表情和关节点这两个参数起太大作用,就强行用shape参数来贴合landmark,以确保能够尽量拟合所有的细节。

时序损失:这个是在拟合视频时,要求顶点在邻近帧之间的变化最小化,可以降低视频的抖动。

相交损失:这个是为了避免部分区域相交,比如牙齿和嘴唇,眼球和眼皮。这里作者可以说是专门为这两个区域分别制定了损失。

结果展示以及个人观点

[ECCV2022]3D face reconstruction with dense landmarks_第3张图片[ECCV2022]3D face reconstruction with dense landmarks_第4张图片

 首先作者展示了他们的Landmark预测在300W上的表现(左),以及我在网上找了CVPR2022的一篇文章中的对比,诚意还是不够啊。不得不说在困难样本上的表现可圈可点(估计主要还是因为生成图像在极端条件下的标注比真实图像质量高的太多),但在普通样本上的表现就有点拉跨了吧。当然,这也是因为训练和合成的时候图像分布差异较大,因此也可以理解。

[ECCV2022]3D face reconstruction with dense landmarks_第5张图片

 另外就是在NoW上的表现非常出彩,比DECA还要强一些,可强的也有限。可是这里还有一个问题,就是DECA在使用NoW做对比的时候没有用模型中原来的FLAME做3D模型,使用的是BFM。如果不换成BFM的话DECA是否能继续涨点是不好说的。但总的来说,仅仅使用landmark能够达到这个效果已经完全证实了本文的主旨,即“只使用landmark就足以高质量的做3D人脸重建”的这个论点是站得住的。

通过视觉对比,本文模型对于人脸宏观把控明显比DECA要好,唯一的缺陷就是缺少了一些细节褶皱,但这无非就是增加一个渲染损失预测一个位移贴图的事情而已。

你可能感兴趣的:(论文阅读,#,3D人脸重建,计算机视觉)