GPEN 与 Stable Diffusion 风格化修复能力深度对比
你有没有遇到过这样的问题:老照片模糊不清,想修复却总觉得'修完还是不像'?或者用 AI 修图后人脸变得太光滑、五官失真,失去了原本的个性特征?这背后其实涉及两种主流人像增强技术路线——专用模型 vs 通用生成模型。今天我们就来深入对比两个代表性方案:GPEN 和 Stable Diffusion(SD)在图像修复任务中的风格化表现差异。
GPEN 是专为人脸设计的超分辨率增强模型,强调真实感与结构一致性;而 Stable Diffusion 作为强大的文生图框架,也能通过 LoRA 微调实现人脸修复,但走的是'先破坏再重建'的生成路径。它们到底谁更适合做老照片修复?谁更能保留人物神韵?我们从原理、效果和适用场景三个维度展开实测分析。
1. 技术路线本质差异
1.1 GPEN:基于 GAN 先验的零空间学习
GPEN 全称是 GAN-Prior based Null-Space Learning,它的核心思想不是从头生成像素,而是利用预训练 GAN 的隐空间先验知识,在不改变原始身份特征的前提下进行细节增强。
它把图像分解为两个部分:
- 可恢复空间(Null Space):低频结构信息,如人脸轮廓、五官位置
- 不可恢复空间(Range Space):高频纹理细节,如皮肤质感、发丝、胡须等
修复过程就是在保持前者不变的基础上,用 GAN 生成器填充后者,从而实现'既清晰又像本人'的效果。
这种机制决定了 GPEN 的优势在于:
- 严格保留原始姿态、表情和身份特征
- 输出结果高度稳定,不会出现'换脸'现象
- 对低质量输入容忍度高,适合老旧模糊照片
1.2 Stable Diffusion:基于扩散模型的重建式修复
Stable Diffusion 的做法完全不同。它是先把图像加噪到完全随机状态,然后一步步去噪还原。在这个过程中,模型会根据文本提示或训练数据中的模式'脑补'缺失内容。
当用于人脸修复时,通常采用以下方式之一:
- 使用 ControlNet 控制姿态
- 微调 LoRA 适配特定人物特征
- 结合 CodeFormer 或 GFPGAN 作为后处理
但由于其本质是'重建',所以容易出现:
- 面部结构轻微偏移(比如眼睛变大、鼻子变挺)
- 发型、胡须等细节被理想化
- 多次推理结果不一致
换句话说,SD 更像是一个艺术家,追求美感;而 GPEN 更像一个修复师,追求真实。
2. 实际修复效果对比
为了直观展示两者的差异,我们选取了一张典型的低清黑白老照片作为测试样本(分辨率约 120×150),分别使用 GPEN 镜像和一套微调过的 Stable Diffusion 流程进行处理。
2.1 输入原图特点分析
这张照片存在典型的老片问题:
- 分辨率极低,面部缺乏有效像素
- 边缘模糊,五官边界不清
- 光照不均,一侧脸部阴影严重
- 黑白成像,无色彩信息
这类图像对任何修复模型都是挑战,尤其考验对人脸结构的理解能力和细节补全逻辑。
2.2 GPEN 修复结果解析
运行如下命令即可完成推理:
python inference_gpen.py --input ./old_photo.jpg
输出结果如下所示(节选关键区域):


