基于ResNeSt和改进Transformer的多标签图像分类算法

2024-02-02 14:54贺,张
测试技术学报 2024年1期
关键词:分支类别注意力

王 贺,张 震

(山西大学 物理电子工程学院,山西 太原 030006)

0 引言

图像分类作为计算机视觉中的基本问题备受关注,常应用于图像检索[1]、视频注释[2]和指纹识别[3]等领域。通常所研究的图像中并非只包含一类对象,为了能够更准确地提取图像信息,人们开始对多标签图像分类(Multi-Label Image Classification,MLIC)展开研究。

早期多标签图像分类将图像信息转化为多个二分类方法进行训练,效率较低。2017 年,Zhu F 等[4]提出了SRN 对目标出现区域进行研究,利用注意图对每个标签应关注的图像区域进行划分,使多标签图像分类效率有了极大提高。随着卷积神经网络(CNN)的发展,多标签图像分类的精度逐步提升,但是图像中目标之间的关联性还有待发掘,导致多标签图像分类精度不高。2019 年,Chen Z M 等[5]提出了ML-GCN,为图像上出现的标签建立了相关矩阵,使卷积神经网络一定程度上学习到了标签之间的关联性,在多标签图像分类上取得了很好的结果。但是MLGCN 模型获得的标签相关性具有一定的局限性,因为在数据集中标签之间的频率关系并不代表真实场景中目标之间的关系。Chen T 等[6]提出了SSGRL,利用语义解耦模块结合类别语义来学习特定语义的表示,将语义交互模块与基于统计标签共现的图相关联,并通过图传播机制探索它们之间的交互,效率获得了很大提升。针对MLGCN 存在的问题,Ye J 等[7]提出的ADD-GCN 在一定程度上进行了改善,该方法在图像中建立了利用注意力机制驱动的动态图卷积网络来表示标签的相关性,获得了更好的效果。

近些年,Transformer开始应用于计算机视觉的各个领域,并获得了巨大的成功,如Vision Transformers(ViT)用于图像分类[8];DETR用于目标检测[9]。受到DETR的启发,2021年,Liu S等[10]提出利用ResNet作为特征提取网络,Transformer作为分类器进行多标签分类:通过多头注意力机制,从对象的不同部分或不同视图中提取特征,将每个标签类视为Transformer解码器中的查询,并对后续二进制分类的相关特征进行交叉关注,该方法在多个数据集上获得了很好的结果。此后,Ridnik T等[11]提出基于Transformer的分类头ML-decoder对图像进行分类,ML-decoder灵活高效,可以用于单标签、多标签和零样本等多种场景中。

本文提出了一种基于ResNeSt 与双分支Transformer的网络结构。首先,ResNeSt网络在不同的网络分支上应用通道注意力,利用特征图注意力和多路径表示的互补优势,能更好地提取细微的特征,提高特征提取性能;其次,在Transformer模块基础上,加入BatchFormerV2[12]模块分支,通过密集表示学习提高小样本的类别精度。与其他多标签图像分类模型相比,本文所提多标签图像分类算法在不同数据集上的精度都有一定的提升。

1 系统框架

如图1 所示,系统框架由两部分构成。第一部分进行特征提取,其中特征提取模块选用分裂注意力网络(ResNeSt),它将图像进行分割,利用通道注意力提取特征,再将其整合到一个统一的注意力块中,以提取到不同网络分支的特征。

图1 系统框图Fig.1 Structure diagram of system

模型第二部分由Transformer Encoder、Decoder 模 块、BatchFormerV2 Encoder 模 块、分类器(Classifier)和损失函数(Loss Function)组成。将ResNeSt 提取到的底层特征加入位置编码(Positional Embeddings)作为Transformer Encoder模块的输入;Transformer Encoder 模块在训练阶段可以通过共享其模块得到BatchFormerV2 Encoder 模块,形成双分支结构,两个分支进行融合得到键值对传入Transformer Decoder 模块中;然后,通过分类器进行类别预测;最后,通过损失函数进行反向传播,更新参数以得到最佳结果。需要注意的是,BatchFormerV2 Encoder模块只在训练阶段出现,在测试阶段会被删除,这样可以避免额外的推理负担。

1.1 分裂注意力网络(ResNeSt)

