跳到主要内容

FaceFusion系列2: AI换脸使用说明

FaceFusion,全新一代AI换脸工具,无需安装,一键运行,可以完成去遮挡,高清化,卡通脸一键替换,并且Nvidia/AMD等显卡全平台支持。FaceFusion 新版新增了很多模型和高清算法,大大提高了图片和视频的换脸效果,同时还增加了三种遮罩功能,解决了脸部有污涤遮挡时融合效果差和跳闪的问题。本文将简要阐述如何使用Facefusion软件调整不同参数完成一键换脸,并附上最常用的换脸设置、遮罩功能的用法,以及替换高分辨率和卡通人脸的方法。

准备工作

本教程将指导你如何使用Facefusion来完成换脸参数设置

我们将使用以下开源代码库:

Facefusion AI换脸工具

Facefusion: Github地址 - Facefusion GitHub

FaceFusion,全新一代AI换脸工具,无需安装,一键运行,可以完成去遮挡,高清化,卡通脸一键替换,并且Nvidia/AMD等显卡全平台支持

安装教程

Facefusion的安装教程详情请查阅上一篇 教程,本文基于Gradio界面,将具体描述不同参数的使用

AI换脸教程

单张脸替换流程

介绍几个常用设置:

  • FaceSwap: 换脸模式,默认勾选,否则无法换脸。
  • FaceDebug: 开启遮罩时调试用的,正常换脸不需要勾选。
  • Face_enhancer: 脸部增强,比较常用,开启后可让换脸后的视频更清晰。可以使用默认的GFPGAN1.4
  • Frame_enhancer: 画质增强,非RTX4090显卡不建议勾选,会严重拖慢换脸速度。
  • Face Swapper Model: 换脸模型,默认的InSwapper_128几乎适用各种场景,效果很好。
  • Execution Provider: 换脸加速,AMD显卡和集成显卡选CPU,英伟达显卡选CUDA。
  • Execusion Thread Count: 最大线程数,有8G显存可以调高一点,否则默认。
  • Execusion Queue Count: 最大队列数,用脚本批量换脸时才设置,网页操作不用。
  • Output path: 临时图片路径,换脸过程中存放临时图片的位置,换完程序会自动清除。
  • Options - Skip-download: 跳过下载,所有模型已下载到本地,建议勾选。
  • Options - Keep-temp: 保存临时图片,勾选后临时图片会保存,很占硬盘空间,不建议勾选。
  • Options - Skip-audio: 输出视频不含音频,勾选后换脸视频没声音,不建议勾选。

选择一张清晰正面的人脸照片,再选择要替换的图片,右侧是预览区。

点击Start按钮替换,替换好后点击Download保存到电脑。

如果想要更清晰的效果,可以勾选脸部增强Face_enhancer,再替换一次。

facefusion-single-face-swap-guidance

视频换脸及相关参数设置

选择要替换的视频,点击识别出的人脸,预览区可看到效果。再加上脸部增强、换脸模型和脸部高清化,建议用默认组合InSwapper128+GFPGAN1.4

Execusion Thread Count线程数量可以看当前显存使用情况适当调大。底部把保持原视频帧率和跳过下载勾选上。人脸很清晰没有遮挡物的视频,右侧参数可以全部用默认值。如果生成速度较慢,可以将Execusion Thread Count调成12。

人脸选择模式默认从左向右检测人脸,并替换检测到的第一个。检测到的人脸会在右侧列出,点击对应人脸图标可以改变替换的人。选择many会替换所有检测到的人脸,选择one只替换检测到的第一张人脸。

REFERENCE FACE DISTANCE面部距离参数大部分情况下用默认值0.6即可。如果视频里有一些角度较大的低头侧脸镜头,检测出的人脸匹配度很低,可以把它调大,最大值1.5只要判断是人脸就会替换。

facefusion-video-face-swap-guidance

演示视频如下

遮罩功能的使用

对于脸部有物体遮挡的视频,需要选择恰当的遮罩模式,才能达到更好的面部融合效果。使用遮罩时建议开启FaceDebug调试模式,先查看设置效果。

默认的Box模式遮罩是一个绿色方框。对于化妆等脸部有遮挡的视频,要勾选第二种occlusion封闭遮罩模式。Face Mask Blur遮罩模糊默认是0.3,它调节遮挡物体的透明度,不透明物体可以调到0.5以上。移动预览进度条可以看到遮罩曲线能贴近并绕过脸部遮挡物。

调试好后执行替换前一定要先关闭FaceDebug,否则换完的视频上会有遮罩曲线。occlusion模式下Mask Blur值的设置可能需要多次尝试,对于透明物体如眼镜玻璃杯,调小这个值反而有更真实的融合效果。

另一个遮罩类型是region脸部区域模式。勾选后下面会出现眉毛、鼻子、眼睛、嘴巴等部位参数,默认全部勾选替换。如果不想替换某个部位如嘴巴,取消Mouth的勾选,预览里嘴巴区域就会标记出来不替换。这种模式对嘴部说话镜头较多的视频效果会更好一些。

当选中occlusionregion遮罩类型时,可以用FACE MASK PADDING TOPFACE MASK PADDING RIGHTFACE MASK PADDING BOTTOMFACE MASK PADDING LEFT这四个参数更灵活地控制脸部替换的区域,数值越大不替换的区域就越多,控制的起始位置分别是从脸的上下左右开始。如果只选Box模式,这四个值控制的就是方形遮罩。

对于换脸时有字幕被box遮罩覆盖变模糊的视频,可以调整FACE MASK PADDING BOTTOM消除。先勾选FaceDebug显示出Box遮罩,调整FACE MASK PADDING BOTTOM直到红框没有覆盖字幕为止,然后取消FaceDebug执行替换。

高清视频和卡通人脸的替换

对于高清视频特别是有脸部特写镜头的,Face Detector Size人脸分析分辨率这个设置很常用,最大可设置成1024分辨率。勾选脸部增强,有脸部特写时推荐用codeformer算法替代GFPGAN1.4,皮肤纹理会更真实一些。

替换卡通人脸时,模型要选择simswap_256替代InSwapper_128,再勾选face_enhancer脸部增强,替换的是眼睛、鼻子和嘴巴,其他部位不变。

总结

本教程为您详细介绍了如何使用 FaceFusion 的 AI 换脸功能,内容涵盖从安装开始到视频及高清内容处理的实用高级技巧。

本文更新于 2024年5月4日