Multi-Label Image Recognition with Graph Convolutional Networks
Paper PDF
Intorduction
问题描述->现状->想法->实验->对比->结论
多标签图像识别(multi-label)(博主认为本篇论文中的识别和分类是一回事,所以下文中的分类和识别可能会混用)目的是预测图像中存在的一组目标,是计算机视觉领域中一项基本任务。与多类别图像分类(multi-class)相比,多标签任务由于输出空间的多样性变得更具挑战。正如现实世界中物体的存在方式,对标签之间的相关性进行建模是提高多标签识别性能的关键。
解决多标签识别问题,一个最简单的想法就是分别对每个标签建立一个二分类模型,显然,这种方法很难解决标签数量大的问题,并且没有考虑标签之间的拓朴结构。现在也有利用概率图模型以及RNN的方式对标签依赖关系进行显示建模,但前者计算量过大,后者会受到标签预测顺序的影响(也有orderless的方式)。还有一些利用注意力机制的方法隐式学习标签相关性,这种方式考虑了图像区域之间的关系,可以看作局部相关性,但仍然忽略了标签之间的全局相关性。
本论文提出一种利用GCN(Graph Convolutional Network)对标签之间的相关性进行建模的方式。具体来说,将图中的每个节点(标签)表示为标签的word embedding,并提出使用GCN直接将这些标签嵌入映射到一组相互依赖的分类器中,这些分类器可以直接应用于图像特征进行分类。模型利用另一个子网学习图像特征,并使得学习到的分类器作用在该图像特征上以获得最终的多标签分类结果。在训练过程中,该模型通过共享分类器的参数来隐式的学习标签之间的相关性;同时为了显式地建立标签依赖关系模型,设计了一个有效的标签相关矩阵来指导GCN中节点之间的信息传播。不仅如此,论文提出了一种re-weighted 的方案来平衡节点与其邻域之间的权值,从而有效地缓解了节点特征更新的过拟合和过平滑问题。
在MS-COCO和VOC 2007两个多标签图像识别数据集上的实验表明,本方法明显优于现有的SOTA方法。
Innovation
- 利用GCN学习inter-dependent的标签分类器组。每一个分类器对应一种标签,但分类器之间又相关影响。
- 通过二值化和re-weighted的方式改进标签相关矩阵。
Method
Graph Convolutional Network
GCN的目标是在图 ( G ) \mathfrak(G) (G)上学习上一种映射函数 f ( ⋅ ) f(\cdot) f(⋅),该函数以特征描述 H l ∈ R n × d H^l \in \mathbb{R}^{n×d} Hl∈Rn×d和相应的节点间的相关矩阵 A ∈ R n × n A \in \mathbb{R}^{n×n} A∈Rn×n作为输入(其中 n n n表示节点个数和 d d d表示节点特征的维数),并将节点特征更新为 H l + 1 ∈ R n × d H^{l + 1} \in \mathbb{R}^{n×d} Hl+1∈Rn×d。 每个GCN的 H l + 1 H^{l + 1} Hl+1可以将描述为:
H l + 1 = f ( H l , A ) (1) H^{l + 1} = f(H^l, A) \tag{1} Hl+1=f(Hl,A)(1)
进一步表示为:
H l + 1 = h ( A ^ H l W l ) (2) H^{l + 1} = h(\hat{A}H^lW^l) \tag{2} Hl+1=h(A^