首 页
手机版

deepfacelab中文版 v25.03.2020(附使用教程)

是一款强大的图片处理软件

deepfacelab是一款强大的AI换脸软件,能够将面部数据直接嵌入在png文件中,不需要手动对齐。软件能够单独使用,几乎具有零依赖性,可与所有Windows版本的预备二进制文件(CUDA,OpenCL,ffmpeg等)一起使用,对显卡的要求也不高。软件不仅支持MTCNN,DLIBCNN,S3FD 等多种提取器,同时还提供了包括S3FD,MTCNN,dlib或手动提取模式,能够锁定更精确的脸部区域,以展现更好的结果。除此之外,全新的架构与转换器能够以16的增量训练任何分辨率,加上系统本身的优化,即使使用NVIDIA卡也能轻松训练256。

值得一提的是,deepfacelab也是一款可训练的换脸软件,用户不仅可以给一张定格的图像进行换脸,还支持对动态视频,jif图等进行换脸操作,凭借软件内置的大量批处理文件,会自动捕获人物动作并且进行修改复制,从而实现视频AI换脸的操作。当然软件最强大的地方在于内置了一个类似数据库的管理空间,能够自主记录用户的操作与使用习惯,不断向后天输入正确或者错误的指令,当用户下一次要进行相同的指令时,软件就会自动监测并且给出修改建议。

PS:小编这次带来的是deepfacelab中文版,在下文有详细的软件使用教程,送给喜欢的小伙伴借鉴参考。

deepfacelab软件

软件特色

1、安装方便,环境依赖几乎为零,下载打包 app 解压即可运行(最大优势)

2、添加了很多新的模型

3、新架构,易于模型实验

4、人脸图片使用 JPG 保存,节省空间提高效率

5、CPU 模式,第 8 代 Intel 核心能够在 2 天内完成 H64 模型的训练。

6、全新的预览窗口,便于观察。

7、并行提取

8、并行转换

9、所有阶段都可以使用 DEBUG 选项

10、支持 MTCNN,DLIBCNN,S3FD 等多种提取器

11、支持手动提取,更精确的脸部区域,更好的结果。

使用教程:

1:源视频转图片

跳出黑色窗口,输入10回车,然后输入jpg回车,就会自动开始将视频分解为图片。

FPS:视频有一个指标叫帧率,常见有24,30,60等,代表一秒钟有几张。第一个参数输入10指的是一秒钟只取10张;不输入直接回车,默认帧率是30就取30张。因为很多影视剧画面相对固定,没必要全部取,否则后面会浪费大量提取时间,而且模型训练压力也会加大。

Format: ?图片格式,主要是jpg和png。png是无损格式,但是JPG能在保证画质的情况下减少巨量的空间。所以如果不是要求特别变态,一般都用jpg。这样可以减少空间,节省时间

正常情况下,这个步骤执行非常快,出现“搞定/done” 的字样就是执行完成了。完成后,workplace/data_src下面就会出现很多图片,这就是从视频里分解出来的图片。文件名一般为0000x.jpg,其实这里面命名可以随意,没有强制要求。这里还有一个aligned的文件夹,是为后面步骤准备的。

2:目标视频转图片

双击批处理文件目标视频转图片 extract images from video data_dst FULL FPS.bat

和上面的步骤类似,这次处理的是dst视频。因为dst必须一帧不落,所以没有FPS选项,只有图片格式这一个选项。

处理完后的图片保存在workspace/data_dst里面。

3:提取源头像

双击批处理文件提取源头像 data_src faceset extract.bat

这一步的作用是提取源素材图片中的人脸。这里有六个参数,一般只需一路回车即可。第一次使用需要缓存GPU内核,需要稍微等一等。开始提取后底部有显示进度,当进度到100%,会显示图片数量和提取到的人脸数量,并出现“搞定!!!” 就证明已经出来成功并且处理完成。

处理完成后,头像保存在data_src/aligned下面。

