葛 芸 马 琳 叶发茂 储 珺*
①(南昌航空大学软件学院 南昌 330063)
②(东华理工大学测绘工程学院 南昌 330013)
近年来,遥感卫星和传感器技术发展迅速,高空间分辨率遥感图像检索技术在城市规划、环境保护、农业以及军事等领域发挥重要作用。然而,遥感图像类别繁多,内容复杂,在按类别检索时,图像的有效特征容易受其他特征干扰,导致难以准确区分图像的类间差异。除此以外,遥感图像的空间信息丰富,如图1所示,高速公路与立交桥所包含的目标特征基本一致,但空间信息存在差异。因此,如何充分利用空间信息来增强特征对类间相似图像的辨别力,并且有效地提取图像的关键特征,成为检索工作中的研究热点。
图1 类间相似性大的遥感图像示例
卷积神经网络(Convolutional Neural Networks,CNN)通过自主学习来提取图像的特征,相比于传统的手工特征,CNN特征的泛化性和鲁棒性更强,随着视觉几何组网络(Visual Geometry Group Network, VGGNet)[1]、深度残差神经网络(deep Residual Network, ResNet)[2]、压缩和激励网络(Squeeze-and-Excitation Network, SENet)[3]等模型提出,CNN在遥感图像检索领域应用更加广泛。叶发茂等人[4]利用CNN来提取图像高层特征,并且设计一种加权类别的重新排序方法来提高遥感图像检索准确率。Li等人[5]通过深度哈希神经网络,将高维特征向量映射到低维2进制特征向量,以端到端的方式进行优化,并能有效应用于大规模遥感图像检索。
近些年,围绕特征优化来进一步提高检索性能的方法取得了不错的进展。Roy等人[6]将3元组图像输入预训练的InceptionNet,得到的pool3层特征作为中间特征输入到哈希网络中,并使用3种不同的损失函数来训练哈希网络,在相同的检索时间下显著提高了检索性能。彭晏飞等人[7]采用基于对比度受限直方图均衡化算法对图像进行预处理,并提出根据距离度量标准进行重新排序的相关反馈方法,对检索结果不佳的情况进行调整,提高检索精度。Ye等人[8]计算查询图像和检索图像之间的特征相似度,据此为每个特征分配权重,通过查询自适应加权方法融合这些特征,并对检索结果进行重新排序,显著提高检索精度。
另外,通过改进网络结构也可以很好地提高检索准确率,Ma等人[9]提出多层次融合框架,通过对CNN不同层次信息的挖掘,获得局部特征和全局特征,并且利用级联和相加两种方式对这些特征进行融合,提高了特征的表达力。Liu等人[10]设计的网络框架由两个分类网络和一个相似性学习网络组成,相似性学习网络根据两幅输入图像之间的相似性进行评分,对分类分支的输出进行特征融合与得分融合,通过双融合来提升检索性能。然而,上述方法没有充分利用遥感图像丰富的空间信息,并缺乏对显著特征的关注。
因此,许多研究者将注意力机制融入到CNN中来关注图像的显著信息。注意力机制在减少冗余信息的基础上倾向于给显著特征更大的权重,因此在目标检测[11]、图像分类[3,12]、语义分割[13]等诸多图像处理领域取得成功。Hu等人[3]提出的SE模块对特征图进行“挤压”和“激励”操作,将各个通道特征图压缩,为每个特征通道生成权重,通过乘法逐通道加权到原特征上,成功利用通道注意力实现通道自适应校准。Woo等人[12]设计了一个简单有效的注意力模块(Convolutional Block Attention Module, CBAM),CBAM从通道和空间两个维度计算特征图的注意力权重,然后将注意力权重与输入的特征图相乘来进行特征的自适应学习。CBAM是一个轻量的通用模块,可以将其融入到各种卷积神经网络中进行端到端训练。
本文受文献[12]的启发,提出一种基于多尺度池化和范数注意力机制的方法,本方法从通道与空间两个方面减少图像背景信息的干扰,并通过获得遥感图像中不同尺度的目标信息与类别信息来有效提取特征。本文的主要贡献如下:
(1)在通道层面上,采用不同最大池化尺寸构建多个不同尺度的池化特征图,将这些特征图进行全局均值池化统一尺寸后,逐像素相加各个特征图来关注多尺度的目标。
(2)在空间层面上,将特征图不同通道对应相同空间位置的像素视为一组向量,通过计算多组向量的范数来表达图像的空间信息。特征经过空间注意力权重的校准以后,可以更好地拟合遥感图像。
(3)采用级联池化处理高层特征图,级联池化结合了最大池化和均值池化的优点,能够保留更多的有效信息,池化后的特征检索准确率更高。
引入注意力机制可以提高网络对关键特征的关注,结合遥感图像丰富的空间上下文信息,有效促进特征表达能力的提高。Wang等人[14]利用递归注意结构在高层特征上关注一些关键区域,丢弃非重要的信息,有监督地调整特征权重,显著提高准确率。Guo等人[15]采用全局注意分支和局部注意分支获得全局信息和局部信息,用于航空场景分类。Zhang等人[16]提出了一种多尺度注意力网络来表征遥感图像的多层次结构特征,通过特征融合块和通道注意力模块,自适应地利用多尺度特征之间的有效信息。徐从安等人[17]设计了通道维和空间维的注意力模块嵌入循环神经网络,学习不同通道不同局部区域的显著性特征,提高特征的鉴别能力。
在遥感图像检索中,Zhang等人[18]在DenseNet中添加注意力模块和哈希层,利用遥感图像数据对模型进行微调,同时学习输入图像的特征表达式和相应的哈希函数,实现查询图像和数据库图像之间的相似度匹配。Wang等人[19]利用双重注意力机制细化最后一层卷积层的特征,并将这些特征作为紧凑双线性池化的输入,再结合PCA降维,抑制背景的干扰。Liu等人[20]从不同的角度探索遥感图像的特征,一方面,通过特征聚合充分挖掘遥感图像的多尺度特征;另一方面,通过离散傅里叶变换中的注意力分支,突出属于不同场景的类别特征,以保证检索精度。Xiong等人[21]添加注意力机制抑制无用特征,并且在训练阶段引入中心损失作为网络分支,最小化特征与其对应中心之间的距离,使类间的距离分散,类内的距离紧凑,更适合遥感图像检索。
注意力机制使特征中的关键信息获得更大的权重,通道注意力可以抑制背景信息的干扰,空间注意力可以更好地保留原始图像的空间信息,因此,本文方法结合了通道注意力与空间注意力,有监督地分配特征权重,提高特征对遥感图像的判别能力。
传统神经网络模型深度增加时,模型精度则会随之下降,并且产生梯度消失或者梯度爆炸问题。而ResNet允许网络尽可能地增加隐藏层,不仅提升了训练模型的准确度,而且解决了深度网络中梯度消失的问题。因此本文选用ResNet50[2]来提取遥感图像的高层特征,并且利用预训练的参数来改善遥感数据集规模较小所带来的过拟合问题。ResNet50模型由1个卷积层、4个中间层和1个池化层组成,各中间层分别包含3, 4, 6, 3个深度残差快,每个深度残差模块包含3个卷积层,并且以跳跃连接的方式结合,大大降低了参数的数目。本文的多尺度池化和范数注意力机制模型结构如图2所示,其中F表示卷积特征。
为了有效利用预训练参数,加入注意力模块不能改变原有ResNet50的网络结构,因此本文将注意力模块分别加在第1层卷积层之后以及池化层之前,注意力模块包含通道注意力机制以及空间注意力机制。另外,本文用级联池化[22]的方法对高层特征进行池化,采用4×4的尺寸对卷积层进行最大池化,接着进行全局均值池化,得到(2048×1×1)维的检索特征。
为了区分复杂遥感图像的目标与背景,提取有效特征来区分类间相似性大的图像,本文在文献[12]的基础上提出多尺度池化通道注意力和范数空间注意力,根据目标的尺度不同以及空间位置不同,重新为特征分配权重。
3.2.1 多尺度池化通道注意力
根据输入特征各通道的重要程度分配权重是通道注意力机制的关键部分。CBAM的通道注意力机制对输入特征每一个通道做全局池化操作来区分不同通道的重要程度。高分辨率遥感图像中目标多样复杂,仅仅利用全局池化得到的最显著目标特征检索会忽略一些小尺度的有效信息。
因此,本文结合空间金字塔池化的思想采用多尺度池化操作获得通道注意力权重,图3展示了多尺度池化通道注意力模块的结构,其中H, W, C分别表示输入特征图的高度、宽度和通道数目。
图2 多尺度池化和范数注意力机制模型结构
首先,对输入的卷积层特征在通道层面上以不同尺寸对其进行4次最大池化操作,池化后尺寸分别为1×1×C, 2×2×C, 3×3×C和4×4×C,然后,对得到的4个特征图再进行全局均值池化,将4个特征相加后输入多层感知机(MultiLayer Perceptron,MLP),最后,经由sigmoid映射生成通道特征权重,以此关注大小不同的前景目标。计算多尺度池化通道注意力权重的公式为
3.2.2 范数空间注意力
通道注意力模块关注不同通道的差异性,空间注意力模块则关注不同目标的空间信息。本文利用范数的计算来度量目标的空间位置,首先,以输入卷积特征(H×W×C)中不同通道对应相同位置的像素点作为一个向量,计算向量组的L1范数(曼哈顿距离)和L2范数(欧式距离),得到的两个特征图(H×W×1)以串联的方式拼接起来;然后,经过卷积操作获取显著空间信息;最后,利用sigmoid函数映射得到空间上的权重矩阵。如图4所示,图中Vn表示向量组,n表示单通道特征图像素点总数,FM和FE表示向量组经过L1范数和L2范数计算得到的特征图。
通过向量组Vn的范数计算,在向量空间比较不同向量在空间上的位置差异。计算方法为
图4 空间注意力模块
CNN模型中高层特征语义信息丰富,网络泛化性较好,迁移学习能力较强。在此基础上,增加多尺度池化和范数注意力模块,进一步提高特征的判别力,并通过较大规模遥感数据集来训练该模型,使得该模型能够更好地迁移到小规模遥感数据集中。迁移学习过程如图5所示。
首先,因为遥感图像数据集规模较小,为了避免过拟合,将ResNet50在ImageNet上预训练的模型参数直接迁移到本文的多尺度和范数注意力机制模型,然后,利用较大规模的遥感数据集,比如NWPU-RESISC45数据集[23],在原有参数的基础上训练网络,经过多尺度池化通道注意力模块与范数空间注意力模块在不同角度为高层特征自适应加权,使模型参数更加拟合遥感图像。最后,将训练好的模型迁移到小规模遥感数据集,提取图像特征进行测试,验证模型的泛化性。
图5 迁移学习过程
为了验证本文方法的有效性,在不同分辨率、不同尺寸的高分辨遥感数据集上进行实验,对本文方法与注意力机制CBAM的检索结果进行分析,对不同池化方法的检索性能进行比较,验证本方法迁移学习的有效性,并且与最新的遥感图像检索方法进行比对。实验框架为Pytorch1.6.0,GPU为RTX2060s。
本文选用UC Merced数据集[25]、AID数据集[26]与NWPU-RESISC45数据集进行实验,UC Merced是由加州大学默塞德分校提出的遥感图像数据集,共有2100张图像,包含21个类,每个类具有100张图像,图像尺寸为256×256,空间分辨率为0.3 m,这个数据集被广泛用于遥感领域。AID数据集由华中科技大学和武汉大学于2017年发布,共有10000张场景图像,包含30个类别,每个类别图像数量从220~400不等,空间分辨率介于0.5~8 m之间。NWPU-RESISC45是由西北工业大学提出的遥感图像场景分类数据集,共有31500张图像,包含45个场景类别,每个类具有700张图像,像素大小为256×256。图6中显示了UC Merced数据集、AID数据集与NWPU-RESISC45数据集的部分示例图像。
图6 示例图像
采用平均检索准确率(mean Average Precision,mAP)、平均归一化调整后的检索秩(Average Normalized Modified Retrieval Rate, ANMRR)以及查准率查全率曲线(P-R曲线)这几个常用的指标对检索结果进行评价。mAP是在每个类别平均准确率的基础上,求得数据集所有类别的平均检索准确率,mAP越高,则代表查询结果越准确。ANMRR是用来衡量检索结果中正确图片排序靠前的程度,ANMRR越小,则表示正确结果排序越靠前。P-R曲线可以综合地反映模型的检索能力,曲线下面积越大,则表示模型的检索能力越强。本文检索特征为ResNet50的最后一个Bottleneck中的relu层特征。
为了验证所提方法的有效性,设计不同实验对骨干网络ResNet50、注意力机制CBAM(后记为Resnet50_CBAM)、多尺度池化通道注意力模块(后记为Resnet50_C)、范数空间注意力模块(后记为Resnet50_S)以及本文注意力机制(后记为Resnet50_SC)5种方法的检索结果进行评估,加“-cp”后缀表示采用级联池化方式。
根据表1,两种注意力改进方法均可以使模型的检索能力在原来的Resnet50_CBAM基础上有所提升。这是因为相比于全局通道注意力机制,多尺度的通道注意力关注更多的目标信息,得到的检索结果更为准确。除此以外,与简单的计算空间特征的最大值、平均值相比,向量的范数计算将空间向量映射到统一的向量空间中进行比较,获取显著的空间信息,检索精度更高。最后,将改进后的两种注意机制结合,从通道和空间两个角度为高层特征加权来提高特征的判别能力,因此在两个数据集上的检索结果都有提升。在UC Merced数据集中,Resnet50_C比Resnet50_CBAM的mAP提高0.028,Resnet50_S比Resnet50_CBAM的mAP提高0.022。在AID数据集中,Resnet50_C比Resnet50_CBAM的ANMRR降低了0.010,Resnet50_S比Resnet50_CBAM的ANMRR降低了0.009。
表1 UC Merced数据集和AID数据集不同方法检索结果
将本文方法与ResNet50_CBAM, ResNet50进行比较,如图7所示,选择第1个注意力模块之后的池化层进行特征图可视化,其中,黄色框选区域显示出图7(a)与图7(b)特征图差异,红色框选区域显示出图7(b)与图7(c)特征图差异。颜色越接近红色表示特征响应值越大,颜色越接近蓝色表示特征响应值越低。根据图7(a)和图7(b)对比可以看出,注意力机制的加入,使更多的特征图前景目标与背景区分明显,目标轮廓更加清晰。根据图7(b)和图7(c)对比可以看出,本文方法,在这3个红框标示的特征图中,作为关键特征信息的飞机响应值更大,关键信息提取更完整。
本节实验根据池化方式的不同,对级联池化和全局均值池化两种方法得到的特征检索结果进行比对,实验数据集选用UC Merced数据集与AID数据集,图8分别展示了在UC Merced数据集与AID数据集上不同池化方式和不同方法的P-R曲线。
图7 不同方法特征图差异
图8 P-R曲线
图8(a)中展示了在UC Merced数据集中骨干网络ResNet50, Resnet50_CBAM和Resnet50_SC 3种方法不同池化方式的P-R曲线,加“-cp”后缀表示采用级联池化方式,不加后缀表示采用普通的全局均值池化方法。其中,采用全局均值池化的骨干网络P-R曲线最低,检索能力较弱,本文方法的P-R曲线高于Resnet50_CBAM的P-R曲线,说明改进以后检索能力有所提高。
在提取特征方法相同的情况下,采用级联池化方式检索效果优于全局均值池化的检索效果,这是因为遥感图像拍摄角度、位置不同,很多关键目标在图像上的尺寸不会很大,全局均值池化可能会忽略一些小尺度的有效信息,而减小池化尺寸能够更好地利用这类小目标的信息。因此,采用级联池化的多尺度池化和范数注意力机制模型检索结果最好,曲线位于最上方。
类似地,图8(b)为AID数据集的P-R曲线图,实验结果显示在这个数据集中,曲线面积最大的还是对改进后的注意力机制进行级联池化的方法。根据P-R曲线,可知级联池化方法比全局池化更适合高分辨率遥感图像。
在实际的图像检索中,模型的训练均在线下完成,不占用检索时间,而训练模型的结构不同,检索时间也有所差异。因此,本节实验在UC Merced数据集上比较了以上几种方法检索所需的时间。
根据表2,当加入通道注意力模块与空间注意力模块后,检索时间稍有增加,与Resnet50_CBAM方法相比,检索时间相同。综合分析,本文方法检索准确率更高,具有较大的优势。
本文所提注意力机制可以很好地拟合遥感图像,有效利用关键特征的空间位置信息增强特征的判别力。为了验证模型的泛化性,用NWPU-RESISC45数据集对网络进行训练,再将训练参数迁移到UC Merced数据集,测试模型在UC Merced数据集上的检索性能。实验中图像批量输入大小设置为60,学习率设置为0.01,衰减率设置为0.004,迭代次数设置为40。
实验结果如表3所示。本文方法的迁移特征检索结果mAP在0.8以上,与Resnet50_CBAM相比,采用全局池化时mAP提高了0.055,ANMMR降低了0.044;采用级联池化对特征进行处理以后,mAP达到了0.827,ANMRR降低至0.138。
将本文方法与几种较新的基于内容的遥感图像检索方法进行比较,由于注意力机制在遥感图像检索领域应用较少,因此本文还选择了其他较新的遥感图像检索方法进行比较。
表4显示了在UC Merced数据集和AID数据集上与其他方法进行对比的结果,表中均用80%的数据作为训练集,20%的数据作为测试集。由表4可知,与同样使用了注意力机制的方法相比,在UC Merced数据集中,本文方法比文献[21]的mAP提高了0.084。在AID数据集中,本文方法比文献[20]的mAP提高了0.14。与其他方法相比,本文注意力机制在UC Merced数据集与AID数据集中都有效提高了遥感图像的检索准确率,取得了较优的检索结果。
表2 不同方法的平均检索时间比较(ms)
表3 迁移特征的检索结果
表4 与其他方法mAP的比较
本文提出一种基于多尺度池化和范数注意力机制的检索方法。首先,在多尺度池化通道注意力模块中,以不同尺寸对输入特征图进行最大池化,得到多尺度的特征图,再对不同尺寸的特征图使用均值池化,得到尺寸统一的特征图,并将这些特征图逐像素相加,利用sigmoid函数生成特征的通道权重,与原始的输入特征图相乘,以此关注不同大小的目标特征。然后,在范数空间注意力模块中,输入通道加权后的特征图,以不同通道对应相同位置的像素组成多组向量,计算向量组的L1范数和L2范数确定其在向量空间中的相对位置,通过对二者进行卷积操作获得显著的空间信息,生成特征的空间权重,对特征图进行2次加权。最后,采用级联池化处理高层特征图,保留更多的有效信息。本文在3个广泛使用的遥感图像数据集上进行实验,结果表明,与现有的许多方法相比,本文方法可以很好地表达内容复杂的遥感图像,得到较好的检索结果。