Skip to content

FaceFusion:行业领先的开源免费换脸平台

功能介绍

FaceFusion 核心能力是换脸,功能包含:

  1. 图片换脸:上传一张 source 图片,上传一张 target 图片,将 source 图片中的脸换到 target 图片中。如下图所示 facefusion-swapper-enchancer.gif
  2. 视频换脸:上传一张 source 图片,上传一个 target 视频,将 source 图片中的脸换到 target 视频中。
  3. 智能选脸:当 source 中的脸多于一张时,支持按照如下几种智能方式选择人脸
    • 按照脸部在图片中的大小
    • 按照脸部在图片中的位置
    • 按照性别
    • 按照人种
    • 按照年龄范围
  4. 蒙版选择:用于控制换脸的区域,例如去掉刘海/眼镜等遮挡物的影响。支持三种蒙版方式
    • box:盒子蒙版 box.png
    • region:区域蒙版 region.png
    • occlusion:咬合蒙版,选择该蒙版会显示出换脸的完整部位,可与以上两种蒙版配合使用
  5. 多人换脸:支持
  6. 模型换脸:除了支持单张图片的换脸能力之外,FaceFusion 也支持老牌的 DeepFaceLive 模型,即选择一张 target 图片,选择一个脸模,进行换脸 deep_swapper.png

除了核心的换脸能力之外,还支持一些扩展能力,这些扩展能力都可以与换脸能力一起使用,以达到预期或者逼近预期的换脸效果,扩展能力分别如下:

  1. 脸部增强:上传一张source图片,对其脸部进行细节高清增强。默认的换脸模型是 inswapper128,该换脸模型是当下支持一张图片换脸最逼真的模型,但是换脸后的分辨率较低,需要使用脸部增强进行高清放大。
  2. 帧增强:视频换脸的原理是将视频切成帧图片,然后对帧图片进行换脸,最后合并换脸后的帧。帧增强功能可以对每一帧进行高清增强,最终起到对整个视频高清增强的效果
  3. 表情复刻:基于 LivePortrait 模型,实现 target 图片对 source 图片中表情的复刻
  4. 表情编辑:基于 LivePortrait 模型,进行表情编辑,可用来做表情包 faceeditor.gif
  5. 年龄穿越ageeditor.gif
  6. 帧着色:主要针对黑白图片上色,预置了5种上色模型,使用方式如下。 colorize.png

一键整合包

下载地址:百度网盘 安装方式:下载后,选择文件夹中的所有文件(约14G),右键选择“7-Zip” => “Extract Here”,解压完成后,双击压缩包中的 “启动.bat” 文件即可启动程序。如果想要自行进行安装,继续查看“安装应用”小节。

安装应用

系统要求:支持 Linux/macOS/Windows,支持 cpu/cuda/tensorrt。 下面以 Windows11 为例,演示安装流程。在 cmd 中依次输入以下命令

shell
cd D:\ai\self_use_package // 选择软件安装的目标目录
git clone https://github.com/facefusion/facefusion.git // 下载源码
cd facefusion // 进入源码目录
conda create -n facefusion python=3.12 -y // 创建虚拟环境
conda activate facefusion // 激活虚拟环境
conda install conda-forge::cuda-runtime=12.4.1 conda-forge::cudnn=9.2.1.18 // 安装 cuda/cudnn
pip install tensorrt==10.6.0 --extra-index-url https://pypi.nvidia.com // 安装 tensorrt,支持高性能的N卡
python install.py --onnxruntime cuda --skip-conda // 安装项目依赖

启动应用

在 cmd 中输入以下命令

shell
python facefusion.py run --open-browser // 启动程序

在 cmd 中看到如下日志,表示成功(首次启动会从 HuggingFace 上拉取模型)

shell
Running on local URL:  http://127.0.0.1:7860

此时浏览器输入 http://127.0.0.1:7860,展示界面如下

ui.png

文章的最后,如果您觉得本文对您有用,请打赏一杯咖啡!感谢!