文本-图像生成(Text-to-Image Generation)的评价指标介绍——CLIPScore、TISE

news2024/11/14 20:49:26

目录

  • CLIPScore: A Reference-free Evaluation Metric for Image Captioning
    • 背景
    • 公式
    • 总结
  • TISE: Bag of Metrics for Text-to-Image Synthesis Evaluation
    • 背景
    • 文本-图像生成基本评价指标
      • 图像质量和多样性
      • 图像和文本相关性
    • 创新点1:IS*
    • 创新点2:多目标文本-图像生成指标
      • 预训练模型的更换
      • 新的衡量指标 O-IS和O-FID
      • PA(Positional Alignment)
      • CA(Counting Alignment)
      • RS (ranking score)

CLIPScore: A Reference-free Evaluation Metric for Image Captioning

论文标题:CLIPScore: A Reference-free Evaluation Metric for Image Captioning
这一篇是针对Image Caption领域的评价指标,但是有些基于条件的Diffusion模型也使用了这个评价指标来衡量文本和生成图像的匹配程度。

背景

本文提出的CLIPScore(下文简称CLIPS)是不需要推理的评估指标,之前常见的基于推理模型的评价指标有 CIDEr 和 SPICE等(还有一些自检索的方式),类似FID和IS利用到训练好的inceptionv3网络计算图像分布之间相似性的得分。
代码链接:clipscore

简单的原理图
CLIP-Score

公式

对于CLIP-S,作者建议使用“A Photo Depicts”作为prompt会提高效果。
CLIP-S
其中,c和v是CLIP编码器对Caption和图像处理输出的embedding,w作者设置为2.5。这个公式不需要额外的模型推理运算,运算速度很快,作者称在消费级GPU上,1分钟可以处理4k张图像-文本对。
CLIP-S也可以包含参考文本进行评估。使用调和平均数(harmonic mean)计算结果:
调和平均数
最终公式如下:
公式
其中,R是图像对应的参考文本描述。

总结

作者建议对图像描述进行评估,一般需要一个图像感知的指标(如CLIP-S)和一个针对参考文本的指标(如SPICE)。本文的实验设置值得学习,作者通过一系列对比和巧妙设计的相关性实验,得到了CLIP-S与人类对图像描述的评估具有较高相似性的结论。

TISE: Bag of Metrics for Text-to-Image Synthesis Evaluation

背景

论文标题:TISE: Bag of Metrics for Text-to-Image Synthesis Evaluation,TISE指的是Text-to-Image Synthesis Evaluation。
这一篇针对IS指标进行了改进,在原先的IS上加入了可调节因子以适应不同数据集;同时引入O-IS和O-FID来保证目标的真实性,PA来评估位置事实,CA来评估计数事实;最后,作者使用新的指标对现有的SOTA方法进行了评估,并提出了AttrGAN++,特别是对多目标场景有更好的效果。
代码链接:TISE
这篇开头讲了好多GAN进行t2i任务的方法,让我又重新回顾了一遍-_-||

文本-图像生成基本评价指标

图像质量和多样性

首先上一个IS的计算公式,计算的是KL散度:
IS
计算类的边缘分布p(y)和生成图像的类条件分布p(y|x)之间的KL散度。经过作者验证发现,IS的分数是不一致的,一些生成的不切实际的图像却依然有较高的得分。
然后是FID,计算的是Frechet distance:
FID
其中,Trace表示矩阵的迹。

图像和文本相关性

R-precision (RP)可以是图像和100条候选描述(只有一条正确)中判断正确的占比,也可以是图像和文本经过Encoder进行cos计算得到的相似度。

创新点1:IS*

作者表示IS中预训练好的inceptionv3网络存在校准错误的问题,由于计算条件分布和边缘分布的距离不一致,给出的置信度可能过高或者过低。所以需要进行校准。
作者对分类器的置信度分数进行校准。很简单,就是在神经网络处理输出的逻辑向量进入softmax归一化层获得概率值前,对类概率进行放缩,公式如下:
IS*
其中T 的值是通过最大化用于训练分类器的验证集上的负对数似然损失来获得的。作者在CUB上校准得到的T=0.598。校准之后,原先置信度过低的情况有所缓解,甚至一些生成的不真实的图像在IS上得分很高,在IS*上表现正常。
Calibration

创新点2:多目标文本-图像生成指标

table
这个表格很好反映了文本到图像生成所需要的一些评价措施,除了目前常用的图像真实性评价指标之外,也有RP和SOA用来评价文本相关性和目标正确性。

预训练模型的更换

