假作真时真亦假
2019-02-05张泽玲
张泽玲
機器学习:让普通人也能玩“换脸”
在开始讨论这项技术本身之前,我们先来了解一下大家天天看的视频跟图片有什么异同。可能有聪明的同学已经知道,视频就是很多幅有着细微变化的图片连续变换。由于人眼的视觉残留①效应,很多幅图片快速变换时,我们人类并不能觉察到当前图片如何换到下一张,于是就看到了连续的动态图像。知道这一点以后,大家大概可以猜到:视频换脸就是把视频里每一帧图像里的人脸改动成新的脸。这其实也是原来拍电影和电视连续剧后期制作时采用的方法,但都需要专业人员花费大量时间、人工去修改润色。
大家可以计算一下,大部分电影的帧率是24帧/秒,也就是说一秒钟长的电影要有24幅画面变换。如果需要换脸的视频长度为一分钟,那就需要改动24×60=1440幅画面。改动后结果要达到浑然天成,就需要对每一幅进行细致的处理,还要考虑每一幅和上一张下一张的过渡是否平滑自然。可想而知,这项工作需要多少时间和耐心。由于成本过高,影视制作行业并没有广泛使用这种“换脸技术”,更不要提我们普通人自己给视频“换脸”当作娱乐了。
而让我们普通人也能玩换脸游戏的,就是机器学习技术,也正是这次Al革命的基础。机器学习技术里有不少有趣的模型和方法,在视频换脸技术里大展身手的是自动编码器(Autoencoder)。虽然名字里有个“器”,但自动编码器其实是用程序代码实现的数学模型。在电脑程序的眼里,所有的图片视频其实都是一组记录了颜色、光线等参数的数据,只是在人类需要观看的时候解码成显示器上的图像。自动编码器,就是一种会自己学习如何把已有图像转化成数据,又把数据解码成图像的数学模型。
换脸术的核心——自动编码器
那么自动编码器是如何学习编码和解码的呢?其实我们可以将自动编码器的学习过程理解为一个画家学习画老虎的过程。首先我们给这位画家很多老虎的照片,让他观察提取老虎的特征,然后画家按照自己的观察画出老虎,再跟原始的老虎照片比较是否画得好,根据结果再练习提高。经过一番训练,这位画家即便被要求画自己从未见过的老虎动作姿态,也能画得惟妙惟肖。这种给了输入数据让AI模型“自己摸索”解决方案的机器学习方法,就叫作非监督学习。给训练好的画师提作画要求就是自动编码器的输入,画出来的老虎就是输出。
所以视频换脸是一个学会了画“变脸图”的自动编码器吗?并不是。事实上,换脸是由两个自动编码器“画家”协作完成的。除了前面的画老虎画家,我们再来训练一个只会画狼的画家。现在画狼的画家觉得老虎很威风,但他喜欢狼群的潇洒自由,所以想画一群潇洒自由的老虎。于是他找来画老虎的画家商量:咱们一起画一幅猛虎群图吧,你来执笔画老虎,我来告诉你画一群动物如何构图组织。就这样,他们得到了具有狼群特征的猛虎群图。对应到换脸技术上,就是我们训练了一个基于原始人脸的自动编码器A,和一个目标人脸的自动编码器B,然后用A编码输入图片,用B解码生成图片,这样就得到了合成更换为目标人脸的图片。这样对视频中的每一帧图片都进行操作,最后我们就得到了换脸后的视频。
①视觉残留
是光对视网膜所产生的视觉,在光停止作用后,仍然保留一段时间的现象,其原因是由视神经的反应速度造成的,时值约是1/16秒,对于不同频率的光有不同的暂留时间。视觉残留具体应用就是电影的拍摄和放映。
大银幕上最接近AI换脸术的尝试或许就是《速度与激情7》中的这个Ending画面了,而保罗的这次“重生”,花费了5000万美金。
以假乱真的现代换脸术
换脸过程中,最耗费时间和技巧的是训练两位“画家”的过程,训练好了以后转换过程会比较快速。与传统影视行业的方法相比,训练自动编码器和编码器生成图片大部分都靠程序代码完成。虽然还是需要一定计算时间和训练技巧,但比起旧的人工方法已经有了巨大的提高。当然,自动编码器虽然换脸水平一流,但并不是所有的视频随便用程序跑跑就能达到完全天衣无缝的效果。训练时模型参数设置得不好(好比画家自己水平太次怎么也学不会),或者训练数据质量不高(好比训练画家时给的照片质量太差),最后换脸的效果也只能是差强人意。
当这项技术出现时,由于以假乱真的效果太好,引发了不少担忧。有人立马提出:这个技术能骗过人脸识别解锁吗?答案是有可能。所以我们平时不能只依赖于刷脸解锁,重要的操作步骤还是需要验证密码。另外,大家之前都说眼见为实截图为证,在修图软件大规模应用后,因为图片很容易被篡改,所以不少人说拍视频为证。现在能替换视频中人脸的软件也来了,我们还应当开始质疑视频造假的可能。最后,由于自动编码器这个画家如此厉害,为了自己不被“换脸”,一定不要把带有自己脸部的照片大量放在所有人都可以看见的网站上,也不要随随便便换个脸去和喜欢的明星“飙戏”,以免成为自动编码器的训练素材。