Python建议是3.10版本以后。winget install -e --id Python.Python.3.10可以使用其他方式安装,Facefusion推荐的安装方式比较简单,大家可以去官网下载。PIPpython -m ensurepip安装各种依赖包的必备
GITwinget install -e --id Git.Git下载代码文件的工具。
FFmpegwinget install -e --id Gyan.FFmpeg网址下载→选择平台→将bin目录下的文件解压至C盘根目录
Toolset
需要安装微软的开发编译工具包,Microsoft Visual C++ 2015 Redistributablewinget install -e --id Microsoft.VCRedist.2015+.x64
这里主要是python环境,建议使用conda或者用venv。下面是venv,建议在使用facefusion的路径下创建venv环境python -m venv venvvenv\Scripts\activate
需要大家在nvidia官网下载,CUDA和cuDNN,已经下载的小伙伴需要记得相关环境变量在你使用的环境里面。CUDA下载网址:https://developer.nvidia.com/cuda-11-8-0-download-archivecuDNN下载网址:https://developer.nvidia.com/rdp/cudnn-archiveTensorRT(可选安装)下载网址:https://developer.nvidia.com/tensorrt
这次的软件使用gradio构建了WebUI,界面上有很多选项。可以设置很多参数,比如:
① 设置人脸(Source)只要点击这个框框就会跳出文件管理器,选择一张带清晰完整人脸图片就可以了。注意图片名字用英文和数字。② 设置目标(Target)方法同上,目标可以是图片,也可以是视频。③ 效果预览 (Preview)一定选中目标之后,软件里面就开始运行,运行之后会把合成预览显示在这个区域。换的是图片,其实预览区域就是换脸后的结果了。换的是视频的话,会截取某一帧作为预览效果。④ 开始换脸(Start)一切就绪之后,就可以点击按钮开始换了。⑤ 查看结果(OUTPUT)换脸成功之后,会把结果显示在这里。点击右上角的下载图标,就可以把结果保存下来了。上面就是核心步骤,整体来说已经非常简单了。下面说一下左侧的参数设置。①处理器处理器,包含了换脸,人脸增强,帧增强。换脸是最基本的,肯定要勾选。人脸增强可选,不选会比较模糊,相似度高。勾选后会更清楚,相似度有所下降,消耗更多的硬件资源。帧增强这是新加入的一个增加方式,会对整个画面进行修复。这个看情况来,个人感觉如果同时启动人脸增强和帧增强,会有点假。②执行器执行器就是运行设备,可以选择Tensor,Cuda,cpu。启动之后默认只勾选了CPU,一般来说大家都是用显卡跑,只要勾选一下CUDA就可以了。③开关参数开关参数,主要就是保持帧率,保留缓存数据,音轨。保持帧率最好开启,否则可能会声音和画面不同步。缓存数据不需要勾选。音轨,不勾选,代表保留音轨。下面再说一下右下方的参数。① 人脸识别方式选择这里主要是两种方式,一种是制定人脸,一种是全部替换。指定人脸,默认使用人脸相似度来指定。② 通过方向选择通过人脸在图片中的位置和大小选择要替换的人脸。③通过年龄选择通过不同年龄段来选择要选好的人脸。④通过性别选择通过性别来选择要替换的人脸。选择方式更多了,但是实测好像有点问题。所以主要还是用默认的方式。
用过roop的对整个流程和大部分参数应该比较熟悉。该讲的也全部讲到了,大家可以自己下载软件去实践。facefusion虽然换脸效果不错,但是做商业应用还有些许不足,我也在研究几种算法的优劣,另外也研究在很多场景如何优化,自动化,可以实现低成本的商业应用。最后欢迎大家遇到问题留言,能够帮助到更多的人。