APP下载

基于非对称全局卷积神经网络的遥感图像识别方法

2020-11-28徐风孙万砚

林业工程学报 2020年6期
关键词:集上全局像素

徐风,孙万砚

(南京林业大学信息科学技术学院,南京 210037)

遥感图像的地物种类识别在土地资源管理、生态系统监测和森林状态评估等领域中起着基础性作用,该任务的主要目的是通过对图像特征的理解和分析,判断出图像中所包含的主要目标类别信息,如农作物、沙滩或森林等[1]。为提高遥感图像地物种类识别的精度和效率,模式识别和机器学习等方法被广泛应用,并且取得了令人满意的效果[2]。

近年来,随着深度学习技术在计算机视觉领域的发展,使用深度卷积神经网络(convolutional neural network,CNN)处理二维自然场景图像已经成为当下最热门的研究课题之一。相比传统的手工特征和浅层学习特征,深度学习特征包含了特定的语义信息,同时具有可判别能力强、适用范围广、可学习能力凸出等优势[3-4]。广大农林科技工作者也将深度CNN特征用于遥感图像的理解和分析任务中,如遥感图像地物分类、遥感图像质量评价分析等[5-6]。

尽管经典的深度CNN模型在一定程度上可以提升二维图像的识别精度和效率,然而由于传统卷积结构存在局部性的特点,即单个卷积模块每次只能提取到输入图像(特征图)的局部信息(具有局部感受野)。因此,经典的深度CNN模型很难在同层网络结构中获取到输入图像(特征图)的全局信息和长远依赖关系,而其已被证明是图像识别的关键因素。虽然通过多个卷积模块的叠加可以在一定程度上增大同层卷积结构的局部感受野,但是这种简单堆砌的结构往往会造成深度CNN模型计算效率低下和难优化等缺点。为更容易地获取输入图像(特征图)的全局信息和长远依赖关系,Wang等[7]提出了全局卷积神经网络(non-local convolutional neural network, Non-local CNN),并在二维自然场景图像识别任务中取得了理想的效果。Non-local CNN主要基于全局卷积(non-local convolution, NC)结构,其首先计算输入图像(特征图)中每个查询值(Query)和所有关键值(Key)之间的相似对应关系,并使用获得的相似度作为每个Query的全局上下文表示;然后通过相似度的加权总和将所有Query和键(Value)聚合后作为加权特征;最终加权后的特征和残差连接的和作为NC的输出。Non-local CNN已经被证明为是一种有效的全局上下文信息获取机制,且被成功应用于目标追踪、语义分割和图像生成等任务中[8-9]。

虽然Non-local CNN可以被用来提取图像(特征图)的全局信息和长远依赖关系,但NC结构本身需要较大的计算量,尤其对于一些高分辨率的遥感图像,其所耗费的计算代价是巨大的。例如,对一张H×W×C(H和W表示对应的高度和宽度、C表示维度)的图像(特征图),NC结构所需要的时间和空间复杂度均为O[(H×W)×(H×W)]。因此,直接将NC用于遥感图像的识别任务中是不可取的。考虑到部分种类遥感图像内部存在重复像素块和目标的特性,笔者认为在实际遥感图像识别任务中无须逐像素计算Query和键值对(Key-value)的对应关系,只需部分关键的Key和Value对应的像素即可。本研究中,为更高效地获取遥感图像的全局信息和长远依赖关系,笔者提出了一种非对称的全局卷积 (unsymmetrical non-local convolution, UNC)结构,并应用于深度CNN网络中, 形成非对称的全局卷积神经网络(unsymmetrical non-local convolutional neural network, UN CNN)。首先对经典的全局卷积结构中Key-value进行下采样,以降低其对应的图像(特征图)分辨率;然后将Query和经过下采样后的Key-value逐像素相乘,获取输入图像(特征图)的全局上下文表示和加权特征;最后将加权特征和残差连接相加,作为UNC的输出。和经典的NC结构相比,UNC的时间和空间复杂度降低为O[(H×W)×(H×W/r2)],其中,r为空间采样率。本研究在RSSCN7、UCML、WHU-RS19和AID[10-13]4种遥感图像地物识别数据集上进行实验,验证本研究方法的有效性和可行性。

1 数据处理与实验方法

1.1 实验数据

