本文介绍了一个换脸工具,DoFaker,该工具基于insightface实现了换脸,基于gradio使用,非常简单,鼠标点击即可换脸,本文介绍了该工具的使用方法。
github:https://github.com/justld/dofaker
先展示一下效果(川普打篮球):
原图如下(鸡哥打篮球):
川普:
换脸后的效果:
一、安装:
1、下载代码
bash
git clone https://github.com/justld/dofaker.git
2、安装
默认的安装方式是使用onnxruntime cpu推理,速度可能较慢,如果您有cuda环境,可以手动安装onnxruntime-gpu使用gpu进行推理加速。
如果使用conda安装,使用以下命令:
bash
cd dofaker
conda create -n dofaker python=3.8
conda activate dofaker
pip install -e .
如果不适用conda,直接使用以下命令:
bash
cd dofaker
pip install -e .
二、使用
dofaker提供了命令行和web使用方式,命令行的方式较为灵活,可以一次替换多个人脸,web ui的方式一次可以替换一个人脸,但是使用简单。
1、web ui
在命令行输入以下命令即可打开web服务,第一次启动会下载权重,可以根据日志提示自行将权重下载后放入对应位置。
bash
dofaker # 或者 python web_ui.py
首先下载一些文件之后,就打开了浏览器界面,上传对应的图片后,点击Swap按钮,即可替换人脸。
效果如下:
2、命令行
命令行的方式较为灵活,当一个图片包含多个人脸,而我们只想替换一个人脸时,使用命令行操作替换视频中的2个人脸的命令如下,如果dst_face_paths为空,默认替换所有人脸:
bash
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换脸工具,如果觉得好用,可以点歌star支持一下。