基于卷积网络的多标签图像识别
文章是来自2019年CVPR
摘要
多标签图像识别的任务是预测图像中出现的一组目标标签。由于目标通常同时出现在图像中,为了提高识别性能,需要对标签依赖进行建模。为了捕获和探索这种重要的依赖关系,我们提出了一种基于图卷积网络(Graph Convolutional Network GCN)的多标签分类模型。该模型在对象标签上构建了一个有向图,其中每个节点(标签)用标签的单词嵌入表示,GCN学习了如何将这个标签图映射到一组相互依赖的对象分类器中,这些分类器应用于由另一子网提取出来的图像描述符,使整个网络具有端到端可训练性。此外,我们提出了一种新的重新加权方案,以建立有效的标签相关矩阵来指导GCN节点间的信息传播。在两个多标签图像识别数据集上的实验表明,我们的方法明显优于现有的其他方法。此外,可视化分析表明,通过我们模型学习的分类器保持了有意义的语义拓扑。
1.介绍
多标记图像识别是计算机视觉中一项基本而实用的任务,其目的是预测图像中存在的一组对象。它可应用于医学诊断识别[Chest X-rays classification: A multi-label and fine-grained problem]、人的属性识别、零售结账识别等多个领域。与多类图像分类相比,由于输出空间的组合特性,多标签任务更具挑战性。由于物体在物理世界中通常是共现的,因此多标签图像识别的关键是建立标签依赖关系模型,如图1所示:
图1多标签图像识别中,我们在目标标签上建立一个有向图来模型标签的依赖关系,其中
L
a
b
e
l
A
→
L
a
b
e
l
B
Label_A →Label_B
LabelA→LabelB表示当
L
a
b
e
l
A
Label_A
LabelA出现的时候,
L
a
b
e
l
B
Label_B
LabelB很可能会出现,但反过来可能就不正确了。当出现滑板、领带,网球拍和网球时,很可能出现人(因为人使用这些物品),并且网球拍和网球也一般是同时存在的,但是人出现了这些东西也未必出现。
解决多标记识别问题的一种幼稚的方法是将多标记问题单独处理,然后将多标记问题转化为一组二值分类问题来预测每个感兴趣的目标是否出现,得益于深度卷积神经网络(CNNs)在图像单标签分类方面取得的巨大成功,二元解决方案的性能得到了极大的提高,但是,由于忽略对象之间复杂的拓扑结构,这些方法在本质上受到了限制。这激发了对各种方式获取和探索标签相关性方法的研究。一些基于概率图模型或递归神经网络(RNNs)的方法被提出来显式地建模标签相关性,前者将多标签分类问题表述为一个结构推理问题,由于计算复杂度高,可能存在可扩展性问题;而后者根据预定义或学习的某些顺序,以顺序的方式预测标签。另一种研究通过注意机制隐式地对标签相关性建模。他们考虑图像中被关注区域之间的关系,可以视为局部相关性,但仍然忽略了标签之间的全局相关性,而全局相关性需要从单个图像以外的知识中推断出来。
在本文中,我们提出了一种新颖的基于GCN的模型(又名ML-GCN)来捕获多标签图像识别的标签相关性,该属性具有可扩展性和灵活性,这是竞争方法无法实现的。我们建议通过基于GCN的映射函数从先前的标签表示形式(例如单词嵌入)中学习相互依赖的对象分类器,而不是将对象分类器视为要学习的一组独立参数向量,接下来,将生成的分类器应用于由另一个子网生成的图像表示,以实现端到端训练。 由于嵌入到分类器的映射参数在所有分类(即图像标签)之间共享,因此所有分类器的梯度都会影响基于GCN的分类器生成函数,这隐式地为标签相关性建模。此外,为了显式地建模用于分类器学习的标签依赖关系,我们设计了有效的标签相关矩阵,以指导GCN中节点之间的信息传播,具体而言,我们提出了一种重新加权方案,以平衡节点及其邻域之间的权重以进行节点特征更新,从而有效缓解过度拟合和过度平滑的情况。在两个多标签图像识别数据集上的实验表明,我们的方法明显优于现有的新方法。此外,可视化分析表明,通过我们的模型学习的分类器保持了有意义的语义结构。
本文的主要贡献如下:
∙
\bullet
∙ 我们提出了一种新颖的端到端可训练多标签图像识别框架,该框架使用GCN将标签表示形式(例如单词嵌入)映射到相互依赖的对象分类器.
∙
\bullet
∙ 我们对GCN相关矩阵的设计进行了深入研究,提出了一种有效的重新加权方案来同时缓解过拟合和过平滑问题。
∙
\bullet
∙ 我们在两个基准多标签图像识别数据集上评估了我们的方法,我们的方法始终取得了优于之前的竞争方法的性能
2.相关工作
近年来,ImageNet、MSCOCO和PASCAL VOC等大规模手标数据集的建立,以及深度卷积网络的快速发展,使得图像分类的性能得到了快速发展。在多标签图像识别的深度卷积网络的扩展方面,人们做了大量的工作.
多标签识别的一个简单方法是为每个类/标签训练独立的二进制分类器。但是,该方法没有考虑标签之间的关系,预测的标签数量会随着类别数量的增加而呈指数增长,例如,如果一个数据集包含20个标签,那么预测的标签组合数量可能超过100万(
2
20
2^{20}
220),此外,该基线方法实质上是通过忽略对象之间的拓扑结构来限制的,这对于对象的共现模式可能是重要的正则化器。 例如,标签的某些组合几乎不可能出现在物理世界中。
为了规范预测空间,许多研究者试图捕获标签依赖关系。Gong等人使用一种基于排序的学习策略训练深度卷积神经网络进行多标签图像识别,发现加权近似排序损失效果最好。此外,Wang等利用递归神经网络(RNNs)将标签转换为嵌入的标签向量,从而利用标签之间的相关性。此外,在多标签识别任务中,注意机制也被广泛应用于发现标签相关性,Zhu等人提出了一种基于加权注意图的空间正则化网络来捕获这些多个标签的语义和空间关系.
与上述的结构学习方法相比,图在标签相关性建模方面更加有效。在本文中,我们利用图的结构来捕获和探索标签的相关性,具体来说,基于图,我们利用GCN在多个标签之间传播信息,从而学习每个图像标签的相互依赖分类器,这些分类器从标签图中吸收信息,进一步应用到全局图像表示中,用于最终的多标签预测,这是评价标签共现性的一种更明确的方法。实验结果表明,该方法是有效的,并能以端到端的方式训练模型
3.方法
在这一部分中,我们详细介绍了多标签图像识别的ML-GCN模型,首先介绍方法动机,然后,我们介绍了GCN的一些初步知识,然后详细说明了所提出的ML-GCN模型和相关矩阵构造的重加权方案
3.1动机
如何有效地捕获目标标签之间的关联,并探索这些标签之间的关联来提高分类性能,对于多标签图像识别都是非常重要的,本文采用图的形式对标签间的相互依赖关系进行建模,这是一种在标签空间中捕获拓扑结构的灵活方法,具体来说,我们将图中的每个节点(标签)表示为标签的单词嵌入,并建议使用GCN直接将这些标签嵌入映射到一组相互依赖的分类器中,这些分类器可以直接应用于图像特征进行分类。两个因素促使我们设计基于GCN的模型。首先,由于嵌入到分类器的映射参数在所有类之间共享,因此学习到的分类器可以在单词嵌入空间中保留弱语义结构,因为在此空间中,语义相关概念彼此接近,同时,所有分类器的梯度会影响分类器的生成函数,从而隐式地建模标签依赖关系。其次,我们根据标签的共现模式设计了一种新的标签关联矩阵,通过GCN显式地建模标签依赖关系,通过该矩阵,节点特征的更新将吸收相关节点(标签)的信息。
3.2 图卷积网络概述
基本思想是通过在节点之间传播信息来更新节点表示,与标准卷积不同的是,标准卷积作用于图像中的局部欧几里得结构,GCN的目标是学习图
G
\mathcal{G}
G上的函数
f
(
⋅
,
⋅
)
f(·,·)
f(⋅,⋅),它采用特征描述
H
l
∈
R
n
×
d
H^l∈\mathbb{R}^{n×d}
Hl∈Rn×d以及相应的相关矩阵
A
∈
R
n
×
n
A∈\mathbb{R}^{n×n}
A∈Rn×n为输入(其中
n
n
n为节点数,
d
d
d为节点特征的维数,也就是标签嵌入后的特征维数),更新节点特征为
H
l
+
1
∈
R
n
×
d
′
H^{l+1}∈\mathbb{R^{n×d'}}
Hl+1∈Rn×d′,每一个GCN层都可以写成一个非线性函数:
通过卷积运算,
f
(
⋅
,
⋅
)
f(·,·)
f(⋅,⋅)可以表示为:
其中,
W
l
∈
R
d
×
d
’
W^l∈\mathbb{R^{d×d^{’}}}
Wl∈Rd×d’为待学习的变换矩阵,
A
^
∈
R
n
×
n
\hat{A}∈\mathbb{R}^{n×n}
A^∈Rn×n为相关矩阵
A
A
A的归一化版本,
h
(
⋅
)
h(·)
h(⋅)为非线性运算.因此,我们可以通过叠加多个GCN层来学习和建模节点之间复杂的相互关系。
3.3 GCN用于多标签识别
我们的ML-GCN构建在GCN之上。GCN被提出用于半监督分类,其中节点级输出为每个节点的预测分数,与之不同的是,我们设计每个GCN节点的最终输出作为我们任务中对应标签的分类器,另外,图的结构(即相关矩阵)在其他任务中通常是预定义的,而在多标签图像识别任务中是不提供的,因此,我们需要从头开始构造相关矩阵,我们的方法的总体框架如图2所示,它由两个主要模块组成,即图像表示学习模块和基于GCN的分类器学习模块。
图2表示总体框架的ML-GCN模型多标签图像识别。对象标签用单词嵌入
Z
∈
R
C
×
d
Z∈\mathbb{R}^{C×d}
Z∈RC×d表示(
C
C
C为类别数,
d
d
d为单词嵌入向量的维数)。在这些标签表示之上构建有向图,其中每个节点表示一个标签.在标签图上学习堆叠GCNs,将这些标签表示映射到一组相互依赖的对象分类器,即
W
∈
R
C
×
D
W∈\mathbb{R}^{C×D}
W∈RC×D,应用于通过卷积网络从输入图像中提取的图像表示,以进行多标签图像识别.
具体来说,首先输入一张大小为448×448的图片,然后通过CNN网络提取出来所对应的特征图,大小为2048×14×14,然后通过全局最大池向量来获取到GCN网络中所需要的
x
x
x,也就是图片的特征,其维度为
D
D
D维,也就是2048,然后我们获得标签的类别
C
C
C,并且将每个类的标签映射到嵌入向量(词向量)低维空间中,维度变为
d
d
d维,接着在GCN网络中通过每一个GCN层更新节点的状态,每一个节点都对应一个分类器
w
i
w_{i}
wi,然后一共有
C
C
C个分类器,这些分类器之间相互依赖,然后在每一个GCN层都有一个
H
H
H来描述每一个节点所对应的新特征向量,且每一层每个节点对应的描述向量长度也不一样,最终能够达到图片特征所对应的维度,即
D
D
D维,这样可以将最终获得的
C
C
C类标签所对应的
D
D
D维.也就是分类器(
W
W
W)的最终维度,此时与
x
x
x相乘就能够得到一个
C
C
C维向量,就可以预测分数了。
图像表示学习 我们可以使用任何CNN基模型来学习图像的特征。在我们的实验中,我们使用ResNet-101作为实验的基础模型,因此,如果输入图像
I
I
I的分辨率为448×448,我们可以从conv5_x层中得到2048×14×14个feature maps,然后,我们使用全局最大池来获得图像级特征
x
x
x:
式中,
θ
c
n
n
θ_{cnn}
θcnn为模型参数,
D
=
2048
D = 2048
D=2048。
基于GCN的分类器学习 我们通过一个基于GCN的映射函数从标签表示中学习相互依赖的对象分类器
W
=
{
w
i
}
i
=
1
C
W = \{w_i\}_{i=1}^{C}
W={wi}i=1C,其中
C
C
C表示类别的数量,我们使用堆叠的GCNs,其中每个GCN层
l
l
l将来自前一层(
H
l
∈
R
C
×
d
H^l∈\mathbb{R}^{C×d}
Hl∈RC×d)的节点表示作为输入并且输出新的节点表示,即
H
l
+
1
∈
R
C
×
d
′
H^{l+1}∈\mathbb{R}^{C×d'}
Hl+1∈RC×d′,对于第一层,输入的是
Z
∈
R
C
×
d
Z ∈\mathbb{R}^{C×d}
Z∈RC×d矩阵,其中
d
d
d为标签级嵌入词的维数,对于最后一层,输出
W
∈
R
C
×
D
W∈\mathbb{R}^{C×D}
W∈RC×D,
D
D
D表示图像表示的维数,将所学的分类器应用到图像表示中,得到的预测分数为
我们假设一幅图像的真实标签
y
∈
R
C
y∈\mathbb{R}^C
y∈RC,其中
y
i
=
{
0
,
1
}
y^i =\{0,1\}
yi={0,1}表示标签
i
i
i是否出现在图像中,整个网络使用传统的多标签分类损失进行如下训练:
σ
(
⋅
)
σ(·)
σ(⋅)是sigmoid函数。
3.4 ML-GCN的相关矩阵
GCN的工作原理是基于相关矩阵在节点之间传播信息,因此,如何建立相关矩阵
A
A
A是GCN的一个关键问题,在大多数应用中,相关矩阵是预先定义的,然而,在任何标准的多标签图像识别数据集中都没有提供,本文采用数据驱动的方法建立了相关矩阵。也就是说,我们通过在数据集中挖掘标签的共现模式来定义标签之间的相关性.
我们以条件概率的形式对标签相关依赖进行建模,即
P
(
L
j
∣
L
i
)
P(Lj |Li)
P(Lj∣Li),表示标签
L
i
L_i
Li出现时标签
L
j
L_j
Lj出现的概率。如图3所示,
P
(
L
j
∣
L
i
)
P(L_j |L_i)
P(Lj∣Li)不等于
P
(
L
i
∣
L
j
)
P(L_i|L_j)
P(Li∣Lj)。因此,相关矩阵是不对称的。
图3说明两个标签之间的条件概率,照例,当“surfboard”(冲浪板)出现在图像中时,“person”也会以很高的概率出现,然而,在条件“人”出现,“冲浪板”就不一定会出现
为了构造相关矩阵,首先对训练集中出现的标签对进行计数,得到矩阵
M
∈
R
C
×
C
M∈ \mathbb{R}^{C×C}
M∈RC×C,具体而言,
C
C
C为类别数,
M
i
j
M_{ij}
Mij为
L
i
L_i
Li与
L
j
L_j
Lj的重合次数,然后利用该标签共现矩阵,得到条件概率矩阵:
式中,
N
i
N_i
Ni表示
L
i
L_i
Li在训练集中出现的次数,
P
i
j
=
P
(
L
j
∣
L
i
)
P_{ij}= P(L_j |L_i)
Pij=P(Lj∣Li)表示标签
L
i
L_i
Li出现时标签
L
j
L_j
Lj出现的概率。
然而,上述简单的相关性可能有两个缺点,首先,一个标签与其他标签的共现模式可能呈现长尾分布,其中一些罕见的共现可能是噪声,其次,训练和测试中共现的绝对数量可能不是完全一致的,过度拟合训练集的相关矩阵会降低泛化能力,因此,我们建议对相关
P
P
P进行二值化。具体来说,我们使用阈值
τ
τ
τ来过滤有噪声的边缘,操作可以写成:
A
A
A是二值相关矩阵
过渡平滑问题 由式(2)可知,经过GCN后,节点的特征将是自身特征与相邻节点特征的加权和,然后,二值相关矩阵的一个直接问题是它会导致过度平滑,也就是说,节点特征可能被过度平滑,这样来自不同集群的节点(例如,厨房相关的节点vs.客厅相关的节点)可能变得难以区分,为了缓解这一问题,我们提出以下重新加权的方案:
其中
A
′
A{'}
A′是重新加权的相关矩阵,
p
p
p决定分配给节点本身和其他相关节点的权值,这样在更新节点特征时,节点本身的权值是固定的,相关节点的权值由邻域分布决定,当
p
→
1
p→1
p→1时,不考虑节点本身的特性。而另一方面,当
p
→
0
p→0
p→0时,邻近信息往往被忽略.
3.5代码略解
首先可以自定义一个dataset.py,返回如下形式:
#img:对应的图片
#filename:对应的图片名称
#self.inp:标签的词向量
#target:目标矩阵
return (img,img_name,self.inp),target
self.inp表示的是词向量,假设你有4个标签,a,b,c,d,然后使用glove将其转化成(4,300)的词向量,这样标签之间已经存在潜在关系了。target表示你图片对应的标签,真值为1,剩余为0,调用方法如下所示:
for ind,((img , img_name, inp), target )in enumerate(train_dataloader):
print(img,img_name,inp,target)
这样就可以输出值了,接着我们定义一个model.py,可以按照原代码里面的格式写法,我们需要准备一个adj_file.pkl文件,里面返回的是如下的格式:
adj = {'adj': adj_matrix,'nums': nums_matrix}
adj_matrix表示相关性矩阵,相关矩阵主要是标签a出现时标签b,c,d出现的个数,标签b出现时a,c,d出现的个数这样的…是一个对称矩阵,nums_matrix保存的则是标签a,b,c,d分别出现的次数
def gen_A(num_classes, t, adj_file):#获取相关矩阵的代码
import pickle
result = pickle.load(open(adj_file, 'rb'))
_adj = result['adj']
_nums = result['nums']
_nums = _nums[:, np.newaxis]
_adj = _adj / _nums
_adj[_adj < t] = 0
_adj[_adj >= t] = 1
#sum(0, keepdims=True)求数组每一行的和,其他位置为1
#0.25应该是邻居对其产生的影响:neighbor_rate
_adj = _adj * 0.25 / (_adj.sum(0, keepdims=True) + 1e-6)
#np.identity返回的是nxn的主对角线为1,其余地方为0的数组
_adj = _adj + np.identity(num_classes, np.int)
return _adj
def gen_adj(A):
#torch.pow对输入的每分量求幂次运算
D = torch.pow(A.sum(1).float(), -0.5)
#取得以input为对角线的方阵:
D = torch.diag(D)
#matmul:两个数组的矩阵乘积
adj = torch.matmul(torch.matmul(A, D).t(), D)
return adj
4.实验
在本节中,我们首先描述评估指标和实现细节。然后,我们报告了两个基准多标签图像识别数据集,即MS-COCO和VOC 2007的实证结果。最后,给出了可视化分析
4.1评价标准
按照常规设置,我们报告平均每级精度(CP)、召回率(CR)、F1 (CF1)和平均总体精度(OP)、召回率(OR)、F1 (OF1),用于性能评估,对于每一幅图像,如果标签的置信度大于0.5,则被预测为正。为了公平比较,我们还报告了前3个标签的结果。另外,我们还计算并报告了平均平均精度(mAP),一般来说,总体平均F1 (OF1)、每个类平均F1 (CF1)和mAP对于性能评估相对更重要。
4.2实现细节
没有特别说明,我们的ML-GCN由两个输出维数分别为1024和2048的GCN层组成,对于名称包含多个单词的类别,我们获得作为所有单词嵌入的平均值的标签表示。对于相关矩阵,在没有特别说明的情况下,我们将Eq.(7)中的 τ τ τ设为0.4,将Eq.(8)中的 p p p设为0.2.在图像表示学习分支中,我们采用斜率为负0.2的LeakyReLU作为非线性激活函数来使得实验中的收敛速度更快,我们采用ResNet-101作为特征提取骨干,它是在ImageNet上预先训练好的,在训练期间,输入图像被随机裁剪并通过随机水平翻转调整为448×448以进行数据增强。在网络优化方面,采用SGD作为优化器,momentum设置为0.9,重量衰减是 1 0 − 4 10^{-4} 10−4,初始学习率是0.01,每40个epoch衰减10倍,网络总共训练100个epoch.
4.3实验结果
在本部分中,我们首先介绍与MS-COCO和VOC 2007的最新技术的比较。 然后,我们进行消融研究以评估建议方法的关键方面
4.3.1与先进方法的比较
MS-COCO上的结果 MS-COCO是一种广泛使用的多标签图像识别基准。它包含82,081张图像作为训练集,40,504张图像作为验证集。对象被分成80个类,每幅图像约有2.9个对象标签,很明显,我们基于二值相关矩阵的ML-GCN方法的分类性能较差,这可能与3.4节中讨论的过平滑问题(同一连通分量内的节点的表征趋向于收敛到同一个)有关,提出的重新加权方案可以缓解过平滑问题,从而获得更优的性能。与现有的重新加权方法相比,我们的方法在几乎所有指标下都表现得更好,这表明了我们提出的ML-GCN及其相应的重新加权方法的有效性
表1为与MS-COCO数据集上最先进的方法进行比较。本文报告了基于两类相关矩阵的ML-GCN的性能。“Binary”表示我们使用二元相关矩阵。“Re-weighted”表示使用所提出的重新加权方案生成的相关矩阵
4.3.2消融实验
在本节中,我们从四个不同的方面进行消融研究,包括ML-GCN对不同类型的单词嵌入的敏感性,相关矩阵二值化中 τ τ τ的影响, p p p对相关矩阵重加权的影响,以及GCN的深度.
在不同类型的单词嵌入下的ML-GCN 当使用不同的单词嵌入作为GCN的输入时,多标签识别的准确率不会受到很大的影响,此外,观察结果(特别是one-hot的结果)证明,我们的方法实现的准确性改进并不完全来自于单词嵌入派生的语义意义,此外,使用强大的单词嵌入可以获得更好的性能。一个可能的原因可能是,从大型文本语料库中学习到的单词嵌入保持了某种语义拓扑,也就是说,对于语义相关的概念,它们的嵌入在嵌入空间中是接近的。我们的模型可以利用这些隐式依赖关系,进一步提高多标签图像识别的效率。
不同阈值
τ
τ
τ的影响 我们对Eq.(7)中阈值的变化进行相关矩阵二值化,结果如图5所示。注意,如果我们不过滤任何边缘,模型将不会收敛,因此,在该图中,没有关于0的结果。从图中可以看出,在滤除小概率边缘(即噪声边缘)时,提高了多标签识别的准确率。但是,当滤除过多的边缘时,由于相关的邻居也会被忽略,因此精度会下降。MS-COCO和VOC 2007的最优值均为0.4。
不同p值对相关矩阵重加权的影响 为了探究Eq.(8)中不同的p值对多标签分类精度的影响,我们将p值在
{
0
,
0.1
,
0.2
,
…
,
0.9
,
1
}
\{0,0.1,0.2,…, 0.9, 1\}
{0,0.1,0.2,…,0.9,1},如图6所示,一般来说,该图显示了在GCN中更新节点特性时,平衡节点本身和邻域之间的权值的重要性。在实验中,我们通过交叉验证来选择最优的
p
p
p值。我们可以看到,当
p
=
0.2
p = 0.2
p=0.2时,它在MS-COCO和VOC 2007上的性能都是最好的。如果
p
p
p过小,图中的节点(标签)就不能从相关节点(标签)获得足够的信息。而如果
p
p
p太大,则会导致过度平滑,当
p
=
1
p=1
p=1时,模型也不收敛。
注意,当p = 0时,我们基本上没有明确地合并标签相关性。这种改进得益于我们的ML-GCN模型通过一个共享的基于GCN的映射函数从之前的标签表示中学习对象分类器,该映射函数隐式地建模了标签依赖关系,如3.1节所述。
越深越好? 我们在表3中为我们的模型显示了不同数量的GCN层的性能结果。对于三层模型,连续层的输出维数分别为1024、1024和2048。四层模型的维数分别为1024、1024、1024和2048。如图所示,当图卷积层数增加时,两个数据集的多标签识别性能都会下降。性能下降的可能原因是,当使用更多的GCN层时,节点之间的传播将会累积,这可能导致过度平滑
4.4 分类器可视化
通过与现有方法的比较和详细的消融研究,我们的方法的有效性已被定量评估。在本节中,我们将学习的相互依存的分类器可视化,以表明是否可以保持有意义的语义拓扑。
在图8中,我们采用t-SNE来可视化我们提出的ML-GCN学习的分类器,以及通过vanilla ResNet学习的分类器(即最后一个全连通层的参数)。可以清楚地看到,通过我们的方法学习的分类器保持了有意义的语义拓扑。具体来说,学习过的分类器展示了集群模式。在一个超概念(transportation)内的分类器(car和truck)在分类器空间中趋于接近,这与常识是一致的,这表明通过我们的方法学到的分类器可能并不局限于所学分类器所在的数据集,而是具有泛化能力。相反,通过vanilla ResNet学习的分类器均匀分布在空间中,没有显示任何有意义的拓扑。这种可视化进一步显示了我们的方法在建模标签依赖关系方面的有效性。
4.5 图像检索性能
除了分析学习到的分类器,我们进一步评估我们的模型是否能学习更好的图像表示。我们进行了图像检索实验来验证这一点。具体来说,我们使用k-NN算法执行基于内容的图像检索,以验证模型学习到的图像表示的判别能力,尽管如此,我们还是从普通ResNet中选择了这些特性作为基准。我们展示了k-NN返回的前5幅图像。检索结果如图7所示,对于每个查询图像,根据与查询图像的距离,将相应的返回图像按升序排序。例如,在图7 ©中,我们的方法返回的图像的标签几乎与查询图像的标签完全匹配。结果表明,我们的MLGCN不仅能够有效地捕获标签依赖关系来学习更好的分类器,而且对于多标签识别的图像表示学习也有帮助
5.结论
获取标签依赖关系是多标签图像识别的关键问题,为了建模和探索这一重要信息,我们提出了一个基于GCN的模型来从之前的标签表示中学习相互依赖的对象分类器,例如,单词嵌入。为了明确地建立标签依赖关系模型,我们设计了一种新的重新加权方案,通过平衡节点与其邻域之间的权值来构建GCN的相关矩阵,用于节点特征更新,该方案能有效缓解影响GCN性能的两个关键因素——过拟合和过平滑,定量和定性的结果验证了我们的ML-GCN的优势