本研究中,将4种具有代表性的遥感图像数据集作为实验数据,分别为RSSCN7、UCML、WHU-RS19和AID,这些数据集均已被证实了其可用性和有效性[14]。其中,RSSCN7包含7个不同类别,每类400张(400×400像素/张),共计2 800张;UCML包含21个不同类别,每类100张(256×256像素/张),共计2 100张;WHU-RS19包含19个不同类别,共计950张(600×600像素/张);AID包含30个不同类别,共计10 000张(600×600像素/张)。这些数据集中部分类别的遥感图像如图1所示,可发现在这些类别的遥感图像中均存在重复像素块或重复目标。

图1 实验数据集中部分种类样本图像Fig. 1 Some kinds of sample images in the test data set

注:虚线表示残差连接。图2 全局卷积模块和非对称的全局卷积模块Fig. 2 The non-local and unsymmetrical non-local convolution module

1.2 数据预处理

由于深度学习模型需要大量训练数据才能使模型最优化,因此,图像扩增作为一种最常见的数据预处理手段被应用于多种以深度学习模型为基础的计算机视觉任务中,并取得显著成效[5-6]。本研究中,笔者采用与文献[6]一致的数据扩增策略。首先,数据集中的图片分别被水平、垂直和对角翻转45°和135°;之后,被翻转的图像再经过随机旋转作为实验数据集,旋转角度分别为45°,90°,135°和180°。数据扩增后的图像被分为80%的训练集、10%的验证集和10%的测试集。

1.3 实验方法

相比自然场景的图像,部分种类的遥感图像存在重复像素块或重复目标。因此,经典的NC结构(图2a)中逐像素计算Query和Key-value对应关系的操作是不必要的,遥感图像只需部分关键的Key和Value即可。为此,提出了一种UNC结构,使用下采样操作降低Key-value对应特征图的分辨率,改进后的操作流程如图2b所示。给定一张任意尺寸的遥感图像(特征图)X∈RH×W×C,首先,UNC对Key-value对应的特征图Xk,v进行池化操作,表示如下:

(1)

(2)

式中:W*表示可学习的特征嵌入映射;softmax(·)为特征归一化函数;f(X)为加权后的特征图;C表示输入图像的像素数量。最后将加权特征和残差连接相加,作为UNC的输出,表示为:

(3)

和经典的NC结构相比,UNC结构可以减少一些不必要的计算,降低模型对于内存的需求。同时,和NC结构的使用方法类似,UNC结构是一种专门针对遥感图像处理的通用CNN模块,具有即插即用的特点,可以应用于多种深度CNN模型的任意层中。为验证UNC结构的有效性,参考文献[7]的方法,将UNC结构和经典的ResNet-18[15]网络相结合,在ResNet-18的第4个阶段(Block)之后添加UNC结构,形成UN CNN。相比原始的CNN结构,UN CNN只带来少量参数的增加。因此,模型的整体时间和空间复杂度基本和CNN模型保持一致。

2 实验与结果

2.1 实验设置

所有实验基于PyTorch深度学习平台,该平台具有良好的扩展性、模块性和高效等特点,深受工业界和学术界欢迎,目前已经是深度学习研究领域应用最广泛的框架之一。程序在Think Station P320图形工作站上搭建,并使用4块GeForce GTX 1080 Ti图形处理器结合CUDA框架对图像处理流程进行加速。所有深度学习模型均首先在ImageNet[14]数据集上进行预训练,然后在具体的遥感图像数据集上微调。实验输入图像尺寸为256×256像素,模型优化使用随机梯度下降优化器,其动量设置为0.9,初始学习率设置为0.01,下降率设置为每1 000次迭代下降0.1,总迭代次数为 50 000 次,批量大小设置为16。为保证实验结果的稳定性,将每组实验随机运行5次,获取的模型在测试集上的平均准确率(accuracy,Acc)作为实验的主要评价指标。此外,为验证本研究方法的高效性,将模型的浮点运算量(floating point operations,FLOPs)作为另一项评价指标。

2.2 消融实验

对于复杂的深度神经网络模型,通过消融实验能快速实现对模型超参数和实验模块的准确定位,即寻找到CNN模型的最佳状态[16]。在本研究中,通过在RSSCN7数据集上的消融实验,主要可找出不同下采样方案和采样率对实验结果的影响。

2.2.1 采样方案对识别准确率的影响

