deepfakelab进行换脸入门教程

deepfakelab进行换脸入门教程

deepfakelab进行换脸入门教程

新手初看deepfakelab发现一堆bat命令,怎么操作,无从下手,今天我们来手把手教大家如何使用deepfakelab进行换脸。

一、下载deepfakelab

https://disk.yandex.ru/d/7i5XTKIKVg5UUg/DeepFaceLab

deepfakelab进行换脸入门教程

二、安装deepfakelab

deepfakelab进行换脸入门教程不要解压到c盘,解压后打开目录我们可以看到以下文件和文件夹。

deepfakelab进行换脸入门教程

三、目录介绍

首先是workspace工作目录。

deepfakelab进行换脸入门教程workspace主要包含如下文件:data_dst(目标素材)

data_src (源素材)

model (模型)

data_dst.mp4 (目标视频)

data_src.mp4 (源视频)

DeepFaceLab为了简化操作和规范素材名称,采用惯例的方式。就是把所有素材统一放workspace里面,而且统一命名。所有文件夹,文件名都不能乱改。什么是视频换脸?

所谓视频换脸就是把一个人的脸换到另一个人的脑袋上并保持表情神态的同步。比如将张三的脸换到李四身上。源素材取自张三,我们需要换脸的对象是李四。张三提供脸,李四提供身体,最后的结果是李四看起来变成了张三。而为了实现换脸这个目标我们需要收集两个人的视频。张三的视频叫data_src.mp4,我们称为源视频,李四的视频叫data_dst.mp4,我们称为目标视频。有了视频之后我们需要将视频里的人脸提取出来,让AI去分析学习人脸特征。data_dst 和data_src 文件夹里放的就是目标视频和源视频中提取出来的图片和人脸。图片是指把视频转换成一张一张的图片,人脸是指从图片中抠出人脸部分并摆端正,最后放在aligned文件夹里面。在抠图的同时还会用一些点标出人脸的轮廓放在debug文件里面。模型是什么?

DeepFaceLab换脸看是有很多步骤,其实就两大步骤,一个是训练模型,一个是应用模型。model文件夹里面放的就是模型文件,是换脸软件的核心所在。那么模型是个啥东西? 有人可能会理解为模板,这种比喻并不精确,但是有那么一点意思。模板只能简单的复刻,但是模型可以自动匹配各种表情,要智能一些。其实在深度学习里面模型这个概念无处不在,我们常用的基于深度学的一些应用,比如美颜,贴图,翻译,语音识别,语音合成,人脸识别,去码,脱衣,背后都有模型。模型就像是一个学富五车或者特别擅长某种技能的人。所谓训练模型,就像是训练一个小孩子,让他学习增加某一方的能力。那些“绘画”能力特别强的机器视觉模型,我们可以把它比喻成一个画师。没学习之前,他什么不会。你给他看了很多法外狂徒的视频,他不断临摹之后,就掌握了画出张三的能力。因为他的大脑就是为绘画而生,所以他闭着眼睛也能画出张三,更厉害的是,给他一张李四的脸他也能画出和李四表情一样的张三。当然,要变得这么强,除了天赋之外,学习时间肯定少不了,而且得多看高清视频,记住各种细节才可以。光记住还不行,还得有一定的联想能力。训练模型也常常被称为“炼丹”,而模型就是仙丹。要搞个仙丹肯定不容易是吧。比如,太上老君练齐天大圣,练了那么多太天,一不小心还是没练成。练好一颗丹,需要很多条件。首先,得有好的原材料(人脸素材)。其次,得有好的丹炉(电脑硬件显卡CPU)再次,得掌握好火候(参数)最后,八八六十四一天不能少。(时间)初学者,肯定要反复尝试,才能找到最好的方式。不同仙丹,有不同的效果。有些包治百病(通用模型),有些只有一个功效比如长生不老(专用模型)说回画师,有的画师稍作学习什么都能画(通用模型),有的画师只会画一个人(专用模型)名字不能随便改

