DeepFaceLab是一个通过深度学习来变脸的软件,这个软件是通过显卡来完成学习的,所以做这个有个相对好一点的显卡就很有必要。而它对软件唯一的依赖就是显卡驱动。所以,如果你运行这个软件出错,请记住,首先排查驱动。是否将驱动更新到了最新版本。最安全的方法是重做系统,然后装驱动,然后就开以运行了。确实有朋友安装了CUDA这些东西然后软件报错的。

一般作者发布软件是四个版本,分别是:

1). DeepFaceLabCUDA10.1SSE_build_04_28_2019.exe
2). DeepFaceLabCUDA10.1AVX_build_04_28_2019.exe
3). DeepFaceLabCUDA9.2SSE_build_04_28_2019.exe
4). DeepFaceLabOpenCLSSE_build_04_28_2019.exe

这四个版本都有什么不同呢?

首先看这几个版本,第一个SSE这个词,特指CPU的指令集,SSE(Streaming SIMD Extensions)是英特尔在AMD的3D Now!发布一年之后,在其计算机芯片Pentium III中引入的指令集,是MMX的超集,由此可以追溯到1999年2月26日,那么这个版本特意指出这个关键词,就是为了告诉用户:这是专门为老爷机所研发的版本,如果你的CPU太老,基本在2011年1月之前的intelCPU,那么你可以考虑使用这个版本。X58架构(含)之前的CPU,只能用这个版本。
如果你还在用着1999年之前的上古神器,连SSE也不支持,那我劝你还是放弃治疗吧,那会儿还没有PCIE,用AGP显卡来跑这个?逼死作者对你们来说有什么好处?

然后,AVX是什么意思呢?AVX第一次出现是在2011年,Intel又要搞事情,发布了全新的微处理器架构Sandy Bridge,并带来了全新的指令集Intel Advanced Vector Extensions (Intel AVX)。那么对应咱们的版本来说,在2011年之后的CPU都可以使用这个版本,以2开头的intel CPU都能支持这个指令集,像什么i3-2130这一类的。也就是说,1155针以后的CPU都可以使用,包含2011针。

上面两个对应的是CPU的指令集,其实如果你不想看我在这儿啰嗦,那么你只需要去下载一个CPU-Z,然后它会告诉你,你的CPU都支持哪些指令集,一目了然,然后再选择就行了。

说完了上面两个,下面两个就好理解了。CUDA是nVIDIA所推出的运算平台,那么这个版本就特指N卡了。CUDA9.2是指,有些n卡太老,并不支持CUDA10.1,那么只能退而求其次去选择CUDA9.2版本了,同样的,你可以在n卡的控制面板里面找到你的显卡所支持CUDA。同样的,这个版本对于CPU也放宽了,显卡都这么老了,CPU也没抱什么期待,有SSE就可以跑。

因为CUDA是老黄的不传之秘,那么AMD怎么办?只能用OpenCL进行计算了。所以老铁,A卡选最后一个版本没毛病。

本网站是DeepFaceLab中文版的发布网站,要想了解DeepFaceLab,就得先知道AI DeepFace。

自从ZAO软件火了以后,AI换脸又一次掀起了技术狂潮。这项技术最早是在Reddit社区流行起来的,刚开始发布这个技术的哥们是个狠人,因为把这个技术应用于爱情动作片上,惨遭封杀,于是这哥们直接把这软件开源放在了github上,再之后才有了像FaceSwap,FakeApp,DeepFaceLab这些换脸软件。

其它的软件各有优缺点,这里是DeepFaceLab的中文站点,所以着重介绍一下DeepFaceLab(以下简称DFL)。
初学者可能困惑于各种安装环境的安装。以FaceSwap为例,首先得安装Visual Studio,CUDA,CuDNN,Python,Tensorflow等等各种环境。软件本身不难,可是很多人就是被挡在了环境之外。所以推荐DFL,就是因为DFL的作者很贴心,把所有的环境都整合在软件包里,你拿来直接用就OK了。

但是它的毛病也有,没有可视化的GUI界面是它最大的硬伤,你拿到手就是一堆的bat。像我这种80初的人还好点,当年学计算机都是从DOS过来的,批处理并不陌生,而年轻一点的朋友,可能就没有接触到批处理的命令,所以很多东西看得似是而非。再加上原作者是个俄罗斯人,他的英文我感觉也并不好,很多时候都是google translate,由俄文机翻英文,很多词义就更叫人茫然了。所以基于这种目的,笔者开发出了一套GUI,让这项技术的门槛再降低一点。

好吧,说了半天还没有接触到正题,那么我们详细的介绍一下这个软件的工作流程吧。
可以这么说,所有换脸的软件,都要涉及到SRC和DST这两个概念。

SRC:source的缩写,就是源的意思。
DST:destination的缩写,就是目标的意思。
整个换脸的流程,就是把src的脸部图片替换到dst的脸型上。这就是普通意义的AI换脸。
但是软件的流程要相对复杂一点。大致如下:

  1. 需要一段src视频,把src视频分解成每一帧的图片。
  2. 需要一段dst视频,同样按照帧数分解。
  3. 检查src每一帧的图片,把上面的脸部图片采集下来。
  4. 采集dst脸部图片,跟src流程一致。
  5. 建立神经网络,让src通过各种算法学习dst脸型上的特征。
  6. 训练出成效以后,把src的脸型图片覆盖到dst上去
  7. 最终制作完成的图片再合成一个完整视频。
    其实整个流程就是这样,你可以把它看做一个流程化的Photoshop。

这中间跟机器配置是有关系的。因为它的算法是通过显卡来计算的,这点上来说跟挖矿比较像,显卡越快计算速度越快。所以想玩这个,你得有台说得过去的电脑。

好吧,这是初步介绍DeepFaceLab,下一次我们再说说关于硬件上的问题。

熬了几个晚上,终于把代码写完了。这么一个小程序还真耗费不少精力。可能最近一段时间不会再有较大更新,手里还有河南电视台的项目,以及快手的项目,可能又要忙一阵子了。如果使用期间有什么bug,可以在评论区留言,或者直接QQ联系我。帮助文件之类的,可能会更新的很慢。谢谢大家支持。