DeepFaceLab初体验

本文只是博主对于新技术好奇而产生的一次尝试。仅供科普与交流之用,请勿用于一切非法用途。
互联网不是法外之地,希望各位同学谨言慎行,将这项技术用于合法、合规、合理、合情的场景。


从2017年开始,由Reddit用户“deepfakes”公布的换脸视频引起了全球对AI换脸技术的热潮和重视。之后该用户由于遭遇了不可抗力的封禁之后,愤而公开了软件的源代码。

之后这几年大家对于这项技术的应用看法褒贬不一。但这不是今天的重点。今天我们就来体验一下其中做的最简单、最方便、最快更新的一款应用————DeepFaceLab。

版本说明

在目前可以找到的版本中,有以下三个版本:

  • DeepFaceLabCUDA9.2SSE – for NVIDIA cards up to GTX1080 and any 64-bit
    CPU

(低级版)适用于等于或低于GTX1080的NVIDIA ,64位CPU。CUDA版本9.2

  • DeepFaceLabCUDA10.1AVX – for NVIDIA cards up to RTX and CPU with AVX
    instructions support

(高级版)适用于支持AVX指令的CPU,NVIDIA RTX,CUDA版本10.1

  • DeepFaceLabOpenCLSSE – for AMD/IntelHD cards and any 64-bit CPU

(兼容版)支持AMD/IntelHD 显卡和所有64位CPU。

用一句话来概述:AMD显卡或者用CPU(无独立显卡)计算的只能选择DeepFaceLabOpenCLSSE版本,如果你的显卡上了RTX系列可以用DeepFaceLabCUDA10.1AVX,如果是GTX系列的显卡那么只能用DeepFaceLabCUDA9.2SSE版本了

安装应用

安装应用前,如果未安装显卡驱动的话需要先安装显卡驱动(怎么装驱动就不说了,百度搜索下都有),大部分机器出厂应该都代号了。

然后下载对应的版本(出于不可抗力因素考虑,下载地址自行搜索)。

安装也非常简单,解压到一个目录里即可。

安装完成后可以在目录下看到一列批处理文件,手动运行以下文件

  1. clear workspace.bat
  2. extract PNG from video data_src.bat
  3. data_src extract faces DLIB all GPU debug.bat

然后当出现以下内容时,则代表应用已经正确安装了。

  1. clear workspace.bat

  1. extract PNG from video data_src.bat

  1. data_src extract faces DLIB all GPU debug.bat

软件目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|- _internal 应用源代码目录,不用管
|- workspace 工作目录
| |- data_dst 替换视频转换成的帧画面图片
| | |- aligned
| | |- aligned_debug
| | |- xxx.png
| |
| |- data_src 源视频转换成的帧画面图片
| | |- aligned
| | |- aligned_debug
| | |- xxx.png
| |
| |- model 根据选择的处理方式生成的模型和相关配置文件
| |
| |- data_dst.mp4 替换的视频
| |- data_src.mp4 需要替换的源视频
| |- result.mp4 合成之后的视频
|
|- xxx.bat 批处理命令 操作步骤

执行步骤

如图依次从上往下运行

其中有些步骤可以做更为细致的配置和跳过,此处因为是科普就先跳过了。
先照葫芦画瓢跑通demo。

首次结果

我的显卡是RTX2060,所以跑的是DeepFaceLabCUDA10.1AVX版本。在训练大约一个半小时(经历了22554次AI计算之后)。迫不及待的打算看下成果。

节选了四个帧画面做了截图比对(分别是一张正面照 两张侧身照 一张面部动作照),左侧为原视频截图,右侧为AI合成之后的效果

看完四张图,不得不说面部贴合近乎完美,每个器官的贴合位置出奇的一致。

那么缺点也很明显:
1.面部肤色差距过大。目前AI没办法对两个差距过大的肤色做综合色彩处理,很容易就能区分合成的视频(但是如果找到肤色相似的视频或者对视频做过特殊剪辑处理后,理论上可以做到贴合)
2.当拿来替换的视频中不存在某些原视频中的动作时,侧身或者大幅度面部动作会表现的很尴尬(如果加大替换视频的素材理论上可以解决这个问题)

总结:目前的AI换脸技术还存在一定的问题和门槛,但是当收集到足够的素材样本以及对参数进行调优之后,的确可以达到以假乱真的效果。

后续科普计划

1.参数调优
2.多面部处理
3.模型复用
4.处理方式介绍
5.更多细节处理…

参考文献

美国刮起“反AI换脸”热潮,创企各出奇招,联合对抗deepfakes
DeepFaceLab: SSE,AVX, OpenCL 等版本说明!
DeepFaceLab小白入门(2):软件安装!


评论区