扩散模型如何评估图像质量和文本一致性?
简化版
扩散模型没有一个指标能同时代表清晰度、真实性、多样性和文本遵循。FID/KID 比较生成集与真实集的特征分布,CLIPScore 衡量图文语义相似,人类评测则判断审美、构图和细节错误。
评测应使用固定 Prompt、种子、分辨率和采样预算,既看总体均值,也看文字、人手、多对象、长尾文化等失败切片。线上还要加入延迟、成本、安全拦截率和用户行为,避免为了离线分数牺牲真实体验。
正确做法是建立“指标组合 + 失败切片 + 人类评测”,而不是寻找一个万能分数。
详细版
FID 在特征空间用高斯近似两组分布:
FID = ||μ_r - μ_g||²
+ Tr(Σ_r + Σ_g - 2(Σ_r Σ_g)^(1/2))
分数越低通常表示生成分布更接近真实分布,但它对特征提取器、样本数、图片预处理和参考集非常敏感,也不能判断单张图是否符合 Prompt。
| 指标 | 主要衡量 | 优点 | 主要局限 |
|---|---|---|---|
| FID | 生成与真实特征分布距离 | 经典、可比较 | 小样本偏差,忽略文本条件 |
| KID | 特征分布 MMD | 有无偏估计形式 | 方差较大,仍依赖特征空间 |
| CLIPScore | 图文嵌入相似度 | 自动评估语义对齐 | 对计数、空间关系不敏感 |
| Precision/Recall | 保真度与覆盖度 | 区分质量和多样性 | 邻域定义影响结果 |
| 人类偏好 | 综合主观体验 | 能看到复杂伪影 | 成本高,标注偏差大 |
例如比较两个模型时,应对同一批 1000 个 Prompt 使用配对种子,再做盲评。若 A 的胜率为 53%,还要给出置信区间;差异可能只是抽样波动,而不是稳定提升。
完整版教学
1. 先拆分“质量”的不同含义
生成图像的质量至少包含:单图真实感、图文一致性、多样性、结构正确性、审美偏好和安全合规。它们可能互相冲突。
例如模型通过复制训练样本获得很高真实感,却缺少多样性并存在隐私风险;或 CLIPScore 很高,但图像过饱和、手指错误。
2. FID 在比较什么
FID 用 Inception 网络提取真实图与生成图特征,对两组特征分别拟合高斯,再计算均值和协方差差异。它是集合级指标,不能为单张图提供可靠分数。
若真实集是人脸摄影,生成集却包含插画,FID 会惩罚域差异,即使 Prompt 本来要求插画。参考集必须与评测目标一致。
3. FID 为什么对实验设置敏感
样本数量少时,估计协方差偏差大;Resize 算法、颜色范围和 JPEG 解码也会改变特征。比较结果必须固定实现和样本数。
模型 A:50,000 张,官方 FID 实现
模型 B:5,000 张,另一 Resize 库
这两个分数不能直接公平比较。最好在同一评测代码中重新生成并计算。
4. KID 与 FID 的区别
KID 在特征空间计算多项式核的最大均值差异,可用子集估计并报告均值与标准差。其估计可做到无偏,对较小样本集更友好。
但 KID 方差可能较大,同样依赖 Inception 特征是否适合目标域。医学影像、动漫或图标场景可能需要更匹配的特征模型。
5. CLIPScore 如何衡量文本一致性
CLIPScore 通常计算归一化文本向量和图像向量的余弦相似度:
score = max(0, 100 × cosine(e_image, e_text))
具体缩放因实现而异。CLIP 擅长粗粒度语义,但可能分不清“猫在桌子上”和“桌子在猫上”,也难准确计数五个对象。
自动语义指标继承了特征模型的训练偏差。用 CLIP 评测按 CLIP 优化的模型,尤其要警惕指标投机。
6. Precision 与 Recall 如何区分两种失败
生成 Precision 表示样本是否靠近真实流形,偏向保真度;Recall 表示生成分布覆盖多少真实模式,偏向多样性。
| 模型表现 | Precision | Recall | 解释 |
|---|---|---|---|
| 清晰但模式单一 | 高 | 低 | 可能模式坍缩 |
| 多样但伪影多 | 低 | 高 | 覆盖广但质量差 |
| 清晰且覆盖广 | 高 | 高 | 理想状态 |
只优化 FID 可能看不出是哪一侧改善,因此拆开报告更有诊断价值。
7. 组合与关系能力要用专门题集
图文一致不能只测单对象名词。题集应覆盖属性绑定、数量、左右/上下关系、否定、文字渲染和多主体互动。
可借助对象检测、OCR、VQA 模型自动评分,但需抽样人审校准。若评测模型本身识别失败,不应把错误全部归因于生成模型。
8. 人类评测怎样减少偏差
使用盲测、随机左右顺序和配对样本,让标注者比较同一 Prompt 下的两个结果。评分维度应拆开:Prompt 遵循、视觉质量、结构错误和总体偏好。
每对样本可由 3 名标注者判断,并报告一致率。若偏好胜率 p=0.55、样本 1000 对,可用 Bootstrap 计算置信区间,而不是只报 55%。
9. 评测集如何避免污染和挑样本
Prompt 应来自真实业务分布,同时保留困难与安全切片。公开 Benchmark 可能进入训练集,需准备私有保留集和定期更新的线上失败集。
所有模型使用相同 Prompt、种子数量、分辨率、步数或等价计算预算。禁止人工只挑各模型最好图,否则比较的是策展能力。
10. 质量与效率如何联合报告
生成系统必须考虑每张图的延迟、NFE、峰值显存和成本。质量提高 1%,若推理时间从 2 秒变 20 秒,可能不适合交互产品。
可以绘制 Pareto 前沿:横轴 P95 延迟或成本,纵轴人类偏好/综合质量,只比较在某一维不能同时被其他方案支配的配置。
11. 线上指标补充什么
用户下载率、重试率、编辑后采用率和投诉率能反映真实价值,但会受 UI、用户群和推荐策略影响,不能替代随机 A/B。
线上监控还应包含安全拦截、超时、空白图和重复图率。指标变化必须按模型版本、Prompt 类型和地区切片,防止总体均值掩盖局部退化。
12. 常见误区与追问
- 误区:FID 低就说明每张图都更好。 FID 是集合分布指标,不评估单图或文本条件。
- 误区:CLIPScore 高代表空间关系正确。 CLIP 对计数、否定和关系可能不敏感。
- 误区:自动指标可以完全替代人评。 审美、手部伪影和复杂语义仍需人工判断。
- 误区:不同论文报告的 FID 可以直接排序。 数据、样本数和预处理不同会破坏可比性。
- 误区:总体均值提升就没有回归。 长尾文化、肤色、文字和多对象切片可能恶化。
- 追问:小样本更适合什么? 可报告 KID 的多子集均值与方差,并配合 Bootstrap 人评。
- 追问:怎么判断提升是否显著? 使用配对设计、置信区间和预先定义的最小实际效应。
13. 加强记忆
- FID/KID 看分布,CLIPScore 看图文语义。
- Precision 看保真,Recall 看覆盖。
- 关系、计数、文字要用专门切片。
- 人评要盲测、配对、随机顺序并报告置信区间。
- 最终看质量—延迟—成本—安全的联合前沿。