AI换脸:FaceFusion 3.5.0更新,解决老版本无法使用问题!

好久不见!

闲话不多说,今天主要是通知一下FaceFusion两个版本的更新。更新内容如下:V3.5.0

  • 帧着色器:使用来自 ddcolor 和 deoldify 的先进模型,为黑白或低色彩素材添加色彩。这些模型利用深度学习技术生成逼真且美观的着色效果。
  • 改善唇同步效果:从音频中更清晰、更准确地提取语音。增强的语音提取可让您的AI换脸视频中的唇形同步更加自然逼真。
  • 实验性 5 到 68 个关键点识别: 尝试用于识别 5 到 68 个面部关键点的模型。这些关键点可精准定位关键面部特征,从而实现更准确、细致的深度伪造效果。
  • 使用尖端模型进行面部增强: 结合强大的 gpen_bfr_1024 和 gpen_bfr_2048 模型,在保持自然外观的前提下,微妙地改善面部特征,提升深度伪造视频的质量。
  • 帧增强选项:利用 real_esrgan_x2 和 real_hatgan_x4 等先进视频增强模型,可以将低分辨率视频进行上采样或增强细节,打造更精美的视觉效果。
  • 简化模型管理:使用新的 –force-download 参数可以轻松一次下载所有必需的模型。这消除了每次运行应用程序时等待单个模型下载的麻烦。
  • 简化环境管理:将文档和安装程序从虚拟环境 (venv) 迁移到 conda 环境。Conda 提供了更健壮的依赖项管理,简化了设置和维护流程。
  • 增强 CUDA 12 兼容性: 得益于对 inswapper_128_fp16 模型的修复,该项目实现了与 NVIDIA CUDA 12 工具包的无缝兼容。即使您使用最新版本的 CUDA,也能确保程序顺畅运行。
  • 解决视频合并过程中帧率波动的问题,提供更一致的用户体验。
  • 修复了使用 –skip-download 参数且部分模型缺失时程序崩溃的问题,可以优雅地处理缺失模型的情况。
  • 修正了 h264_nvenc 和 hevc_nvenc 预设的映射,确保准确的编码。

V3.4.1

  • 下载人脸分析模型
  • 防止远程下载循环
  • 动态的concurrency_count以获得理想的Gradio性能
  • 为Gradio打补丁以加速预览和流渲染
  • 修复音频到图片的预览问题
  • 同时运行多个人脸检测器
  • 在低置信度下防止68至5标记点的转换
  • 添加高性能的scrfd人脸检测模型
  • 优雅地开始和停止处理
  • 迁移到ONNX支持的帧增强器
  • 引入–face-landmarker-score参数
  • 在使用多个UI布局时渲染标签页
  • 引入–output-image-resolution参数
  • 添加更多人脸调试项并优化其颜色主题
  • 当启用–log-level debug时打印内部统计信息
  • 一旦启用唇部同步器,保持视频全程的唇部覆盖
  • 添加对h264_amf和hevc_amf视频编码器的支持
  • 限制临时资源的分辨率提升和fps增强
  • 更改–output-path行为和规范化
  • 移除–temp-frame-quality参数
  • 修复使用非均匀像素目标时出现的绿线问题
  • 修复使用–trim-frame-start时唇部同步器预览的问题
  • 修复Geforce GTX 16系列的空白输出问题

另外,我在源版基础上做了如下修改:

  • 破除了NSFW限制
  • 修复模型加载时的一些问题
  • 添加自动打开浏览器功能
  • 模型全部做了本地化处理
  • 修改了主题色
  • 界面和提示信息全面汉化
  • 实时换脸

又在原来的修改基础上做了如下更新:

  • 修复模型加载的问题
  • 优化启动速度
  • 重新制作了运行环境
  • 彻底离线运行

下面就几个重点修改,做一下记录。

模型加载问题

由于在线模型更新了,老版本会自动下载最新模型,但是由于某些问题,下载后的模型会无法使用。

具体错误提示如下:

onnxruntime.capi.onnxruntime_pybind11_state.InvalidProtobuf: [ONNXRuntimeError] : 7 : INVALID_PROTOBUF : Load model from I:\Run\tonyhub-facefusion-NV-CN-v3.2.2\tonyhub\code.assets\models\inswapper_128_fp16.onnx failed:Protobuf parsing failed.

新版本已经不需要担心这个问题,已经放置最新可用模型!

优化启动速度&彻底离线运行

原先的逻辑是先去在线检测模型,如果有变化就更新,如果无变化就加载本地模型。但是如果本地无法访问模型所在网址,就会导致异常了。

之前其实已经考虑到这个问题,为了解决异常的问题,加了异常捕捉,延迟等待。

但是这种方案会导致启动过程等待时间较长(能访问github不会有这种现象)

为了彻底解决这个问题,我已经修改了代码逻辑。现在可以完全离线运行,快速启动了。

重新制作了运行环境

早期的版本更新只要更新源代码即可,但是最近两个版本更新之后,就会出现如下错误。

[E:onnxruntime:Default, provider_bridge_ort.cc:1548 onnxruntime::TryGetProviderInfo_CUDA] D:\a\_work\1\s\onnxruntime\core\session\provider_bridge_ort.cc:1209 onnxruntime::ProviderLibrary::Get [ONNXRuntimeError] : 1 : FAIL : LoadLibrary failed with error 126 "" when trying to load "D:\tonyhub-facefusion-NV-CN-v3.4.1\tonyhub\env\lib\site-packages\onnxruntime\capi\onnxruntime_providers_cuda.dll"

提示加载dll错误,如果去检查这个路径,可以发现这个文件存在且没有任何问题。

但是它就是报错。这个问题卡了我好几天。

还有一个奇怪的现象是,我常用电脑上不会报这个错误。但是拷贝到其他电脑都会出现这个错误。

在其他电脑上,老版本不会报错。但是更新代码就会出现错误。

尝试了,更新驱动,更新ONNX版本都无解。

但是看了半天,也看不出什么代码导致了这个问题。

后来只能全部推倒,按官方提供的安装程序和安装提示重新制作了运行环境。

最后终于成功解决了这个问题。

最后总结一下,这个问题是由于CUDA相关的依赖文件的路径发生了变化而产生的。

两个版本的软件已经全部上传到网盘。第一次接触这个软件的人,可以参考公众号上相关的历史文章,快速上手。

获取方式:

给公众号发送facefu获取软件

知识星球用户,直接在星球获取。

 

小尾巴==========================
公众号:托尼不是塔克
交流群
知识星球
==============================

 



发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注