如果不懂workspace的命名规则,可能会出现一些问题。一定记住不要少文件,也不要改文件名。比如提取src的时候一定要有data_src.mp4这个视频,其他名字没用。合成视频的时候一定要有dat_dst.mp4这个视频,没有那就直接报错。比如你自己的视频原先叫“我很帅.mp4” ,你想换脸,就必须把这句话改掉,改成data_src.mp4 。不管多帅都得按规矩来。如何用图片来换脸?

虽然一直建议用视频素材来换脸,但是依旧有很多人问到能不能用图片换脸。能,是肯定能,但是你不要希望在DFL上用一张图片来换出好的效果。用图片换脸,只需要将完整的图片直接放在data_src文件里面,然后用提取脚本提取人脸即可,其他操作和视频换脸一模一样。概念这个东西吧,理解了很有用,不理解好像也没啥用。不理解也没关系,只要记住workspace这个文件夹,所有相关的素材都放在里面。下一篇,我们就“不讲道理”了,直接一步一步来操作。批处理文件deepfakelab进行换脸入门教程批处理文件打开方式和EXE一模一样,Double kill ~~Double click 双击打开!每一个批处理文件都干一件事情,我们要做的就是按一定的顺序点击这些文件,就能完成换脸。是不是挺简单?

四、换脸操作

执行步骤

DFL换脸的思路是,想将视频转换成图,从图片中提取人脸,从人脸中学习特征。然后应用模型,先对图片进行换脸,然后把图片合成视频,同时带上原视频的音轨。具体来说可以分为如下几步:源视频转图片

目标视频转图片

提取源头像

提取目标头像

训练模型

应用模型

合成视频

批处理文件步骤如下:

源视频转图片 extract images from video data_src.bat目标视频转图片 extract images from video data_dst FULL FPS.bat提取源头像 data_src faceset extract.bat目标头像提取 data_dst faceset extract.bat训练轻量级模型 train Quick96.bat/SAE/AMP应用轻量级模型 merge Quick96.bat /SAE/AMP合成 MP4 视频 merged to mp4.bat

杂七杂八交代清楚了就可以开始操作,本文会将每一个步骤截图说明。但是为了控制文章的体型,以操作为主。一些常见错误或者参数详解,会在后续文章中完成。关于操作,这里做一个重点提示:遇事不决按回车!Step1:源视频转图片

双击批处理文件源视频转图片 extract images from video data_src.batdeepfakelab进行换脸入门教程跳出黑色窗口,输入10回车,然后输入jpg回车,就会自动开始将视频分解为图片。FPS:视频有一个指标叫帧率,常见有24,30,60等,代表一秒钟有几张。第一个参数输入10指的是一秒钟只取10张;不输入直接回车,默认帧率是30就取30张。因为很多影视剧画面相对固定,没必要全部取,否则后面会浪费大量提取时间,而且模型训练压力也会加大。Format: 图片格式,主要是jpg和png。png是无损格式,但是JPG能在保证画质的情况下减少巨量的空间。所以如果不是要求特别变态,一般都用jpg。这样可以减少空间,节省时间deepfakelab进行换脸入门教程正常情况下,这个步骤执行非常快,出现“搞定/done” 的字样就是执行完成了。完成后,workplace/data_src下面就会出现很多图片,这就是从视频里分解出来的图片。文件名一般为0000x.jpg,其实这里面命名可以随意,没有强制要求。这里还有一个aligned的文件夹,是为后面步骤准备的。Step2:目标视频转图片

双击批处理文件目标视频转图片 extract images from video data_dst FULL FPS.batdeepfakelab进行换脸入门教程和上面的步骤类似,这次处理的是dst视频。因为dst必须一帧不落,所以没有FPS选项,只有图片格式这一个选项。deepfakelab进行换脸入门教程处理完后的图片保存在workspace/data_dst里面。Step3:提取源头像

