DeepFaceLab小白入门(4):提取人脸图片!

通过之前的几篇文章,你对换脸软件的使用应该有了一个大致的了解,也能换出一个视频来了。

此时,你可能会产生好多疑问,比如每个环节点点到底是什么意思,那些黑漆漆屏幕输出的又是什么内容,我换脸效果这么差,该如何提升?等等,好奇宝宝已上线,不搞明白睡不着。

接下来,我就把每个环节展开说一说。本篇文章主要说“人脸提取部分”。

开始之前先看两个目录。

DeepFaceLab 更目录如下。


workspace工作目录如下


1) clear workspace.bat (清空项目)

这是一个用来初始化项目目录的文件,由于软件本身自带了一个workspace,所以你第一次使用的时候可点,可不点。点了之后,一个回车,界面如下。


2) extract PNG from video data_src.bat(视频转图片)


双击这个文件之后程序就开始运行,会出现一个提示。

Enter FPS ( ?:help skip:fullfps ) : 

此时你可以直接回车,这样转换出的图片最多,你也可以输入一个20以内的数字,比如10,这样图片就会少一点,设置5 也可以。输入数字后回车即可。

注意:新版本多了一个jpg或png的选项。jpg会快很多,文件下小很多,png嘛图片信息会保存更多。


运行结束之后出现Done Press any key to continue。 此时在workspace\data_src目录中会出现好多图片,这些图片就是把视频一帧帧分解成图片了。

3.2) extract PNG from video data_dst FULL FPS.bat(视频转图片)

这一步和2)的原力是一样的,只是这次操作的视频是workspace\data_dst.mp4,而且默认是全帧率转换,转换完之后workspace\data_dst目录下面会出现很多图片。


4) data_src extract faces DLIB all GPU debug.bat(切脸)

这一步的目的是,把图片中的人脸提取出来。双击后自动运行,运行过程分三步走,不需要人为干预。



结束后会显示Images found 图片数量,Faces detected 检测到的人脸数量。


运行结束后,提取到人脸保存在workspace\data_src\aligned 目录。


以4开头的文件非常多,但是并不想每个都点,主要包括了三个提取器DLIB、MT、S3FD,你只需要任选一个即可。差别主要是提取脸部的时间和效果有细微差别,S3FD是新添加的,据说性能比较好。注意:新版本已经没有DLIB可以使用MT或者S3FD.


4.1) data_src check result.bat (检查提取效果)

点击这个之后,自动打开一个看图软件,会帮你自动定位到workspace\data_src\aligned目录在这里你可以把不清晰的,有遮挡,或者误提取的图片删除,留下清晰的高质量图片,这个会让你的模型质量更高,转换之后的效果更好。

4.2.1) data_src sort by blur.bat(排序)

4.2开头的都是排序工具,根据不同的特性进行排序,比如blur 只是更具清晰度来排序,这个你可以快速找到不清晰的图片删除,还有similar histogram根据相似度排序, face pitch 脸的俯仰,face yaw脸的左右偏移。 基本上只要用到这,排序的目的是去除劣质图片,筛选出优质图片。


5) data_dst extract faces DLIB all GPU .bat (提取脸部)


第五部和第四部的功能是一样的,只是一个提取src的脸,一个提取dst 的脸。与第四步不同是,添加了一个手动提取脸部的工具MANUAL RE-EXTRACT DELETED RESULTS DEBUG,还有默认生成aligned_debug。

ps: 这里用了托尼老师的脸,实际情况应该是变形金刚男主的脸。

Debug中会有这样的图片,脸部有一个红色框和蓝色框,还有一个绿色的轮廓线。从上面这张图来看,这个提取效果是OK的,如果发现绿色线和脸部轮廓不贴合,那么就需要手动提取这张图片了。由于合成得时候,程序会参考dst中debug的标线,所以修正这个错误很重要。如何修正,请看下一条。

5) data_dst extract faces MANUAL RE-EXTRACT DELETED RESULTS DEBUG(手动提取脸图)

这一步的作用就是解决自动提取不准确的情况。使用前先删除DEBUG目录中标线有问题的图片,然后双击这个文件,进入后会出现预览界面,界面上有很多围绕脸部的点,轻轻移动鼠标或者转动鼠标就可以改变选中区域。觉得比较合适了就回车。进入下一张图片的操作。


效果如上图,窗口上方有操作提示。


经过上面的步骤,dst和src的脸部提取就全部完成了。

这个步骤的关键点是保证脸部清晰,以及dst的轮廓识别准确,这样就为后面的步骤打下了坚实的基础。


扩展:

如何换一组训练对象

如果你以及成功跑完所有环节,成功的把小罗伯特唐尼的脸放到了希亚·拉博夫的头上。此时你想换一个人玩玩,该怎么操作?

操作很简单,把data_dst.mp4和data_src.mp4换成新的视频,把model下面的文件全部删除,然后按上面在步骤再来一次即可。

如果你的视频太长,希望截取一部分,可以试下面的方法!

3.1) cut video (drop video on me).bat (视频截取转码,不懂的这一个不要点。)



双击后,输入开始截取的时间点From time,回车,输入截取结束To time的时间点,回车,回车,输入码率 5,回车,等待结束出现done。

时间格式按照提示的来,码率一般不需要设置太高,设置成5足够了,你不输入直接回车也可以,默认值为25。默认情况截取的是workspace\data_dst.mp4这个视频,如果你想截取其他视频,可以把待截取的视频直接拖到这个文件上面。

PS:实际操作这文件不需要点,等到熟练之后,需要截取视频再来用这个功能。

===========================

DeepFaceLab 小白入门系列教程:

DeepFaceLab软件简介

DeepFaceLab软件安装

DeepFaceLab软件使用

人脸提取详解

模型训练详解

导出视频详解

更多Deepfakes,AI换脸教程请参见Deepfakes中文网 !

你可能感兴趣的:(DeepFaceLab小白入门(4):提取人脸图片!)