Text to Image 文本生成图像定量评价指标分析笔记 Metric Value总结 IS、FID、R-prec等
目录
- 一、介绍
- 二、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 | √ | √ | √ | √ | √ | √ | √ | √ | √ |
下面将总结几种常用的定量指标,分析其原理、应用和在其上取得的分数排行榜。
二、inception score(IS)
2.1、原理
IS分数用到了KL散度和熵的数学知识,其主要原理在于计算p(y|x)和p(y)之间的散度:
IS=exp(ExKL(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))
- 不要被公式吓住,其实很简单,我们先从里面最核心的来看
- p(y∣x)p(y|x)p(y∣x):其中x表示一个生成的样本,y是预测的标签,简单来说:x 表示模型生成的图片,y 表示这个图片包含的主要物体,条件概率p(y∣x)p(y|x)p(y∣x)代表:给出一个图片,预测图片中包含的物体的概率,也就是有很高的把握对其进行正确分类,概率越大,越容易的知道其中包含什么物体。所以从一定程度上,p(y∣x)p(y|x)p(y∣x)代表了图片的质量,概率越高越好。
- p(y)p(y)p(y):y是预测的标签,p(y)表示边际分布,换句话说就是标签的分布情况,我们希望标签分布均匀,而不希望模型生成的都是某一类图片。这时候我们考虑的不是条件概率了,而是边缘概率p(y)。举个不恰当的例子来说,第一个模型生成出的图像的概率这样:p(喜鹊)=0.98,p(麻雀)=0.01,p(鸽子)=0.01,第二个模型生成图像的概率是p(喜鹊)=0.33,p(麻雀)=0.34,p(鸽子)=0.33。那么我们肯定认为第二个模型生成的多样性更好一点。 故p(y)p(y)p(y)可以代表模型生成的多样性,我们希望p(y)分布均匀,最好达到p(y1=p(y2)=…=1/n,
- 熵的概念:指信息熵,个人理解成混乱程度。当概率小的时候,则不确定性大,熵的值就会越大。我们希望p(y∣x)p(y|x)p(y∣x)概率越高越好,用熵来说,则其熵值越小越好,熵越小,不确定性越小,就能越好的对生成图像进行分类。我们希望各个p(y)p(y)p(y)概率越小越好,用熵来说,则其熵值越大越好,熵越大,不确定性越大(更加混乱),就能生成更多的类别。
- KL散度:通过3我们希望p(y|x)的熵越小越好,p(y)的熵越大越好,故此时引入KL散度,KL散度也叫相对熵,表示两者的离散状态,简单来说就是两个概率的信息熵的差值:p(y)p(y)p(y)的熵减去p(y∣x)p(y|x)p(y∣x)的熵。
综上所述,IS分数越大越好。越大表示散度越大,即两者熵的差值越大。
2.2、复现
IS分数通过使用预先训练好的Inception-v3网络,对生成的图像进行分类来计算。通常由大量样本(通常为30k或50k)的十次分割的平均值和方差(正态分布用)计算得出。
代码:https://github.com/hanzhanggit/StackGAN-inception-model
复现:IS指标复现 文本生成图像IS分数定量实验全流程
2.3、排行榜
在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 |
2.4、不足
IS分数不能检测过度拟合,也不能测量类内变化。因此,如果一个网络能够记住训练集,或者每次只生成一个完美的图像,那么它将获得非常高的成功率
此外,它没有使用真实世界样本的统计数据,并将其与合成样本的统计数据进行比较.而是使用在ImageNet数据集上预训练的分类器,该数据集主要包含以一个对象为中心的图像。因此,它可能不太适合更复杂的数据集。
三、FID(Fréchet Inception Distance )
3.1、原理
FID分数用于根据预训练网络提取的特征,测量真实图像分布和生成图像分布之间的距离。
FID=∥μr−μg∥22+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)
- 物理意义:真实图像在空间中是服从一个分布的(假设为正态分布),而GAN生成的特征也是一个分布,GAN做的事情就是不断训练使这两个分布尽可能的相同。FID就是计算这两个分布直接的距离,使用的距离算法叫做Frechet distance。(比较好的还有Wasserstein-2 distance)
- 假设你有基础的统计学知识,很简单就能明白两个正态分布只要均值和方差相同,则两个分布相同。而我们这里的图像是多维的分布,所以使用协方差矩阵衡量单个分布里两个维度之间的相关性,FID正是用均值和协方差矩阵来计算两个分布之间的距离。
- 上式由两个部分组成,r表示真实图像,g表示生成图像。第一部分中μ 表示分布的均值,第一部分为两个均值 μ 的差的平方。
- 第二部分中,Σ表示协方差,Tr表示迹(矩阵对角线上的元素和),第二部分为协方差矩阵的和减去根号下协方差矩阵的乘积的迹。
FID计算两个分布之间的距离,距离越小代表生成的分布越贴近于真实分布,故FID越小越好。
3.2、复现
与IS类似,计算FID中我们也同样使用inception network网络,由30k或50k的真实和生成的图像样本计算,使用预先训练的Inception-v3模型的最后一个池化层的激活来获得视觉特征。
代码:https://github.com/mseitzer/pytorch-fid
复现:FID指标复现踩坑避坑 文本生成图像FID定量实验全流程
3.3、排行榜
在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 |
3.4、不足
FID的评价指标有很高的偏差,需要相同数量的样本进行公平比较。且其基于特征提取,也就是依赖于某些特征的出现或者不出现,因此无法描述这些特征的空间关系。例如用GAN去生成人脸,如果嘴巴长在眼睛上面,FID可能也会认为它是一张较好地生成结果。
另外其面临着与IS相同的问题,因为它依赖于在ImageNet上预先训练的分类器。不适合在内部差异较大的数据集上使用,无法区分过拟合。
四、R-precision
4.1、原理
R-precision通过对提取的图像和文本特征之间的检索结果进行排序,来衡量文本描述和生成的图像之间的视觉语义相似性。除了生成图像的真实文本描述外,还从数据集中随机抽取其他文本。然后,计算图像特征和每个文本描述的text embedding之间的余弦相似性,并按相似性递减的顺序对文本描述进行排序。如果生成图像的真实文本描述排在前r个内,则相关。
简单举个例子:假设r为3,有一百个文本,其中包括一个真实对应的文本和99个随机取出来的文本,将他们转为text embedding,然后分别与生成的图像计算余弦相似度,然后排序,如果真实文本生成的embedding排在前3位,则认为该图像与文本有相关性。
R-precision表示的是排序后真实文本出现在前r个的概率,越大说明图像与真实文本描述越相关,R-precision越大越好。
4.2、复现
Github:https://github.com/maincarry/R-Precision
复现:R分数指标复现踩坑避坑 文本生成图像R_Precision定量实验全流程
4.3、排行榜
在CUB数据集上的R分数排行(部分)
排名 | 模型 | R-prec (↑) |
---|---|---|
1 | DMGAN | 76.58% |
2 | ControllGAN | 69.33% |
3 | AttnGAN | 67.82% |
4 | MirrorGAN | 57.67% |
R-precision的测量数据较少,有些数据还有争议,待各位补充。
4.4、不足
R-prec在COCO图像上通常会失败,因为在COCO图像中,可能会将高度相似性分配给提到全局背景色的错误标文本描述或出现在中间的对象。
五、VS相似度(Visual-Semantic Similarity)
5.1、原理
VS相似度通过一个经过训练的视觉语义嵌入模型计算图像和文本之间的距离来衡量合成图像和文本之间的对齐。具体来说,学习两个映射函数,分别将图像和文本映射到公共表示空间。然后通过下面的公式,比较其相似性:
VS=ft(t)⋅fx(x)∥ft(t)∥2⋅∥fx(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)
- ftf_tft表示的是文本编码器
- fxf_xfx表示的是图像编码器
- VS计算编码后的文本和图像的余弦值相似度,从而判断文本与图像是否相关。
VS相似度越高越好。VS相似度表示文本与图像的相似程度,越高表示越相似。
5.2、排行榜
在CUB数据集上的VS相似度排行(部分)
排名 | 模型 | VS相似度 (↑) |
---|---|---|
1 | SEGAN | 30.2 |
2 | PPAN | 29.8±14.6 |
3 | StackGAN | 22.8±16.2 |
4 | AttnGAN | 22.5 |
VS相似度的测量数据同样较少,且浮动较大。
5.3、不足
VS相似度最大的缺点就是即使对于真实图像,标准偏差也非常高。因此,它不能提供一种非常精确的评估模型性能的方法。其还没有被社区广泛采用,报告的结果也很少。
六、其他
其他定量指标还有:Captioning Metrics、Semantic Object Accuracy (SOA)、LPIPS等等
七、总结
很明显,t2i的评估仍然是一个非常困难的问题。要评价一个好的T2I模型,应该考虑其是否既能生成高质量的图像,又能生成与输入描述一致的图像。
在图像质量方面需要考虑图像:a)高图像保真度和多样性的模型,b)解纠缠表示,c)明确定义的界限,d)对小变换的不变性,e)与人类判断和排序高度一致,f)低样本和计算复杂度…等等
在图像文本对齐方面,由于许多不同的标题可以正确描述描绘复杂场景的图像,暂时没有很好的定量评价标准,很难定义图像与输入描述对齐的确切含义。一个良好的图像文本对齐评估应包括以下指标:a)所提到的物体是否被正确描绘和易于识别 ,b)生成的物体的数量和位置是否与文本相符,c)生成的图像是否能够被文本正确描述,d)是否对输入描述中的微小变化具有鲁棒性(比如更换颜色)…等等
觉得本文不错的话,还请点赞、评论、关注,这将给我带来很大的动力。
有其他疑问请在评论区留言,你提出的问题将对作者和其他人提供很大帮助。
Text to Image 文本生成图像定量评价指标分析笔记 Metric Value总结 IS、FID、R-prec等相关推荐
- Text to image论文精读PDF-GAN:文本生成图像新度量指标SSD Semantic Similarity Distance
SSD,全称为Semantic Similarity Distance,是一种基于CLIP的新度量方式,是西交利物浦大学学者提出的一种新的文本生成图像度量指标,受益于所提出的度量,作者进一步设计了并行 ...
- IS指标复现 文本生成图像IS分数定量实验全流程复现 Inception Score定量评价实验踩坑避坑流程
目录 一.IS分数简介 二.IS分数 CUB定量实验步骤 第一步:B_VALIDATION改为True 第二步:配置训练好的生成器 第三步:采样生成图像 第四步:下载IS代码并配置 第五步:下载预训练 ...
- 字节最新文本生成图像AI,训练集里居然没有一张带文字描述的图片?!
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 丰色 发自 凹非寺 量子位 | 公众号 QbitAI 一个文本-图像 ...
- 缩小规模,OpenAI文本生成图像新模型GLIDE用35亿参数媲美DALL-E
视学算法报道 编辑:陈萍.小舟 模型的参数规模并不需要那么大. 从年初 OpenAI 刷屏社区的 DALL-E 到英伟达生成逼真摄影的 GauGAN2,文本生成图像可谓是今年大火的一个研究方向.现在 ...
- 别说了,有画面了!Google文本生成图像取得新SOTA,CVPR2021已接收
来源:新智元 [导读]从图像到生成文本.从文本生成图像,多模态模型的探索一直未停止.最近Google又出从文本到图像的新模型,75%的人类都说超过了传统的SOTA模型,直呼脑子里有画面了! 文本到图像 ...
- 文本生成图像简述4——扩散模型、自回归模型、生成对抗网络的对比调研
基于近年来图像处理和语言理解方面的技术突破,融合图像和文本处理的多模态任务获得了广泛的关注并取得了显著成功. 文本生成图像(text-to-image)是图像和文本处理的多模态任务的一项子任务,其根据 ...
- 文本生成图像的新SOTA:Google的XMC-GAN
点击上方"机器学习与生成对抗网络",关注星标 获取有趣.好玩的前沿干货! 来源:新智元 [导读]从图像到生成文本.从文本生成图像,多模态模型的探索一直未停止.最近Google又出从 ...
- AI艺术的背后:详解文本生成图像模型【基于 Diffusion Model】
系列文章链接: AI艺术的背后:详解文本生成图像模型[基于 VQ-VAE] AI艺术的背后:详解文本生成图像模型[基于GAN] AI艺术的背后:详解文本生成图像模型[基于Diffusion Model ...
- Diffusion扩散模型学习2——Stable Diffusion结构解析-以文本生成图像(文生图,txt2img)为例
Diffusion扩散模型学习2--Stable Diffusion结构解析-以文本生成图像(文生图,txt2img)为例 学习前言 源码下载地址 网络构建 一.什么是Stable Diffusion ...
- 引燃AI社区,不用跨界也能从文本生成图像,OpenAI新模型打破自然语言与视觉次元壁...
视学算法报道 作者:魔王.杜伟.蛋酱 艺术创作的事,以后人类只要动手打几个字,其他的交给 AI 就行了. 自然语言与视觉的次元壁正在被打破.这不,OpenAI 最近连发大招,提出两个连接文本与图像的神 ...
最新文章
- Linux 运维工程师入门须掌握的 10 个技术点
- MySQL 数据库时区设置方法,“The server time zone value ‘�й���ʱ��‘ is unrecognized or represents ...” 问题解决
- Java 技术篇-IntelliJ IDEA修改类名后运行提示找不到或无法加载主类问题解决方法
- Spring4.X系列之Spring JDBC
- 基于 HTML5 网络拓扑图的快速开发之入门篇(二)
- 重磅发布|网易云信质量数据监控台对外开放
- 【字符串操作之】从原字符串中切出一段,返回一个新的字符串→→slice方法...
- 苹果新款iPad或将于下月在新总部发布
- .netcore 如何获取系统中所有session_ASP.NET Core微服务实战 一、二
- 百度APP月活跃用户达5.6亿,日登录用户占比超75%
- spring 容器技术入门
- 联机交易场景持续拓展,巨杉数据库中标吉林省农信
- svn一些基本操作含义
- Git小乌龟的安装及使用
- 使用stm32驱动RC522读取IC卡
- 【Python】base64解码报错 Incorrect padding
- ls只显示文件名/只显示文件夹名
- 笑话--老外与山东妞(爆笑)
- VM是什么,干什么的
- 39. 组合总和(Python)