Multi-Label Image Recognition with GCN

Multi-Label Image Recognition with Graph Convolutional Networks

多标签识别+图网络GCN

2019年的文章,提出了一个多标签分类模型,基于GCN完成,通过图结构建模label语义信息之间的联系
有向图的构建是在label的基础上,结点初始化为label的词嵌入。GCN学会了将此标签图映射到一组相互依赖的对象分类器中。这些分类器应用于由另一个子网提取的图像描述符,使得整个网络能够端到端地训练。
模型输入:训练阶段label的词嵌入以及图片,验证阶段输入图片。
模型输出:图片的bi'a
这里涉及到multi-label recognition和multi-class classification的一个区分:
The task of multi-label image recognition is to predict a set of object labels that present in an image.
方法概述:Instead of treating object classifiers as a set of independent parameter vectors to be learned, we propose to learn inter-dependent object classifiers from prior label representations, e.g., word embeddings, via a GCN based mapping function.接下来把这些分类器应用于从CNN中提取出来的特征。(这个如何得到分类器我还有点迷惑)
整体框架:
图片说明
CNN提取特征,使用ResNet101 输出20481414的feature map通过一个最大池化得到一个2048维的向量。

GCN分类器学习:

分类器其中C代表类目C个类目。
GCN的第一层输入 其中C为类目数,d为词嵌入的维度。
GCN的最后一层D表示图片表达的维度,也就是上面的2048
最终结果:其中y是一张图的标签情况{0,0,1,0,...,0,1,0,0},0表示没有该类,1表示有该类。

图的构建

构建GCN的关联矩阵,也就是上面的Z,使用条件概率,详情后面再看看论文。主要在3.4

over-smoothin problem

图片说明

实验

评估指标

每个类的准确率CP,召回率CR,F1:CF1
所有类的准确率OP,召回率OR,F1:OF1.
以及mAP

细节
  1. ML_GCN 两层,分别输出1024和2048维度
  2. 类别的词嵌入来自Glove[25]对于一个label有多个词的情况求一个平均。(后续有消融实验对比显示使用其他编码并不是很大差别,比如one-hot编码)
  3. 公式7中的阈值,取0.4
  4. 公式8中p:0.2
  5. 其他:非线性激活函数leakyReLu,且negative slope取0.2. backbone取ResNet101,使用imageNet预训练。size:448*448.优化策略SGD。

实验结果

table1 MSCOCO
tabel2 VOC

消融实验

全部评论

相关推荐

Twilight_mu:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务