APP下载

遥感场景分类的批处理协方差神经网络方法

2022-07-12郑天佑

宇航学报 2022年6期
关键词:批处理卷积局部

郑天佑,王 强

(哈尔滨工业大学航天学院,哈尔滨 150001)

0 引 言

随着星载成像传感器的快速发展,越来越多的在轨卫星,例如GeoEye-1,WorldView-3和ZY-3均能够捕获高分辨率遥感图像。利用遥感图像进行场景分类的应用范围正逐步扩大。遥感图像场景分类的结果不仅能够进行目标检测定位,而且有助于对特定检测目标的有效识别和深入决策。尽管卫星获得的遥感图像分辨率高,但是复杂的场景信息、特征信息给遥感场景分类带来了极大困难。传统的遥感场景分类任务,主要依赖于人工设计特征结合传统分类算法,比如通过主成分分析(Principal component analysis, PCA)算法融合遥感图像来提高图像空间分辨率,再利用支持向量机(Support vector machine, SVM)算法整合设计特征,这些方法一直备受众多研究者的关注。随着人工智能深度学习算法的发展,更多基于深度神经网络的算法被引入到遥感图像场景分类问题中,并且较大地提升了分类准确率。卷积神经网络(Convolutional neural network, CNN)作为深度神经网络中研究最充分的方法,其模型被广泛应用到自然场景分类中,例如VGGNets,ResNets和DenseNets。

对于拥有充足数据样本的自然场景数据集,训练后的CNN通常能够获得优于传统识别算法的分类精度。但是,现有的CNN在应用于遥感图像场景分类时,尚存在很多待改进之处。首先,遥感图像的数据采集需要结合星载成像设备进行,由于采集难度大、设备成本高,采集到的数据并不能像自然场景图像一样以百万个计数,这就导致了使用大参数的CNN进行遥感场景分类时收敛不足,存在欠拟合现象;其次,遥感图像是卫星在不同光照条件下采集的数据,存在局部区域光照变化强烈的问题,也会出现图像中局部包含无关特征的问题。上述现象都会影响最终的分类精度。

针对CNN在遥感图像场景分类中存在的数据量不足、局部光照强度变化、局部存在无关特征的问题,本文提出一种基于批处理的协方差层来替代现有CNN中的卷积层。同时将神经网络模型在ImageNet上进行预训练,通过迁移学习来进一步提高遥感场景分类任务的分类精度。

1 协方差对于遥感图像场景分类的改进

星载成像采集的遥感场景图像,由于高空拍摄,不可避免地存在局部光照强度的变化,以及每个类别图像中都会存在与分类场景无关的特征,这些局部光强变化以及局部无关特征都会降低CNN的分类精度。

1.1 协方差算法对局部光强变化的适应性

卷积层作为CNN中的主要运算层,对输入特征图进行滤波,其输出值表示卷积核与输入的相关性。通过逐层滤波,CNN能够聚焦于类别相关的区域,通过全连接层调整输出的概率分布,完成分类。卷积层每个卷积核的运算可以表示为:

(1)

式中:(,)为输出特征图中坐标为(,)处的值;为输入特征图;为卷积核;卷积核中各点坐标用(,)表示;卷积核的尺寸为×。从式(1)可以看出,卷积算法在计算卷积核与输入图像的相关性时,并没有剔除输入图像在×区域的均值,因此,其均值的取值范围会影响最终的计算结果。卷积算法受局部光强变化的影响可以表示为:

(2)

式中:(,)表示理想情况下无光强变化影响的卷积核运算;(,)表示实际情况下有光强变化影响的卷积核运算;表示局部光强变化的均值。可见随着局部光强的变化,由卷积算法得出的相关性会发生改变。

在CNN中,对输入图像进行正则化的数据增广和对网络层进行正则化的批归一化方法(Batch normalization, BN)均针对整体尺寸的输入进行归一化,而对局部区域的变化缺乏归一化能力,因此引入协方差算法以改善其性能。协方差算法分别减去输入特征图和卷积核的均值,可以表示为:

(3)

本文针对卷积算法和协方差算法在局部光强变化的适应性方面进行了对比实验,如图1所示。图1选择了存在局部光强变化的飞机图像进行实验,选取图像中的一架飞机作为特征,该特征作为特征核与原图分别进行卷积和协方差运算。如图1所示,协方差算法能够在与飞机特征相关的位置获得较大值,如图中高亮区域,而卷积算法则在整个光照明亮区域获得较大值,图中大范围区域呈现高亮,已经难以分辨飞机的位置。

图1 局部光强变化图像中协方差算法和卷积算法定位特征能力比较

