标题:Self-Supervised Monocular 3D Face Reconstruction by Occlusion-Aware Multi-view Geometry Consistency
链接:https://arxiv.org/pdf/2007.12494
本文主要是提出了一种从无监督的多视角图片构建3D人脸模型的方式。
作者提到现如今的无监督3D人脸重建方法要么是基于landmark做loss,要么是基于渲染后的图像做loss,但这两者都有共同的问题就是无法考虑人脸姿态的估计误差和深度误差。因此作者希望通过多视角的方式来解决这一点。
以上就是作者模型的流程,左边包括红框是作者的整体流程,红框讲的是作者如何建立多视角约束,也就是创新的部分,而右边蓝框内就是普通的基于2D landmark和渲染图像做loss的baseline。
模型整体思路其实很清晰。首先对于输入的图像,作者将他们分为了两组,一组是target view,就是主视角,所有其他的图都是source view,可以理解为参考图。先是用MGCNet对所有图提取3DMM参数,然后用解码器渲染出3D图片。另外解码器还要输出一个深度图,这是为了弥补开头提到的那个问题。另外,由于多视角会存在遮挡问题,在参考图中看到的东西可能在主视角中看不到,因此解码器还需要输出一张共视图(covisiable map),用来选出那些主视角中也可以看得到的参考图的部分。
然后就是使用各种loss做约束来训练模型了,loss由两个部分组成,一部分是普通的2d feature loss,另一部分就是作者提出的多视角loss。
2d feature loss包含了render loss, landmark loss, identity loss和参数约束项。
多视角loss包含了:
1.排除遮挡后的顶点位置损失,即按照pose将参考图中的脸转到主视角,然后计算未遮挡部分的loss
2.同上,计算未遮挡部分的像素损失
3.同上,计算未遮挡部分的深度损失
4.计算脸转完后的landmark损失