DeepFaceLab小白教程:视频换脸过程

news/2024/10/21 10:01:52/

合适那些人阅读?

适合从未使用过DeepFaceLab的群体。
如果你想基于DeepFaceLab完成一次视频换脸的操作,可以看本篇。

下载方式

  • GitHub

https://github.com/iperov/DeepFaceLab
我是用motrix下载。
image.png

  • 网盘

https://pan.baidu.com/share/init?surl=O4N70dSUtFtNRXasCph7oQ
提取码:dfai

安装

我电脑30系显卡,使用的是红框的程序来安装。
image.png

准备视频

安装之后,进入workspace目录里面:
image.png

将你的视频文件,重命名为data_dst.mp4data_src.mp4,然后放入workspace里面。

  • data_dst.mp4:目标视频
  • data_src.mp4:源视频

源视频 中的人脸会替换到目标视频中的人脸:
image.png

确保两个视频的质量、光照和角度尽可能相似,以便获得更自然的换脸效果

总体步骤

DeepFaceLab_NVIDIA_RTX3000_series目录下,有很多.bat文件,这些文件的说明可以看:[http://www.deepfakeai.cn/deepfacelab.html](http://www.deepfakeai.cn/deepfacelab.html)

下面,将列出操作步骤。

提取面部数据

这些.bat文件将自动将视频分解成单独的帧,并尝试识别和提取每一帧中的人脸。

2) extract images from video data_src.bat3) extract images from video data_dst FULL FPS.bat

不用管bat中的选项,猛按回车

手动/自动编辑和标记

这一步是为了确保面部特征被正确识别,以便在后续步骤中进行准确的对齐和换脸

  • 手动提取(MANUAL表示手动 )
4) data_src faceset extract MANUAL.bat
5) data_dst faceset extract MANUAL.bat
  • 自动提取(推荐这个,快速体验)
4) data_src faceset extract.bat
5) data_dst faceset extract.bat

不用管bat中的选项,猛按回车

训练换脸模型

训练换脸模型,有三个选项,三选一,快速体验、测试可用Quick96,正经训练可用SAEHD

6) train AMP.bat
6) train Quick96.bat
6) train SAEHD.bat

不用管bat中的选项,猛按回车

Iter数值越高,换脸效果越好,推荐至少有1200。
s键保存模型,按回车键保存并退出训练。
image.png

到这个步骤,我们一般需要等待24小时,但是我们只是体验一下,等个10~30分钟就行了。

就是换脸效果没法看。

选择那个模式来训练?

  • SAEHD:高清自动编码器,至少显存在6GB以上。最常用的模型,有多种架构变体;一般来讲,src、dst有一些相似之处时,交换人脸、特别是一般的脸/头形状,可以自由地重复使用、预训练,一般可以提供快速的、较好的效果,但一些架构会因相似性差、光线、颜色将导致人脸替换效果差
  • AMP:新模型类型,更倾向保留源数据(src)形状,同样,显存至少6GB以上。具有可调整的变形因子,后期更考验合成技术、经验。与SAEHD不同的是,它没有不同的架构可供选择,并且在重复使用时,不太通用,需要更长的训练时间,也没有预训练的选项,但可以提供好的效果,结果看起来更像src
  • Quick96:测试模型,适用于显存 2-4GB。固定参数:96*96像素分辨率、(全脸)FullFace类型、batch-size:4、SAEHD的DF-UD架构,用于快速测试效果。

应用换脸模型

将训练好的模型应用到目标视频的面部上。这一步将生成一个新的视频,其中目标视频的面部已经被源视频的面部替换。

有三个命令可以选择,你用那个训练模型,就选那个就行:

7) merge AMP.bat
7) merge Quick96.bat
7) merge SAEHD.bat

导出和保存结果

导出最终的换脸视频。

可以导出为avimovmp4,根据自己的需求选择就行:

8) merged to avi.bat
8) merged to mov lossless.bat
8) merged to mp4.bat

这里我导出为mp4

8) merged to mp4.bat

导出的视频文件为workspace目录下的result.mp4
image.png

最后

本篇教程仅供学习使用,请勿用于非法用途。


http://www.ppmy.cn/news/1445443.html

相关文章

基于随机森林和Xgboost对肥胖风险的多类别预测

基于随机森林和Xgboost对肥胖风险的多类别预测 作者:i阿极 作者简介:数据分析领域优质创作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏…

005 延时交换机

文章目录 延时交换机插件的安装PluginsDelayConfigProducer.javaConsumer.javaapplication.yaml RabbitMQ中既有延时队列的概念,也有延时交换机的概念,但两者在实现机制上有所不同。以下是关于这两者的详细解释: 延时队列: 延时队…

容器Docker:轻量级虚拟化技术解析

引言 随着云计算和虚拟化技术的飞速发展,容器技术以其轻量级、高效、可移植的特性,逐渐成为了软件开发和部署的新宠。在众多容器技术中,Docker以其简单易用、功能强大的特点,赢得了广泛的关注和应用。本文将全面介绍Docker的基本概…

echarts+百度地图如何定义边界线

1.首先我们找到html文件里面的变量geoJson,这通过DataV.GeoAtlas地理小工具系列得到的json数据,你可以在里面找到自己想要的省份数据。 2.变量styleJson是地图的样式,可以去登录百度账号百度地图开放平台查询文档。 3.方法getCenterPoint是…

go设计模式之组合设计模式

组合设计模式 简介 将对象组合成树形结构以表示“部分-整体”的层次结构。组合设计模式使得用户对单个对象和组合对象的使用具有一致性。 参与者 Component 为组合中的对象声明接口 Leaf 在组合中表示叶子节点对象。 Composite 存储子部件。访问和管理子部件。 案例1 c…

【Vue 2.x】学习vue之一基础部分

文章目录 Vue 一基础部分第一章1、git两个分支主分支子分支 使用方法方式1:采用命令的方式操作分支方式2:在idea中使用git的分支 向git远程仓库提交时忽略文件使用git时的一些冲突注意事项 2、Vue问题1:什么是Vue?问题2&#xff1…

webpack 区分环境

区分环境 {ignore} 文章目录 区分环境 {ignore} 有些时候,我们需要针对生产环境和开发环境分别书写webpack配置 为了更好的适应这种要求,webpack允许配置不仅可以是一个对象,还可以是一个函数 module.exports env > {return {//配置内容…

vue 前端读取Excel文件并解析

前端读取Excel文件并解析 前端如何解释Excel呢 平时项目中对于Excel的导入解析是很常见的功能,一般都是放在后端执行;但是也有特殊的情况,偶尔也有要求说前端执行解析,判空,校验等,最后组装成后端接口想要的…