本文介绍了一个换脸工具,DoFaker,该工具基于insightface实现了换脸,基于gradio使用,非常简单,鼠标点击即可换脸,CPU和GPU都支持,windows和linux都支持,本文介绍了该工具的使用方法。
github:https://github.com/justld/dofaker
目前大部分的换脸工具使用都比较麻烦,dofaker仅依赖于onnxruntime,不依赖任何深度学习框架,是非常简单好用的工具。
效果1:
效果2:
一、安装:
1、下载代码
git clone https://github.com/justld/dofaker.git
2、安装
默认的安装方式是使用onnxruntime cpu推理,速度可能较慢,如果您有cuda环境,可以手动安装onnxruntime-gpu使用gpu进行推理加速。
如果使用conda安装,使用以下命令:
cd dofaker
conda create -n dofaker python=3.8
conda activate dofaker
pip install -e .
pip install onnxruntime-gpu # onnxruntime
如果不适用conda,直接使用以下命令:
cd dofaker
pip install -e .
二、使用
dofaker提供了命令行和web使用方式,命令行的方式较为灵活,可以一次替换多个人脸,web ui的方式一次可以替换一个人脸,但是使用简单。
1、web ui
在命令行输入以下命令即可打开web服务,第一次启动会下载权重,可以根据日志提示自行将权重下载后放入对应位置。
dofaker # 或者 python web_ui.py
首先下载一些文件之后,就打开了浏览器界面,上传对应的图片后,点击Swap按钮,即可替换人脸。
效果如下:
2、命令行
命令行的方式较为灵活,当一个图片包含多个人脸,而我们只想替换一个人脸时,使用命令行操作替换视频中的2个人脸的命令如下,如果dst_face_paths为空,默认替换所有人脸:
python run.py --source input_video.mp4(需要替换的图片或视频路径) --dst_face_paths dst_face1.jpg dst_face2.jpg(视频或图片中要替换的人脸图片路径) --src_face_paths src_face1.jpg src_face2.jpg(新的人脸图片路径)
三、总结
作者基于insightface开发了dofaker换脸工具,支持windows和linux,拜托了对深度学习框架的依赖,如果觉得好用,可以点个star支持一下。