AI换脸facefusion 3.0.1安装及其使用方法(源代码安装)

文章目录

    • 1. 本文简介
    • 2. 软件环境准备
      • 软件下载及安装
      • 代码下载
    • 3. Conda环境
    • 4. 加速环境
    • 5. 依赖安装
    • 6. 图片测试

今天给大家分享换脸facefusion 3.0.1使用方法。不仅可以对单张图片换脸,也可以对视频换脸。如果是单张图片的话,没有GPU速度也很快,也就不到1秒。我的cpu是5800X。

FaceFusion 是一款领先的面部操控平台,主要功能包括:

  • 人脸交换:利用先进的 AI 技术,实现照片或视频中人脸的无缝替换。
  • 图像增强:通过集成 GFPGAN 和 Real-ESRGAN 等模型,提升图像质量,恢复面部细节。
  • 嘴型同步:在视频中同步嘴部动作,使替换后的面部更加逼真。

该平台适用于电影制作、广告设计和内容创作等领域,提供专业级的视觉效果

效果可以跳转到最后看一下。

github地址:https://github.com/facefusion/facefusion

1. 本文简介

本博客安装教程是在windows上安装的,因为大多数人用的都是win。其它系统的安装方法可查看:https://docs.facefusion.io/installation

所需软件及其环境

git
Miniconda
FFmpeg
Codec
python>=3.10(conda创建的环境)

这如果你电脑上没有这些软件也不要紧,下面我也会介绍相应的安装方法。

2. 软件环境准备

软件下载及安装

  1. git下载

    winget install -e --id Git.Git
    

    解释:这条命令通过 winget 安装 Git,这是一个版本控制工具,通常用于管理代码库(例如 GitHub)。-e 选项表示精确匹配 ID,--id Git.Git 指定了安装包的名称。

  2. Miniconda下载

    winget install -e --id Anaconda.Miniconda3 --override "/AddToPath=1"
    

    解释:这条命令通过 winget 安装 Miniconda,这是一个轻量级的 Python 环境管理和包管理工具。Conda 通常用于创建和管理 Python 虚拟环境和数据科学包。--override "/AddToPath=1" 参数表示在安装过程中要将 Miniconda 添加到系统环境变量 PATH 中,这样你可以直接从命令行调用 condapython

  3. FFmpeg

    winget install -e --id Gyan.FFmpeg
    

    解释:这条命令通过 winget 安装 FFmpeg,这是一个用于处理音频、视频、多媒体文件和流的开源工具。它可以用于格式转换、剪切、合并等操作,是多媒体处理的强大工具。

  4. Codec Pack

    winget install -e --id CodecGuide.K-LiteCodecPack.Basic
    

    解释:这条命令通过 winget 安装 K-Lite Codec Pack,这是一个常用的编解码器集合,用于确保你的计算机能够播放各种常见的音频和视频格式。Basic 版通常足以播放大多数主流媒体文件。

代码下载

可以从以下两种方式下载代码:

github仓库、百度网盘

  1. github仓库:https://github.com/facefusion/facefusion

    如果电脑上有git,直接使用git clone命令下载代码

    git clone https://github.com/facefusion/facefusion
    

    如果没有git,那么可以下载压缩包

    在这里插入图片描述

如果不能访问github,可以使用一些github的镜像。

  1. 百度网盘

    可能部分人无法访问github,我将代码上传到了百度云,可以直接下载。同时下载的文件中也包含之后需要的模型权重文件。

    网盘链接:通过百度网盘分享的文件:facefusion
    链接:https://pan.baidu.com/s/1FYhPV_M05xdJ2bE07bSugQ?pwd=vxcc
    提取码:vxcc

3. Conda环境

  • 新建虚拟环境

    conda create -n facefusion python=3.12
    
  • 激活环境

    activate facefusion
    

4. 加速环境

  • CUDA

    conda install conda-forge::cuda-runtime=12.4.1 conda-forge::cudnn=9.2.1.18
    
  • TensorRT

    pip install tensorrt==10.5.0 --extra-index-url https://pypi.nvidia.com
    
  • OpenVINO

    conda install conda-forge::openvino=2024.3.0
    

5. 依赖安装

克隆仓库:

git clone https://github.com/facefusion/facefusion

之前应该都下载了,直接进入facefusion文件夹:

cd facefusion

进入之前下载的facefusion的文件夹,确保在该文件下路径下使用以下命令,因为install.py在该文件夹下。

使用如下命令安装依赖:

python install.py --onnxruntime {default, ...}

直接使用该命令无法运行的,后面括号是需要自己选择的,有几种模式 ‘default’, ‘cuda’, ‘openvino’, ‘directml’,如果电脑是N卡,使用cuda的方式安装,使用如下命令:

