作者 | 陈大鑫、青暮
编辑 | 丛末
保罗.沃克在《速度与激情7》的拍摄途中不幸出车祸去世,这一度给当时电影的正常上映蒙上了阴影。但是后来大家都知道,不仅电影在延期上映之后火遍了全球,而且我们在荧屏上惊喜地看到保罗还“活着”!
那么当时保罗是怎么在电影中“复活”的呢?答案是导演采用了CG特效的方式为保罗制作了数字替身。
虽然结果令人印象深刻,但其制作成本高昂,而且通常需要数月的工作才能获得几秒钟的镜头。那么放在人工智能大行其道的今天我们又该如何去完成“荧屏复活”的任务呢?这个我们稍后再来揭晓。
既然提到了影视行业,那就来说一下演技问题。众所周知有些演员的表演确实是出神入化、自带bgm、令人难以望其项背:
但是于此同时,有些演员更像是神出鬼没、变化无(对,压根没有变化),下面欣赏一下这让人“眼”前一亮、画龙点“睛”的表演大“作”:
看到这里我相信肯定有部分小伙伴开始跃跃欲试地想要battle一下啦,为此这里给出两张关键动作分解图以供大家“模仿学习”:
“认真”学习ing......
什么?你说这样的表演你也会?这样的演技你也有?但是我敢拿英伟达新出的A100赌你学不到精髓。
好吧,我家倒是真有烤箱,但是我掏不出这么大的A100,要不让黄教主来帮忙?
说到前文,我们每天工作学习之余想看个电影电视剧休闲一下,却总是欣赏到他们那拙劣的演技,难道真的就不能把冲过去他们换掉吗?我想这会很难,那不如换个思路,有没有什么办法能帮助他们演技变好呢?(除了阅读《演员的自我修养》之外)
答案就在于迪士尼最近提出的高分辨率视觉效果的神经人脸交换!
论文标题:《High-Resolution Neural Face Swapping for Visual Effects》
论文地址:https://studios.disneyresearch.com/2020/06/29/high-resolution-neural-face-swapping-for-visual-effects/
什么?你说这不就是又一个Deepfake吗,那它和以往的Deepfake系列方法有何区别呢?
之前开源 的Deepfake 系列模型生成的视频分辨率最高也只有 256x256 像素,这种像素级别的视觉效果会很糊,无法放到影视大屏幕上面来看。
而本文提出的新模型能够将分辨率提高到 1024x1024 ,也就是百万像素(其实就是1024乘以1024约等于一百万啦),所以这是第一种能够以百万像素分辨率呈现照片真实感和时间连续性结果的方法。要知道,普通电影院播放的电影分辨率也就差不多两百万像素的级别。
以下就来看看论文讲了什么吧。
在这项工作中,作者为了产生高分辨率、照片逼真、时间连续稳定的人脸交换贡献了以下方法:
1、引入一个逐步训练的多向梳状网络,将输入人脸嵌入到一个共享的潜在空间中,并将其解码为任何选定的身份人脸,同时保持输入人脸的表情。与典型的单源、单目标设置相比,这样可以获得更丰富、更真实的结果。
2、提出了一个完整的人脸交换pipeline,包括对比度和保真度合成步骤和一个里程碑稳定过程,允许生成时间连续稳定的视频序列。
3、报告了一个全面的消融研究,证明了特定的设计选择和程序对交换质量的影响。
1
模型pipeline
步骤1:对于图像Xt,检测人脸并定位面部标记点。
步骤2:将人脸归一化为1024×1024分辨率大小,保存归一化参数。
步骤3:将归一化人脸输入网络,并保存第s个解码器的输出X~s。
步骤4:使用步骤2中保存的参数对图像进行反向归一化,将解码后输出的图像与需要匹配的目标进行多频带混合,最终得到人脸交换后的效果图。
论文的一个核心点:引入了一种逐步训练的多向梳状网络和一种保持光照和对比度的混合方法。
2
梳状网络
人脸转换是通过域-迁移方法实现的,利用一个通用的编码器将来自所有身份的图像嵌入到共享的潜在空间中,然后使用相应的解码器将这些嵌入映射回像素空间。虽然域迁移和人脸交换方法通常用于在两个空间之间进行切换,但在本文中,作者将这种思想推广到P个任意域(见上图)。其中网络的编码部分是共享的,而解码部分被分为P个域。作者将这种架构称为梳状模型,不同的解码器代表梳子的不同“齿”。
梳状模型与双向模型相比的优势:
1、使用多个训练模型可以提高表情的保真度。
2、多路解码器允许产生不同的输出,这些输出可以对应于不同照明条件下的各种标识或相同标识。
3、使用一个单网络,与用双向网络生成相比,这将减少训练时间。
网络的训练采用一种渐进的过程来进行,该过程从低采样高分辨率输入数据形成的粗糙、低分辨率图像开始,然后随着高分辨率图像用于训练,逐渐扩展网络的容量。该过程是通过对人脸图像应用仿射变换来执行的,该仿射变换将一组已定义的局部地标的位置与所需分辨率的平均ground truth对齐。在该实现中,作者使用外眼角、外鼻点和外嘴角,并设置标记点作为参考。
另外作者将当前评估的人脸识别的输出上的重建损失最小化。
- 损失函数
该式中,x_p是groud truth图像,m_x_p是面部的mask。
- 人脸定位和Landmark稳定性
执行初始检测和对齐,并注意人脸边界框的宽度w。然后我们通过在图像平面的各个方向上用βw像素对其进行扰动来重新初始化原始边界框n次,其中β是一个较小的值来控制扰动的范围。
对每个平移人脸重复对齐过程,并对结果集进行平均。
- 对比度保真,多频带融合
正确地将源人脸合成到目标图像上是一个挑战,即使这些人脸已经处于完美的几何对齐状态,姿势和面部表情也完全匹配。这是由于光度学失调造成的,当简单地将源粘贴到目标上时,会导致接缝清晰可见。对此作者采用了以下四种方法:
1、复制目标拉普拉斯金字塔的两个最粗糙的(即低频)层次,只混合剩下的更详细的层次,最后由混合拉普拉斯金字塔重建得到最终图像。
2、强制边界平滑效果只传播到人脸内部以确保外表面轮廓不会在混合过程中被平滑掉。
3、对齐生成的源人脸中的对比度以匹配目标的对比度。这能够获得高质量的合成结果,并且对不同的捕获条件具有鲁棒性。
4、为了确保网络生成的人脸边缘不会转移到克隆的人脸上,例如由于头部大小不同,应仔细选择混合mask。本文收缩由外表面标志的mask边界,这样得到的mask不会覆盖脸部的外边缘。
3
实验
1、数据集制作
公开的高分辨率数据集通常只包含名人的静态图像高分辨率的视频数据集,为此作者创建自己的数据集,这些数据集是在各种光线和姿势条件下收集的,具有不同性别和面部发型的特征。作者从数据集中选择了六个人,其中两个人在两种不同的光照条件下被捕捉,形成了八组用于创建八输出模型的集合。每个层次的网络都经过训练,直到每个人的1万张图像被呈现出来。所有实验均在1024×1024的最终图像分辨率下进行。
2、训练详情
数据增强:随机平移、旋转和缩放等
优化器:Adam
学习率:0.0001
显卡:一个GeForce 1080Ti
时间:训练用于两个人脸交换的完整1024×1024网络大约需要三天
3、与SOTA的比较
研究人员将渐进式梳状模型与目前三种开源的人脸技术,分别为Deepfake、DeepFaceLab和Nirkin et aI进行了对比研究。其中,Nirkin et aI采用三维可变模型,不需要预训练。后两者采用Y形自动编码器结构的实现。
实验表明:
1、可变模型也能够以相对较高的分辨率(500×500)生成人脸,但它们引入的伪影往往会使人脸看起来不真实。此外这种方法不能保持时间一致性,而且即使目标图像发生非常小的变换,模型输出也会迅速变化。
2、本文方法生成的图像分辨率大约是原始图像的一半,因此作者使用Lanczos滤波器对它们进行上采样以匹配原始图像的分辨率。
3、相比其它算法,本算法是同时为所有人训练的。
4
消融研究
本文进行了几项实验,以可视化网络架构和算法的不同方面对人脸交换质量的影响:
1、渐进式训练与一次性全网训练的效果比较
2、使用多向梳状模型代替单独的双向模型的效果
3、本研究的保真度多频段合成方法与Poisson混合的比较
4、本研究的 landmark 稳定方法的效果
下图展示了与双向模型相比,使用多向梳状模型的好处。在缺少源外观数据时,多向模型能够更好地捕获某些表情,同时也能够更好地再现闭着的眼睛和突出的舌头。
下图展示了使用八路模型在不同身份之间交换的附加示例。
下图展示了和泊松混合方法的比较。从左到右分别是:目标图像、网络输出、泊松混合和本研究的合成。
下图展示了经典多波段混合与本文方法的比较。
5
缺陷和不足
1、本方法通常在数据中没有很好地捕捉到表情和姿势,例如极端的测试图可能会导致不完美的结果,包括模糊和其他伪影。 示例的缺陷案例如下图所示。
2、当前的人脸迁移交换方法侧重于替换面部,同时也保留了原始头部形状。
3、不能对戴眼镜的人进行置信度高的交换。
4、相对于双向模型,本模型将需要更多的训练时间,在表示不同人脸身份所需的数据量上大致呈线性相关。
6
实力派演员和流量明星的真香未来
明星会失业吗?这是不会的,因为很多商业电影或者电视剧明明知道一些演员演技差但是仍然邀请过来出演,为的就是他们的知名度及其能带来的粉丝流量(哪怕是黑粉也是流量,大家争议多了热度就噌噌噌上去了)
我们前面说过,这项技术可以提高演员的演技。怎么做呢?其实是学习动作捕捉的套路,让演技好流量小的演员去拍戏,再用这项技术把该演员的脸换成流量明星的脸,搞定。
有了这项技术,替身演员不需要再隐藏自己的面貌,也不用进行面部标记。
这样,演技好的演员有机会发挥自己的优势,流量明星也能轻松拿肖像版税,轻松扭转中国当下影视市场的扭曲局面,不香吗?(至于薪酬市场是否会重新分配那就是题外话了)
迪士尼动画会将这项技术派上用场吗?虽然在实验中并未涉及人与动物的形象转换,在未来还是有可能的。以人的动作捕捉制作动物动画早就有了先例,比如上图中本尼迪克特·康巴贝奇饰演的就是《霍比特人2》中的恶龙史矛革(Dragon!),此外还有安迪·瑟金斯饰演的《猩球崛起》中的凯撒等等。迪士尼要做的,只是将这项技术替换掉特效师的一部分工作。
人的面部特征和表情能不能很好的迁移到各种各样的动物身上?我想这是有一定的困难呢,可能不只是数据集收集处理问题,由于人类和动物的脸部差异较大,脸部位置检测、定位与迁移都是一个难题,训练的核心模型框架也是关键。
大胆假设,小心求证,或许这项极具商业价值的技术会被你或者你们的研究团队攻破。。