全局最大池化(global max pooling,GMP)和全局均值池化(global average pooling,GAP)是深度学习模型中最常用的2种全局池化函数,可用于图像和特征图的下采样操作中,以达到降低分辨率的目的[17]。因此,在第1组实验中,主要探讨不同池化函数对识别准确率的影响。分别使用GMP和GAP对UNC结构的Key-value对应的特征图进行下采样,采样后的输出尺寸为8×8。在RSSCN7数据集上的实验结果如表1所示。

表1 GMP和GAP对识别准确率的影响Table 1 The effects of GMP and GAP on the recognition accuracy

从表1中可以看出,GMP和GAP均可提升模型的准确率,对验证集的准确率可分别提升至96.89% 和97.02%,对测试集的准确率可分别提升至96.32%和96.63%,因此,可以验证UNC结构的有效性。此外,相比GMP模型,GAP对模型准确率的提升效果更明显。在模型计算量方面,相比经典的Non-local模型,GMP和GAP均可减少28.5 G的FLOPs。因此,可以验证UNC结构的高效性。在下述实验中,均采用GAP作为UN CNN模型的下采样方案。

2.2.2 采样率对识别准确率的影响

除了采样方案,采样率也是影响模型性能的重要因素之一,本节实验主要探讨采样率对UNC结构的影响。经GAP下采样后,特征图的分辨率由原来的H×W×C变为h×w×C,因此,采样率可表示为r=H/h=W/w。r对UN CNN模型准确率的影响在RSSCN7数据集上的实验结果见表2。

表2 采样率对识别准确率的影响Table 2 The effect of sampling rate on the recognition accuracy

由表2可得出:1)UNC结构的采样率越低,模型参数量越少,越接近于传统的深度CNN模型参数量;2)r=0.5时(输出分辨率为8×8),模型在验证集和测试集上的准确率最高,分别达到97.02%和96.63%。在模型效率方面,UNC结构最多可减少24.53%的参数以及整体49.1%的浮点运算量。

2.3 实验结果

在最后的实验中,采用GAP作为UN CNN模型的下采样方案,其采样率设置为0.5。分别在RSSCN7、UCML、WHU-RS19和AID[10-13]测试集上的实验结果如表3所示。和当前在这些遥感图像地物识别数据集上对应的最好识别方法相比,UN CNN均可取得较高的准确率,进一步验证了本研究方法的有效性和普适性。

表3 最终实验准确率

3 分析与讨论

为更加直观地比较本研究提出方法的有效性,对深度CNN结构第4个阶段之后的遥感图像特征图所对应的Grad-CAM[23]进行可视化,结果如图3所示,越明亮的区域表示该区域对图像种类识别的贡献越大。从图3中可以看出,基于Non-local CNN的深度特征对应的Grad-CAM特征响应区域更大,表明有更多的区域参与该图片的识别,可以证实NC结构的有效性。此外,相比Non-local CNN和本研究提出的UN CNN模型对应的特征,UN CNN对应特征响应区域的Grad-CAM并未减少,表明本研究模型可以在保证参与识别区域面积的前提下,降低模型的时间和空间复杂度。

图3 不同深度CNN模型对应特征图的Grad-CAMFig. 3 Grad-CAM of feature maps corresponding to different deep CNN models

4 结 论

为解决全局卷积模块引入计算量过大的问题,针对部分种类遥感图像存在重复像素块的特点,提出了一种非对称的全局卷积神经网络模型。在4种公开遥感图像数据集上的实验结果验证了方法的有效性和高效性。未来会考虑将UN CNN模型应用于其他遥感图像任务中,如高分辨率遥感图像的语义分割、遥感图像地物目标检测等。此外,在计算Query和Key-value对应关系时,现有方法将不同Key-value对应特征图中的像素块视作同等重要,但实际上,不同Query和同一个Query对应的Key-value像素对于模型最终识别起着非同等重要的作用。因此,笔者也考虑基于自适应卷积模块的非对称全局卷积,尤其在处理遥感图像时,首先挑选出具有代表性的像素块,从而减少模型的计算量,进一步提升模型的性能。

猜你喜欢

集上全局像素
Cahn-Hilliard-Brinkman系统的全局吸引子
像素前线之“幻影”2000
量子Navier-Stokes方程弱解的全局存在性
Cookie-Cutter集上的Gibbs测度
链完备偏序集上广义向量均衡问题解映射的保序性
“像素”仙人掌
R语言在统计学教学中的运用
落子山东,意在全局
ÉVOLUTIONDIGAE Style de vie tactile
高像素不是全部