传统的分类器大多是依据单标签数据设计的, 但是随着数据资源的迅猛增长, 多标签数据分类问题成为研究热点, 多标签图像分类是其中一个重要的研究方向. 传统的机器学习算法, 例如K近邻算法(K-nearest neighbors, KNN)[1]、支持向量机(support vector machine, SVM)[2]等主要用于单标签图像分类, 而深度学习算法, 例如卷积神经网络(convolutional neural networks, CNN)、图卷积网络(graph convolutional networks, GCN)等能够很好地提取图像特征用于多标签图像分类, 但大部分模型都只学习图像的视觉表示特征, 忽略了图像标签的语义特征信息. 本文提出一种基于多头图注意力机制的图像多标签分类模型, 通过建立多头图注意力机制, 对图像标签的注意力权重进行学习, 获得标签之间的不对称相关关系. 并将标签的注意力权重与图像视觉特征进行融合.
现有的多标签图像分类模型大致可以分为3类: 不基于标签间的相关关系进行图像分类的模型、基于标签对之间的关系信息进行图像分类的模型以及基于所有标签之间的关系信息进行图像分类的模型. 根据模型利用标签相关性信息的程度高低可以将多标签图像分类算法分为一阶、二阶和高阶的算法. Amorim等[3]提出了一种基于单标签分类最优连通性的半监督学习方法, 并将其扩展到多标签分类. Huang等[4]提出了包含多个二元分类器的多标签分类算法LLSF, 该方法将每个类别标签视为二元分类问题, 通过学习每个类标签的特定数据表示特征进行类别单标签分类. 这些方法虽然有一定效果, 但是无法有效利用图像标签之间相互依赖的相关性信息. Huang等[5]又提出了LPLC贝叶斯模型, 该模型通过学习局部正负成对标签相关性进行多标签分类. Wang等[6]提出CNN-RNN来学习标签语义特征依赖性以及标签相关性, 并将两个信息集成到一个统一的框架中. Chen等[7]提出了基于GCN的多标签图像分类模型, 该方法通过ResNet101模型[8]提取图像特征, 通过图卷积神经网络(GCN)[9]学习标签特征. 最近研究[10, 11]通过构建不同的卷积神经网络(CNN)模型框架, 可以同时识别多标签图像的标签语义信息和标签相关性, 并通过CNN中不同的优化器自适应学习多标签图像分类器. 虽然, 深度网络模型在多标签图像分类中能够很好地学习图像特征以及图像标签关系特征, 但随着网络的加深也会伴随模型过拟合、梯度爆炸的问题. 最近, 越来越多的学者将注意力机制融入深度学习模型[12, 13]进行图像分类任务, 并取得了良好的分类效果.
随着深度学习的进一步发展, 注意力机制被广泛应用于计算机视觉的各项任务中, 注意力机制通过对重要信息分配更高的权重提升模型分类性能. Transformer的初次提出是为了解决机器翻译问题, 因为它能捕捉到全局的上下文信息, Transformer的全局属性主要体现在它的编码方式和多头注意力机制(multiple head attention, MHA)[14]. 王延召[15]提出了基于多头自注意力机制的三维点云分类方法, 使用多个并行的自注意力模块分别从不同的特征维度提取各个特征向量之间的关联信息并将结果融合, 以此来提升模型的分类性能. 李金星等[14]利用融合多头注意力机制关注全局特征, 通过交叉注意力综合提取X线胸片图像的浅层直观特征和深层抽象特征, 使所提模型具有优异的肺炎诊断分类性能. 张健飞等[16]提出了一种以结构振动加速度信号为输入的基于多头自注意力的CNN模型, 利用多头自注意力机制学习输入数据的全局特征, 提高了模型的识别精度与辨识能力.
基于以上, 本文提出一种基于多头图注意力机制与图模型的多标签图像分类模型(multi-label image classification algorithm based on multi-head graph attention network and graph model, ML-M-GAT), 该模型利用标签共现关系与标签属性信息构建图模型, 使用多头注意力机制学习标签的注意力权重, 并利用标签权重将标签语义特征与图像特征进行融合, 从而将标签相关性与标签语义信息融入到多标签图像分类模型中. 最后, 在两大公开数据集上与多种模型进行对比实验, 验证了本文所提模型的有效性.
1 本文算法本文提出ML-M-GAT, 该算法主要包括4个部分: 基于ResNet101模型的图像特征提取模块、基于词嵌入和图结构的标签向量转换模块、基于多头图注意力机制的标签注意力权重学习模块以及基于融合特征的分类器模块, 模型结构如图1所示.
由图1可知, ML-M-GAT利用ResNet101模型提取每一张输入图像的特征, 采用词嵌入模型获得标签的词嵌入矩阵, 并结合标签类别共现矩阵转换为图结构, 将标签信息图输入多头图注意力模型获得标签间不对称相关关系权重矩阵. 为匹配该权重矩阵, 在图像特征提取模块后添加特征降维模块, 最后将降维后的图像特征与标签注意力权重进行融合, 输入多标签分类器进行分类预测.
1.1 图像特征提取-降维模块
残差网络(residual network, ResNet)在2015年由He等[17]提出, 解决了CNN模型深度加深出现的梯度爆炸、消失问题, 最具代表性的是: ResNet50、ResNet101等. 如图2所示, 残差网络从输入X引出一条快速连接, 与经过两层卷积层处理后的特征相加, 最后通过ReLU函数得到H(X).
ML-M-GAT使用在训练数据集上训练好的ResNet101模型, 并修改ResNet101模型最后的全连接层参数, 该层原始参数设定输入维度为2 048, 输出维度为图像标签种类数, 保持输入参数不变, 修改输出参数为2 048后得到多标签图像特征提取器. ML-M-GAT将图像Ii尺寸裁剪为224×224后输入ResNet101图像特征提取器, 获得多标签图像的特征张量fi, 计算过程如式(1):
$ {f_i} = {f_{{{\rm{Re}}} {\rm{sNet}}}}\left( {{I_i};{\theta _{{\rm{ResNet}}}}} \right) \in {\mathbb{R}^{W \times H \times D}} $ | (1) |
其中, fResNet表示ResNet101图像特征提取器, Ii 表示第i张图像,
为了最终将图像特征与标签注意力权重进行融合, 匹配图像特征与标签注意力权重矩阵的维度, 需要对多标签图像的特征张量fi进行降维. 同时, 为了最大程度的保留图像原始信息并简化模型, ML-M-GAT在图像特征提取模块设置特征张量fi的长、宽均为1, 因此只需对通道数D进行降维. ML-M-GAT通过一层卷积层conv1得到降维后的特征向量xi, 计算过程如式(2):
$ {x_i} = {f_{{\rm{conv1}}}}\left( {{f_i};{\theta _{{\rm{conv1}}}}} \right) \in {\mathbb{R}^d} $ | (2) |
其中, fconv1表示卷积层conv1,
对于给定图像Ii的标签序列
$ {a'_i} = {f_{{\rm{conv2}}}}\left( {{a_i};{\theta _{{\rm{conv2}}}}} \right) \in {\mathbb{R}^{d''}} $ | (3) |
其中, fconv2表示卷积层conv2,
$ {p_{ij}} = P\left( {{l_j}|{l_i}} \right) = \frac{{{Q_{ij}}}}{{{Q_i}}} $ | (4) |
其中, Qi表示标签li在多标签数据集中出现的总次数, Qij表示标签li和lj在多标签数据集中同时出现的总次数. 由式(4)可知共现概率pij≠pji, 即全局标签类别共现关系矩阵P为非对称矩阵. 如图3所示, 为多标签图像数据集VOC-2007中标签贡献概率矩阵.
由图3可知, VOC-2007数据集中“person”标签与其他标签间存在强烈的共现关系, 即当“horse”“tvmonitor”等标签出现时通常都伴随着“person”标签的出现, 但由标签贡献概率的非对称性可知, 当“person”标签出现时, “horse”“tvmonitor”等标签不一定伴随出现, 即图像标签之间存在不对称共现关系.
ML-M-GAT定义图像多标签信息图模型为
ML-M-GAT采用多头图注意力模型(multi-head graph attention network, M-GAT)[19]学习多标签图像数据集中标签间的不对称相关关系, 输入图像多标签信息图
在M-GAT的每一个GAT中, 首先将线性变换得到的节点
$ e_{ij}^{(l)} = Leaky{Re} LU({\vec a^{{{(l)}^{\rm{T}}}}}({\textit{z}}_i^{(l)}||{\textit{z}}_j^{(l)})) $ | (5) |
其中,
对节点i的所有邻居节点进行归一化, 得到第l层中归一化后的注意力系数
$ \alpha _{ij}^{(l)} = \frac{{\exp (e_{ij}^{(l)})}}{{\displaystyle\sum\nolimits_{k \in N(i)} {\exp (e_{ik}^{(l)})} }} $ | (6) |
其中,
将邻居节点的特征聚合起来, 并且根据注意力系数
$ h_i^{(l + 1)} = \sigma \left( {\sum\nolimits_{j \in N(i)} {\alpha _{ij}^{(l)}} {\textit{z}}_j^{(l)}} \right) $ | (7) |
其中,
最后, ML-M-GAT利用式(8)整合多个注意力机制的输出结果作为对应节点的特征输出.
$ h_i^{(l + 1)} = \sigma \left( {\frac{1}{K}\sum\limits_{k = 1}^K {\sum\nolimits_{j \in N(i)} {\alpha _{ij}^k} {W^k}h_j^{(l)}} } \right) $ | (8) |
其中, K为多头注意力的头数,
ML-M-GAT将M-GAT所提取的多标签注意力权重矩阵Z与降维后的图像特征向量xi相乘, 得到多标签图像融合特征, 再经过一层全连接层fc后, 得到每一张图像的多标签分类预测结果
$ {\hat y_i} = {f_{fc}}\left( {Z{x_i};{\theta _{fc}}} \right) \in {\mathbb{R}^C} $ | (10) |
其中,
针对每一张多标签图像的分类预测结果, ML-M-GAT使用multi label soft margin loss作为模型的损失函数, 具体计算公式如式(11).
$ \begin{split} \mathcal{L}\left( {{{\hat y}_i}, {y_i}} \right) =& \frac{1}{C}\sum\limits_{j = 1}^C {{y_{ij}}} \log \left( {{{\left( {1 + \exp \left( { - {{\hat y}_{ij}}} \right)} \right)}^{ - 1}}} \right) \\ &+ \left( {1 - {y_{ij}}} \right)\log \left( {\frac{{\exp \left( { - {y_{ij}}} \right)}}{{1 + \exp \left( { - {y_{ij}}} \right)}}} \right) \end{split} $ | (11) |
其中, C为标签的总种类数,
算法1. ML-M-GAT模型算法过程
输入: 图像集合
输出: 预测标签集合
1) for
2)
3)
4)
5)
6)
7)
8)
9)
10) return
为验证本文所提多标签图像分类模型的有效性, 选取2个多标签图像数据集进行实验, 并在多个指标层面与经典的多标签图像分类算法进行对比. ML-M-GAT使用Python进行编程, 软件环境为: Python 3.9、PyTorch 1.12.1, 使用SGD作为模型优化器.
ML-M-GAT中ResNet101图像特征提取器获得多标签图像的特征张量
实验使用PASCAL visual object classes challenge 2007 (VOC-2007)[20]和Microsoft COCO 2014 (COCO-2014)[21]数据集. VOC-2007数据集中train、validation、test共有9 963张图像, 标签总类别数为20; COCO-2014数据集中train、test共有123 558张图像, 标签总类别数为80. 采用VOC-2007完整数据集用于训练测试, 由于COCO-2014数据集图片数量庞大, 故从82 783张训练图像样本中随机抽取20 000张图像样本进行训练. 图4为VOC-2007数据集的部分示例, 图5为COCO-2014数据集的部分示例.
2.3 实验评价指标
本文使用平均均值精度(mean average precision, mAP)、平均每类精度(class precision, CP)、平均每类召回(class recall, CR)、整体平均精度(overall precision, OP)、整体平均召回(overall recall, OR)作为多标签图像分类模型的评价指标[22–24].
由于COCO-2014数据集测试集包含40 000多张图像, 故本文在进行测试时从所有测试图像中随机抽取400张图像作为实验测试集, 随机抽取3次, 取3次测试实验评价指标得分的平均值作为最后的指标得分.
2.4 实验结果分析ML-M-GAT在VOC-2007数据集上训练30次后mAP已经达到90%并趋于饱和, loss也已经降至0.1以下并趋于稳定. ML-M-GAT在COCO-2014数据集上训练50次后mAP已经达到80%并趋于饱和, loss也已经降至0.1以下并趋于稳定.
选取CNN-RNN、ResNet101、MLIR、MIC-FLC共4种多标签图像分类算法与本文所提ML-M-GAT模型进行对比实验分析. CNN-RNN[6]通过卷积神经网络与序列神经网络学习标签语义特征依赖性以及标签相关性, 最终实现多标签图像分类. 基于ResNet101[8]构建的多标签图像分类模型通过引入残差学习, 解决了传统卷积网络在信息传递过程中造成的信息丢失、损耗问题. MLIR[25]在利用ResNet101对图像进行特征提取的过程中引入了注意力机制, 将标签和图像特征投影到公共潜在向量空间完成多标签图像分类. MIC-FLC[26]通过交替学习多标签分类器和新类检测器实现多标签图像分类问题. 表1为5种算法在VOC-2007数据集上的实验结果, 表2为5种算法在COCO-2014数据集上的实验结果, 加粗字体表示各指标的最优表现.
由表1可知, 本文算法在VOC-2007数据集上mAP达到了94.0%, 相较于CNN-RNN 、ResNet101、MLIR、MIC-FLC模型, mAP分别提升了10%、4.1%、2.1%、3.6%; CP和OP都达到了95.5%和96.4%, 为所有对比算法中的最优; CF1达到82%, 与ResNet101和MIC-FLC模型持平; CR达到82.1%, 仅次于ResNet101模型.
由表2可知, 本文算法在COCO-2014数据集上mAP达到了82.2%, 相较于CNN-RNN 、ResNet101、MLIR、MIC-FLC模型, mAP分别提升了20.2%、3.9%、1.7%、2.2%; CP和OP都达到了85.8%和86.9%, 为所有对比算法中的最优; CF1达到了68.2%, 仅次于ResNet101模型; CR达到了67.9%, 为所有对比算法中的最优.
由实验结果可以证明, 本文所提出的一种基于多头图注意力机制与图模型的多标签图像分类模型(ML-M-GAT), 具有较好的多标签图像分类效果.
3 结束语充分挖掘图像标签之间的相关关系, 是提升多标签图像分类模型精度的一大研究热点, 本文提出一种基于多头图注意力机制与图模型的多标签图像分类模型(ML-M-GAT), 该模型在利用ResNet101模型提取图像特征的基础上, 利用标签共现关系与标签属性信息构建图模型, 使用多头注意力机制学习标签的注意力权重, 并利用标签权重将标签语义特征与图像特征进行融合, 从而将标签相关性与标签语义信息融入到多标签图像分类模型中. 通过在VOC-2007和COCO-2014数据集上与4种多标签图像分类算法进行对比实验分析, ML-M-GAT在多个多标签图像分类指标上取得较好结果, 验证了模型的有效性. 下一步将关注多标签数据集中样本分布不均衡问题, 从平衡样本分布角度继续深入研究.
[1] |
Zhou NR, Liu XX, Chen YL, et al. Quantum K-nearest-neighbor image classification algorithm based on K-L transform. International Journal of Theoretical Physics, 2021, 60(4): 1209-1224. |
[2] |
Yousefi S, Mirzaee S, Almohamad H, et al. Image classification and land cover mapping using Sentinel-2 imagery: Optimization of SVM parameters. Land, 2022, 11(7): 993. DOI:10.3390/land11070993 |
[3] |
Amorim WP, Falcão AX, Papa JP. Multi-label semi-supervised classification through optimum-path forest. Information Sciences, 2018, 465: 86-104. DOI:10.1016/j.ins.2018.06.067 |
[4] |
Huang J, Li GR, Huang QM, et al. Learning label-specific features and class-dependent labels for multi-label classification. IEEE Transactions on Knowledge and Data Engineering, 2016, 28(12): 3309-3323. DOI:10.1109/TKDE.2016.2608339 |
[5] |
Huang J, Li GR, Wang SH, et al. Multi-label classification by exploiting local positive and negative pairwise label correlation. Neurocomputing, 2017, 257: 164-174. DOI:10.1016/j.neucom.2016.12.073 |
[6] |
Wang J, Yang Y, Mao JH, et al. CNN-RNN: A unified framework for multi-label image classification. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 2285–2294.
|
[7] |
Chen ZM, Wei XS, Wang P, et al. Multi-label image recognition with graph convolutional networks. Proceedings of the 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 5172–5181.
|
[8] |
Tan MX, Le Q. EfficientNet: Rethinking model scaling for convolutional neural networks. Proceedings of the 36th International Conference on Machine Learning. Long Beach: PMLR, 2019. 6015–6114.
|
[9] |
Kipf TN, Welling M. Semi-supervised classification with graph convolutional networks. arXiv:1609.02907, 2016.
|
[10] |
Song LY, Liu J, Qian BY, et al. A deep multi-modal CNN for multi-instance multi-label image classification. IEEE Transactions on Image Processing, 2018, 27(12): 6025-6038. DOI:10.1109/TIP.2018.2864920 |
[11] |
Kareem RSA, Ramanjineyulu AG, Rajan R, et al. Multilabel land cover aerial image classification using convolutional neural networks. Arabian Journal of Geosciences, 2021, 14(17): 1681. DOI:10.1007/s12517-021-07791-z |
[12] |
宋一格, 王宁, 李宏昌, 等. 基于分组卷积与双注意力机制的河流水面污染图像分类. 计算机系统应用, 2022, 31(9): 250-256. DOI:10.15888/j.cnki.csa.008688 |
[13] |
李文书, 王志骁, 李绅皓, 等. 基于注意力机制的弱监督细粒度图像分类. 计算机系统应用, 2021, 30(10): 232-239. DOI:10.15888/j.cnki.csa.008141 |
[14] |
李金星, 孙俊, 李超, 等. 融合多头注意力机制的新冠肺炎联合诊断与分割. 中国图象图形学报, 2022, 27(12): 3651-3662. |
[15] |
王延召. 基于多头自注意力机制的三维点云分类分割方法研究[硕士学位论文]. 哈尔滨: 哈尔滨理工大学, 2022.
|
[16] |
张健飞, 黄朝东, 王子凡. 基于多头自注意力机制和卷积神经网络的结构损伤识别研究. 振动与冲击, 2022, 41(24): 60-71. |
[17] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016. 770–778.
|
[18] |
席笑文, 郭颖, 宋欣娜, 等. 基于Word2Vec与LDA主题模型的技术相似性可视化研究. 情报学报, 2021, 40(9): 974-983. DOI:10.3772/j.issn.1000-0135.2021.09.007 |
[19] |
Zhang BY, Ling HF, Li P, et al. Multi-head attention graph network for few shot learning. Computers, Materials & Continua, 2021, 68(2): 1505-1517. |
[20] |
Everingham M, van Gool L, Williams CKI, et al. The PASCAL visual object classes (VOC) challenge. International Journal of Computer Vision, 2010, 88(2): 303-338. DOI:10.1007/s11263-009-0275-4 |
[21] |
Lin TY, Maire M, Belongie S, et al. Microsoft COCO: Common objects in context. Proceedings of the 13th European Conference on Computer Vision. Zurich: Springer, 2014. 740–755.
|
[22] |
朱旭东, 熊贇. 基于多层次注意力与图模型的图像多标签分类算法. 计算机工程, 2022, 48(4): 173-178, 190. |
[23] |
陈琳琳, 朱惠娟, 朱俊, 等. 基于卷积神经网络的多尺度注意力图像分类模型. 南京理工大学学报, 2020, 44(6): 669-675. DOI:10.14177/j.cnki.32-1397n.2020.44.06.005 |
[24] |
吴东东. 基于图神经网络的多标签图像分类研究[硕士学位论文]. 西安: 电子科技大学, 2021.
|
[25] |
Wen SP, Liu WW, Yang Y, et al. Multilabel image classification via feature/label co-projection. IEEE Trans-actions on Systems, Man, and Cybernetics: Systems, 2021, 51(11): 7250-7259. DOI:10.1109/TSMC.2020.2967071 |
[26] |
Zhang Y, Wang Y, Liu XY, et al. Large-scale multi-label classification using unknown streaming images. Pattern Recognition, 2020, 99: 107100. DOI:10.1016/j.patcog.2019.107100 |