前言:安装项目的基础环境时需开启魔法,国内网速感人,当安装好项目后,可以本地自行实现换脸图片或者视频,不会给任何第三方发送你做的内容

项目地址:https://github.com/s0md3v/roop

运行环境

Python

官方网址:https://www.python.org/downloads/

推荐使用版本3.10或大于3.10版本

image-20240215202852020

FFmpeg

官方网址:https://ffmpeg.org/download.html#build-windows

image-20240215202828940

选择Windows builds from gyan.dev,打开下图页面

image-20240215202852020

选择ffmpeg-git-essentials.7z 注:下载起来较慢,耐心等待

当下载完成后解压至本地专门存放软件的目录,配置对应的环境变量,

系统变量 path对应的路径下面新增软件解压的目录如C:\ffmpeg\bin

git

官方网址:https://git-scm.com/

主要是用来拉取roop项目的,后期项目更新了可以直接拉取,也可以直接从github下载项目

VisualStudio2022

官方网址:https://visualstudio.microsoft.com/zh-hans/downloads/

image-20240215202714756

下载社区版即可

pip

pip是指Python包的管理工具,提供了对python包的查找,下载,安装,卸载功能

指定阿里云镜像源

1
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

Roop安装

使用git克隆Roop

1
git clone https://github.com/s0md3v/roop

创建、激活虚拟环境

1
python -m venv venv
1
call venv\scripts\activate

安装依赖包

1
pip install -r requirements.txt 

这步耗费时间长

使用Roop

进入虚拟环境

1
python -m venv venv

Roop运行常用指令

只用CPU处理视频:

1
python run.py

使用GPU处理视频:

1
python run.py --execution-provider cuda

图片保存jpg格式

1
python run.py --execution-provider cuda --temp-frame-format jpg

视频高清化处理:

1
python run.py --execution-provider cuda --temp-frame-format jpg --frame-processor face_swapper face_enhancer

处理脸部跳闪:

1
python run.py --execution-provider cuda --temp-frame-format jpg --frame-processor face_swapper face_enhancer --similar-face-distance 1.5

指定帧识别人脸并替换:

1
python run.py --execution-provider cuda  --reference-face-position 3  --reference-frame-number 166 --similar-face-distance 1.5

其他参数

1
2
3
4
5
6
--temp-frame-format {jpg,png} 用于帧提取的图像格式
--temp-frame-quality [0-100] 用于帧提取的图像质量
--output-video-encoder {libx264,libx265,libvpx-vp9,h264_nvenc,hevc_nvenc} 用于输出视频的编码器
--output-video-quality [0-100] 用于输出视频的质量
--max-memory MAX_MEMORY 最大RAM量(单位:GB)
--execution-threads EXECUTION_THREADS 执行线程数量

常见问题

使用的过程中报AttributeError: ‘NoneType’ object has no attribute ‘shape’
解决方法:选中图片的路径存在中文路径,把图片路径改为英文