历史上的今天
今天是:2025年08月21日(星期四)
2019年08月21日 | 随便一转就能换张脸,Deepfakes这么神奇?
2019-08-21 来源:eefocus
Deepfakes要冲出天际了。
这里有一段神奇的视频 (被我裁成了动图) ,请擦亮眼睛观看。
因为讲话的人类,中途从比尔·哈德,变成了施瓦辛格:
行云流水。说不清什么时候,已经换好了。
所以,如果有小伙伴没看清,可以参考以下:
这是比尔·哈德。

这是施瓦辛格。
后来,施瓦辛格一转头,又变回了比尔·哈德,毫无拼接痕迹:

△ 比尔哈德口型瞩目
由于真伪难辨,此处郑重说明,比尔·哈德才是这集柯南秀 (原本请来的) 嘉宾。
上面的换脸成果展,是从高清视频 (1080p) 里截来的,视频出自一个名叫ctrl shift face的团队。
鬼斧神工,引起了推特用户的大规模震惊,赞数已经超过10万:


△ 震惊脸取样
除此之外,也有冷静的观众,想起了碧萝奶奶:

△ 如果哪天能实时拯救直播,细思恐极
我竟不知道,他们俩这么像!?
现在,考验脸盲患者的时刻到了。
你看得出是哪一刻变了脸么?
这场访谈,最初的嘉宾依然是比尔·哈德。
就在把脸转向主持人的一瞬,变成了汤姆·克鲁斯,并且是年少的样子:

△ 上为汤姆·克鲁斯,下为比尔·哈德
这只AI的一个重大优点,就是给侧颜换脸也流畅自如。许多换脸界的前辈是做不到的。
插播一个可爱的细节,比尔·哈德转脸的时候,原本说的话就是:
And then Tom Cruise walks in.
看到这浑然天成的魔法,推特评论区爆炸了:
吓屎我了,他和汤姆·克鲁斯好像啊!(稍有意译)
另外一位脸盲选手,也表示蒙蔽:
不过,这段访谈还没完。
比尔·哈德用阿汤哥的脸放飞了几秒,就不知不觉变回了自己:
注释一下,手放在嘴上的时候,已经变回来了。
这表示,有所遮挡的人脸,对AI来说也没什么压力。
而再一低眉的工夫,嘉宾又变成了赛斯·罗根,主持人已经坏掉了:
就是这个胖胖,还和周杰伦一起演过《青蜂侠》:
如果你感觉,在采访的中途变身,吓跑主持人不大合适。
那么,给电影换主角也不错啊。
告诉你个秘密,终结者是史泰龙演的:

就算一明一暗,光线剧烈变化,换脸也丝毫没有受阻。
施瓦辛格用经典尬笑,回应“换角传闻”:

△ 原来的配方
那么问题来了,是什么样的算法,造就了几乎天衣无缝的换脸神技?
DeepFaceLab
团队说,他们的成果,主要归功于DeepFaceLab这个开源项目:
https://github.com/iperov/DeepFaceLab
DeepFaceLab是Deepfakes换脸术的一个软件工具包,安装简单,使用方便,更新及时。在GitHub上已有5000多星。
代码公开是一方面。另一方面,从项目描述看,不需要太多算力就能跑 (详见下文) 。总体说来门槛很低。
软件包里有多种模型,各有特点:
H64 (2GB+显存) ,64像素模式。这是经典模型,DeepFakes最初扬名就是靠它。DeepFaceLab对它做了些改进,让这个模型在低显存情况下也能用低配置参数运行。
H128 (3GB+显存) ,128像素模型,比H64像素更高,细节更丰富。能应对大部分远景和中景镜头,适合亚洲脸型。
DF (5GB+显存) ,H128的全脸模型。它换出来的脸通常比H128更像,但兼容性更差,边缘问题突出。

LIAEF128 (5GB+显存) ,结合了DF,IAE的改进型128全脸模型。这个模型存在闭眼识别问题。

SAE (最低配置2GB+,推荐配置11GB+) ,风格化的编码器,基于风格损失的新型超级模型。可以有效重建被遮挡的脸。可玩性高,参数可调,调优空间大。
DeepFaceLab唯一的安装要求就是对应版本的显卡驱动,甚至不需要CUDA和CuDNN。
软件的中文官网提供了下载通道 (有无需魔法的百度网盘版本) ,以及详细的安装教程。
同时还自带许多人脸图片数据。
官网说,DeepFaceLab虽然没有可视化界面,但步骤非常清晰,操作并不复杂。
换脸主要分为五个阶段:
视频转图片、提取脸部、训练模型、人脸替换、合成视频。
每个步骤只需点击BAT文件即可执行。
想要入门AI换脸的小伙伴,也可以在DeepFaceLab中文官网找到丰富的教程:
https://www.deepfakescn.com/
虽然,DeepFaceLab描述的硬件要求不高,但ctrl shift face能做到今天的效果,背后很可能有贵贵的GPU在燃烧 (尽管没披露技术细节,不知道有没有改进算法) 。
史海拾趣
|
我有一个2410的开发板,用什么工具? openjtag,j-link?,u-link?。 我有一个2410的开发板。我电脑上没有串口和并口。用什么工具比较好? openjtag,j-link?,u-link?。我不大清楚。麻烦用过的朋友帮我讲下。谢谢啦。搭配什么开发环境比较好。请教各位大虾。… 查看全部问答> |
|
问题时这样的,我现在想在pocket pc中调用一个声音文件。但老是保一个错误“MissingMethodException” 我是用playsound调用的。 [DllImport(\"winmm.dll\")] public static extern bool PlaySound(string pszSound,int hmod,int dwSound);   ...… 查看全部问答> |
|
准备用ADuC7020做智能无障碍通道一卡通管理系统,希望能得到本次活动的大力支持,希望能获得ADuC7020开发板与论坛技术支持 … 查看全部问答> |
|
在配置CAN报文对象时会有关于节点接收过滤的设置g_MsgObject.ulMsgIDg_MsgObject.ulMsgIDMaskg_MsgObject.ulFlags对于11位的id, 例如从0x3F8 到0x3FF, 设置IDMask为0x3F8就可以实现过滤接收0x3F8 到0x3FF的id 可是问题是如何设置ulMsgID和ul ...… 查看全部问答> |




