• 服务热线:13728883399
  • wangyp@shangeai.com

什么是Deepfake?为什么Deepfake生成的假脸会这么自然?

时间:2018-09-03 08:46:01点击:721次

编者按:自换脸工具Deepfake风行全球后,人们开始意识到除了诈骗短信、诈骗电话,现在连视频都能“诈骗”了。为了应对这种由新技术带来的犯罪风险,近来研究人员一直在努力发掘虚假视频和真实视频的区别,而就在本月初,美国国防部正式宣布了纽约大学开发的一个检测工具,他们找到了GAN生成视频的一些明显特征。

当时美国国防部把这项技术誉为人类对于AI的军备竞赛的一个开端,近日,这项技术的开发人员接受了媒体采访。让我们结合报道和论文,近距离看看他们的方法究竟怎样。

Deepfake当前的缺陷是没法找到足够闭着眼睛的图像

随着2018年年中将近,美国大选活动也开始逐渐升温,在诸多宣传中,一种新形式的虚假信息开始在社交媒体上广泛传播。这种生成虚假视频的技术叫做“Deepfake”,它能把视频中的脸换成其他人的脸,同时保持脸部肌肉运动和谐,口型和声音匹配。

结合政治宣传,这意味着任何人都能“恶搞”候选人,制作他们“演讲”“活动”的假视频。

由于这项技术十分新颖,效果又格外出色,普通人如果不仔细看,可能无法分辨真实视频和虚假视频之间的区别。为了防范它背后的社会安全隐患,近日,纽约大学的研究人员找到了一种区分真假视频的可靠方法,他们发现在虚假视频中,人物的头部动作和瞳孔颜色通常会很怪异,当人眨眼时,它的眼球会出现诡异运动。

什么是Deepfake?

既然要对抗虚假视频,就让我们先从Deepfake讲起,下面是它的作品“案例”:

视频中左侧为真实视频,右侧是Deepfake的加工产品。它的工作机制类似各语言间的互相翻译,先使用一种称为深层神经网络的机器学习系统来检查一个人的面部运动,再合成目标人物的脸,让后者作出类似的动作。

在生成逼真的视频前,这个深层神经网络需要大量目标任务图像数据,图像的数量和多元性决定了网络的“学习”效果——数据越多,模拟效果就越逼真。

上图是对神经网络训练、测试过程的细化图解。看罢视频,也许有人会有疑问:为什么Deepfake生成的假脸会这么自然?这是因为在训练期间(Training Phase),我们会先把目标人物A的脸抠出来,定位好五官位置,训练一个无论如何扭曲A的脸,最后都能生成正常A脸的网络。

一旦上面的网络训练好,我们就可以往其中输入B的脸。这时在神经网络看来,B的脸其实就是经扭曲的A的脸,所以它会直接“纠正”。至于表情和口型等细节,这在训练过程中就已经学会了,数据越多,效果越好,相信这点不难理解。

除了上述基础内容,为了确保生成效果,我们还要关注清晰度、人脸识别效果、图片融合等问题。

眨眼/不眨眼?

如果我们再去观察上面这个视频,相信不少细心的读者会发现:在虚假视频中,人物往往“双眼无神”,几乎不怎么眨眼。这正是目前Deepfake的一个弱点。

当然,这个弱点并非来自算法本身,更多的是它使用的数据集。健康成年人的眨眼频率是2-10秒一次,一次眨眼耗费十分之一到十分之四秒。在真实演讲视频中,主讲人眨眼是十分正常的现象,但虚假视频里的假人几乎个个是“不眨眼”大师。

把主持人的脸换成尼古拉斯·凯奇(对应视频帧)

这是因为当训练深层神经网络时,我们用的是来自网络的静态图像。即便是尼古拉斯·凯奇这样的公众人物,他的大多数照片都是睁眼的,除非为了某种艺术效果,摄影师也不会公布明星的闭眼照。这意味着数据集中的图像没法表示眼球的自然运动方式。

既然数据集中几乎没有眨眼图像,那么Deepfake学会“眨眼”的概率就几乎为零。但看到这里也许有人会有疑问,之前的视频中明明也出现了眨眼镜头,这个依据是不是不可信?这就要联系人类眨眼的频率和速度。

上面是真假视频中人物的眨眼记录,研究人员统计了所有视频中的真人眨眼频率,并框定了一个范围,他们发现Deepfake视频中假人的眨眼频率远低于这个范围。

如何检测眨眼?

有了上述发现,整个“打假”问题就可以被简化为“眨眼检测”问题。

论文作者开发了一种检测视频中人物何时眨眼的方法。更具体地说,他们引入了两个神经网络,其中第一个网络先扫描视频的每一帧,检测其中是否包含人脸,如果有,自动定位到眼部。之后,第一个网络把眼部截图输入第二个网络,由它利用眼睛的外观、几何特征和运动来判断这是睁眼还是闭眼。

下面是第二个深层神经网络LRCN的示意图:

它包含三个模块:特征提取、序列学习和状态预测。

其中特征提取模块(第二行)负责把输入的眼部图像转成神经网络可以“理解”的特征,这是个基于VGG16架构的CNN。序列学习模块(第三行)由RNN和LSTM构成,LSTM-RNN的使用是为了增加模型的信息存储量,避免在使用随时间反向传播(BPTT)算法时出现梯度消失。最后一个模块——状态预测,由全连接层构成,它输入LSTM的输出,并用一个概率预测是睁眼(0)还是闭眼(1)。

根据实验结果,LRCN的准确率高达95%。

当然,虽然论文只介绍了判断眨眼频率的方法,到这里就结束了。但根据之前Siwei Lyu的介绍,他们团队其实找到了一种更高效的技术,只是为了防止某些人恶意迭代Deepfake,这种方法暂时需要保密。

论文方法的缺陷

在接受媒体采访时,Siwei Lyu自己也坦言,论文只提出了一种短期内的有效方法,它的“寿命”可能很短,破解方法也很简单。

之前我们提到了,算法学不会眨眼,主要是因为没有眨眼数据。换句话说,如果我们能提供大量不同眨眼阶段的图像,那么深层神经网络学会眨眼只是时间问题。更有甚者,为了让尼古拉斯·凯奇学会眨眼,我们不需要派狗仔去偷拍,收集自己的眼部数据就够了。

此外,对于上面这类视频,这种方法也没法起作用。因为它不同于Deepfake的全脸移植,而是把假嘴和假声音(这年头合成声音也能造假)移到真人脸上。

这是去年美国华盛顿大学研究团队公布的一项成果,它不需要扫描大量的演讲影音资料,也不需要分析不同人说出相同句子的嘴形,只需影音素材即可,成本和规模更小,制作耗时也更短(17小时)。

因此,全民“打假”依然任重道远,这种方法只是当前迈出的第一步。未来,生成假视频和检测假视频将成为日常生活中的常见博弈,但这应该不是所有人希望看到的。在鼓励研究人员开发更靠谱的检测方法的同时,我们应该呼吁停止滥用技术。

除了不要再制作某些低俗、违法视频,电影工业也要把它用于正途,不要让技术沦为抠图流量明星的新“捷径”。

原文标题:深度“打假”:通过眨眼检测“deepfake”视频

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

  • 标签: