原理概述:
FID 的核心思想是通过比较真实图像和生成图像在 Inception 模型特征空间中的分布差异,来评估生成模型的性能。它假设从真实数据和生成数据中提取的特征都近似服从高斯分布。
具体步骤:
-
特征提取:使用预训练的 Inception 模型分别对真实图像和生成图像进行处理,得到各自的特征向量。
-
计算均值和协方差:
- 对于真实图像的特征向量集合,计算其均值向量 μ r e a l \mu_{real} μreal 和协方差矩阵 Σ r e a l \Sigma_{real} Σreal 。
- 对于生成图像的特征向量集合,计算其均值向量 μ g e n \mu_{gen} μgen 和协方差矩阵 Σ g e n \Sigma_{gen} Σgen 。
-
计算 Fréchet 距离:
FID 定义为两个多元高斯分布(分别由真实图像特征和生成图像特征的均值和协方差描述)之间的 Fréchet 距离。其计算公式为:
其中:
- μ 1 \mu_1 μ1 和 μ 2 \mu_2 μ2 分别是两个分布的均值向量。
- Σ 1 \Sigma_1 Σ1 和 Σ 2 \Sigma_2 Σ2 分别是两个分布的协方差矩阵。
- ∣ ∣ ⋅ ∣ ∣ ||\cdot|| ∣∣⋅∣∣ 表示欧几里得范数。
- T r Tr Tr 表示矩阵的迹。
- Σ 1 1 / 2 \Sigma_1^{1/2} Σ11/2 表示 Σ 1 \Sigma_1 Σ1 的平方根矩阵。
原理解释:
- ∣ ∣ μ 1 − μ 2 ∣ ∣ 2 ||\mu_1 - \mu_2||^2 ∣∣μ1−μ2∣∣2 这一项衡量了两个分布均值之间的差异,反映了生成图像和真实图像在特征空间中的中心位置的偏离程度。
- T r ( Σ 1 + Σ 2 − 2 ( Σ 1 1 / 2 Σ 2 Σ 1 1 / 2 ) 1 / 2 ) Tr(\Sigma_1 + \Sigma_2 - 2(\Sigma_1^{1/2}\Sigma_2\Sigma_1^{1/2})^{1/2}) Tr(Σ1+Σ2−2(Σ11/2Σ2Σ11/2)1/2) 这一项则考虑了两个分布的协方差结构差异,反映了生成图像和真实图像在特征空间中的散布和相关性的不同。
综上所述,FID 综合考虑了均值和协方差的差异,从而给出一个数值来量化生成图像的特征分布与真实图像的特征分布的相似度。较小的 FID 值表示生成图像的特征分布更接近真实图像,意味着生成模型的性能更好。