跳到主要内容

FaceFusion系列1: AI换脸安装指南

FaceFusion,新一代的AI换脸和人脸增强工具。自从Deepfacelive停止更新之后,越来越多的用户开始寻找稳定更新的AI换脸技术,而这其中Facefusion以其用户友好的界面和卓越的性能成为了新宠。本篇博文会详细指导你如何在云GPU上部署最新版的Facefusion,并调整各种换脸参数,来完成各种AI人脸替换效果。

项目预览

facefusion-preview

准备工作

本教程会带你了解如何准备环境,安装Facefusion的Python包,准备素材,并进行参数调整。

我们将利用以下开源代码库:

Facefusion AI换脸工具

Facefusion: Github地址 - Facefusion GitHub

FaceFusion,作为全新的一代AI换脸工具,特点是无需复杂安装,一键即可运行,支持去遮挡、高清化、卡通脸替换,同时兼容Nvidia/AMD等各种显卡,非常适合各种平台使用。

安装教程

配置GPU实例

请点击以下链接,获得详细的交互式指导:LooPIN流动性池

1. LooPIN流动性池:

首先,访问LooPIN的流动性池(LooPIN Network Pool),在那里你可以使用$LOOPIN代币来购买GPU时间。例如,选择RTX 3080 GPU,你可以根据自己的需求和预算,在GPU UserBenchmark 中挑选最适合的GPU型号。

2. 代币兑换GPU资源:

  • 选择你需要的$LOOPIN代币数量。
  • 使用滑块选择你需要的GPU数量。
  • 确认你的选择并完成交易。

3. 进入Jupyter Notebook:

交易完成后,进入Rented Servers区域下的Server选项,通过远程服务器访问Jupyter Notebook。一般来说,启动实例需要2-4分钟。

4. 用nvidia-smi验证GPU:

在Jupyter Notebook中,打开一个新的终端窗口,执行nvidia-smi命令,以确认GPU已被正确激活。

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.15 Driver Version: 550.54.15 CUDA Version: 12.4 |
|-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce RTX 3080 Off | 00000000:01:00.0 Off | N/A |
| 0% 39C P8 21W / 350W | 12MiB / 12288MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
+-----------------------------------------------------------------------------------------+

安装Facefusion相关依赖

  1. 安装ffmpeg
apt update && apt install ffmpeg
  1. 安装conda
curl -LO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh

安装完conda后,为了使设置生效,需要重启你的终端。

  1. 下载Facefusion最新版本
git clone https://github.com/facefusion/facefusion
cd facefusion
  1. 安装Facefusion依赖
python install.py

在安装过程中,根据本教程,我们选择最新的onnxruntime版本,即cuda-12.2

启动Gradio内网穿透

Gradio是一个用于创建机器学习模型交互式界面的Python库。通过Gradio,你可以为你的模型快速构建一个可视化的、易于使用的Web界面,无需编写任何前端代码。我们将通过Gradio将内网端口7860映射到公网上。

facefusion/uis/layouts/目录下新建文件share.py

import gradio

from facefusion.uis.layouts import default


def pre_check() -> bool:
return default.pre_check()


def pre_render() -> bool:
return default.pre_render()


def render() -> gradio.Blocks:
return default.render()


def listen() -> None:
default.listen()


def run(ui : gradio.Blocks) -> None:
ui.launch(show_api = False, share = True)

返回到facefusion目录下,重新启动run.py

python run.py --ui-layouts share

完成后,你会看到以下信息:

Running on local URL: http://127.0.0.1:7860
Running on public URL: https://e41b4898c4fad7cc83.gradio.live

This share link expires in 72 hours. For free permanent hosting and GPU upgrades, run `gradio deploy` from Terminal to deploy to Spaces (https://huggingface.co/spaces)

现在,你可以通过你的独特的URL连接访问Facefusion界面。

facefusion-overview

在下一个教程中,我们将介绍Facefusion的基本操作和设置,完成一键换脸。

总结

  • AI换脸工具: 介绍了FaceFusion作为新一代的AI换脸和人脸增强工具,特点包括用户友好的界面和卓越的性能。
  • 安装教程: 分步骤指导用户如何配置GPU实例,安装和启动FaceFusion,包括环境配置、conda安装、ffmpeg安装、下载和安装FaceFusion依赖。
  • GPU配置: 通过LooPIN流动性池购买GPU时间,使用$LOOPIN代币,并验证GPU激活状态。
  • 内网穿透与公网接入: 介绍了如何使用Gradio进行内网穿透,使FaceFusion服务能够在公网上访问。

本文更新于 2024年5月1日