Text to image论文精读 TISE (Text-to-Image Synthesis Evaluation):用于文本到图像合成的评估度量工具包

TISE (Text-to-Image Synthesis Evaluation)是一款用于评估文本生成图像的Python评估工具箱。文章由Tan M. Dinh, Rang Nguyen, and Binh-Son Hua等人发表。

其以统一的方式促进、倡导公平的评估度量,并为未来的文本到图像综合研究提供可重复的结果。

文章链接:https://arxiv.org/abs/2112.01398
项目链接:https://github.com/VinAIResearch/tise-toolbox

一、原文摘要

在本文中,我们对最先进的文本到图像合成方法进行了研究,并提出了评估这些方法的框架。我们考虑图像包含单个或多个对象的合成。我们的研究概述了当前评估过程中的几个问题:

  • (i)对于图像质量评估,一个常用的指标,例如启始得分(IS),在单对象情况下经常被错误校准,或者在多对象情况下被误用;
  • (ii)对于文本相关性和对象准确性评估,在现有的R-精度(RP)和语义对象准确性(SOA)度量中分别存在过拟合现象;
  • (iii)对于多目标情况,许多重要的评估因素,如目标保真度、位置对准、计数对准,在很大程度上被忽略;
  • (iv)基于当前度量的方法的排名与真实图像高度不一致。为了克服这些问题,我们提出了一组现有的和新的指标来系统地

二、为什么提出TISE?

尽管目前文本生成图像在特定的数据集上取得了优异的结果但目前的评估方法并非理想。

对于单对象情况,图像质量和文本图像对齐是典型评估过程中考虑的主要因素。一些常用的评估指标是图像保真度的起始得分(IS)和Fr´echet起始距离(FID)以及文本图像对齐的R精度(R-precision),在大多数单对象情况下都很有效。

然而,在具有多个对象的复杂场景中,这些度量指标并不完全有效,会导致一些不一致性问题。如下图所示,基于当前度量的GAN模型的排名与其生成的图像质量并不强相关。有些看起来不真实的图片,量化结果甚至高于真实照片的结果。
在这里插入图片描述
在这个问题的基础上,作者开发了一种系统的方法来评估文本到图像的合成方法,主要贡献如下:

  1. 创建了IS*(IS度量的改进版本),它缓解了由于用于IS的预训练分类器中的错误校准而导致的低置信度现象。另外还开发了文本相关性和对象准确性评估(RP和SOA)的稳健版本,以缓解多对象情况下的过拟合问题
  2. 作者开发了用于对象保真度的O-IS和O-FID,用于位置对齐的PA和用于计数对齐的CA,以评估多对象文本到图像合成中缺乏的方面。
  3. 提出了AttnGAN+。

三、什么是TISE?

3.1、现有常用的指标

1️⃣、Inception Score(IS)
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(yx)p(y))

其中:

  1. p ( y ∣ x ) p(y|x) p(yx):其中x表示一个生成的样本,y是预测的标签,简单来说:x 表示模型生成的图片,y 表示这个图片包含的主要物体,条件概率 p ( y ∣ x ) p(y|x) p(yx)代表:给出一个图片,预测图片中包含的物体的概率,也就是有很高的把握对其进行正确分类,概率越大,越容易的知道其中包含什么物体。所以从一定程度上, p ( y ∣ x ) p(y|x) p(yx)代表了图片的质量,概率越高越好。
  2. 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,
  3. 熵的概念:指信息熵,个人理解成混乱程度。当概率小的时候,则不确定性大,熵的值就会越大。我们希望 p ( y ∣ x ) p(y|x) p(yx)概率越高越好,用熵来说,则其熵值越小越好,熵越小,不确定性越小,就能越好的对生成图像进行分类。我们希望各个 p ( y ) p(y) p(y)概率越小越好,用熵来说,则其熵值越大越好,熵越大,不确定性越大(更加混乱),就能生成更多的类别。
  4. KL散度:通过3我们希望p(y|x)的熵越小越好,p(y)的熵越大越好,故此时引入KL散度,KL散度也叫相对熵,表示两者的离散状态,简单来说就是两个概率的信息熵的差值: p ( y ) p(y) p(y)的熵减去 p ( y ∣ x ) p(y|x) p(yx)的熵

综上所述,IS分数越大越好。越大表示散度越大,即两者熵的差值越大。

2️⃣ 、Fr´echet Inception Distance (FID)
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+Σg2(ΣrΣg)1/2)

