画质与模型

GFPGAN 与 GPEN:换脸后该用哪种画质增强?

两者都是在换脸之后运行的人脸修复模型,而不是换脸模型本身。怎么选取决于脸在画面里有多大、素材劣化到什么程度,以及你是在导出文件还是在看实时预览。

  • 2026 年 7 月 25 日更新
  • 约 11 分钟

结论: 导出图片和视频时,GPEN-512 是合理的默认值。实时预览和性能一般的机器用轻量的 GPEN-256。GFPGAN 对严重劣化、低分辨率的人脸修复力最强,代价是更容易显得平滑、不自然。当脸在画面里很小、素材本身又干净时,关闭增强仍然是正确选择。

换脸和画质增强是两个模型在做两件不同的事,混淆这一点正是大多数失望的来源。

增强修不好的东西

增强是在换脸之后作用于人脸区域的。它修不好源脸被指派到错误的人、对齐偏移,或者逐帧跳变的跟踪。在不稳定的素材上,强增强往往让抖动明显,因为每一帧都被单独锐化。请先解决映射和对齐,见多人换脸指南

1. 增强模型在这里到底做了什么

Deep Face Cam 的换脸模型是 INSwapper 128,输出的是 128×128 像素的人脸,然后再变形贴回目标帧。在人脸占比很小的远景里,128 像素绰绰有余;在 1080p 或 4K 的特写里就不够了——换出来的脸正在被放大,表现为皮肤纹理丢失、发糊。

增强的职责是在这之后修复那块人脸区域:裁出并对齐人脸,跑一遍修复模型,再用羽化边缘把结果融合回画面,让接缝看不出来。GFPGAN 和 GPEN 就是用于这一步的两种不同修复模型。

2. 应用里的四个选项

Deep Face Cam 把增强做成 Advanced options 里的单选,而不是一堆可以叠加的开关。你只能选其中一个:

设置模型下载体积定位
Off最快。保留原始换脸结果,不做额外修复。
Fast repairGPEN-BFR-256约 76 MB轻量修复,适合实时预览或低配设备。
HD repairGPEN-BFR-512约 284 MB视频和图片的人脸细节更好,FPS 代价更大。
Strong repairGFPGAN(1024)约 366 MB对模糊或低分辨率人脸修复力最强,但可能更平滑、更不自然。

模型名里的数字是它的工作分辨率,也就是模型处理的对齐人脸裁片尺寸,这正是对比的核心。GPEN-256 修复 256 像素的脸;GPEN-512 的像素面积是它的四倍;这里搭载的 GFPGAN 模型面向 1024。工作分辨率越高,可恢复的细节越多,单张人脸的计算量也越大。

这些模型都不随源码仓库分发。它们在你确认后按需下载到用户模型目录,并在使用前对照公开的 SHA-256 校验值验证。如果打算离线工作,请先把要用的增强模型下载好。

模型体积、工作分辨率与磁盘占用

设置模型文件工作分辨率像素面积相对 GPEN-256下载体积
Off
Fast repairGPEN-BFR-256.onnx256 × 25665,536 px76 MB
HD repairGPEN-BFR-512.onnx512 × 512262,144 px284 MB
Strong repairgfpgan-1024.onnx1024 × 10241,048,576 px16×366 MB

作为参照:换脸模型输出的是 128 × 128 的人脸,也就是 16,384 像素。因此 HD repair 是在 16 倍像素面积上重建这张脸,Strong repair 则是 64 倍。这也正是增强对特写比对远景更重要的根本原因。

下载组合文件体积
运行必需inswapper_128.onnx + buffalo_l.zip843 MB
可选换脸变体inswapper_128_fp16.onnx278 MB
三个增强模型全部GPEN-256 + GPEN-512 + GFPGAN726 MB
全部文件6≈ 1.85 GB

体积取自模型清单中公布的数值;每个文件下载后都会校验和验证,并保存在用户模型目录中。在 Apple 芯片上还会额外生成 CoreML 缓存文件。

3. 按场景选择

有用的问题不是“哪个模型最好”,而是“脸占了多少像素、原始素材有多差”。这两个答案会替你把模型选出来。

