查看原文
其他

ICCV 2019 论文解读 | 基于层次解析的Image Captioning

蔡文杰 PaperWeekly 2022-03-17


©PaperWeekly 原创 · 作者|蔡文杰

学校|华南理工大学

研究方向|计算机视觉


目前大多数的 image captioning 模型采用的都是 encoder-decoder 的框架。本文在 encoder 的部分加入了层次解析(Hierarchy Parsing, HIP)结构。HIP 把图片解析成树状结构:根节点是整个图片,中间节点则是通过把图片分解成一系列 Region-level 的区域来得到的,而叶子节点则是在 Region-level 的基础上应用图像分割,得到 Instance-level 的区域,如下图所示。



由于这样的过程建立起了一个树状的结构,文章应用了 Tree-LSTM 来增强性能。最后,文章还用了 GCN 对 Region-level 和 Instance-level 之间的关系进行编码,把 CIDEr-D 提高到了 130.6。 
文章的主要贡献就是在 Image capioning 任务中提出了 HIP 对图像进行层级架构的解析。实际上,文章把 HIP 认为是一种 feature optimizer,对 Image-level、Region-level、Instance Level 的特征做整合。这也是大多数做 image captioning 文章的思路,包括各种 attention 机制、利用更丰富的图像信息等,主要目的都是为了增强图像特征。本文发表在 ICCV 2019 上。


论文标题:Hierarchy Parsing for Image Captioning论文链接:https://arxiv.org/abs/1909.03918论文方法

Hierarchy Parsing in Images 


本节首先介绍如何对图像进行层次解析。


Regions and Instances of Image 


文章分别使用了两个 Faster R-CNN 来分别提取 region 和 instance 的特征。 


对于 region 特征的提取,文章用的就是 Up-Down Attention [3] 里面的方法:在 Visual Genome 数据集上训练一个 backbone 为 ResNet-101 的 Faster R-CNN,提取里面 pool 5 层的特征。 


对于 instance 的特征,文章则是训练了另一个 Faster R-CNN 来进行提取。如下图所示,首先使用 Mask R-CNN 提取图像的前景区域图像(通过 Mask 与原图点乘),然后再用 Faster R-CNN 来提取对应前景的每个 instance 的特征。其中两个 Faster R-CNN 的输入、参数都不共享。



Hierarchy Structure of an Image 


对于图像层级关系的建立,文章是通过下列方式确立的:由于图像中的 regions 会包含一些从属关系(例如,glasses 和 hat 都属于 man 的区域),如果某个 region 与比它小的 region 的 IoU 大于某个阈值 ϵ,那么这个小的 region 就成为大的 region 的子节点。通过对所有 region 根据面积进行降序排列并遍历后续 region 计算 IoU,可以把图像的层级关系建立起来。最后,再把 instance 连接到每个 region 后作为最终的叶子节点。 


Image Encoder with Tree-LSTM 


文章使用了 Tree-LSTM 来对三个层次的特征进行编码,可以促进层次结构内的上下文信息挖掘,从而通过整体层次结构来增强图像特征。传统的 LSTM 只通过上一个时刻的隐状态  更新记忆单元 ,而 Tree-LSTM 的更新则是依赖于多个子节点  的隐状态。如图所示:



Tree-LSTM 公式如下:



对于 region-level 和 instance-level 的节点,它们的输入则分别是它们的特征  和 ,对于 image-level 的根节点,它的输入则是 region-level 和 instance-level 特征的平均:,其中 


最终,通过用 Tree-LSTM 的方式进行编码,每一个 region 的输出特征包含了它的 instance 区域特征以及子节点的 region 区域特征,表示为 。而 image-level 的输出特征则表示为 。 


Image Captioning with Hierarchy Parsing 


接下来,本节介绍如何把解析后的层次特征运用到 Image captioning 任务里。文章分别把这些特征用到了 Up-Down Attention [1] 以及 GCN-LSTM [3] 里,如下图所示。



首先简单回顾一下 Up-Down Attention。Up-Down Attention 包含两个 LSTM,分别是: 


1. Attention LSTM,接收全局图像特征、上一时刻生成的单词和 Language LSTM 的隐状态来分配 attention 权重;


