FaceFusion 更新到了3.1.1版本。本次更新增加了批量功能、换脸模型、以及全新的UI界面,这次的批量跟上个版本的job工作流形式不同,操作更方便简单。
本文使用 FaceFusion 某个封装客户端讲解,获取更多封装好的客户端请移步:FaceFusion:视频换脸增强工具|语音同步视频嘴型动作 ,查看文章结尾部分。
更新内容
新增功能
- 通过
batch-run
命令引入批处理功能 - 增加可调节的人脸遮挡器和人脸解析器
- 更新 Gradio 5 版本的UI界面
- 增加实时换脸模式中选择网络摄像头设备的选项
新增模型
- 增加对
DeepFaceLive
模型的支持 - 新增
hififace_256
换脸模型 - 更新帧增强模型
优化以及问题修复
- 优化年龄修改处理器以减少光晕效果
- 增加
--temp-path
参数来更改临时资源路径 - 增加视频编码器
h264_qsv
和hevc_qsv
- 移除过时的
--skip-download
参数 - 优化关闭网络摄像头流时的问题
- 强制使用
libvpx-vp9
编解码器进行webm
处理 - 修复预览更新不一致的问题
- 修复恢复音频时的视频长度问题
- 修复 OpenVINO 问题
- 视频提取和合并增加进度条
额外更新
我对3.1.1版本进行了进一步的优化与完善
- 内嵌批量处理系统,现在可以选择切换
普通模式
和批量模式
两种。 - 批量模式支持批量换图、视频。
批量模式
📢批量模式属于实验性功能,如遇到BUG还请反馈!📢
使用批量模式前需要准备两个文件夹📂
一个用于存放脸部图片。(图片分辨率不用保持一致,注意格式需统一!)
一个放你需要换的图片/视频。(图片视频都可以!我这里放的是视频)
(!!!!确保文件路径或文件名没中文等特殊字符!!!!)
(!!!!确保文件路径或文件名没中文等特殊字符!!!!)
(!!!!确保文件路径或文件名没中文等特殊字符!!!!)
打开FaceFusion,选择批量模式。
源文件这里填入换脸图片路径
Windows路径示例:D:\AI\DUDU\facefusion\test
MAC路径示例:/Users/ccua/Downloads/Dom-Lab/face/test
选择图片格式,你准备的是jpg就选jpg,png就选png。(注意,格式有大小写之分!JPG跟jpg是不一样的!!!)
目标文件这里填入你要换视频/图片的路径
Windows路径示例:D:\AI\DUDU\facefusion\target
MAC路径示例:/Users/ccua/Downloads/Dom-Lab/face/target
选择目标文件格式,跟文件夹里的文件格式保持一致。(注意,格式有大小写之分!MP4跟mp4是不一样的!!!)
确认上面的参数都设置完毕后,点击开始。批量会在后台开始执行。需要在启动器上查看进度。
进度查看。
执行完毕后生成结果在输出目录查看。
deepfacelive 模型使用
执行模式这里选择deepfacelive
。取消换脸处理
选项。
下方会出现深度换脸模型
选项
这里面默认有很多明星模型,都是已经训练好的。
比如elon_musk_224
就是埃隆·马斯克,emilia_clarke_244
就是艾米莉亚·克拉克(龙妈)的。
然后在目标文件
上传你要换的图片/视频,可以看到预览有对应的效果。
但是实际测下来,有些时候换的脸部会很"糊"。这跟选择的deepfacelive
模型有关,而且勾选脸部增强
和帧增强
对生成的结果无效。
视频的效果
注意
因为模型体积比较大(将近100G左右),我只在整合包里准备了iperov/
开头的一个马斯克模型。如果你需要其他的模型,可在该地址进行下载。
https://huggingface.co/facefusion
下载的模型保存到.assets\models\后缀
,比如facefusion/deepfacelive-models-edel
这里面的模型就下载到.assets\models\edel
中。
自定义模型
如何使用自己训练的deepfacelive
模型?
关于训练deepfacelive
由于篇幅有限,这里不详细展开,可自行搜索学习。
在项目根目录.assets\models\
中创建一个custom
文件夹
将自己训练好的模型(.dfm文件)放入.assets\models\custom
目录下
重启FaceFusion,在深度换脸模型
选项中拉到最下面,可以看到放入的自定义模型文件。
常见问题
- 问:批量模式需要多大配置?跟普通模式的区别?
- 答:没区别!一个是单独执行的,一个是批量队列执行!准备大一点的硬盘就可以(执行的时候需要切分视频帧,你准备的视频越长,切分的帧就越多,占用的硬盘就越大!)
- 问:批量模式和job工作流的区别
- 答:批量模式基于job工作流,job工作流的自由度可调度高,难度大!批量模式简单更适合小白!
- 问:执行批量的时候我能进行别的操作吗?
- 答:不要切换到普通模式进行换脸或者预览!
- 问:执行到一半把程序关了,会有什么问题吗?
- 答:进行换脸处理时关闭程序会导致当前视频的缓存帧文件保留在本地硬盘上。解决方法删除整合包根目录下
\Cache\VideoCache
文件夹里的内容即可。
- 问:批量模式下为什么只有三个模式
- 答:其他模式后续会支持,还在开发和测试中。
- 问:批量模式下可以一张图片换多个视频吗?
- 答:可以一对多、多对多。
举个例子:
放入一张图片,放入三段视频。最后会生成三个视频根据这张图片换脸的结果。
放入二张图片,放入一段视频。最后会生成二个视频根据这张图片换脸的结果。
放入三张图片,放入三段视频。最后会生成九个视频根据这张图片换脸的结果。
配置需求
WIN
WindowsN卡需6G显存
整合包自带cuda环境,无需额外安装cuda
10系显卡用户请注意👇🏻👇🏻
如果整合包运行报cuda相关错误,执行方式那里取消cuda
选项,选择cpu
。
MAC
MAC Apple Silicon M1/M2/M3/M4 芯片
推荐8G内存以上