基于集成卷积神经网络的遥感影像场景分类 下载: 1288次
1 引言
根据遥感图像的内容进行特征提取,使用分类器对特征进行分类,从而实现对遥感场景进行分类与识别。精准的场景分类可以降低地理目标检测、土地利用分析、土地覆盖分析、城市规划等遥感解译任务的难度[1],并提高解译精度。遥感场景图像不仅包含颜色、纹理等低层信息,还包含很多语义层的信息,这也增大了其准确自动分类的难度。因此,遥感图像场景分类获得了航空和卫星图像分析领域研究者的广泛关注。
早期的场景分类算法多数基于人工特征提取,使用工程性的技巧和专业知识设计针对不同任务的特征描述子,如基于颜色、纹理、空间信息、光谱信息的特征或多特征融合的描述子,这些特征都是场景图像的低层特征[2-4]。此类分类算法的泛化能力较弱,稳健性不强。
随着人工智能算法的不断发展,深度学习已经成为计算机视觉领域最有力的工具之一,其在目标识别、人脸检测、语音识别、语义分割等领域都有了突破性的进展[5-7]。遥感图像场景分类也是深度学习方法的受益者,尤其是卷积神经网络(CNN)在图像领域得到了广泛应用。Krizhevsky等[8]提出了8层的AlexNet模型,大幅提高了图像分类的准确度。Simonyan等[9]提出了16层的VGG-16模型和19层的VGG-19模型,分类准确度进一步提升。Szegedy等[10]在加深网络的同时加宽网络,形成包含子网络的GoogLeNet模型。He等[11]提出的ResNet模型解决了网络退化的问题。继承ResNet思想,Huang等[12]提出了稠密连接的的DenseNet模型。在遥感场景分类领域,Cheng等[2]构建了包含45类场景的遥感场景分类数据集NWPU-RESISC45,并使用AlexNet、VGG-16及GoogLeNet模型对数据集进行了分类实验,其准确率远高于传统方法的。Yu等[13]将CNN作为特征提取器,混合三种CNN提取出来的特征扩充了特征维度,并使用极端学习机(ELM)对扩充后的维度进行分类处理,在NWPU-RESISC45数据集上,相比于VGG-16模型,其算法的分类准确率提高了3.37%。
精调训练的浅层CNN,如AlexNet模型能快速实现分类,但是分类准确率不够高,在NWPU-RESISC45数据集中抽取20%的数据进行训练时,准确率只能达到85.16%[2]。深层CNN如VGG-16模型能取得较高的分类准确率(90.36%[2]),但是其训练时间长,预测速度低,预测一张场景图像的时长是AlexNet模型的9.2倍,其原因主要是增多的卷积层增大了神经网络的计算复杂度。使用多特征混合的方法可以明显提高分类准确率,但是其预测速度仅为VGG-16模型的1/3~1/4。在执行遥感图像场景分类任务时,预测速度与分类准确度不能兼得。Li等[14]的研究表明,遥感图像的复杂度与CNN的深度之间有一定的适应性关系,即分别使用浅层和深层的CNN对低复杂度和高复杂度的图像进行分类处理时,可以充分发挥多个CNN的固有特性,提高分类精度。
本文通过反向传播神经网络(BPNN)构建了图像复杂度的度量模型,训练了多个CNN,提出了一种集成多个模型的遥感场景分类算法,可将NWPU-RESISC45数据集的分类准确率提高2.18%,并将预测速度提升33%。
2 集成神经网络概述
结合图像复杂度与深层CNN设计的集成网络结构如
2.1 使用的CNN模型
相比于日常场景图像,遥感影像具有画幅广、观测尺度大、图像特征尺度大等特点。经过对比筛选,使用AlexNet、ResNet-50、ResNet-152、DenseNet-169四种网络作为模型集成对象。
1) AlexNet
AlexNet[8]包含5个卷积层和3个全连接层,使用修正线性单元(RelU)作为激活函数,解决了梯度消失的问题。在第一个卷积层和第二个池化层后添加了正则化层。使用最大池化技术进行池化,在卷积层后使用Dropout技术防止过拟合。
2) ResNet
ResNet[11]解决了随着网络深度的加深网络退化的问题,设计了残差模块。假设
3) DenseNet[12]
DenseNet将ResNet的思想进行了扩充和发展,使用批正则化技术加速收敛、控制过拟合,将靠前的卷积、池化层的输出分别加在之后若干卷积层的输入上,即将
2.2 使用BP网络度量图像复杂度
2.2.1 图像复杂度
图像复杂度的评估算法有很多,Peters等[15]总结了90年代前基于边缘、灰度、尺寸等特征的复杂度描述方法;Rigau等[16]提出了较为完整的基于信息论的图像复杂度衡量方法。此外,还有以图像纹理、模糊数学理论作为图像复杂度评判标准的研究[17]。近年来,多特征集成[18]、神经网络计算多特征参数的复杂度评估[19]取得了不错的效果。这些图像复杂度研究的评判标准是人工判别,但这并不适用于分类。所提算法对数据集中的多种场景进行分类测试,以分类准确率和分类效率作为图像复杂度的评判标准;在文献[ 19]和文献[ 20]的基础上加入了与颜色相关的描述子及信息熵,形成了包含颜色矩、灰度共生矩阵、信息熵、Canny边缘检测线占比4种参数在内的复杂度评估参数集。
1) 颜色矩
Stricker等[21]提出的颜色矩是一种有效的颜色特征,计算复杂度相对较小,适用于复杂度评估。该方法的核心思想是使用矩表示图像中的颜色分布。所提算法采用颜色的一阶矩、二阶矩和三阶矩表达图像的颜色分布。因此,使用的颜色矩一共只需要9个分量(3个颜色分量,每个分量上3个低阶矩),与其他的颜色特征相比是非常简洁的。颜色矩的计算公式为
式中
2) 灰度共生矩阵
灰度共生矩阵[22]是用来提取图像纹理信息的特征描述子,其定义为图像中一个灰度值为
能量用来度量图像灰度的均匀性和纹理粗细度。当图像的纹理较均匀且较粗时,其灰度共生矩阵中的值集中于对角线附近,能量
式中
熵值
对比度
同质性反映的是图像纹理的局部信息。若图像纹理在局部范围内的变化较小,则其同质性较高,
相关性主要用于度量共生矩阵中元素在行(列)方向的相似程度,反映了图像中局部范围内像素灰度值之间的相关性。当行(列)像素的灰度值相似度高时,相关性值较大,图像的复杂度较小,反之复杂度较大。相关性的计算公式为
式中
灰度共生矩阵的5个纹理特征描述子构成5维的向量,即纹理特征的表达式为
通过计算图像的信息熵
2.2.2 BPNN
BPNN[20]的基本原理是通过多层全连接神经网络对输入向量
3 集成神经网络构建
集成神经网络的构建流程如
3.1 实验环境及数据集
使用训练机进行模型训练,使用测试机进行模型预测。训练CNN使用TensorFlow 1.4框架,训练机环境为Ubuntu 16.04系统,使用3.50 GHz Intel Core i7-5930K中央处理器(CPU),内存为64 GB。使用GTX Titan X GPU进行加速运算,模型的预测环境为Windows 10系统,使用2.50 GHz Intel Core i5-7300HQ CPU,内存为8 GB,显卡为GTX 1050Ti。
NWPU-RESISC45数据集[2]包含45类遥感场景:飞机、机场、棒球场、篮球场、沙滩、桥梁、稀疏的植被、宫殿、圆形农田、云、商业区、密集住宅区、沙漠、森林、公路、高尔夫球场、田径场、港口、工业区、十字路口、岛屿、湖泊、公园、住宅区、移动房屋停放场、山脉、立交桥、教堂、停车场、铁路、火车站、矩形农田、河流、环形路口、机场跑道、海冰、船只、湿地、稀疏住宅区、体育场、油罐、网球场、梯田、热电站、草地,每类包括700张256 pixel×256 pixel的红绿蓝三通道彩色(RGB)图像,空间分辨率从0.2 m到30 m不等。数据集中的图像来自Google地图,覆盖的区域包括全球100多个国家和地区,总计31500幅图像。该数据集中的天气、季节、光照、视角等因素变化比较丰富,对于场景分类算法是一个考验。
3.2 训练CNN
使用NWPU-RESISC45数据集训练了AlexNet、ResNet-50、ResNet-101、ResNet-152、DenseNet-121、DenseNet-161、DenseNet-169、Inception-v3、Inception-Res-v2、Xception共10种CNN网络。为了与其他论文成果进行横向比较,在数据集划分上采取与文献[ 2]及[13]相同的策略,即设置两类实验,第一类实验从NWPU-RESISC45数据集的每类场景中提取10%即70×45幅图像作为训练集,其余90%作为测试集;第二类实验从每类场景中提取20%即140×45幅图像作为训练集,其余80%作为测试集。
在训练前对训练集进行了数据增强[23]处理,对训练集进行随机旋转、翻转、平移、剪切、放缩和对比度拉伸等变换操作,最终的训练集扩充成原来的10倍。训练阶段,打乱扩充后数据集的顺序,将其以批为单位输入到网络中,批数为
图 4. ResNet-50训练过程中准确率、损失值和学习率随循环次数的变化。(a)准确率;(b)损失值;(c)学习率
Fig. 4. Accuracy, loss value and learning rate versus number of cycles in training process of ResNet-50.(a) Accuracy; (b) loss value; (c) learning rate
如
在测试阶段使用未打乱顺序的测试集对网络的分类性能进行测试,将同一种类别的测试集数据作为一个批次输入到网络,网络输出预测结果后可以方便地统计每一类的分类准确率,对所有类别的分类准确率取平均可以得到网络整体的分类准确率。统计了10种网络在两类实验中的分类准确率,在筛选网络的过程中综合考虑模型的运行时间、模型之间的互补性质及模型的分类准确率,其中Inception-v3、Inception-Res-v2、Xception网络在遥感数据集上的表现没有ResNet和DenseNet的出色,准确率不高,预测速度较慢,将其排除。在取舍ResNet-101、DenseNet-121及DenseNet-169时,最大程度保留了网络的多样性,包括网络深度、网络结构、卷积核参数的多样性等。为了保证BP神经网络的复杂度度量的准确率,只选择了10个模型中的4个,这是因为设计的BP神经网络的输入维度只有17维,输出维度越小,预测准确率越高。当输出维度增大到5维时,BP网络复杂度预测的准确率会减小到50%以下,这对于整个集成网络是不利的。筛选出来的4种网络在两类实验中的参数和测试结果见
表 1. 各个网络的训练参数及结果
Table 1. Training parameters and results of each network
|
由
文献[ 4]的研究显示,遥感图像的复杂度与CNN的深度之间有一定适应性关系,即分别使用浅层和深层的CNN对低复杂度和高复杂度的图像进行分类处理时,可以充分发挥CNN的固有特性,提高分类精度。从图像复杂度角度出发,沙滩、雪山、云所包含的信息量及纹理颜色信息比飞机、球场、梯田等的少很多,即宏观场景的图像复杂度较小。因此,将能够通过浅层AlexNet准确识别的场景图像认定为简单场景,复杂度级别为1;将能通过中层ResNet-50准确识别的场景图像的复杂度设置为2;将能在ResNet-152和DenseNet-169网络中准确识别的场景的复杂度级别分别设置为3和4。
3.3 训练复杂度度量BP网络
通过统计
纹理参数、线占比和信息熵。
通过计算图像的信息熵
设计的BP网络采用一维卷积对输入的17维数据进行组合,可以达到更好的分类效果。该层的卷积核大小设置为11,步长设置为2,输出向量维度为(None,4,32),其中None代表训练过程中一个批次包含的数据数量,其不会随网络结构的变化而发生变化。激活层以ReLU作为激活单元,之后将激活后向量通过最大池化操作进行下采样处理。经过维度拉伸及两个全连接层可以得到4维输出向量,该输出即为图像的复杂度标签。
随机在数据集中选取80%即45×560幅图像作为训练集,剩下的20%作为测试集,BPNN的训练集和测试集不需要与CNN的训练集、测试集相同。训练BP网络的输入为场景图像的17维复杂度描述子
图 6. BP网络的训练过程中准确率和损失值随循环次数的变化曲线。(a)准确率;(b)损失值
Fig. 6. Accuracy and loss value versus number of cycles in training process of BP network. (a) Accuracy; (b) loss value
4 实验结果与分析
在使用集成后的模型进行预测时,先计算待预测图像的复杂度描述子
图 7. 集成模型对数据集进行分类预测后得到的混淆矩阵
Fig. 7. Confusion matrix obtained after classification prediction of dataset by integrated model
对树丛的识别准确率为100%,识别率最低的是网球场,只有67%的识别准确率。分类网络容易误判的场景还有中度住宅区和密集住宅区、火车站和铁路、宫殿和教堂等。其原因一方面是这些场景的相似度较高,另一方面是数据集的数量较少。在实际遥感解译任务中通过增大数据量可以提高网络的分辨能力。
为了对比所提算法与其他算法的性能,根据分类算法的混淆矩阵,绘制了文献[
2]中几种代表性算法、所提算法及通过多数投票方式集成的网络结构在NWPU-RESISC45数据集上的分类准确率,如
了检验所提集成方法的效果,添加了没有采用集成策略的单一ResNet-50模型和采用多数投票方式集成的竞争模型。对比实验的训练集与测试集的选取与第三节所述的第二类实验的相同,即随机选取20%作为训练集,80%作为测试集。训练与测试环境采用第三节所述的训练机和测试机,结果如
为了从数值上对各种算法进行性能比较,测试并统计了
表 2. 几种算法的性能对比
Table 2. Performance comparison among several algorithms
|
由
在第二类实验中,集成网络与其他算法的性能比较见
表 3. 与其他方法的平均准确率对比
Table 3. Average accuracy comparison with those of other algorithms
|
所提集成网络除了在准确率上有所提升之外,分类所消耗的预测时间也比单个模型的短,如
图 9. 多种模型的分类准确率和预测时间
Fig. 9. Classification accuracies and prediction time of various models
集成网络在测试机上计算复杂度及使用BP网络进行复杂度度量的整体运行时间为0.06 s,整个集成网络的分类平均预测时间为0.41 s,分类准确率为92.53%,相比于VGG-16模型,预测速度提升了33%,准确率提升了2.17%。
由
图 10. 使用AlexNet进行分类的场景类别数量对集成模型的性能影响
Fig. 10. Impact of number of scene categories classified by AlexNet on performance of integrated model
5 结论
集成了多个CNN对遥感场景进行分类识别,在使用CNN进行预测前判别图像复杂度,进而找到与待预测场景最匹配的CNN。利用浅层网络识别复杂度较低的场景图像,达到快速识别的目的;通过深层的网络识别复杂度较高的场景图像,达到精准识别的目的。研究结果表明,ResNet-50在NWPU-RESISC45数据集上的表现优于VGG-16的,设计的集成模型在预测准确率和预测速度上均优于VGG-16和ResNet-50等单一模型,分类的整体效率得到提高。实验结果证明了集成模型的高效性和可行性。
集成模型需要训练并存储多个模型,相比于单个卷积神经网络,需要更长的训练时间和模型存储空间,可以通过适当的模型压缩减少模型参数的数量,还可采取多显卡并行优化的加速训练方法来缩减训练时长。
[8] KrizhevskyA, SutskeverI, Hinton GE. ImageNet classification with deep convolutional neural networks[C]. International Conference on Advances in Neural Information Processing Systems, 2012: 1097- 1105.
[9] SimonyanK, Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL]. ( 2015-04-10)[2018-03-15]. https: ∥arxiv.org/pdf/1409.1556v6.pdf.
[10] SzegedyC, LiuW, Jia YQ, et al. Going deeper with convolutions[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2015: 1- 9.
[11] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2016: 770- 778.
[12] HuangG, Liu Z, van der Maaten L, et al. Densely connected convolutional networks[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2017: 4700- 4708.
[14] Li HF, PengJ, TaoC, et al. What do we learn by semantic scene understanding for remote sensing imagery in CNN framework?[EB/OL]. ( 2017-05-19)[2018-03-16]. https: ∥arxiv.org/ftp/arxiv/papers/1705/1705.07077. pdf
[15] Peters RA, Strickland RN. Image complexity metrics for automatic target recognizers[C]. Automatic Target Recognizer System and Technology Conference, 1990: 1- 17.
[16] RigauJ, FeixasM, SbertM. An information-theoretic framework for image complexity[C]. Computational Aesthetics 2005: Eurographics Workshop on Computational Aesthetics in Graphics, Visualization and Imaging, 2005: 177- 184.
[17] CardaciM, Di GesùV, PetrouM, et al. On the evaluation of images complexity: A fuzzy approach[C]. International Workshop on Fuzzy Logic and Applications, 2005: 305- 311.
[19] Chen YQ, DuanJ, ZhuY, et al. Research on the image complexity based on neural network[C]. Machine Learning and Cybernetics, 2015, 1: 295- 300.
[20] 陈燕芹, 段锦, 祝勇, 等. 基于纹理特征的图像复杂度研究[J]. 中国光学, 2015, 8(3): 407-414.
[21] Stricker M A, Orengo M. Similarity of color images[J]. Proceedings of SPIE, 1995, 2420: 381-393.
[22] 高程程, 惠晓威. 基于灰度共生矩阵的纹理特征提取[J]. 计算机系统应用, 2010, 19(6): 195-198.
[23] PerezL, Wang J. The effectiveness of data augmentation in image classification using deep learning[EB/OL]. ( 2017-12-13)[2018-03-17]. https: ∥arxiv.org/pdf/1712.04621.pdf.
[24] Kingma DP, Ba J L. Adam: A method for stochastic optimization[EB/OL]. ( 2017-01-30)[2018-3-17]. https: ∥arxiv.org/pdf/1412.6980.pdf.
[25] 汪宝彬, 汪玉霞. 随机梯度下降法的一些性质[J]. 数学杂志, 2011, 31(6): 1041-1044.
Article Outline
张晓男, 钟兴, 朱瑞飞, 高放, 张作省, 鲍松泽, 李竺强. 基于集成卷积神经网络的遥感影像场景分类[J]. 光学学报, 2018, 38(11): 1128001. Xiaonan Zhang, Xing Zhong, Ruifei Zhu, Fang Gao, Zuoxing Zhang, Songze Bao, Zhuqiang Li. Scene Classification of Remote Sensing Images Based on Integrated Convolutional Neural Networks[J]. Acta Optica Sinica, 2018, 38(11): 1128001.