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获取软件
知识星球用户,直接在星球获取。
posted @ 2024-04-16 21:46  托尼不是塔克  阅读(685)  评论(0编辑  收藏  举报