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 的相关文章

  • 如何在后台加载图像?

    问题 我正在创建一个专辑 所以每次按 时间 下一个 按钮我正在加载新图像 我想要实现的是 只有在新图像从服务器完全下载后 我才想从旧图像切换到新图像 实际上我不想在加载时显示部分图像 有什么解决办法吗 PS 类似的问题 https stac
  • Google Apps 脚本:如何水平对齐 inlineImage

    我有以下代码 它是一个更大程序的一部分 我正在尝试将图像从我的 Google 驱动器插入到 Google 文档中 并调整其大小并居中 到目前为止 我能够让程序插入图像并调整其大小 但我不知道如何使 inlineImage 居中 我是使用谷歌
  • PHP cURL 代理带标头?

    我正在制作一个 PHP 图像代理脚本 我需要它不仅能够回显其请求的图像的内容 而且还能够以相同的方式重现图像请求的标头 我见过一个 另一个 但没有同时看到过 这些 cURL 选项让我感到困惑 我该怎么做 抱歉 我不确定你想要什么 这是从图像
  • 如何缩小 BufferedImage 的大小和质量?

    我正在开发一个项目 一个名为 远程桌面控制 的客户端服务器应用程序 我需要做的是获取客户端计算机的屏幕截图并将该屏幕截图发送到服务器计算机 我可能需要每秒发送 3 到 5 张图像 但考虑到发送BufferedImage直接的过程成本太高 我
  • Firefox 显示损坏的图像

    在 Firefox 中 损坏的图像仅显示为空白 在白色背景上 无法区分无图像和损坏的图像 这使得识别损坏的图像变得难以识别并且无法纠正 如何使损坏的图像像在 Internet Explorer 中那样产生 X 我知道这个问题不久前被问过 但
  • 有没有办法在 asp 图像控件上显示动态生成的位图?

    在我的代码中 我使用 C 和 ASP NET 动态创建位图 我需要将其显示在 asp 图像控件上 无论如何 有没有办法在不使用处理程序的情况下做到这一点 使用 ashx 处理程序更好 因为它适用于所有浏览器 并且您可以在客户端上缓存输出图像
  • “imagecolorat”和透明度

    如何才能获得透明度上一个像素的值image imagecolorat 仅选取图像中指定位置的像素颜色索引 通过该索引 我可以获取 RGB 值 但不能获取透明值 希望您理解 并提前感谢您 解决方案可能如下 colorIndex imageco
  • 如何缩放图像的一部分并插入到 matplotlib 中的同一图中

    我想缩放数据 图像的一部分并将其绘制在同一个图中 看起来有点像这个图 是否可以在同一图中插入缩放图像的一部分 我认为可以用子图绘制另一个图形 但它绘制了两个不同的图形 我还阅读了添加补丁以插入矩形 圆形 但不确定将图像的一部分插入到图中是否
  • 如何在joomla中上传文件?

    您好 我正在 joomla 中制作一个简单的组件 其中包含名称图像详细信息 我必须上传该图像 如何从后端上传图像 使用扩展或定制哪个更好 你能分享任何关于它的好文章吗 我搜索了更多 但由于缺乏对 joomla 的了解 找不到 希望各位天才们
  • 动态显示数百张图像

    我必须创建一个能够显示电影院大厅 不知道确切的词 模式的表单 本质上 我必须显示大量 由另一个来源提供 独立的椅子状图像 这些图像可以在单击时改变颜色 状态 我上网寻找解决方案 但我真的不知道如何管理这个问题 有人能帮我吗 如果您需要绘制那
  • .php 随机图像在外部站点上作为 .jpg

    我发布的论坛只允许从外部 URL 加载 jpg png 和 gif 图像 我想解决这个问题 并从服务器上的目录中随机选择一个动态头像 但我无法使其正常工作 可能是由于在外部站点上执行了额外的检查 或者我的代码中存在错误 到目前为止 我已经在
  • CoreData:是否将图像存储到数据库?

    我正在制作一个应用程序 它从网站上为某些用户名拍摄照片 并将其显示在带有用户名的 UITable 中 然后当单击用户名时 它会显示该用户的照片 然后单击照片名称 它会显示全屏照片 我的问题是我正在使用 NSData 从互联网获取照片 我必须
  • 减少非常大图像的文件大小,而不改变图像尺寸

    考虑一个处理可能非常大的 PNG 文件上传的应用程序 所有上传的文件必须存储到磁盘以供以后检索 但是 PNG 文件的大小最大可达 30 MB 但磁盘存储限制规定每个文件的最大大小为 1 MB 问题是获取文件大小高达 30 MB 的输入 PN
  • 在android中通过BLE传输图像

    我使用以下代码传输 1 MB 的图像 如果在每个数据包之间实现线程延迟 则图像将成功传输 如果未设置线程延迟 则所有数据包均从BluetoothGattServer 发送 但BluetoothGattCallback 不会接收所有数据包 任
  • react-native - 图像需要来自 JSON 的本地路径

    你好社区 我正在react native中开发一个测试应用程序 并尝试从本地存储位置获取图像 我实际在做什么 我将图像直接链接源提供给 var 并在渲染函数中调用此方法 react 0 14 8 react native 0 23 1 np
  • JavaFX ImageView 未更新

    因此 我尝试将图像加载并保存到 imageView 中 其中图像的位置是通过文件浏览器选择的 我已经为此工作好几天了 如果我不能解决这个问题 我就会中风 我已经尝试了我能想到的一切 预先感谢您的帮助 UPDATED 这是我的主要课程 pub
  • flutter应用程序中有图像编辑器的api吗?我需要在图像中添加文本

    是否可以编辑图像 例如旋转以及在图像上添加文本 有没有什么插件可以做到这一点 我需要一个图像编辑器来添加具有各种字体和颜色的文本 谢谢 你应该使用重画边界 https docs flutter io flutter widgets Repa
  • Java 旋转图像

    Override public void paintComponent Graphics g super paintComponent g Graphics2D g2 Graphics2D g create rotation of play
  • 在 Excel 中使用 VBA 设置图像透明度

    有没有办法使用 VBA 脚本对图像应用一些透明度 我录制了一个 宏 但似乎没有录制艺术效果 我已经找到了如何制作形状 但没有找到图像 这需要几个步骤 将自选图形 如矩形 放置在工作表上 使用以下方法将您的实际图片嵌入矩形中 ShapeRan
  • Android:捕获的图像未显示在图库中(媒体扫描仪意图不起作用)

    我遇到以下问题 我正在开发一个应用程序 用户可以在其中拍照 附加到帖子中 并将图片保存到外部存储中 我希望这张照片也显示在图片库中 并且我正在使用媒体扫描仪意图 但它似乎不起作用 我在编写代码时遵循官方的Android开发人员指南 所以我不

随机推荐