开放科学(资源服务)标志码(OSID):
随着对地观测技术水平的提高,光学遥感图像的数量急剧增加,如何充分利用不断增多的光学遥感图像进行智能地球观测成为研究热点,科学高效地解析海量光学遥感图像显得尤为重要。场景分类通过给定的语义类别对不同的场景图像进行分类标识,是一种有效的光学遥感图像解析技术。近年来,光学遥感图像场景分类在城市规划、灾害检测、环境监测等领域得到广泛应用[1]。
与光学自然图像分类任务相比,光学遥感图像场景分类任务的图像特征类型复杂、分布范围广,有效提取语义特征以及理解语义内容难度更大[1]。根据应用需求的不同,光学遥感图像特征提取方法被分为三大类:一是初级特征提取方法,其针对光学遥感图像特点在局部或全局设计人类工程特征[1-2],初级特征提取方法主要包括尺度不变特征变换(Scale-Invariant Feature Transform,SIFT)[3]、局部二进制模式(Local Binary Patterns,LBP)[4]、定向梯度直方图(Histogram of Oriented Gradient,HOG)[5]等,这些方法只能针对特定目标,缺乏灵活性,泛化能力较弱且只有局部特性,不能直接表示整幅图像[6];二是中级特征提取方法,其先提取图像的局部特征,然后对多个局部特征进行编码以获得遥感图像的中级特征[2],中级特征提取方法主要包括视觉词袋模型(Bag of Visual Word,BoVW)[7]、稀疏编码(Sparse Coding)[8]等,其因为简单有效的特点而得到广泛应用,但是因为表达能力的限制,导致其分类精度不高;三是高级特征提取方法,该类方法基于深度学习提取光学遥感图像特征,与初级和中级方法不同,深度学习模型通过架构神经网络来学习更强大、更抽象和更深层次的特征,这极大地推动了深度学习在光学遥感图像中的应用。多数深度学习模型,尤其是卷积神经网络(Convolution Neural Network,CNN),包括AlexNet[9]、VGGNet[10]、GoogLeNet[11]、ResNet[12]等,均适用于光学遥感图像场景分类,并已取得了较好的分类效果。
虽然基于深度学习的方法已大幅提高了分类准确性,但是光学遥感图像除了含有颜色、纹理、空间信息等浅层次的信息[13],还有很多深层次的信息,包括:遥感图像同类场景的多样性;遥感图像不同类场景的相似性;遥感图像场景的尺寸、方向的动态性。这些深层次的信息提升了场景分类的难度[14],导致难以实现精准分类[2]。
深度学习网络模型的深度和宽度对光学遥感图像分类精度影响较大[14-16]。然而,网络规模的扩大导致容易发生梯度消失或梯度爆炸现象,还会引起网络退化问题,导致训练误差增大[17]。同时,网络规模的扩大也会带来权重参数的大量冗余,导致训练周期过长、硬件要求过高,不适合末端应用部署,难以大范围普及[18]。随着深度学习技术的进一步发展,MobileNets[19]等易训练、易部署的轻量化网络模型逐渐成为研究重点,但是这些网络模型通常针对自然图像而提出,在光学遥感图像领域应用时还需有针对性地调整网络结构。
本文提出一种基于轻量化网络模型的光学遥感图像场景分类方法,该方法通过EfficientNet[18]网络模型提取图像特征,针对光学遥感图像场景容易误分类的情况,构建集成学习模块来提升网络模型的分类性能。
1 原理与方法 1.1 EfficientNet网络模型为使网络模型获得更好的精度,通常采取优化网络深度、网络宽度和图像分辨率的方式,如ResNet、DenseNet等,但是这些网络模型往往只改变网络深度、网络宽度和图像分辨率3个维度中的1个,且需要繁琐的手动调整参数,并且仍然产生次优的精度和效率。Google Brain Team通过复合比较网络深度、网络宽度以及图像分辨率对精度、参数量和浮点运算量的影响,提出一种EfficientNet[18]网络模型。EfficientNet网络模型将网络深度、网络宽度、图像分辨率的不同组合转变为优化问题,如下:
$ \begin{array}{*{20}{l}} {\mathop {{\rm{max}}}\limits_{d,w,r} {\rm{Accuracy}}(N(d,w,r))}\\ {{\rm{s}}.{\rm{t}}.N(d,w,r) = \mathop \odot \limits_{i = {\rm{1}},{\rm{2}}, \cdot \cdot \cdot ,s} \hat F_i^{d \cdot {{\hat L}_i}}\left( {{X_{\left\langle {r \cdot {{\hat H}_i},r \cdot {{\hat W}_i},w \cdot {{\hat C}_i}} \right\rangle }}} \right)}\\ {\;\;\;\;\;\;{\rm{Memory}}\left( N \right) \le {\rm{target}}\_{\rm{memory}}}\\ {\;\;\;\;\;\;{\rm{FLOPS}}\left( N \right) \le {\rm{target}}\_{\rm{flops}}} \end{array} $ | (1) |
其中:N为网络模型;
平衡网络深度、宽度和分辨率3个维度可以获得更好的准确率和效率,EfficientNet使用复合系数
$ \begin{array}{*{20}{l}} {d = {\alpha ^\phi },w = {\beta ^\phi },r = {\gamma ^\phi }}\\ {{\rm{s}}.{\rm{t}}.\;\alpha \cdot {\beta ^2} \cdot {\gamma ^2} \approx 2}\\ {\;\;\;\;\;\alpha \ge 1,\beta \ge 1,\gamma \ge 1} \end{array} $ | (2) |
其中:
根据图像分辨率的不同,EfficientNet网络构建了B0~B7共8个模型。其中,B7模型在自然图像ImageNet数据集上Top-1和Top-5的精度分别为84.4%和97.1%,已达到当时最优精度,并且在达到同等精度的网络中,B0~B7模型的参数量和运算量均最少。ImageNet数据集上各模型性能对比结果如表 1所示。
![]() |
下载CSV 表 1 ImageNet数据集上各模型性能对比结果 Table 1 Performance comparison results of various models on ImageNet dataset |
EfficientNet网络模型在自然场景图像上达到了较高精度,但光学遥感图像场景包含更丰富的语义信息,场景的类内相异性、类间相似性以及场景的尺寸方向变换等情况影响了EfficientNet网络模型的分类精度。为解决上述问题,本文通过EfficientNet网络模型提取图像特征,利用多个子分类器构建集成学习模块提升分类效果,使用Dropout算法防止发生过拟合,采用交叉熵损失函数辅助网络训练,从而提高网络模型对光学遥感图像场景的分类精度。
1.2.1 网络模型结构集成学习通过构建多个子分类器来提升分类效果[6]。本文方法基于EfficientNet网络提取图像特征(一级特征),将所有的一级特征按照预先设定的比率进行随机选取,然后进行融合产生新的特征(二级特征),特征提取比率过低会因为选取特征不够充分影响精度,特征提取比率过高会大幅增加模型的参数量。为在提升精度的同时不过多地增加模型的参数量,本文将特征提取比率设定为60%。给每个二级特征分配一个子分类器进行预分类,集成加权所有子分类器的预分类结果,从而产生最终的分类结果。每个子分类器选取的一级特征不完全一样,能够更充分地解析图像的语义信息,实现子分类器之间的优势互补,从而获得比单一分类器更好的分类效果。本文网络模型结构如图 1所示。
![]() |
Download:
|
图 1 本文网络模型结构 Fig. 1 Network model structure in this paper |
在深度学习中,当参数较多而训练样本又较少时,网络模型容易产生过拟合现象。Dropout算法能够缓解过拟合问题,起到正则化的效果[20]。Dropout算法表达式如下:
$ \begin{array}{l}{\widehat{x}}^{\left(l\right)}={r}^{\left(l\right)}\cdot {x}^{\left(l\right)}\\ {y}^{(l+1)}={w}^{(l+1)}\cdot {\widehat{x}}^{\left(l\right)}+{b}^{\left(l\right)}\end{array} $ | (3) |
其中:
在训练过程中,每个神经元以一定概率保留,每次向前传播保留下来的神经元都不同,这样可以使得模型不依赖于某些局部特征,泛化能力更强[20]。Dropout算法结构如图 2所示,考虑到光学遥感图像数据集的训练样本偏少,为了防止过拟合发生,本文在每个子分类器中都添加了Dropout算法。
![]() |
Download:
|
图 2 Dropout算法效果 Fig. 2 Dropout algorithm effect |
深度学习中用损失函数来度量网络模型得到的预测标签和数据真实标签之间的差距,损失函数可以衡量网络模型的泛化能力优劣[21],根据不同的应用需求,选择合适的损失函数可以使模型得到更好的训练效果。本文针对多场景分类问题,采用更适合的交叉熵损失函数[22],其表达式如下:
$ L(y,\hat y) = - \sum\limits_{i = 1}^N {{y^{\left( i \right)}}} {\rm{lg}}\;{{\hat y}^{\left( i \right)}} + (1 - {y^{\left( i \right)}}){\rm{lg}}(1 - {{\hat y}^{\left( i \right)}}) $ | (4) |
其中:
为验证本文网络模型的有效性,选用2个公开的大规模遥感图像数据集AID[23]和NWPU-RESISC45[24]进行实验。
AID数据集是由华中科技大学和武汉大学联合创建的大规模遥感图像数据集,该数据集共有10 000张图像,分为机场、河流、草地等30个场景类别,不同场景类型的图像数量从220~420不等,每张图像尺寸为600像素×600像素,图像空间分辨率为0.5~8.0 m,该数据集从Google Earth影像中收集,图像选取自不同国家、地区、时间、季节以及不同的成像条件[23],如图 3所示。
![]() |
Download:
|
图 3 AID数据集部分场景示例 Fig. 3 Partial scenario examples of AID dataset |
NWPU-RESISC45是由西北工业大学创建的大规模遥感图像数据集,其比AID数据集更为复杂,共有31 500张遥感图像,分为飞机、湖、云等45个场景类别,每个类别有700张图像,每张图像尺寸为256像素×256像素,图像的空间分辨率为0.2~30.0 m,该数据集从Google Earth中提取,选自全球100多个国家和地区包含不同天气、季节的图像。为了增加难度,本文选取了含有遮挡、重叠等复杂因素的遥感图像[24],如图 4所示。
![]() |
Download:
|
图 4 NWPU-RESISC45数据集部分场景示例 Fig. 4 Partial scenario examples of NWPU-RESISC45 dataset |
实验环境为PyTorch 1.5框架,操作系统为Windows10系统,CPU为12核的Intel Xeon Gold 6226,主频为2.70 GHz,内存为64 GB DDR4,GPU为NVIDIA公司的TITAN XP,显存为12 GB,CUDA版本为10.2,cudnn版本为7.6.5。本文实验选择EfficientNet-B3网络模型。
为了保证实验的公平性、合理性,数据集的训练比率与文献[1-2]一致。对于AID数据集,随机选取每类场景数据总量的20%、50%作为训练数据,余下的80%、50%作为测试数据。对于NWPU-RESISC45数据集,随机选取每类场景数据总量的10%、20%作为训练数据,余下的90%、80%作为测试数据。
迁移学习不仅能解决过拟合问题,同时也能缩减模型训练时间[15]。本文实验使用在ImageNet数据集上训练好的权重进行迁移训练。为防止训练期间发生梯度消失或梯度爆炸现象,本次实验分2个阶段进行训练:第一个阶段为预训练阶段,冻结除分类层以外的网络层权重,损失函数使用交叉熵损失函数,优化器使用随机梯度下降(Stochastic Gradient Descent,SGD)方法,初始学习率为1e-1,权重衰减为5e-3,动量为0.9,每2个epoch学习率下降一次,下降系数为0.9,共训练10个epoch;第二个阶段在预训练的基础上继续训练,解冻所有网络层的权重,损失函数使用交叉熵损失函数,优化器使用SGD,初始学习率为1e-3,权重衰减为5e-3,动量为0.9,每5个epoch学习率下降一次,下降系数为0.95,共训练200个epoch。为了增强网络模型的训练效果,实验中使用了PyTorch框架下transforms库中的水平翻转、垂直翻转、颜色亮度变换、角度旋转等方式进行数据增强,如图 5所示。为了确保实验的准确性,每种测试都重复10次。图 6所示为本文模型训练过程中随循环次数变化的损失值和准确率曲线,从图 6可以看出,经过200次循环,损失值和准确率逐渐收敛,说明网络模型较为稳定。图 6(a)中180次循环后损失值不再下降,保持在0.1以下,图 6(b)中180次循环后准确率不再增加,最终达到97.52%。
![]() |
Download:
|
图 5 数据增强示例 Fig. 5 Examples of data enhancement |
![]() |
Download:
|
图 6 模型训练过程中的损失值和准确率 Fig. 6 Loss values and accuracy in model training |
将AID数据集分为训练集和测试集,用本文网络模型进行训练测试,统计测试结果得到混淆矩阵,其中,20%训练比率的混淆矩阵如图 7所示,对角线元素为各场景分类的准确率。从图 7可以看出,30类场景中有25类场景的准确率达到90%以上,海滩、森林、高架桥等场景的准确率接近100%,但是,度假胜地和中心区2个场景误分类较多,准确率不足80%,度假胜地场景的准确率最低为75%。为了比较模型性能,选取现阶段光学遥感图像场景分类中4种典型网络模型进行比对:GoogLeNet是2014年提出的一种22层的网络模型;D-CNNs[25]是2018年提出的网络模型,其通过引入度量学习正则化来提升分类能力;CNN-CapsNet[2]是2019年提出的网络模型,其通过胶囊网络捕获空间信息来增强特征提取能力。表 2为各网络模型在AID数据集上的性能对比结果,可以看出,本文方法取得了较好的精度,与D-CNNs和CNN-CapsNet网络模型相比,本文方法在达到近似精度的情况下所需的参数量和浮点运算量大幅减少,与EfficientNet网络模型相比,本文方法分类准确率有3%~4%的提升,参数量仅增加了2 ×106,浮点运算量没有改变,说明引入集成学习模块后的网络模型仅需较少的硬件消耗,就可在不影响运算时间的情况下获取明显的分类性能提升。
![]() |
Download:
|
图 7 AID数据集训练比率为20%时的混淆矩阵 Fig. 7 Confusion matrix when the training ratio of AID dataset is 20% |
![]() |
下载CSV 表 2 各模型在AID数据集上的性能对比结果 Table 2 Performance comparison results of each model on AID dataset |
将NWPU-RESISC45数据集分为训练集和测试集,用本文网络模型进行训练测试,统计测试结果得到混淆矩阵,其中,20%训练比率的分类结果如图 8所示,对角线元素为各场景分类的准确率。通过混淆矩阵可以看出,45种场景中有39种场景的准确率在90%以上,灌木丛场景的准确率接近100%,但是教堂、中型住宅、宫殿3个场景的准确率不足80%,宫殿场景的准确率最低为75.2%。表 3为本文方法与其他网络模型在NWPU-RESISC45数据集上的性能对比,可以看出,本文方法在NWPU-RESISC45数据集上同样取得了较好的精度,且参数量和浮点运算量也最少。在2个数据集上都取得较好结果,说明本文方法较为稳定且鲁棒性较强。
![]() |
Download:
|
图 8 NWPU-RESISC45数据集训练比率为20%时的混淆矩阵 Fig. 8 Confusion matrix when the training ratio of NWPU-RESISC45 dataset is 20% |
![]() |
下载CSV 表 3 各模型在NWPU-RESISC45数据集上的性能对比结果 Table 3 Performance comparison results of each model on NWPU-RESISC45 dataset |
为了更直观地比较网络模型对易误分类场景的辨识性能,选取准确率达不到90%的场景,绘制各场景在不同网络中准确率的对比情况,结果如图 9所示。从图 9可以看出,本文方法在大多数易误分类场景中取得了最好的分类效果,说明其在易误分类场景中也有一定优势。
![]() |
Download:
|
图 9 易误分类场景中各网络模型的性能对比结果 Fig. 9 Performance comparison results of each network model in error prone classification scenario |
本文研究深度学习在光学遥感图像场景分类中的应用问题,联合集成学习和轻量化网络模型的优势,提出一种硬件要求低、运算时间短的光学遥感图像场景分类方法。采用EfficientNet网络模型来减少参数量和浮点运算量,通过集成学习模块充分解析图像特征的语义信息。在2个光学遥感图像数据集上的实验结果表明,该方法分类准确率较高,在多数易误分类场景中依然能够取得较好的分类效果,与其他网络模型相比,本文方法所需的参数量和浮点运算量大幅减少,更适合在末端部署并进行普及推广。然而,本文方法在个别场景上的分类精度仍有待进一步提高,解决该问题并探索如何在末端部署实现本文方法将是今后的研究方向。
[1] |
CHENG G, XIE X, HAN J, et al. Remote sensing image scene classification meets deep learning: challenges, methods, benchmarks, and opportunities[J]. IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing, 2020, 13: 3735-3756. DOI:10.1109/JSTARS.2020.3005403 |
[2] |
ZHANG W, TANG P, ZHAO L. Remote sensing image scene classification using CNN-CapsNet[J]. Remote Sensing, 2019, 11(5): 494-495. DOI:10.3390/rs11050494 |
[3] |
LOWE D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94 |
[4] |
OJALA T, PIETIKAINEN M, MAENPAA T. Multiresolution gray-scale and rotation invariant texture classification with local binary patterns[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2002, 24(7): 971-987. |
[5] |
DALAL N, TRIGGS B. Histograms of oriented gradients for human detection[C]//Proceedings of 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2005: 886-893.
|
[6] |
YU D H, ZHANG B M, ZHAO C, et al. Scene classification of remote sensing image using ensemble convolutional neural network[J]. Journal of Remote Sensing, 2020, 24(6): 717-727. (in Chinese) 余东行, 张保明, 赵传, 等. 联合卷积神经网络与集成学习的遥感影像场景分类[J]. 遥感学报, 2020, 24(6): 717-727. |
[7] |
LI F. A Bayesian hierarchical model for learning natural scene categories[C]//Proceedings of 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2005: 523-531.
|
[8] |
OLSHAUSEN B A, FIELD D J. Sparse coding with an overcomplete basis set: a strategy employed by V1?[J]. Vision Research, 1997, 37(23): 3311-3325. DOI:10.1016/S0042-6989(97)00169-7 |
[9] |
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 |
[10] |
SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[C]//Proceedings of 2014 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2014: 123-125.
|
[11] |
SZEGEDY C, LIU W, JIA Y, et al. Going deeper with convolutions[C]//Proceedings of 2015 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2015: 1-9.
|
[12] |
HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition[C]//Proceedings of IEEE Conference on Computer Vision & Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 770-778.
|
[13] |
ZHANG Y J. Image engineering(Ⅱ) image analysis[M]. Fourth Edition. Beijing: Tsinghua University Press, 2018. (in Chinese) 章毓晋. 图像工程(中册)图像分析(第四版)[M]. 北京: 清华大学出版社, 2018. |
[14] |
LIANG W T, KANG Y, LI H, et al. Adaptive remote sensing scene classification based on complexity clustering[J]. Computer Engineering, 2020, 46(12): 254-261, 269. (in Chinese) 梁文韬, 康雁, 李浩, 等. 基于复杂度聚类的自适应遥感场景分类[J]. 计算机工程, 2020, 46(12): 254-261, 269. |
[15] |
QIAO T T, LI L Q. Scene classification of high-resolution remote sensing image combining data augmentation and transfer learning[J]. Bulletin of Surveying and Mapping, 2020(2): 37-42. (in Chinese) 乔婷婷, 李鲁群. 结合数据增广和迁移学习的高分辨率遥感影像场景分类[J]. 测绘通报, 2020(2): 37-42. |
[16] |
ZHANG C, XIA K, YANG Y H, et al. Remote sensing scene classification algorithm based on improved residual network[J]. Science of Surveying and Mapping, 2020, 8: 151-156. (in Chinese) 章晨, 夏凯, 杨垠晖, 等. 改进残差网络的遥感图像场景分类[J]. 测绘科学, 2020, 8: 151-156. |
[17] |
REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection[C]//Proceedings of 2016 IEEE Computer Society Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2016: 779-788.
|
[18] |
TAN M, LE Q V. EfficientNet: rethinking model scaling for convolutional neural networks[C]//Proceedings of International Conference on Machine Learning. Washington D.C., USA: IEEE Press, 2019: 6105-6114.
|
[19] |
HOWARD A G, ZHU M L, CHEN B, et al. MobileNets: efficient convolutional neural networks for mobile vision applications[EB/OL]. [2020-06-05]. https://pdfs.semanticscholar.org/3647/d6d0f151dc05626449ee09cc7bce55be497e.pdf.
|
[20] |
DONG H Y. PyTorch object detection practice of deep learning[M]. Beijing: China Machine Press, 2020. (in Chinese) 董洪义. 深度学习之PyTorch物体检测实战[M]. 北京: 机械工业出版社, 2020. |
[21] |
TANG J M. Practical computer vision of deep learning by PyTorch[M]. Beijing: Publishing House of Electronics Industry, 2018. (in Chinese) 唐进民. 深度学习之PyTorch实战计算机视觉[M]. 北京: 电子工业出版社, 2018. |
[22] |
BERMAN M, TRIKI A R, BLASCHKO M B. The Lovsz-Softmax loss: a tractable surrogate for the optimization of the intersection-over-union measure in neural networks[C]//Proceedings of 2018 International Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2018: 4413-4421.
|
[23] |
XIA G, HU J, HU F, et al. AID: a benchmark data set for performance evaluation of aerial scene classification[J]. IEEE Transactions on Geoence and Remote Sensing, 2017, 55(7): 3965-3981. DOI:10.1109/TGRS.2017.2685945 |
[24] |
CHENG G, HAN J W, LU X Q. Remote sensing image scene classification: benchmark and state of the art[J]. Proceedings of the IEEE, 2017, 105(10): 1865-1883. DOI:10.1109/JPROC.2017.2675998 |
[25] |
CHENG G, YANG C, YAO X, et al. When deep learning meets metric learning: remote sensing image scene classification via learning discriminative CNNs[J]. IEEE Transactions on Geoence and Remote Sensing, 2018, 56(3): 2811-2821. |