基于卷积通道注意力及改进ResNet的遥感场景分类

2024-01-09 13:20吴文彦
兰州工业学院学报 2023年6期
关键词:池化注意力卷积

吴文彦

(安徽理工大学 计算机科学与工程学院,安徽 淮南 232001)

遥感图像场景分类是根据遥感图像的内容将其分类为一组语义类,由于其在变化检测、土地利用规划、智能农业和关键目标检测[1-2]等诸多领域的广泛应用,吸引了诸多学者的关注。然而,遥感图像的高维复杂性、光照变化、噪声干扰以及大尺度的数据量等特点使得遥感场景分类成为一项具有挑战性的任务。传统的基于人工设计特征的方法,如颜色直方图[3]、定向梯度直方图[4],往往依赖于专家知识和手工提取特征,限制了分类算法的泛化能力和效率,而深度学习的兴起为遥感图像场景分类带来了新的机遇。汪晓洲等[5]提出基于改进VGG16的场景分类方法,较基准网络有着显著的性能提升;章晨等[6]通过对网络的残差结构增加跨纬度特征整合,提升了残差网络的分类性能。但是上述工作并没有充分考虑到图像浅层信息对分类的重要性,并且直接通过神经网络进行分类,缺乏对重要特征的明确关注,无法区分哪些特征对于分类任务更重要,会导致网络缺乏对于一些关键特征或区域的关注和利用。因此,部分学者尝试引入注意力机制来提升性能,刘春容等[7]在改进的ResNet50中嵌入SE注意力模块对通道特征进行校准,进一步提升了网络性能;李彦甫等[8]在神经网络中引入多头自注意力模块,有效提高了遥感场景图像分类性能。但是SE注意力机制忽略了位置信息,无法对输入特征的空间结构进行建模;自注意力机制的复杂度过高,使得模型训练和推理速度减慢。

基于上述内容,本文将构建的并行下采样结构和轻量级卷积通道注意力(CCA)机制引入到ResNet50骨干网络中。其中,并行下采样结构替换骨干网络的浅层特征提取层,用于获取充分的浅层信息;轻量级卷积通道注意力嵌入到骨干网络后续的中、高层特征提取阶段中,在不显著增加模型参数量的前提下,有效提高了模型的分类准确率。

1 模型设计

1.1 整体结构

由于遥感图像通常具有复杂的场景和细节,深层网络可以更好地学习到这些复杂特征,从而提高分类性能。而ResNet50具有相对较深的结构,具备更加强大的特征和语义信息的捕获能力,并且通过跨层连接将输入直接传递到后续层,可以有效地解决深层网络在训练过程中的梯度消失和爆炸问题。因此,本文以ResNet50作为骨干网络构建新的场景分类网络CCA-PDResNet。模型整体结构如图1所示,首先使用并行下采样结构(Parallel downsampling structure,PDS)替换骨干网络的浅层特征提取阶段(即ResNet50的Stage1阶段);然后在后续的Stage2到Stage4这3个阶段中分别嵌入轻量级的卷积通道注意力(Convolutional channel attention,CCA)模块,用以增强特征提取能力和显著特征的关注能力;同时,为了轻量化网络模型,将ResNet50中各阶段中标准3×3卷积用深度卷积(Depthwise Convolution)进行替换;最后,通过全局平均池化将特征图转换为一个固定长度的向量,进行最终分类。

图1 模型总体结构

1.2 并行下采样结构

浅层信息包含原始输入数据的低级特征和基本模式。这些特征提供了关于数据的基本结构和形状等信息,对于模型的初始学习至关重要。在图像处理中,浅层信息包括边缘、颜色和纹理等低级特征,这些特征在识别目标对象时起着关键作用,尤其是在具有高度类内差异性和类间相似性的遥感图像场景分类任务中。因此,本文提出了并行的下采样结构,在充分提取浅层信息的同时,能够减少特征图的大小,突出显著目标。相比于普通的下采样,使用固定大小的池化核对输入进行降采样,不仅会造成信息丢失等问题,而且可能无法较好地处理具有不同方向性的特征,如图2所示。本文提出的并行下采样结构通过使用非对称卷积(1x3Conv,3x1Conv)和标准卷积(3x3Conv)并行地提取信息,使得模型可以同时捕捉到局部细节和更宽范围的上下文信息,提高了特征的多样性和丰富性;由于CNN网络非常敏感,只要输入图像稍微变动一个像素,或者平移一个像素,其输出就会发生巨大变化,甚至出现预测错误,并且传统的最大池化进行下采样时,会造成平移不变性的丢失,因此本文将Blurpool池化[9]替换最大池化进行下采样,在很大程度上缓解了平移不变性的丢失问题。模块推理如公式(1) ~(2)所示。

