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

2024-04-24 06:36

本文主要是介绍DeepFaceLab小白教程:视频换脸过程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

合适那些人阅读?

适合从未使用过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

最后

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

这篇关于DeepFaceLab小白教程:视频换脸过程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931012

相关文章

Redis中Hash从使用过程到原理说明

《Redis中Hash从使用过程到原理说明》RedisHash结构用于存储字段-值对,适合对象数据,支持HSET、HGET等命令,采用ziplist或hashtable编码,通过渐进式rehash优化... 目录一、开篇:Hash就像超市的货架二、Hash的基本使用1. 常用命令示例2. Java操作示例三

Redis中Set结构使用过程与原理说明

《Redis中Set结构使用过程与原理说明》本文解析了RedisSet数据结构,涵盖其基本操作(如添加、查找)、集合运算(交并差)、底层实现(intset与hashtable自动切换机制)、典型应用场... 目录开篇:从购物车到Redis Set一、Redis Set的基本操作1.1 编程常用命令1.2 集

Linux下利用select实现串口数据读取过程

《Linux下利用select实现串口数据读取过程》文章介绍Linux中使用select、poll或epoll实现串口数据读取,通过I/O多路复用机制在数据到达时触发读取,避免持续轮询,示例代码展示设... 目录示例代码(使用select实现)代码解释总结在 linux 系统里,我们可以借助 select、

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

k8s中实现mysql主备过程详解

《k8s中实现mysql主备过程详解》文章讲解了在K8s中使用StatefulSet部署MySQL主备架构,包含NFS安装、storageClass配置、MySQL部署及同步检查步骤,确保主备数据一致... 目录一、k8s中实现mysql主备1.1 环境信息1.2 部署nfs-provisioner1.2.

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Python的pandas库基础知识超详细教程

《Python的pandas库基础知识超详细教程》Pandas是Python数据处理核心库,提供Series和DataFrame结构,支持CSV/Excel/SQL等数据源导入及清洗、合并、统计等功能... 目录一、配置环境二、序列和数据表2.1 初始化2.2  获取数值2.3 获取索引2.4 索引取内容2

python依赖管理工具UV的安装和使用教程

《python依赖管理工具UV的安装和使用教程》UV是一个用Rust编写的Python包安装和依赖管理工具,比传统工具(如pip)有着更快、更高效的体验,:本文主要介绍python依赖管理工具UV... 目录前言一、命令安装uv二、手动编译安装2.1在archlinux安装uv的依赖工具2.2从github

MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决

《MyBatis/MyBatis-Plus同事务循环调用存储过程获取主键重复问题分析及解决》MyBatis默认开启一级缓存,同一事务中循环调用查询方法时会重复使用缓存数据,导致获取的序列主键值均为1,... 目录问题原因解决办法如果是存储过程总结问题myBATis有如下代码获取序列作为主键IdMappe

C#实现SHP文件读取与地图显示的完整教程

《C#实现SHP文件读取与地图显示的完整教程》在地理信息系统(GIS)开发中,SHP文件是一种常见的矢量数据格式,本文将详细介绍如何使用C#读取SHP文件并实现地图显示功能,包括坐标转换、图形渲染、平... 目录概述功能特点核心代码解析1. 文件读取与初始化2. 坐标转换3. 图形绘制4. 地图交互功能缩放