面向遥感图像检索的级联池化自注意力研究

2023-01-11 17:17叶发茂
光电工程 2022年12期
关键词:池化级联检索

吴 刚,葛 芸*,储 珺,叶发茂

1 南昌航空大学软件学院,江西 南昌 330063;2 南昌航空大学江西省图像处理与模式识别重点实验室,江西 南昌 330063;3 东华理工大学测绘工程学院,江西 南昌 330013

1 引 言

随着遥感卫星技术的发展以及遥感图像应用市场的扩大,基于内容的遥感图像检索在经济社会发展、资源环境监测、城市生活管理等众多领域起到不可替代的作用。遥感图像的背景信息比较复杂,导致同一类图像具有较大的差异,不同类别的图像之间存在一定的相似性,所以提取判别能力强的特征是提高检索性能的关键。

卷积神经网 络(Convolutional neural network,CNN)采用多层网络架构来学习图像特征,CNN 提取的高层特征能较好地表达图像的语义信息并有效缩小图像检索中的语义鸿沟,提高图像的检索性能[1]。Ge等人[2]将ImageNet 上预训练的CNN 应用到遥感图像数据集上,表明CNN 提取的特征明显优于传统的手工特征。

为了进一步提高CNN 中的特征表达,优化特征和改进网络结构是两种有效的手段。以优化特征为主来提高图像检索性能的方法取得了较好的进展。葛芸等人[3]通过结合判别相关分析来增强同类特征的联系,并突出不同类别特征之间的差异,再选择串联与相加两种方法来对不同特征进行融合,从而提高特征的判别能力。Hou 等人[4]提取Inception V4 网络不同层的特征,将不同层的特征进行融合来代表图像的整体特征,提高图像特征表达的准确性。江曼等人[5]从多个尺度将图像表面的几何曲率信息融合到改进方向梯度特征中,在此基础上进一步融合图像的颜色信息,将融合特征进行图像检索,提高了检索性能。

改进网络结构来提高遥感图像检索性能也有较多的研究成果,Liu 等人[6]提出一种分类相似性网络模型,在分类的同时进行相似性预测,结合深度特征和相似性分数来衡量两个图像之间的最终相似度。Zhang 等人[7]构建了一个结合深度度量学习和非局部操作的三元组非局部神经网络模型,提出了双锚三元组损失函数,以充分利用输入样本的信息。

在改进网络结构的基础上进行特征优化可以进一步改进检索效果。Cheng 等人[8]提出了一种基于残差注意力的深度度量学习的集成架构,在CNN 的基础上引入并改进了残差注意力,然后对特征使用池化方法融合,进一步提高检索性能。Zhou 等人[9]提出了一种以ResNet 为骨干网络的Gabor-CA-ResNet 网络,利用Gabor 表示图像的空间频率结构,结合通道注意力机制来获得判别性更强的深层特征,之后利用基于Split 的深度特征变换网络对特征进行降维。

虽然CNN 能够较好地用于图像检索,但是CNN 是对整张图像进行特征提取,不能有效突出图像中的显著特征,并且背景噪声也会对特征产生一定的干扰。在CNN 中引入注意力机制可以进一步增强特征的判别能力,注意力机制对图像中不同区域的特征进行权重分配,能够有效地区分前景信息和背景信息,有助于提取图像的显著特征。Hu 等人[10]提出的SE 网络模块对特征图进行“挤压”和“激励”操作,通过特征重标定的方式来自适应地调整通道之间的特征响应,从而提高了特征的性能。Woo 等人[11]设计了卷积注意力模块(convolutional block attention module,CBAM),CBAM 在通道注意力的基础上,连接了空间注意力,然后将注意力权重与输入的特征图相乘来进行特征的自适应学习。Wang 等人[12]提出了一种有效的通道注意力,通过一维卷积来完成跨通道之间的信息交互。Hou 等人[13]提出了一种高效的注意力机制,将位置信息嵌入到通道信息中,避免引入较大的开销。

