DeepFaceLab620稳定版使用过程详解!
网站上的小白入门系列教程是基于2019.3.13的版本而编写,有部分内容已经发生了变化。而目前比较稳定的版本为620,这个版本保持了很长一段时间,并没有发现什么大问题,用着挺好。所以我决定针对这个版本从新写一个使用教程。(哭,写了几天项目作者开始疯狂更新版本….不过没关系620还是值得拥有!)
这个教程主要是为了把一些更新的内容囊括进来,不会像小白入门那么细致,但是我会尽量写的通俗易懂。
1. DeepFaceLab的安装
软件安装部分可以参考之前的教程,是一模一样的,核心要点只有一个:更新驱动(鲁大师, 驱动精灵,去英伟达官网下载都可以)。
2.DeepFaceLab小版本的选择
另外一个需要提前说明的问题是,关于小版本的选择的问题。
DeepFaceLab每一次发布都是4个小版本。
- 10.1AVX: N卡推荐这个,AVX值得是CPU的指令集,一般新的CPU都支持这个指令集。
- 10.1SSE: 如果你是N卡,但是CPU不支持AVX,那么可以选择这个版本。
- 9.2SSE: 这个版本CUDA是9.2, 其他同上。如果没有特殊原因还是建议使用10.1版
- OpenCLSSE: 针对AMD显卡和CPU用户。
3.DeepFaceLab的基本流程。
DeepFaceLab虽然更新了很多版本,但是基本流程没有变。
主要是还是一下几个步骤:
- 提取脸图
- 训练模型
- 图片转换
- 合成视频
4.DeepFaceLab H64使用举例。
DeepFaceLab软件自带了5个模型,H64,H128,DF,LIAEF128,SAE 。 每个模型都有自己的特色,这里不展开说。
其中H64是一个经典模型,几乎所有的AI换脸软件都支持这个模型,我还是以这个模型为例来演示。
2) extract images from video data_src (SRC视频转图片)
3.2) extract images from video data_dst FULL FPS(DST视频转图片)
4) data_src extract faces S3FD best GPU (提取SRC人脸图片)
5) data_dst extract faces S3FD best GPU (提取DST人脸图片)
6) train H64(训练模型,不会自动结束,耗时久)
7) convert H64(图片换脸)
8) converted to mp4 (将图片合成视频)
所有步骤中记住一个点,如果停住了就按回车,有的时候需要按很多次。只有第六步没法按回车结束的。
第六步关闭的方法有两种,
一种直接把窗口关掉,右上角xx,大家都懂的。
另一种,在预览窗口回车(竟然还是回车…)
5.DeepFaceLab 步骤详解。
开始前,先说下我的基本配置和Workspace。
我的配置配置
系统:window10 ,
DFL: DeepFacelab10.1AVx 620,
CUDA: CUDA10.1 ,
显卡: GTX 1070 8G
Workspace介绍
workspace翻译过来就是工作空间,很多编程工具和设计类软件都有这个概念。这个目录就是用来放置素材和结果文件的。
软件自带了这个文件夹,文件夹里面有两个视频,三个目录。
分别是:data_dst , data_src ,model , data_dst.mp4,data_src.mp4.
在运行软件的过程中还会生成图片和视频。这些文件和目录是干嘛的我会在下面的详细步骤中一一说明。
这里重点说一下这两个视频,src视频可以称为源视频,dst视频称为目标视频。
换脸的过程就是把src视频中的人脸放到dst视频的身体上。
下面开始具体的操作。
2) extract images from video data_src
双击以上脚本,跳出一个黑色窗口,你需要输入帧率(推荐:10),选择输出格式(推荐jpg) 。 输入一个,按一下回车。
稍等片刻即可完成,英文版会有Done的提示,中文版看各自的翻译了,完成按任意键即可退出。执行成功,workspace/data_src下面会产生很多图片,如下图:
3.2) extract images from video data_dst FULL FPS(DST视频转图片)
这个步骤和上面的非常类似,只是这一次操作的是data_dst.mp4这个视频。
这一步中只要要输入jpg回车即可,等待一小段时间后,出现完成提示,即可关闭窗口。
此时,workspace/data_dst中出现了好多图片。
4) data_src extract faces S3FD best GPU
这一步骤的操作是,从图片中提取人脸,也叫切脸。主要分三个阶段,第一阶段和第二阶段是主要使用GPU,第三阶段使用CPU。
注意:第一次使用的时候第一阶段会停留 比较常的时间,这是正常现象!
操作成功后会显示处理了多少图片,提取到多少头像。同时,workspace/data_src/aligned 下面会产生很多头像。这个头像是非常关键的。
这一个环节需要注意两个点:
1. 如果驱动太老会报错,
2. 第一次运行这个步骤会特别慢,中途会有类似卡死的错觉,你只要等等即可。
5) data_dst extract faces S3FD best GPU
这一步和上一步一样的操作,只是对象不一样而已。
6) train H64.bat
这是一个核心步骤,并且是最特殊一步,他不会自动结束。第一次启动会提示你输入若干个参数,作为新手,可以直接回车回车回车,这样就会使用默认参数启动模型。
模型启动后,workspace/model 目录下会出现5个文,这就是模型文件。
参数配置完成后,软件会加载第四步和第五部提取出来的头像,用来训练模型。模型启动后,底部会出现时间和一些跳动数字。同时跳出一个新的窗口。上面会有很多头像。
刚开始如上,只有两列头像,其他区域为灰色。
在这个窗口上按P或者等待十几分钟之后预览图会刷新,第三列和四五列出现头像。随着时间的推移,这些头像会从模糊变清晰。
因为这个步骤不会主动停止,所以让很多新手产生了一个困惑:我到底应该在什么时候关闭? 关闭后还能继续么?
首先,关闭后是可以继续的,软件会定时自动保存进度,下次用同样的方式启动后会自动加载之前的进度和配置。
其次,你可以通过两个依据判断是否可以停止这个步骤了。
第一:直接看图片,你认为第一列和第二列,第三列和第四列,已经够清晰了。
第二:看黑色窗口中跳动的数字,最后两个数字接近0.2 就差不多了。
7) convert H64
这个步骤主要实现图片换脸。参数是比较多的。新手可以一路回车到底,全部默认。
参数配置完成后,转换程序就会开始共工作,同时以百分比的形式显示转换进度。
转换过程中,workspace/data_dst/merged 下面会生成图片。这个图片就是已经换完脸的图片。
从中选一张,打开一看。托尼的脸已经被放到变形金刚男主角的身体上。因为我的训练时间非常短,所以效果一般。如果需要好的效果,可以增长训练时间。
8) converted to mp4
这一步主要是将已经换好脸的图片合成成视频,一般是合成mp4格式的视频。
合成视频的时候需要输入一个视频码率,原版默认值为16,这样会导致合成是视频非常大。
这里推荐输入3,在保证清晰度的情况下,文件也不会很大。
结束后,workspace下面会出现一个result.mp4的文件。这样整个换脸过程就结束了。
打开视频即可播放,和Fakeapp相比,DFL优点很多,比如清晰度更高,合成的视频带音轨,无水印。
写文章也是挺累的,边操作边截图,写完还得改错别字,能不能写个提纲,让AI来完成呢?
--------------------------------------------------------
获取更多Deepfakes/AI换脸内容可访问 deepfakes中文网
第一时间获取相关文章可关注微信公众号:托尼是塔克(TonyIsStark)
DeepFaceLab620稳定版使用过程详解!的更多相关文章
- cegui-0.8.2编译过程详解
cegui 编译过程详解(cegui-0.8.2) cegui配置整了好长时间了,在一位大牛帮助下终于搞定了,网上的教程大多是老版本的,cegui-0.8.2版的配置寥寥无几,现在总结一下,献给正在纠 ...
- 理论经典:TCP协议的3次握手与4次挥手过程详解
1.前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务. 面向连接意味着两个使用TCP的应用(通常是一个客户和一 ...
- TCP协议的3次握手与4次挥手过程详解
1.前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务. 面向连接意味着两个使用TCP的应用(通常是一个客户和一 ...
- BabyLinux制作过程详解
转:http://www.360doc.com/content/05/0915/14/1429_12641.shtml BabyLinux制作过程详解 作者:GuCuiwen email:win2li ...
- (转)Linux 开机引导和启动过程详解
Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LC ...
- MySQL对数据库数据进行复制的基本过程详解
MySQL对数据库数据进行复制的基本过程详解 这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下 复制 复制是从一个MySQL服务器(ma ...
- 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂安装过程详解及安装失败解决方法
因Excel催化剂用了VSTO的开发技术,并且为了最好的用户体验,用了Clickonce的布署方式(无需人工干预自动更新,让用户使用如浏览器访问网站一般,永远是最新的内容和功能).对安装过程有一定的难 ...
- MySQL 语句执行过程详解
MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...
- TortoiseGIT的安装过程详解
TortoiseGIT简介 TortoiseGIT 是Git版本控制系统的一个免费开源客户端,它是git版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windo ...
随机推荐
- 关于ES5中的prototype与ES6中class继承的比较
ES5:继承: 1.ES5:继承 通过原型链实现继承.子类的prototype为父类对象的一个实例,因此子类的原型对象包含指向父类的原型对象的指针,父类的实例属性成为子类原型属性 2.ES6 的继承 ...
- JVM--对象访问和OutOfMemoryError异常
对象访问: 使用句柄访问方式: 使用直接指针访问方式: OutOfMemoryError异常: 设置堆的最小最大容量:-Xms20m -Xmx20m 设置一样推不可自动扩展. 设置出现内存溢出 ...
- 89. Gray Code (Java)
The gray code is a binary numeral system where two successive values differ in only one bit. Given a ...
- Linu目录结构和创建用户
具体目标结构 ./bin [重点] (/usr/bin./usr/local/bin) ●是Binary的速写,这个目录存放着最经常使用的命令. ./sbin (/usr/sbin./usr/loca ...
- 10、LNMP架构
1LNMP架构概述 1.1.什么是LNMP LNMP 是一套技术的组合,L = Linux,N = Nginx,M~ = MySQL,P~ = PHP 1.2.LNMP架构是如何工作的 首先Ngin ...
- 10 Zabbix4.4.1系统告警“Zabbix server is not running”
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 Zabbix4.4.1系统告警“Zabbix server is not running” 第一步 ...
- python-1.Centos7安装Python3.6和Scrapy的方法
由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到 [root@iZm5efjrz9szlsq1a0ai3gZ ~]# python ...
- php禁止个别ip访问网站
PHP禁止个别IP访问自己的网站,可以看看下面的方法. function get_ip_data(){ $ip=file_get_contents("http://ip.taobao.com ...
- spring 视图解析 ——InternalResourceViewResolver
原文:https://www.cnblogs.com/lyj-gyq/p/8963885.html Spring自带了13个视图解析器,能够将逻辑视图名转换为物理实现 首先将会介绍 InternalR ...
- 【leetcode】1254. Number of Closed Islands
题目如下: Given a 2D grid consists of 0s (land) and 1s (water). An island is a maximal 4-directionally ...