基于深度迁移学习的无人机高分影像树种分类与制图 下载: 1359次
1 引言
树种分类在森林资源管理和监测[1-2]、森林扰动评估[3]和碳储存估算[4]等方面具有重要价值。传统树种调查方法主要依赖于实地调查或利用大比例尺航片人工判读[5-6],这些方法浪费人力、物力、财力,且效率低下。以卫星为代表的遥感影像树种分类方法,其效果和效率比地面调查的植被识别方法虽有明显改善,但卫星或航空传感器极易受云雾天气等外界因素的干扰,且卫星遥感运行高度较高,仅适合大范围的树种粗略分类,在小范围、精度要求较高的树种分类方面有着明显的局限性。无人机(UAV)具有灵活、高效、低成本、高空间分辨率和时间分辨率的特点[7],可弥补卫星遥感运行周期长、费用高,以及受天气等外界因素影响大的缺点,为树种分类提供了新途径。
现有的树种分类方法主要将手工提取特征与传统机器学习算法相结合。Le Louarn等[8]利用光谱和纹理特征结合随机森林(RF)和支持向量机(SVM)进行树种分类;Dian等[9]利用冠层高度模型(CHM)、最小噪声变换及增强植被指数(EVI)结合支持向量机进行城市树种分类;任冲等[10]综合利用光谱、纹理、植被指数、时相、地形等特征,在不同层次上采用适用于该层的支持向量机、人工神经网络(ANN)、多分类器组合(MCC)等分类方法,最后合并各层分类结果制作林地类型专题图。这些方法的表现结果很大程度上取决于人为选择的特征是否合理,而特征选择往往依靠经验,具有一定的盲目性。
深度学习[11-12]是人工智能的重要进展之一,颠覆了传统算法的设计思路,能够自动从数据中学习特征,避免了传统算法中人工设计、提取特征的复杂性和局限性,在没有人为干预的情况下,具有极大的特征学习潜力。在遥感领域中,深度学习,特别是卷积神经网络(CNN)[13-14],已经被广泛应用于遥感图像的分类、提取、识别和检索,全面超越了传统方法,使自动制作专题图成为可能[15]。但关于深度学习遥感分类的研究普遍存在训练集过小的情况,由于训练集过小,这些研究大多是针对特定数据、特定任务设计的小型卷积神经网络,其网络泛化能力较弱,应用到其他场景的错误率可能会较高。从本质上解决该问题的方法有两种:一是建立针对遥感图像的大型标签数据库,包括足够多的类别以及样本,但是由于遥感影像的特殊性,这比收集千万级别的自然图像ImageNet[16]更加困难;二是利用迁移学习[17],充分利用现有的知识,将之前学习到的知识迁移到遥感影像分类任务中。在利用深度学习进行遥感影像制图方面,现有的主流技术主要分为两种:一是以固定窗口遍历整个遥感影像,识别窗口内的地物类别,并将结果作为中心像元的类别,从而实现像素级别的分类。无人机遥感影像具有很高的空间分辨率,但使用像素级分类容易出现“椒盐现象”[18],而且这种方法效率非常低。二是通过均匀分解法将大的遥感影像平均分割成小的固定尺寸的处理单元,然后识别窗口内的地物类别,并将分类结果作为窗口内所有像素的类别。该方法与第一种方法相比虽然效率提高了,但是会产生块状地图,导致地图边界模糊[19]。
综上所述,本文充分考虑现有树种分类方法以及深度学习遥感分类方法中存在的问题,提出一种基于深度迁移学习的无人机高分影像树种分类与制图方法,充分利用现有的数据和模型资源,将在现有数据集上学习到的知识迁移到无人机高分影像树种分类中,以减少训练时间,提高收敛速度,控制过拟合,提高模型的泛化能力。引入超像素分割技术,充分考虑像素之间的空间和光谱相关性,以超像素为基本分类单元,提高制图的精度与效率。本文为无人机高分影像树种分类与制图提供一种新的思路。
2 基础理论与方法
2.1 基础理论
2.1.1 卷积神经网络
卷积神经网络是一种采用卷积运算代替一般矩阵乘法的特殊前馈神经网络,经典的CNN结构由输入层、卷积层、降采样层(池化层)、全连接层和输出层组成,具体结构如
2.1.2 迁移学习
迁移学习是一种利用来自相似域中的数据解决目标域中数据不足的方法,其定义为,给定一个有标记的源域
图 2. 传统机器学习和迁移学习对比。(a)传统机器学习;(b)迁移学习
Fig. 2. Comparison between traditional machine learning and transfer learning. (a) Traditional machine learning; (b) transfer learning
2.2 研究方法
针对现有树种分类方法采用人工提取特征具有盲目性和不可迁移性的问题,提出一种基于深度迁移学习的无人机高分影像树种分类与制图方法。该方法首先将ImageNet上训练的网络参数作为大型卷积神经网络模型的初始参数,并去掉模型的全连接层和分类层,将卷积神经网络模型作为一个特征提取器提取影像的特征;然后利用全局平均池化压缩特征并与全连接层每个节点连接,采用反向传播和Adam优化算法,通过少量带标签的树种数据训练一个树种分类模型;最后采用超像素分割技术分割整个无人机高分影像,以超像素为基本分类单元,通过训练好的树种分类模型分类所有超像素,生成树种专题地图。流程图如
图 3. 基于深度迁移学习的UAV高分影像树种分类与制图流程
Fig. 3. Flowchart of tree species classification and mapping of UAV high resolution image based on deep migration learning
2.2.1 深度迁移学习树种分类模型
现有的基于深度学习的遥感影像分类受限于训练数据的不足,主要针对特定问题、特定任务设计一个小型的卷积神经网络模型,这样的模型泛化能力较弱,将其应用到不同任务的遥感影像分类中可能导致错误率很高。最近的研究表明,在目前世界上最大的图像识别数据库ImageNet上性能更好的卷积神经网络模型在其他任务上同样能表现得更好[21],而且卷积神经网络具有可迁移性[22]。深度迁移网络要比随机初始化权重效果好,并且可以加速网络的学习和优化,因此,本文将深度学习和迁移学习结合起来,将在ImageNet上性能较好的大型卷积神经网络模型作为本文的预训练模型,使用经训练的参数初始化网络权重,充分利用现有的数据和模型资源,将现有的在数据集上学习到的知识迁移到无人机高分影像树种分类中。本文设计的深度迁移学习模型整体框架如
1) 特征提取器。将大型卷积神经网络模型去掉全连接层和分类层,使用ImageNet上训练的网络参数初始化网络权重,利用预训练模型的卷积和池化层提取树种影像的特征图。假设输入树种影像为
式中:
2) 全局平均池化层。在全连接层之前添加一个全局平局池化层,将特征提取器提取树种影像的每个特征图的所有值融合为一个特征值,使特征维数等于特征提取器最后一层卷积层的特征图的个数,减少全连接层参数。例如,在VGG16模型中,第一个全连接层FC1有4096个节点,上一层卷积层输出的是512个7×7的特征图,一共包含512×7×7=25088个节点,将该层与全连接层连接具有4096×25088个权值,参数数量很多,容易出现过拟合问题,而且模型训练速度较慢;本文方法将每个特征图融合为一个特征值,将最后的卷基层输出的特征图融合为512个特征值,然后再与全连接层连接,则有4096×512个权值,大大减少了全连接层的参数数量,提高了训练效率,缓解了过拟合问题。假设特征提取器最后一层卷积层的特征图大小为
3) 全连接层。经过特征提取和全局平局池化后,将全局平局池化后的所有特征值与全连接层每个节点连接。本文设计的全连接层包含1024个神经元,使用修正线性单元(Relu)作为激活函数,可表示为
4) Softmax分类器。最后一层使用Softmax分类器,将网络输出的特征放到Softmax分类器中进行分类,其类标签为
对于模型的训练,传统方法采用随机梯度下降(SGD)进行反向传播(BP),逐层更新网络的可训练参数,但该方法容易收敛到局部最优,并且学习率选择比较困难。Adam优化算法将动量与RMSProp优化算法相结合,它利用梯度的一阶矩估计和二阶矩估计自适应选择每个训练参数的学习率,经过偏置校正后,每一次迭代学习率都有个确定范围,使得参数比较平稳,并且该算法对内存需求较小,因此,本文采用Adam优化算法和反向传播更新模型参数,具体表示为
式中:
2.2.2 超像素分割树种制图
现有的基于卷积神经网络的遥感影像制图方法中,滑动窗口方法没有考虑像素的空间和光谱相关性,地图边界模糊;而像素级别的分类效率较低,容易出现“椒盐现象”,已经被证明不适于高空间分辨率遥感影像制图。为此,本文引入超像素分割技术,首先对整幅影像进行超像素分割,以超像素为最小分类单元作为模型的输入,实现整幅遥感影像的分类,最终生成树种专题地图。制图流程如
首先对遥感影像进行超像素分割。超像素分割采用简单线性迭代聚类(SLIC)算法[23]生成。超像素分割同时考虑像素的空间和光谱属性,具有良好的内部一致性,并且每个超像素具有相似的大小,适合作为卷积神经网络的输入。具体算法在[
1) 确定聚类中心个数
式中:
2) 初始化聚类中心。假设无人机高分影像像素个数为
3) 聚类中心校正。为了避免聚类中心处于边界点或者奇异点,计算原聚类中心周围3×3邻域内所有像素点的梯度值,将聚类中心移动到梯度值最小的位置。
4) 超像素分割。搜索聚类中心2
式中:
超像素分割后,利用超像素分割结果的外包矩形裁剪影像,将裁剪后的影像作为卷积神经网络的输入进行分类,分类结果作为超像素边界内的所有像素的类别,完成所有超像素的分类,合并分类结果生成树种专题地图。
3 实验与分析
为验证本文方法的有效性,以无人机高分影像数据作为数据源,采用本文方法进行树种分类与制图实验,并评价其有效性。在树种分类方面,利用混淆矩阵、总体精度(OA)和Kappa系数来评价本文树种分类方法的性能,探讨不同预训练模型对树种分类精度的影响,并和小型卷积神经网络方法进行对比,探讨使用ImageNet训练网络初始化树种分类模型网络权重的适应性。在树种制图方面,采用超像素分割和均匀分解法进行树种制图,利用兴趣点视觉解释评价制图效果。
3.1 实验数据与实验环境
以江苏省东台市东台林场作为研究区。东台林场位于江苏省东台市,地理坐标介于120°47'11″~120°52'0″E、32°53'30″~32°51'17″N,无人机高分影像获取于2016年8月上旬,选择天气晴朗、云量较少的天气进行航拍,采用的无人机为数字绿土八旋翼无人机,无人机搭载了该公司研发的Liortho高分辨率影像获取系统[由高分辨率相机、控制系统、差分全球定位系统(GPS)或POS (Position)系统组成],相对航拍高度为200 m。将获取的单幅影像利用Li Mapper软件进行处理,使用自动空中三角测量和光束平差法原理自动提取影像特征点,计算正确的位置参数,并进行几何校正、正射校正,最后自动拼接成一幅影像,其影像分辨率为0.15 m。从东台林场无人机高分影像中选择一块具有代表性的样地作为实验区域,影像大小为2261 pixel×2913 pixel,研究区域中包括杨树、水杉、竹子、银杏4类,共采集样本806个,样本大小为100 pixel×100 pixel,其中,水杉、杨树、竹子、银杏样本分别为475、170、70、91个,随机选择其中的20%作为训练样本,其余80%作为测试样本,树种样本如
实验环境为Windows 10 64bit操作系统,CPU为Core i7-8700K @3.70 GHz,16 GB内存,GPU为Nvidia TITAN Xp 12 GB显存。深度学习平台采用TensorFlow 1.8.0、Keras 2.2.0,栅格和矢量数据处理采用GDAL/OGR 2.2.4,数据可视化工具采用Tensorboard 1.8.0、Matplotlib 2.0.2、sklearn 0.19.0,编程语言采用Python 3.6.3。
图 6. 树种样本。(a)水杉;(b)杨树;(c)竹子;(d)银杏
Fig. 6. Tree species samples. (a) Metasequoia; (b) populus; (c) bamboo; (d) ginkgo
3.2 不同预训练模型分类对比
2012年,Hinton课题组提出的AlexNet在ImageNet图像分类竞赛中以准确度超越第二名11%的巨大优势夺得冠军[24],引爆人工智能领域。随后更多的卷积神经网络模型被相继提出,更深更复杂的模型不断刷新着准确率。从网络结构看,卷积神经网络从早期的无分支模型,即首尾相接、没有平行层的模型,如AlexNet、VGG16、VGG19,演化为模块堆叠模型,在模型深度和宽度上都有增加,如GoogLeNet、ResNet50、Inception-v3,到现在的Inception-ResNet-v2,在Inception-v3模型基础上,结合ResNet50深度模型中残差连接思想构建混合模型。为探讨不同模型对树种分类的影响,本文选择4个比较有代表性的网络作为预训练模型,具体包括VGG16、ResNet50、Inception-v3和Inception-ResNet-v2。训练模型前,将带标签的树种影像缩放到模型需要的大小,其中VGG16和ResNet50输入图像大小为224 pixel×224 pixel,Inception-v3和Inception-ResNet-v2输入图像大小为229 pixel×229 pixel。对于网络训练,为了公平起见,4个模型使用相同的超参数,速率衰减周期设置为100 epoch,所有训练样本完整输入模型1次为1 epoch, Batch size(每次输入模型的样本数量)设置为32。对于Adam优化算法,将初始学习速率设置为0.0001,速率衰减因子设置为0.9,epsilon设置为10-8。每个模型的训练精度变化和损失变化如
图 7. 不同模型的训练精度及损失曲线。(a)训练精度曲线; (b)训练损失曲线
Fig. 7. Training accuracy and loss curves of different models. (a) Training accuracy curves; (b) training loss curves
各模型的分类混淆矩阵、OA和Kappa系数如
图 8. 不同模型分类的混淆矩阵。(a) VGG16;(b) ResNet50;(c) Inecption-v3;(d) Inception-ResNet-v2
Fig. 8. Confusion matrices of classification with different models. (a) VGG16; (b) ResNet50; (c) Inecption-v3; (d) Inception-ResNet-v2
3.3 与小型卷积神经网络分类方法对比
很多研究已证明,卷积神经网络的性能超越传统的机器学习算法,因此,本文对比实验部分不再重复讨论卷积神经网络和传统方法相比的优势,而是与一个小型的卷积神经网络进行对比,并探讨使用ImageNet训练网络初始化树种分类模型网络权重的适应性。小型卷积神经网络包括3个卷基层、3个池化层和1个全连接层,为了公平起见,采用与本文方法同样的超参数。
图 9. 不同方法的训练精度及损失曲线。(a)训练精度曲线;(b)训练损失曲线
Fig. 9. Training accuracy and loss curves of different methods. (a) Training accuracy curves; (b) training loss curves
图 10. 不同方法分类的混淆矩阵。(a)小型卷积神经网络;(b)本文方法
Fig. 10. Confusion matrices of classification with different methods. (a) Small CNN; (b) proposed method
3.4 超像素分割树种制图
树种分类模型训练好后,使用超像素分割和均匀分解法得到基本分类单元,利用树种分类模型对超像素单元进行分类,最后合并分类结果生成树种专题地图,其中,超像素样地实际大小为12 m×12 m, 均匀分解法利用100 pixel×100 pixel窗口裁剪整个影像,制图结果如
图 11. 不同方法的树种地图。(a)原始影像;(b)实际地图; (c)均匀分解法;(d)本文方法
Fig. 11. Tree species maps with different methods. (a) Original image; (b) actual map; (c) uniform decomposition method; (d) proposed method
4 结论
通过研究树种分类及卷积神经网络在遥感影像分类应用中存在的问题,提出了基于深度迁移学习的无人机高分影像树种分类与制图方法,将深度学习和迁移学习结合起来,充分利用现有知识,将现有知识迁移到无人机高分影像树种分类中,实现了端到端的树种分类,避免了人工提取特征的不可迁移性,解决了训练大型卷积神经网络树种标签不足容易出现过拟合及小型卷积神经网络泛化能力不足的问题。实验结果表明,和小型的卷积神经网络相比,本文方法在树种影像受到树密度、树龄、树种、光照、背景等影响,类间差距小、类内差距大、树种标签较少、分类难度较大的情况下,具有收敛更快,精度更高的特点,其总体精度和Kappa系数分别提高9.04%和0.1547,同时能满足小样本分类需求。本文方法充分考虑像素的空间和光谱相关性,相比均匀分解法,树种边界更加精确。将深度学习应用到无人机高分影像树种分类中,为树种分类研究提供了一个新的思路。
[3] Dale V H, Joyce L A. McNulty S, et al. Climate change and forest disturbances[J]. BioScience, 2001, 51(9): 723-734.
[7] 范承啸, 韩俊, 熊志军, 等. 无人机遥感技术现状与应用[J]. 测绘科学, 2009, 34(5): 214-215.
[10] 任冲, 鞠洪波, 张怀清, 等. 多源数据林地类型的精细分类方法[J]. 林业科学, 2016, 52(6): 54-65.
[11] 陈洋, 范荣双, 王竞雪, 等. 结合相位一致和分水岭变换的高分辨率遥感影像分割方法[J]. 激光与光电子学进展, 2017, 54(9): 092803.
[12] Le Cun Y, Bengio Y, Hinton G. Deep learning[J]. Nature, 2015, 521(7553): 436-444.
[13] 舒程珣, 何云涛, 孙庆科. 基于卷积神经网络的点云配准方法[J]. 激光与光电子学进展, 2017, 54(3): 031001.
[14] 闫琦, 李慧, 荆林海, 等. 灾后高分辨率遥感影像的地震型滑坡信息自动提取算法研究[J]. 激光与光电子学进展, 2017, 54(11): 112801.
[15] 龚健雅, 季顺平. 摄影测量与深度学习[J]. 测绘学报, 2018, 47(6): 693-704.
[16] DengJ, DongW, SocherR, et al. ImageNet: a large-scale hierarchical image database[C]∥IEEE Computer Vision and Pattern Recognition, 2009: 248- 255.
[18] LiL, ShuN. Object-oriented classification of high-resolution remote sensing image using structural feature[C]∥International Congress on Image and Signal Processing, 2010: 2212- 2215.
[21] YosinskiJ, CluneJ, BengioY, et al. How transferable are features in deep neural networks?[C]∥International Conference on Neural Information Processing Systems, 2014: 3320- 3328.
[22] KornblithS, ShlensJ, Le Q V. Do better imagenet models transfer better?[J]. arXiv: 1805. 08974, 2018.
[24] KrizhevskyA, SutskeverI, Hinton GE. ImageNet classification with deep convolutional neural networks[C]∥International Conference on Neural Information Processing Systems, 2012: 1097- 1105.
Article Outline
滕文秀, 温小荣, 王妮, 施慧慧. 基于深度迁移学习的无人机高分影像树种分类与制图[J]. 激光与光电子学进展, 2019, 56(7): 072801. Wenxiu Teng, Xiaorong Wen, Ni Wang, Huihui Shi. Tree Species Classification and Mapping Based on Deep Transfer Learning with Unmanned Aerial Vehicle High Resolution Images[J]. Laser & Optoelectronics Progress, 2019, 56(7): 072801.