脚本开发,脚本学习,辅助软件
【腾讯云】新用户专属大礼包低至1折【阿里云】云产品通用代金券2000元【阿里云】云小站优惠返现【阿里云】企业级1折特惠【阿里云】3年低至3折
查看: 292|回复: 1

AI视频换脸Deepfacelab 小白教程

[复制链接]

52

主题

54

帖子

477

积分

专属

Rank: 1

积分
477
发表于 2020-4-15 13:07:59 | 显示全部楼层 |阅读模式
不小心入了AI换脸的坑,但是感觉AI换脸很有意思,第一次感觉科研使我快乐。

目录

一、AI换脸软件简介

二、Deepfacelab下载安装

三、Deepfacelab Demo实现

四、Deepfacelab 填坑

五、总结
一、AI换脸软件简介

这个没有具体使用过,目前我只使用过Deepfacelab,但是查看各种资料都是说Deepfacelab综合来说是最好用的,可玩度也很高,最重要的是deepfacelab对部署环境没有要求,这个就完全满足我这样的懒人了。。。

下述表格转载于大神博主,其链接为https://blog.csdn.net/u014575897/article/details/85272910

二、Deepfacelab下载安装


预编译好的Windows版本:https://mega.nz/#F!b9MzCK4B!zEAG9txu7uaRUjXz9PtBqg(需要科学上网)

所需环境:windows系统即可,需要强力版本的显卡,毕竟AI就是个又氪又肝的玩意。。。

下载好之后,直接解压就可以了,解压完了一般是如下界面(DeepFaceLabCUDA10.1AVX版本)。

Demo实现之前先学习下解压目录下的各种bat文件的功能(实现将A视频中的人脸替换为B视频中的人脸,下文中都是以A和B来表示):

1)是清空workspace文件夹的,包括切的图片和人脸、模型文件等等。。。

2)和3)都是将视频文件转换为一帧一帧的图像;

4)和 4.X)是将SRC视频文件(即待替换的视频B)的人脸识别出来和进行排序;

5)和 5.X)是将DST视频文件(即待替换的视频A)的人脸识别出来和进行排序;

6)是进行训练;

7)人脸替换(即将分离出来的图片先进行人脸替换);

8)将人脸替换后的图片合成视频;

9)和10)待定。。。
三、Deepfacelab Demo实现

源程序中自带Demo的视频素材,可以直接进行Demo实现。

打开workspace,发现里面有两个视频,分别是data_dst和data_src,对应于上述的A和B,这就是自带的素材。

1.视频解压,双击bat文件中的2) extract images from video data_src 和3.2) extract images from video data_dst FULL FPS;

功能:你会发现workspace中的data_dst和data_src两个文件夹中有分割好的图像文件;

2.人脸提取,双击bat文件中的4) data_src extract faces S3FD all GPU 和 5) data_dst extract faces S3FD all GPU;

功能:你会发现workspace中的data_dst中的aligned和aligned_debug文件夹中有人脸图片,data_src两个文件夹中的aligned类似。

PS:目前来说一般采用S3FD的人脸识别方法,该方法比较好!老版本貌似只有MT和DLIB的人脸识别方法。

3.训练,双击bat文件中的6) train SAE;接下来,Cmd里面所有的参数选项都是直接按“Enter”键即可,因为默认参数都是优化过的,完全适应于Demo视频(对于其他视频也是比较适用,特别是对于新手来说);

功能:训练人脸对齐模型,那还用说?该模型文件保存于workspace中的model文件夹中,你会发现模型文件有5个“h5”的文件

PS:Deepfacelab这个版本是基于Keras来实现的,所以只能用一个GPU进行训练。如果是新手的话更建议采用H128的方法进行训练。SAE方法更全,最好最灵活的模型,但是相对来说需要对Deepfacelab有深入了解,或者跟我一样用默认参数。。。

warning:CMD默认参数中有一个选项是训练迭代无次数限制(默认参数),即需要人工停止训练,停止标准包括1)Train Preview窗口中的第一行、第二行、第四行和第五行的人脸都比较清晰即可;2)训练窗口中的loss值接近于0.2。如下图二红色方框所示(妈蛋,为了截图打开cmd界面,把训练了12个小时的模型给覆盖了,心碎ing)

停止方法,在Train Preview窗口中按“Enter”键。按"P"键是刷新图片哈,可以实时看到最新训练的效果。

4.人脸替换,双击bat文件中的7) convert SAE,Cmd里面第一个参数选项输入“n”,其余也全是按“Enter”键即可。

功能:你会发现workspace中的data_dst中的merged文件夹中有替换好的人脸图片。

PS:训练用的什么方法,人脸替换的步骤就要用相应的方法。Cmd第一个选项就是是否使用UI界面模式,反正我没弄懂,我就是直接不用UI模型就好了。

5.视频转换:双击bat文件中的8) converted to mp4,Cmd里面所有的参数选项都是直接按“Enter”键即可;

功能:你会发现workspace中多了一个result.mp4的视频文件,这就是完成AI换脸的成果了。


四、Deepfacelab 填坑

完成上述步骤,你发现其实软件用起来很简单的吧,但是其中会有很多坑,下面一步步说。

1.素材坑。搞深度学习的都知道,样本数据好和算法好两个来选,肯定选样本数据好。因为深度学习这个东西就是“炼丹”,丢进去的都是好东西那么练出来的肯定不会差,所以对于上述步骤2.人脸提取完成后,需要人工进行筛选人脸图片。

解决方法:人工筛选人脸图片,删除掉那些无人脸的图片、颠倒的人脸图片、模糊对焦不好的图片等等,只留下人脸提取好的人脸图片。

2.分辨率大小问题,视频素材分辨率尽可能清晰。

3.模型保存,每训练完一次,把workspace中的model文件夹和分割图片都尽可能单独保存一次,免得model丢失。这是血与泪的教训啊!
五、总结

这部分有博主总结的很好,我就不多自己画图了!(主要是懒。。。)

参考文献:


2.https://www.deepfakescn.com/(常用AI换脸软件的教程网吧)
————————————————


3Q4T网,编程学习交流基地。
回复

使用道具 举报

14

主题

16

帖子

83

积分

襁褓

Rank: 1

积分
83
发表于 2020-5-12 17:47:51 | 显示全部楼层
厉害   学习下
3Q4T网,编程学习交流基地。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表