FaceFusion换脸AI技术使用以及部署教程

骑马路人甲10个月前VPS934382

一、介绍:

前些日子比较火的换脸AI技术是Roop,但是Roop已经停止更新了,好像是因为团队成员用这个东西搞颜色吧。不知道为什么又搞了个FaceFusion,以后的更新也会围绕着FaceFusion啦。

不知道是不是心理作用,总感觉FaceFusion比Roop更加好用。

使用该软件,您可以将一段视频中的人脸替换成您选择的人脸,只需要一张所需人脸的图像,无需数据集和训练。

免责声明

在使用他人面部图像前,用户必须得到相关人士的同意,并在发布内容时不得隐瞒它是深度伪造。本站不对最终用户的恶意行为负责。

为了防止滥用,它内置了一个检查程序,防止该程序用于不当媒体。

项目仓库

GitHub:facefusion/facefusion-unlocked

前置条件

在执行项目安装之前,我们还需要安装GitConda,还有FFMpeg,如果您的电脑还未安装这几款软件,请先根据本站所给出的教程安装。

Windows系统安装Git请参阅此文章:

http://dataddd.com/git%ef%bd%9cwindows%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b/

Windows系统安装Conda请参阅此文章:

http://dataddd.com/anaconda%ef%bd%9cminiconda%ef%bd%9cwindows%e5%ae%89%e8%a3%85%e6%95%99%e7%a8%8b/

Windows系统安装FFMpeg请参阅此文章:

http://dataddd.com/ffmpeg%ef%bd%9c%e5%aa%92%e4%bd%93%e6%a0%bc%e5%bc%8f%e8%bd%ac%e6%8d%a2%e5%b7%a5%e5%85%b7/

Visual Studio

在安装之前我们还需要下载Visual Studio

下载地址:Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com)

下载并安装Visual Studio 2022时,只需要勾选通过 Windows 平台开发项,然后点击安装,等待完成即可。

安装教程

如果您是初学者,对于命令行不太理解,那么请按下键盘上的Win键+R键后,在弹出的新窗口内输入CMD并按下回车,打开CMD窗口,按顺序执行如下的每一条命令。

首先我们需要确认一个工作目录,用来存放facefusion的相关环境依赖文件。本站所选择的目录为D盘的根目录下dataddd文件夹,完整路径为:D:\dataddd

检测D盘是否在dataddd目录,没有则创建该文件夹。

if not exist D:dataddd mkdir D:\dataddd

强制切换工作路径为D盘的dataddd文件夹。

cd /d D:\dataddd

拉取Github仓库文件夹,将下载至dataddd文件夹。

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

拉取无锁版本

git clone https://hub.fgit.cf/hassan-sd/facefusion-unlocked.git

如果您无法完成此步骤,执行后报错或者无法下载,可以下载该文件将其解压至D:\dataddd即可。

环境部署

在CMD中执行如下命令,强制切换至facefusion的项目目录。

cd /d D:\dataddd\facefusion-unlocked

在CMD中执行下面的命令行,创建Conda虚拟环境至该项目的目录中,方便日后重装系统也能够正常使用,无需重新部署环境。

conda create -y -p D:\dataddd\facefusion-unlocked\ENV python=3.10

初始化Conda环境,避免后续可能报错。

conda init cmd.exe

激活已创建的Conda环境,这样我们可以将我们后续所需要的所有环境依赖都安装至此环境下。

conda activate D:\dataddd\facefusion-unlocked\ENV

执行如下命令,安装访项目的相关依赖库。

pip install -r requirements.txt

图形加速

其实目前为止,你已经可以正常运行了,但速度会非常慢。如果您有一张好的GPU,你可以按照此处的教程安装GPU加速。

以下是针对各显卡安装图形加速的方法,请根据自身系统进行选择。

在你确认自己的显卡型号之后,在CMD中按顺序执行如下代码即可。

注意:最后一行是启动方式,如果你希望以CPU方式运行,那么可以不添加任何参数,直接运行python run.py,假如你想使用CUDA加速,那就执行python run.py --execution-providers cuda

英伟达

  1. CUDA安装

  2. CUDNN安装


  3. pip uninstall onnxruntime onnxruntime-gpu
    pip install onnxruntime-gpu==1.15.1
    python run.py --execution-providers cuda

AMD


  1. pip uninstall onnxruntime onnxruntime-directml
    pip install onnxruntime-directml==1.15.1
    python run.py --execution-providers dml

苹果电脑|M芯片


  1. pip uninstall onnxruntime onnxruntime-silicon
    pip install onnxruntime-silicon==1.13.1
    python run.py --execution-providers coreml

苹果电脑|非M芯片


  1. pip uninstall onnxruntime onnxruntime-coreml
    pip install onnxruntime-coreml==1.13.1
    python run.py --execution-providers coreml

英特尔


  1. pip uninstall onnxruntime onnxruntime-openvino
    pip install onnxruntime-openvino==1.15.0
    python run.py --execution-providers openvino

二、模型下载

参见百度链接

该模型默认路径为%USERPROFILE%,我们可以通过在CMD中执行下面的代码,将会自动打开模型存放的对应目录,也就是你的用户文档。

start %USERPROFILE%

将我们下载完成的模型文件解压缩,你将会得到两个名为.insightface.opennsfw2的文件夹,将其移动到你自动打开的这个文件夹内即可。

运行方式

在以后每次运行该项目时,只需要先激活Conda环境,然后运行启动文件即可。

在CMD中执行如下命令,强制切换至facefusion的项目目录。

cd /d D:\dataddd\facefusion-unlocked

激活已创建的Conda环境,这样我们可以将我们后续所需要的所有环境依赖都安装至此环境下。

conda activate D:\dataddd\facefusion-unlocked\ENV

