遥感场景图像的地物分类与识别表示对遥感图像中提取的子区域进行语义类别预测,其为遥感应用中的一个关键环节,对城市规划、环境监测和资源管理等任务具有重要意义。
近年来,深度卷积神经网络(Convolutional Neural Networks,CNN)[1]因其在图像处理中的高效性而被广泛应用于计算机视觉等领域,并在图像分类、目标检测以及语义分割[2-4]等任务中取得了较高的精度。因此,越来越多的研究人员将CNN引入遥感图像处理领域,并证实了基于深度学习的方法比传统方法更具优越性与鲁棒性。
随着遥感对地观测技术的日益发展,更多分辨率高、覆盖面广的遥感影像数据被研究人员所获取,遥感影像数据量越来越庞大,如何高效且精确地对海量遥感数据进行处理和分析,为在实时或嵌入式设备上进行遥感图像识别提供解决方案,如将遥感影像识别模型内置于嵌入式实时处理相机中,成为遥感数据分析应用及发展的一个重要方向。在计算资源充足的前提下,隐层多的网络模型往往比浅层模型的分类精度高[2, 5-6],然而,这些大规模的深层网络模型也带来了更庞大的计算量、更高的参数存储需求以及更冗长的推断时间,阻碍了遥感图像识别技术在嵌入式设备上的推广与应用。
为了高效灵活地实现遥感图像分类,并将其应用于计算量和存储量有限的实时设备上,同时保证分类的效率与精度,一种有效的解决方案是压缩网络以获得更精简有效的模型。本文提出一种多粒度特征蒸馏方法,对遥感图像场景分类模型进行压缩,将高精度的深层网络、计算量较少的浅层网络分别作为教师网络、学生网络,从教师网络中提取知识用于指导学生网络的训练,以提高学生网络的预测精度。针对遥感图像覆盖语义广、细节信息丰富的特点,本文同时训练教师网络和学生网络并将教师网络各阶段的输出作为学生网络相应阶段训练的中继监督信号,在网络的每个阶段累计中间损失并加入损失函数,以融合多层特征进行辅助分类。鼓励学生网络模仿教师网络各阶段的输出分布,使得学生网络能学习到泛化性更强的网络表达,从而接近教师网络的性能。在UC Merced Land-Use[7]和SIRI-WHU[8]2个公开数据集上进行实验,以验证本文多粒度特征蒸馏方法的分类性能。
1 相关工作 1.1 基于深度卷积网络的遥感图像场景分类近年来,深度学习技术已广泛应用于高分辨率遥感图像场景分类任务。文献[9]采用多层感知机对遥感场景进行分类,但其浅层网络的精度远低于深层网络。文献[10]使用预训练的Inception-v3进行特征提取与分类。文献[11]构建带有5层卷积、3层全连接结构的模型以进行场景分类。文献[12-13]在模型训练过程中集合中间层特征,并在多个场景分类数据集上验证了多尺度特征能提高遥感场景分类模型的分类性能。
基于深层模型的方法能够大幅提高遥感图像分类的准确率,但是大规模的网络对参数量与计算量均有较高要求。随着遥感技术的快速发展,越来越多的影像数据被获取,因此,提高遥感数据的处理效率,实现数据的实时性处理,并使得模型方法广泛应用于更通用的嵌入式设备上,成为遥感领域新的任务与挑战。
1.2 模型压缩方法目前,较为通用的模型压缩方法可以归纳为网络剪枝、具有特殊结构的高效卷积网络和知识蒸馏三类。
知识蒸馏[14-16]是将已完成预训练的深层网络输出作为软目标(soft target)以帮助浅层网络进行训练,从而提高该简单网络的学习与泛化能力,最终在保持模型性能的同时实现模型压缩的效果。针对分类任务的深度网络知识蒸馏相关研究,大多以类分布概率或靠近类分布输出的网络层输出作为浅层网络的软目标。文献[14]通过惩罚浅层网络与深层网络的逻辑输出差异以提高浅层网络的精度。文献[15]使用复杂教师网络的softmax输出作为简单学生网络的软标记,并引入蒸馏温度对学生的软目标进行调节。文献[16]通过匹配教师与学生的隐藏层信息以训练得到更窄更深的学生网络。上述方法在简单分类任务且没有多层中间特征辅助的情况下具有较好的性能表现。
随后一些研究人员对蒸馏框架进行调整。文献[17]引入对抗网络结构,通过加入判别器的损失以鼓励学生网络产生与教师网络相似的逻辑输出。文献[18]提出再生神经网络(Born Again Neural Network,BAN),其通过多代训练逐次地将前一代训练收敛的网络作为后一代的教师网络,以提高学生网络的表征能力,最后采用多代子网络的集成进行预测。上述改进的蒸馏框架往往训练过程复杂且需要一定的人工干涉,因此,在改变应用场景时它们的泛化性不强。
本文以文献[15]提出的蒸馏模型为基础,针对遥感图像数据的特点,提出一种应用于遥感图像场景分类的多粒度特征蒸馏方法。该方法同时训练教师网络和学生网络,将教师网络各个阶段的多粒度特征和高阶的输出概率特征作为学生网络的监督信号,使得学生网络不仅能学习到高阶知识(类别概率),还能学习到教师网络中低阶的语义特征,从而提高学生网络的泛化能力,在降低模型计算量与参数量的前提下简化训练过程,提高学生网络的分类精度并使模型适配于嵌入式设备。
2 基于多粒度特征蒸馏的深度模型压缩为使遥感图像分类模型能够应用于实时设备,需要减轻模型的计算负担,降低参数存储成本,并结合遥感数据特点尽量避免模型精度损失。为此,本文构建一种基于多粒度特征蒸馏的遥感场景图像分类模型。通过训练简单浅层模型(学生网络)以模仿复杂深层模型(教师网络),从而提高学生模型的分类能力。
知识蒸馏模型由训练充分的复杂教师网络与浅层的简单学生网络2个部分组成。文献[15]将学生模型和预训练的教师网络的softmax层输出概率相匹配,从而使得复杂教师网络中的暗知识被迁移到学生网络,提高了学生网络的精度与泛化能力。文献[15]引入蒸馏温度T,将教师网络的逻辑输出值除以T后经过softmax层的结果作为学生网络的软目标概率。定义分类数为C,i为类别索引,softmax输入层的第i个单元输出为oi,S为softmax层的输出,softmax层的计算如式(1)所示:
${S_i} = \frac{{{{\rm{e}}^{{o_i}}}}}{{\mathop \sum \limits_{i = 1}^C {{\rm{e}}^{{o_i}}}}}$ | (1) |
模型的知识蒸馏基于如下假设:教师网络训练充分后产生的分类概率中的隐藏信息(如非目标的输出概率值),可以帮助并指导学生网络的训练过程。模型知识蒸馏训练流程描述如下:
算法1 传统模型知识蒸馏训练过程
输入 训练集D=(x,y),蒸馏温度T,教师网络,学生网络
输出 收敛后的教师网络参数θt*与学生网络参数θs*
步骤1 初始化教师网络与学生网络的参数θt*、θs*。
步骤2 对训练集D=(x,y)的每一批数据:
1)计算教师网络的softmax输出值
2)计算教师网络的输出值
3)基于梯度下降算法,根据交叉熵损失Lt更新教师网络的参数集θt;
4)若教师网络收敛,则结束步骤2,返回教师网络此时的参数θt*;否则,继续步骤2。
步骤3 对训练集D=(x,y)的每一批数据:
1)计算由步骤2训练得到的教师网络的逻辑输出l(参数固定为θt*);
2)令St=softmax(l/T)作为学生网络训练的软目标,真实标签y为硬目标;
3)分别计算学生网络的softmax输出与软目标St以及硬目标y的交叉熵损失,加和得到整体的蒸馏损失值Ls;
4)基于梯度下降算法,根据蒸馏损失Ls更新学生网络的参数集θs;
5)若学生网络收敛,则结束步骤3;否则,继续步骤3。
步骤4 输出网络收敛后的参数θt*、θs*,结束。
传统的知识蒸馏网络仅能模拟已训练收敛的教师网络的预测概率分布,而本文基于多粒度特征蒸馏的遥感场景分类网络,针对遥感图像分辨率高、覆盖语义广、结构信息丰富的特性,通过将教师网络各个阶段的输出作为学生网络相应阶段训练的监督信号的方式以融合多层特征,鼓励学生网络模仿教师网络从特征提取到分类预测的分步过程。
图 1所示为本文基于多粒度特征蒸馏的遥感场景分类模型的训练框架。从图 1可以看出,该网络由较复杂、隐藏层较多的教师网络和网络构成较简单的浅层学生网络组成,教师与学生网络均由多个卷积层、残差模块构成,且在网络各个阶段可提取2个子网络的中间层特征作为监督信息。当训练样本图像输入网络时,教师与学生子网络的参数集均根据网络总损失进行迭代更新。本文方法通过提高教师网络与学生网络softmax层的概率输出相似性来提升浅层学生网络的分类能力。
![]() |
Download:
|
图 1 基于多粒度特征蒸馏的遥感场景分类模型 Fig. 1 Remote sensing scene classification model based on multi-granularity feature distillation |
给定训练数据D={(x1,y1),(x2,y2),…,(xn,yn)},在D上训练教师网络与学生网络。传统模型蒸馏方法将2个网络分成不同阶段进行训练,而本文方法一次性地完成训练过程。将参数为θt的教师网络记作T(x;θt),参数为θs的学生网络记作S(x;θs)。相应地,将学生网络和教师网络在各个阶段输出再经过softmax操作后产生的概率值分别记作Ps、Pt,N为计入损失项的输出阶段总数。因此,在训练期间所采用的损失函数可表示为:
$\begin{array}{l} L = {\rm{C\_loss}}\left( {T\left( {x;{\mathit{\boldsymbol{\theta }}_t}} \right), y} \right) + {\rm{C}}\_{\rm{loss}}\left( {S\left( {x;{\mathit{\boldsymbol{\theta }}_s}} \right), y} \right) + \\ \;\;\;\;\;\;\frac{1}{N}\mathop \sum \limits_{i = 1}^N D\left( {{P_{s\_i}}, {P_{t\_i}}} \right) \end{array}$ | (2) |
其中,
$ \begin{array}{l} L = \alpha \cdot {\rm{C\_loss}}\left( {T\left( {x;{\mathit{\boldsymbol{\theta }}_t}} \right), y} \right) + \beta \cdot {\rm{C}}\_{\rm{loss}}\left( {S\left( {x;{\mathit{\boldsymbol{\theta }}_s}} \right), y} \right) + \\ \;\;\;\;\;\;\gamma \cdot \frac{1}{N}\mathop \sum \limits_{i = 1}^N D\left( {{P_{s\_i}}, {P_{t\_i}}} \right) \end{array} $ | (3) |
在UC Merced Land-Use和SIRI-WHU 2个公开数据集上对本文所提基于多粒度特征蒸馏的遥感图像分类模型进行实验与评估。实验中采用ResNet-50和ResNet-18[5]分别作为教师网络和学生网络。ResNet在网络中堆叠残差结构,并已在ImageNet数据集上验证了ResNet的有效性。为保证输出特征的维度相同,实验中使用ResNet-50的第1个、第2个残差块输出作为ResNet-18的第2个、第4个残差块输出,以计算中继监督损失。
所有实验均在一块NVIDIA GTX 1080Ti GPU上进行,实验中的参数更新机制均采用随机梯度下降(SGD)算法,批量大小(Batch Size)设置为32,采用交叉熵损失、Adam优化器对网络进行训练,初始学习速率为1e-3。除最后一层外,其他网络层采用ReLU作为激活函数。
将本文遥感图像分类模型与文献[15]提出的基础蒸馏模型、文献[18]提出的BAN进行比较。文献[15]模型是一个经典并被广泛应用的蒸馏模型,已经在数字分类和语音识别等任务中验证了其有效性。文献[18]中的BAN是通过迭代进行串行训练的蒸馏方法,在CIFAR-10和CIFAR-100[19]等通用数据集上可以降低验证误差。此外,本文实验也将未经知识蒸馏的学生网络、教师网络作为基础模型进行比较。
3.1 实验数据集UC Merced Land-Use[7]是一个土地利用数据集,该数据集是从美国地质勘探局国家地图城市区域的大型图像中提取得到,共有21类,每类包含100个256×256的RGB图像样本,分辨率为0.304 8 m。SIRI-WHU数据集[8]包含12个场景类别,图片均来源于Google Earth,主要覆盖中国城市地区,每类包含200个样本,每个样本包含200像素×200像素,空间分辨率为2 m。2个数据集具体类别示例如图 2所示,其中,前3行为UC Merced Land-Use数据集,后2行为SIRI-WHU数据集。
![]() |
Download:
|
图 2 2个数据集图片示例 Fig. 2 Image examples of two datasets |
实验中随机选取每类图片的20%作为测试集,剩余作为训练集。在数据预处理时,将像素值归一化到[0, 1]范围内,实验前对图片进行平移和随机水平翻转等预处理。
3.2 结果分析从表 1可以看出,本文所提知识蒸馏方法可将ResNet-18在UC Merced Land-Use数据集上的测试精度提升4.04个百分点,而所需参数量仅为ResNet-50的47.46%。在数据集SIRI-WHU中,本文知识蒸馏方法将ResNet-18的准确率提高了3.96个百分点。实验结果表明,本文基于多粒度特征蒸馏的遥感图像分类方法在参数量与计算量不变的前提下可以大幅提升学生网络的分类能力。在参数量相同的条件下,本文方法在2个实验数据集上均取得了最高的精度,该方法相比传统知识蒸馏方法在UC Merced Land-Use和SIRI-WHU上的测试精度分别提高2.38个百分点和1.88个百分点,相比BAN中经第3次蒸馏的学生网络(ResNet-18-S3)在2种数据集上的测试精度分别提高1.9个百分点与1.46个百分点,相比BAN的3次蒸馏集成结果(ResNet-18 Ensemble)的测试精度也有所提高,但所需参数量仅为BAN集成模型的1/3。
![]() |
下载CSV 表 1 不同网络模型在2种数据集上的测试精度及参数量对比 Table 1 Comparison of test accuracy and parameters of different network models on two datasets |
为验证多粒度特征蒸馏方法的有效性,将取消了除最后预测概率输出外的中、低阶特征损失后的网络与原网络以及文献[15]中的基础蒸馏方法在同等设置下进行实验对比,结果如表 2所示。从表 2可以看出,在2个数据集上采用本文融合多粒度特征的蒸馏方法时,学生网络的分类精度分别有4.04个百分点和3.96个百分点的增长。在取消中间特征层的监督损失后,本文方法在UC Merced Land-Use和SIRI-WHU上分别有2.14个百分点和1.25个百分点的精度损失,与传统蒸馏方法相比,性能相差不多,但相较于原学生网络的精度仍有所提升。表 2中的实验结果再次验证了所提基于多粒度特征蒸馏的遥感图像分类模型的有效性,表明同时训练教师网络与学生网络并加入教师网络各阶段输出作为学生网络的监督信号,以及融合网络多阶段特征的方式,可以有效提高学生网络的学习能力。
![]() |
下载CSV 表 2 多粒度特征融合对模型精度的影响效果 Table 2 Effect of multi⁃granularity feature fusion on models accuracy |
本文用UC Merced Land-Use数据作为输入,将经教师网络(ResNet-50)、学生网络(ResNet-18)以及有/无多粒度特征融合的方法提取的图像特征分别用二维TSNE嵌入表征进行可视化,结果如图 3所示。从图 3可以看出,本文方法能有效提高学生网络对多类样本的区分能力。在融合多粒度的特征后,二维特征映射下的类间距离更为清晰,模型生成的嵌入表示能更好地分离出目标类,说明基于多粒度特征的蒸馏方法在遥感场景分类中具有有效性,本文方法能利用多层特征使得学生网络更充分地模仿教师网络。
![]() |
Download:
|
图 3 不同模型特征的二维TSNE嵌入表征可视化效果对比 Fig. 3 Comparison of visualization effect of two-dimensional TSNE embedded representation of different model features |
为验证本文方法中损失函数超参数α、β和γ对分类精度的影响,在不同参数设置的情况下进行实验,分别对参数α、β和γ从0~1进行枚举,当改变目标参数时固定其余参数为1。实验结果如图 4所示,从图 4可以看出,在UC Merced Land-Use数据集上取α=1.0、β=1.0、γ=0.5时,模型达到最好的效果,而在SIRI-WHU数据集上,当α=1.00、β=1.00、γ=0.75或γ=1.00时模型能取得最高的分类精度。本文模型在不同参数设置下测试精度未产生大幅波动,验证了所提方法具有一定的鲁棒性。当目标参数值低于0.5时,模型精度会有一定损失,而当目标参数值在0.5以上时,分类精度基本不变,说明了教师网络、学生网络损失项以及多粒度特征输出距离损失项均对模型有重要影响。综合图 4的实验结果,本文在表 1、表 2的实验中设置α=1.0、β=1.0、γ=1.0,可以在2个实验数据集上都取得较好的效果。
![]() |
Download:
|
图 4 不同参数设置下的分类精度对比 Fig. 4 Comparison of classification accuracy under different parameter settings |
本文提出一种基于多粒度特征蒸馏的遥感图像场景分类模型压缩方法,以减少测试时的计算负担及参数需求量,简化传统知识蒸馏模型的训练过程。该方法针对遥感图像覆盖语义广、细节丰富的特点,通过鼓励教师网络与学生网络相应阶段产生相似输出的方式,同时训练深层的教师网络和浅层的学生网络,从而提高学生网络的分类能力。在UC Merced Land-Use和SIRI-WHU 2个公开数据集上的实验结果验证了该方法良好的分类性能。为了进一步提高学生网络的分类性能,今后将为其设计新的卷积结构,或在可接受范围内加深学生网络。此外,在学生网络中采用深度可分离卷积结构[20]来降低其网络计算量也是下一步的研究方向。
[1] |
LU Hongtao, ZHANG Qinchuan. Applications of deep convolutional neural network in computer vision[J]. Journal of Data Acquisition & Processing, 2016, 31(1): 1-17. (in Chinese) 卢宏涛, 张秦川. 深度卷积神经网络在计算机视觉中的应用研究综述[J]. 数据采集与处理, 2016, 31(1): 1-17. |
[2] |
KRIZHEVSKY A, SUTSKEVER I, HINTON G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90. DOI:10.1145/3065386 |
[3] |
GIRSHICK R, DONAHUE J, DARRELL T, et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]//Proceedings of 2014 IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2014: 580-587.
|
[4] |
JIANG Feng, GU Qing, HAO Huizhen, et al. Survey on content-based image segmentation methods[J]. Journal of Software, 2017, 28(1): 160-183. (in Chinese) 姜枫, 顾庆, 郝慧珍, 等. 基于内容的图像分割方法综述[J]. 软件学报, 2017, 28(1): 160-183. |
[5] |
HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al.Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2016: 770-778.
|
[6] |
RAGHU M, POOLE B, KLEINBERG J, et al.On the expressive power of deep neural networks[EB/OL].[2019-11-10].https://arxiv.org/abs/1606.05336.
|
[7] |
YANG Y, NEWSAM S.Bag-of-visual-words and spatial extensions for land-use classification[C]//Proceedings of the 18th SIGSPATIAL International Conference on Advances in Geographic Information Systems.New York, USA: ACM Press, 2010: 270-279.
|
[8] |
ZHU Qiqi, ZHONG Yanfei, ZHAO Bei, et al. Bag-of-visual-words scene classifier with local and global features for high spatial resolution remote sensing imagery[J]. IEEE Geoscience and Remote Sensing Letters, 2016, 13(6): 747-751. DOI:10.1109/LGRS.2015.2513443 |
[9] |
ZHANG Min, LIU Lixiong, JIA Yunde. An outdoor scene understanding method based on ensemble classification of image regions[J]. Journal of Image and Graphics, 2004, 9(12): 1443-1448. (in Chinese) 张敏, 刘利雄, 贾云得. 一种基于图像区域系综分类的室外场景理解方法[J]. 中国图象图形学报, 2004, 9(12): 1443-1448. |
[10] |
LI Guandong, ZHANG Chunju, WANG Mingkai, et al. Transfer learning using convolutional neural network for scene classification within high resolution remote sensing image[J]. Science of Surveying and Mapping, 2019, 44(4): 116-123, 174. (in Chinese) 李冠东, 张春菊, 王铭恺, 等. 卷积神经网络迁移的高分影像场景分类学习[J]. 测绘科学, 2019, 44(4): 116-123, 174. |
[11] |
MENG Qingxiang, WU Xuan. Scene classification of high-resolution remote sensing image based on deep convolution neural network[J]. Bulletin of Surveying and Mapping, 2019(7): 17-22. (in Chinese) 孟庆祥, 吴玄. 基于深度卷积神经网络的高分辨率遥感影像场景分类[J]. 测绘通报, 2019(7): 17-22. |
[12] |
ARANDJELOVIC R, GRONAT P, TORⅡ A, et al. NetVLAD:CNN architecture for weakly supervised place recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 40(6): 1437-1451. |
[13] |
LI Erzhu, XIA Junshi, DU Peijun, et al. Integrating multilayer features of convolutional neural networks for remote sensing scene classification[J]. IEEE Transactions on Geoscience and Remote Sensing, 2017, 55(10): 5653-5665. DOI:10.1109/TGRS.2017.2711275 |
[14] |
BA L J, CARUANA R. Do deep nets really need to be deep?[J]. Advances in Neural Information Processing Systems, 2014, 3: 2654-2662. |
[15] |
HINTON G, VINYALS O, DEAN J.Distilling the knowledge in a neural network[EB/OL].[2019-11-20].https://arxiv.org/abs/1503.02531.
|
[16] |
ROMERO A, BALLAS N, KAHOU S E, et al.FitNets: hints for thin deep nets[EB/OL].[2019-11-20].http://refbase.cvc.uab.es/files/RBK2015.pdf.
|
[17] |
XU Z, HSU Y C, HUANG J W.Training shallow and thin networks for acceleration via knowledge distillation with conditional adversarial networks[EB/OL].[2019-11-20].https://arxiv.org/abs/1709.00513.
|
[18] |
FURLANELLO T, LIPTON Z, TSCHANNEN M, et al.Born again neural networks[EB/OL].[2019-11-20].https://arxiv.org/abs/1805.04770.
|
[19] |
KRIZHEVSKY A, HINTON G.Learning multiple layers of features from tiny images[EB/OL].[2019-11-20].https://github.com/DavidEscott/ML_Project/raw/master/rbm/learning-features-2009-TR.pdf.
|
[20] |
HOWARD A, ZHU M L, CHEN B, et al.MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL].[2019-11-20].https://arxiv.org/abs/1704.04861.
|