Press "Enter" to skip to content

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

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

©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

Be First to Comment

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注