AI换脸工具:facefusion使用心得
AI魔法学院
2024-03-27
分享海报

操作主界面一览图

facefusion采用和sd一样简单友好的webui界面,

  • 中间的是source原人脸可以导入需要替换的原人脸的图片。
  • 右上角是替换后的预览图(需要开启face_swapper帧处理器)

  • target目标图片/视频:是要插入的的目标图片/视频文件。
  • output输出:是替换后人脸后的产出图片/视频。

测试效果是这样的

評論提到前一個測試沒有明顯區別,現在筆者用自己臉部素材再做一次測試,前後對比一下哈.....

Frame Processors帧处理器

1.   face_swapper: 换脸模式,这是必选项。

2.   face_enhancer: 换脸时提升图像中人脸的质量和清晰度。通过一系列的图像处理技术,如锐化、去噪点、色彩校正等来改善脸部细节,使面部特征更加明显和吸引人。

3.   frame_enhancer: 提升整个帧的图像质量。我测试果在RTX3090显卡中开启这项,整个换脸过程并没有出现卡顿情况。

4.   face_debugger开启遮罩选项时需要勾选此项,从帧预览中根据目标图像(或视频)的换脸效果进行配置选项的调试。当调试完毕之后,正式换脸时需取消该选项。

face_enhancer人脸修复模型

FaceFusion 2.3.0中,启用face_enhancer选项后,可以选择特定的人脸修复模型来改善人像图像的质量。

下面是不同模型的用途说明(具体查阅了chatGPT4Gemini)

1.   codeformer: CodeFormer是一个专注于修复和解决人脸图像质量问题的模型,如模糊、噪点和压缩伪影。恢复丢失的面部特征。

2.   gfpgan_1.2, gfpgan_1.3, gfpgan_1.4: GFPGANGenerative Facial Prior-Generative Adversarial Network)的不同版本分别代表着算法的迭代和改进。GFPGAN在实际环境下提供适用的人脸修复功能,它通过预训练的GAN模型来修复老照片中的人脸或改进AI生成图像的面部。因此在facefusion多种换脸场合是一个标配的模型。

3.   gpen_bfr_256, gpen_bfr_512: GPENGenerative Perturbative Networks)是一种面部增强网络,它的不同版本支持不同的解析度,如256x256512x512像素。用于提高人脸的分辨率和图像清晰度。

4.   restoreformer_plus_plus: RestoreFormer是一个面部恢复模型,致力于使用深度学习和复原转换技术,修复并增强人像图像,尤其是在有损坏。

选择哪一种模型,可以开启face_debugger模式后,在预览中查看具体的场景的帧,来决定使用对应的人脸修复模型:

  • 如果需要大幅度提升模糊或受损图像的清晰度,可以使用 Codeformer 模型。
  • 如果需要恢复损坏或劣质面部图像,可以使用 gfpgan 系列模型。
  • 如果需要在有限分辨率下进行人脸修复,可以使用 gpen 系列模型。
  • 如果需要恢复因压缩而失真的人脸图像,可以使用 restoreformer_plus_plus 模型。

换脸模型

默认的inswapper_128几乎可以适用所有场合的图像和视频,保持默认即可。

执行换脸的设备

  • CPU选项:A卡和集成显卡的必选项。缺点换脸速度慢。
  • cudatensorrt选项:N卡的可选项。比常规CPU执行更快。
  • EXECUTION THREAD COUNT:设置换脸时的最大线程数,在显卡有8G以上显存可以适当调高该值,以加快换脸的运算速度。
  • EXECUTION QUEUE COUNT:用脚本批量换脸时才用,webui界面无需设置。

VIDEO MEMORY STRATEGY(显存占用策略)

  • Strict(严格): 在执行时会严格限制显存使用(默认选项),适用于显存资源较为有限的系统环境。
  • Moderate(适中): 在适中模式下,会更灵活地使用显存。
  • Tolerant(宽容): 宽容模式下,在处理大型或复杂任务时使用更多的显存,而不是在使用量上设定太多限制,适合显存资源充足的硬件设备。


SYSTEM MEMORY LIMIT
内存限制

该选项限定facefusion在系统内存中的最大占用量。允许用户根据自己的硬件配置设定一个内存使用上限,以避免超过计算机内存资源而导致系统不稳定或崩溃。

TEMP FRAME FORMAT

FaceFusion在换脸前需要将整个目标视频拆解成每一帧并临时存放到临时目录当中。这个过程中要单独处理每一帧的图片。TEMP FRAME FORMAT这个选项用来指定每帧的图片格式,不同的格式占用的硬盘空间大小和处理速度是不一样的。

  • JPG格式(默认选项)的图片通常文件小,保存快,但是图片的细节可能会有一点点损失;
  • PNG格式文件稍微大一点,处理可能慢一些,但保存的图片质量会更好一些。

