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

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

win7下faceswap环境配置(一)- 软件安装

By admin Deepfakes  24 Comments

Deepfakes环境配置

以下以64位Win7环境下Faceswap为例,零编程基础学习deepfakes的环境搭配。

Faceswap 简介

由于Win7用openfaceswap会出现错误,所以win7系统我们使用faceswap,可以在Github上下载最新的版本,但需要手动输入命令行配置,这里我上传的百度云已经设置好处理批,直接双击就可以安装。

安装要求

硬件:一块Nvidia显卡,算力3.0以上(参考Nvidia算力)最好1060 6G以上(A卡暂时不支持);CPU要求不高,AMD或者Intel都行。内存最好8G以上。

软件:

  1. 微软Visual Studio 2015(不要安装2017版本)
  2. CUDA 9.0(不要安装成9.1版本)
  3. CuDNN 7.0.5
  4. python3.6.0
  5. 主程序faceswap

安装流程:

  1. Visual Studio 2015,可以下载社区版本,地址http://download.microsoft.com/download/B/4/8/B4870509-05CB-447C-878F-2F80E4CB464C/vs2015.com_chs.iso
    1)选择自定义安装
    2)勾选C++
  2.  CUDA 9.0 地址:    Win7 https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_windows-exe
  3. CuDNN 7.0.5 (for CUDA 9.0)
    官网下载,需要注册 https://developer.nvidia.com/rdp/cudnn-archive我这里下载好了,我分享在百度云盘:
    Win7  https://pan.baidu.com/s/1RfG45ORk2harzXpefFARbA 密码 ozou下载之后,解压文件,把3个文件夹复制到上一步CUDA的安装路径,一般都在
    C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0
    这几个库文件需要复制好后面才不会出错
  4. python3.6.5
    地址:https://www.python.org/ftp/python/3.6.5/python-3.6.5-amd64.exe

     

    勾选Add Python 3.6 to PATH

    后面都点下一步就行。

  5. 下载faceswap
    百度云:https://pan.baidu.com/s/1NeoM1h3rnxUcerpz-LzojQ 密码: shct
    开启GUI界面需要很安装配置,请参考下一步的faceswap安装篇

     

     

    faceswap GUI3.0界面

结束:

到这里,安装faceswap的基础环境就配置好了,下一篇会写怎么配置facwawap的库文件。点击下方链接,进入第二篇。

 




win7下faceswap环境配置(二)- 依赖安装

By admin Deepfakes  69 Comments

上一步我们已经配置好基础环境了,faceswap下载到本地之后,需要下载依赖库文件,才能运行。这一篇我们来安装依赖。(因为pip安装时,要连接国外的源,经常出现错误,所以我们不直接用python setup.py来配置库,上一步百度云分享的文件已经加了国内的源,这样安装起来速度很快,而且分步来可以知道哪一步有问题,可以成功安装好每一步后,再进行下一步。)

将上一步百度云下载的faceswap解压,会看来这样的目录

1. 我们双击1)安装Cmake.bat

2. 安装成功之后 3. 我们双击2)安装dlib.bat

安装dlib,文件夹里我已经集成了dlib的本地文件,安装就不会出错。

3.双击3)安装requirement.bat,这一步需要安装的东西很多,耐心等待就行。

注意:如果发现安装tensorflow太慢,也可以自己用国内的源安装,自行打开CMD, 在命令行输入

pip install tensorflow-gpu==1.5.0 -i https://pypi.douban.com/simple)

requirements,我这里都安装好了,显示Requirement already satisfied

4.检查环境,双击4)检查环境.bat

setup

5. 双击5)启动GUI窗口.bat

环境安装成功之后,开启GUI3.0界面

结束语:到这里,faceswap的所以环境都已经配置完成了,注意需要每一步都安装成功,再进行一步。下一篇我们来使用faceswap。点击下方链接,进入第三篇。




win7下faceswap环境配置(三)- faceswap使用

By admin Deepfakes  143 Comments

配置好了全部环境之后,这一步我们将来看看faceswap怎么使用,相对于Openfaceswap,这里会复杂一点,但做过一遍之后可以把路径配置文件保存好,以后直接导入就行,不用每次都选。


0.我们先启动GUI界面

GUI3.0界面

左上角5个标签,分别是Extract – 提取头像,Train – 训练, Convert – 转换,后面的effmpeg和sort有bug,我们暂时不用。

从百度云下载的压缩包,里面已经包含workspace文件夹。在workspace有视频素材,我们从这里开始演示一次,下面我们来看怎么使用。

