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 ...
随机推荐
- ES6 模块的加载实现 import和export
ES6的Class只是面向对象编程的语法糖,升级了ES5的构造函数的原型链继承的写法,并没有解决模块化问题.Module功能就是为了解决这个问题而提出的. 历史上,JavaScript一直没有模块(m ...
- postgres使用pg_ctl 命令
想要用pg_ctl等一系列的命令,需要配置环境变量: PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/pgsql/binexport PGDATA=/ ...
- python tkinter 基本使用
这里只放表格和一个控件基本属性 grid(**options) 属性-- 下方表格详细列举了各个选项的具体含义和用法: 选项 含义column 1. 指定组件插入的列(0 表示第 1 列)2. 默认值 ...
- wordcloud:让你的词语变成黑云
介绍 对文本中出现频率较高的关键词给予视觉化的显示 使用 import jieba import codecs import wordcloud file = r"C:\Users\Admi ...
- spring cloud eureka注册原理-注册失败填坑
写在前面 我们知道Eureka分为两部分,Eureka Server和Eureka Client.Eureka Server充当注册中心的角色,Eureka Client相对于Eureka Serve ...
- D2. Kirk and a Binary String (hard version) D1 Kirk and a Binary String (easy version) Codeforces Round #581 (Div. 2) (实现,构造)
D2. Kirk and a Binary String (hard version) time limit per test1 second memory limit per test256 meg ...
- CSS中cursor属性
光标类型 CSS十字准心 cursor: crosshair;手 cursor: pointer;cursor: hand;写两个是为了照顾IE5,它只认hand.等待/沙漏 cursor: wa ...
- 关于order_by
- jdk8流list转Map
/** * */ package com.chuanglan.demo; import java.util.ArrayList; import java.util.Arrays; import jav ...
- 对JavaScript 引擎基础:Shapes 和 Inline Caches
全文有5个部分组成 1.JavaScript 引擎工作流程:介绍 JavaScript 引擎的处理流水线,这一部分会涉及到解释器/编译器的内容,且会分点介绍不同引擎间的差别与共同点: 2.JavaSc ...