Faceswap文档之---部署安装

article/2025/10/7 6:27:33

 前言

本篇博客,记录了部署github上的明星项目faceswap的过程,和一些踩坑记录。这个项目可以很好的实现视频换脸,感兴趣同学可以试一下。

说明:本篇文章我将项目部署在linux操作系统进行使用的,因为我们公司服务器性能更好一点。

当前时间版本:2022年3月


https://github.com/deepfakes/faceswaphttps://github.com/deepfakes/faceswap

关于视频换脸的大概原理,如果你感兴趣也想要知道的话,可以通过这个几分钟的视频大概了解。 

AI 换脸的原理 - 知乎知乎,中文互联网高质量的问答社区和创作者聚集的原创内容平台,于 2011 年 1 月正式上线,以「让人们更好的分享知识、经验和见解,找到自己的解答」为品牌使命。知乎凭借认真、专业、友善的社区氛围、独特的产品机制以及结构化和易获得的优质内容,聚集了中文互联网科技、商业、影视、时尚、文化等领域最具创造力的人群,已成为综合性、全品类、在诸多领域具有关键影响力的知识分享社区和创作者聚集的原创内容平台,建立起了以社区驱动的内容变现商业模式。https://www.zhihu.com/zvideo/1417898689550053376

效果展示

我使用stylegan2生成了一个世界上不存在的人,各种方位角度的人脸图片160多张

对对抗神经网络生成图片感兴趣,可以参考以下链接,关于stylegan2的项目: 
G-Lab人脸生成实验http://www.seeprettyface.com/index.html

将一个美女视频的脸换成了这个生成不存在的人脸,效果在下边:

 原视频:林允唯美写真_哔哩哔哩_bilibili林允唯美写真视频片段https://www.bilibili.com/video/BV1ZZ4y1n7gU换脸片段视频:out2_哔哩哔哩_bilibiliout2https://www.bilibili.com/video/BV1PZ4y167pR

感觉很有趣是不是,那就来安装试一试吧。 

部署文档

git上的项目提供了 Install.md ,详细讲解了项目部署的过程,但是全英文就让人看的很头疼,所以我翻译了一下,我认为全篇读一下,有助于你部署的时候遇到困到,可以想到其他的方法解决困难。

引用块为译文:个人英语水平有限,大家最好对照原文灵活理解。

Prerequisites 先决条件

Machine learning essentially involves a ton of trial and error. You're letting a program try millions of different settings to land on an algorithm that sort of does what you want it to do. This process is really really slow unless you have the hardware required to speed this up.

机器学习本质上涉及大量的试验和错误。你让一个程序尝试数百万种不同的设置,以得到一个能完成你想让它做的事情的算法。这个过程非常非常慢,除非您有必要的硬件来加速这个过程。

The type of computations that the process does are well suited for graphics cards, rather than regular processors. It is pretty much required that you run the training process on a desktop or server capable GPU. Running this on your CPU means it can take weeks to train your model, compared to several hours on a GPU.

 该过程所进行的计算类型非常适合显卡,而不是常规处理器。这非常需要你在桌面或服务器GPU上运行训练过程。在你的CPU上运行这意味着它可能需要几周的时间来训练你的模型,而在GPU上只需几个小时。

Hardware Requirements 硬件需求

TL;DR: you need at least one of the following:

A powerful CPU

Laptop CPUs can often run the software, but will not be fast enough to train at reasonable speeds

笔记本电脑的cpu通常可以运行该软件,但速度不够快,无法以合理的速度训练。

A powerful GPU

Currently, Nvidia GPUs are fully supported. and AMD graphics cards are partially supported through plaidML.

目前,完全支持Nvidia的gpu。和AMD显卡部分支持通过plaidML。

If using an Nvidia GPU, then it needs to support at least CUDA Compute Capability 3.5. (Release 1.0 will work on Compute Capability 3.0) To see which version your GPU supports, consult this list: CUDA GPUs | NVIDIA Developer Desktop cards later than the 7xx series are most likely supported.

如果使用Nvidia GPU,那么它至少需要支持CUDA计算能力3.5。(版本1.0将适用于计算能力3.0)要查看您的GPU支持哪个版本,请参考:https://developer.nvidia.com/cuda-gpus

