3D人脸重建:《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》

《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》

文章目录

  • 0 前言
  • 1 概述
  • 2 相关工作
    • 2.1 3D 人脸重建
    • 2.2 人脸对齐
  • 3 详细思路
    • 3.1 3D Face Representation
    • 3.2 Network Architecture and Loss Function
    • 3.3 Loss Function
  • 4 效果
    • 4.1 AFLW2000-3D
    • 4.2 重建效果

0 前言

       本文提出了一种能够同时完成3D人脸重建和稠密人脸对齐的端对端的方法–位置映射回归网络(PRN)。主要思想:设计UV位置映射图,它是一种记录所有面部点云3D坐标的2D图像,在每个UV多边形中都保留了语义信息;然后设计一种加权损失训练一个简单的CNN(编码-解码)网络,从单张2D人脸图像中回到UV位置映射。

       本文方案不仅不依赖任何初始人脸模型,还可根据语义信息重建整个几何人脸;整个CNN延续轻量级模式,可达到9.8ms处理单张图的速度,性能较之前方法高出许多。

1 概述

       3D人脸重建和人脸对齐是计算机视觉中两个基础且备受关注的2个任务,在过去的10年里,对这两个方面的研究也是多不胜数。

       早期,人脸对齐主要是针对2D人脸特征点【1,2,3,4】,因为它是其他任务,如人脸识别【5】、辅助3D人脸重建【6,7】等任务的通用特征信息;但是呢?2D人脸对齐在大姿态、遮挡等情况下存在诸多问题【8,9】。

       随着DL的发展,许多研究开始利用CNN估计3DMM(3D Morphable Model)系数【10,11,12,13,14,15】或者3D模型变形函数(3D model wraping function)【16,17】来重建单张人脸对应的3D信息;该方法也可同时进行稠密人脸对齐和3D人脸重建。但是,这些方法的性能,受限于定义3D模型的人脸基础模型或模板;并且,其中的透视投影(perspective projection)和3D样条变换(3D Thin Plate Spline(TPS)transformation)等必要操作也增加了复杂度。

       最近,2篇端到端方案【18,19】,摆脱了这些限制,在各自任务上取得不错的成绩。【19】训练了一个相对复杂的网络来回归单张人脸,68个2D特征点,但它需要额外的网络来估计深度信息,且并没有提供稠密对齐;【18】VRN提出了一种体积表示法(Volumetric representation)3D人脸特征表示方法,并利用网络对单张人脸进行回归,但是,这种表示方法丢失了点的语义意义,并且需要复杂网络来做回归整个人脸体积信息,但人脸只是其中部分,所以这种表示方法将限制重建的分辨率,且需要复杂网络来完成回归。

       本文,我们提出了一种端到端的PRN多任务方法,能够同时完成稠密人脸对齐和3D人脸形状(3D face shape)重建。主要几个贡献:
       1)提出了无约束的端到端的人脸对齐和3D人脸重建框架
       2)设计了新的3D人脸表示方法,即UV位置映射图,它记录人脸的3D点信息,并提供3D点与UV空间具有语义意义的点之间的稠密关系
       3)为Loss Function设计了weight mask,它是为每个点提供权重,可明显提高网络性能
       4)CNN采用轻量级模式,单张人脸任务可达到100FPS
       5)在AFLW200-3D和Florence数据集上可达到25%的性能提升,较现有算法

2 相关工作

2.1 3D 人脸重建

       自从【20】1999年提出了3DMM模型,就一直受到单目3D人脸重建任务青睐;
       许多早期方法中,研究者们靠重建特殊点与3D均值几何结构之间关系,如landmarks【21,6,22,7,23,24,25】,局部特征【26,27,25】,然后利用非线性优化函数来回归3DMM系数(3DMM coefficients);但是,这些方法都非常依赖于landmarks或其他特征点的检测;
       因此,一些方法【28,29】首次利用CNN来学习人脸图像与3D模板之间的稠密对应关系(dense correspondence),然后计算3DMM参数预测稠密约束;
       最近,一些工作用CNN直接预测3DMM参数,【10,11,12,13,14】利用级联CNN结构回归3DMM系数,其效率很成问题;【30,31,32,33】提出端到端的CNN结构直接估计3DMM形状参数(3DMM shape parameters);【34,35】采用无监督方法,能够回归3DMM系数,不需要训练数据而是利用人脸文理信息,但是在大姿态和光照不均情况下,效果惨淡;
       一些其他方法,不采用3D基础形状,但仍然依赖3D人脸模板,【36,37,38,17,39】能够基于参考3D模型,通过Warping重构3D结构;【16】能够重建3D人脸,通过学习一个3D TPS wraping 函数,经由深度网络生成3D模型;显然这些方法都受到参考模型限制。
       总之,这些方法主要的缺点是,它们基于基础模型,导致几何结构被限制在模型形状空间,通过后处理从估计参数中生成3D mesh。
       最近【18】VRN提出了直接映射完整3D人脸结构(full 3D facial),通过CNN直接回归(Volumetric regression),该方法不受模型空间限制,但需要复杂网络结构和大量时间来完成Voxel data预测;
       本文方法不同于上述方法,本文框架模型自由,采用轻量级模式,能实时直接获取完整3D人脸几何结构及其信息。

