文章主题:关键词:Deepfakes, AI “造假”, 视频换脸, Windows 10/11

666AI工具大全,助力做AI时代先行者!

收藏的同时能不能顺手点个赞呐?各位官爷谢谢 啊!!

想要我文章版本链接的,私聊我,人多的话那回不过来!记得赞赞一下嘛!

最新版本我试了一下,在win10/11电脑上会有无法训练的问题,因此还是推荐使用文章的版本。

近年来,视频换脸成为了一种流行的趋势,许多B站的UP主纷纷上传了自己制作的恶搞AI换脸视频。尽管PS修图技术一直备受关注,但它的主要应用场景还是对图片进行处理。然而,网络上却出现了一些将著名演员迪丽热巴在某片段中的脸换成鹿晗的视频,这些行为似乎难以实现。实际上,这一切都归功于人工智能技术的强大能力:通过AI“造假”混合,形成了“深度造假”。

Deepfakes是一种将一个人现有的图像或视频中的个体替换为他人肖像的合成技术,它融合了”深度学习”和”造假”两种技术。这种技术借助了机器学习和人工智能领域的先进技术,生成了极具欺骗性的视觉和音频内容。在创建过程中,主要的机器学习方法是基于深度学习的训练生成神经网络,例如生成对抗网络(GAN)。

根据维基的记载,Deepfakes这个词汇在2017年底首次出现,源于Reddit的一位用户分享了他所创建的“深度伪造”工具。紧接着在2018年1月,一款名为FakeApp的桌面应用便面世了,它让用户能够便捷地制作和分享相互交换脸部视频。然而到了2019年,由于Faceswap以及基于命令行的DeepFaceLab等开源替代产品的出现,FakeApp的使用已经逐渐被替代。与此同时,一些大公司也开始采用Deepfake技术。

本文介绍使用DeepFaceLab这款开源产品,它基于python和tensorflow。

说明,基于本文掌握的内容不得用于非法违法目的以及违背道德的行为以及用于商业利益,否则本人概不负责。

开始前,需要在https://github.com/iperov/DeepFaceLab上获取下载地址,并进行安装(想要我文章版本链接的,私聊我,人多的话那回不过来!记得赞赞一下嘛!)。

在使用DeepFaceLab进行AI深度训练时,对电脑硬件的要求相对较高,尤其是CPU和GPU的性能。显卡性能的提升可以显著加快训练速度和效果。然而,这并非绝对,只要有足够的耐心和技巧,即使电脑配置不高,也能够合成出令人满意的效果。总的来说,电脑配置只是影响训练效果的一个因素,关键在于个人的技巧和方法。在我撰写这篇文章的过程中,我使用的是一台Win7电脑,虽然并非高性能配置,但这并不影响我对于DeepFaceLab的使用和评价。

安装完毕后,你会在DeepFaceLab_NVIDIA\下看到类似下图的文件:

1705791601386.jpg

安装后会看到的一些文件

在本篇中,我们将讨论如何在workplace中管理和利用我们的视频素材和图片。首先,我们需要预先准备好两个视频,一个是源视频,另一个则是目标视频。源视频通常是您希望替换成的新人脸的 video(例如您的面部视频),而目标视频则是对应的目标人脸的视频(例如星爷的面部视频)。为了实现这个目的,我们选择了一段吴孟达老师的经典视频片段,“你在教我做事啊”,并将其替换成了沈腾的脸部视频。因此,我们需要将源视频素材重新命名为“data_src.mp4”,并将目标视频小片段重命名为“data_dst.mp4”,然后将它们都放在workplace文件夹中。在此过程中,我们有几个关键的要求:首先,源视频素材必须具有清晰的人脸,而且需要是正脸,表情要丰富但不遮挡或模糊;其次,视频时长不需要过长。只有满足这些条件,我们才能保证替换后的视频效果最佳。

1705791601577.jpg

视频放置于workplace下

在执行”extract images from video data_src.bat”命令之后,您需要双击其结果以从视频中提取图像。回车后,系统会自动选择图片格式为PNG。

1705791601740.jpg

等待将data_src视频分帧

在执行完毕命令行窗口后,您可以关闭该窗口。在DeepFacelab中,我们使用FFmpeg工具来提取视频帧。接下来,您会在工作区/数据源文件夹中发现data_src.mp4文件中的每一帧图像。具体来说,您可以在图示中查看这些帧图片。

1705791601967.jpg

提取data_src.mp4后的每一帧

