image caption:A Hierarchical Approach for Generating Descriptive Image Paragraphs

1、引言

本文的主要注意力在为图片用段落描述,该任务不同于用一句话描述图片。首先作者回顾了相关研究背景。用句子描述图片往往所含的信息有限,目前主要的方法为排序检索、模板套用、直接生成,第三种是目前的研究热点,且第三种方法又演变成一个dense caption的任务,也就是获取图片的多个重要区域,为每个区域用一句话描述,然后结合所有的句子,形成dense caption。这个也有缺点,就是句子之间不连贯。本文提出一种模型,利用物体识别将图片划分几个区域,同时利用层次RNN将段落划分为几个句子,形成对应关系,完成段落生成的任务。本文也说明了image caption和hierarchical RNN(层次RNN)的研究现状,其中层次RNN是另一种避免RNN中梯度消失和梯度爆炸的方法。

2、模型

该模型首先利用物体检测将图片划分为几个不同的部分(faster-RCNN,CNN和RPN),然后聚集各区域的不同信息产生一个具有丰富语义的向量,然后将此向量作为层次RNN的输入,本实验的层次RNN包含两个,句子级RNN(sentence-RNN)和词语级RNN(word-RNN),前者用来判断产生多少句子,后者判断每个句子产生多少单词。最后输出段落。总的模型如下:

以上模型简洁扼要,且清晰具体,流程明确,很好的表示了这个任务。

在连接faster -RCNN和层次RNN中,进行了区域池化的操作,每个区域产生了一个向量,这里,我们对所有的向量进行最大池化,缩减信息量,保留最重要信息。池化操作的公式如下:,Wpool为PxD的矩阵,P为最后生成向量的维度,D为每个区域特征向量的维度。

sentence-RNN是一个维度为512的单层隐藏层的LSTM,cell状态设为0。每个时间,产生一系列隐藏状态h1-hs,每个代表一句话,每个状态有两个作用,1、通过hi的投影和逻辑分类器,产生二分类状态和分布概率。2、hi输入两层全连接层,产生主题向量。

word-RNN是一个两层的LSTM,隐藏层大小为512,接受sentenc-RNN的输出,产生一句话。每一个时间步长,最后一层LSTM的隐藏层输出每个词语的概率,依据概率大小,选择词语,组成句子,最后输出。

结合这些句子,形成段落,最终输出。

3、实验

训练数据包含图片-段落对,段落有S个句子,每个句子有Ni个单词,yij是第i个句子的第j个词,在经过池化后的向量vp,我们将sentence-RNN展开为S步,计算每个句子的状态概率分布。然后输入到S个word-RNN,每个展开为Ni个步长,产生一个概率分布pij,关于第i个句子的第j个词,我们定义损失为如下形式:

这里,我们用三个阈值来控制每个步骤的输出数量,Tstop停止概率,Nmax表示单词最多数量,Smax表示最多句子数。

此外,这里我们也是用转移学习来应用此任务。一是用已经训练好的区域物体识别网络的参数,直接应用到我们的模型;二是用已经训练好的词向量,RNN模型的参数来初始化我们的模型。

本文采用MSCOCO数据集,且设定了一些baseline,且评价系统选用METEOR、CIDEr、BLER。详见论文。获得的结果,如下所示:

4、总结

该论文给我的启发较大,需要再读。

时间: 2024-11-06 16:46:39

image caption:A Hierarchical Approach for Generating Descriptive Image Paragraphs的相关文章

文献及代码阅读报告 - SS-LSTM:A Hierarchical LSTM Model for Pedestrian Trajectory Prediction

Article: H. Xue, D. Q. Huynh and M. Reynolds, "SS-LSTM: A Hierarchical LSTM Model for Pedestrian Trajectory Prediction," 2018 IEEE Winter Conference on Applications of Computer Vision (WACV), Lake Tahoe, NV, 2018, pp. 1186-1194. Code - implement

Android for Programmers:An APP-Driven Approach学习笔记(一)SpotOn

项目简介: 为测试玩家敏捷度的小游戏,要求在小虫消失前点中它,并上升到一个新的级别,小虫移动会加快,点不中会损失一条生命,指导生命损失殆尽 1)android:hardwareAccelerated="true" http://blog.csdn.net/janronehoo/article/details/7517284 从Android3.0 (API level11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上

CVPR 2017 Paper list

CVPR2017 paper list Machine Learning 1 Spotlight 1-1A Exclusivity-Consistency Regularized Multi-View Subspace Clustering Xiaojie Guo, Xiaobo Wang, Zhen Lei, Changqing Zhang, Stan Z. Li Borrowing Treasures From the Wealthy: Deep Transfer Learning Thro

[论文]A Link-Based Approach to the Cluster Ensemble Problem

论文作者:Natthakan Iam-On, Tossapon Boongoen, Simon Garrett, and Chris Price 下次还是在汇报前先写了论文总结,不然有些点汇报时容易忘了说,以前看的论文看补不补上来吧,有时间再说. 前言: 这篇论文是关于聚类集成的,成熟的聚类集成框架是将多个聚类算法的结果汇聚在一起,然后使用一致性函数得出最终的聚类结果,论文中认为这两步中间的操作属于原数据上的操作,比较粗糙,所以提出了一种算法,对汇总后聚类结果进行进一步处理,然后再使用一致性函数

1.web前端之路:HTML基础

HTML 1.HTML结构 <!DOCTYPE html> <!--语法开始--> <html lang="en"> <head> <!--头部信息,如title标签定义的网页标题--> <meta charset="UTF-8"> <title>Title</title> </head> <body> <!--主体信息,包含网页显示的内容-

Maven: Generating project in Interactive mode

mvn archetype:generate -DarchetypeGroupId=org.apache.maven.archetypes -DgroupId=org.conan.myhadoop.mr -DartifactId=myHadoop -DpackageName=org.conan.myhadoop.mr -Dversion=1.0-SNAPSHOT -DinteractiveMode cmd输出卡死在Generating project in Interactive mode不动了

tree老师:PSSH自动化运维实战

pssh是一个可以在多台服务器上执行命令的工具,同时支持拷贝文件,是同类工具中很出色的.使用是必须在各个服务器上配置好密钥认证访问. pssh是用python来写的一个管理工具,管理几万台服务器,就是因为使用各式各样的工具. 如果服务器超过50台,上百台,就不能再用shell来写个for循环来执行了,这时候就会用到pssh. pssh 包安装 5 个实用程序: pssh 在多个主机上并行地运行命令. pscp 把文件并行地复制到多个主机上. prsync 通过 rsync 协议把文件高效地并行复

转:VC中MessageBox的常见用法

一.关于MessageBox       消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合.       1.MessageBox("这是一个最简单的消息框!");        2.MessageBox("这是一个有标题的消息框!","标题");        3.MessageBox("这是一个确定 取消的消息框!","标题", MB_OKCANCEL );   

【转】C++:MessageBox的常见用法

一    函数原型及参数 function MessageBox(hWnd: HWND; Text, Caption: PChar; Type: Word): Integer; hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口. Text:欲显示的信息字符串. Caption:对话框标题字符串. Type:对话框类型常量. 该函数的返回值为整数,用于对话框按钮的识别. 2.类型常量 对话框的类型常量可由按钮组合.缺