人工智能与影视研究整理

来自人工智能助力教育知识百科
Xuexf讨论 | 贡献2022年6月18日 (六) 10:53的版本 DeepFaceLab
跳转至: 导航搜索
网站首页 | 百科首页 | 3D虚拟世界 | 音乐与人工智能 | 人工智能机器人 | 知识百科 | 关于我们
背景知识 | DeepFaceLab | 研究整理

人脸替换

人脸替换(Face Swapping),是指用人物 A 的面部替换目标图像或视频中人物 B 的面部,使结果中的人物具有 A 的身份,并保持 B 的面部属性,包括表情、姿态、肤色、光照等。

人脸替换定义.png

人脸替换可以应用在:1)替换图像中的人脸以保护目标人物的隐私,但又不破坏原图的完整性; 2)可以应用于娱乐,比如将某个经典的电影桥段中的主角替换为搞笑明星,产生滑稽效果;3)将影视作品中某演员面部替换为其他人,保持作品的合法和完整。

此处约定人脸替换中用于替换的人脸为源人脸,被替换的目标图像中的人脸为目标人脸。人脸替换的方法可分为三类:(1)基于图像编辑的方法;(2)基于三维模型的方法;(3)基于深度学习的方法。

基于图像编辑的人脸替换

早期的人脸交换采用图像编辑的方法,在建立好的人脸库中寻找姿态和光照与目标人脸相似的源人脸,利用泊松融合等方法进行融合。这种方法无法指定源人脸,只能应用到隐私保护上。为了实现指定人脸的替换,一些方法利用面部关键点对源人脸进行形变以匹配目标人脸。基于图像编辑的方法有立体感和真实感缺失、光线难以匹配等问题。

基于三维模型的人脸替换

Blanz 等人利用3DMM从单张图得到源人脸的三维模型估计,用估计的目标图像的渲染参数对源人脸的三维模型进行重新渲染,将渲染后的人脸融合到目标图像,在合成过程中需要手动进行对齐和面部区域的标记。Cheng 等人提出了一种三维表情估计算法用来使源人脸表情匹配目标人脸,并对形变后的人脸模型进行重新光照以保证替换后源人脸与目标背景的一致性。三维模型的不足在于从二维图像估计三维模型和光照条件本身是病态的,难以处理复杂的光照、遮挡等问题,且比较繁琐,自动化程度低。

基于深度学习的人脸替换

基于深度学习的人脸替换是比较流行的方法,如Deepfakes、FaceSwap、FaceShifter、DeepFaceLab、SimSwap等。从笔者看来,基于深度学习的方法又可以分为可以进行任意人脸替换的方法和一对一的替换方法。一对一人脸替换是指模型训练好之后只能将输入人脸替换成特定身份的人脸。任意人脸替换是指模型训练完成后,给定任意两张人脸图像,都能够以其中一张为源图像、另一张为目的图像进行替换。

一对一的人脸替换方法

DeepFaceLab

论文:https://arxiv.org/abs/2005.05535

代码:https://github.com/iperov/DeepFaceLab

DeepFaceLab的网络基于自编码器结构,整体分为编码器Encoder、中间层Inter、解码器Decoder三部分。编码器为一系列降采样的卷积模块;中间层为两层全连接层;解码器为一系列升采样的反卷积模块。

src和dst共用编码器、中间层,分用解码器。训练时src和dst交替输入,将图像进行随机扭曲,通过编码器、中间层、各自的解码器,最后得到还原的图像。在预测时

任意人脸替换