自注意力是一种特殊的注意力机制,为了减少对外部信息的依赖,自注意力根据图像上下文的相关信息来学习显著特征。Wang 等人[14]将自然语言处理领域的自注意力应用到计算机视觉领域,并提出了Non-Local 模块。Fu 等人[15]提出了双重注意力网络(dual attention network,DANet),将Non-Local 的思想应用在空间域和通道域,分别将特征空间以及特征通道作为查询对象进行上下文建模。Huang 等人[16]利用两个十字交叉注意力来替代基于全局像素点的建模,降低了运算复杂度。

在遥感图像检索领域,注意力机制同样备受关注。Wang 等人[17]在CNN 中引入双线性池化,并且通过通道注意力和空间注意力来细化特征,将注意力机制输出特征作为双线性池化的输入,最后使用主成分分析(principal component analysis,PCA)[18]对特征进行降维,实验结果表明该方法的检索结果较好。Yang等人[19]在深度哈希的基础上引入通道注意力和位置注意力,以提高特征的表达能力,取得良好的检索效果。

受自注意力机制的启发,本文提出一种基于级联池化的自注意力模块(cascade pooling self-attention module,CPSM)与哈希相结合的遥感图像检索方法,从改进网络结构和优化CNN 特征两个方面来提高检索性能。基于级联池化的自注意力模块从通道和空间两个方面减少图像背景噪声的干扰,监督核哈希(supervised Hashing with kernels,KSH)[20]将特征映射成紧凑的哈希码,从而有效地降低特征维数。本文的主要贡献如下:

1) 改进了通道自注意力和空间自注意力。通道自注意力通过关联所有通道图之间的特征信息,学习具有内容相关性的显著通道特征,空间自注意力通过所有空间位置的特征加权提取具有位置相关性的显著空间特征。将这两者结合,从通道域和空间域两个方面进行全局建模,减少图像背景噪声的干扰。

2) 提出在自注意力模块中使用级联池化[21]来代替全局池化。级联池化结合最大池化和均值池化的优点,在提取图像显著特征的同时保留了图像重要的细节信息,适用于内容复杂的高分辨率遥感图像。

3) 采用KSH 来进一步优化特征。在CNN 中加上CPSM 模块有助于学习到判别能力更强的特征,但CNN 中提取的特征一般维数较高,因此使用KSH将特征映射成紧凑的哈希码,在降低特征冗余性的同时提高特征的检索效率。

2 级联池化自注意力的遥感图像检索

2.1 检索流程

传统的CNN 容易存在梯度弥散和梯度消失等问题,ResNet50[22]主要由深度残差结构组成,残差结构使得网络层次更深、收敛速度更快,较好地解决了梯度弥散和梯度消失等问题。本文在ResNet50 网络中引入级联池化自注意力模块,提出ResNet50-CPSM网络,并将网络中的特征用于遥感图像检索。检索流程如图1 所示,具体检索步骤如下:首先,在大规模数据集ImageNet 预训练网络的基础上,用遥感数据集训练ResNet50-CPSM 网络,分别提取训练集和测试集的高层特征。然后,对训练集的特征用KSH 方法进行监督学习,并根据学习的参数将测试集的特征映射为紧凑的哈希码。最后,用该哈希码用于检索遥感图像,采用汉明距离计算查询图像与数据集中图像的相似度,返回最相似的若干幅图像作为检索结果。

图1 级联池化自注意力的检索流程图Fig.1 Retrieval flowchart for cascade pooling self-attention

2.2 级联池化自注意力网络结构

遥感图像内容复杂,背景信息丰富,空间语义信息也丰富。为了突出图像的显著信息,提出了级联池化自注意力模块。为了充分利用ResNet50 预训练的参数,将级联池化自注意力模块加载到ResNet50 网络最后一层卷积层的后面。级联池化自注意力中采用了级联池化来代替传统的全局池化,级联池化首先对特征图进行小区域的最大池化,得到最大池化后的特征图,再对该特征图进行平均池化。与传统的全局池化相比,级联池化结合了最大池化和均值池化的优点,既关注了遥感图像的显著信息,又保留了重要的细节信息。级联池化自注意力包含通道自注意力和空间自注意力,自注意力可以自适应地关联远程上下文信息,更关注特征之间的相关性,通过对特征进行权重分配进一步学习遥感图像的显著特征,从而提高特征的判别性。