不少人在这个环节会遇到问题。

常见问题是:

驱动不够新,去官网下载更新到最新版本即可。

软件不够新,deepfaker.xyz 上获取新版

显卡软件不匹配, A卡用Directx12,不要用rtx3000版。

提取完之后,如果src素材比较复杂,就需要做一些筛选。这个筛选可以写一篇很长的文章。这里简要说一下。主要是把一些不需要的素材删除:

很模糊的可以直接删除

不是目标人物的可以直接删除

图片残缺的删除

脸部有遮挡的删除

脸部光照差异特别大的删除

4:提取目标头像

双击批处理文件目标头像提取 data_dst faceset extract.bat

这一步的作用是提取目标素材图片中的人脸。和上一步非常类似,这里就是少了一个“保存调试图片”的参数。其实也不是少了,而是默认就执行了。

提取的头像保存在data_dst/aligned的文件夹里。

提取完之后也要对素材进行一个筛选。

把不是目标人物的素材删掉,把头像旋转的图片删掉。一般来说文件名后缀_1的都可以删掉。dst的删除核心原则是要换的人脸留下,不要换的统统删掉。

这些图标保存在aligned_debug里面

大概其中一张图片,可以看到人脸上有三种颜色的线框。

红色就是头像截取的区域,蓝色是面部区域,绿色是人脸轮廓,以及五官定位的点。其实就是人脸的landmark。通过debug你可以直观的看到人脸识别算法识别了哪些区域,有没有识别正确。

5:训练模型

双击批处理文件 训练轻量级模型 train Quick96.bat

这一步是训练模型,所有步骤中最重要,最难,也是最耗时间的部分。目前新版本中主要包含三类模型,分别是Quick96,SAEHD,AMP 。

我把Quick96翻译为轻量级模型,优点是所需配置低,显存低,速度快,操作简单。缺点是不能自定义,像素比较低,合成效果差一些。

这个模型很简单,所以也非常适合拿来入门。所以本文就用这个来举例。SAEHD和AMP模型和模型训练的知识会另起一篇文章来介绍。

Quick96使用非常简单,双击批处理文件后,选择执行设备即可,这里一般都是选显卡,直接回车即可。设备选择完成之后,程序就会自动加载素材,并显示模型的参数,底部会有跳动的数字,然后会跳出一个预览窗口。

先来说说底部的数字,总共五列,分别代表:模型保存时间,迭代次数,单次迭代时间,源损失,目标损失。迭代次数是越多越好,损失是越低越好,零就是无损了嘛~不过,不可能达到!

下面来说说预览窗口

预览窗口包含操作提示、loss曲线,人脸区域。人脸区域总共五列。第一列是src,第三列是dst。第二,四,五列为算法生成列,刚开始是纯色,啥头像都没有。随着训练的进行,会慢慢出现轮廓,鼻子,眼睛,然后慢慢变清晰。

训练的过程就是等待这几列变清晰的过程,最后一列就是换脸后的效果。

这一个步骤并不会自动结束,需要自己判断,然后手动结束。可以通过损失值和预览图来进行判断。一般来说损失值(loss)值到了0.1x就差不多了。但是素材质量和数量不一样,会影响这个指标的变化速度。比如素材特别少,这个值降的特别快,特别低。图片不是很清晰,这个值也降的特别快,特别低。反过来,图片质量高,数量多,这个就很难降低。但是这样情况下训练出来的模型更好。

相比数字而已,通过预览图来判断就更加直观了。只要观察第二列是否无限接近第一列,第四列是否无限接近第三列。第五列的表情是否无限接近第四列。所有列的图片是否都足够清晰。如果答案是“Yes” ,那么按回车或者直接关闭窗口,进入下一步。

正常情况下模型会过几十分钟保存一次,也可以手动按S直接保存。关闭后,可以重新点击批处理文件继续训练,不用担心丢失进度。当然,要防止意外关机和重启,可能会损坏模型。

deepfacelab安装教程:

一、安装

1、在本站下载好压缩包后解压,找到并双击最新版的7z文件。

2、选择安装路径,建议放在C盘以外的磁盘,路径尽量短点不要包含特色字符。

3、单击Extract开始解压软件。

注意:软件安装本质上只是解压而已,无需安装,就像很多绿色软件一样。如果QQ管家或者360报毒(都是流氓软件),添加信任放行即可。

依赖安装:依赖的意思就是使用这个软件之前必须要先安装的软件,DFL的唯一依赖就是显卡驱动。所以你只需要更新驱动即可使用此软件,CUDA和CUDNN不是必须的。

二、、目录

软件解压完成后会出现一个叫DeepFaceLab_NVIDIA的文件夹,里面有一个workspace,我们需要的文件都会在这里。这个文件夹下面有三个文件,两个视频,代表的意义如上图! 需要换自己的视频,只需要把这两个MP4换成自己的就好了。

软件运行过程中,在Data_dst 和data_src 中里面还会产生一个aligned的文件,里面会放置提取到的人脸图片,比较重要!

三、 流程介绍

进入软件目录后会发现很多以。bat结尾的文件,叫批处理文件。此类文件在window系统下可以直接双击运行,和exe没有两样了。大致步骤如上。

1、把视频转成图片

2、从图片中提取头像

3、用头像训练模型(模型相当于……)

4、用训练好的模型实现图片换脸

5、把换好脸的图片合成视频!

软件功能

1、可单独使用,具有零依赖性,可与所有Windows版本的预备二进制文件(CUDA,OpenCL,ffmpeg等)一起使用。

2、新型号(H64,H128,DF,LIAEF128,SAE,恶棍)从原始的facewap模型扩展而来。

3、新架构,易于模型试验。

4、适用于2GB旧卡,如GT730。在18小时内使用2GB gtx850m笔记本电脑进行深度训练的示例

5、面部数据嵌入在png文件中(不再需要对齐文件)。

6、通过选择最佳GPU自动管理GPU。

7、新预览窗口

8、提取器和转换器并行。

9、为所有阶段添加了调试选项。

10、多种面部提取模式,包括S3FD,MTCNN,dlib或手动提取。

11、以16的增量训练任何分辨率。由于优化设置,使用NVIDIA卡轻松训练256。

deepfacelab配置要求

系统:Win7, Win10

显卡:GTX 1060以上效果较好,需要安装windows 版本的 VS2015,CUDA9.0和CuDNN7.0.5

优点:基于Faceswap定制的bat处理批版本,硬件要求低,2G显存就可以跑,支持手动截取人脸、集成所需要的素材和库文件,功能强大

缺点:复杂、处理批较多,脸部数据不能和其他deepfakes通用,需要重新截取

总结:适合有一定编程基础、追求效率高的用户

常见问题

1、人脸素材需要多少?

尽量不要少,因为它是有限的且需要被替换的素材,根据各软件的脸图筛选规则和网上大神的建议,总体来说,SRC脸图最好是大概700~3999的数量,像Deepfacelab的作者,他就认为1500张够了。对于SRC,各种角度、各种表情、各种光照下的内容越多越好,很接近的素材没有用,会增加训练负担。

2、手动对齐识别人脸模式如何使用?

回车键:应用当前选择区域并跳转到下一个未识别到人脸的帧

空格键:跳转到下一个未识别到人脸的帧

鼠标滚轮:识别区域框,上滚放大下滚缩小

逗号和句号(要把输入法切换到英文):上一帧下一帧

3、MODEL是个什么东西?

MODEL是根据各种线条或其他奇怪的数据经过人工智能呈现的随机产生的假数据,就像PS填充里的“智能识别”,你可以从 https://affinelayer.com/pixsrv/ 这个网站里体验一下什么叫MODEL造假

4、MODEL使用哪种算法好?

各有千秋,一般Deepfacelab使用H128就好了,其他算法可以看官方在GitHub上写的介绍:https://github.com/iperov/DeepFaceLab