ResNet 解决了网络加深出现的退化问题,但是它缺乏通道间的信息融合,因此,本文采用了一种在ResNet基础上进行改进的网络——分裂注意力网络(ResNeSt)。其在ResNet 的基础上加入了各个通道间的信息融合,将通道级注意力应用于不同的网络分支,在捕获跨特征交互和学习多样化表现方面具有重要作用,通过分裂注意力机制获取每个通道不同的重要性,可以将感兴趣区域更加精确地提取出来,得到比ResNet 更好的效果。

ResNeSt 模块如图2 所示,输入特征图被分割为t个基础特征图,其中每个组进行切片处理得到N个切片;经过1×1 卷积和3×3 卷积处理之后送入分裂注意力(见图3)中;然后,将每个通过分裂注意力得到的输出进行融合操作,通过1×1 卷积还原通道数,这样得到的特征融合了各个通道之间的信息,而且输入和输出的形状相同,可以当作一个模块加入模型中。

图2 ResNeSt模块Fig.2 ResNeSt block

图3 分裂注意力模块Fig.3 Split attention module

分裂注意力模块如图3 所示,在图2 中经过3×3 卷积处理后的N个切片进入分裂注意力模块,首先,进行累加求和得到总特征,然后,通过平均池化层收集全局上下文信息,将收集到的信息通过全连接层、归一化层和ReLU 函数得到每个切片的注意力权重大小,其分别与每个切片相乘再进行融合,这样可以对各个通道进行信息融合,而且可获取到每个通道的重要程度。

1.2 BatchFormerV2模块

本文引入了一种新的Transformer 结构:BatchFormerV2。该模块提出了一种密集表示的样本学习方法,不仅具有空间注意,而且加入了批处理注意,实现了从图像级到像素级的表示。相比于Transformer 需要大量图片进行训练而言,引入的BatchFormerV2 模块可以缓解样本稀缺问题,这有利于多标签图像分类精度的提升,Transformer中注意力模块的输出Z表示为

式中:Q,K,V∈RN×C分别为查询矩阵、键矩阵和值矩阵,N为图像特征块的数量,C为嵌入维度;d为通道数。查询矩阵Q与键矩阵K内积,得到一个注意力矩阵,它表示了Q与K的相关程度,对该注意力矩阵进行归一化并通过softmax激活函数,然后点乘值矩阵V得到Z。

BatchFormerV2的表达式为

式 中:Qi,Ki,Vi∈RB×C,Z∈RB×N×C,B为Batch Size,指一个批量的数据。可以看出Batch-FormerV2并没有改变Transformer的形式,只是将N个长度为B的序列视为一个批量,送入共享的Transformer模块中,其中N=H×W。

如图4 所示,将分裂注意力网络得到的底层特征输入到Transformer Encoder 模块中,在原始Transformer Encoder 分支保持不变的情况下,通过共享创建一个新的分支,在这个分支中加入了BatchFormerV2 模块,即两个分支共享Transformer Encoder 模块。两个分支得到Key 和Value后进行融合,输入到Transformer Decoder 部分。Transformer Decoder 部分的交叉注意力可以自适应地提取局部特征,通过查询矩阵Q进行查询得到最后的结果。同时为了避免额外的参数增加,在解码阶段删除了BatchFormerV2分支。

图4 双分支Transformer模块结构图Fig.4 Structure diagram of dual-branch Transformer module

2 实验与分析

实验配置为:intel i7-11700CPU,64 位Windows 10 操作系统,Nvidia GeForce RTX 3060Ti。基于Pytorch 深度学习框架搭建网络模型。使用AdamW 优化器对网络优化,初始学习率调整为1×10-6,并使用cutmix 进行数据增强。将图像统一裁剪为448×448 大小,使用均值[0,0,0]和标准差[1,1,1]对输入图像进行归一化,并使用RandAugment[13]进行增强。

为了评估提出的多标签图像分类方法,在Microsoft Common Objects in Context(MS COCO14)数据集和The PASCAL Visual Object Classes(VOC2007)数据集上进行了实验。MS COCO14 包括82 783 张训练集图像,40 504 张验证集图像,涵盖80个常见的类别,平均每张图像上有2.9 个标签,可以用于对象检测和分割,也广泛用于多标签图像分类。VOC2007数据集中包含训练集(5 011 幅)和测试集(4 952 幅),总共9 963幅图,涵盖了20个常见的类别。

