网站上的小白入门系列教程是基于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稳定版使用过程详解!的更多相关文章

  1. cegui-0.8.2编译过程详解

    cegui 编译过程详解(cegui-0.8.2) cegui配置整了好长时间了,在一位大牛帮助下终于搞定了,网上的教程大多是老版本的,cegui-0.8.2版的配置寥寥无几,现在总结一下,献给正在纠 ...

  2. 理论经典:TCP协议的3次握手与4次挥手过程详解

    1.前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务. 面向连接意味着两个使用TCP的应用(通常是一个客户和一 ...

  3. TCP协议的3次握手与4次挥手过程详解

    1.前言 尽管TCP和UDP都使用相同的网络层(IP),TCP却向应用层提供与UDP完全不同的服务.TCP提供一种面向连接的.可靠的字节流服务. 面向连接意味着两个使用TCP的应用(通常是一个客户和一 ...

  4. BabyLinux制作过程详解

    转:http://www.360doc.com/content/05/0915/14/1429_12641.shtml BabyLinux制作过程详解 作者:GuCuiwen email:win2li ...

  5. (转)Linux 开机引导和启动过程详解

    Linux 开机引导和启动过程详解 编译自:https://opensource.com/article/17/2/linux-boot-and-startup作者: David Both 原创:LC ...

  6. MySQL对数据库数据进行复制的基本过程详解

    MySQL对数据库数据进行复制的基本过程详解 这篇文章主要介绍了MySQL对数据库数据进行复制的基本过程,解读了Slave的一些相关配置,需要的朋友可以参考下 复制 复制是从一个MySQL服务器(ma ...

  7. 个人用户永久免费,可自动升级版Excel插件,使用VSTO开发,Excel催化剂安装过程详解及安装失败解决方法

    因Excel催化剂用了VSTO的开发技术,并且为了最好的用户体验,用了Clickonce的布署方式(无需人工干预自动更新,让用户使用如浏览器访问网站一般,永远是最新的内容和功能).对安装过程有一定的难 ...

  8. MySQL 语句执行过程详解

    MySQL 原理篇 MySQL 索引机制 MySQL 体系结构及存储引擎 MySQL 语句执行过程详解 MySQL 执行计划详解 MySQL InnoDB 缓冲池 MySQL InnoDB 事务 My ...

  9. TortoiseGIT的安装过程详解

    TortoiseGIT简介 TortoiseGIT 是Git版本控制系统的一个免费开源客户端,它是git版本控制的 Windows 扩展.可以使你避免使用枯燥而且不方便的命令行.它完全嵌入 Windo ...

随机推荐

  1. ES6 模块的加载实现 import和export

    ES6的Class只是面向对象编程的语法糖,升级了ES5的构造函数的原型链继承的写法,并没有解决模块化问题.Module功能就是为了解决这个问题而提出的. 历史上,JavaScript一直没有模块(m ...

  2. postgres使用pg_ctl 命令

    想要用pg_ctl等一系列的命令,需要配置环境变量: PATH=$PATH:$HOME/.local/bin:$HOME/bin:/usr/local/pgsql/binexport PGDATA=/ ...

  3. python tkinter 基本使用

    这里只放表格和一个控件基本属性 grid(**options) 属性-- 下方表格详细列举了各个选项的具体含义和用法: 选项 含义column 1. 指定组件插入的列(0 表示第 1 列)2. 默认值 ...

  4. wordcloud:让你的词语变成黑云

    介绍 对文本中出现频率较高的关键词给予视觉化的显示 使用 import jieba import codecs import wordcloud file = r"C:\Users\Admi ...

  5. spring cloud eureka注册原理-注册失败填坑

    写在前面 我们知道Eureka分为两部分,Eureka Server和Eureka Client.Eureka Server充当注册中心的角色,Eureka Client相对于Eureka Serve ...

  6. 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 ...

  7. CSS中cursor属性

    光标类型   CSS十字准心 cursor: crosshair;手 cursor: pointer;cursor: hand;写两个是为了照顾IE5,它只认hand.等待/沙漏 cursor: wa ...

  8. 关于order_by

  9. jdk8流list转Map

    /** * */ package com.chuanglan.demo; import java.util.ArrayList; import java.util.Arrays; import jav ...

  10. 对JavaScript 引擎基础:Shapes 和 Inline Caches

    全文有5个部分组成 1.JavaScript 引擎工作流程:介绍 JavaScript 引擎的处理流水线,这一部分会涉及到解释器/编译器的内容,且会分点介绍不同引擎间的差别与共同点: 2.JavaSc ...