18. 图像生成质量怎么评测?FID、CLIP Score、IS 各衡量什么维度?
整理图像生成质量评测指标,以及 FID、CLIP Score、IS 的衡量维度。
简单回答
图像生成评测的难点在于"图片好不好"本身就是主观的,没有客观标准答案。主流的自动化评测指标各有侧重:IS(Inception Score)衡量生成图片的质量和多样性,但不对比真实数据分布;FID(Fréchet Inception Distance)衡量生成图片和真实图片的分布距离,是目前最通用的评测指标;CLIP Score 衡量文生图时生成图片和输入文本的语义对齐程度。三者结合才能全面评估生成模型的能力,任何单一指标都有明显局限。
详细解答
IS(Inception Score):质量与多样性的早期指标
IS 由 Salimans et al. 2016 提出,用一个预训练的 Inception v3 分类器来评估生成图片。
计算方式:对每张生成图片,用 Inception 分类器输出对 1000 个 ImageNet 类别的概率分布 。IS 由两个目标共同决定:
其中 是边缘分布。
直觉解读:
- 应该尖锐(低熵)——每张图片的类别预测要清晰,代表图片质量高(能被识别为某个清晰的类别)
- 应该平均(高熵)——所有生成图片的类别分布要均匀,代表多样性高(不全是一类)
IS 越高越好。
IS 的主要局限:
- 只用 ImageNet 类别评估,对于非 ImageNet 类别的图片(比如人脸、抽象艺术)评分失准
- 不对比真实数据,生成一堆清晰但偏离真实数据分布的图片,IS 也可能很高
- 对模式崩溃(Mode Collapse,生成图片多样性低)不够敏感
FID(Fréchet Inception Distance):分布距离的黄金标准
FID(Heusel et al. 2017)是目前最广泛使用的图像生成评测指标,衡量的是生成图片的分布和真实图片的分布之间的距离。
计算方式:
- 用 Inception v3 提取真实图片和生成图片各自的特征向量(取最后的 pool 层,2048 维)
- 分别对真实图片特征和生成图片特征,计算均值 和协方差矩阵
- 计算 Fréchet 距离(两个高斯分布之间的距离):
直觉解读:FID 越低越好——生成图片的特征分布越接近真实图片,FID 越低,说明生成质量越好。完美生成(生成图片和真实图片完全无法区分)时 FID = 0。
FID 的优势:
- 同时考虑了质量(均值项,生成图片的平均特征要和真实图片对齐)和多样性(协方差项,生成图片的特征分布要和真实图片一样广)
- 有参考真实数据,不会被"清晰但偏离真实"的图片骗到
- 已成为事实上的标准,便于不同模型横向比较
FID 的局限:
- 需要大量样本才稳定(通常需要 5 万到 5 万张生成图片),计算成本高
- 依赖 Inception v3 的特征提取,同样对非 ImageNet 域的图片有偏差
- FID 是总体分布距离,无法区分"大部分图片很好但少数很差"和"所有图片中等"
- 对感知质量的细微差别不够敏感(FID 接近的两个模型,人眼感知质量可能差别很大)
CLIP Score:文生图的语义对齐度
CLIP Score 专门用于评测文生图模型,衡量生成图片和输入文本 prompt 的语义一致性。
计算方式:用 CLIP 模型分别计算文本的 text embedding 和生成图片的 image embedding ,CLIP Score 就是它们的余弦相似度:
直觉解读:CLIP Score 越高,说明生成的图片越忠实于输入的文本描述,语义对齐越好。
CLIP Score 的优势:无需参考真实图片;直接衡量文生图最核心的能力——按文字生成对应图片;跨模态评测,是 FID 无法替代的维度。
CLIP Score 的局限:CLIP 的语义理解是粗粒度的(整体语义匹配),对细节对齐("左边"、"三个"、"戴眼镜")的判断不准确;高 CLIP Score 不代表好的视觉质量(一张模糊但语义对的图片 CLIP Score 也可能很高);受 CLIP 训练数据偏差影响。
其他重要指标
LPIPS(Learned Perceptual Image Patch Similarity):衡量感知相似性,用深度网络特征衡量两张图片在人眼感知上的差异,比像素级 MSE 更符合人类直觉。常用于图像编辑和图像重建任务。
SSIM(Structural Similarity Index):基于亮度、对比度、结构三个维度衡量图像相似性,有数学解析公式,速度快,常用于图像压缩和重建评测,但和人眼感知相关性有限。
User Study(人工评测):终极评测方式,让人类评判者对生成图片进行评分(质量、忠实度、美感),是所有自动化指标的最终校准基准。成本高但最可信。
精度指标(T2I-CompBench、DrawBench):专门构建的文本-图像理解测试集,用来精确测试模型的细粒度文本理解(颜色、数量、空间关系、属性绑定),弥补 CLIP Score 不够细粒度的不足。
实际评测体系设计
实际系统中,单一指标都不够可靠,通常的做法是:
FID(低)+ CLIP Score(高)覆盖了"质量真实"和"文本对齐"两个核心维度;加入 T2I-CompBench 或 DrawBench 测细粒度文本理解;定期做人工评测(A/B 测试),校准自动化指标的可靠性;对于特定应用(人脸生成、场景生成),加入针对性的专项指标(FaceNet 人脸质量评分、场景识别准确率等)。
面试时可以这样答
图像生成评测没有简单的对错,三个常用指标各测不同的东西。IS 最老,用 Inception 分类器评判质量和多样性,但不对比真实数据,可以被"清晰但假"的图片骗到,现在用得越来越少。
FID 是最主流的指标,用 Inception 特征比较生成图片和真实图片的分布距离,FID 越低越好,同时考虑了质量和多样性,有真实数据作为参照。局限是计算要大量样本,而且依赖 Inception 特征,非 ImageNet 域的图片评测有偏。
CLIP Score 是文生图专属的,衡量生成图片和输入文本的语义对齐程度,FID 测不了这个维度。缺点是对"左边放三个戴眼镜的猫"这类细粒度描述,CLIP 的粒度不够细。
实际评测一般是 FID + CLIP Score 作为基础,加 T2I-CompBench 测细粒度文本理解,再配合周期性的人工 A/B Test 作为校准。任何一个自动化指标单独用都不可靠。
常见追问
- FID 的计算需要多少张图片才能得到稳定的估计?采样数量不足会怎样?
- 有没有不依赖 Inception v3 的 FID 替代方案?为什么 CLIP-FID 或 DINO-FID 被提出?
- 视频生成的质量评测和图像生成有什么区别?FVD 是什么?