2.1 评估标准

本文主要使用平均精度均值(Mean Average Precision,mAP)作为模型的评估指标。其中平均精度均值的计算方式为

式中:TP(True Positive)为被判定为正样本,事实上也是正样本;FP(False Positive)为被判定为正样本,但事实上是负样本;P为准确率;k为数据集中含有该类别的图片数量;N为总类别个数;AP为单标签精度值;mAP为所有目标类别精度的平均值。

2.2 实验结果分析

本文所提出模型在MS COCO14 数据集上的训练损失如图5 所示,横坐标为迭代训练次数epoch,训练了25 个epoch,在第20 个epoch 后网络趋于收敛。在MS COCO14数据集上的mAP曲线图如图6 所示。本文数据都是在图像分辨率为448×448 上得到的,但是为了比较的公平性,还对图像分辨率为576×576进行训练,方便与其他模型进行对比。

图5 训练损失曲线Fig.5 Loss curve of training

图6 mAP曲线Fig.6 Curve of mAP

由表1 和表2 的数据对比可以发现,本文提出的模型所得到的mAP值最高,在图像分辨率为448×448 的情况下,相比最高的ASL 模型[14],其mAP值高出2.0%;在图像分辨率为576×576的情况下,相比最高的Q2L-R101 模型,其mAP值高出1.9%。说明该多标签分类算法的分类精度更高,效果更好。

表1 各算法结果比较(448×448)Tab.1 Comparison of the results of each algorithm(448×448)

表2 各算法结果比较(576×576)Tab.2 Comparison of the results of each algorithm(576×576)

另外,在VOC2007数据集上进行了补充实验,结果为表3 所示。可以看出,本文所提模型平均类别精度mAP达到了96.0%,在20个类别中有13个类别都有不同的提升,相比于ResNet-101,MLGCN,SSGRL和ASL分别提高了5.2%,2.0%,1.0%和0.2%。对于ASL只有小幅度增加是因为VOC2007的mAP值已经趋近于饱和,但是对于以前的工作仍然有很大的提升。比如,与ASL相比,在bike,chair,tv类别上分别提高了0.7%,1.4%和0.8%,这说明所提方法是有效的。但是在某些类别上,所提模型的mAP也出现了下降,比如在plant类别上,比最高的ASL低1.3%,故还需要进一步去研究,减少在个别类别上的差距。

表3 各算法在VOC2007数据集上mAP对比Tab.3 Comparison of the mAP of each algorithm on VOC2007 data set

2.3 消融实验

在消融实验中,进行了以下两组对比实验:1)使用ResNet 网络和ResNeSt 网络比较,2)使用Transformer 模块和双分支Transformer 模块比较。在MS COCO14 数据集中进行测试,使用mAP精度值进行评价。

从表4 中对比可以发现,减少本文算法中的任何一个模块都会导致平均精度均值mAP下降。当算法中都使用Transformer时,在mAP指标上ResNeSt网络可以比ResNet网络提升1.05%左右;当算法中都使用ResNet网络时,双分支Transformer模块会比Transformer模块提升0.51%左右;当算法中使用ResNeSt和双分支Transformer模块时,会比只使用ResNet和Transformer模块提升1.59%左右。证明本文算法结合这两个模块可以得到更高的多标签图像分类精度。

3 结论

本文提出了一种简单高效的多标签图像分类模型,该模型基于ResNeSt 分裂注意力网络提取底层特征,在改进后的双分支Transformer网络上进行多标签图像分类。介绍了模型的整体框架,并说明选用ResNeSt 分裂注意力网络作为骨干网络可以得到更加丰富的特征信息,使用改进后的双分支Transformer 网络模型可以提高Transformer 的分类效果。通过实验表明,本文所提出的多标签分类模型在mAP指标上优于其他算法。

猜你喜欢
分支类别注意力
让注意力“飞”回来
巧分支与枝
一类拟齐次多项式中心的极限环分支
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things
服务类别
论类别股东会
中医类别全科医师培养模式的探讨
生成分支q-矩阵的零流出性
聚合酶链式反应快速鉴别5种常见肉类别