Supported operating systems支持的操作系统

Windows 10 Windows 7 and 8 might work. Your mileage may vary. Windows has an installer which will set up everything you need. See: https://github.com/deepfakes/faceswap/releases

Windows 10 Windows 7和8可能可以。你的版本可能会不一致。对于Windows系统有一个安装程序,可以设置你需要的一切。参见:https://github.com/deepfakes/faceswap/releases

Linux Most Ubuntu/Debian or CentOS based Linux distributions will work.

Linux大多数基于Ubuntu/Debian或CentOS的Linux发行版都可以运行。

macOS GPU support on macOS is limited due to lack of drivers/libraries from Nvidia.

macOS的GPU支持在macOS上是有限的,因为缺少来自Nvidia的驱动程序/库。

 Alternatively, there is a docker image that is based on Debian。

另外,(为方便部署)git社区还可以提供一个基于Debian的docker镜像。

Linux and Windows Install Guide   Linux和Windows安装指南

 Installer  下载器

Windows and Linux now both have an installer which installs everything for you and creates a desktop shortcut to launch straight into the GUI. You can download the installer from https://github.com/deepfakes/faceswap/releases.

If you have issues with the installer then read on for the more manual way to install faceswap on Windows.

Windows和Linux现在都有一个安装程序,可以为你安装所有的东西,并创建一个桌面快捷方式,直接启动到GUI。您可以从https://github.com/deepfakes/faceswap/releases下载安装程序。

如果你的安装程序有问题,请继续阅读Windows上安装faceswap的更多手动方式。

 Manual Install    手动安装指南

(如果你使用提供的下载器安装系统环境出问题,可以使用手动安装)

Setting up faceswap can seem a little intimidating to new users, but it isn't that complicated, although a little time consuming. It is recommended to use Linux where possible as Windows will hog about 20% of your GPU Memory, making faceswap run a little slower, however using Windows is perfectly fine and 100% supported.

对新用户来说,部署faceswap环境的过程可能有点吓人,但它并不复杂,虽然有点耗时。建议在可能的情况下使用Linux系统,因为Windows会占用20%的GPU内存,让换脸运行得稍微慢一些,当然用Windows也完全没问题,而且100%支持。

Prerequisites 手动安装的先决条件

Anaconda(anaconda是python环境管工具)

Download and install the latest Python 3 Anaconda from: Anaconda | Individual Edition. Unless you know what you are doing, you can leave all the options at default.

https://www.anaconda.com/download/下载并安装最新的Python 3 Anaconda。在安装conda的过程中,安装选项都可以选择默认设置。如果您知道自己在做什么,可以自定义选择

Git  

Download and install Git for Windows: Git - Downloading Package. Unless you know what you are doing, you can leave all the options at default.

下载并安装Windows版本的Git: https://git-scm.com/download/win。在安装Git的过程中,安装选项都可以选择默认设置。如果您知道自己在做什么,可以自定义选择

Setup

Reboot your PC, so that everything you have just installed gets registered.

重新启动你的电脑,这样你刚刚安装的所有东西都会被注册。

安装好之后,开始设置conda环境 

Set up a virtual environment设置虚拟环境

Open up Anaconda Navigator

Select "Environments" on the left hand side

Select "Create" at the bottom

打开Anaconda Navigator

选择左侧的“Environments”

选择底部的“创建”

In the pop up:

Give it the name: faceswap

IMPORTANT: Select python version 3.8

Hit "Create" (NB: This may take a while as it will need to download Python)

设置位置在顶部:

给conda环境起个名字:faceswap

重点:选择python 3.8版本

点击“创建”(注意:这可能需要一段时间,因为它将需要下载Python)

Entering your virtual environment进入虚拟环境

To enter the virtual environment:

Open up Anaconda Navigator

Select "Environments" on the left hand side

Hit the ">" arrow next to your faceswap environment and select "Open Terminal"

 要进入虚拟环境:

打开Anaconda Navigator

选择左侧的“Environments”

点击换脸环境旁边的“>”箭头并选择“Open Terminal”意为打开终端

faceswap 获取faceswap代码

If you are not already in your virtual environment follow these steps

