今天给大家介绍一款可以在MAC上运行的简单易用的AI换脸软件 - Roof。Roof可以给图片或者视频换脸,支持一次性更换当前图片下所有的脸。虽然Roof目前在Github上已经停止维护了,但是功能确实强大。我们来看看生成出来的效果吧。

源图片:
source
1

目标图片
target
2

生成图片:

1-2

下面介绍下Roop在Mac上的安装:

1. 安装步骤

1.1. 安装前准备

安装python以及ffmpeg:

1
2
3
4
5
6
7
8
// 安装pthon
brew install python@3.10
// 安装pip
python -m ensurepip
// 安装git
brew install git
//安装ffmpeg
brew install ffmpeg

1.2. 安装步骤

在Github上克隆对应的仓库,使用下面的命令:

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

安装对应的依赖库,可以通过requestment.txt来安装:

1
pip install -r requirements.txt

1.3. 运行

最后可以通过python run.py运行roop。首次运行会下载一些需要的模型,需要一些时间,下载完成之后久可以愉快的玩耍了。

1.4. 通过CoreML加速

  • Apple Silicon

安装依赖:

1
2
pip uninstall onnxruntime onnxruntime-silicon
pip install onnxruntime-silicon==1.13.1

使用下面的命令来运行:

1
python run.py --execution-provider coreml

2. 命令行参数说明

参数 描述
-s SOURCE_PATH 选择源图片
-t TARGET_PATH 选择目标图片或者视频
-o OUTPUT_PATH 选择输出路径
–frame-processor FRAME_PROCESSOR 帧处理器选择 (choices: face_swapper, face_enhancer, …)
–keep-fps 保持目标fps
–keep-frames 保持临时的视频帧
–skip-audio 忽略目标音频
–many-faces 处理所有的脸
–reference-face-position REFERENCE_FACE_POSITION 参考脸的位置
–reference-frame-number REFERENCE_FRAME_NUMBER 参考帧的编号
–similar-face-distance SIMILAR_FACE_DISTANCE 用于识别的人脸距离
–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-provider {cpu} [{cpu} …] 可用的执行提供程序(选项:CPU,…)
–execution-threads EXECUTION_THREADS 执行线程数
-v, –version 显示程序的版本号
-h, –help 显示帮助消息