双击批处理文件提取源头像 data_src faceset extract.batdeepfakelab进行换脸入门教程这一步的作用是提取源素材图片中的人脸。这里有六个参数,一般只需一路回车即可。第一次使用需要缓存GPU内核,需要稍微等一等。开始提取后底部有显示进度,当进度到100%,会显示图片数量和提取到的人脸数量,并出现“搞定!!!” 就证明已经出来成功并且处理完成。deepfakelab进行换脸入门教程处理完成后,头像保存在data_src/aligned下面。不少人在这个环节会遇到问题。常见问题是:驱动不够新,去官网下载更新到最新版本即可。软件不够新,deepfaker.xyz 上获取新版显卡软件不匹配, A卡用Directx12,不要用rtx3000版。提取完之后,如果src素材比较复杂,就需要做一些筛选。这个筛选可以写一篇很长的文章。这里简要说一下。主要是把一些不需要的素材删除:很模糊的可以直接删除

不是目标人物的可以直接删除图片残缺的删除脸部有遮挡的删除脸部光照差异特别大的删除…..

Step4:提取目标头像

双击批处理文件目标头像提取 data_dst faceset extract.batdeepfakelab进行换脸入门教程这一步的作用是提取目标素材图片中的人脸。和上一步非常类似,这里就是少了一个“保存调试图片”的参数。其实也不是少了,而是默认就执行了。deepfakelab进行换脸入门教程提取的头像保存在data_dst/aligned的文件夹里。提取完之后也要对素材进行一个筛选。把不是目标人物的素材删掉,把头像旋转的图片删掉。一般来说文件名后缀_1的都可以删掉。dst的删除核心原则是要换的人脸留下,不要换的统统删掉。deepfakelab进行换脸入门教程这些图标保存在aligned_debug里面

deepfakelab进行换脸入门教程大概其中一张图片,可以看到人脸上有三种颜色的线框。

deepfakelab进行换脸入门教程红色就是头像截取的区域,蓝色是面部区域,绿色是人脸轮廓,以及五官定位的点。其实就是人脸的landmark。通过debug你可以直观的看到人脸识别算法识别了哪些区域,有没有识别正确。Step5:训练模型

双击批处理文件 训练轻量级模型 train Quick96.batdeepfakelab进行换脸入门教程这一步是训练模型,所有步骤中最重要,最难,也是最耗时间的部分。目前新版本中主要包含三类模型,分别是Quick96,SAEHD,AMP 。我把Quick96翻译为轻量级模型,优点是所需配置低,显存低,速度快,操作简单。缺点是不能自定义,像素比较低,合成效果差一些。这个模型很简单,所以也非常适合拿来入门。所以本文就用这个来举例。deepfakelab进行换脸入门教程Quick96使用非常简单,双击批处理文件后,选择执行设备即可,这里一般都是选显卡,直接回车即可。设备选择完成之后,程序就会自动加载素材,并显示模型的参数,底部会有跳动的数字,然后会跳出一个预览窗口。先来说说底部的数字,总共五列,分别代表:模型保存时间,迭代次数,单次迭代时间,源损失,目标损失。迭代次数是越多越好,损失是越低越好,零就是无损了嘛~不过,不可能达到!下面来说说预览窗口deepfakelab进行换脸入门教程预览窗口包含操作提示、loss曲线,人脸区域。人脸区域总共五列。第一列是src,第三列是dst。第二,四,五列为算法生成列,刚开始是纯色,啥头像都没有。随着训练的进行,会慢慢出现轮廓,鼻子,眼睛,然后慢慢变清晰。训练的过程就是等待这几列变清晰的过程,最后一列就是换脸后的效果。这一个步骤并不会自动结束,需要自己判断,然后手动结束。可以通过损失值和预览图来进行判断。一般来说损失值(loss)值到了0.1x就差不多了。但是素材质量和数量不一样,会影响这个指标的变化速度。比如素材特别少,这个值降的特别快,特别低。图片不是很清晰,这个值也降的特别快,特别低。反过来,图片质量高,数量多,这个就很难降低。但是这样情况下训练出来的模型更好。deepfakelab进行换脸入门教程相比数字而已,通过预览图来判断就更加直观了。只要观察第二列是否无限接近第一列,第四列是否无限接近第三列。第五列的表情是否无限接近第四列。所有列的图片是否都足够清晰。如果答案是“Yes” ,那么按回车或者直接关闭窗口,进入下一步。deepfakelab进行换脸入门教程正常情况下模型会过几十分钟保存一次,也可以手动按S直接保存。关闭后,可以重新点击批处理文件继续训练,不用担心丢失进度。当然,要防止意外关机和重启,可能会损坏模型。Step6:应用模型