2.2 人脸对齐

       在计算机视觉任务中,人脸对齐是一个长期存在问题并吸引大家的关注;
       在早期,2D人脸对齐方法层出不穷,AMM【40,41,42】 CLM【43,44】,级联回归【45,46】,CNN方法【3,4,19】,然而2D人脸对齐存在很多问题,尤其是大姿态、遮挡、光照不均等;
       最近,3D人脸对齐,通过2D人脸图像,【47,11,48】拟合3DMM,【39,49】回归3D人脸模板,很明显,基于模型的三维重建方法可以通过在重构几何中选择x、y坐标点来轻松完成三维面对齐的任务;
       实际上,【11,29,32】通过一些特殊设计完成基于均值3DMM拟合3D人脸对齐;【50,19】用另一个深度网络来预测热力图,并获得3D人脸特征点,取得不错成绩。
       因此,由于稀疏的人脸排列任务是通过上述方法完成的,密集的面对齐的任务就开始了;
       稠密对齐:需要计算出2D人脸图像与3D人脸参考几何结构之间对应关系。
       【15】利用多约束训练CNN估计3DMM参数,然后提供3D稠密对齐;【28,29】通过深度网络直接学习2D图像与3D模板之间的关系,但其只是考虑到人脸区域。
       相比上述工作,本文方法,通过位置图,直接完成整张人脸与3D模板之间的稠密关系回归;本方法不需要3DMM系数和TPS Warping参数,所以不需要复杂的透视变换和TPS变换计算。

3 详细思路

3.1 3D Face Representation

       我们任务目的是从单2D人脸图像回归出人脸3D几何结构信息以及它们之间的稠密关系。所有我们需要适合的表示方法,并用一个网络来直接预测;一个简单且普遍的是用一个1D向量来表示,即将3D点信息用一个向量来表示,然后用网络预测;然而,这种方法丢失了空间信息
       相关研究中也提到了类似于3DMM等模型表示,但这些方法太过依赖3DMM模型,并且流程复杂;最近的VRN用Volumetric来表示,成功摆脱了上述问题,但是其网络需要输出192x192x200的一个Volume,计算量相当大,重建分辨率将会受到限制。
       针对这些问题,本文设计了UV position map来表示,如下图:


3D人脸重建:《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》_第1张图片

       左图是输入图像的3D图和3D点云ground-truth;右边第1行,分别是2D图像,UV文理映射图,相应的UV位置映射图;右边第2行,分别是UV位置映射图的x,y,z通道。
       然而开源数据集,如300W-LP,的ground-truth是没有用UV表示的,而3DMM,所有我们是基于3DMM创建的UV标签。3DMM又是依据BFM(Basel Face Model)【20】,所有我们UV还得与BFM建立联系,文献【58】中提到解决办法(具体细节,待考证)。最终我们选择256最为UV尺寸,约50K个点来表示Face mesh。

3.2 Network Architecture and Loss Function

       有了UV表示方法,我们就可以直接用CNN网络回归UV参数,如下图:


3D人脸重建:《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》_第2张图片

       采用encoder-decoder结构,256x256x3的输入人脸图像,输出256x256x3的位置映射图;编码结构采用10个残差块级联构成,解码结构有17层反卷积层构成,激活层采用ReLU,最后输出层采用Sigmoid激活函数。

3.3 Loss Function

       为了强调重点,优化性能,本文还设计了weight mask形式的Loss function:


这里写图片描述

       其意义在于,不同位置或区域,计算error时权重不一样,看重或者特殊区域权重给高点,网络就会更关注这块。总共分为4中不同等级,如下图:


3D人脸重建:《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》_第3张图片

       4等级:特征点(68点),眼睛、鼻子、嘴巴,其他脸部,脸以外的部分;他们的权重分别比:16:4:3:0

4 效果

4.1 AFLW2000-3D

       


3D人脸重建:《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》_第4张图片

3D人脸重建:《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》_第5张图片

4.2 重建效果

       


3D人脸重建:《Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network》_第6张图片

你可能感兴趣的:(3D人脸重建,论文阅读)