2.2.1 通道自注意力

通道自注意力通过联系上下文信息对不同的通道进行权重分配,每一个通道可以看作是一类特征的响应,对贡献大的特征分配更大的权重,从而增强对显著特征的判别能力。通道自注意力模块如图2 所示,令卷积特征F的尺寸为H×W×C,H和W是每个通道对应特征图的高度和宽度,C为是通道的数目。传统的通道注意力模块忽略了同一个通道不同位置的相互关系,为了得到不同通道间的相互关系,将F通过变形转换变为两个二维矩阵S和M,S的维数是C×N,M的维度是N×C,其中N=H×W。然后,矩阵S与M进行矩阵乘法,得到通道自注意力矩阵M',通道自注意力矩阵M'中的元素m'ij的计算如式(1)所示:

图2 通道自注意力模块Fig.2 Channel self-attention module

表达了通道i和通道j之间细化的通道关系,该值越大,说明两个通道之间的联系越紧密。通过计算同一个通道不同位置的相互关系,能够有效获得通道的上下文语义信息。卷积特征F采用级联池化能够进一步提高特征的判别能力。级联池化的思想是首先对特征图采用重叠的小区域最大池化,获得多个小区域的显著特征图,将其构成的显著特征标记为T,T的维数是H/r×W/r×C,r为特征图缩小的倍数。对该显著特征再均值池化,得到输出通道信息,将其构成的矩阵标记为G,维数是1×C。相关矩阵M'的维数为C×C,将M'和G相乘,得到融入了上下文依赖关系的显著通道信息,经过激活函数映射输出通道权重ωc,ωc的计算如式(2)所示,gi为矩阵G的元素:

ωc再与特征图F进行矩阵乘法运算,得到融合了通道信息和相关信息的特征图J,J的计算如式(3)所示:

2.2.2 空间自注意力

高层特征的位置可以看作是图像上相同区域对不同卷积核的响应,因此提出了一个空间自注意力模块,加强不同区域之间的关系。空间自注意力模块通过空间权重来增强感兴趣的特定目标区域,并弱化不相关的背景区域,从而改进特征描述能力。空间自注意力模块如图3 所示。

图3 空间自注意力模块Fig.3 Spatial self-attention module

根据CNN 局部感受野的特点,特征图上的值反映了H×W个局部小块位置的信息,通过计算位置之间的相关性来反映不同位置之间的关系。为了更直观地获得位置信息,将三维张量F通过变形和转置转换为两个二维矩阵Q和K,Q的维数是N×C,K的维数是C×N,其中N=H×W。然后,求S的空间自注意力矩阵S',相关矩阵中的元素s'ij的计算如式(4)所示:

反映了位置i和位置j之间细化的位置关系,该值越大,说明两个位置之间越相关。通过计算同一个位置不同通道的相互关系,能够有效获得距离较远位置的依赖关系。此外,为了得到F的显著空间信息,对F对应的空间向量进行级联池化,先对F的通道维度进行重叠区域的最大池化,获得多个小区域的显著特征图,将其构成的显著特征标记为B,B的维数是H×W×C/r,r为特征图缩小的倍数。对这些显著特征再均值池化,得到输出空间信息,求得显著空间信息构成的矩阵为P,其维度为H×W,将其变形为维度为1×N的矩阵E。将S'和E这两个矩阵相乘,得到融入了位置相关性的显著空间信息,经过激活函数σ映射得到空间权重ωs,ωs的计算如式(5)所示,ei为矩阵E的元素:

空间权重ωs再 与特征图F进行矩阵乘法运算,得到融合了空间信息和相关信息的特征图Z,Z的计算如式(6)所示:

2.3 特征优化

在ResNet50 中添加基于级联池化的自注意力模块提取判别能力强的特征,但是特征维数过高,依然存在冗余,因此需要对特征进行降维。KSH 是一种监督核哈希方法,其目标是将数据映射为紧凑的二进制哈希码。该方法在避免特征高维度的同时,提高类内的相似性,并扩大类间的差异性,在计算相似度学习的任务中,可以有效地提高特征的判别能力。

2.4 时间效率分析