双击批处理文件 应用轻量级模型 merge Quick96.batdeepfakelab进行换脸入门教程这个步骤要做的是将图片进行换脸。应用Quick96模型也很简单。启动直接按回车选中或者输入对应的数字选中上一步已经训练好的模型。然后软件就会加载模型并显示模型参数。然后需要配置两个参数:一个是是否启用交互模式,直接回车,默认启用。一个是线程数量,输入小于等于8的数字,回车。注意,如果你核心特别多,默认回车会报错的!稍等一会儿会弹出帮助界面。deepfakelab进行换脸入门教程这个界面并没有任何功能上的用处,只是显示了这个环节可以使用的快捷键。每个快捷键旁边都有中文注释,可以看个大概,具体的参数含义我会在后面的文章中做一个详细的介绍。点击这个界面,确保输入法为英文,按下键盘上的Tab,就可以进入合成预览界面deepfakelab进行换脸入门教程进来后,默认情况下都会有人皮面具的感觉,这是正常现象。因为我们参数还没有调整!就这个素材来说,只要调整W/S,E/D 快捷键即可。调整后的效果如下:deepfakelab进行换脸入门教程确认效果OK之后,按下快捷键shift+?(向后应用到所有帧) 然后再按下shift+>(自动合成) 就开始自动合成了。也可以通过键盘上的< 和 >进行手动切换,查看前后帧的合成效果。deepfakelab进行换脸入门教程黑色窗口会显示所有的合成参数,并且显示进度条,等100%完成之后,手动关闭窗口即可。deepfakelab进行换脸入门教程此时,在data_dst下面已经多了两个文件,一个是merged,一个是merged_maskdeepfakelab进行换脸入门教程进入merged可以看到很多图,这些图片中的人脸已经完全换脸。deepfakelab进行换脸入门教程进入merged_mask可以看到一些黑色的图片,中间有一个白色的区域。这些文件是为了方便后期制作。我们单纯使用DFL的不用太关心。Step7:合成视频

双击批处理文件 合成 MP4 视频 merged to mp4.batdeepfakelab进行换脸入门教程这个步骤是将已经换好脸的图片转换成视频,并且会自动读取源视频的配置信息,包括帧率,音轨这些。这个环节只有一个输出码率的参数,常规来说3就够了。除了合成mp4之外,还可以合成无损视频,AVI ,MOV等格式,便于后期处理。deepfakelab进行换脸入门教程执行完成后,workspace下面多了两个文件,分别是result.mp4 和 result_mask.mp4 。前者就是我们需要的最终视频,后者是遮罩视频,供后期使用。deepfakelab进行换脸入门教程双击打开视频,就可以看到最终效果啦。步骤其实不难,细节很多。有些是可以直接照搬别人经验的。有些需要自己不断摸索。这并不是什么傻瓜软件,要做出好的效果肯定是要花时间研究。就像即便送你PS,PR,你没有一定的学习积累不可能做出酷炫的效果。但是我可以保证,市面上几乎所有神乎其技的换脸视频都是基于DFL,有些可能专门准备了道具场景并使用了后期制作。

{{collectdata}}

网友评论0