首页 > 其他分享 >AI换脸:FaceFusion 3.5.0更新,解决老版本无法使用问题!

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

时间:2024-04-16 21:57:27浏览次数:51  
标签:AI 模型 更新 问题 -- 3.5 版本 FaceFusion onnxruntime

好久不见! 闲话不多说,今天主要是通知一下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获取软件 知识星球用户,直接在星球获取。

标签:AI,模型,更新,问题,--,3.5,版本,FaceFusion,onnxruntime
From: https://www.cnblogs.com/wangpg/p/18139296

相关文章

  • 科技驱动未来,提升AI算力,GPU扩展正当时
    要说这两年最火的科技是什么?我想“AI人工智能”肯定是最有资格上榜的,尤其ChatGPT推出后迅速在社交媒体上走红,短短5天,注册用户数就超过100万,2023年一月末,ChatGPT的月活用户更是突破1亿,成为史上增长最快的消费者应用。不少人认为,ChatGPT的热度,与其出色语言理解和文本生成能力有......
  • transformers、torch train demo
    通过pytorch训练模型的逻辑:importtorch.nnasnnimporttorchimportnumpy#fromtorch.utils.tensorboardimportSummaryWriterimporttimevocabList=["0","1","2","3","4","5","6","7"......
  • 认识什么是LLM、RAG、LangChain以及开发LLM应用的整体流程?
    认识大语言模型LLM时间:2024-04-15,星期一一、大型语言模型(LLM)理论简介大语言模型(LLM)的概念⼤语⾔模型(LLM,LargeLanguageModel),也称⼤型语⾔模型,是⼀种旨在理解和⽣成⼈类语⾔的⼈⼯智能模型。LLM的发展历程20世纪90年代,统计学习⽅法来预测词汇2003年深度学习先驱B......
  • 如何在Semantic Kernel中使用第三方代理OpenAI API接口
    最近手里没有官方的OpenAIAPIKey了,只能在第三方代理平台去购买APIKey。但是使用SemanticKernel的时候发现AddOpenAIChatCompletion不像AddAzureOpenAIChatCompletion那样可以选择终结点去看了下SemanticKernel项目下的issues,这个问题被提及了好几次,但是官方仍然没有提供End......
  • linux的raid
    raid独立硬盘冗余阵列(RAID,RedundantArrayofIndependentDisks),旧称廉价磁盘冗余阵列(RedundantArrayofInexpensiveDisks),简称磁盘阵列。利用虚拟化存储技术把多个硬盘组合起来,成为一个或多个硬盘阵列组,目的为提升性能或数据冗余,或是两者同时提升。简单来说,RAID把多个硬盘......
  • MoneyPrinterTurbo-利用AI大模型,一键生成视频
    地址https://github.com/harry0703/MoneyPrinterTurboWindows百度网盘:https://pan.baidu.com/s/1bpGjgQVE5sADZRn3A6F87w?pwd=xt16提取码:xt16下载后,建议先双击执行update.bat更新到最新代码,然后双击start.bat启动Web界面我这里用的源码安装1:创建虚拟环境gitclo......
  • Scratch3之AI集成 - flappy bird AI版本
    AI神秘且有趣,我们一个经典的游戏flappybird集成AI,实现自训练成长的聪明的笨鸟。先上效果:初始化的笨鸟拥有分身,每个分身都有自我学习功能,根据自己的移动轨迹和得分情况进行汇总,进行新一代的笨鸟的迭代,基本经过数十轮的训练和迭代,能完成高智慧的笨鸟,自我闯关能力强。 需要了解......
  • 苹果 iOS 18 的首批 AI 功能将完全运行于设备端
    苹果计划为iOS18推出的首批AI功能将完全在端侧上运行,不依赖云服务器。iOS18预计不会包含苹果自己的类ChatGPT的聊天机器人,但目前还不清楚Gemini或其他聊天机器人是否会直接集成到iOS18中。Gurman表示,目前看来苹果即将在WWDC上发布的AI技术将完全在设备本地运......
  • CF1198E Rectangle Painting
    传送门题意:\(10^9\times10^9\)的白色平面上,给定\(m\le50\)个矩形将其涂黑。每次可以选\(\min(h,w)\)的代价将一个\(h\timesw\)的矩形涂白,问涂成全白的最小代价。可以看作每次涂一整条或一整列。如果不是\(10^9\)的范围,可以直接上二分图最小点覆盖了。但是这里我......
  • 地铁查询系统Android,MainActivity
    packagecom.example.metro_info_front_end;importandroid.os.Bundle;importandroid.view.View;importandroid.widget.ArrayAdapter;importandroid.widget.AutoCompleteTextView;importandroid.widget.Button;importandroid.widget.LinearLayout;importandroid......