其中:

  1. 物理意义:真实图像在空间中是服从一个分布的(假设为正态分布),而GAN生成的特征也是一个分布,GAN做的事情就是不断训练使这两个分布尽可能的相同。FID就是计算这两个分布直接的距离,使用的距离算法叫做Frechet distance。(比较好的还有Wasserstein-2 distance)
  2. 假设你有基础的统计学知识,很简单就能明白两个正态分布只要均值和方差相同,则两个分布相同。而我们这里的图像是多维的分布,所以使用协方差矩阵衡量单个分布里两个维度之间的相关性,FID正是用均值和协方差矩阵来计算两个分布之间的距离
  3. 上式由两个部分组成,r表示真实图像,g表示生成图像。第一部分中μ 表示分布的均值,第一部分为两个均值 μ 的差的平方。
  4. 第二部分中,Σ表示协方差,Tr表示迹(矩阵对角线上的元素和),第二部分为协方差矩阵的和减去根号下协方差矩阵的乘积的迹。

FID计算两个分布之间的距离,距离越小代表生成的分布越贴近于真实分布,故FID越小越好。

3️⃣、R-precision

R-precision通过对提取的图像和文本特征之间的检索结果进行排序,来衡量文本描述和生成的图像之间的视觉语义相似性。除了生成图像的真实文本描述外,还从数据集中随机抽取其他文本。然后,计算图像特征和每个文本描述的text embedding之间的余弦相似性,并按相似性递减的顺序对文本描述进行排序。如果生成图像的真实文本描述排在前r个内,则相关。

R-precision表示的是排序后真实文本出现在前r个的概率,越大说明图像与真实文本描述越相关,R-precision越大越好

3.2、 Improved Inception score (IS*): 校准图像分类器

用于计算IS的Inception网络的预训练分类器是未校准或错误校准的。因此,分类器往往过拟合或者欠拟合。

而IS是否校准可以通过使用预期校准误差(ECE)和可靠性图进行验证。ECE是用于评估校准的常用指标,而可靠性图是可视化校准质量的工具。如果分类器具有较小的ECE值,并且可靠性图接近同一性,则分类器被很好地校准。

在这里插入图片描述
为此,作者提出Improved Inception Score (IS*) ,这是一种改进的Inception分数,用于评估生成图像的质量。它通过校准分类器的置信度来解决这些问题。具体来说,作者使用了期望校准误差(ECE)和可靠性图来验证分类器的校准质量。如果一个分类器的ECE值较小并且可靠性图接近单位矩阵,那么这个分类器就是良好校准的。

通过这种方式,IS*不仅考虑了图像质量和文本-图像对齐度(这是传统Inception分数所考虑的),还考虑了分类器的信心水平,从而提供了更准确和全面的评估。

3.3、Object-centric IS (O-IS)、 Object-centric FID (O-FID) :以对象为中心的IS分数和FID分数

Object-centric IS (O-IS) 是一种评估生成图像中对象保真度的指标,它是Inception Score (IS) 的扩展。在文档中,作者提到现有的一些评估方法无法直接应用于文本到图像的任务,因为它们需要使用真实图像的对象边界框来提取对象,而这在文本到图像任务中是不存在的。为了解决这个问题,O-IS 利用了一个预先训练好的对象检测模型来预测生成图像中所有对象的边界框,然后对每个区域分别进行IS评分。这样,即使没有真实的对象边界框,也能够评估生成图像中的对象保真度。

与Object-centric IS (O-IS)类似,SceneFID 需要从布局中提取目标对象的边界框,因此,O-FID 使用预先训练好的目标检测模型来预测生成图像集中所有图像中的对象边界框,然后对每个区域分别进行 IS* 评分和 FID 评分,以此来评估对象保真度。

后面作者还提出了用于位置对齐的PA和用于计数对齐的CA,以评估多对象文本到图像合成中缺乏的方面。

3.4、AttnGAN++

作者创建了一个名为AttnGAN++的简单但强大的基线模型,主要通过以下两个方面来提升原始的AttnGAN模型:

  1. 添加谱归一化层到判别器(discriminator)中。谱归一化是一种用于稳定神经网络训练的技术,可以抑制梯度爆炸问题,提高模型训练的稳定性和收敛速度。通过在判别器的多层神经网络中添加谱归一化层,作者显著改善了AttnGAN的训练稳定性。
  2. 手动调整网络超参数。除了引入谱归一化,作者还对AttnGAN的网络结构进行了细致的调整和优化。这些修改后的超参数使得AttnGAN++在CUB数据集上取得了比原始AttnGAN更好的性能。