**RP(R-precision)**是通过对提取的图像和文本特征之间的检索结果进行排序,来衡量文本描述和生成的图像之间的视觉语义相似性的指标。除了生成图像的真实文本描述外,还从数据集中随机抽取其他文本。然后,计算图像特征和每个文本描述的text embedding之间的余弦相似性,并按相似性递减的顺序对文本描述进行排序。如果生成图像的真实文本描述排在前r个内,则相关。
在AttrGAN中,使用的DAMSM文本和图像编码器对多目标存在过拟合问题,作者这里将其替换为CLIP的多模态编码器。具体效果见下表,可以看到真实图像的基于CLIP的RP值最高,符合实际,其他模型也不存在过拟合问题。
RP对比
**SOA(Semantic Object Accuracy)**来衡量生成图像是否具有文本中的对象。有提出了两个子度量,包括 SOA-I(图像之间的平均召回率)和 SOA-C(类之间的平均召回率),公式为
SOA
但是预训练好的YOLOv3在CPGAN上存在过拟合问题(即不真实的生成图像存在较高的SOA值,甚至高于真实图像),作者使用MaskRCNN来计算SOA值。

新的衡量指标 O-IS和O-FID

O-IS和O-FID是以对象为中心的IS和FID,旨在确保目标的保真度。

PA(Positional Alignment)

PA(Positional Alignment)是位置对齐相关的指标,作者定义了位置字表——{above, right, far, outside, between, below, on top of, bottom, left, inside, in front of, behind, on, near, under },构建<生成图像,匹配的描述,相反的描述>三元组,对每一个三元组,图像和真实的描述匹配分数高,那么就是匹配成功,公式如下:
PA
其中,N_w是带有位置单词w的句子描述数,k_w是成功的cases。基于CLIP进行计算。

CA(Counting Alignment)

CA(Counting Alignment)是计数相关的指标,在coco数据集上是{a, one, two, three, four},公式如下:
CA
cij 和 ˆcij 是物体类别的真实的和预测的计数,N_ic 是图像 i 中可计数对象的数量,D是测试集样本数。

RS (ranking score)

来一个总结,计算所有评价指标的平均作为一个基本衡量metric:
RS
#(metric) ∈ {1…N } 表示特定指标的排名。
一些baseline在MScoco数据集上的结果如下表:
result
result2

比较让人意外的是cvpr2022的DF-GAN并没有占到多少便宜,DALLE-mini使用VAGAN效果也并没有很好。待我试试。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GIS基础测量、地形分析、位置分析、空间分析功能介绍与实操应用

通知 入门级、进阶级一、二、三期、高阶级一期已完成&#xff0c;大家可进入公众号“图新地球”查看底部菜单&#xff1a;2022教程&#xff0c;获得软件直播课程的相关资料&#xff0c;包括直播讲解、直播PPT、直播的示例数据。 另外&#xff0c;本周周三12月7日将举行进阶级…

2020全栈学习Demo大合集 AllDemo-996station GitHub鉴赏官

推荐理由&#xff1a; 2020全栈学习Demo大合集 包含最新 hooks TS 等 还有umidva,数据可视化等实战项目 (持续更新中) 全栈学习 Demo 大合集 说明: 本项目包含常用的技术点和技术栈,时间为 2020 年度最新的技术栈,大范围的包含(Vue,Vuex,SSR,vue 源码解析,vue 实战,vue 单元测…

使用php解压缩ZipArchive类实现后台管理升级的解决方案

项目说明 开发php项目管理系统&#xff0c;由于是新项目且已经部署在生产环境&#xff0c;导致需要根据实际使用情况&#xff0c;进行及时的功能升级或bug修复。 每次升级&#xff0c;进行程序打包&#xff0c;然后通过FTP上传覆盖&#xff1b;后期因服务器转为内网&#xff…

自然语言处理基本概念 natural_language_processing-996station GitHub鉴赏官

推荐理由&#xff1a;自然语言处理基本概念 自然语言处理技术 第1章 语言模型 第2章 隐马尔可夫模型 第3章 最大熵模型 第4章 条件随机场模型 适用人群&#xff1a;自然语言 推荐指数&#xff1a;3 项目名称&#xff1a;natural_language_processing 自然语言处理基本概念 …

二叉树的遍历

二叉树的遍历 文章目录二叉树的遍历•二叉树的遍历定义• 二叉树的三种遍历方式先序遍历的递归算法中序和后序遍历的递归算法二叉树遍历的相关问题♥问题1解题模型▪算法构思:▪代码实现:♥问题2解题模型构建思路:代码如下:♥问题3算法构思:代码构建:♥问题4算法思路:解题模型:…

mysql读写分离

MySQL读写分离 原理 读写分离基本的原理是让主数据库处理事务性增、改、删操作&#xff08;INSERT、UPDATE、DELETE&#xff09;&#xff0c;而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。 读写分离就是只在主服务器上写&…

自学前端到什么程度,可以去找工作呢?

前言 可以看看现在市面上关于前端工程师职业招聘的相关要求&#xff0c;从以下两个的招聘可以看出&#xff0c;无论是普通的前端构造工程师还是高级前端开发工程师&#xff0c;对于h5、css3、es6以及相关框架如vue、react等都需要有深入的认知并能熟练运用 基于上面的相关要求…

刷爆力扣之第三大的数