data_dst 目标文件夹,分解data_dst视频后的图片,将放在这里,也可以自己定义目录

data_src目标文件夹,分解data_src视频后的图片,将放在这里,也可以自己定义目录

model, 训练模型,将保存在这里,也可以自己定义目录

data_dst.mp4,目标视频文件

data_src.mp4,源视频文件

这里,我们要将data_src.mp4里面的钢铁侠脸部表情,覆盖到data_dst.mp4里面去


1. 返回到faceswap目录下的,双击x)分解src视频成图片.bat,可以看到命令行窗口在分解视频

将data_src视频分解成图片,默认会根据视频FPS一秒分成多少张图片

将视频分解完成之后,我们在workspace\data_src文件夹里面可以看到很多图片;


2. 同样的,我们把目录视频分解成图片,双击y)分解dst视频成图片.bat,完成目录视频的分解


3. 图片分解出来之后,需要提取头像,点击我们刚才启动的GUI窗口,选择左上角的Extract标签

Input Dir: 你要提取头像的图片目录,我们选择workspace\data_src这个文件夹

Output Dir: 提取到的头像保存目录,我们选择workspace\data_src\aligned这个文件夹

Detector: 提取的方法,我们选择all(如果太慢,就选hog

其他的我们保持默认就行,选好了之后,就点击左下角的Extract,开始提取

src图片提取头像


4.src图片提取完头像之后,我们需要对dst图片提取头像,同样在Extract这个标签里面

将Input Dir选择到workspace\data_dst这个文件夹

将Output Dir选择到workspace\data_dst\aligned这个文件夹,Detector也同样选all,然后点左下角的Extract提取。


5. 头像提取之后,就开始训练了。点击左上角的Train标签

Input A: 目标头像,注意是头像目录,不要选错成图片目录,这里选择workspace\data_dst\aligned

Input B: 源头像,选择workspace\data_src\aligned

Model Dir: 训练模型保存目录,我们选择workspace\model

Save interval: 保存间隔时间,可以设置为600

Trainer:选择Original

其他的不用理,选好了之后,点击左下角的Train,等加载好了之后,就开始训练,可以看到方框里的训练数值,一般Loss的数值在0.02以下之后,效果就比较好。训练会一直运行,你想停止就点击Terminate

train


6. 训练了一段时间之后,我们就可以来合成看看效果,点击左上角Convert标签

Input Dir: 注意这里的是图片目录,选择workspace\data_dst

Output Dir: 合成的图片目录,选择workspace\data_dst\merged

Detector:同样选all

Model Dir:选择模型目录workspace\model

Input Aligned Dir:要替换掉的头像,选择workspace\data_dst\aligned

Trainer:选择Original

下拉滚动条,seamless方框选中,其他的默认就行

选择好了之后,就点左下角的Convert,可以看到预览

合成完成之后


7.最好一步,将合成的图片转为视频,点击目录下的 z)合成图片到视频.bat

合成result.avi

(得用Potplayer才能打开,用QQ影音或者其他系统自带播放器放不了,如果效果满意,可以用小丸工具箱(推荐)或者格式工厂转换

到这里,我们的视频就合成完成了,合成视频在workspace文件夹里,因为源文件是没有音频,所以这里也没有音频。如果源视频有音频,会输出ResultWithAudio.avi。

到这里,例子就完成了,基本的流程就如上面演示。做完了基础的素材之后,后续想替换别的,就把文件放到workspace目录下的,参考上面的说明,重命名为data_dst.mp4和data_src.mp4就可以了。有什么不懂可以扫描右边的微信公众号给我留言。


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

相关文章

深度学习换脸: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。 啥是硬盘分区呢?举个例子你就明白了,很多人去买电脑的时候,比如你买的电脑只有一块硬盘,店家就会给你分区,把这一块硬盘分成好几个区,比如分成了系统,软件,文档这样三个,那么你打开【我的电脑】后就会…

nvme分区选mbr还是guid_SSD里的特例:NVME固态改MBR格式、装Win7

问题一:NVME固态是否支持MBR文件格式: 场景:前几天朋友兴致冲冲的买了个建兴T10,准备好好体验一下。但是正当他吃着火锅,唱着歌,突然就给麻匪劫了——电脑系统竟然接二连三莫名奇妙的崩溃。 于是朋友就向我求助。由于他的电脑最近除了换了硬盘,并没有添加任何其他的硬设…