目录
- 一、介绍
- 二、inception score(IS)
- 2.1、原理
- 2.2、复现
- 2.3、排行榜
- 2.4、不足
- 三、FID(Fréchet Inception Distance )
- 3.1、原理
- 3.2、复现
- 3.3、排行榜
- 3.4、不足
- 四、R-precision
- 4.1、原理
- 4.2、复现
- 4.3、排行榜
- 4.4、不足
- 五、VS相似度(Visual-Semantic Similarity)
- 5.1、原理
- 5.2、排行榜
- 5.3、不足
- 六、其他
- 七、总结
文本生成图像的评估也是一个很有挑战性的工作,一个良好的t2i模型评价指标不仅要评估生成的图像是否真实,而且要评估文本描述与生成图像之间的语义相关性。
度量指标目前常用的有8种,如下表,IS、FID、SceneFID是对图像质量的一个判断,R-prec、VS、SOA、Captioning是对图像和文本的相关性的一个判断:
度量指标 | 图像质量 | 图像多样性 | 图像保真性 | 文本相关性 | 对象符合性 | 数量对齐性 | 稳健性 | 可解释性 | 自动化 |
---|---|---|---|---|---|---|---|---|---|
IS | √ | √ | |||||||
FID | √ | √ | √ | ||||||
SceneFID | √ | √ | |||||||
R-prec | √ | √ | |||||||
VS | √ | √ | |||||||
SOA | √ | √ | √ | ||||||
Captioning | (√) | √ | |||||||
User Studies | √ | √ | √ | √ | √ | √ | √ | √ | √ |
下面将总结几种常用的定量指标,分析其原理、应用和在其上取得的分数排行榜。
IS分数用到了KL散度和熵的数学知识,其主要原理在于计算p(y|x)和p(y)之间的散度:
I S = exp ( E x K L ( p ( y ∣ x ) ∥ p ( y ) ) \mathrm{IS}=\exp \left(\mathbb{E}_{x} \mathrm{KL}(p(y \mid x) \| p(y))\right. IS=exp(ExKL(p(y∣x)∥p(y))
综上所述,IS分数越大越好。越大表示散度越大,即两者熵的差值越大。
IS分数通过使用预先训练好的Inception-v3网络,对生成的图像进行分类来计算。通常由大量样本(通常为30k或50k)的十次分割的平均值和方差(正态分布用)计算得出。
代码:https://github.com/hanzhanggit/StackGAN-inception-model
复现:正在进行中…
在CUB数据集上的IS分数排行(部分):
排名 | 模型 | IS分数(↑) |
---|---|---|
1 | ManiGAN | 8.47 |
2 | RiFeGAN | 5.23 |
3 | DF-GAN | 4.86 |
4 | DM-GAN | 4.75 |
5 | MirrorGAN | 4.56 |
6 | AttnGAN | 4.36 |
7 | StackGAN++ | 4.04 |
8 | StackGAN | 3.70 |
IS分数不能检测过度拟合,也不能测量类内变化。因此,如果一个网络能够记住训练集,或者每次只生成一个完美的图像,那么它将获得非常高的成功率
此外,它没有使用真实世界样本的统计数据,并将其与合成样本的统计数据进行比较.而是使用在ImageNet数据集上预训练的分类器,该数据集主要包含以一个对象为中心的图像。因此,它可能不太适合更复杂的数据集。
FID分数用于根据预训练网络提取的特征,测量真实图像分布和生成图像分布之间的距离。
F I D = ∥ μ r − μ g ∥ 2 2 + Tr ( Σ r + Σ g − 2 ( Σ r Σ g ) 1 / 2 ) \mathrm{FID}=\left\|\boldsymbol{\mu}_{r}-\boldsymbol{\mu}_{g}\right\|_{2}^{2}+\operatorname{Tr}\left(\boldsymbol{\Sigma}_{\boldsymbol{r}}+\boldsymbol{\Sigma}_{g}-2\left(\boldsymbol{\Sigma}_{\boldsymbol{r}} \boldsymbol{\Sigma}_{g}\right)^{1 / 2}\right) FID=∥∥μr−μg∥∥22+Tr(Σr+Σg−2(ΣrΣg)1/2)
FID计算两个分布之间的距离,距离越小代表生成的分布越贴近于真实分布,故FID越小越好。
与IS类似,计算FID中我们也同样使用inception network网络,由30k或50k的真实和生成的图像样本计算,使用预先训练的Inception-v3模型的最后一个池化层的激活来获得视觉特征。
代码:https://github.com/mseitzer/pytorch-fid
复现:正在进行中…
在COCO数据集上的FID分数排行(部分):
排名 | 模型 | FID分数(↓) |
---|---|---|
1 | Lafite | 8.12 |
2 | OFA | 10.5 |
3 | LightweightManiGAN | 12.39 |
4 | OP-GAN | 24.70 |
5 | ManiGAN | 25.08 |
6 | AttnGAN+VICTR | 29.26 |
7 | DMGAN+VICTR | 32.37 |
8 | StackGAN++ | 81.59 |
FID的评价指标有很高的偏差,需要相同数量的样本进行公平比较。且其基于特征提取,也就是依赖于某些特征的出现或者不出现,因此无法描述这些特征的空间关系。例如用GAN去生成人脸,如果嘴巴长在眼睛上面,FID可能也会认为它是一张较好地生成结果。
另外其面临着与IS相同的问题,因为它依赖于在ImageNet上预先训练的分类器。不适合在内部差异较大的数据集上使用,无法区分过拟合。
R-precision通过对提取的图像和文本特征之间的检索结果进行排序,来衡量文本描述和生成的图像之间的视觉语义相似性。除了生成图像的真实文本描述外,还从数据集中随机抽取其他文本。然后,计算图像特征和每个文本描述的text embedding之间的余弦相似性,并按相似性递减的顺序对文本描述进行排序。如果生成图像的真实文本描述排在前r个内,则相关。
简单举个例子:假设r为3,有一百个文本,其中包括一个真实对应的文本和99个随机取出来的文本,将他们转为text embedding,然后分别与生成的图像计算余弦相似度,然后排序,如果真实文本生成的embedding排在前3位,则认为该图像与文本有相关性。
R-precision表示的是排序后真实文本出现在前r个的概率,越大说明图像与真实文本描述越相关,R-precision越大越好。
复现:正在进行中
在CUB数据集上的R分数排行(部分)
排名 | 模型 | R-prec (↑) |
---|---|---|
1 | DMGAN | 76.58% |
2 | ControllGAN | 69.33% |
3 | AttnGAN | 67.82% |
4 | MirrorGAN | 57.67% |
R-precision的测量数据较少,有些数据还有争议,待各位补充。
R-prec在COCO图像上通常会失败,因为在COCO图像中,可能会将高度相似性分配给提到全局背景色的错误标文本描述或出现在中间的对象。
VS相似度通过一个经过训练的视觉语义嵌入模型计算图像和文本之间的距离来衡量合成图像和文本之间的对齐。具体来说,学习两个映射函数,分别将图像和文本映射到公共表示空间。然后通过下面的公式,比较其相似性:
V S = f t ( t ) ⋅ f x ( x ) ∥ f t ( t ) ∥ 2 ⋅ ∥ f x ( x ) ∥ 2 \mathrm{VS}=\frac{f_{t}(t) \cdot f_{x}(x)}{\left\|f_{t}(t)\right\|_{2} \cdot\left\|f_{x}(x)\right\|_{2}} VS=∥ft(t)∥2⋅∥fx(x)∥2ft(t)⋅fx(x)
VS相似度越高越好。VS相似度表示文本与图像的相似程度,越高表示越相似。
在CUB数据集上的VS相似度排行(部分)
排名 | 模型 | VS相似度 (↑) |
---|---|---|
1 | SEGAN | 30.2 |
2 | PPAN | 29.8±14.6 |
3 | StackGAN | 22.8±16.2 |
4 | AttnGAN | 22.5 |
VS相似度的测量数据同样较少,且浮动较大。
VS相似度最大的缺点就是即使对于真实图像,标准偏差也非常高。因此,它不能提供一种非常精确的评估模型性能的方法。其还没有被社区广泛采用,报告的结果也很少。
其他定量指标还有:Captioning Metrics、Semantic Object Accuracy (SOA)、LPIPS等等
很明显,t2i的评估仍然是一个非常困难的问题。要评价一个好的T2I模型,应该考虑其是否既能生成高质量的图像,又能生成与输入描述一致的图像。
在图像质量方面需要考虑图像:a)高图像保真度和多样性的模型,b)解纠缠表示,c)明确定义的界限,d)对小变换的不变性,e)与人类判断和排序高度一致,f)低样本和计算复杂度…等等
在图像文本对齐方面,由于许多不同的标题可以正确描述描绘复杂场景的图像,暂时没有很好的定量评价标准,很难定义图像与输入描述对齐的确切含义。一个良好的图像文本对齐评估应包括以下指标:a)所提到的物体是否被正确描绘和易于识别 ,b)生成的物体的数量和位置是否与文本相符,c)生成的图像是否能够被文本正确描述,d)是否对输入描述中的微小变化具有鲁棒性(比如更换颜色)…等等
觉得本文不错的话,还请点赞、评论、关注,这将给我带来很大的动力。
有其他疑问请在评论区留言,你提出的问题将对作者和其他人提供很大帮助。