原标题: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
[3] https://arxiv.org/abs/1809.07041v1
[4] https://arxiv.org/abs/1711.10370
点击以下标题查看更多往期内容:
#
• 稿件确系个人 原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向)
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志返回搜狐,查看更多
责任编辑: