基于DenseNet的无人机光学图像树种分类研究
Study on Tree Species Classification of UAV Optical Image based on DenseNet
收稿日期: 2018-04-28 修回日期: 2019-04-02 网络出版日期: 2019-09-19
基金资助: |
|
Received: 2018-04-28 Revised: 2019-04-02 Online: 2019-09-19
作者简介 About authors
林志玮(1981-),男,台湾台北人,硕士生导师,讲师,主要从事计算机科学、图像处理、图形识别以及机器学习等方面的研究E-mail:
关键词:
Keywords:
本文引用格式
林志玮, 丁启禄, 黄嘉航, 涂伟豪, 胡典, 刘金福.
Lin Zhiwei, Ding Qilu, Huang Jiahang, Tu Weihao, Hu Dian, Liu Jinfu.
1 引 言
森林是陆地生态系统的主体,是生态环境建设的基础,具有调节气候、涵养水源以及维持生物物种多样性等作用,对经济、社会和环境的可持续发展有重要意义。由于人类活动的过度干预和环境污染等因素,全球每年的森林面积以0.3%的速度下降,森林面积持续减少。虽然中国国土面积占全世界的7%,森林面积仅占世界森林面积的4%;人均森林面积仅为世界平均水平的1/5,是世界上森林资源匮乏的国家之一,森林保护迫在眉睫。森林树种分布信息是保护森林资源的基础和依据[1],但森林分布范围较广、面积较大,通过人工识别森林中树种类别信息耗时耗力,难以满足森林实时监测与保护的要求,故提出一种有效识别大规模树种分布信息的分类框架具有重要的意义。
针对树种识别问题,已有许多算法被提出并应用,依据数据源不同,主要包括高光谱影像、LiDAR数据以及RGB光学影像。
(2)LiDAR数据是通过激光扫描和GPS等技术获取到地物的三维位置信息,可补充高光谱影像不可获取地物垂直方向的信息,提高地物的分类效果[5]。刘丽娟等[6]将机载LiDAR与高光谱CASI数据融合,充分利用垂直结构信息和光谱信息进行温带森林树种分类。Kwak等[7]提出使用光检测和LiDAR对树种的各类参数进行估测。通过结合LiDAR数据的树种分类能提高其分类效果,但激光雷达不是全天候工作的传感器;其遇到恶劣天气的时候无法工作,如在大雨、下雪、浓雾等非晴朗气候条件下,红外线波的侦测能力会大幅衰減,感测距离亦受影响。其次,目前的激光雷达价格昂贵,点云分辨率较低,使得相关算法在研究上依然存在不少难点。
无人机航拍影像具有高清晰、大比例尺、小面积和高现势性等优势,特别适合应用于林业监控与管理,基于无人机的林业研究已成为一种新趋势。此外,对于光学影像的分类,已有了新的突破—深度神经网络,针对图像分类领域,许多有效的分类网络被提出,随着网络层数的增加,分类效果有一定的上升趋势,如AlexNet[10]、VGGNet[11]和GoogLeNet[12]。但随着网络层数大幅度增加,梯度异常现象较为严重,导致网络层数的增加对网络分类效果产生负面影响。为了解决此问题,何凯明等[13]提出ResNet网络,构建以恒等映射(Identity Mapping)为基础的residual block,从梯度反向传播的角度缓解梯度不正常现象,对于每个block的输入层与输出层采用短连接进行模型的训练。Huang 提出DenseNet模型,它基于Residual Block,通过构建前馈全连接的方式,强化了特征的传播和大幅度降低网络中参数,并在许多分类任务中表现出优异的分类效果[14]。故本文基于无人机航拍图像,利用航拍的树种光学影像数据,结合深度学习理论,选择DenseNet网络模型建立树种识别模型,以期为我国的森林监测与保护提供一种新的方法。
2 研究及数据区
2.1 研究区概况
安溪县位于福建省东南沿海,隶属泉州市。县域范围117°36′~118°17′E,24°49′~25°27′N,地势自西北向东南倾斜,分为外安溪与内安溪。外安溪夏季长且炎热,冬季短而无严寒,年均气温19~20 ℃,年降雨量1 600 mm左右;内安溪年均气温16~18 ℃,年降雨量1 800 mm以上,无霜期约260 d,秋冷较早,春来较迟。全县有林地面积293.5万亩,非规划造林地成林面积5.01万亩,森林覆盖率66.5%,森林蓄积量669 万m3。区内西北部中低山区为中亚热带常绿阔叶林植被带,东南部丘陵低山区为亚热带雨林植被带,因为人为干扰的因素长期存在,导致区内植被群落特征已不明显,所存面积不大,多数由杉木林、马尾松林和建柏林等人工林代替。
2.2 数据采集
为了探讨不同航拍高度下树种影像对树种分类的影响,分别拍摄20 m和40 m的航拍影像图,取得的航拍树种影像大小为4 608×2 596。具体数据库建构过程如下:依据最小矩形框的原则,采用人工标注矩形框,定位出各树种的矩形框位置,保证标定树种面积在矩形框中占比最大,并根据定位信息对原图进行分割,得到单类树种影像资料,具体如表1,20 m与40 m影像数据量差异不大,影像平均解析度均大于500×500。由于航拍获取的树种影像为树冠影像,各树冠相互交错,极易出现树冠重叠现象,造成背景较为复杂难辨及分割后的图像内包含多个树种,增加待识别树种的分类难度。若分割后图像内出现多种树种情况,根据图像内个树种所占面积,将该图片标记为所占面积最大的树种。不同航拍高度影像包含树种总共11类,具体见图1,其中(a)~(k)分别为:石楠(Photinia serrulate)、马尾松(Pinus massoniana)、苔藓(Bryophyte)、福建茶(Carmona microphylla (Lam.) Don)、柠檬桉(Eucalyptus citriodora)、芒萁(Dicranopteris dichotoma)、枯萎香茅(Withered Mosla chinensis Maxim)、孔雀豆(Adenanthera pavonina var.microsperma)、东方乌毛蕨(Blechnum orientale)、枯萎芒萁(Withered dicranopteris dichotoma)和芒(Miscanthus sinensis)。在航拍影像中有部份树种数量极少,将此统归于第12类,其他(Unknown)。
表1 不同航拍高度图像信息
Table 1
航拍高度 | 20 m | 40 m |
---|---|---|
图片数量 | 617 | 585 |
平均解析度 | 960×859 | 867×737 |
图1
3 研究方法
深度卷积神经网络具有自动学习分类特征和较好的拟合非线性函数,为图像分类的热门技术,并在多个图像分类任务中取得优异的分类效果[10,11]。深度卷积网络[15]一般由卷积层、池化层以及全连接层组成,通过将不同类型的网络层依据一定的顺序进行连接与组合,形成不同的网络分类框架。卷积层为特征抽取层,通过一个滑动带权重的小窗口对输入的二维数据进行滑动运算,具有局部感知野、权值共享以及多卷积核等特点,可有效提取图像的分类特征[16]。二维卷积图中每个像素点在原图像上映射的区域大小称为感受野[17],随着网络层数的增加,感受野随着增大,模型提取特征所考虑的区域变大,如输入图像经过3×3的卷积核运算后,其卷积特征图中每个像素感受野为3×3。池化层主要目的为减少网络中的参数,提高计算网络计算效率,可分为平均池化(Average-pooling)、最大池化(Max-pooling)。与卷积相比,池化操作可看为不带权重的卷积操作,如最大池化,即选出滑动窗口对应输入数据中最大的数值。全连接层为特征整合层与分类层,主要将卷积层与池化层所提取的局部特征进行融合,抽取更具代表性的全局分类特征;但由于其神经元采用全连接的方式,导致该层网络参数较大,对网络的训练效率影响较大,故为了缓解此问题,一般采用1×1卷积代替全连接层,通过卷积参数共享的优势,减少网络中的参数。
DenseNet主要由Dense Block和Transition Layer组成。Dense Block作为网络的主体,负责网络分类特征的提取,如图2(a)所示;该Dense Block由4个Residual Block和输入层构成,各结构间采用前馈全连接方法进行相连,输入层与其余Residual Block均进行连接,第1个Residual Block与其后3个相连,以此类推。对于Residual Block主要由两层卷积层构成,并将卷积层的输入与输出的特征图进行合并,增加特征维度。Rransition Layer为网络中的降维结构,可将卷积特征图的维度进行一定比例的压缩,减少网络的参数,增加网络的计算效率,如图2(b)所示,Transition Layer由一个卷积核为1×1的卷积层和池化层组成,其中卷积层从输入特征图的张数进行降维,减少比例为c,一般设置为0.5,即将特征图张数压缩为原来的一半;池化层从特征图的大小进行降维,一般将输入特征图的大小缩小为原来的一半。
图2
图2
Denseblock与transitionlayer
Fig.2
The structure of dense block and transition layer
综上所述,本文采用DenseNet卷积神经网络建立树种识别模型,具体模型见图3,模型由输入层、卷积层、4个Dense Block、3个Transition Layer以及分类层组成,其中前3个Dense Block卷积后均传入Transition Layer进行特征维度压缩。由于组成4个Dense Block的Residual Block数量不同,所构成的DenseNet网络层数不同,可构建不同的网络框架。本文主要采用121层的DenseNet121模型和169层DenseNet169模型,其模型具体参数见表2。DenseNet121与DenseNet169第一层均采用7×7的卷积,并对其卷积结果采取池化操作,降低特征图维度大小;两个模型Dense Block均采用两层的残差结构,其中第1层采用3×3卷积,第2层采用1×1卷积;两个模型的主要区别在于第3和第4个Dense Block中残差结构的数量,其中DenseNet121模型为24和16个,DenseNet169为32和32个。
图3
表2 DenseNet121和DenseNet169模型参数
Table 2
神经网络层 | 输出特征图尺寸 | DenseNet121 | DenseNet169 |
---|---|---|---|
卷积层 | 112×112 | 7×7 卷积 | 7×7 卷积 |
池化层 | 56×56 | 3×3 最大池化 | 3×3 最大池化 |
Dense Block (1) | 56×56 | ||
Transition Layer(1) | 56×56 | 1×1卷积 | 1×1卷积 |
28×28 | 2×2 平均池化 | 2×2 平均池化 | |
Dense Block (2) | 28×28 | ||
Transition Layer(2) | 28×28 | 1×1卷积 | 1×1卷积 |
14×14 | 2×2 平均池化 | 2×2 平均池化 | |
Dense Block (3) | 14×14 | ||
Transition Layer(3) | 14×14 | 1×1卷积 | 1×1卷积 |
7×7 | 2×2 平均池化 | 2×2 平均池化 | |
Dense Block (4) | 7×7 | ||
分类层 | 1×1 | 7×7全局平均池化 | 7×7全局平均池化 |
— | softmax分类 | softmax分类 |
为了加快模型收敛速度和提高模型的分类正确率,本文在模型训练过程采用数据增强和迁移学习。①数据增强是对训练数据通过某种图像处理,生成新数据的过程。由于航拍影像人工标注较为耗费人力,仅仅依靠人工标注获取数据到训练所需的资料量较为耗费时间,故对航拍数据采用数据增强手段扩充数据的数量,主要采用旋转变换和镜像变换。对于旋转变换是以图像的中心为原点,旋转一定的角度,将图像上的所有像素都旋转一个相同的角度,采用随机角度旋转的方式对影像进行十次旋转,将原数据集数量扩充10倍左右。对于镜像变换,主要分为水平镜像和垂直镜像。图像的水平镜像操作是以原图像的垂直中轴线为中心,将图像分为左右两部分镜像对称变换;图像的垂直镜像操作是以原图像的水平中轴线为中心,将图像分为上下两部分进行对称变换。经过镜像操作后,可将数据集数量扩充2倍;②迁移学习是利用在其他数据训练完成的模型参数迁移到新模型,大量研究证明该方法可提高模型的正确率[18,19,20]。本文主要利用ImageNet数据集训练完成模型的权重参数作为新模型训练时的初始权重。
4 结果与分析
模型训练环境为Ubuntu16.04系统,处理器为I7,显卡为GTX1070。对于训练与测试样本的划分,采用简单随机抽样的方式,从每一类树种数据中抽取30%作为测试数据,其余作为训练数据;对于训练参数,设置学习率为0.000 01,Epoch为300,采用随机梯度下降算法对参数进行更新。
将不同高度航拍树种数据分别采用DenseNet121与DenseNet169模型训练,结果见表2。从不同航拍高度分析,DenseNet121与DenseNet169模型均随着航拍高度的升高,模型的分类正确率呈现下降趋势。造成此现象的原因主要为深度卷积网络主要利用卷积提取图像的边缘特征,而随着航拍高度的升高,航拍树种影像的分辨率下降,树种边缘特征被弱化,导致卷积所提取特征分类能力下降,模型的分类正确率降低。
从不同模型分析,随着网络模型的增加,模型的分类正确率呈现一定的下降趋势。DenseNet121在20 m和40 m航拍高度的分类正确率均高于DenseNet169模型,主要因为在于树种影像分类标签的标定。本文采用多数决原则进行影像分类标签的标定,即该树种占影像面积最大,则该影像的分类标签为该树种;存在着影像中可能存在少量非该影像树种的现象,随着该模型层数的增加,模型的感受野增加,模型在图像提取特征的区域增大,导致特征提取区域內存在其他树种的情况增大,降低分类特征的有效性,故DenseNet121 模型分类正确率高于DenseNet169模型。
建构混淆矩阵呈现模型分类效果,结果见图4。矩阵中统计模型每一类树种分类结果,包含计算分类错误的比例,即分类为其他树种的比例。对于20 m航拍影像,随着模型网络层数的增加,马尾松错分为芒萁的比例显著上升,导致其分类正确率出现较为显著的下降现象。这主要因为随着网络层数的上升,模型网络的感受野增大,使模型在分类时考虑的局部树种影像区域变大,研究区域内马尾松分布广泛,芒萁又为林下植被类型,导致马尾松周围常生长着芒萁,模型感受野的变大将提高马尾松与芒萁树种的重叠面积,增加其分类的难度,故DenseNet169模型马尾松分类正确率低于DenseNet121模型。对于40 m航拍影像,其各类分类结果对于模型网络层数的变化并不敏感,分类正确率略有下降。相比20 m的树种影像,40 m的树种影像分辨率低,其边缘信息模糊,卷积所提取的特征分类能力不高,导致模型感受野的增大对其分类效果影响减弱。
图4
图4
DenseNet121和DenseNet169模型混淆矩阵图
Fig.4
The confusion matrix of DenseNet121 and DenseNet169
(注:ade为孔雀豆,pho为石楠,car为福建茶,bry为苔藓,dic为芒萁,wdic为东方乌毛蕨,
ble为枯萎芒萁,pin为马尾松,wrmos为枯萎香茅,euc为柠檬桉,mis为芒, unk为其他)
表3 不同航拍高度DenseNet121和DenseNet169分类结果
Table 3
航拍高度 | 20 m | 40 m |
---|---|---|
DenseNet121 | 87.54% | 84.38% |
DenseNet169 | 86.23% | 83.33% |
5 结 语
本文基于深度学习理论,利用不同高度无人机航拍树种影像,结合图像处理手段,采用深度卷积神经网络DenseNet121和DenseNet169网络框架,建立自动树种分类模型。结果表明将卷积神经网络应用于无人机树种识别具有一定的可行性,分类正确率最高可达到87.54%。对比不同航拍高度影像分类结果,可发现随着航拍高度的上升,分类正确率呈现下降趋势;对比不同网络层数框架分类结果,树种分类正确率随着网络层数增加出现下降现象。综上所述,建立采用20 m的航拍高度作为参考航拍高度,并选择DenseNet121作为其网络分类模型。本文提出的树种分类框架具有分类效果较优、数据获取简单、成本较低等优势。但仍存在一些不足:①受限于数据,本文所研究的树种类数较少,未来将收集更多的树种数据,补充树种种类数量的不足,进一步证明模型的可行性;②本文仅利用树种树冠影像信息,未来可结合其他数据,如高层图信息,对树种进行识别。此外,本文仅识别树种,未来可通过提取树冠面积测算树种年龄等。
参考文献
Research Advances and Countermeasures of Remote Sensing Classification of Forest Vegetation
[J].
森林植被遥感分类研究进展与对策
[J].,
Spectral-spatial Joint Classification of Hyperspectral Image with Edge-preserving Filtering
[J].
基于边缘保持滤波的高光谱影像光谱-空间联合分类
[J]. ,
Band Selection from Hyperspectral Data of Forestry Species
[J].
森林树种高光谱波段的选择
[J].,
Tree Species Discrimination based on Leaf-level Hyperspectral Characteristic Analysis
[J].
基于叶片高光谱特性分析的树种识别
[J].,
Automatic Extracting and Modeling Approach of City Cloverleaf from Airborne LiDAR Data
[J].
基于机载LiDAR数据的大型立交桥自动提取与建模方法
[J]. ,
Fused Airborne Li DAR and Hyperspectral Data for Tree Species Identification in a Natural Temperate Forest
[J].
机载LiDAR和高光谱融合实现温带天然林树种识别
[J].,
Detection of Individual Trees and Estimation of Tree Height Using LiDAR Data
[J]. ,
Research on Tree Species Identification Algorithm based on Combination of Leaf Traditional Characteristics and Distance Matrix as well as Corner Matrix
[J].
叶片传统特征和距离矩阵与角点矩阵相结合的树种识别算法
[J].,
ImageNet Classification with Deep Convolutional Neural Networks
[C].
Very Deep Convolutional Networks for Large-scale Image Recognition
[J].
Deep Residual Learning for Image Recognition
[C],
Densely Connected Convolutional Networks
[C]
An Introduction to Convolutional Neural Networks
[J].
Visualizing and Understanding Convolutional Networks
[C],
Understanding the Effective Receptive Field in Deep Convolutional Neural Networks
[C].
Deep Transfer Learning for Person Re-identification
[J].
Transfer Learning for Visual Categorization: A Survey
[J]. ,
Transfer Learning from Deep Features for Remote Sensing and Poverty Mapping
[J].
/
〈 | 〉 |