今天给大家分享换脸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. 软件环境准备
软件下载及安装
-
git下载
winget install -e --id Git.Git
解释:这条命令通过
winget
安装 Git,这是一个版本控制工具,通常用于管理代码库(例如 GitHub)。-e
选项表示精确匹配 ID,--id Git.Git
指定了安装包的名称。 -
Miniconda下载
winget install -e --id Anaconda.Miniconda3 --override "/AddToPath=1"
解释:这条命令通过
winget
安装 Miniconda,这是一个轻量级的 Python 环境管理和包管理工具。Conda
通常用于创建和管理 Python 虚拟环境和数据科学包。--override "/AddToPath=1"
参数表示在安装过程中要将 Miniconda 添加到系统环境变量 PATH 中,这样你可以直接从命令行调用conda
和python
。 -
FFmpeg
winget install -e --id Gyan.FFmpeg
解释:这条命令通过
winget
安装 FFmpeg,这是一个用于处理音频、视频、多媒体文件和流的开源工具。它可以用于格式转换、剪切、合并等操作,是多媒体处理的强大工具。 -
Codec Pack
winget install -e --id CodecGuide.K-LiteCodecPack.Basic
解释:这条命令通过
winget
安装 K-Lite Codec Pack,这是一个常用的编解码器集合,用于确保你的计算机能够播放各种常见的音频和视频格式。Basic
版通常足以播放大多数主流媒体文件。
代码下载
可以从以下两种方式下载代码:
github仓库、百度网盘
-
github仓库:https://github.com/facefusion/facefusion
如果电脑上有git,直接使用git clone命令下载代码
git clone https://github.com/facefusion/facefusion
如果没有git,那么可以下载压缩包
如果不能访问github,可以使用一些github的镜像。
-
百度网盘
可能部分人无法访问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有几张图片可以进行测试。
我的图片如下:
输出的换脸图片如下:
哈哈哈哈,挺像胡歌的,很帅。
可以将图片调换一下,使用如下配置:
输出如下:
哈哈哈哈,很帅,有点像吴彦祖?
图片换脸就分享到这里,其他的大家可以自行摸索。