何婧媛,谢生龙,田原,田琴琴
(延安大学数学与计算机科学学院,陕西延安 716000)
遥感图像场景分类通常是根据特征进行分类,图像特征的提取很大程度上决定了场景分类的准确度。目前,图像特征表示方法主要有基于人工提取特征、基于无监督特征学习和基于深度特征学习三种。遥感图像空间分辨率的提高使得遥感图像分类经历了三个阶段:像素级、目标级和场景级。近年来对图像场景分类的研究越来越多,场景分类面临的主要挑战[1]是图像类别和带标记的数据样本数量少、类内多样性大、类间相似性高、场景尺度变化大、具有判别力的特征提取困难等。
目前,卷积神经网络已经广泛应用于遥感图像场景分类任务,与传统方法相比,CNN 具有端到端的特点,同时能够提取手工制作特征方法无法学习到的高级视觉特征。通过大量实验验证了利用现有的CNN 网络进行特征提取在小规模数据集上是简单和有效的,但训练样本的数量若不足以从头训练一个新的CNN 时,可以选择在已经训练好的CNN 上对目标数据集进行微调。基于CNN 的遥感图像场景分类主要有使用现成的CNNs 作为特征提取器、在目标数据集上对已经训练好的CNNs 进行微调和对轻量级CNNs 模型进行优化这三种策略[2-5]。
在场景分类任务中,针对基于CNN 的方法需要将大量带标记的遥感图像作为训练数据集,无监督学习方法GANs 引入了遥感图像场景分类。基于GAN 的方法通过对抗性训练能够模拟真实场景中的样本分布并生成新样本,它主要用于没有标记数据的场景分类。GAN 是一种深度学习模型,通过博弈的对抗性训练,GAN 可以模拟真实样本的分布并生成新的样本。基于GAN 的方法已经成功地应用于遥感图像数据集中没有人工标注标签的遥感图像场景分类。表1 列出了一些基于GAN 的遥感图像场景分类。
表1 基于GAN的遥感图像场景分类总结
GAN 通过增强鉴别器的表示能力,获得了较好的场景分类性能。基于GAN 的方法通常使用GAN来生成样本,或者对抗性地通过训练网络进行特征学习。基于GAN 的场景分类方法比基于CNN 的场景分类方法少很多,但由于GAN 具有强大的自监督特征学习能力,因此,其是场景分类一个较好的发展与研究方向。
通过提取图像特征对图像进行分类,需要大量带标签的图像作为样本数据来训练网络模型,然而实际情况并不能达到预期目标,在模型训练过程中经常会出现过拟合现象。这就促使了将一些训练好的深度网络模型迁移到遥感图像场景分类中。将在具有足够数据的数据集上训练好的网络模型应用到需要遥感图像场景分类,且可以将其使用在训练好的网络模型上的结构和参数等信息中,然后在新的数据集上对其进行重新训练。采用迁移学习进行图像分类,大部分情况下是通过对训练好的网络模型进行微调来达到目的,具体如何对模型进行训练与使用,取决于数据集的大小以及源数据和目标数据之间的数据相似程度。
文献[14]采用数据增广和迁移学习两种技术在UC-Merced 数据集上验证了五种现有网络性能,并得到了较高的分类精度。在文献[15]中提出了一种基于迁移学习的卷积神经网络高分辨率遥感影像识别方法,用来解决小样本集合的遥感影像场景分类问题,该方法在UC-Merced 数据集上的准确率达到97.92%。针对相同和不同高光谱多场景图像的网络迁移问题,吴斯凡在基于多尺度多场景迁移学的高光谱图像分类算法研究中采用基于模型的迁移学习和基于特征-模型的迁移学习方法,解决了高光谱图像标记缺乏的问题,同时提高了分类性能。从大量基于迁移学习的遥感图像分类文献中可以看出,对于小样本或零样本的图像分类问题,采用迁移学习方法能够较有效地解决图像标记缺乏带来的分类准确率不高、分类性能较低等问题,为跨域图像场景分类带来了新的研究方向。
通过对深度学习场景分类现状的研究,针对场景分类中存在的多尺度特征提取困难以及特征表征能力弱的问题,在卷积神经网络的基础上提出适应场景分类的网络模型。
构建遥感图像样本数据集为D=[D1,D2,…,DN],样本标签为L=[L1,L2,…,LN],其中N表示有N类遥感图像,Di(i=1,2,…,N)表示第i类遥感图像的数据集合,Li(i=1,2,…,N)表示第i类遥感图像的标签集合。样本数据集是由训练集Tra和测试集Tes构成。对于数据集中的每类遥感图像,假设其样本总数为n,训练集从样本总数中随机抽取m张图像进行构建,测试集由剩余n-m张图像进行构建,即Tra=[Tra1,Tra2,…,TraN],Tes=[Tes1,Tes2,…,TesN],其中,Trai(i=1,2,…,N)代表的含义是第i类遥感图像的训练集,总共包含了m张训练图像,Tesi(i=1,2,…,N)代表的含义是第i类遥感图像的测试集,由n-m张测试图像构成。
文中构建了一个基于卷积神经网络和多尺度特征融合(MFF-CNN)的网络模型,如图1 所示。
图1 MFF-CNN模型
MFF-CNN 网络采用特征融合模块将高层网络Level 6、Level 5 分别与低层网络Level 1、Level 2 通过跳跃连接方式进行融合。融合模块1 对Level 1 与Level 6 进行融合,融合模块2 对Level 2 与Level 5 进行融合,以此实现高层语义信息与低层特征信息的融合,然后将特征融合模块与全连接层fc7 同时输入到多核支持向量机(MKSVM)进行分类,实现来自不同卷积层、不同尺度、不同特征的多元信息分类,最后得到分类结果。
1)前向计算MFF-CNN 网络每个神经元的输出值[16]。
第k层卷积层的第j个特征图的计算公式如下:
第k层池化层的第j个特征图的计算公式如下:
第k层为全连接层时,第j个特征图的计算公式如下:
其中,yk-1表示第k-1 层所有特征图加权之后的结果。
2)反向计算MFF 网络整体损失函数[17]。
对于图像训练集中带标签样本Imi的标签函数由如下公式确定:
若判定标签样本Imi为第c类的概率是(c=1,2,…,N),则将其误差定义为Eri,公式如下:
根据所有训练样本的误差来计算损失函数Los,计算公式如下:
3)采用梯度下降法更新网络参数,同时对损失函数进行最小化。
4)根据公式(3)计算得到fc7 层输出结果fe_fc7,其包含了fc7 层的所有特征图。
在高层特征自适应融合的基础上设计一种多核支持向量机(MKSVM)分类器[16]:
式中,f(xj)代表第j张图像的预测标签值,αi是优化参数,li是训练样本标签,Num为训练样本数,ωn代表各子核权重,Kern(xi,xj)表示第n个核函数,b是最优偏置。式(8)中xi表示第 张图像在全连接层fc7 的特征向量,xj和xq分别表示第j张和第q张图像在融合模块1 和融合模块2 的特征向量,η表示带宽参数。分类器训练好后,将MFF-CNN 网络中采用融合模块融合后的图像特征和全连接层的输出作为输入数据,共同输入MKSVM 分类器,然后采用MKSVM 分类器对图像进行分类。将测试集中所有图像采用分类器分类后得到的预测值与其原始标签值相比,能够得到图像分类准确率。
数据集对图像分类的评价有着重要的作用,近年来高分辨率卫星图像的获取也更加容易,为了提高分类准确率和精确率,一些公开的分辨率高的基准数据集相继产生。目前运用最广泛的遥感图像场景数据集[1]是发布于2010 年的UC-Merced 以及发布于2017 年的AID 和NWPU-RESISC45 这3 个公开基准数据集,其中AID 和NWPU-RESISC45是最新的两个大型场景分类基准数据集,这3 个数据集及其特征如表2所示。
表2 3个公开可用的遥感图像场景分类数据集
文中采用的数据集是UC-Merced、AID和NWPURESISC45 三个用于遥感图像场景分类数据集,数据集中图像的角度、方向、光照等各不相同,增加了分类难度。在实验中训练样本和测试样本均是随机选择的,三个数据集中每类图像的训练样本和测试样本比例分别为8∶2、5∶5 和2∶8。
为了验证该文提出的MFF-CNN 方法在遥感图像场景分类中的性能,将文献中的一些基于深度学习的场景分类方法与MFF-CNN 方法在3 个公开的基准数据集UC-Merced、AID 和NWPU-RESISC45 上的总体精度(OA)进行对比,分类精度对比结果如表3所示。
对表3 进行分析看出UC-Merced 数据集上的分类准确率可以达到98%以上,该文为98.84%。AID数据集上的分类准确率可以达到96%以上,该文为96.95%。NWPU-RESISC45 数据集上一些基于CNN的先进方法可以达到91%以上的分类准确率,该文为91.58%。从实验结果对比分析中发现,UC-Merced数据集上的分类性能已经接近饱和,今后的研究重点应主要针对AID 和NWPU-RESISC45 数据集,且NWPU-RESISC45 数据集与UC-Merced 数据集和AID 数据集相比分类准确率有更大的提升空间。
表3 场景分类方法分类准确率对比结果
该文方法输入图像更加丰富,特征表示能力更强,实现了高层特征和底层特征间的融合,同时具有更好的泛化能力。实验结果也充分展示了该文方法具有较高的整体分类准确率,是一种有效的遥感图像分类算法。深度学习方法的分类性能不断提高,但基于深度学习的方法对训练数据有较高的依赖性,需要大量带标记的样本用于训练或调优,耗费的精力和财力巨大,因此对遥感图像场景分类研究应趋向于无监督学习和迁移学习,进一步提高现实场景的鲁棒性、泛化能力以及分类性能。