1.2 协方差算法对局部无关特征的鲁棒性

导致由卷积算法计算的相关性产生偏差的另一原因是遥感图像中局部无关特征的均值过大,即式(2)中的过大。然而,从式(3)可以看出,协方差算法能够减去局部无关特征的均值,从而消除过大产生的影响,保证(,)=(,)。

为了验证协方差算法对于无关特征的鲁棒性,本节给出了协方差算法和卷积算法在存在局部无关特征的图像中定位相关特征能力的比较,如图2所示。图2选择了遥感场景分类中常见的4类场景,由于高空拍摄,图像中均包含无关特征,例如河流图像中包含沙地,船的图像中包含房屋,桥的图像中包含草地,以及网球场的图像中包含停车场。与分类相关的部分区域被选为特征核与原图分别进行卷积和协方差的运算,从图2可以看出,协方差算法能够在与分类相关的位置获得较大值,如图中的高亮区域。卷积算法由于受到无关特征影响,会在与分类无关的区域获得较大值,图中高亮区域与实际分类目标之间存在偏差。

根据以上两个小节的分析,从图1可以看出协方差算法对于局部光强变化的适应性,从图2可以看出协方差算法对局部无关特征的鲁棒性。因此,协方差算法在遥感图像场景分类任务中,能够应对卷积算法难以应对的局部特征问题,提高神经网络的分类精度。CNN中的卷积层并不是单纯的使用卷积算法,还需要针对多个输入通道进行整合,因此,在CNN中引入协方差算法也需要针对网络结构进行调整。

图2 协方差算法和卷积算法在存在局部无关特征图像中对特征定位能力的比较

2 批处理协方差神经网络

根据以上分析,协方差算法能够很好地解决遥感图像场景分类中存在的局部特征均值变化问题。将协方差算法引入CNN中并替换原有卷积算法将有助于提升遥感场景分类的效果。本章将介绍把协方差算法整合进神经网络的具体方法。

2.1 批处理协方差层

在CNN算法中,可以用3×3大小的卷积核逐渐覆盖任意尺寸的特征图。对于含有个通道的遥感图像,其卷积层可表示为:

(4)

式中:(,)为输出特征图中坐标为(,)的值;为输入通道数;为第个通道的输入特征图;为第个输入通道的卷积核;卷积核的尺寸为×。由于协方差算法是实现局部特征归一化的有效方法,可以将卷积算法替换为协方差算法,并保证协方差算法中的均值覆盖通道×大小的区域,即批处理协方差,可以表示为:

(5)

(6)

从式(6)可以看出,批处理协方差层通过剔除输入特征图中个×尺寸的均值来计算相关性。图3将批处理协方差层与传统归一化层的结构进行对比,图中,分别表示特征图的长宽尺寸,为一次性输入图像的数量(Batch),分别表示特征图的输入与输出通道数。虽然批处理协方差层与传统归一化层都进行了归一化操作,但两者选择的维度不同。归一化层是针对整体尺寸×进行归一化,其中批归一化(BN)是针对每个通道的张图进行归一化,实例归一化(Instance norm)是针对每个通道的每张图进行归一化,层归一化(Layer norm)是针对全通道的每张图进行归一化。而批处理协方差层则是针对全通道的局部尺寸×进行归一化,这使得批处理协方差层能有效地进行局部归一化,可以更好地应对局部特征均值变化带来的影响。从图3也可看出,批处理协方差层计算了三个维度的数据均值,因此可以看作一种3D协方差层。

图3 批处理协方差层和传统归一化层比较

将CNN的卷积层用批处理协方差层替换,即可得到批处理协方差神经网络(CovNN)。图4对比了CNN和CovNN的结构,可见,批处理协方差层可以通过替换现有的多数CNN中的卷积层,形成新的神经网络。

图4 卷积神经网络和批处理协方差神经网络

2.2 CovNN的训练

本节主要介绍CovNN的训练过程,包括前向传播、损失反向传递和梯度更新。

..前向传播

为了利用现有CNN的GPU加速算法,将式(6)转化为全部可用卷积运算表示的形式。式(6)可表示为:

(7)

式中:为一个×大小的全1卷积核。式(7)可以进一步改写成卷积的计算方式:

(8)

..损失反向传递

通过式(8)可以将批处理协方差层转化为卷积运算,使得CovNN的前向传播与CNN相近,CovNN的损失反向传递也与CNN具有相似性。假设是第层获得的反传损失,如果第层是批处理协方差层,则经过第层的反传损失可以表示为:

(9)

(10)

(11)