5、Batch Size是什么?要设置多大?

Batch Size的意思大概就是一批训练多少个图片素材,一般设置为2的倍数。数字越大越需要更多显存,但是由于处理内容更多,迭代频率会降低。一般情况在Deepfacelab中,不需要手动设置,它会默认设置显卡适配的最大值。根据网上的内容和本人实际测试,在我们这种64和128尺寸换脸的操作中,越大越好,因为最合理的值目前远超所有民用显卡可承受的范围。

6、MODEL训练过,还可以再次换素材使用吗?

换DST素材:

可以!而且非常建议重复使用。

新建的MODEL大概10小时以上会有较好的结果,之后换其他DST素材,仅需0.5~3小时就会有很好的结果了,前提是SRC素材不能换人。

换SRC素材,那么就需要考虑一下了:

第一种方案:MODEL重复用,不管换DST还是换SRC,就是所有人脸的内容都会被放进MODEL进行训练,结果是训练很快,但是越杂乱的训练后越觉得导出不太像SRC的脸。

第二种方案:新建MODEL重新来(也就是专人专MODEL)这种操作请先把MODEL剪切出去并文件夹分类,这种操作可以合成比较像SRC的情况,但是每次要重新10小时会很累。

第三种方案:结合前两种,先把MODEL练出轮廓后,再复制出来,每个MODEL每个SRC脸专用就好了。

7、出现ValueError: No training data provided怎么办?

没有脸部数据,可能是你用其它软件截的脸,这是不行的,DFL仅支持自己截的脸。你可以将其它软件截的脸让DFL再截一遍就可以用了

8、出现ImportError: DLL load failed.

首先检查Microsoft Visual C++ distributed 2015 X64装了没有,如果装了就找度娘下载api-ms-win-downlevel-shlwapi-l1-1-0.dll(32位)和ieshims.dll复制到DFL的“_internal\python-3.6.8\Lib\site-packages\cv2”中,

9、为什么我换的脸是模糊的

运存过少,训练时间不够,src人脸过少,loss值太高(0.5以上都有点糊)以及"pixel_loss = True"(就是模糊的开关)都会导致这种情况,虽然512MB可以运行,但是结果肯定是不尽人意的,推荐运存2GB以上,训练时间一般10h以上,loss值推荐0.2左右。

10、为什么训练时loss值显示的是nan,而且马上就报错

这个我也不太清楚,可能是运存太低,解决办法就是“Use lightweight autoencoder? (Y / n,:? Help skip: n):”选择y(轻量编码器,速度快35%,输出结果目前看来差不多)。

11、为什么loss值降到一定就不降了

一般来说降到0.2左右训练就很成功了(一般需要10+h,Iter100000+,而我的电脑需要训练一个星期才能达到目标效果),但是也有特殊情况,降到1左右不再降的可能是脸差的太厉害了,比如讲一个男人的脸贴一个女人身上,当然也有可能是时间不够。

12、src需要多少个照片训练比较好

700~3000个左右,推荐1500个最好,太少的话即使loss降到0.1也是糊的,太多的话加重运算负担。

更新日志

v25.03.2020版本

1、修复部分系统错误“Failed to get convolution algorithm”

2、修复部分系统错误“dll load failed”

3、修改模型下面的summary文件的格式,显示更多内容。

4、修改脸部遮罩,扩展眉毛部分区域,这个修改不影响Fan-x

5、转换遮罩:为底部区域添加遮罩渐变。

收起介绍展开介绍
  • 下载地址
deepfacelab中文版 v25.03.2020(附使用教程)

有问题? 点此报错

发表评论

2人参与,1条评论
第1楼江苏省移动网友发表于: 2021-06-17 17:46:44
好难啊,0编程基础完全看不懂啊
0盖楼(回复)
管理员回复网友发表于: 2023-05-10 15:21:36
万事开头难,加油
0盖楼(回复)