2. Language LSTM,接收加权后的区域特征和 Attention LSTM 的隐状态来产生 caption。


把 HIP 得到的特征应用到 Up-Down Attention,其实也就是把两个 LSTM 的输入作替换。其中 Attention LSTM 中原来输入的全局图像特征替换为 HIP 得到的全局图像特征的拼接 


每一个 region 的特征表示为 ,那么 Language LSTM 原来输入的加权后的区域特征则替换为对加权后的 HIP 区域特征 ,其中  为对应的注意力权重。 


当应用到 GCN-LSTM 中时,GCN 中用到的场景图就是 HIP 过程中生成的树,然后也是类似 Up-Down Attention 的方法对特征作替换,不再赘述。


实验文章使用了 Visual Genome 以及 MSCOCO 数据集进行训练。值得一提的是,VG 数据集包含一些 stuff 类的 bounding box 标注,能够提供更丰富的场景信息,但 VG 数据集并没有给出对应的分割标注。对于这个问题,作者参考了 Learning to segment every thing [4] 里面 partially supervised training 的方法来训练 Mask R-CNN。其中 detection 分支的权重由在 VG 上训练的 Faster R-CNN 的权重来初始化,然后 mask 分支以及 weight transfer 函数则在 MSCOCO 上训练。 实验效果:可以看到,在 COCO test split 以及 COCO server 两个测试集上,加入了 HIP 以后,Up-Down 模型和 GCN-LSTM 模型的性能都有大幅提升。


文章也进行了消融实验来验证各个部件的性能:

对于 IoU 的阈值 ϵ,文章也做了实验,效果最好的值是 0.1,而 ϵ=0.3 的时候效果最差,感觉还是比较反直觉的。

文章还进行了人工评估。通过展示 GT、GCN-LSTM+HIP、GCN-LSTM、LSTM 的 caption,分别做了两组实验: 1. 每次展示 3 个机器生成的 caption 和三个 GT caption,问:机器能产生像人类写的句子吗? 2. 每次只展示 1 个句子,问:能判断出哪些是机器产生的句子,哪些是人类写的句子吗? 通过人工评估的反馈,文章统计了两个指标: 
  • M1:与人类注释相当甚至更好的 caption 的百分比 

  • M2:通过图灵测试的 caption 的百分比 

GCN-LSTM+HIP、GCN-LSTM 和 LSTM 在 M1 上的得分分别是 76.5%、73.9% 和 50.7%。人类注释、GCN-LSTM+HIP、GCN-LSTM 和 LSTM 在 M2 上的得分分别是 91.4%、85.2%、81.5% 和 57.1%。 两项指标都说明了引入 HIP 后模型有明显提升。 下图是模型生成的句子示例:

文章还把 HIP 扩展到了图像多标签分类问题,把 COCO 上物体检测的标注作为图像的多标签,并应用 Multi-label softmax 进行训练。然后分别对每个标签计算 precision 和 recall。最后比较了 per-class precision (C-P),pre-class recall (C-R),overall precision (O-P),overall recall (O-R) 以及 F1 值。发现引入HIP后都是有明显提升的。个人认为,其实 HIP 这种做法与 finegrained image recognition 中的做法类似。

总结文章提出了层次解析(HIerarchy Parsing,HIP)的结构,通过对图像进行层次解析,能够丰富所提取的图像特征,并增强模型的可解释性。可以应用到现有的模型当中。文章的实验非常详尽,能够想到把 HIP 与 Tree-LSTM 结合、利用 partially supervised training 来训练 Mask R-CNN 的想法也是非常新颖。参考文献

[1] https://arxiv.org/abs/1707.07998 

[2] https://blog.csdn.net/sinat_26253653/article/details/78436112 

[3] https://arxiv.org/abs/1809.07041v1 

[4] https://arxiv.org/abs/1711.10370




点击以下标题查看更多往期内容: 





#投 稿 通 道#

 让你的论文被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。


📝 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志


📬 投稿邮箱:

• 投稿邮箱:hr@paperweekly.site 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通




🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧



关于PaperWeekly


PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。


▽ 点击 | 阅读原文 | 下载论文

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存