式(11)描述了CovNN批处理协方差层的损失反传,CovNN中其他层保留CNN损失反传算法。

..梯度更新

合适的梯度更新算法有助于CovNN的快速收敛并且获得良好的分类精度,随机梯度下降常被选为梯度更新算法。批处理协方差层中每个核的梯度更新可以表示为:

(12)

(13)

3 实验与结果分析

为验证CovNN在卫星采集的遥感图像场景分类数据集中对于局部光强变化的适应性和对于局部无关特征的鲁棒性,本文选取了2个常见的遥感场景分类数据集,即AID(Aerial image dataset)数据集和NWPU-RESISC45数据集。将现有表现优异的CNN模型中的卷积层替换为批处理协方差层,用以形成对应的CovNN。由于遥感场景分类数据集相对于超大参数的神经网络所需的数据量仍有不足,本文引入ImageNet自然场景数据集进行预训练,通过迁移学习的方式,对遥感场景分类进行再训练。

3.1 遥感场景分类数据集介绍

AID和NWPU-RESISC45均是从融合了卫星遥感图像和地理信息的3D地球图像中采集整理获得的。这两个数据集类别广泛,但由于图像尺寸较大,不同类别图像之间又存在相似性,提高了场景分类问题的难度,部分图像如图5所示。

图5 遥感场景分类数据集中图像实例

AID数据集:包含有裸地、密集住宅、棒球场、桥、中心场馆、教堂、火车站、商业区、高架桥、沙漠、储油罐、农场、森林、工业区、牧场、中等密度住宅区、沙滩、山地、公园、停车场、操场、池塘、港口、旅游区、河流、学校、广场、体育场、稀疏住宅区、机场。数据集包括30个类别总计10000张图片,每张图片的分辨率是600×600。

NWPU-RESISC45数据集:包含有飞机、机场、棒球场、篮球场、海滩、桥梁、丛林、教堂、圆形农田、云、商业区、密集住宅、沙漠、森林、高速公路、高尔夫球场、地面田径场、港口、工业地区、交叉口、岛、湖、草地、中型住宅、移动房屋公园、山、立交桥、宫殿、停车场、铁路、火车站、矩形农田、河、环形交通枢纽、跑道、海、船舶、雪山、稀疏住宅、体育场、储水箱、网球场、露台、火力发电站和湿地。数据集包含有45个不同场景,每个场景包含700张图片,总计31500张图片,每张图片的分辨率是256×256。

3.2 基于CovNN的神经网络模型及预训练

CNN模型从最初的LeNet模型发展到后来的深层神经网络,其分类精度也随着层数与参数的增加而逐步提升。VGGNets通过合理地堆叠卷积层,获得19层卷积的深度。随着网络的继续加深,梯度消失问题逐渐加重,使得CNN难以训练收敛,因此,残差网络(ResNets)被提出以改善深层神经网络的梯度反传能力。DenseNets在此基础上,提出了一种更广泛的残差网络结构,并且提高了在ImageNet上的分类精度。通过将神经网络中的卷积层替换为批处理协方差层,VGGCovNets,ResCovNets和DenseCovNets分别为现阶段常用的CNN模型的CovNN版本。

基于CNN的研究已经证明,CNN中参数的初始化值将影响最终的收敛结果,进而影响分类精度。用一个更大的数据集训练的CNN参数可以赋予CNN一个更好的初值,有助于提升CNN的分类精度。这一点对于CovNN也同样适用。通过星载成像系统采集的遥感图像也属于自然场景图像,由于采集图像难度大、成本高,导致最终用于训练的数据集大小有限,因此充分利用现有的自然场景数据集将有助于进一步提高CovNN在遥感场景分类中的精度。本文引入ImageNet数据集做预训练,为遥感场景分类任务的CovNN设置初值。

ImageNet是一个包含有128万张自然场景图像的大型数据集,数据集被细分为1000个常见生活场景,图像的尺寸为224×224。VGGCovNets,Res-CovNets和DenseCovNets模型中的大量参数正需要ImageNet这种量级的数据集进行预训练来更好地收敛。在利用ImageNet进行训练时,图像数据被归一化到[0~1]范围内,并且进行了数据增广。训练使用随机梯度下降算法更新梯度,循环次数为100次,初始学习率为0.1,在第40次和第70次分别变为0.01和0.001,采用测试的最佳结果计算该模型的识别错误率,列于表1中。由表1可见,CovNN的各模型均能够提升分类精度。