python install.py --onnxruntime cuda

应该需要较长的时间进行安装,因为依赖非常多。

安装完成之后,就可以使用如下命令打开网页端运行:

python facefusion.py run

第一次运行,应该会自动下载各种模型权重,权重默认保存在.assets文件夹内,大概需要下载如下权重:

在这里插入图片描述

如果通过百度云下载,这些模型权重也包括在内,就不会下载各种模型权重了,会直接运行,出现如下界面:

在这里插入图片描述

点击URL会直接在浏览器中打开如下界面,或者在浏览器中输入下面地址也可以:

http://127.0.0.1:7860/

在这里插入图片描述

如果英文不习惯,可以直接右键网页进行翻译,会显示中文。

因为默认是cpu,如果有cuda,可以选择cuda,这样会加速运行。对单张图片换脸的话,cpu也挺快的。

在这里插入图片描述

其他的内容如果感兴趣可以搜搜啥意思,然后自己进行调试。

如果只是随便玩玩,保持默认的就可以了。

6. 图片测试

SOURCE是原图片的脸,TARGET是目标的脸。就是把SOURCE的脸放在TARGET的脸上。
假如原图是吴彦祖,目标是大家的脸,运行之后,大家的脸都变成吴彦祖了,我是说大家都是吴彦祖。
在这里插入图片描述

只需要上传一个源图片和目标图片就可以,如果下载百度云的内容,文件夹images有几张图片可以进行测试。

我的图片如下:

在这里插入图片描述

输出的换脸图片如下:
在这里插入图片描述

哈哈哈哈,挺像胡歌的,很帅。

可以将图片调换一下,使用如下配置:

在这里插入图片描述

输出如下:

在这里插入图片描述

哈哈哈哈,很帅,有点像吴彦祖?

图片换脸就分享到这里,其他的大家可以自行摸索。

参考链接:https://github.com/facefusion/facefusion

https://docs.facefusion.io/installation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/63036.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在CentOS上无Parallel时并发上传.wav文件的Shell脚本解决方案

在CentOS上无Parallel时并发上传.wav文件的Shell脚本解决方案 背景概述解决方案脚本实现脚本说明使用指南注意事项在CentOS操作系统环境中,若需并发上传特定目录下的.wav文件至HTTP服务器,而系统未安装GNU parallel工具,我们可通过其他方法实现此需求。本文将介绍一种利用Sh…

极兔速递开放平台快递物流查询API对接流程

目录 极兔速递开放平台快递物流查询API对接流程API简介物流查询API 对接流程1. 注册用户2. 申请成为开发者3. 企业认证4. 联调测试5. 发布上线 签名机制详解1. 提交方式2. 签名规则3. 字段类型与解析约定 物流轨迹服务极兔快递单号查询的其他方案总结 极兔速递开放平台快递物流…

Linux命令行解释器的模拟实现

欢迎拜访:羑悻的小杀马特.-CSDN博客 本篇主题:Linux命令行解释器 制作日期:2024.12.04 隶属专栏:linux之旅 本篇简介: 主线带你用ubuntu版系统步步分析实现基础版本的shell;比如支持重定向操作&#xff0…

微信 创建小程序码-有数量限制

获取小程序码:小程序码为圆图,有数量限制。 目录 文档 接口地址 功能描述 注意事项 请求参数 对接 获取小程序码 调用获取 小程序码示例 总结 文档 接口地址 https://api.weixin.qq.com/wxa/getwxacode?access_tokenaccess_token 功能描述 …

【spring mvc】全局处理请求体和响应体

目录 说明实现效果逻辑图 实现步骤创建公共处理的请求和响应的类api接口测试前端请求响应结果 扩展Response响应格式实体ResponseCode 响应状态码RSA工具类 RequestBodyAdvice 介绍使用场景 ResponseBodyAdvice 介绍使用场景 说明 由于项目中需要进行加密传输数据提高项目安全…

消息中间件-Kafka2-3.9.0源码构建

消息中间件-Kafka2-3.9.0源码构建 1、软件环境 JDK Version 1.8Scala Version 2.12.0Kafka-3.9.0 源码包 下载地址:https://downloads.apache.org/kafka/3.9.0/kafka-3.9.0-src.tgzGradle Version > 8.8Apache Zookeeper 3.7.0 2、源码编译 打开源码根目录修改…

AMEYA360 | 杭晶电子:晶振在AR/VR中的应用

