陶东华,申志军,2,穆丽娜,2,薛有为
(1.内蒙古农业大学 计算机与信息工程学院;2.内蒙古自治区农牧业大数据研究与应用重点实验室,内蒙古 呼和浩特 010018)
近年来,随着高分遥感卫星技术的迅速发展,遥感影像数据量呈现爆炸式增长,而遥感影像场景分类也在农业发展、生态建设、城市规划等领域广泛应用,因此遥感影像场景分类成为当前研究领域的热点之一。2006年,美国麻省理工学院主持召开了场景理解研讨会,会中明确表示将场景分类划分为分类任务的研究重点,奠定了场景分类在计算机视觉领域的重要地位。
场景分类是从众多的图像数据中区分出具有相似场景特征的图像,并且对这些图像进行正确的分类[1]。一般来说,场景分类方法主要有3类。第一类是基于底层视觉特征的分类方法,主要是提取颜色、纹理、光谱等底层特征来进行分类,常见的方法有:尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)[2],局部二值模式(Local Binary Pattern,LBP)[3],颜色直方图(Colour Histogram,CH)[4],方向梯度直方图(Histogram of Oriented,HOG)[5],这些方法具有旋转不变,操作简单的特点,但泛化能力弱,具有局限性。第二类是基于中层视觉表达的分类方法,在底层信息上继续进行特征提取,并对提取到的特征进行编码,得到更具有判别能力的特征表达,再与分类器相结合实现分类任务,其主要代表有词袋模型(Bag-of-words model, Bow model)[6]、空间金字塔(Spatial Pyramid Matching,SPM)。该类方法相较于基于底层的视觉特征提取方法准确率有所提高,但实际操作更加复杂,不利于后续研究。第三类是基于高层视觉表达的分类方法,通过卷积神经网络训练深度网络模型提取抽象语义信息,实现高层视觉信息的表达。相比于前两类方法,此类方法具有更强的特征提取能力和模型泛化能力,使得模型性能更优。
卷积神经网络(Convolutional Neural Network, CNN)作为深度学习的主要代表之一,凭借其较强的特征提取能力和泛化能力,在图像领域取得令人满意的成绩。文献[7]将卷积神经网络运用到高分遥感影响分类中,证明了卷积神经网络在遥感影像分类中的可行性和精度优势。文献[8]改进了经典模型VGG16,使用L2正则化,增加Dropout层等方法,在NWPU-RESISC45数据集上取得了91.07的分类准确率。文献[9]提出了一种深度卷积神经网络,在21UCmerced数据集上进行数据增广,准确率达到了91.33%。但在类别间差距较小的情况下,其分类准确度较低。
现有工作表明,卷积神经网络在遥感领域场景分类中具有较大的潜力和优势。而由于遥感影像场景空间尺度大、背景复杂以及相似类别间差异性小,有效提取场景特征存在困难,导致场景分类任务的准确度不高。因此,笔者引入注意力机制(Attention Mechanism)[10],学习更明显的特征区域信息,从而缓解复杂场景中冗余信息的干扰。
综上,笔者提出了一种改进的遥感影像场景分类模型AResNet。该模型主要贡献如下:①将卷积注意力模块(Convolutional Block Attention Module,CBAM)[11]引入到残差网络模型ResNet[12]进行特征提取,最终证明注意力机制的引入能够提升模型对特征区域的关注度。②将ImageNet预训练权重迁移到AResNet中,提升模型泛化能力,加快收敛速度。
卷积神经网络可提取图像底层特征,进而组合形成抽象高级特征,以降低人工提取特征的额外开销。遥感影像场景是不同语义特征的组合,不同的语义特征对应不同的底层特征,场景分类任务的关键就在于对特征的有效提取。卷积神经网络逐层提取的优势,恰好能够应用在影像低中高层的特征提取中,进而实现影像深层特征的表达,最终取得优秀的场景分类效果。基于卷积神经网络的遥感影像场景分类的总体流程,如图1所示。
图1 遥感影像场景分类总体流程
基本卷积神经网络结构通常包含3层,分别是输入层、隐含层、输出层。隐含层中包含4部分,分别是卷积层、池化层、激活函数、全连接层。其详细结构,如图2所示。
图2 卷积神经网络框架
卷积层主要通过线性操作进行特征提取和特征映射,所以也称为特征提取层,结构通常为组合卷积,参数主要包含卷积核尺寸大小、卷积核数量、步长、填充方式等。其计算如式(1)所示。
(1)
池化层是过滤卷积层的输出图像,是对卷积层输出的特征向量降维,减少特征图的尺寸,简化计算复杂度。第l层的第j个特征图的计算如公式(2)所示。
(2)
激活函数能够在神经网络中加入一些非线性因素来解决复杂问题。笔者使用线性整流函数(Rectified Linear Unit,ReLU)[13],ReLU是一个分段线性函数,在输入为负值时,输出为0,神经网络中神经元不会激活,使网络具有稀疏性,减少参数之间的依赖关系,进而缓解过拟合和梯度消失问题,其计算如公式(3)所示。
f(x)=max(0,x)
(3)
全连接层将每个神经元与前一层网络的神经元连接,对输入的高阶不变性特征进行分类,输出图像的高层特征,最后使用分类器进行计算,得到最终输出,即输入图像所对应类别标签的概率。笔者使用Softmax分类器计算每个类别的概率,其计算如式(4)所示。
(4)
公式(4)中,k为训练集中的类别总数,aj表示上一层节点输入全连接层后输出的第j类的值;Sj表示经过Softmax分类器后第j类样本对应的概率值。
通常,神经网络的深度越深模型的学习能力越强,而模型网络层数的增加会产生梯度消失,进而出现网络退化问题,导致层数越多训练误差越大。深度残差学习思想可有效缓解梯度消失现象,缓解网络退化问题,残差网络引入残差结构通过恒等映射(Identity Mapping)形成跳跃结构,不仅降低深层网络的训练负担,也提高了网络模型的准确率。笔者所提出的AResNet由ResNet50改进得到,Resnet50网络参数,如表1所示。
表1 ResNet50网络参数表
残差块(Residual Block)是残差网络的一个重要结构,即在网络结构中增加一个恒等映射。残差块结构,如图3所示。
图3 残差块
对于网络的输入x,假设H(x)是最优解,传统做法是让网络层无限逼近H(x),而残差网络的思想是构建F(x)=H(x)-x。当H(x)=x时,卷积层也称为冗余层,此时F(x)=0,残差块的功能为恒等映射。实际F(x)取0的可能性极低,其值为卷积层所学习的新特征,从而使得特征提取性能更优。ResNet50 使用“1×1+3×3+1×1”叠加卷积的瓶颈结构(Bottleneck Residual Block),其中前后两个“1×1”的卷积核分别用来降维和恢复维度,中间“3×3”的卷积核不仅用于加深网络,且能更好地提取非线性特征。
注意力机制思想来源于人类视觉注意力机制,即人类获取信息的时候,仅会关注当前场景中的关键信息,忽略其他无关信息,进而实现信息的有效提取。深度学习中的注意力机制跟人类视觉的注意力机制类似,其核心思想就是从众多信息中获取当前任务所需的关键信息,抑制无关信息的干扰。
2017年,WANG等人提出的Residual Attention Networks[14]将注意力机制用在所有维度上,出现了特征信息冗余,计算量大等问题。2017年,HU等人提出的SE Module[15]只在通道维度上使用注意力机制,忽略了空间维度上的特征信息。笔者使用卷积注意力模块CBAM,其将通道注意力和空间注意力结合以获取特征图,从通道和空间两个维度学习特征“是什么”和“在哪里”,进而实现对图像差异性的重点关注,使得场景分类任务可以取得更加优异的分类结果。图4为卷积注意力模块CBAM结构图。
图4 卷积注意力模块(CBAM)结构
本模型以残差网络resnet50为基本结构,将卷积注意力模块CBAM引入到resnet50结构中相邻残差块之间,利用CBAM的通道注意力决定学习什么特征,利用CBAM的空间注意力决定学习何处的特征,更好的关注相似类别间的差异性,从而提高模型的特征提取能力,该模型的结构图如图5所示。
在卷积神经网络模型中,利用前向传播计算网络模型的输出值,对于第m层卷积层,计算公式如(5)所示。
(5)
模型使用交叉熵损失函数计算损失,计算如公式(6)所示。
(6)
最后利用Adam(Adaptive Moment Estimation)算法优化损失,输出最终模型权重。
实验在Centos6.2系统下进行,实验环境是基于Centos6.2的Pytorch深度学习框架,采用GPU进行加速训练,其型号为NVIDIA Tesla P40。
训练过程中,Batch-size为16,Epoch为20,Learning-rate为0.0001,使用Adam算法优化损失。
图5 AResNet结构
本次实验的数据集是西北工业大学创建的公开遥感图像场景分类数据集NWPU-RESISC45。数据集一共包含45个场景类别,每个类别有700张图片,每张图片的像素大小是256×256,共计31 500张。此数据集的遥感影像空间分别率从每像素0.2m~30m不等。由于该数据集的影像,相同类别间差异性较大,不同类别间相似性较小,非常适用于场景分类等任务。
本实验将数据集按照8∶2的比例划分为训练集和测试集两部分,训练集用于训练模型参数,测试集用于测试已训练的模型。以ImageNet预训练权重初始化网络参数,在卷积神经网络模型中进行前向传播,得到输出值,使用交叉熵损失函数判断真实值和预测值之间的分布差距,用Adam算法优化损失,最后得到模型AResNet。详细的训练过程,如图6所示。
图6 训练和验证过程流程
为了评价模型AResNet的有效性,将该模型与现有的场景分类模型或方法在同一个数据集上进行比较,结果见表2。由表2可以看出,AResNet加入了注意力机制,使得其分类效果明显优于其他方法与模型。
表2 不同方法在NWPU45数据集的准确率对比
AResNet在NWPU-RESISC45数据集上进行试验,得到表3的实验结果。由表3可知,AResNet在编号为1,2,……,24,这24个类别取得了不错的分类结果,平均分类准确率达到了97.3%,原因是具有特别的区别于其他类别的特征。编号为25,26,……,45,这21个类别分类表现一般,平均分类准确率是90.9%,特别是编号为41,42,43,44,45,这5个类别的分类准确率均没有达到90%,原因是这5种类别具有高度相似的场景特征。
表3 AResNet在NWPU-RESISC45数据集的分类结果
如图7所示,在(a)中,编号41、42这2个类别,背景中植被覆盖率较高,且中间的特征区域也具有相似的形状特征,导致类别错分。在(b)中,编号43、44、45,这3个类别,同样具有高度相似背景,其特征区域都具有规则、方正、棱角分明的特点,所以导致出现错分情况。
(a).41 (b).42 (c).43 (d).44 (e).45
笔者提出了基于注意力机制的残差网络模型AResNet。通过引入CBAM,使得模型可以适应背景复杂,背景冗余度高,不同类别差异性较小的遥感影像数据集,提高了模型的特征提取能力,使其可以聚焦到更具有辨别性的特征区域。相比较于已有的工作结果,AResNet在NWPU_RESISC45数据集上的准确率提高到了94.3%,其中40类的分类准确率都保持在90%以上。然而,对于相似场景的分类效果不够理想,准确率有待提高。因此,下一步,考虑在网络模型的特征提取方面进行优化,以适应更多相似背景下的遥感影像数据,提高模型的分类准确率。