由于ImageNet包含有丰富的数据,CovNN网络的性能和其在ImageNet上取得的分类精度是息息相关的。同时,遥感场景分类数据集和ImageNet数据集都是基于自然场景的数据集,因此,在ImageNet上表现好的模型,在遥感场景分类任务上也具有优势。在表1中,DenseCovNet-121模型获得最佳的分类效果,因此选择DenseCovNet-121作为遥感场景分类的模型,并将其在ImageNet训练得到的参数权重作为模型的预训练初值。

表1 CNN模型和CovNN模型在ImageNet上的识别错误率

3.3 遥感场景分类评价指标

由于遥感场景分类数据集中经常存在类别分布不均衡的问题,如果简单地求取每个类别的准确率再求平均值,少数类的结果将对最终结果产生较为严重的影响。因此,本文使用召回率作为遥感场景分类模型的评估指标,每类的召回率可以表示为:

(14)

式中:表示每类的召回率;表示每类的真正例,即正样本被预测正确的数量;表示每类的假负例,即正样本被预测错误的数量。针对遥感场景分类所有类别的召回率可以表示为:

(15)

式中:表示数据集的总类别数。召回率能够更好地评价一个模型针对遥感场景数据集的所有类别的分类能力。

3.4 实验参数设定

数据集被随机划分为训练集和测试集,AID的训练集占整体的20%和50%,NWPU-RESISC45的训练集占整体的10%和20%,剩下为测试集。同时为了减少整个网络的内存消耗,所有图像的分辨率被调整为224×224。

模型使用DenseCovNet-121,训练次数被设定为400次,每经过一次训练进行一次测试,每批次输入图像为64张。每张输入图像均经过数据增广的方式进行扩展,以获得更好的分类效果,实验中采用的数据增广方式有:色彩转换、明暗调节、对比度调节和锐度变化。模型进行了10次测试,取平均值作为最终的分类结果。本文所有模型均使用GeForce RTX 3090,24 GB显存的GPU设备。网络模型的程序使用Pytorch开发。

3.5 实验模型表现

本文选取了近几年用于遥感场景分类中表现较好的CNN算法:CaffeNet,GoogLeNet,D-CNN with VGGNet-16,TEX-TS-Net和DenseNet (with 3D GAP)与本文的DenseCovNet-121模型进行比较。分别针对两个数据集、不同训练集比例进行实验,实验结果见表2和表3。

表2 AID数据集上不同模型召回率比较

对于AID数据集,经过10次重复实验后,计算平均召回率以及标准偏差,其中DenseCovNet-121的召回率最高。相比于基于传统卷积层DenseNet改进的DenseNet (with 3D GAP),DenseCovNet-121仍有着不错的提升,这符合前文的分析,即批处理协方差层通过减少局部特征均值变化的影响来提高分类精度,而这种影响在AID数据集中是广泛存在的。

对于NWPU-RESISC45数据集,经10次重复实验后,计算平均召回率以及标准偏差。由表3可知,DenseCovNet-121的召回率最高,与现有表现优秀的DenseNet (with 3D GAP)比较仍有优势。这符合前文分析,即CovNN中的批处理协方差层能有效改善数据集中图像存在的局部特征均值变化影响,同样这类问题在NWPU-RESISC45数据集中是广泛存在的,也是CNN难以处理的。同时,提高训练集的比率也有助于提高模型的召回率。

表3 NWPU-RESISC45数据集上不同模型召回率比较

4 结 论

针对卫星遥感图像场景分类中局部区域光强变化和局部存在无关特征的问题,本文提出了一种使用批处理协方差层的神经网络(CovNN)模型。该模型能够对输入数据的局部区域进行归一化,从而提高模型的分类精度。本文研究了协方差对局部特征均值变化影响的消除能力,通过将CNN的卷积层替换为批处理协方差层,可以将CNN转化为CovNN;描述了CovNN中批处理协方差层的正传、反传和梯度更新细节。通过迁移学习的方式,引入ImageNet数据集作为遥感场景分类数据集的补充。通过在典型卫星遥感数据集AID和NWPU-RESISC45的实验研究,证明了本文所提方法能够有效解决遥感场景分类中局部区域光强变化和局部存在无关特征的问题,从而明显提高分类精度。

猜你喜欢

批处理卷积局部
基于全卷积神经网络的猪背膘厚快速准确测定
日常的神性:局部(随笔)
基于图像处理与卷积神经网络的零件识别
恶意批处理文件导致电脑黑屏、反复重启、无响应的原因分析及应对思路
凡·高《夜晚露天咖啡座》局部[荷兰]
基于深度卷积网络与空洞卷积融合的人群计数
不装软件批处理为文件夹加锁
借助批处理 让Cortana变聪明
卷积神经网络概述
丁学军作品