晶振在AR/VR设备中扮演重要角色,为其核心电子系统提供稳定的时钟信号,确保设备的高性能运行。 以下是晶振在AR/VR应用中的具体作用: 01、图像处理与同步 1、晶振为图形处理单元(GPU)和显示芯片提供精准的时钟信号,支持高速图像渲染…

【SARL】单智能体强化学习(Single-Agent Reinforcement Learning)《纲要》

📢本篇文章是博主强化学习(RL)领域学习时,用于个人学习、研究或者欣赏使用,并基于博主对相关等领域的一些理解而记录的学习摘录和笔记,若有不当和侵权之处,指出后将会立即改正,还望谅…

Java刷题常见的集合类,各种函数的使用以及常见的类型转化等等

前言 相信大家在刷算法题的过程中,好不容易想出来大概的思路,也知道去用哪个集合类,但各个集合类的一些命令都长得太像,很容易将他们弄错,并且在各集合之间的转化也是特别烦人,还有很多实用的函数都知道可…

Linux CentOS

​阿里云开源镜像下载链接 https://mirrors.aliyun.com/centos/7/isos/x86_64/ VMware 安装 CentOS7 自定义 下一步 选择稍后安装操作系统 选择 输入 查看物理机CPU内核数量 CtrlShiftEsc 总数不超过物理机内核数量 推荐内存 自选 推荐 推荐 默认 拆分成多个 默认 自定义硬件…

大数据新视界 -- Hive 数据湖集成与数据治理(下)(26 / 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

数据结构 (26)图的遍历

前言 数据结构中的图遍历是指从图中的任一顶点出发,按照某种方法访问图中的所有顶点,且每个顶点只访问一次。 一、遍历方法 遍历主要有两种方法:深度优先搜索(DFS)和广度优先搜索(BFS)。 1.深度…

B站狂神说Mybatis+Spring+SpringMVC整合理解(ssm框架整合)

文章目录 0.写在前面(对mybatis,spring的理解)(不看可跳过)0.1 为什么需要mybatis0.2 为什么需要spring0.3为什么需要springmvc 1.新建ssmbuild数据库2.新建Maven项目3.初始化步骤3.1 配置下载maven依赖,构建资源导出3.2 连接数据库3.3建包&a…

el-cascader 使用笔记

1.效果 2.官网 https://element.eleme.cn/#/zh-CN/component/cascader 3.动态加载&#xff08;官网&#xff09; <el-cascader :props"props"></el-cascader><script>let id 0;export default {data() {return {props: {lazy: true,lazyLoad (…

MySQL事件

1、在数据库d_eams中创建一个名为E_enent的事件&#xff0c;用于每隔10s向数据表T_event 中插入一条数据 use d_eams; create event E_event on schedule every 10 second on completion preserve do insert into T_event(用户, 创建时间) values(Root, now()); 2、查看当前…

C语言(分支结构)

问题引出 我们在程序设计往往会遇到如下的问题&#xff0c;比如下的函数的计算。 也就是我们是必须要通过一个条件的结果来选择下一步的操作&#xff0c;算法上属于一个分支结构&#xff0c;C语言中实现分支结构主要使用if语句。 条件判断 根据某个条件成立与否&#xff0c…

SpringAop(1)

Spring中有两大重心&#xff1a;springIoc和springAop springioc将bean的控制权交给了spring管理&#xff0c;直接从spring中获取&#xff0c;通过五大注解来告诉spring帮我管理这个对象。通过Autowired和构造方法和set方法注入。 不仅仅是学习重点也是面试常考的难点。 spr…

GoReplay开源工具使用教程

目录 一、GoReplay环境搭建 1、Mac、Linux安装GoReplay环境 二、GoReplay录制与重播 1、搭建练习接口 2、录制命令 3、重播命令 三、GoReplay单个命令 1、常用命令 2、其他命令 3、命令示例 4、性能测试 5、正则表达式 四、gorepaly组合命令 1、组合命令实例 2、…

Nginx:ssl

目录 部署ssl前提 nginx部署ssl证书 部署ssl部署建议 部署ssl前提 网站有域名根据域名申请到ssl证书&#xff0c;并下载证书部署到nginx中 部署了ssl证书后&#xff0c;访问的流量是加密的。 nginx部署ssl证书 #80端口跳转到443 server {listen 80;return 302 https://1…

USB 声卡全解析:提升音频体验的得力助手

在当今数字化的时代&#xff0c;音频领域的追求愈发多元。无论是热衷聆听高品质音乐的爱好者&#xff0c;还是在专业音频工作中精雕细琢的人士&#xff0c;亦或是在游戏世界里渴望极致音效沉浸的玩家&#xff0c;都始终在寻觅能让音频体验更上一层楼的妙法。而 USB 声卡&#x…