Face2Faceρ : Real-Time High-Resolution One-Shot Face Reenactment
https://cloud.tencent.com/developer/article/2057531
阅读笔记
项目地址:https://github.com/NetEase-GameAI/Face2FaceRHO
技术背景
目前已经有不少关于面部重演 (Face Reenactment) 的相关研究。然而,无论是传统基于 CG 技术,基于图像的检索或 GAN 方法实现面部重演都需要源人脸大量的训练数据(几分钟到几小时),而这在实际应用场景中几乎是不可能满足的。
因此,近年来,一些学者提出了仅依赖几幅或者单幅人脸图像进行人脸重演的算法,这类方法主要思路是通过对人脸的外观和运动信息进行解耦和编码,而后通过在大量视频集中通过自监督方式学习得到各自的先验信息。根据对运动信息的编码方式不同,相关工作可以分为基于形变 (warp-based) 和直接合成 (direct synthesis) 两类。其中,基于形变的方法将运动信息显示的表示为运动场,而直接合成方法则将人脸的外观和运动信息分别编码在低维隐空间中,而后在解码得到合成结果。
虽然目前这两类方法都能取得不错的效果,但他们各自都有自己的优缺点。基于形变的方法仅适用与头部姿态变化较小的情况,在编辑前后头部姿态变化较大时则往往效果较差;直接合成的方法虽然可以应对较大的姿态变化,但其合成结果整体的保真度不如形变方法,例如,往往编辑后会造成源人脸身份的改变。另外,最重要的是已有方法复杂度往往较高,性能无法满足实时应用环境的要求。
针对已有两大类方法所存在的问题,项目组对这两类方法进行了创新性的融合,并且给出了一个能够支持实时人脸重演的最优框架。利用该框架,我们首次在不降低最终合成质量的前提下,实现了仅依赖 CPU 的手机端实时人脸重演。同时,如果利用台式机 GPU,则该框架可以支持 1440×1440 的高分辨率实时人脸重演。
技术思路
该方案的核心思路为将直接合成的方法融入到基于形变的算法流程中,主要包括两大模块:
1. 由于基于形变的算法不需要从无到有合成全部人脸信息,具备构建支持实时应用的网络结构潜力,因此该方案以基于形变的算法框架为主干,提出了一个轻量级的 U 型形变网络结构;同时,结合直接合成方法的姿态编码方法将驱动人脸的头部三维姿态进行编码并注入到该网络中,以提高其对大姿态的生成质量;
2. 为了进一步提高算法效率,该方案还提出了一个层次化的运动场预测网络用于估计源人脸到驱动人脸的像素运动,与已有的单尺度运动场估计算法不同,该方案可以基于不同尺度的特征点图像由粗到精的预测运动场,在保证计算精度的同时进一步降低了算法的复杂度。
训练及预测细节
本文使用 VoxCeleb 数据集来进行训练,其中包含了大约 20k 的视频数据。训练过程采用自监督方式进行,从同一段视频中随机采样 2 张图像分别作为源图像和目标图像。另外,本文采用联合优化的方式在训练中同时更新渲染网路和运动网络的网络结构参数。
ECCV2022 | 网易互娱AI Lab提出首个基于单幅图片的实时高分辨率人脸重演算法