场景先试原因
人像照片,脸占满画面HD repair(GPEN-512)工作分辨率足够处理大脸,又不像最强模型那样容易过度平滑。
1080p 口播视频HD repair(GPEN-512)细节与单帧开销之间最平衡。
远景,人脸很小关闭或 Fast repair换脸裁片尺寸已经接近屏幕上的人脸大小,增强主要只是增加耗时。
老素材、压缩严重或低分辨率Strong repair(GFPGAN)最激进的修复,正是严重劣化输入需要的。
实时摄像头预览Fast repair(GPEN-256,若可用)模型最小、延迟最低;注意下文的运行环境要求。
多人合影镜头先关闭,再逐级往上试增强按人脸执行,开销会随人数成倍增加。

4. 设置界面上没写的取舍

细节与本人特征。修复模型重建的是“看起来合理”的人脸细节。修复越强,模型对“脸应该长什么样”的先验影响就越大。对严重劣化的输入,这正是你要的;对本来还不错的脸,它会悄悄改变皮肤纹理和微表情——结果更干净,也更不像本人。Strong repair 在这一点上风险最高。

过度平滑。对激进修复最常见的抱怨是蜡像感:皮肤纹理消失、胡茬被抹平、皱纹被熨平。如果成片里的脸相对周围显得“太干净”,请降一档模型,而不是靠锐化去补救。

脸与背景不匹配。增强只作用于人脸区域。在低质量素材里,一张被强修复的脸放在噪点明显的画面中,即使单看脸不错,整体也会显得假。请以整帧为准,不要只看裁下来的脸。

时间一致性。视频里每一帧都是单独增强的。帧间的细小差异会表现为皮肤闪烁或人脸边缘抖动,而且最容易出现在本来就难处理的帧上:运动模糊、光线变化、侧脸。

开销按人脸算,不按帧算。增强对每一张检测到的脸各执行一次。一帧里四个人,就是四次换脸之外再加四次增强。这是多人渲染远比预期慢的最大原因。

5. 实时预览有一条硬性运行环境要求

这是最容易让人意外的实际细节。在 Deep Face Cam 中,实时人脸修复只有在运行环境使用 CUDADirectML 时才会启用。当应用运行在其他 execution provider 上时,实时链路只跑换脸,应用会在选项面板中说明这一点。

图片和视频生成不受影响——在这些运行环境下导出依然可以使用任意增强模型。被去掉增强环节的只是实时摄像头这条路径。如果实时画质是你的首要目标,这条要求应当直接影响你安装哪个版本。见本地实时换脸指南

后端的 provider 优先顺序是 CUDA、ROCm、CoreML、DirectML、CPU。在 Apple 芯片上应用使用 ONNX Runtime 的 CoreML provider,导出表现不错,但不满足上面的实时增强条件。

6. 十分钟自测方法

模型对比只有放在你自己的素材和硬件上才有意义。可复现的测试很短:

  • 各取一段特写、一段远景,以及一段画质明显较差的素材。
  • 在其他设置完全不变的前提下,每段导出四次:Off、Fast、HD、Strong。
  • 以 100% 比例对比整帧,而不是裁出来的人脸。
  • 记录每一次的实际渲染耗时,以及机器配置和 execution provider。
  • 实时场景请开启 Show FPS,记录增强开与关时的帧率。
  • 重点看:过度平滑、边缘闪烁、脸与背景的质感差异。

把这张表和项目笔记放在一起。它比任何通用跑分都有价值,因为增强开销取决于你的 provider、分辨率和画面里的人脸数量。

常见问题

GFPGAN 比 GPEN 更好吗?

没有绝对更好的一方。GFPGAN 修复力最强,适合严重劣化或低分辨率的人脸,但也最容易显得平滑。GPEN-512 是图片和视频的平衡默认值。GPEN-256 是速度优先时的轻量选择。

一定要开增强吗?

不一定。换脸输出的是 128 像素的人脸裁片,所以增强主要在人脸占画面较大或源素材较差时才明显有用。素材干净且人脸较小的情况下,关闭增强通常更自然,而且一定最快。

增强能修复失败的换脸吗?

不能。它修不了身份映射、对齐和不稳定的跟踪,还可能让抖动更明显。请先解决这些问题。

开了增强之后渲染为什么慢很多?

因为增强按检测到的每张脸执行,在每次换脸之上再加一整轮修复。多人素材下开销会成倍增加。

增强模型存放在哪里?

在用户模型目录中,经过明确确认后下载并做校验和验证。它们不随仓库分发,所以首次使用某个增强模型时需要联网。

按素材选增强,而不是按模型名字

在自己的素材上跑一遍 Off、Fast、HD、Strong,用整帧而不是裁切人脸做对比,并把渲染耗时记在结果旁边。

相关文章