Get the faceswap repo by typing: git clone --depth 1 https://github.com/deepfakes/faceswap.git

Enter the faceswap folder: cd faceswap

如果您还没有进入虚拟环境,可以进行以下步骤

通过输入:git clone --depth 1 https://github.com/deepfakes/faceswap.git获取faceswap 代码

进入faceswap项目文件夹 : cd faceswap

Easy install  进入代码文件 ,代码文件中有一个自动部署依赖环境的脚本,运行可以自动安装好环境依赖

Enter the command python setup.py and follow the prompts:

If you have issues/errors follow the Manual install steps below.

输入命令python setup.py,并按照提示执行(这个python脚本可以自动安装依赖环境):

如果您使用脚本有问题/错误,请按照下面的手动安装步骤继续进行。

Manual install手动安装

Do not follow these steps if the Easy Install above completed succesfully. If you are using an Nvidia card make sure you have the correct versions of Cuda/cuDNN installed for the required version of Tensorflow

如果上面的使用脚本安装成功完成,就不需要在进行手动安装过程了。另外提醒一点如果您使用的是英伟达卡,请确保您安装了正确版本的Cuda/cuDNN所需版本的Tensorflow,(需要的版本再开头讲到过)

Install tkinter (required for the GUI) by typing: conda install tk

如果要可视化界面GUI的话,需要conda安装tK命令如上

Install requirements:

        For Nvidia GPU users: pip install -r requirements_nvidia.txt

        For AMD GPU users: pip install -r requirements_amd.txt

        For CPU users: pip install -r requirements_cpu.txt

对于不同版本GPU系统的pip安装依赖命令如上

Running faceswap     运行faceswap (环境安装完成后)

If you are not already in your virtual environment follow these steps

Enter the faceswap folder: cd faceswap

Enter the following to see the list of commands: python faceswap.py -h or enter python faceswap.py gui to launch the GUI

如果您还没有进入虚拟环境,请执行以下步骤

进入faceswap文件夹:cd faceswap

输入以下命令查看命令列表:python facswap .py -h或输入python facswap .py gui启动GUI

Create a desktop shortcut创建桌面快捷方式

A desktop shortcut can be added to easily launch straight into the faceswap GUI:

可以添加一个桌面快捷方式来轻松地直接启动到换面GUI:

Open Notepad

Paste the following:

%USERPROFILE%\Anaconda3\envs\faceswap\python.exe %USERPROFILE%/faceswap/faceswap.py gui

Save the file to your desktop as "faceswap.bat"

打开记事本

粘贴代码如上

将文件以“faceswap.bat”的形式保存到桌面即可生成快捷方式

Updating faceswap  关于更新faceswap

It's good to keep faceswap up to date as new features are added and bugs are fixed. To do so:

If using the GUI you can go to the Help menu and select "Check for Updates...". If updates are available go to the Help menu and select "Update Faceswap". Restart Faceswap to complete the update.

If you are not already in your virtual environment follow these steps

Enter the faceswap folder: cd faceswap

Enter the following git pull --all

Once the latest version has downloaded, make sure your dependencies are up to date. There is a script to help with this: python update_deps.py

随着新功能的添加和bug的修复,保持代码的更新是很好的。如何跟新,你可以这样做:

如果使用GUI,你可以进入帮助菜单并选择“检查更新”。如果有更新,请转到“帮助”菜单并选择“更新Faceswap”。重新启动Faceswap以完成更新。

使用git跟新的话,请执行以下步骤

输入faceswap文件夹:cd faceswap

输入以下git pull --all

下载了最新版本后,请确保您的依赖项是最新的。有一个脚本可以帮助解决这个问题:python update_ps .py

 Run the project运行该项目

 Once all these requirements are installed, you can attempt to run the faceswap tools. Use the -h or --help options for a list of options.

安装所有这些需求之后,您可以尝试运行faceswap工具。对选项列表使用-h或--help选项。可以查看帮助说明

or run with gui to launch the GUI

python faceswap.py gui

Proceed to ../blob/master/USAGE.md

或者运行gui来启动gui,命令如下

python faceswap.py gui

成功装好程序之后,为了进一步学习如何使用它,可以查看usage.md 说明文件。

