simswap使用教程

本文主要是综合了一下这两篇博客

简单介绍SimSwap(类似DeepFaceLab)单张图视频换脸的项目_若苗瞬的博客-CSDN博客_simswap 换脸

python的simswap库配置详细教程_XINFINFZ的博客-CSDN博客

在使用simswap这个开源项目的时候,按照这两篇博客中的某一篇去安装的时候,总是不能够成功,在结合了一下两篇博客之后,项目终于是可以运行了。下面开始介绍使用方法

simswap视频教程(YouTube):https://www.youtube.com/watch?v=IHLwjiBmf-g

simswap github地址:https://github.com/neuralchen/SimSwap

simswap官方安装教程:https://github.com/neuralchen/SimSwap/blob/main/docs/guidance/preparation.md

simswap官方使用教程:https://github.com/neuralchen/SimSwap/blob/main/docs/guidance/usage.md

1.安装依赖环境

conda create -n simswap python=3.6
conda activate simswap
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2 -c pytorch
pip install insightface==0.2.1 onnxruntime moviepy

如果你的电脑使用的是NIVIDA显卡,安装这些依赖库应该是足够了的。但如果你的显卡和我一样,是RTX3000系列的显卡的话(我的显卡是RTX3050ti)。你需要执行另一条安装命令

conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch

这里需要额外注意的是,你必须要查看自己电脑的cuda版本,才能判断你需要安装的pytorch版本是什么。你需要进行下面两个步骤获得这条安装命令

(1).打开NIVIDA控制面板/帮助/系统信息/组件,查看计算机cuda版本。

(2).进入torch官网,查看你的cuda版本对应的torch版本下载命令,输入命令进行下载。

2.下载github库和四个模型

我这里只是使用simswap,所以并不需要训练自己的模型。直接下载就完事了

(1)下载github代码

 simswap github地址:https://github.com/neuralchen/SimSwap

(2)下载四个模型并放到相应的文件夹内

insightface模型:下载地址 下载并解压到 ./insightface_func/models 

face-parsing.PyTorch模型:下载地址 下载并将其放在 ./parsing_model/checkpoint 中

预训练的两个模型:下载地址 百度网盘密码:jd2v

  • 将 arcface_checkpoint.tar 复制到 ./arcface_model
  • 解压checkpoints.zip,放在根目录下./

3.修改推断代码

找到这个目录(我这里是C:\Users\Donald\anaconda3\envs\simswap_test\Lib\site-packages\insightface\model_zoo)下的model_zoo.py

simswap使用教程_第1张图片

 

 找到get_model函数的onnxruntime.InferenceSession模块:

把None改成providers=[‘CUDAExecutionProvider’],原因是必须指定用什么来进行推断

simswap使用教程_第2张图片

如果不修改推断代码,会出现以下报错信息

 

 4.运行程序

运行程序这一步就比较简单了,我是直接在pycharm的终端下运行的。

具体运行命令可以参考官方使用教程

在此之前可以自己先尝试一下一张图片的替换

在pycharm终端输入命令如下

python test_video_swapsingle.py --crop_size 224 --use_mask --name people --Arc_path arcface_model/arcface_checkpoint.tar --pic_a_path ./demo_file/Iron_man.jpg --video_path ./demo_file/multi_people_1080p.mp4 --output_path ./output/multi_test_swapsingle.mp4 --temp_path ./temp_results 

你可能感兴趣的:(pytorch,人工智能,python)