AI换脸之DeepFaceLab小白入门
Fakeapp实在不行
老师给的Fakeapp2.1.0实在拉垮,不仅环境配置复杂,对小白极不友好,而且2.1.0版本还使用不了,只能截个照片。
而且最新版本2.2.0全网要不是缺少核心包就是失效网盘,看来百度很响应号召嘛(笑~)
反复折腾终放弃
折腾了2.1.0版本半天,错误不断,终于还是放弃了
翻译:训练过程结束。如果您自己没有结束它,就会发生错误。
就这?就这?辣鸡!
记得关闭360安全卫士!!!
正题:DeepFaceLab环境配置
DeepFaceLab介绍
Deepfakes是一种利用机器学习中的深度学习实现深度视频换脸的技术。这种技术在特定的场合下可以做出非常逼真自然的换脸视频。而DeepFaceLab是众多软件中,安装最简单,使用最方便,更新最快的一款软件。
这是一个github上的开源项目,所有人都可以查看源代码也能免费使用。这个项目的最大优点就是安装超级简单,几乎是无需安装。使用过程也不复杂,对于新手来说唯一的遗憾就是没有可视化界面,但这一点很容易克服,只要看完这个简易教程人人都能学会。
我的平台详情
注意!
用的是N卡,显卡是A卡的请关闭这个页面,自找教程
先准备这三个东西
如果没有请下载请点击下方链接
点击错误就复制
点击错误就复制
https://pan.baidu.com/s/1LhccM755UtVurExLy3QXJA
提取码:cfup
VS2015请自行下载
注意!
要选对自己的系统版本
先安装VS2015
安装完毕后打开再关闭
CUDA10.1安装
一路OK,NEXT点下去就行
DeepFaceLabCUDA10.1安装
选择路径,解压即可,本来就是一个7z格式压缩包
前期测试
首先打开此文件夹
文件解压后目录里结构大概如上。
__internal 为代码和环境目录,无需关心。
workspace 为项目目录,用来放置换脸的图片和视频。
除此之外会有很多以数字开头的批处理文件。这些数字从1)~8),分别代表换脸的八个步骤。
为了测试软件安装是否正确,可以先尝试点击 1,2,4。
1)clear workspace 效果如下,出现Done,press any key to continue 证明正常结束了。
2)extract PNG from video data_src 效果如下,出现Done证明正常结束了
4)data_src extract faces DLIB all GPU debug 效果如下,出现Done证明正常结束了
以上三个步骤都出现,证明你的软件已经安装成功了。可以开始使用了。
此时你可以查看软件目录下的\workspace\data_src\目录,里面会有很多人脸图片。
换脸的八个步骤主要可以分为四个阶段,把视频转换成图片,提取脸部,训练换脸模型,人脸替换,导出MP4视频。
DeepFaceLab换脸的执行步骤,大部分程序都是类似。DeepFaceLab 虽然没有可视化界面,但是将整个过程分成了8个步骤非常清晰,每个步骤只需点击BAT文件即可执行。只要看着序号,一个个点过去就可以了,这样的操作应该不复杂吧。
1.换脸的五个阶段
DeepFaceLab 换脸的八个步骤主要可以分为五个阶段。
1.视频转图片
2.提取脸部,
3.训练模型,
4.人脸替换,
5.合成视频。
2.换脸实战步骤(跟着步骤走就行)
出于不同的原因,目录里准备了很多批处理(bat)文件,但是完成一次换脸,并不需要点击每一个文件。下面我举个例子。
按以下文件名依次点击,即可换成换脸(某个环节停住了不动,请按Enter键,第六步需要很长时间)。
注意: 如果不想探究细节,直接按照下面这几个步骤顺序来就行了
注意:查看workspace工作目录
data_dst.mp4是你要换脸的视频(网上寻找的)
data_src.mp4是你自己拍的视频(就是你的自拍视频)
保持这些名称不变,把你素材视频名字改成这样即可
1) clear workspace.bat (重置工作空间,第一次使用可不点)
2) extract PNG from video data_src.bat(把src视频转换成图片,按一次Enter键)
3.2) extract PNG from video data_dst FULL FPS.bat (把dst视频转换成图片)
4) data_src extract faces DLIB best GPU.bat(第三个 4,从src图片中提取脸部图片)
5) data_dst extract faces DLIB best GPU.bat(第三个 5,从dst图片中提取脸部图片)
6) train H64.bat (使用H64开始训练模型,耗时久,不会自动结束!)
7) convert H64.bat(使用训练好的H64模型对图片进行换脸)
8) converted to mp4.bat(将已经换好脸的图片转换成视频)
OK,搞定。
3.一些概念的简单说明
Result.mp4
不需要任何输入,也不用调整任何参数,也不需要你去找素材,也不用你创建什么目录,点点点就完成了。已经换脸成功的视频保存在DeepFaceLabCUDA10.1AVX\workspace目录下,名叫result.mp4,打开这个视频就能看到效果了。
Done
以上的操作中,大部分步骤都有进度条或者百分比,在一定时间内会执行完成,出现Done这样的提示,代表已经运行结束,如果卡主不动,请按回车键enter,一次不够就按两次,三次….
Train
但是其中的训练(train H64)环节并不会自动结束,需要你在合适的时候手动关闭。而关闭依据也非常简单,就是预览图中的人脸变得足够清晰就可以了。如果你觉得够清晰了,那么关闭窗口,继续下一步。这个过程根据你的显卡配置,耗时各有不同,配置好几个小时就能出效果,配置差点需要好几天。
Error
如果按照上面的方法黑色框中出现Error的字样,那么证明你出错了。那么错在哪里? 最有可能是你的电脑配置比较低,核心指标是显存。 1G显存默认配置肯定跑不了,2G需要开启轻量级,4G以及以上比较稳,越大越好。
提取人脸图片
开始之前先看两个目录。
DeepFaceLab 更目录如下。
workspace工作目录如下
data_dst.mp4是你要换脸的视频(网上寻找的)
data_src.mp4是你自己拍的视频(就是你的自拍视频)
保持这些名称不变,把你素材视频名字改成这样即可
1) clear workspace.bat (清空项目)
这是一个用来初始化项目目录的文件,由于软件本身自带了一个workspace,所以你第一次使用的时候可点,可不点。点了之后,一个回车,界面如下。
2) extract PNG from video data_src.bat(视频转图片)
双击这个文件之后程序就开始运行,会出现一个提示。
Enter FPS ( ?:help skip:fullfps ) :
此时你可以直接回车,这样转换出的图片最多,你也可以输入一个20以内的数字,比如10,这样图片就会少一点,设置5 也可以。输入数字后回车即可。
注意:新版本多了一个jpg或png的选项。jpg会快很多,文件下小很多,png嘛图片信息会保存更多。
运行结束之后出现Done Press any key to continue。 此时在workspace\data_src目录中会出现好多图片,这些图片就是把视频一帧帧分解成图片了。
3.2) extract PNG from video data_dst FULL FPS.bat(视频转图片)
这一步和2)的原力是一样的,只是这次操作的视频是workspace\data_dst.mp4,而且默认是全帧率转换,转换完之后workspace\data_dst目录下面会出现很多图片。
4) data_src extract faces DLIB all GPU debug.bat(切脸)
这一步的目的是,把图片中的人脸提取出来。双击后自动运行,运行过程分三步走,不需要人为干预。
结束后会显示Images found 图片数量,Faces detected 检测到的人脸数量。
运行结束后,提取到人脸保存在workspace\data_src\aligned 目录。
4.1) data_src check result.bat (检查提取效果)
点击这个之后,自动打开一个看图软件,会帮你自动定位到workspace\data_src\aligned目录,在这里你可以把不清晰的,有遮挡,或者误提取的图片删除,留下清晰的高质量图片,这个会让你的模型质量更高,转换之后的效果更好。
4.2.1) data_src sort by blur.bat(排序)
4.2开头的都是排序工具,根据不同的特性进行排序,比如blur 只是更具清晰度来排序,这个你可以快速找到不清晰的图片删除,还有similar histogram根据相似度排序, face pitch 脸的俯仰,face yaw脸的左右偏移。 基本上只要用到这,排序的目的是去除劣质图片,筛选出优质图片。
如何换一组训练对象
如果你以及成功跑完所有环节,成功的把小罗伯特唐尼的脸放到了希亚·拉博夫的头上。此时你想换一个人玩玩,该怎么操作?
操作很简单,把data_dst.mp4和data_src.mp4换成新的视频,把model下面的文件全部删除,然后按上面在步骤再来一次即可。
训练换脸模型
训练模型,是换脸过程中最重要的一部分,也是耗时最长的一部分。很多人会问到底需要多少时间?有人会告诉你看loss值到0.02以下就可以了。我会告诉你,不要看什么数值,看预览窗口的人脸。看第二列是否和第一列一样清晰,看最后一列是否清晰,如果答案是“是”,那么恭喜你可以进入下一个环节了。
这个环节主要包括5个文件,每个文件代表一种模型,你只需选择一种即可。目前用的比较多的是,H64,H128,SAE 。
如果你玩这个软件,建议选着H64,出效果快,参数简单。
如果你需要更高的清晰度可选H128
如果你需要自定义更多参数选SAE。
6) train H64.bat
这个步骤虽然是最重要的,但是操作其实非常简单,比如你使用H64模型。只需双击文件。
双击文件文件之后一路回车,当跳出带头像的预览窗口就代表已经开始训练。刚开始训练的时候,第二列和第四列是空的,什么都没有,随着时间的推移会出现模糊的头像,继续训练头像会越来越清晰。
Batch_size
这是一个深度学习中最常见的数字,也是每个模型必备参数。这个值到底取多少没有标准,默认为4,你可以用的值为2的n次方,比如2,4,8,16,32,64,128。一个普遍的常识是,数字大的会比小的效果好,loss收敛更快,震荡区域更小,但是对于机器配置的要求也越高。主要是对显存需求变大,一般4G显存最高只能16,继续提高会报OOM错误。
Epoch
这又是一个深度学习概念,讲的是训练完所有素材消耗的时间,最新版本这个名词改成了iteration 。 这么一改可能会让人有点混乱,但是你无需过多关注。你可以简单的认为是训练的次数。这个数值越大训练次数越多,效果越好。 而[1046ms] 这个数字越低,代表你电脑的配置越好,训练模型需要的时间更短。
LOSS
这TM又是一个深度学习的概念,反正就是越低越好。但是不要看绝对值,要看趋势,这个值慢慢降低,对应的预览图会越来越清晰,当降到一定数值(不一定是0.02或者0.01)后就很难在降低。
对于train这个训练环节,你只要看最直观的预览图即可,其他都是浮云,浮云,浮云。
训练结束之后!!!
我们就可以进入真正的换脸环节了
脸部替换以及合成视频
前面的都是准备工作,这个环节才是真的换脸。换脸主要分两部分
1.图片换脸
2.把图片合成视频
7) convert H64 debug.bat
这个环节是和训练环节相对应的,比如我们之前选的是H64,这里就选带H64的来进行转换。如果之前选了SAE,这里就选SAE。 其中的每一种类型两个文件,一个带Debug,一个不带。默认选不带debug的。 debug可以观察替换的整个过程,但是一张一张处理会超慢。
双击后出现的内容如上,显示了这个模型的迭代次数,以及模型的配置。底部Choose mode 是让你选择合成的模式,你直接回车,就是默认模式。
上图显示了转换过程中所有参数项,一般你不需要手动输入,直接一路回车,默认的参数都是调优过的。
参数选完后就程序就开始转换图片了,此处有进度条,100%即代表转换完成。
转换完成后可以进入workspace\data_dst\merged 查看结果。
这个目录显示了很多图片,任意点开一张,可以看到,这个人的脸部已经被替换过。如果你训练的时间比较短,这里人脸就会比较模糊。
8) converted to mp4.bat
这一步就更加简单了,二话不说直接点converted to mp4.bat ,将转换好的图片合成视频。 点击这个文件之后,会停住,等待你输入“码率”。
你可以直接回车,默认值为16, 你也可以输入自己想要的值,比如2。 一般来说这个值不需要很大,这里数字大的结果是,合成的视频文件非常大,一分钟,上百兆。
经过短暂的等待视频就被合成,合成的视频名称叫result,是一个mp4格式的视频文件。打开就能看到效果了,声音也是有的,不会出现声画不同步,或者没有声音的情况,这一点DFL要比其他换了软件好很多。
到这一步,整个换脸就结束了,第一次玩也许效果不理想,但是至少你知道换脸到底是怎么回事儿了,后面就可以去查资料,或者群里问大神,优化自己的模型,制作出如假包换的换脸视频。
本文内容部分转载自DeepFake中文网
本站部分文章资源来源于互联网,仅供学习交流,如若要商用,请购买正版!
若不听劝告,网友造成出现一切后果,与本站本人无关
本站有些资源未经测试,请注意网络安全,本站不对下载的资源造成的后果负责
免责声明
作者:昼白
转载请注明来源:https://www.2bcnm.com/2011.htm
若不听劝告,网友造成出现一切后果,与本站本人无关
本站有些资源未经测试,请注意网络安全,本站不对下载的资源造成的后果负责
免责声明
作者:昼白
转载请注明来源:https://www.2bcnm.com/2011.htm
THE END
0
二维码
打赏
海报


AI换脸之DeepFaceLab小白入门
Fakeapp实在不行
老师给的Fakeapp2.1.0实在拉垮,不仅环境配置复杂,对小白极不友好,而且2.1.0版本还使用不了,只能截个照片。
而且最新版本2.2.0全网要不是……

周柏