刷爆力扣之第三大的数 HELLO&#xff0c;各位看官大大好&#xff0c;我是阿呆 &#x1f648;&#x1f648;&#x1f648; 今天阿呆继续记录下力扣刷题过程&#xff0c;收录在专栏算法中 &#x1f61c;&#x1f61c;&#x1f61c; 该专栏按照不同类别标签进行刷题&#xff0c;每…

(四)Spring Security Oauth2.0 源码分析--客户端端鉴权(token校验)

一 引言 在上篇文章我们分析了token的获取过程,那么拿到token后,将token放在请求头中进行资源的访问,客户端是如如何对token进行解析的呢,本文带你走进token校验的源码解析,基本流程如下所示 客户端向资源服务器发起请求时,在请求头Authorization携带申请的token请求被Filte…

网络编程——BIO与NIO介绍与底层原理

BIO BIO(Blocking IO) 又称同步阻塞IO&#xff0c;一个客户端由一个线程来进行处理 当客户端建立连接后&#xff0c;服务端会开辟线程用来与客户端进行连接。以下两种情况会造成IO阻塞&#xff1a; 服务端会一直阻塞&#xff0c;直到和客户端进行连接客户端也会一直阻塞&…

CPP 核心编程9-STL

STL初识 2.1 STL的诞生 长久以来&#xff0c;软件界一直希望建立一种可重复利用的东西C的面向对象和泛型编程思想&#xff0c;目的就是复用性的提升大多情况下&#xff0c;数据结构和算法都未能有一套标准,导致被迫从事大量重复工作为了建立数据结构和算法的一套标准,诞生了S…

四、文件管理(二)目录

目录 2.0文件控制块和索引结点 2.1目录的结构 2.1.1单级目录结构 2.1.2两级目录结构 2.1.3树形目录结构 2.1.4有向无环图目录结构 2.2目录的操作 2.4文件共享 2.4.1基于索引结点&#xff08;硬链接&#xff09; 2.4.2基于符号链&#xff08;软链接&#xff09; 2.0文…

前端开发是做什么的?工作职责

想要了解前端从业者的工作职责&#xff0c;需要从一个完整网站应用产生流程入手&#xff0c;一个网站应用从无到有的过程大致如下 &#xff1a; 1&#xff09;产品经理与甲方反复沟通交流&#xff0c;逐步确定产品需求完成设计草图&#xff1b; 2&#xff09;产品经理根据需求…

如何在centos上安装nvidia docker

当基于nvidia gpu开发的docker镜像在实际部署时&#xff0c;需要先安装nvidia docker。那么如何安装nvidia docker呢。下面将详细介绍下。 安装原生docker yum -y install docker-io 下载nvidia docker安装包 我下载的是rpm文件&#xff0c;具体见截图 安装nvidia docker…

word如何给论文加引用文献

给论文加引用文献其实差不多就是加了个链接&#xff0c;通过点击链接跳转到文末最后展示引用文献额作者&#xff0c;论文名等等信息&#xff0c;给论文加引用文献只要有一下几步&#xff1a; 一、设置参考文献标号字体格式 对于论文中的文献&#xff0c;首先设置论文前序号的…

redis基础6——缓存穿透、缓存击穿、缓存雪崩

文章目录一、缓存穿透&#xff08;双库为空&#xff09;1.1 基础概念1.2 解决办法1.2.1 业务层校验1.2.2 设置key过期时间1.2.3 布隆过滤器1.2.3.1 原理1.2.3.1.1 哈希函数使用1.2.3.1.2 布隆过滤器数据结构1.2.3.1.2.1 映射函数执行过程1.2.3.1.2.2 布隆过滤器的误判率1.2.3.2…

华为机试 - 最大化控制资源成本

目录 题目描述 输入描述 输出描述 用例 题目解析 算法源码 题目描述 公司创新实验室正在研究如何最小化资源成本&#xff0c;最大化资源利用率&#xff0c;请你设计算法帮他们解决一个任务混部问题&#xff1a; 有taskNum项任务&#xff0c;每个任务有开始时间&#xf…

数字图像处理实验(一)|图像的基本操作和基本统计指标计算

文章目录一、实验目的二、实验主要仪器设备三、实验原理(1)将一幅图像视为一个二维矩阵。(2)利用MATLAB图像处理工具箱读、写和显示图像文件。(3)计算图像的有关统计参数。(4)改变图像尺寸、旋转图像、裁剪图像四、实验内容(1)用imwrite写入图像(2) 用imread读入一幅图像(自选)…

opencv c++ 图像形态学操作

1、图像的形态学操作 包括图像的腐蚀、膨胀、开、闭、形态学梯度、顶帽、黑帽、分支主题、结构元素等操作。 具体概念参考&#xff1a;(41条消息) 图像处理-形态学处理_Gooddz的博客-CSDN博客_图像处理 形态学 1.1、膨胀 用33的核去扫描二值图像&#xff0c;当核与图像中的前景…

[附源码]JAVA毕业设计仟侬堂茶具网站(系统+LW)

[附源码]JAVA毕业设计仟侬堂茶具网站&#xff08;系统LW&#xff09; 项目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&a…