本文主要是综合了一下这两篇博客
简单介绍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
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版本下载命令,输入命令进行下载。
我这里只是使用simswap,所以并不需要训练自己的模型。直接下载就完事了
(1)下载github代码
simswap github地址:https://github.com/neuralchen/SimSwap
(2)下载四个模型并放到相应的文件夹内
insightface模型:下载地址 下载并解压到 ./insightface_func/models
face-parsing.PyTorch模型:下载地址 下载并将其放在 ./parsing_model/checkpoint 中
预训练的两个模型:下载地址 百度网盘密码:jd2v
找到这个目录(我这里是C:\Users\Donald\anaconda3\envs\simswap_test\Lib\site-packages\insightface\model_zoo)下的model_zoo.py
找到get_model函数的onnxruntime.InferenceSession模块:
把None改成providers=[‘CUDAExecutionProvider’],原因是必须指定用什么来进行推断
如果不修改推断代码,会出现以下报错信息
运行程序这一步就比较简单了,我是直接在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