872 字
4 分钟
实时换脸

介绍#

Deep-Live-Cam是实时换脸的开源项目

hacksider
/
Deep-Live-Cam
Waiting for api.github.com...
00K
0K
0K
Waiting...

该项目实现了实时换脸和一键式视频深度伪造,在这个项目之初我就去部署过,但是当时技术不是很到位,部署一直没搞明白,不过在我深度学习ai后,我发现他发布了2.0版本,看了一下他没有发布直接运行的文件但是有一个付费订购的软件包,说的是可以在没有任何技术基础上运行,也就是下载解压运行,看了一下价格20$/月,对于我来说这20刀还是很贵的,都100多了,那么还是老样子我们开始操作

安装配置#

  • python 3.10(他的推荐是这个版本)
  • pip
  • git
  • ffmpeg
  • Visual Studio 2022 Runtimes (Windows)

总体来说还算简单,那么我们开始解决最难的几个

ffmpeg#

ffmpeg是一个强大的,开源的,视频库,功能十分强大

安装ffmpeg#

我们到ffmpeg下载对应的版本,找不到的可以到github下载

下载后我们需要添加到环境中

在windows中,我们找到开始菜单->搜索->编辑系统环境变量->环境变量->系统变量->path->新建->输入下载的ffmpeg的目录\bin->确定->确定

NOTE

一定是ffmpeg的\bin目录下

我们可以在命令行中输入ffmpeg -version

实在不知道咋办的点击这里,知道没有图片不能活,但是我博客带宽不行好吧,将就点,给你们找了一篇博客,还算详细

Visual Studio 2022 Runtimes (Windows)#

呃,这个是Microsoft C++ 生成工具,这个怎么说呢,我因为要学ue引擎所以我是有Visual Studio,我是直接当插件安装的,这个的原作者提供了一个直接去下载的链接,具体咋用咱也不知道,凭感觉吧,下载后双击运行,然后选择安装,安装完成后重启电脑应该能解决问题

开始#

首先我们克隆仓库

git clone https://github.com/hacksider/Deep-Live-Cam.git

下载模型

  1. GFPGAN v1.4 版本
  2. inswapper_128_fp16.onnx

将这些文件放在 “models” 文件夹中(没有文件夹就创建)

进入目录安装依赖

cd Deep-Live-Cam
pip install -r requirements.txt

没有GPU的话运行

python run.py

有GPU的话你可能需要CUDA 执行提供程序 (Nvidia)

pip uninstall onnxruntime onnxruntime-gpu
pip install onnxruntime-gpu==1.16.3

用法为

python run.py --execution-provider cuda

但是吧cuda对于windows好像只有x86_64的,emm你们可以下载试试还是老样子对应的安装详细博客这里

命令行参数

options:
  -h, --help                                               显示帮助信息并退出
  -s SOURCE_PATH, --source SOURCE_PATH                     选择源图像
  -t TARGET_PATH, --target TARGET_PATH                     选择目标图像或视频
  -o OUTPUT_PATH, --output OUTPUT_PATH                     选择输出文件或目录
  --frame-processor FRAME_PROCESSOR [FRAME_PROCESSOR ...]  帧处理器(可选:face_swapper, face_enhancer 等)
  --keep-fps                                               保持原始帧率
  --keep-audio                                             保持原始音频
  --keep-frames                                            保持临时帧
  --many-faces                                             处理每一张人脸
  --map-faces                                              映射源和目标的面部
  --mouth-mask                                             遮罩嘴部区域
  --video-encoder {libx264,libx265,libvpx-vp9}             调整输出视频编码器
  --video-quality [0-51]                                   调整输出视频质量
  --live-mirror                                            显示实时镜头,如前置摄像头的画面
  --live-resizable                                         实时摄像头画面可调整大小
  --max-memory MAX_MEMORY                                  最大内存使用量(单位:GB)
  --execution-provider {cpu} [{cpu} ...]                   可用的执行提供者(可选:cpu 等)
  --execution-threads EXECUTION_THREADS                    执行线程数
  -v, --version                                            显示程序的版本号并退出

不出意外你们应该就得到了一个完美的实时换脸了 easysteps 步骤图

祝各位玩的开心

实时换脸
https://fengyegf.cn/posts/实时换脸/
作者
MLeaf-coder
发布于
2025-02-01
许可协议
CC BY-NC-SA 4.0