迪士尼提出基于深度神经网络的角色人脸自动替换算法
2020-11-14方捷新
近日,迪士尼研究院 (Disney Research Studios)、苏黎世联邦理工大学 (ETH Zurich)联合在欧洲图形学会渲染研讨会 (Eurographics Symposium on Rendering,EGSR)发表论文 《用于视效制作的高分辨率神经网络人脸替换》 (High-Resolution Neural Face Swapping for Visual Effects),提出一种基于深度神经网络 (Deep Neural Networks)的角色人脸自动替换算法,可将照片/视频中角色的面部替换为目标角色面部。论文提出,该算法支持最大图像分辨率1024×1024,是首个可实现百万像素 (Megapixel)分辨率的人脸替换算法,适用于场景中所有角色的人脸替换,并可在合成环节自动调整对比度和光照条件,从而确保合成面部与场景充分匹配。该算法的效率与当前流行的Deepfake(支持面部图像最大分辨率256×256)等工具相当,改进后有望应用于影视制作,如制作角色年轻版/老年版形象,或将替身演员面部替换为明星面部。
该算法采用渐进式训练多向梳状网络 (Multi-Way Comb Network),有效提高了图像分辨率;同时支持网络架构扩展和训练数据规模提升,使生成的角色表情拥有更高精准性。为了更好地将生成的面部特征和表情合成到目标角色面部,该算法采用了多波段融合 (Multi-Band Blending)方法替代传统泊松融合 (Poisson Blending)方法,并引入全局对比度因子 (Global Contrast Factor,GCF),使合成面部的对比度与原始面部及环境保持一致。另外,针对高分辨率图像抖动瑕疵尤其明显,采用面部特征稳定算法 (Face Landmark Stabilization Algorithm)实现时域稳定性。
人脸替换具体实现分为以下几个步骤:①检测输入的面部图像 (x),并定位面部特征点;②将输入的面部图像统一转化为1024×1024分辨率,保存归一化参数;③将预处理过的图像输入多向梳状神经网络,并保存第s个解码器的输出 (x);④按照归一化参数将输出面部还原为原始尺寸,用多波段融合方法将替换面部与原始图像合成。如图1所示。
图1 面部替换全流程
图2 单编码器—多解码器的多向梳状网络架构
对神经网络的训练采用渐进式训练方法,首先对输入的高分辨率图像数据实施下采样,形成低分辨率图像数据用于模型训练;随后,逐步提升训练图像的分辨率。在神经网络架构方面,该算法采用了单编码器—多解码器的多向梳状模型,即网络编码部分采用共享通用编码器,而解码路径则被分流为多个域。如图2所示。通过这种方式,模型可同时处理多个面部替换任务,且与双向模型相比,多向模型训练时间明显减少,并可以提高面部细节的精确性。
———参考英文资料来源:迪士尼研究院论文《用于视效制作的高分辨率神经网络人脸替换》