图2 并行下采样结构

f(x)=Blur(add(f13(x);f31(x))),

(1)

Output=Concat(f(x);Blur(f33(x))) .

(2)

式中:x为输入特征图;Blur表示Blurpool池化;add是逐元素相加操作;f13,f31分别为1x3和3x1非对称卷积;f33为3x3标准卷积操作,最后通过Concat拼接操作形成高维向量作为最终输出Output。

1.3 卷积通道注意力

对于一个输入的二维图像,其中一个维度是图像的尺度空间,即长度和宽度;另一个维度是通道,因此基于通道的注意力也是一种常见的机制[10]。通道注意力通过动态地调整不同通道的重要性,针对不同的任务增强或抑制不同的通道,以增强模型对特定特征的感知能力。如图3所示,给定输入特征F大小为H×W×C,首先对输入特征图采用深度卷积(Depthwise Convolution)进行特征编码,通过在每个通道上独立地应用卷积核,以此来捕捉输入特征在不同空间位置的变化,同时增强注意力模块对输入特征的建模能力;然后进行全局平均池化和全局最大池化,聚合特征图的空间信息,得到2个1×1×C通道描述,分别为最大池化特征Fmax和平均池化特征Favg,然后将二者特征逐元素相乘来增强重要特征信息,之后添加了一个多层感知(MLP)分析器来学习最终的通道注意力特征图Mc(F)。最后,通过S形激活函数获得权重系数。为了减少参数开销,隐藏层的大小设置为C/r,其中r是压缩比,其比率设置为16。卷积通道注意力(CCA)可表示为

图3 卷积通道注意力(CCA)

M(F)=б(MLP(Multiply[Maxpool(DW(F)

+F);Avgpool(DW(F)+F)]))

=б(Z0(Z1(Multiply[Fmax;Favg]))) .

(3)

式中:Z0∈R(c/r)×c,Z1∈Rc×(c/r),Z0和Z1是MLP的权重;Multiply是逐元素相乘操作;б是Sigmoid激活函数。

2 试验结果与分析

2.1 试验数据集

RSSCN7数据集[11]包含了2 800幅遥感图像。这些图像被分为7个典型的场景类别,分别为草地、森林、农田、停车场、住宅区、工业区和河湖。每个类别中都有400张图像,每张图像的像素大小为400×400。由于图像的来源涵盖了不同的季节和天气变化,同时也采用了不同的采样比例,因此该数据集具备了较高的难度和挑战性。其部分数据样本如图4所示。

图4 RSSCN7数据集部分样本

2.2 试验环境及参数配置

试验在Python 3.9.12环境下进行,框架采用pytorch,GPU为RTX3060。试验中优化采用随机梯度下降(Stochastic Gradient Descent,SGD),其中动量设为0.95,初始学习率0.015,权重衰减为0.001,批量大小设置为16,损失函数为交叉熵损失函数。

2.3 数据结果与分析

试验中采用RSSCN7数据集作为试验数据集,在试验中对数据集进行随机划分,其中40%为训练集,10%为验证集,50%作为测试集。先用训练集进行训练,同时用验证集评估模型的性能和泛化能力,然后利用测试集测试模型的分类性能。

为验证本文提出的并行下采样结构和CCA的优越性,对Resnet50,Resnet+CCA,PDResnet以及CCA-PDResnet进行了验证试验。分类准确率以及模型参数量如表1所示。

表1 不同模块组合效果