本文提出的方法主要由ResNet50、基于级联池化的自注意力、KSH 算法组成,总体复杂度为三者复杂度之和。ResNet50 的时间复杂度为,其中,n为训练样本数,D为网络的卷积层数,l为第l个卷积层,P为卷积核输出特征图的边长,K为卷积核的边长,Cl为网络第l层的输出通道数,Cl-1为网络第(l-1)层的输出通道数。通道自注意力的时间复杂度为O(nC2HW),空间自注意力矩阵的时间复杂度为O(nCH2W2)。KSH 训练的时间复杂度为O((nm+p2m+m2p+m3)b)[20],其中m为随机均匀选取样本数,用于得到基于核的哈希函数,p为监督学习样本数,b为哈希码位数,其中n>>p>m,注意力模块只加在最后一个池化层之前,因此整体的模块参数增加量较少。

3 实验及结果分析

为了验证本文方法的有效性,在不同分辨率、不同尺寸的高分辨遥感数据集上进行实验,与其他注意力机制方法和遥感图像检索方法进行对比与分析。实验框架为Pytorch1.6.0,GPU 为RTX2060s,训练时每个类别随机抽取80% 的图像作为训练集,剩下20%的图像作为测试集,采用的优化器为随机梯度下降,学习率为0.0035,动量为0.9,学习率衰减系数为0.1。

3.1 数据集以及评价指标介绍

本文选用 UC Merced 数据集[24]、AID 数据集[25]和NWPU-RESISC45 数据集[26]进行实验。图4 中显示了UC Merced 数据集、AID 数据集与NWPURESISC45 数据集的部分示例图像。UC Merced 数据集包含21 个类别,每个类别100 张图像,每张图像的大小是256 pixels×256 pixels,图像的分辨率为0.3 m。AID 数据集包含30 个类别,每个类别图像数量从220~400 张不等,一共有10000 张,每张图像的大小是600 pixels×600 pixels,图像的分辨率介于 0.5 m~8.0 m 之间。NWPU-RESISC45 数据集包含45 个类别,每个类别700 张图像,每张图像的大小是256 pixels×256 pixels,图像的分辨率介于0.2 m~30 m 之间。采用平均精度均值(mean average precision,mAP,在式用A表示) 和P@k对检索结果进行评价。mAP是图像检索算法的主要评估指标,是所有查询图像平均精度的平均值,图像与查询图像的相关性越高,它的排名就越高。P@k则关注前k幅检索结果中相关图像的数量(NR)。具体计算结果如式(7),式(8) 和式(9)所示。

图4 示例图像。(a) UC Merced 数据集示例图像;(b) AID 数据集示例图像;(c) NWPU-RESISC45 数据集示例图像Fig.4 Sample images.(a) Sample images of the UC Merced data set;(b) Sample images of the AID data set;(c) Sample images of the NWPU-RESISC45 data set

其中:Q为查询图像的总数,P(k)为当前检索出来k个结果的准确率,rel(k)表示第k个检索结果是否与查询图像有关,1 表示有关,0 表示无关。N表示检索出来的图像数量。

3.2 不同注意力方法的比较

为了验证自注意力模块的有效性,在不同数据集上与CBAM 和DANet 注意力进行比较。表1 和图5分别显示了不同注意力模块的mAP 值和P@k值,ResNet50 为基础网络模型,ResNet50_CBAM 为基于CBAM 的ResNet50 网络,ResNet50_DANet 为基于DANet 的ResNet50 网络,ResNet50_CSM (ResNet50_channel self-attention module)为基于通道自注意力模块的ResNet50 网 络,ResNet50_SSM (ResNet50_spatial self-attention module)为基于空间自注意力模块的ResNet50 网络,ResNet50_DSM (ResNet50_dual self-attention module)为基于双重自注意力模块的ResNet50 网络,自注意力模块中均使用的是全局平均池化。提取的特征为网络中最后一个卷积层的特征,为了更直观地对比不同注意力模块之间的性能,对该特征没有进行降维。

