w 值工作原理:为什么小 w 更漂亮、大 w 更像本人
先回顾模型结构
CodeFormer 推理时的三条信息流:
低清人脸 → Encoder → 特征 → Transformer → 预测 Codebook token → Decoder → 输出
↓ ↑
│ │
└── 残差连接(权重 w) ────┘
- Transformer + Codebook token 路径:从 Codebook 里找最匹配的视觉原子组合,画出一张"最像真的人脸"
- 残差连接:把原图编码的特征也喂给解码器,让输出保留原图的形状、肤色、纹理
- w 值是残差连接的流量开关,控制两条路径的融合比例
w = 0:纯 Codebook 重建
python inference_codeformer.py -w 0 --input_path face.jpg
- 残差连接完全关闭(w=0 意味着这条路径对输出贡献为 0)
- 解码器只看 Codebook token 序列,不看原图编码的任何特征
- 输出 = Codebook 里最匹配原图 token 的"理想版人脸"
视觉特征
- 皮肤光滑细腻(Codebook 里都是高质量皮肤纹理)
- 眼睛对称、反光自然
- 可能改掉原图的独特特征:痣、小疤痕、不对称的眼型
- 看起来像"AI 修过"但很干净
什么时候用
- AI 生图后处理(本来就不是真人,不存在"改人"问题)
- 你觉得原图已经"不像本人"了(比如模糊到已经认不出,改一改反而更好看)
- 只想要一张好看的头像
w = 1:最大身份保真
python inference_codeformer.py -w 1 --input_path face.jpg
- 残差连接完全打开,解码器融合全部原图特征
- Codebook token 仍然参与,但原图特征的权重大大提升
- 输出 = 原图的高清版本 + Codebook 提供的细节补充
视觉特征
- 原图的一切细节都保留:痣、疤痕、毛孔、不对称
- 眼睛形状、脸型、肤色和原图高度一致
- 但原图的噪点、模糊、压缩伪影也会被一起保留(因为这些"特征"也走残差连接)
- 看起来像"高清放大了原图"
什么时候用
- 视频逐帧处理(保证同一人前后帧长相一致)
- 警方档案 / 身份识别(身份绝对优先)
- 你觉得 Codebook 重建"改了本人",想保住原图的独特特征
w = 0.5(默认)
两个路径等权融合。解码器一半看 Codebook,一半看原图。通常是"两边都过得去但两边都不极端"的结果。
0 到 1 的变化是线性的
w 是标量(不是函数),从 0 到 1 的变化是线性插值——中间值就是两条路径的加权平均。
这意味着:
- w=0.6 的输出 ≈ 60% w=1 的特征 + 40% w=0 的特征
- w=0.8 的输出 ≈ 80% w=1 的特征 + 20% w=0 的特征
所以调参是连续可调的,不是只有几个档位。
实际观察:w 值在不同部位的敏感程度
CodeFormer 把脸分成几个区域,不同区域对 w 值的敏感度不同:
| 区域 | w 敏感度 | w 小 | w 大 |
|---|---|---|---|
| 瞳孔 / 虹膜 | ⭐⭐⭐ 最敏感 | 颜色、反光点可能被改写 | 保住原图反光点 |
| 皮肤纹理 | ⭐⭐⭐ | 皮肤变成理想光滑纹理 | 保留毛孔、小痣 |
| 嘴唇 | ⭐⭐ | 唇色变鲜艳 | 保留原图偏色 |
| 脸型轮廓 | ⭐⭐ | 脸型可能微调(对称化) | 保持原图脸型 |
| 头发 | ⭐ | Codebook 对头发建模较弱,w 大时更接近原图 | 几乎一样 |
调 w 值的核心问题
"这张图里,'好看'和'像本人'哪个更重要?"
想清楚这个问题,选 w 值就有方向了。
- 家人长辈的老照片 → 像本人更重要 → w=0.6~0.8
- AI 生图崩坏 → 好看更重要 → w=0.2~0.4
- 自己的照片 → 看心情,今天想好看就 w 小一点
- 视频里的自己 → 视频场景"像本人"更重要 → w=1.0
注意:w 不是万能的
原图没信息,w 再大也没用
如果原图的眼睛区域完全糊了(像素块),w=1 只能保留"糊的像素块",它不会凭空变出眼球纹理。CodeFormer 的上限是"原图能看到什么就保真什么"——原图没的,Codebook 里也没有完美对应,就只能瞎编。
w 是整张脸的同一个值
你不能指定"眼睛区域用 w=0.8、皮肤区域用 w=0.3"。如果需要区域差异化处理,要么分区域分别修、要么用其他 mask 工具配合。
快速选择表
| 场景 | 推荐 w |
|---|---|
| 老照片(父母长辈) | 0.6 ~ 0.8 |
| 老照片(年代久远、褪色严重) | 0.5 ~ 0.6 |
| AI 生图后处理 | 0.2 ~ 0.4 |
| 人像美颜增强 | 0.3 ~ 0.5 |
| 警方档案 / 身份证 | 0.8 ~ 1.0 |
| 视频逐帧处理 | 1.0 |
| JPEG 重压缩 artifact | 0.5 ~ 0.7 |