Image captioning评价方法之ROUGE-L

2023-05-16

文章地址:ROUGE: A Package for Automatic Evaluation of Summaries

代码地址(非官方):https://github.com/tylin/coco-caption

文章由University of Southern California发表在2004ACL上。

ROUGE为 Recall-Oriented Understudy for Gisting Evaluation的缩写。文章ROUGE提出了用来评价文本摘要算法的评价集,里面包含了四个评价算法,分别为ROUGE-N、ROUGE-L、ROUGE-W、ROUGE-S。在image-captioning中采用了其中的ROUGE-L评价方法。

一、LCS的定义

在解释ROUGE-L之前,先解释一下LCS(Longest Common Subsequence)的含义。

当有一个序列 Z = [ z 1 , z 2 , . . . , z n ] Z=[z_1, z_2, ..., z_n] Z=[z1,z2,...,zn],对于另一个序列 X = [ x 1 , x 2 , . . . , x m ] X=[x_1, x_2, ..., x_m] X=[x1,x2,...,xm],存在关系 x i j = z j x_{i_j}=z_j xij=zj,那么就称Z为X的子序列。其中 [ i 1 , i 2 , . . . , i k ] [i_1, i_2, ..., i_k] [i1,i2,...,ik]为增序的索引,且 j = 1 , 2 , . . . , k j=1, 2, ..., k j=1,2,...,k

二、Sentence-Level LCS

LCS想表达的意思是,如果两个摘要句子的LCS越大,那么两个摘要就越相似。基于这种思考本文提出基于LCS的F-measure。F-measure作为评测指标在很多任务中都有用到,它是准确率和召回率的hmean,也称为调和平均数。

对于一个长度为m的reference summary sentence X和一个长度为n的candidate summary sentence Y,基于LCS的F-measure计算方法如下:

R l c s = L C S ( X , Y ) m R_{lcs}=\frac{LCS(X,Y)}{m} Rlcs=mLCS(X,Y)

P l c s = L C S ( X , Y ) n P_{lcs}=\frac{LCS(X,Y)}{n} Plcs=nLCS(X,Y)

F l c s = ( 1 + β 2 ) R l c s P l c s R l c s + β 2 P l c s F_{lcs}=\frac{(1+\beta^2)R_{lcs}P_{lcs}}{R_{lcs}+\beta^2P_{lcs}} Flcs=Rlcs+β2Plcs(1+β2)RlcsPlcs

上式中,LCS(X,Y)表示X和Y的最大公共子字符串(LCS)的长度, β \beta β是一个超参数。

使用LCS作为计算评测的方法由两个优势:

  1. 不用像n元组(n-gram)那类的方法,只关心连续的字符串匹配
  2. 不用像n元组那类方法,需要设置n的大小

三、image captioning中的ROUGE-L

由于image captioning中一张图片生成的一个描述 Y i Y_i Yi,但是一张图片的参考描述存在多个 X i j X_{ij} Xij

那么对于一张图片描述的评价结果计算如下:

R l c s i = m a x j L C S ( X i j , Y i ) m j R_{lcs_i}=max_j\frac{LCS(X_{ij},Y_{i})}{m_j} Rlcsi=maxjmjLCS(Xij,Yi)

P l c s i = m a x j L C S ( X i j , Y i ) n i P_{lcs_i}=max_j\frac{LCS(X_{ij},Y_{i})}{n_i} Plcsi=maxjniLCS(Xij,Yi)

F l c s i = ( 1 + β 2 ) R l c s i P l c s i R l c s i + β 2 P l c s i F_{lcs_i}=\frac{(1+\beta^2)R_{lcs_i}P_{lcs_i}}{R_{lcs_i}+\beta^2P_{lcs_i}} Flcsi=Rlcsi+β2Plcsi(1+β2)RlcsiPlcsi

其中 n i n_i ni Y i Y_{i} Yi的长度(包含的单词数),即 n i = l e n ( Y i ) n_i=len(Y_{i}) ni=len(Yi),同理 m j = l e n ( X i j ) m_j=len(X_{ij}) mj=len(Xij) m a x j max_j maxj为生成的描述在不同参考描述下求得的结果取最大值。注意对于 Y i Y_i Yi取得 R c l s i R_{cls_i} Rclsi P c l s i P_{cls_i} Pclsi时, m a x j max_j maxj中的j可以不相同。

