近日,腾讯优图实验室提出无监督多视角人脸3D重建算法LAP(Learning to Aggregate and Personalize),摆脱人脸3D训练样本真值依赖,高清还原任意In-The-Wild人脸面部形状与细节纹理,重建精度误差与分辨率大幅超越当前业界State-of-The-Art 水平,该方法同时在多个人脸3D数据集上刷新纪录,相关工作中稿计算机视觉领域顶级会议CVPR 2021(Oral)。
在计算机视觉(Computer Vision, CV)领域,人脸3D重建任务旨在通过人脸的2D图像有效还原真实的3D形状和深度信息,多年来维持高涨的研究热度。由于深度信息的丢失,直接根据人脸2D图像进行3D重建属于典型的“病态”问题,必须借助有效的先验辅助才可进行求解,而如何构建对应的先验假设并精准真实地估计人脸3D形状是当前研究工作的核心难点和挑战。
早期以3D Morphable Model(3DMM)为代表的参数化方法通过迭代优化人脸关键点的重投影误差取得了一定的重建效果,随着深度学习技术的兴起,通过神经网络直接学习3DMM基底参数并添加更多Loss约束进一步提升了重建精度,但与此同时这些基于单张图像的重建方法普遍受限于单视角下的深度歧义,因而后续的方法通过引入多视角一致性来提升重建效果。
综上,这些参数化重建方法往往受限于3DMM参数基底自身的表达能力上限,无法获得足够理想的重建效果,同时由于基底自身特征被高度降维,因此这类方法对于面部细节和高频特征的3D表达普遍存在缺失。
而另一类研究工作采用的技术方案不再依赖参数化基底,而是根据输入人脸图像以及对应的3D扫描结果直接学习对应的深度图与法向图等,尽管3D面部细节得以有效还原,但这类方法严重依赖3D扫描Ground Truth进行强监督模型训练,并会容易引入点云噪声、毛刺等Artifacts,同时一旦人脸被遮挡,这类方法将无法有效还原被遮挡区域的3D形状。
一些近期的研究工作提出通过借助人脸左右近似对称性实现无监督的人脸3D重建,以此摆脱对于3D扫描Ground Truth的依赖,同时有效解决了人脸遮挡场景的重建问题,这一方法尽管取得了不错的重建结果,但在大尺度下的重建噪声问题仍然无法很好解决,重建分辨率停留在64*64像素水平。
基于以上问题,我们认为非参数化重建方法对于提升重建尺度和精度的关键在于预测有效且一致的人脸3D结构形状,这种3D结构不论人脸处于怎样的姿态、表情以及光照环境都不会发生改变。而以往的各类方法均无法很好地根据输入图像还原这种3D结构,导致模型在反照率、光照以及表面几何学习过程中不能有效解耦形状、纹理与光照参数,进而造成重建尺度低、噪声大的问题。
为达到更高清的重建尺度同时引入更少的重建噪声,我们认为一种更合理的重建流程是:首先重建出与当前人脸身份相关的几何形状与纹理图,再结合光照、姿态、表情等维度添加针对特定场景人脸图像相关的细节表达。
以此为引导,我们提出了一套先学习聚合信息、再学习个性信息的LAP(Learing to Aggregate and Personalize)无监督多视角人脸3D重建算法,该算法完全以in-the-wild数据集作为训练样本,无需借助任何3D扫描数据,以无监督方式实现高精度的人脸3D重建,重建尺度也获得显著提升(64*64->256*256)。
本算法技术可用于各类基于单目图像的人脸3D重建场景,用于生成人脸对应深度信息,在部分场景重建效果已超越深度相机,算法输入数据为一张人脸2D图像,输出数据包括与当前输入对应的人脸深度/法向图与纹理图,该技术的应用十分广泛,包括且不限于人脸3D光照渲染、3D人脸识别以及3D虚拟人像生成等。
本创新特性的核心创新点可归纳为以下三点:
1)我们提出了一种新颖的"学习聚合和个性化(LAP)"人脸3D重建算法框架,有效地从多幅或单幅图像中解耦其中与ID一致性相关的与场景特定相关的3D人脸信息,同时以完全无监督的训练方式无需任何3DMM先验假设。
图2为LAP算法框架的整体示意,神经网络首先进行训练以学习如何聚合ID一致的面部3D形状,然后进行个性化学习用于预测与目标图像对应的特定场景面部信息。
2)通过一种全新的松弛课程学习(Relaxed Curriculum Learning)方法,LAP能够针对in-the-wild图像集的各类面部变化进行预测并获得ID高度一致的面部3D表达。
in-the-wild图像集合受到表情,妆容,肤质以及噪音等不同方面共同影响,场景复杂多变、人脸域跨度较大,直接使用此类图像集合进行模型训练易导致模型训练失败,最终在没有3DMM预定义拓扑的情况下找不到有效的人脸3D表达。
这促使我们考虑通过课程学习的理念进行模型训练,即从较简单的样本过度到较困难的in-the-wild样本。对于课程学习初期的训练数据,一种简单的方案是在受约束条件下使用人脸视频数据,例如Voxceleb,但它也可能有缺点:无法保证视频的质量和各种姿势变化。为此,我们改为使用可控的对抗生成网络(GAN) 来生成简单训练样本集。如图2所示,生成的样本具有不同的姿势和一致的面部结构,且保有较高质量和小幅变化。
为使算法训练收敛更加稳定,我们在经典的课程学习基础上提出了一种松弛的一致性损失函数(Relaxed Consistency Loss,RCL),用于让网络在训练过程中更加关注与人脸面部相关的区域。
我们首先基于公开的人脸分割数据集CelebAMask-HQ训练一个人脸精细分割模型 BiSeNet,并以BiSeNet的分割结果生成每一张训练人脸图像对应的Attetion Mask,记为M,由于同人的多张in-the-wild图像在不同情况下(受到图像拍摄角度、距离等因素影响)的嘴巴,眼睛和眉毛与其他区域相比可能不一致,因此我们将这些部分设置为较低的权重(例如0.3)以得到新的松弛Attetion Mask,记为Mre,最终RCL可表示为:
我们提出的RCL提供了对于面部有效重建区域的更强显示约束,模型训练将会更加稳定。此外,对于诸如质量低劣、遮挡严重以及光线过强的图像等困难样本,模型将会倾向于预测出比背景小得多的受损面部区域,这有助于我们自然滤出此类样本以进行稳定学习。综上,聚合网络将学习到一致性更高的面部3D深度及纹理特征。
3)基于ID一致性的预测结果,LAP创新性提出并设计了一套属性细化网络对场景特定的3D人脸进行建模,实现大幅减少噪声并获得更高分辨率的细节还原。
由图1中的示意,当我们已经获得结构一致的人脸3D深度图与纹理图,其缺失的与特定输入图对应的属性和细节将由LAP的属性细化网络提供。该网络包括目标属性注入与特征融合两大核心模块。
为获得个性化面部3D细节,属性细化网络需要操纵与目标图像不同的面部区域(例如,嘴,眼和脸颊),同时适当地保持未改变部分的结构。受面部编辑工作的启发,为此我们提出了过滤连接模块以实现此目标,如图4所示。
在图4中,我们首先结合编码器(黄色块)和解码器(绿色块)的特征,通过卷积和S形函数学习空间注意Mask A∈[h,w,1],然后通过乘以A对其进行滤波并进行级联解码器。以此方式,通过减小A中的权重来抑制聚合3D深度图的变化区域,同时将未改变部分的信息传播到解码器。得出个性化深度图之后,我们加入聚合纹理图来优化学习个性化纹理图输出。最终网络将得到与特定输入图像对应的个性化3D深度图和纹理图。
本创新的创意产生过程最初来自对于人脸面部形状生理结构的观察和分析,实际上,基础的面部结构形状主要是基于同一性的骨骼和解剖学上的基础肌肉表达,因此理论上可以通过在不受约束的图像集上使用3DMM来消除歧义噪声。但是,由于缺乏统一的形状拓扑辅助,非参数重建方法很难根据多图像联合求解同人有效的3D面部结构。为了解决这个问题,我们可以对图像收集做两个假设:
1)除了形状外,基础的面部结构始终保持基本形状一致,例如在眨眼和光线遮挡时身份的面部表观纹理也足够相似;
2)不同人面部之间的非刚性变形(主要是关于表情的变形)程度始终有限。
关于第二点假设我们比较了一些SOTA的参数化3DMM方法数据集中的表情参数统计分布,由图5(b)可以发现绝大多数表情参数的跨度处于并不太大的合理范畴,这样的结论使得有可能通过具有合理松弛度的平均条件来近似表示每一张人脸的3D形状,并有效学习没有3DMM辅助的多图像一致人脸3D表达。此外,对于特定场景,合适的个性化方法还可以针对特定属性调整这种一致表达,用于还原更多3D细节。
我们主要在生成的合成数据集CelebA 和CASIA-WebFace 中训练我们的方法。为了获得具有相同身份的照片集,我们使用ID标签组织CelebA和CASIA-WebFace,并使用至少6张照片来保存身份。通过这种方式,我们可以得到16k个不同的身份,其中包含600k个真实面部图像,并选择12k / 2k / 2k 身份作为训练/ 验证 /测试集的图像。
为了评估面部几何形状,接下来,我们对3DFAW,BFM和Photoface数据集进行测试。3DFAW包含23k图像和66个3D关键点标注,我们使用相同的协议进行测试。对于BFM数据集,我们使用与当前SOTA方法Unsup3D发布的相同生成的数据来评估预测的深度图。
Photoface数据集包含453个人的12k图像以及面部/普通图像对,我们遵循与 SFS-Net[5]相同的评价方式进行测试。为了评估建模的纹理,我们对CelebAMask-HQ 数据集进行了微调和测试,该数据集包含30k高分辨率(1024×1024)的真实人脸图像。我们使用groundtruth ID标签将其组织为24k个不同的身份,并随机选择20k / 1k / 3k身份作为 训练/ 验证 /测试集。
我们使用与当前SOTA方法Unsup3D相同的Φω,Φl和Φσ结构来预测姿态,光线和置信度。聚合和属性细化网络分别具有与Unsup3D相同的编码器-解码器主干来分别预测反照率和深度。
开始训练后,我们首先在建议的合成数据集上训练集合网络和Φω,Φl,Φσ50个Epoch,然后继续训练真实照片集50个Epoch。然后我们将其参数更新冻结,并训练属性细化网络100个Epoch。最后,我们将所有网络微调50个Epoch。
在一台NVIDIA Tesla V100 GPU上,使用Adam求解器[23]时,培训程序的批量大小为64个身份,学习率为1e-4。我们使用128×128的图像集作为网络聚合的输入,并获得相同大小的预测ac,dc。对于特定于场景的面部,我们根据目标图像的大小(64×64,128×128,256×256)训练不同的属性细化网络,并以该大小的dt进行预测。
由于我们的方法可以使用照片集或单一图像为目标图像建模3D人脸,而无需特别说明,因此我们使用单一图像结果与其他方法进行公平比较。对于预测的面部几何形状,遵循与当前SOTA方法Unsup3D完全一致的方式,我们使用尺度不变深度误差(SIDE)以及平均角度偏差(MAD)来评估深度和法线。为了评估建模的纹理,我们计算了原始高质量图像和渲染图像之间的结构相似性指数(SSIM)和经由Arcface编码表示的余弦相似度。
由于我们的方法可以使用照片集或单一图像为目标图像建模3Dface,而无需特别说明,因此我们使用单一图像结果与其他方法进行公平比较。对于预测的面部几何形状,我们使用尺度不变深度误差(SIDE)]以及平均角度偏差(MAD)来评估深度和法线的定量误差。为了评估建模的纹理,我们计算了结构相似指数(SSIM)和原始高质量图像与渲染图像之间的Arcface 特征表示的ID余弦相似度。
由多个测试集评测结果指标以及可视化对比可以看出,LAP方法可以有效学习in-the-wild人脸图像集合中的基础3D结构信息与个性化细节信息,对于人脸的3D深度估计更加精准,同时纹理重建也更加清晰,整体重建效果已经达到SOTA水平。 与此同时,LAP方法在训练过程中不再依赖任何3D扫描Ground Truth,大大降低了训练成本。
在本文中,我们提出了一种新颖的学习聚合和个性化(LAP)人脸3D重建算法框架,无需3DMM先验或监督就可以进行3D人脸建模。LAP基于统计数据得出的结论是,非刚性形状变形在人脸数据集中是轻微且有限的,因此LAP自适应地从in-the-wild人脸照片集中聚合一致的人脸深度和反照率,并通过一种新颖的松弛课程学习方法学习这种多图像一致性。
对于特定场景中的人脸,LAP通过属性细化网络,改进更好的细节和属性来适当地个性化一致的人脸因素。不同测试集上的大量实验表明,LAP可以很好地利用多图像的一致性,并可以在更高分辨率下预测出出色的面部形状和纹理。将来,有两个问题需要进一步研究:一是在令人满意的现实情况下以更高的分辨率对3D人脸建模,其二是通过理论算法超越统计假设来利用不受约束的多图像一致性。
当前LAP算法重建效果在整体清晰度与噪声维度已经大幅超越深度相机采集结果,详细的效果对比可见下方视频 :
相关文献:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。