【人工智能】技术宅开始用人工智能伪造各种女明星的AV…【附软件+教程】
1.先看一条新闻:
https://baijiahao.baidu.com/s?id=1586593818361752854
国外知名论坛Reddit有个叫deepfake的用户用人工智能技术把女明星的脸替换到成 ·人 ·片的女主角上面
2.B站操作视频教程:
https://www.bilibili.com/video/av19349170
片儿里的主角不错,我也想当
环境配置
FakeApp(Windows专用)
http://www.fakeapp.org/ 官网下载 或使用磁力链接
magnet:?xt=urn:btih:598F5888522C860D48629EB8EC267496B4322E70
封装好的神器
GPU加速(强烈建议)
如果有N卡,建议使用GPU计算,需要先安装 Nvidia cuda , 建议安装 8.0 版本 下载地址
无N卡,可以使用CPU,very low
N卡建议GTX1060起,显存2G以上
VC库 (可选)
附赠品 如果操作过程中报错了,可以选择安装这个 下载连接
原理简介
如何把A视频的脸,替换进B视频 ?
分以下几步:
1.收集A,B的脸
因为是视频,所以要用一些特殊的技巧,把一个视频,转换成一张张图片,比如10s的视频,可能会有上百张图片,然后在上百张图片里,找出带有人脸的,最终都截取成相同大小的,比如256*256的脸图片
2.训练模型,A->B
有了A的256*256脸,和B的256*256脸,通过一些特殊的技巧,能找到两张脸之间联系,图片数越多,联系也就越紧,找到关系后,保存成 模型。这个模型的作用就是,给一张A的脸,输入进模型,模型会给出B的脸
3.换脸
随便找一个A的视频,依旧是转换成一张张图片,依旧要找出带有人脸的图片。把这一张张图片,丢进第2步得到的模型,就能得出一张张替换成B脸的图片。最后把所有的图片,再合并成视频,换脸完成
FakeApp使用
也分三步,分别对应了上面的三部曲
1.GetDataSet
就一个参数,输入视频的路径。 这里其实是要依次执行2个视频,一个A视频,一个B视频
比如 C:videoa.mp4
执行完毕后,会在 c:video 目录下,生成 dataset-a 目录
dataset-a 目录,就是一张张图片 ,dataset-a 里面,还有个 extracted 目录
extracted 目录,就是只保留人脸的图片,当然可能会有误差,因为是程序自动切的
这里注意,要浏览extracted目录,只保留256*256的人脸图片,其他都删掉
最终完成后。会有 dataset-a , dataset-b 两个目录,里面分别有 extracted 目录
第一步主要是从视频里取得人脸的样本集。 程序可能会报 Failed to execute script align_faces ,这种情况可以尝试安装VC库,或者从其他途径获得人脸样本集,只要保证2张人脸的图片,大小一致
2.Train
有三个参数
- model 可以在 c:video 下,新建个目录,叫 model ,就是空的。 那这个参数下就输入 c:videomodel ,用来保存 模型 的结果
- Data A ,对应了截取后的人脸目录,也就是 c:videodataset-aextracted
- Data B ,同上,换上b的
三个目录输入完后,点击 Train ,开始漫长的等待
会有结果显示, Loss A, Loss B ,一般小于 0.02 ,即可认为ok,自主停掉程序
3.Created
还是三个参数
- model ,同上,输入跑完的模型目录,依然是 c:videomodel
- 输入要换脸的视频,可以拿a视频做测试 c:videoa.mp4
- fps ,30 or 24 .没啥追求的就 24 吧
跑完之后,就得到了换脸后的视频
总结
- 两个视频的人物表情,角度尽量相似
- 有个好显卡