本文只是博主对于新技术好奇而产生的一次尝试。仅供科普与交流之用,请勿用于一切非法用途。
互联网不是法外之地,希望各位同学谨言慎行,将这项技术用于合法、合规、合理、合情的场景。
从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版本了
安装应用
安装应用前,如果未安装显卡驱动的话需要先安装显卡驱动(怎么装驱动就不说了,百度搜索下都有),大部分机器出厂应该都代号了。
然后下载对应的版本(出于不可抗力因素考虑,下载地址自行搜索)。
安装也非常简单,解压到一个目录里即可。
安装完成后可以在目录下看到一列批处理文件,手动运行以下文件
- clear workspace.bat
- extract PNG from video data_src.bat
- data_src extract faces DLIB all GPU debug.bat
然后当出现以下内容时,则代表应用已经正确安装了。
- clear workspace.bat
![]()
- extract PNG from video data_src.bat
![]()
- 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):软件安装!