对于一个待评测集合来说,最终的ROUGE-L为所有的 F l c s i F_{lcs_i} Flcsi求平均得到。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Image captioning评价方法之ROUGE-L 的相关文章

  • Phonegap 图像未显示

    我无法让图像在我的phonegap 版本中正常工作 我读过绝对路径可能不起作用 所以我尝试了绝对路径和相对路径 但仍然没有运气 我包括这样的图像
  • iOS - 基于设备的不同图像或缩放相同的图像?

    似乎开发人员总是为不同的设备创建不同的图像资源 并根据设备加载它们 但是 只为最高分辨率的设备 iPad 创建图像 然后为 iPhone 6 5 等缩小该图像 有什么缺点吗 我使用 SpriteKit 因此我只需创建不同大小的 SKSpri
  • java设置图像的分辨率和打印尺寸

    我编写了一个程序 生成一个 BufferedImage 以显示在屏幕上 然后打印 图像的一部分包括 1 像素宽的网格线 即 一行为1个像素 行与行之间大约有10个像素 由于屏幕分辨率的原因 图像显示得比这大得多 每行有几个像素 我想将其绘制
  • 从 imread 返回的 ndims

    我正在从文件夹中选取图像 尺寸为128 128 为此 我使用以下代码行 FileName PathName uigetfile jpg Select the Cover Image file fullfile PathName FileNa
  • Javascript图像编辑插件

    在哪里可以找到 Javascript 或 jQuery 图像编辑器插件 用户可以单击图像进行编辑 并且该插件允许他们进行裁剪 调整大小 旋转 翻转等 Pixastic http pixastic com lib 不再活跃 和CamanJS
  • 在 Python 中倾斜数组

    我有一个 2D 数组 我将使用它保存为灰度图像scipy misc toimage 在此之前 我想将图像倾斜给定角度 像这样进行插值scipy ndimage interpolation rotate 上图只是为了说明倾斜过程 我知道我必须
  • 如何使用javascript检查图像url是否为404

    使用案例 当 src 不为空并且 alt 标签不为空时 则显示 src 的图像 然后检查 src 图片 url 不是 404 当 src 为空且 alt 不为空时 显示名字的图像 当 src 和 alt 为空时显示默认图像 HTML img
  • 在 Android 上将大位图文件的大小调整为缩放的输出文件

    我的文件中有一个大位图 例如 3888x2592 现在 我想将该位图大小调整为 800x533 并将其保存到另一个文件中 我通常会通过调用来缩放位图Bitmap createBitmap方法 但它需要一个源位图作为第一个参数 我无法提供它
  • 在 Swift 中将 gif 保存到 iOS 照片库

    我正在尝试保存位于已使用 Regift 代码创建的临时文件中的 GIF 图像 Regift https github com matthewpalmer Regift https github com matthewpalmer Regif
  • 仅获取图像中的外部轮廓

    我有这段代码 可以在图像中绘制轮廓 但我只需要外部轮廓 import cv2 import numpy as np camino C Users Usuario Documents Deteccion de Objetos 123 jpg
  • WPF 中按钮的启用和禁用状态的不同图像

    我想根据按钮的状态更改下面代码中按钮的图像 即使用不同的图像来启用和禁用状态
  • 在Android内存中存储gif图像

    我对安卓还很陌生 我想将图像保存到内存中 然后从内存中检索图像并将其加载到图像视图中 我已使用以下代码成功将图像存储在内存中 void saveImage String fileName img cnt jpg File file new
  • 将图像列保存到 SQL Server 2000 中的文件

    我在 SQL Server 2000 中有一个包含图像列的表 我需要将图像数据保存到文件系统上的文件中 在 SQL Server 2005 中 我可以使用 ADODB Stream 对象进行文件 I O 但这在 SQL Server 200
  • WinForms - 加载表单时如何使用 PaintEventArgs 运行函数?

    我试图理解图形 在 Graphics FromImage 文档中 它有这样的示例 private void FromImageImage PaintEventArgs e Create image Image imageFile Image
  • 在 android 中使用 MediaStore.ACTION_IMAGE_CAPTURE 意图捕获图像

    我正在使用 MediaStore ACTION IMAGE CAPTURE 意图捕获图像 它在大多数设备上运行良好 但它无法按预期在某些最新的 Android 设备中正常工作 我的目的是使用相机捕获图像并将其发送到服务器 但不将该图像存储在
  • HTML5 仅拖放图像

    我想做的是 如果所有拖动的文件都是图像 则将其删除 但如果有其他文件扩展名 则不要删除它们 而仅删除图像 这是我的尝试 HTML div div JavaScript var dropzone document getElementById
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • 数学/算法使图像适合屏幕保留纵横比

    我需要数学 算法方面的帮助来拍摄已知尺寸的图像并适合两个屏幕尺寸之一 720 x 480 或 1280 x 1024 图像尺寸来自 XML 文件 但这些尺寸是 Web 尺寸 我还从 XML 中选择了一些图像 这些图像的分辨率可能比 Web
  • 正在使用 PIL 保存损坏的图像

    我遇到一个问题 操作图像像素导致保存损坏的图像 因此 我使用 PIL 打开图像 然后将其转换为 NumPy 数组 image Image open myimage png np image np asarray image 然后 我转置图像
  • 下载后从谷歌照片库检索图像

    我正在发起从图库中获取照片的意图 当我在图库中使用 Nexus 谷歌照片应用程序时 一切正常 但如果图像不在手机上 在 Google Photos 在线服务上 它会为我下载 选择图像后 我将图像发送到另一个活动进行裁剪 但在下载的情况下 发

随机推荐