FaceFusion3.0,批量处理,人脸编辑,表情恢复,年龄修改,NSFW,日志系统(WIN/MAC)
以下是3.0版本的详细更新内容。我也会在下面讲解本次新增的功能使用方法以及需要注意的问题。
新增功能
- 换脸模式下新增”像素提升”功能
- “人脸检测器”新增多角度处理能力
- 新增年龄修改模式
- 新增Live Portrait技术支持的表情恢复模式
- 新增Live Portrait技术支持的人脸编辑模式
- 新增任务系统,重构架构,使所有功能都成为一个任务
- 新增日志系统,可在界面上查看实时使用信息
新增模型
- 新增GHOST人脸交换模型
- 新增帧增强器
real_esrgan_x8模型 - 为SimSwap和GHOST引入ArcFace转换器模型
- 新增自制的
peppa_wutz人脸特征点模型
优化以及问题修复
- 基于本地哈希验证引入离线优先的资源
- 将
顺序、年龄和性别转移到人脸选择器 - 支持CUDA 12.4、TensorRT 10.4、OpenVino 2024.1和ROCm 6.2
- 在无头模式下提供适当的错误代码
- 用
resnet_34模型替换人脸解析器 - 用更优秀的
fairface模型替换gender_age模型 - 在无人脸模式下提供适当的错误代码
- 将CLI迁移到命令以及相关参数
- 调整UI布局和视觉外观
- 由于精度低而删除人脸检测器模型
yunet - 更新到最新的Gradio 4
- 提供多范围滑块来修剪视频帧
- 确保更加准确的基准测试结果
- 引入
--face-landmark-model参数 - 引入
--output-audio-encoder参数 - 添加视频编码器
h264_videotoolbox和hevc_videotoolbox - 将
--face-selector-order的默认值改为large-small - 用上下文感知的推理管理器替换全局变量
- 修复人脸交换器
uniface模型中的闪烁问题 - 修复ROCm和DirectML的线程和预览崩溃问题
- 修复
webp图像的质量问题 - 修复
ffmpeg处理的终止问题
额外更新
我也额外做了一些修改
- 汉化界面以及部分选项按钮
- 优化缓存管理路径
- 删除非必要的前置检查项优化执行速度
更新详解
换脸模式
增加了换脸像素提升选项。

最高可提升到1024X1024像素(只能在换脸模式下开启)

年龄调节
该模式可独立开启,也可以跟其他模式一起使用。

开启后可以在下方的年龄修改参数进行调节。

参数默认值是0。大于0是增加年龄,使人物变老,小于0是减少年龄,使人物变得年轻。
在目标文件上传需要处理的视频或图片。

调节年龄查看效果。

💡当然还可以同时开启脸部增强和帧增强来保证输出的效果质量。

但是在增加年龄时,脸部增强和帧增强选项会将人物脸部的某些细节给处理掉,产生负效果。
从左往右分别是未开启增强、开启脸部增强、开启脸部增强+帧增强。

表情恢复
该模式需要结合换脸一起使用。

在某些换脸的时候,可能会出现眼睛睁不开,嘴巴抽搐等问题。可尝试开启该模式进行修复表情。

人脸编辑
该模式可独立开启,也可以跟其他模式一起使用。

该模式下可以对脸部五官进行细致的调整。支持视频/图像。
同样的,在目标文件这里上传图像/视频。

调整左边的参数,这里我调整了嘴巴闭合度这个选项。

可以看到右侧的预览效果。

也可以结合脸部增强、帧增强选项,输出高清的图片/视频。

任务系统
介绍
这是本次更新比较重要的模块之一。什么是任务系统?简单来说,你可以把它看做是FaceFusion的队列系统。
你可以将你要执行的操作统统加入到队列内,然后执行这个队列。相当于批量。
怎么使用呢?
首先找到位于开始按钮上方的用户界面工作流


有三个选项,默认是instant_runner模式。
instant_runner实时模式。即不使用任务系统。job_runner任务运行模式。选择后执行你设定好的任务队列。job_manager任务管理模式。在该模式下设置、管理任务。
创建任务
在开始任务之前,我们需要创建一个任务,并设置任务内容。
选择job_manager模式。