部署过程中我踩到的坑

我在linux 系统中安装部署时,使用的官方提供的faceswap_setup_x64.sh脚本自动化的安装环境。在运行faceswap_setup_x64.sh 脚本时运行报错:

 表示需要用普通用户身份运行sh文件。为了安全起见,脚本不能用root用户运行,可能会修改了一些相关环境的东西。

创建的普通用户后

按照提示创建成功: 

上边的必要步骤完成后,就算时安装完成了,接下来就是学习如何使用faceswap 来打开新世界的大门了。

faceswap的使用方法,我会专门总结在我的下一篇博客

Facewap文档之---使用手册

Faceswap文档之---使用手册_卖香油的少掌柜的博客-CSDN博客本篇博客,记录了使用github上的明星项目faceswap的过程,和一些踩坑记录。这个项目可以很好的实现视频换脸,感兴趣同学可以试一下。说明:本篇文章我将项目部署在linux操作系统进行使用的,因为我们公司服务器性能更好一点。当前时间版本:2022年3月https://blog.csdn.net/qq_58832911/article/details/123579478


http://chatgpt.dhexx.cn/article/ZhglOy13.shtml

相关文章

DeepFake技术--win7下faceswap环境配置(一)(二)(三)

win7下faceswap环境配置(一)- 软件安装 By admin Deepfakes 24 Comments Deepfakes环境配置 以下以64位Win7环境下Faceswap为例,零编程基础学习deepfakes的环境搭配。 Faceswap 简介 由于Win7用openfaceswap会出现错误,所以…

深度学习换脸:faceswap项目实践

faceswap项目解析 一、简介二、数据提取三、模型训练四、人脸转换五、总结 一、简介 faceswap是采用人脸encoder-decoder的方式进行换脸,先提取人脸,包括人脸分割的mask,然后将两个人的人脸用同一个encoder编码,再使用对方的deco…

Windows下faceswap的安装