由表1 可以发现,在UC Merced 数据集中,ResNet50_DSM 使mAP 值 从ResNet50 的91.17%提升到92.67%,提升了1.5%;在AID 数据集中,ResNet50_DSM 使mAP 值 从ResNet50 的87.35%提升到93.48%,提升了6.13%;在NWPU-RESISC45数据集中,ResNet50_DSM 使mAP 值从ResNet50 的60.07%提升到78.28%,提升了18.21%。由图5 可知,在不同的数据集中,ResNet50_DSM 的P@k值均高于ResNet50_CSM 和ResNet50_SSM,提升效果比单个自注意力模块要好。

从不同的实验结果可以看出,注意力模块对特征的表达有明显的提升,并且数据集越复杂提升效果越明显。多个注意力模块结合效果比单一的注意力模块效果更好,这是因为通道域和空间域的注意力模块通过不同的域对特征进行加权,有效降低背景信息的干扰。ResNet50_DSM 与其他注意力模块相比较,同样存在优势。由表1 可以看到,在AID 和NWPURESISC45 数据集中,ResNet50_DSM 的mAP 值均大于ResNet50_DANet 和ResNet50_CBAM 的mAP 值;在UC Merced 数据集中,ResNet50_DSM 的mAP 值大于ResNet50_DANet,但是小于ResNet50_CBAM的mAP 值。图5 中的P@k值比较出现了与mAP 值类似的趋势,这是因为自注意力模块不仅可以在通道和空间上进行特征响应,而且还考虑同一个通道之间的位置关系,以及同一个位置的通道关系,而且自注意力模块更擅长捕捉特征的内部相关性,当特征量偏少的时候,捕捉特征内部相关性的能力会有所减弱;当特征量足够的时候,捕捉特征内部相关性的能力就可以充分体现。相比于CBAM,DSM 关注特征上下文依赖关系,细节信息更丰富;相比于DANet,DSM 在细化特征关注度的基础上,减少了参数的冗余,从而提高了模型的泛化能力。

表1 不同注意力模块的mAP 值Table 1 mAP value of different attention modules

图5 不同注意力模块的P@k 值Fig.5 P@k value of different attention moduless

3.3 不同池化方法的比较

为了验证级联池化和全局均值池化两种方法对自注意力模块的影响,在不同的数据集上使用不同的池化方法,mAP 值结果如表2 所示。ResNet50_CPCSM(ResNet50_cascade pooling channel self-attention module)为基于级联池化通道自注意力模块的ResNet50 网络,ResNet50_CPSSM (ResNet50_cascade pooling spatial self-attention module)为基于级联池化空间自注意力模块的ResNet50 网络,ResNet50_CPSM(ResNet50_cascade pooling self-attention module)为基于级联池化自注意力模块的ResNet50 网络。

由表2 可知,在不同的数据集中,ResNet50_CPCSM 的mAP 值高于ResNet50_CSM;ResNet50_CPSSM 的mAP 值高于ResNet50_SSM;ResNet50_CPSM 的值高于ResNet50_DSM。因此,在不同的注意力中,级联池化的结果优于全局均值池化。图6 显示了不同池化方法的P@k值。从图6 可以看到,在不同数据集中,k取不同值的时候,ResNet50_CPSM的P@k值都明显高于ResNet50_DSM 的P@k。由不同的实验结果可以得到,在其他条件相同的情况下,采用级联池化方式的自注意力模块检索效果优于全局均值池化方式的自注意力模块的检索效果。与普通的光学图像不同,遥感图像主要是自然地理场景信息,内容丰富,信息复杂,而且遥感图像因为拍摄角度和位置的原因,图像上的很多关键信息尺寸不会太大,普通全局池化均不能较好地对特征进行采样。全局最大池化可以提取特征图中关键特征,但是忽略了一些重要的细节信息,而且容易受噪声干扰,全局平均池化可以综合所有特征,但是不能有效提取显著特征。级联池化是对特征图进行重叠区域的最大池化,提取重叠区域显著特征,然后对显著特征进行平均池化。因此级联池化综合了最大池化和平均池化的优点,有效地减少遥感图像特征的冗余信息,同时也能保留一些区分度明显的特征信息。综合表1 和表2 可知,ResNet50_DSM 的性能明显优于ResNet50_DANet,尤其是在较大的数据集AID 和NWPU-RESISC45 中,ResNet50_DSM 的mAP 值也略高于ResNet50_CBAM。引入级联池化的ResNet50_CPSM,其检索性能相比ResNet50_DSM 得到进一步提升,ResNet50_CPSM的mAP 值在三个数据集上均超过了ResNet50_DANet 和ResNet50_CBAM,因此结合级联池化的自注意力模块检索结果最好。