任务操作这里有很多选项。

首先选择job-create,并在下方的任务ID框里设置任务名。
(中文没试过,建议英文,避免特殊符号)

然后点击应用,上方日志输出创建成功。

并且可以看到任务操作这里自动变成了job-add-step
添加任务内容
接着就像往常一样,将你需要处理的素材导入FaceFusion
比如我这里上传了两张图片换脸。

然后点击下方的应用,一定确保任务操作选项选择的是job-add-step

日志这里显示添加成功

到这里为止,我们第一个步骤就添加好了。一个任务下可以有多个步骤。
再创建第二个步骤
将这两张图片清除掉

这次我上传一张新的图片和视频,并且额外勾选了脸部增强、帧增强选项。

同样的,点击应用。

显示添加成功。

到这里为止,我们Task1任务内就有两个步骤,分别是:图片换图片、图片换视频。
并且这两个步骤开启的模式和选项各不相同。
提交任务
当你的步骤添加完毕后,需要提交任务,这一步是告诉FaceFusion我们已经准备好了,将刚才的步骤合并到任务里。

任务操作这里选择job-submit,点击应用。
日志显示已提交。

到这里为止,我们前期的准备工作已经做好了,接下来就是运行该任务。
执行任务
用户界面工作流选择job_runner模式,任务操作选择job-run

点击开始执行刚才的任务内容,最后就会得到一张图片和一段视频。
根据这个流程,你可以批量处理多个不同种类的素材,图片、视频都可以添加到任务队列中一起执行。
并且FaceFusion中的所有参数和设置都支持添加到任务队列中,比如你可以一个步骤是给图片修改年龄,下一个步骤是视频换脸,再下一个是图片换脸。最后统一一起执行,效率非常高。
参数讲解
上面我们完成了一个基本任务的运行。任务操作中还有许多选项,这里我把这些选项的含义都讲解下。
job_runner模式下
job-run执行选定任务。
job-run-all执行所有任务。比如你创建了多个任务,该模式下会执行所有的任务。
job-retry该模式会尝试执行之前运行但失败的任务。
job-retry-all该模式会尝试执行之前运行但失败的所有任务。
job_manager模式下
job-create创建任务。
job-submit提交指定任务。
job-delete删除任务。
job-add-step向指定任务中添加步骤。
job-remix-step混合设定的步骤。用于混合两个步骤产生的视频。
job-insert-step用于在混合步骤中进行插入新的步骤。
job-remove-step用于移除混合步骤中的指定步骤。
这里job-remix-step混合步骤多用于处理多人的图片或者视频。
有些不太好理解。我举个例子来解释下。
创建一个新的任务,名字叫hunhe

导入一张双人的图片,我们现在想要对这个图像中的人物进行换脸。

按照之前的逻辑,创建两个步骤,分别换。
步骤1

步骤2

最后只能得到两张图像。但是我想接着步骤1产生的结果去执行步骤2。
这个时候就需要用到job-remix-step模式。
首先一定确保你已经添加过步骤了!!!
首先一定确保你已经添加过步骤了!!!
首先一定确保你已经添加过步骤了!!!

然后切换到job-remix-step模式。

可以看到步骤索引里有两个步骤,这就是我们任务里已添加的步骤数量。

如果你添加了3个,这里显示的就是3。

现在切换到job-remove-step模式。
删除索引1


这个时候应该只有索引0

将右边人脸需要换的图像放上去,并切换到job-remix-step模式。

步骤索引是0,点击应用。

可以看到多了个索引1。

这就是将步骤1的结果在步骤2使用,最后生成一张混合后的图像。
最后记得切换到job-submit提交该任务。
最后执行该任务。

最后合成的图片效果。如果是处理视频的操作也一样。

以上就是任务系统的使用以及参数说明。如果还不太理解可以查看视频教程。
日志系统
这个就是方便大家在处理的时候查看信息,不用切换到启动器中去查看。

