叶利华,王 磊,张文文,李永刚,王赠凯
1. 同济大学电子与信息工程学院,上海 201804; 2. 嘉兴学院数理与信息工程学院,浙江 嘉兴 314001
随着遥感影像技术的快速发展,高分辨率光学遥感影像数据量获得快速增长。与中低分辨率遥感影像相比,高分影像包含的信息更丰富,如空间信息、纹理信息、地物的几何结构信息等。影像中的地物目标具有同类差异大和部分类间相似度高的特点,因而如何有效地自动解译影像已吸引众多研究者的关注[1-2]。
为实现计算机视觉技术自动解译高分辨率光学遥感影的目标,很多处理方法被提出,主要可分为人工设计特征法和深度学习法。描述场景信息采用人工设计特征方法提取时,由于缺乏语义信息,导致这些方法的识别准确率与实际应用要求有较大差距。当前,由于出色的性能,深度学习方法已成为人工智能与模式识别领域的研究热点。针对图像分类问题,大量深度学习模型被构建,其中深度卷积神经网络模型的效果最好,如VGGNet[3]、GoogLeNet[4]、ResNet[5]等。在遥感影像场景分类任务中,基于深度学习方法的分类准确率获得大幅度地提高[2,6]。与人工设计特征方法相比,深度学习方法需要更多的标注样本。在标注样本较少的应用中,迁移学习方法能有效地解决样本缺少问题[6-7]。
针对上述三元组方法存在的问题,本文提出均值中心度量方法以提升深度学习模型的学习能力。该方法通过增加C个均值聚类中心来改进现有深度学习模型。与现有的遥感影像场景分类方法相比,本文方法的特点如下:①单输入方式实现深度学习与度量学习相结合的遥感影像场景分类;②改进深度学习模型的损失函数,新损失函数由交叉熵损失项、权重与偏置正则项和均值中心度量损失项组成;③与现有方法相比,在3个公开遥感数据集上都取得最高的分类准确率。
早期遥感影像场景分类采用基于低层特征的方法,包括光谱特征、纹理特征、形状特征等。文献[10—11]分别提取光谱微分特征和脱氧核糖核酸编码光谱特征的方法进行分类。针对对象纹理信息差异的特点,文献[12]提出光谱与纹理相结合的场景特征表示。单独或融合的纹理特征可有效地表征高分遥感影像信息,如灰度共生矩阵、Gabor小波纹理等[13]。文献[14]融合像素上下文的形状结构特征与光谱特征提高了分类准确率。
若用语义信息描述能力差的低层特征来表征富含语义信息的遥感影像场景,识别性能存在局限性。视觉词袋模型(bag of visual words,BoVW)描述的特征含有中层语义信息,该方法在图像分类领域获得广泛应用。文献[15]采用该模型显著地提高了遥感影像场景的分类准确率。文献[16]采用空间金字塔模型,将分层图像的BoVW特征级联组成最终特征用于描述图像特征。文献[17]基于BoVW提出一种空间共生矩阵核来表示相对空间信息并采用同心圆的划分方式解决图像旋转敏感问题。然而,BoVW模型仅利用图像局部特征的统计信息但忽略这些信息之间关联关系。为挖掘这些关联信息,文献[18]提出主题模型实现场景的语义标注,文献[19]则利用多种低层特征分别构建主题模型来实现。基于主题模型方法使场景分类的准确率获得大幅度地提高,然而,上述方法在复杂场景上的分类准确率仍很低[1]。
随着高性能计算技术的快速发展,深度学习方法被广泛地应用于各领域的研究并取得巨大成功,其原因在于深度学习方法能从原始数据中自动地学习高层语义信息[20]。与其他图像分类任务一样,基于深度学习的高分遥感影像场景分类准确率也获得大幅提升。文献[21—23]分别构建端到端的深度学习模型用于高分遥感影像场景分类任务。VGGNet、ResNet等优秀深度学习模型直接地用于高分遥感影像场景分类可获得更好的性能[24-25]。针对遥感影像数据集标注数据量少的问题,基于迁移学习的方法有效地提高了分类准确率[6,7,26]。融合不同的深度特征也可有效地提高分类准确率[27-28]。
尽管深度学习方法极大地提高了高分辨率光学遥感影像场景分类的准确率,但面对相似程度较高的场景时区分能力仍不足。因此,度量学习被引入用于改进深度学习模型,其目的在于改进特征在空间上的分布,降低相似场景之间的混淆比率。文献[8—9]采用三元组深度度量学习方法提高深度学习模型的区分能力。
综上所述,现有高分辨率光学遥感影像场景分类方法中,人工设计特征方法的特点是对标注数据量要求低、模型简单、运行速度快等,但是表征能力差、知识迁移困难、分类准确率低等;而深度学习方法则正相反,特征学习能力强、迁移学习较易及分类准确率高,但需更多的计算资源。
本文的深度卷积神经网络模型如图1所示。该模型基于VGGNet-16[3]构建,虚线框部分继承原有模型,由卷积层、池化层及全连接层构成,增加全连接层(1×1×N,N为类型数)以及联合损失层构成本文模型。图1中,“224×224×3”代表有3个通道,输入数据的尺寸为224×224。本文模型由13个卷积层、5个池化层、3个全连接层以及联合损失层组成。
图1 基于VGGNet-16的深度卷积神经网络模型结构Fig.1 Structure diagram of deep convolutional neural network model based on VGGNet-16
在特征空间上不同场景类型的间距越大,相似场景之间混淆的可能性就越低。因此,改进深度学习模型输出特征的空间分布,对提高总体分类准确率有积极意义。在文献[8,29]的启发下,本文提出均值中心度量方法以改进特征的空间分布,实现提升模型场景识别能力的目标。图2展示了本文深度度量学习方法的核心思想。“d”代表各聚类中心之间欧氏距离的平方,计算方法如式(1)所示
(1)
图2 均值中心度量方法Fig.2 The diagram of average center metric method
式中,i和j为类型编号;N为数据样本类型数目;cik为第i类均值聚类中心向量的第k维;“margin”超参数为均值聚类中心之间的最小距离。该方法为各场景类型添加聚类中心,聚类中心的值在训练过程中按批次进行动态调整。
模型的损失函数由3部分构成,包括交叉熵损失项(Ls)、均值中心度量损失项(Lcm)和权重(W)与偏置(b)正则项。各项的作用分别是:交叉熵损失项使不相同类型样本分离;中心度量损失项使同类型聚集并扩大各类聚集中心之间的最小间距;权重与偏置正则项是为防止模型过拟合。模型的损失函数定义如式(2)所示
(2)
式中,λ1和λ2为权重系数。
(3)
式中,m为每批次的样本数;yi为第i个样本的类型编号。根据上述均值中心度量方法的描述,Lcm定义如式(4)所示
(4)
式中,cyi为yi类型的均值聚类中心,其值采用梯度下降方法通过训练求得;h(x)定义为max(x,0)。
针对式(2)的优化问题,本文采用随机梯度下降(stochastic gradient descent,SGD)方法进行求解。根据SGD求解原理,Lcm项的xi偏导数及均值聚类中心的更新梯度如式(5)和式(6)所示
(5)
(6)
式中,δ函数在条件满足时返回1否则返回0;n为类型序号。cn值的更新方法如式(7)所示
(7)
式中,t为迭代次序。
为验证所提方法的有效性,本文选取其中3个各有特点的数据集进行试验,包括RSSCN7、UC Merced和NWPU-RESISC45数据集[1]。RSSCN7数据集共有7类场景,每类场景都有400幅400×400像素的影像并平均分为4种尺度。UC Merced数据集有21类场景且只有一个尺度,各类型有100幅256×256像素的影像。NWPU-RESISC45是当前规模最大、种类最多的公开遥感场景影像数据集共有45类场景,分别包含700幅256×256像素的影像。该数据集的特点是同类内部差异大和异类之间相似度高,对高分遥感图像场景分类方法有很高的挑战性。
为公平比较,数据集的设置与其他方法一致[1,24],随机选取各类型的两种比例作为训练样本,剩余为测试样本,其中RSSCN7为20%和50%、UC Merced为50%和80%以及NWPU-RESISC45为10%和20%。
试验结果采用平均总体分类准确率、标准差和混淆矩阵作为分类性能的评估方法。总体分类准确率的计算方法如式(8)所示
(8)
式中,N为测试样本的总数;T为各类型分类正确数的总和。平均总体分类准确率和标准差的计算如式(9)和式(10)所示
(9)
(10)
式中,M为重复试验的次数,本文M为10。
混淆矩阵能直观地展示各类型之间的混淆比率,矩阵的行为真实类型而列为预测类型。矩阵的对角线元素为各类型的分类准确率,其他任意元素xi,j代表第i类被误识为第j类场景占该类型的比率。
试验中有两类参数需要配置。一类是损失函数中的超参数,包括λ1、λ2和“margin”。参考文献[8],λ2设为0.000 5;λ1和“margin”的值,本文通过在NWPU-RESISC45数据集上以10%样本测试确定。首先,设定“margin”参数为1并分别设置λ1的值为{0.01,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9}进行试验,见图3,λ1设置为0.3。然后,将λ1设置为0.3,分别设置“margin”参数为{0.01,0.05,0.1,0.5,1,2}进行试验,见图4,“margin”设置为1。另一类是训练参数,设置如下:学习率(0.0005)、更新策略(“inv”)、迭代次数(20000)、批次大小(20)等。
软硬件环境如下:Ubuntu 16.04操作系统、Caffe深度学习框架、Python2.7编程语言、Intel I5 3.4 GHz双核CPU、16 GB RAM和GTX1070显卡。
本文下列所有试验结果都是基于迁移学习ImageNet数据集获得。
图3 不同λ1参数配置下的分类准确率变化对比曲线Fig.3 The overall accuracies of the proposed method using different λ1 settings
图4 不同“margin”参数配置下的分类准确率变化对比曲线Fig.4 The overall accuracies of the proposed method using different “margin” settings
3.4.1 RSSCN7数据集试验
表1列出近期相关方法以及本文方法的准确率。在训练样本分别为20%和50%时,本文方法的准确率分别达到93.93%和96.01%,高于其他方法的结果。尽管增强数据的量比文献[24]少,本文方法的准确率仍分别提高了1.46%和0.42%。图5显示了20%训练样本的分类结果混淆矩阵,结果表明仅有田与草地、工业区与停车场的混淆比率相对较高。
表1 不同方法对RSSCN7数据集的分类准确率
Tab.1 Overall accuracy (%) and standard deviations of the proposed method and the comparison of state-of-the-art methods on the RSSCN7dataset
方法年份训练样本占比20%50%Deep Filter Banks[23]2016—90.04±0.6VGGNet-16[25]201783.98±0.8787.18±0.94LOFs+GCFs[24]1201892.47±0.2995.59±0.49本文方法2—93.93±0.4296.01±0.58
注:1 通过旋转0°、90°、180°和270°、左右和上下翻转以及随机添加白高斯噪声方式增强训练样本。
2 通过旋转0°、90°、180°和270°方式增强训练样本。
图5 RSSCN7数据集以20%为训练样本的混淆矩阵Fig.5 Confusion matrix of the RSSCN7 dataset with a 20% ratio as training samples
3.4.2 UC Merced数据集试验
表2列出近期公开方法以及本文方法的分类结果。在训练样本为80%时,本文方法的准确率略高于目前最好结果;而在训练样本为50%时,与文献[9]相比,准确率提升了1.09%。图6显示了50%训练样本的分类结果混淆矩阵,除密集住宅、中密度住宅和稀疏住宅之间容易混淆外,其他场景都能较好地识别。与文献[24]中的混淆矩阵相比,密集住宅和中密度住宅的混淆比率大幅地降低,从18%降至6%。
表2 不同方法对UC Merced数据集的分类准确率
Tab.2 Overall accuracy (%) and standard deviations of the proposed method and the comparison of state-of-the-art methods on the UC Merced dataset
方法年份训练样本占比50%80%VGG-VD-16[25]201694.14±0.6995.21±1.20salM3 LBP-CLM[30]201794.21±0.7595.75±0.80Fine-tuned VGGNet-16+SVM[8]2018—97.14±0.10Triplet networks[9]12018—97.99±0.53D-CNN with VGGNet-16[8]22018—98.93±0.10LOFs+GCFs[24]3201897.37±0.4499.00±0.35本文方法3-98.46±0.1899.15±0.29
注:1四个角上按75%和50%覆盖方式分别裁剪与中间按50%覆盖方式裁剪,实现九倍训练样本增强。
2 每次迭代训练中,随机选择2(C-1)幅图像以单独生成C-1个同类和异类的影像对得到批训练样本,其中C为类型数。
3 数据增强方法与表1一致。
3.4.3 NWPU-RESISC45数据集试验
表3列出了最新研究结果,本文方法与其他方法相比在分类准确率上有显著地提高。与文献[8]相比,分类准确率分别提高2.51%和1.58%;与文献[9]相比,分类准确率提高了1.14%。图7为20%训练样本的分类结果混淆矩阵。
分析混淆矩阵发现教堂易被识为宫殿和商业区、宫殿易被识为教堂、铁路易被识为火车站。图8列出3类误识的对比场景影像,(a)教堂、(b)宫殿和(c)铁路分别被误识为宫殿、教堂和火车站,与对应样例(d)宫殿、(e)教堂和(f)铁路非常相似。
表3 不同方法对NWPU-RESISC45数据集的分类准确率
Tab.3 Overall accuracy (%) and standard deviations of the proposed method and the comparison of state-of-the-art methods on the NWPU-RESISC45 dataset
方法年份训练样本占比10%20%Fine-tuned VGGNet-16[1]201787.15±0.4590.36±0.18D-CNN with VGGNet-16[8]*201889.22±0.5091.89±0.22Triplet networks[9]*2018—92.33±0.20本文方法*—91.73±0.2193.47±0.30
注:* 数据增强方法与表2一致。
图6 UC Merced数据集以50%为训练样本的混淆矩阵Fig.6 Confusion matrix of the UC Merced dataset with a 50% ratio as training samples
图7 NWPU-RESISC45数据集以20%为训练样本的混淆矩阵Fig.7 Confusion matrix of the NWPU-RESISC45 dataset with a 20% ratio as training samples
在3个数据集上的试验结果表明,本文方法的准确率明显高于其他方法。为进一步分析本文方法的性能,表4列出消融试验结果。试验结果说明调优训练、数据增强及均值中心度量方法都能有效地提高分类准确率。
方法RSSCN7UC MercedNWPU-RESISC45205050801020VGGNet-16(基准)83.98±0.8787.18±0.9494.14±0.6995.21±1.2076.47±0.1879.79±0.15VGGNet-16(调优)92.16±0.8794.80±0.5197.02±0.2798.15±0.2487.30±0.2690.16±0.29VGGNet-16(调优+增强)93.07±0.4295.22±0.3597.64±0.3698.65±0.3288.55±0.3190.83±0.25本文方法(调优)93.92±0.7795.43±0.3298.24±0.3298.61±0.3990.18±0.1592.53±0.12本文方法(调优+增强)94.30±0.5396.01±0.5898.46±0.1899.15±0.2991.73±0.2193.47±0.30
为分析本文方法对特征空间分布的影响,采用LargeVis算法将第2个全链接层的4096维输出映射成二维向量。图9是RSSCN7以50%训练样本在没有增强条件下获取的特征分布对比图,每个圈代表不同类型大概聚集范围。图9(b)的特征聚集程度显著地提升,不同类型间的界线更清晰;图9(a)的特征分布范围是50×60而图9(b)为120×200,类型间距离明显地增大。表4和图9的结果验证了本文方法的有效性。
分析表1至表4发现在训练样本比例较低的情况下准确率获得更明显的提升,说明本文方法在少样本的应用中适用性更强。
针对高分场景图像分类存在相似场景之间容易混淆的问题,本文提出深度学习与度量学习相结合的方法来降低混淆比率。新模型的损失函数由交叉熵损失项、均值中心度量损失项以及权重与偏置正则项组成。试验结果表明,本文方法与现有其他方法相比在分类准确率上有明显的提高。在RSSCN7、UC Merced和NWPU-RESISC45数据集上以较小比例为训练样本时,分类准确率分别达到93.93%、98.46%和91.73%。尽管如此,在处理规模更大、类型更多、场景更复杂的高分遥感场景影像分类的任务中,分类准确率还有待改进。改进方法可从两个方面:一是改进模型以提升局部细节信息的学习能力,构建全局特征与局部细节特征相结合的学习模型;二是应用多特征融合方法,如多个深度模型特征或人工设计特征。
图9 RSSCN7数据集的测试样本输出特征的2D映射特征可视化图Fig.9 2D feature visualization of image representations of the RSSCN7 dataset