通过这两个方面的改进,AttnGAN++在多个评估指标上都显著超越了原始的AttnGAN模型以及现有的一些最先进的方法。
在这里插入图片描述
另外文章还有很多其他内容,这里不再赘述。

五、总结

本研究探讨了文本到图像合成(T2I)的评估问题,特别关注多对象场景。作者指出当前评估流程存在几个问题,如单对象情况下Inception Score(IS)的误用、多对象情况下R-precision(RP)和Semantic Object Accuracy(SOA)的过拟合现象,以及忽略的关键评估因素如对象保真度、位置对齐和计数对齐等。

而为解决这些问题,作者提出了一个综合的现有和新指标集来系统地评估这些方法。对于现有指标,作者改进了IS并提出了解决RP和SOA过拟合问题的方法。对于新指标,作者开发了用于评估多对象情况的Object-centric IS (O-IS) 和 Object-centric FID (O-FID) 。实验证明,使用这个指标集进行基准测试可以得到与人类评估高度一致的模型排名。此外,作者还创建了一个名为AttnGAN++的基线模型,并通过谱归一化稳定了AttnGAN的训练。最后,作者发布了名为TISE的工具箱,用于倡导公平和一致的文本到图像模型评估。文章比较长,一共有34页,阅读起来比较难,但是值得一提的是实验比较丰富,附录部分值得一看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/272329.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

医院手术麻醉系统源码,基于PHP、 js 、mysql、laravel、vue2技术开发,实现患者数据的自动采集和医疗文书自动生成

手麻系统作为医院信息化系统的一环,由监护设备数据采集系统和麻醉信息管理系统两个子部分组成。手麻信息系统覆盖了患者术前、术中、术后的手术过程,可以实现麻醉信息的电子化和手术麻醉全过程动态跟踪。 以服务围术期临床业务工作的开展为核心&#xf…

Android Studio问题解决:java.lang.NoSuchMethodException

文章目录 一、遇到问题二、分析与思考三、解决问题 一、遇到问题 java.lang.NoSuchMethodException: com.zkteco.android.biometric.b.a.ajni方法调用不到 二、分析与思考 新建了一个最简单的demo发现问题依旧 三、解决问题 通过交叉对比,最后发现是minifyEnable…

数据结构思维导图

数据结构思维导图,目前先写这些,后续有更新会继续。 1 数据结构思维导图

redis 从0到1完整学习 (七):ZipList 数据结构