所以具体还是看自身需求

  • 如果硬盘空间不是很大,或者你想要软件运行得更快,选择jpg比较适合。
  • 如果不太在意速度,而更在意视频质量,那么选择pngbmp格式更合适。

OUTPUT VIDEO ENCODER选项

这个选项指定在处理完面部融合任务后,软件如何保存最终视频的编码格式。

设置选项如下:

1.   libx264: 流行的H.264编码标准。在图像质量和文件大小之间平衡选项,是facefusion默认选项。

2.   libx265: 提供了H.264更高效的压缩,在保持同等视频质量的同时减少了文件大小。但编码过程是计算密集型的,因此facefusion需要更多的处理时间和算力。

3.   libvpx-vp9: 支持VP9编码格式与H.265类似,它提供了非常好的压缩比,非常适合Web视频流传输

4.   h264_nvenc: 使用NVIDIANVENC硬件编码支持来加速H.264视频编码,对CPU负荷较小,编码速度快,但可能不如纯软件编码器(如libx264)在相同比特率下的质量。

5.   hevc_nvenc: 同样使用NVIDIA硬件来进行HEVCH.265格式的编码。同h264_nvenc一样,它也提供快速编码,但是相对纯软件解决方案(如libx265)可能在文件大小和视频质量上有权衡。

硬件加速编码器(nvenc)在速度上具有优势,但它们可能在相同比特率下不提供和纯软件编码器同样的质量等级。在对于大多数实际的情况,nvenc编码的视频质量对于日常应用来说已经足够了,有N卡的情况下优选选择。

OUTPUT VIDEO PRESET

FaceFusion 2.3.0中的OUTPUT VIDEO PRESET选项是针对视频编码器的,这些设置影响编码过程中的速度和压缩效率,它们会影响最终视频的质量和文件大小。这些选项是:

具体选项如下:

1.   ultrafast: 这个预设是编码速度最快的,但通常会导致视频质量最差和文件大小最大。

2.   superfast: 类似于ultrafast,但略微提升了质量和文件压缩。

3.   veryfast: 在快速编码和视频质量之间提供了一个比上两者更好的平衡。

4.   faster: 这个选项比veryfast慢一点,但提供了更好的压缩效率。

5.   fast: 在编码速度和视频质量之间保持较好的平衡。

6.   medium: 这通常是默认的预设,它提供了编码速度和文件压缩的良好平衡。

7.   slow: 开始降低编码速度,但提供更好的压缩效率,通常意味着视频质量更好,文件大小较小。

8.   slower: 这个预设比slow更进一步减慢编码速度,进一步提升压缩效率。

9.   veryslow: 这个预设提供最佳的压缩,但以编码速度为代价,适合不急于快速完成编码且需要最佳视频质量和文件大小的场合。

简单来说,选项从ultrafastveryslow是一个从速度优先到质量优先的过渡性选项。越往后,编码时间越长,但文件压缩效果越好,理论上质量越高。需要注意的是,这里的质量指的是压缩质量,视频的视觉质量受到压缩比和编码分辨率等多个因素的影响。因此,选择哪个预设取决于对视频编码速度和文件压缩质量的具体要求。

  • 如果你需要快速编码(不再意图像质量),可以选择veryfastfaster(默认选项)
  • 如果对视频质量有较高要求且不介意较长的编码时间,可以选择slowslowerveryslow

OUTPUT VIDEO QUALITY

该选项用来调控输出视频文件的压缩质量。设置值范围通常是从80100,该数值越高,输出视频的质量就越好,但同时文件大小也会增加。

  • 默认值80: 默认设置下,视频在压缩时会有一定程度的质量损失,但生成的文件大小会较小,在视频图像质量和视频文件大小之间一个平衡选项,确保文件不会太大而影响存储或传输。
  • 最大值100: 尽可能减少压缩过程中的质量损失,输出与原始视频质量接近的结果。然而,这会导致输出文件的大小显著增加,因为文件的压缩程度很低。

OUTPUT VIDEO FPS

选项用来设置输出视频的帧率。决定了视频播放的流畅程度。默认值是30fps(每秒30帧),最大值可以设置到60fps(每秒60帧)。

  • 默认值30: 这是许多视频的标准帧率,它能提供足够流畅的观看体验,同时文件大小和处理要求相对适中。
  • 最大值60: 提供非常流畅的视频播放体验,如果被换脸的视频有大量动作快速的场景。60fps的视频看起来更加平滑,特别是在高动态或者需要快速追踪动作的内容上。不过,较高的帧率意味着视频文件会更大,同时处理和编码的资源需求也会更高。

© THE END

转载请联系本网站获得授权

投稿或版权问题请加微信:skillupvip