在执行了](https://www.example.com/data-src%EF%BC%89%E5%A4%87%E6%9C%89%E5%8F%AF%E4%BB%A5%E5%B0%86) 操作之后,我们需要删除data_src文件夹下所有没有沈腾的图片和模糊的图片。接着,执行3) extract%20images%20from%20video%20data_dst%20FULL%20FPS.bat%E6%A1%86%E6%9E%9C%E5%8F%AF%E4%BB%A5%E5%B0%86,这一命令将从data_dst.mp4中提取每一帧。执行完毕后,workplace/data_dst文件夹下就会呈现出每一帧的图片。

1705791602124.jpg

提取data_dst.mp4后的每一帧

执行4) data_src faceset extract.bat,这意味着将从data_src下的每一张图片里获取人脸。操作如下:

1705791602237.jpg

回车,Face type选择wf(wf=整个脸,基于情况而定,本教程基于默认选择此),Max number of faces from image默认回车键,提取最大的数量。Image Size是图片大小,默认回车512,Jpeg quality是图片质量,越高越好,默认回车90。Write debug images to aligned_debug这个选项默认回车,在data_src文件下我们可以不需要,但在操作data_dst时就需要了(程序会自动)。然后等待进程的执行,依据电脑配置,配置越高速度越快。

完成后,在data_src/aligned文件夹下会看到全部提取到的人脸,对就是沈腾的大头贴。

1705791602404.jpg

data_src/aligned下的人脸图

同样,我们在这里删除掉模糊的照片。其实前面在data_src/下删除了不合规图片,现在应该没有模糊的大头贴了。

点击5) data_dst faceset extract MANUAL.bat,从data_dst中提取人脸,这一步很重要也很繁琐!为何?我要说一下,我写本文章选的目标素材是吴孟达和叶德娴的小片段,所以视频里存在两个不同的脸。如果你的目标视频只单独存在一个人,使用data_dst faceset extract.bat可以快速的直接提取(所以并不需要此步骤的手动绘制)。而本情况一张图片里同时出现多脸,所以要选择data_dst faceset extract MANUAL.bat,随后会跳出选取窗口,需要手动提取,如下图。

1705791602516.jpg

这是第一帧的图片,我们只想用沈腾的脸替换掉吴孟达老师的脸,因此用鼠标抓取。轻轻移动鼠标,程序会根据当前区域而绘制轮廓图,可以滚动滚轴放大缩小,左键锁定右键解锁,按回车确定,意味着每一张图片都需要这样,不过可以连续按住回车,当脸部大幅度变动时再重新调整。

此步骤执行完后,data_dst目录下将会出现aligned和aligned_debug两个目录。前者是吴孟达老师的大头图,后者是绘制的脸部轮廓原型。

最后到了关键一步了,就是训练模型,利用AI算法不断训练。

Deepfacelab提供了两种训练方式:quick96和SAEHD。如何选择?若你的显卡显存低于6gb,建议使用前者,而saehd是更高清晰度的模型,用于具有至少6GB显存的GPU。两种模型都可以产生良好的效果,但显然SAEHD功能更强大,因此面向非新手。为什么要训练模型?因为我们要给AI学习的这些素材,AI通过算法识别A和B两者的脸部,然后根据前者脸部的特征学会面部表情,以及如何换向另一个的脸。训练就是AI学习两个脸部的过程。

本文选择使用quick96。执行6) train Quick96.bat,第一次训练时会让你命名此模型的名字,然后就会开始训练。

1705791602624.jpg

刚开始训练时

随后将弹出预览图,会看到五列脸。靠左是学习沈腾老师的脸部,靠右是吴孟达老师的,最后一列是替换之后的模样。刚开始十分模糊,随着时间的深入(根据时长以及你的计算机性能),模型将会越来越清晰。按p是更新,按s保存当前模型进度,回车关闭。模型训练需要很长的时间,如果基本上是正面的脸部视频,最好也不要低于6小时,而想要制作出精良的换脸视频,需要你的技术以及模型的时长了,甚至超过72小时都是可以的。因为模型可以随时进行训练,因此关闭之后可以再次执行train Quick96.bat。训练一段时间之后,预览图就为变得清晰:

1705791602812.jpg

训练一段后

当你觉得不需要再训练时,可以做最后一步了。执行7) merge Quick96.bat,开始调整合并你的模型。提示Use interactive merger时按y进入交互选项界面,如图:

1705791602935.jpg

interactive窗口的配置提示

Tab键切换面板(帮助/当前帧预览),你需要按tab切换到预览窗口才能点击按钮。 和-选择窗口大小。按c是color transfer mode,更改脸部传输颜色的模式,顶部1-6数字键是更换脸部模型,u和j调整脸部覆盖的大小,n更改sharpen锐化模式,y和h调整模糊效果,w和s调整脸部遮罩的范围,e和d模糊遮罩程度,还有其他选项,这些都依据自己想要的效果不断混合调整,因此需要耐心以及熟练度。

aigc666aigc999_0.jpg

AI时代,拥有个人微信机器人AI助手!AI时代不落人后!

免费ChatGPT问答,办公、写作、生活好得力助手!

搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!

Leave a Reply

Your email address will not be published. Required fields are marked *