比stable diffusion还好用?一键傻瓜式操作

Part1 Facefusion的简介

Facefusion是一款最新的开源AI视频/图片换脸项目。是原来ROOP的项目的延续。项目官方介绍只有一句话,下一代换脸器和增强器。采用了全新的界面设计,可以像Stable Diffuison一样,在网页打开操作页面,更加方便。麦克多娜Ai制作。

Part2 Facefusion的安装步骤

2.1依赖安装

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

2.2环境准备

这里主要是python环境,建议使用conda或者用venv。下面是venv,建议在使用facefusion的路径下创建venv环境python -m venv venv venv\Scripts\activate

2.3加速Acceleration

Facefusion默认是cpu模式,如果你有N系显卡,可以使用CUDA和tensorRT。在官网上没有太多解释。大家后面使用时会在UI上看到几个相关的选项。

需要大家在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

2.4 Facefusion安装

1.下载源码git clone https://github.com/facefusion/facefusion2.安装依赖这里就需要进入你的python环境了(参考2.2),相关的cuda,ffmpeg环境变量都是设置好的。官网推荐安装是通过。这里选择CUDApython install.py3.运行现在就安装完成,可以直接使用,开始运行。python run.py完整界面如下:

Part3 Facefusion的使用

这次的软件使用gradio构建了WebUI,界面上有很多选项。可以设置很多参数,比如:

  1. 设置人脸替换
  2. 设置人脸增强
  3. 设置画面增强
  4. 设置GPU和CPU
  5. 设置线程数量
  6. 设置缓存文件格式
  7. 设置缓存帧的质量
  8. 设置保持帧率不变
  9. 设置保持缓存文件
  10. 设置音频还原
  11. 设置视频编码和视频质量
  12. 设置参考人脸替换和全部替换
  13. 通过相似度选择人脸
  14. 通过方位选择人脸
  15. 通过年龄选择人脸
  16. 通过性别选择人脸
  17. 支持换脸和预览
  18. 支持图片和视频换脸。

核心操作其实非常简单,根据下图来就好了。

① 设置人脸(Source)只要点击这个框框就会跳出文件管理器,选择一张带清晰完整人脸图片就可以了。注意图片名字用英文和数字。② 设置目标(Target)方法同上,目标可以是图片,也可以是视频。③ 效果预览 (Preview)一定选中目标之后,软件里面就开始运行,运行之后会把合成预览显示在这个区域。换的是图片,其实预览区域就是换脸后的结果了。换的是视频的话,会截取某一帧作为预览效果。④ 开始换脸(Start)一切就绪之后,就可以点击按钮开始换了。⑤ 查看结果(OUTPUT)换脸成功之后,会把结果显示在这里。点击右上角的下载图标,就可以把结果保存下来了。上面就是核心步骤,整体来说已经非常简单了。下面说一下左侧的参数设置。

①处理器处理器,包含了换脸,人脸增强,帧增强。换脸是最基本的,肯定要勾选。人脸增强可选,不选会比较模糊,相似度高。勾选后会更清楚,相似度有所下降,消耗更多的硬件资源。帧增强这是新加入的一个增加方式,会对整个画面进行修复。这个看情况来,个人感觉如果同时启动人脸增强和帧增强,会有点假。②执行器执行器就是运行设备,可以选择Tensor,Cuda,cpu。启动之后默认只勾选了CPU,一般来说大家都是用显卡跑,只要勾选一下CUDA就可以了。③开关参数 开关参数,主要就是保持帧率,保留缓存数据,音轨。 保持帧率最好开启,否则可能会声音和画面不同步。 缓存数据不需要勾选。 音轨,不勾选,代表保留音轨。下面再说一下右下方的参数。

① 人脸识别方式选择这里主要是两种方式,一种是制定人脸,一种是全部替换。指定人脸,默认使用人脸相似度来指定。② 通过方向选择通过人脸在图片中的位置和大小选择要替换的人脸。③通过年龄选择通过不同年龄段来选择要选好的人脸。④通过性别选择通过性别来选择要替换的人脸。选择方式更多了,但是实测好像有点问题。所以主要还是用默认的方式。

Part4 成果展示

用过roop的对整个流程和大部分参数应该比较熟悉。该讲的也全部讲到了,大家可以自己下载软件去实践。facefusion虽然换脸效果不错,但是做商业应用还有些许不足,我也在研究几种算法的优劣,另外也研究在很多场景如何优化,自动化,可以实现低成本的商业应用。最后欢迎大家遇到问题留言,能够帮助到更多的人。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容