执行如下代码,运行facefusion的UI界面。

python run.py

AMD

python run.py --execution-providers dml

免设置方式启动

python run.py --execution-providers dml --execution-thread-count 8 --execution-queue-count 12 --max-memory 12 --keep-fps --skip-download -o "D:\dataddd\facefusion-unlocked\out" --log-level debug

英伟达

python run.py --execution-providers cuda

苹果电脑|M芯片

  1. python run.py --execution-providers coreml

苹果电脑|非M芯片

  1. python run.py --execution-providers coreml

英特尔

  1. python run.py --execution-providers openvino

使用教程

当我们完成上述步骤中执行python run.py代码后,你将会在CMD窗口中看到如下内容。

(D:\dataddd\facefusion-unlocked\ENV) D:\dataddd\facefusion-unlocked>python run.py
Running on local URL:   
To create a public link, set `share=True` in `launch()`.

我们此时在浏览器中打开所给出的网址http://127.0.0.1:7860,即可访问该项目的界面。

截图20231010094643.png


以下是关于界面的各功能描述:

  1. FRAME PROCESSORS(帧处理器):

    • face_swapper(脸部交换): 一种在图像或视频中交换脸部的算法,类似于深度伪造技术。

    • face_enhancer(脸部增强): 一种增强或改进图像或视频中脸部质量的算法。

    • frame_enhancer(帧增强): 一种增强或改进整个图像或视频帧的算法。

  2. EXECUTION PROVIDERS(运算方式):

    • 用于选择你想选用的推理方式,比如你可以选择使用CUDA加速,如果你不懂这是什么,可以先选择CUDA看看能不能运行成功,不成功就切换为CPU。

    • tensorrt: NVIDIA TensorRT 是一个用于高性能深度学习推理的平台,针对 NVIDIA GPUs 进行了优化。

    • cuda: CUDA 是 NVIDIA 开发的用于 GPU 上的通用计算的并行计算平台和编程模型。

    • cpu(中央处理器): 使用计算机的中央处理器进行执行,而不是使用 GPU。

  3. EXECUTION THREAD COUNT(执行线程数):

    • 8: 指的是用于执行算法的线程或并行进程的数量。更多的线程通常意味着更快的处理,但最佳数量可能取决于硬件。

  4. EXECUTION QUEUE COUNT(执行队列数):

    • 1: 指的是一次可以排队执行的任务或作业的数量。

  5. TEMP FRAME FORMAT(临时帧格式):

    • jpg: 指的是在处理过程中用于保存临时帧的格式。JPEG (或 JPG) 是一种常见的图像格式。

  6. TEMP FRAME QUALITY(临时帧质量):

    • 100: 对于 JPEG 格式的压缩质量,其中 100 是最高质量(最少压缩)。更高的质量通常意味着更大的文件大小。

  7. KEEP FPS(保持帧率):

    • 确保视频的每秒帧数(FPS)在处理过程中保持一致或不变。

  8. KEEP TEMP(保持临时文件):

    • 在处理完成后是否保留临时文件(如中间处理帧)的标志。

  9. SKIP AUDIO(跳过音频):

    • 对于视频处理,此标志可能用于决定是否处理或忽略视频的音轨。

  10. SOURCE

    • 上传图像区域

  11. TARGET

    • 上传视频区域

  12. OUTPUT VIDEO ENCODER(输出视频编码器)

    • 用于选择视频编码方式,保持默认即可,

  13. OUTPUT VIDEO QUALITY(输出视频质量)

    • 建议设置为100%

  14. OUTPUT

    • 最终渲染视频呈现区域

  15. PREVIEW

    • 效果预览区域,可以快速查看生成后的效果预览。

  16. FACE RECOGNITION

    • 人脸识别区域,用于识别预览区域的人像提取。如果你有多张人脸,可以在这里选择目标人脸。

  • FACE ANALYSER DIRECTION(人脸分析:方向)

  • FACE ANALYSER AGE(人脸分析:年龄)

  • FACE ANALYSER GENDER(人脸分析:性别)

参数很多?没关系,我们需要做的其实非常简单,那就是先点击SOURCE区域,这会自动弹出一个文件选择的窗口,我们选择一张人物图片即可,这张图片将会做为替换的素材。

然后点击TARGET区域,这会自动弹出一个文件选择的窗口,我们选择一个包含人物的视频,这个视频为被替换面部的视频

最后我们点击START按钮,即可自动开始处理视频了。

命令行参数

以下是额外的命令行参数,一般不需要调整,忽略此部分内容即可。

python run.py [选项]-h, --help
打赏

相关文章

UBUNTU修改时区 同步时间

sudo tzselect根据需求选择所需时区保存时区数据sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime写入系统设置hwclock --systohc查看并同步tim...

AI绘画遇见的坑

pip安装内存炸python -m pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-...

宝塔面板搭建V2ray详细教程

准备工作:准备一个域名和一台vps,并将域名解析到vps。Freenom 可以注册免费域名搭建好宝塔并安装nginx宝塔和nginx完成以后,回到vps SSH窗口执行命令bash <(curl -L&n...

杜绝 “此文件来自其他计算机,可能被阻止以帮助保护该计算机”出现

组策略修改,步骤如下:win键+R(或者点击:开始/运行)-->打开运行对话框-->输入“gpedit.msc”-->用户配置—-->管理模板-->windows组件-->附件管理器-->右侧窗口选...

VPS常用一键安装

VPS常用一键安装

ssr.sh1bbr.sh1SSR、BBR...

Git设置代理

Git设置代理

install.sh1有时候配置了V2ray但是推送和拉取还总是超时,原来是没走代理,得需要手动配置如下:设置代理1.http || https协议//设置全局代理//httpgit config --global https.proxy...