表2 不同池化方法的mAP 值Table 2 mAP value of different pooling methods

图6 不同池化方法的P@k 值Fig.6 P@k value of different pooling methods

3.4 不同降维方法的比较

CNN 特征维数较高,存在一定的冗余信息,特征降维能够进一步优化CNN 特征。

为了验证不同的降维方法的效果和性能,使用PCA、线性判别分析(linear discriminant analysis,LDA)[27]和KSH 进行对比,在UC Merced 数据集上使用级联池化自注意力网络提取特征,并对该特征采用不同方法进行降维,得出不同方法的mAP 值和每幅图片平均检索时间,具体结果如表3 所示。LDA方法降维的最大维度数为类别数减一,因此维度只能降到20。由表3 可知,降维到20 维度的时候,LDA方法比KSH 的mAP 值要高0.64%,比PCA 的mAP值要高2.22%,但是平均检索时间明显慢于PCA 和KSH;降维到64 维度的时候,KSH 方法比PCA 的mAP 值高4.67%,而且平均检索时间要快于PCA。综合mAP 值和平均检索时间,KSH 方法的检索性能较好。

表3 不同降维方法的比较Table 3 Comparison of different dimensionality reduction methods

3.5 与其他方法的比较

为了评估本文方法的泛化能力,在不同的数据集上进行实验,并与其他图像检索方法进行比较。表4、表5、表6 分别是UC Merced 数据集、AID 数据集、NWPU-RESISC45 数据集的实验结果,其中ResNet50_CPSM_KSH 是指对ResNet50_CPSM 提取的特征使用KSH 降维。

表4 UC Merced 数据集中不同方法的比较Table 4 Comparison of different methods on UC Merced data set

表5 AID 数据集中不同方法的比较Table 5 Comparison of different methods on AID data set

表6 NWPU-RESISC45 数据集不同方法比较Table 6 Comparison of different methods on NWPU-RESISC45 data set

在UC Merced 数据集中,本文方法的mAP 值相比于大多数其他方法的mAP 值高,比FAH (featureand hash)[33]方法仅低0.07%,因此在该小规模数据集上的检索性能较好。在NWPU-RESISC45 数据集和AID 数据集中,本文方法都有效提高了遥感图像检索的准确率,特别是,本文方法的mAP 值比FAH 方法分别提高了3.21%和24.12%。

因此,基于级联池化自注意力的方法在多种不同规模的数据集中均能取得较优的检索结果,尤其是在图像类别数目较多的大规模数据集中,检索准确率的提升效果更为明显。

4 结 论

本文针对遥感图像同一类图像具有较大的差异,不同类别的图像之间存在一定相似性的问题,提出一种基于级联池化自注意力的遥感图像检索方法。该方法通过级联池化和自注意力来优化网络结构,级联池化综合了最大池化和平均池化的优点,自注意力能自适应地联系上下文信息对显著特征图加权,使得学习到的特征具有更强的判别性。CNN 特征的维数较高,因此还采用KSH 对特征进行降维,进一步提高特征的性能。实验结果表明,通过级联池化自注意力网络提取的遥感图像特征判别能力强,在不同的数据集上都具有较高的检索精度。与其他的遥感图像检索方法相比,本文方法表现出较优的检索性能。

猜你喜欢
池化级联检索
基于高斯函数的池化算法
铀浓缩厂级联系统核安全分析
卷积神经网络中的自适应加权池化
瑞典专利数据库的检索技巧
一种基于Python的音乐检索方法的研究
富集中间组分同位素的级联
—— “T”级联
基于卷积神经网络和池化算法的表情识别研究
用于手写汉字识别的文本分割方法
整体级联式增压空气冷却器的进气模块
一种新型的级联型多电平逆变器研究