IS(Inception Score)和FID(Frechet Inception Distance score)的定义,区别,联系:
IS(Inception Score)
定义: IS基于Google的预训练网络Inception Net-V3。Inception Net-V3是精心设计的卷积网络模型,输入为图片张量,输出为1000维向量。输出向量的每个维度的值对应图片属于某类的概率,因此整个向量可以看做一个概率分布。
也就是说 IS(Inception Score)的计算是利用的Inception Net-V3网络输出的logit经过solfmax之后的结果(logit 是指未经过 softmax 或 sigmoid 等激活函数变换前的原始输出),是个概率分布(也是后面的与FID的区别)。
公式如下:
IS(G) = Exp(D(KL(p(y|x) || p(y))))
其中,G表示生成模型,D表示Inception分类器,p(y|x)表示给定输入图像x生成的类别分布,p(y)是所有输入图像的平均类别分布,KL表示Kullback-Leibler 散度。
因此,IS结合了两个方面的评估:图像质量的期望值(Exp)和图像质量分布的分歧度(KL)。
IS越大越好。
具体公式推导参考链接:https://www.cnblogs.com/qizhou/p/13504586.html
FID(Frechet Inception Distance score)
定义:FID并不使用Inception Net-V3的原本输出作为依据,它删除模型原本的输出层,于是输出层变为Inception Net-V3的最后一个池化层。 这一层的输出是2048 维向量,因此,每个图像会被预测为2048个特征。
也就是说FID利用的是Inception Net-V3的输出的特征(与 IS(Inception Score)的不同之处正是在这里)。
**FID通过比较生成图像和真实图像在特征空间中的分布距离来衡量它们之间的差异。*具体而言,FID使用了真实图像和生成图像在Inception网络的中间层的特征向量上的统计特性。公式如下:
FID(G, R) = ||mu_G - mu_R||^2 + Tr(C_G + C_R - 2(C_G*C_R)^0.5)
其中,G表示生成模型,R表示真实图像的分布,mu和C分别是特征向量的均值和协方差矩阵。
较低的FID意味着生成分布与真实图片分布之间更接近,如果用于测试的真实图片清晰度高且种类多样,也就意味着生成图像的质量高、多样性好。
因此,FID越小越好。
具体公式推导参考链接:https://www.cnblogs.com/qizhou/p/13504586.html
参考博客:https://blog.51cto.com/u_15471597/4927876