由表1可知,本文模型CCA-PDResnet在RSSCN7数据集上取得了最佳的分类性能,其分类准确率达到了91.93%,参数量仅为12.26 M,相比于骨干网络Resnet50准确率提升了4.43%,参数量减少了10.21 M。并且,从表中可知,将CCA模块或者并行下采样结构单独嵌入Resnet-50中,其分类性能均有所提升,分别提升0.84%、1.85%。说明本文提出的并行下采样结构和CCA模块的确能够充分提取浅层信息并且使得模型更加关注重要特征。

为了进一步验证本文提出的轻量级卷积通道注意力的有效性,在PDResnet的基础上,分别嵌入SE、CA、CBAM注意力机制用于对比本文提出的注意力机制,其结果如表2所示。

表2 不同注意力下分类效果

从表2可以观察到,本文提出的CCA注意力机制在分类任务中表现出较好的性能。与目前主流的一些注意力机制相比,PDResnet+CCA实现了更高的分类准确率。在试验中,相较于PDResnet+SE、PDResnet+CA和PDResnet+CBAM,PDResnet+CCA分别实现了1.22%、0.68%和0.79%的分类准确率提升。这些结果表明:CCA注意力机制具有显著的重要区域关注能力,能够更好地提取和利用重要特征信息,从而提高模型性能。虽然PDResnet+CCA相对于其他注意力机制增加了一些参数(约0.06~0.22 M),但分类准确率的提升仍然显示出CCA注意力的显著优势。这进一步验证了CCA注意力机制在模型性能改进中的重要性。

为进行模型的敏感分析,对Batch_size的参数设置进行了试验, batch_size大小是一个重要的超参数,可以影响模型的训练速度和性能。试验中设置batch_size分别为8、16、32,试验结果如表3所示。

表3 batch size敏感度分析

从表3可知,当batch size设为16时,模型取得最优性能。其原因是,在训练中较小的batch_size使得每次参数更新的梯度估计更加不准确,可能导致模型训练过程难以收敛;较大的batch_size可能导致模型过于依赖于批量内部的样本统计特性,而忽略了个别样本的特征。

2.4 可视化分析

为更好展示模型的性能,本文进行了混淆矩阵和Grad-CAM可视化试验。其中,混淆矩阵(Confusion Matrix)是一种常用的评估分类模型性能的工具。它是一个二维表格,用于展示模型在不同类别上的预测结果与真实标签之间的关系;而通过Grad-CAM可视化,可以获得更全面的图像理解,以此了解网络对于分类决策的依据,并识别出对于分类结果起关键作用的图像区域。其可视化效果分别如图5和图6所示。从图5可以观察到,除了bField类别和gParking类别的分类准确率低于90%外,其余的分类精度均超过90%。图6是以heat map的形式可视化验证本文提出的模块关注重要特征的程度大小,从图中可知,与基线网络ResNet50在对场景分类相比,本文提出的并行下采样结构和CCA注意力具有更高的置信度。图6中最后一列为本文提出的最终模型的可视化效果,可以看出,本文模型能够获得复杂背景图像中表示语义特征的细节,在对一些困难物体进行分类时,能够准确捕获到目标区域,并且相比于ResNet50具有更加全面的感兴趣区域。

图6 Grad-CAM可视化

3 结语

本文基于骨干网络ResNet50,构建并行下采样结构和轻量级卷积通道注意力(CCA)机制,提出了CCA-PDResNet网络来处理遥感图像场景分类任务。在CCA-PDResNet中,利用并行下采样结构提取浅层信息,缓解有关地物的基本视觉属性和局部结构线索丢失;同时利用CCA机制来增强模型对重要区域的感知能力,提高分类性能。通过试验表明,所提出模型有着良好的分类精度,在 RSSCN7数据集上分类准确率达到91.93%,相比于ResNet50性能提升4.43%,参数量降低10.21 M。但是本文模型复杂度较高,无法适应资源受限的终端设备,因此在后续研究中,将会探索模型轻量化方法,实现模型复杂度和模型精度的平衡。

猜你喜欢
池化注意力卷积
面向神经网络池化层的灵活高效硬件设计
基于Sobel算子的池化算法设计
让注意力“飞”回来
卷积神经网络中的自适应加权池化
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究
基于傅里叶域卷积表示的目标跟踪算法
“扬眼”APP:让注意力“变现”
A Beautiful Way Of Looking At Things