文章目录 1. 引言2. redis 源码下载3. zipList 数据结构3.1 整体3.2 entry 数据结构分析3.3 连锁更新 4. 参考 1. 引言 前情提要: 《redis 从0到1完整学习 (一):安装&初识 redis》 《redis 从0到1完整学习 (二&am…

让马达转动起来(motor)

代码: #include "reg51.h"sbit P2_0 P2^0; sbit P2_7 P2^7;void main(){while(1){P2_0 1;P2_7 0;} } 仿真: 介绍: 当2.0和2.7端口均为低电平或高电平时,马达保持不转动; 当2.0和2.7端口分别为高电平和…

数据库开发之内连接和外连接的详细解析

1.2 内连接 内连接查询:查询两表或多表中交集部分数据。 内连接从语法上可以分为: 隐式内连接 显式内连接 隐式内连接语法: select 字段列表 from 表1 , 表2 where 条件 ... ; 显式内连接语法: select 字段列表 …

ElasticSearch之RestClient笔记

1. ElasticSearch 1.1 倒排索引 1.2 ElasticSearch和Mysql对比 1.3 RestClient操作 导入依赖 <dependency><groupId>org.elasticsearch.client</groupId><artifactId>elasticsearch-rest-high-level-client</artifactId><version>7.15.…

带大家做一个,易上手的家常辣椒炒香肠

搞两根香肠 我这里选择的哈尔滨红肠 切成片 打开下图这么大块姜 三瓣蒜 姜蒜切小片 三分之一个大葱 切段 一个螺丝椒 螺丝椒切片 起锅烧油 下葱姜蒜翻炒 翻炒一会儿 然后下入螺丝椒 翻炒出辣椒的辣味后 倒入一勺生抽调味 翻炒均匀后下入香肠 翻炒个几分钟 就可以放入…

Github项目推荐:快写鸭

项目地址 GitHub - oncework/kuaixieya: 「快写鸭」是一款专为开发者开发的一站式写作、管理、发布的更简单且下载即用的效率工具&#xff0c;去除繁琐配置但又极具丰富且自定义性质等功能。 项目简介 这是一个多平台的内容分发工具。可以用来加快博文的多平台发布。 项目截…

jar 运行清单文件MANIFEST.MF生成定义Main-Class Premain-Class IDEA maven-assembly-plugin

可运行jar文件中的启动清单文件 META-INF/MANIFEST.MF 内容自定义生成 清单文件中的 Main-Class: Premain-Class: Can-Retransform-Classes: 在maven-assembly-plugin插件中的生成配置如下, 注意命名 <archive> <manifest> <mainClass>c…

记一次接口交互is开头的属性序列化后“is”丢失问题

问题背景&#xff1a; 今天在做项目联调时调用别人的第三方接口时&#xff0c;发现字段传递不对导致参数传递异常的问题&#xff0c;当时还很奇怪&#xff0c;明白传好着呢&#xff0c;怎么就好端端的出现字段不对的情况呢&#xff1f; 查看发现该字段为boolean类型的isIsRef…

龙蜥开源操作系统能解决CentOS 停服造成的空缺吗?

龙蜥开源操作系统能解决CentOS 停服造成的空缺吗&#xff1f; 本文图片来源于龙蜥&#xff0c;仅做介绍时引用用途&#xff0c;版权归属龙蜥和相关设计人员。 一、《国产服务器操作系统发展报告&#xff08;2023&#xff09;》称操作系统已步入 2.0 时代&#xff0c;服务器操作…

【C语言刷题每日一题】一维数组的交换

目录 问题描述 思路分析 代码实现 结果测试 问题描述 将两个整型一维数组的元素进行交换 如果两个数组长度相同就全部交换&#xff1b; 如果两个数组长度不同&#xff0c;则交换长度相同部分的元素 思路分析 为了代码的复用&#xff0c;这里通过函数来实现&#xff0c;…

【QML-对话框】

QML编程指南 VX&#xff1a;hao541022348 弹出类DialogDrawerFileDialog文件对话框 &#x1f3b3;FontDialog字体对话框 &#x1f6b4;ColorDialog 颜色对话框 &#x1f3ca;MessageDialog 消息提示框 &#x1f429; 弹出类 Dialog 对话框是一种弹出式对话框&#xff0c;主要…

4.13 构建onnx结构模型-Conv

前言 构建onnx方式通常有两种&#xff1a; 1、通过代码转换成onnx结构&#xff0c;比如pytorch —> onnx 2、通过onnx 自定义结点&#xff0c;图&#xff0c;生成onnx结构 本文主要是简单学习和使用两种不同onnx结构&#xff0c; 下面以 Conv 结点进行分析 方式 方法一…

蓝桥杯的学习规划

c语言基础&#xff1a; Python语言基础 学习路径&#xff1a;画框的要着重学习

补题与总结:leetcode第 377 场周赛

文章目录 写在最前面的复盘2977. 转换字符串的最小成本 II&#xff08;Flody 爆搜优化->dp&#xff09; 写在最前面的复盘 感谢leetcode&#xff0c;丰富了我为数不多的卡常经验 2是简单思维题&#xff0c;但卡常 4是爆搜优化&#xff0c;也卡常&#xff0c;补题时给卡麻了…

腾讯NCNN环境部署及pt到ncnn模型转换推理

该内容还未完整&#xff0c;笔记内容&#xff0c;后期补充。 一、模型转换 yolov5s v6.2训练的pt模型&#xff0c;直接导tourchscript&#xff0c;然后时候ncnn里面的pnnx工具直接转换为ncnn 二、部署环境 1.安装vunlkan 1.2.198.1版本&#xff0c;记得配置环境变量 2.安装…

SSH远程登陆服务器

截取自文章&#xff1a;SSH简介及两种远程登录的方法_ssh -CSDN博客 SSH的安装 SSH分为客户端 openssh-client 和服务器 openssh-server&#xff0c;可以利用以下命令确认电脑上是否安装了客户端和服务器。 dpkg -l | grep ssh 如果只是想远程登陆别的机器只需要安装客户端&…

【Web API系列】使用getDisplayMedia来实现录屏功能

文章目录 前言一、认识getD该处使用的url网络请求的数据。二、使用步骤1.使用方法一实现录屏2.使用方法二实现录屏3. 运行效果 延伸 前言 Web API经过长期的发展&#xff0c;尤其是最近&#xff0c;发展相当迅猛&#xff0c;现在已经支持很多功能了&#xff0c;一些原生就支持…