在Windows上安装Faceswap是一件轻而易举的事。除图形驱动程序外,Windows安装程序会安装您需要的所有内容。如果您使用的是显卡(强烈推荐。CPU上的换脸的速度非常慢),然后确保您的驱动程序是最新的。 下载(访问github可…

Faceswap文档之---使用手册

前言 本篇博客,记录了使用github上的明星项目faceswap的过程,和一些踩坑记录。这个项目可以很好的实现视频换脸,感兴趣同学可以试一下。 说明:本篇文章我将项目部署在linux操作系统进行使用的,因为我们公司服务器性能更…

STFT filter bank

STFT filter bank STFT根据公式不同的写法,可以推导出overlap-add和filter-bank两种不同的实现方式 X(w)∑nx(n)w(n−mR)e−jωn X ( w ) ∑ n x ( n ) w ( n − m R ) e − j ω n 先暂时讨论R 1的情况 filter bank可以用以下流程表示 分析下以上步骤&…

短时傅里叶变换(STFT)及matlab

笔记~自用版~ 短时傅里叶变换的基础理论 短时傅里叶变换(Short-Time Fourier Transform, STFT)是一种时频分析方法,它将信号在时间域上分成若干个短时段,对每个短时段进行窗函数加窗后再做傅里叶变换,得到每个时刻的频…

Revertable STFT

最近在做利用深度学习去噪的工作,大部分的工作都是利用spectrogram特征来做的,这就需要用到STFT, 本次利用的是python的scipy.signal模块。 在做去噪的时候,首先需要先将输入信号x利用stft转换成spectrogram: ff, tt…

时频分析之STFT:短时傅里叶变换的原理与代码实现(非调用Matlab API)

1. 引言 在信号分析中,傅里叶变换可称得上是神器。但在实际应用中,人们发现它还是存在一些不可忽视的缺陷。 为了便于叙述考察以下两种情形: Case 1 考察这样一个函数: fs 1000; t 0:1/fs:1 - 1/fs; x [10 * cos(2 * pi *…

C语言版本STFT/ISTFT

接上一篇:https://blog.csdn.net/SPESEG/article/details/101672559 注意:寡人的stft是有前提条件的,并不是完全与librosa.stft一一对应【我的版本参数是固定的,不可变,其他是一样的】,因为我的hop_length…

stft isar成像 matlab,基于STFT和FRFT的运动目标雷达三维成像方法与流程

本发明属于数字信号处理技术领域,特别涉及一种运动目标雷达三维成像方方法,可 用于对运动目标识别时,雷达ISAR对其三维成像。 背景技术: 逆合成孔径雷达ISAR是一种全天候、全天时的远程探测手段,具有对运动目标进行 成像的能力,被广泛应用于目标跟踪、目标识别、机场监视…

librosa 语音库(二)STFT 的实现

librosa是一个应用广泛的音频处理python库。 在librosa中有一个方法叫做stft,功能是求音频的短时傅里叶变换, librosa.stft 返回是一个矩阵 短时傅立叶变换(STFT),返回一个复数矩阵使得D(f,t) 当调用的形式是 np.abs( stft() ),…

python的opencv操作记录(七)——短时傅里叶变换(stft)

文章目录 DCT-傅立叶变换的局限性STFT 短时傅里叶变换从另一个角度来理解图像的“时域”数据看看fs和t这两个参数再看看怎么划分窗口最后看另外两个出参Zxx返回结构 图像的stft DCT-傅立叶变换的局限性 接上一篇DCT的文章,DCT只提取了整个信号域的频率信息&#xf…

傅里叶变换@(stft和istft)

一、窗函数之短时傅里叶变换stft 前提: 傅里叶变换是针对平稳信号的,但是很多实际应用中的信号都是非平稳的,如果要计算其傅里叶变换,需要假设其周期无限长,然后对这个无限长的信号做变换分析。但是这种无限长信号分…

scipy短时傅里叶分析STFT

scipy短时傅里叶分析 基本原理: 为了使STFT能够通过STFT逆变换反变换,信号加窗必须服从“非零重叠加”(NOLA)的约束,输入信号必须具有完整的加窗覆盖即 ( x . s h a p e [ a x i s ] − n p e r s e g ) (x.shape[axis] - nperseg) % (nper…

STFT笔记

因为不懂这个被鄙视了,调包侠来补作业。 基础知识 FFT(fast fourier transfrom)快速傅里叶变换。 推荐阅读《深入浅出的讲解傅里叶变换(真正的通俗易懂)》, 《梅尔频率倒谱系数(MFCC)》。 频谱只获得了频…

利用短时傅里叶变换(STFT)对信号进行时频谱分析和去噪声

利用短时傅里叶变换(STFT)对信号进行时频谱分析和去噪声 1、背景 傅里叶变换(TF)对频谱的描绘是“全局性”的,不能反映时间维度局部区域上的特征,人们虽然从傅立叶变换能清楚地看到一整段信号包含的每一个频率的分量值…

STFT(短时傅里叶变换)音频特征提取,用于语音识别 python

在各种音频相关的任务中,不管用什么模型或网络,得到所需的音频特征肯定是必要的一步。下面简单说一下STFT特征 一、原始信号 在说STFT之前,先说一下读入的原始信号,图像是在XY二维上描述的像素点的集合,相应的&#x…

STFT原理及MATLAB代码

原文地址:http://blog.csdn.net/shengzhadon/article/details/46811923 一、先说说STFT的理论 1.概念和特点 STFT(short-time Fourier transform,短时傅里叶变换)是和傅里叶变换相关的一种数学变换,用以确定时变信号其…

nvme分区选mbr还是guid_win7安装系统硬盘模式mbr和guid选哪个?

有很多系统之家的用户,还是喜欢安装win7系统的。但是在新的硬盘里面我们要分区的话,会出现mbr和guid是硬盘分区的两个格式,很多用户在做系统的时候不知道选哪个好,其实最好根据自己的电脑的配置,下面来看看详细的介绍吧…

uefi+guid分区与legacy+mbr分区_硬盘分区表格式GUID和MBR知识普及

我们的电脑硬盘分区格式一共有两种,一种是GUID(GPT),一种是MBR。 啥是硬盘分区呢?举个例子你就明白了,很多人去买电脑的时候,比如你买的电脑只有一块硬盘,店家就会给你分区,把这一块硬盘分成好几个区,比如分成了系统,软件,文档这样三个,那么你打开【我的电脑】后就会…