基于卷积神经网络的树种识别研究
2020-01-15刘忠伟戚大伟
刘忠伟,戚大伟
(东北林业大学 理学院,哈尔滨 150040)
0 引言
森林资源,特别是天然林资源,是地球陆地生态系统的主体和生态环境建设的基础,具有不可替代性[1]。准确识别森林植被是森林资源被科学经营和管理的前提[2]。自动分类识别树种,在植物学研究和多样性保护方面意义深远。具体来说,树种识别可分为花卉识别、叶片识别、木材纹理识别和树皮纹理识别等[3]。准确识别树种是利用和研究森林资源的基础,并为林业资源的可持续发展提供有力保障。
在深度学习未被提出之前,图像特征提取的方法主要有尺度不变特征(scale invariant feature transform, SIFT)[4]、局部二值特征(local binary pattern, LBP)[5]、梯度直方图特征(histogram of gradient, HOG)[6]和灰度共生矩阵(gray-level co-occurrence matrix, GLCM)等[7]。以上这些方法要通过手动的方式进行特征提取,通常设计者经验的丰富程度和设计特征合理性等是影响特征算子识别性能的关键因素。此类方法存在操作繁琐、精度不能较好地满足要求等问题。
基于深度学习典型的卷积神经网络(convolution neural networks, CNNs)模型,是20世纪80年代Fukushima等[8]基于感受野的概念,提出的神经认知机,可看作CNNs计算模型的第一次实现。而后Lecun等[9]将梯度反向传播算法应用到CNNs模型中,在手写数字识别问题中,表现出优异性能。近年来,随着机器学习的发展,CNNs为树种分类识别带来新机遇,该网络模型有效地解决了自适应特征提取以及自动化提取的难题[10]。CNNs在对数据集进行训练后,可自动获取图像中的纹理特征[11],与传统神经网络相比,卷积神经网络结构更加复杂,具有更强的特征表达和学习能力,并且鲁棒性高、适应能力更强。因此,基于CNNs构建的网络模型可免去人工定义图像纹理特征的成本并且识别准确率较高[12]。
本研究设计了基于Lenet5模型框架的卷积神经网络,以水曲柳(Fraxinusmandshurica)、家榆(Ulmuspumila)、白桦(Betulaplatyphylla)、红皮云杉(Piceakoraiensis)和蒙古栎(Quercusmongolica)树皮纹理图像作为输入,对5种树木进行自动识别分类研究。
1 图像采集与预处理
1.1 图像数据采集
实验采集了东北地区几种典型林木的树皮纹理图像,图像采集地点位于东经126°45′~126°43′,北纬45°30′~45°40′的黑龙江省哈尔滨市东北林业大学校内林场。该地区属中温带大陆性季风气候,四季分明,年平均气温3.5 ℃。实验采集水曲柳、家榆、白桦、红皮云杉和蒙古栎的RGB树皮纹理图像各1 000幅,共计5 000幅作为输入,具体树种信息见表1。
表1 树种信息
1.2 图像数据预处理
获取图像分辨率大小为3 024×3 024,由于获取图像的分辨率较大,考虑到计算机可承受的数据量和计算速度[12],需要对所有样本图像的感兴趣区域(Region of Interest, ROI)进行截取操作。选取100×100的窗口,截取含有2个及以上完整纹理基元的部分,该操作可对输入卷积神经网络的图像准确定位,并有效缓解数据计算量的压力。
从客观存在的林木树皮,到通过拍摄设备进行获取,再经由电子设备显示后进行ROI区域截取。其过程中,可能由于自然光照因素、人为因素以及ROI截取操作等,造成纹理特征模糊等不同程度上的图像失真,灰度偏黑或者偏白,会影响自动提取树皮纹理特征的准确率,不利于识别。所以对ROI操作后的图像进行增强处理是极其必要的。直方图均衡化是通过修正直方图,使其灰度变换为均匀分布的形式,从而拉伸图像灰度的动态范围,它是增强图像对比度的有效方法[13]。图1(a)和图1(b)分别是树皮纹理原始图像及其直方图;图1(c)和图1(d)分别是经过直方图均衡化处理后的图像及其直方图信息。
没有经过直方图均衡化处理的图像灰度较为集中,纹理特征不够明显;而经过直方图均衡化处理后的图像,灰度层次比较适中,图像质量得以改善,比原始图像更加清晰、明朗,有利于卷积神经网络对图像纹理特征的提取和分析。经过以上ROI截取操作和直方图均衡化处理后的树皮纹理图像,如图2所示。
2 卷积神经网络结构及训练
深度学习以组合低层特征的形式,形成如属性类别和特征等更抽象更本质的高层表达,进而发现数据的分布式特征表示[14]。CNNs的网络结构与生物神经网络更相近,在图像识别和语音识别方面独具优越性,尤其在视觉图像处理相关领域,取得了很好的研究成果[15-16]。本文采用卷积神经网络方法,实现对5种基于树皮纹理的树种图像进行分类识别。
图1 直方图均衡化
图2 预处理后的树皮图像
2.1 CNNs结构设计
常规的卷积神经网络通常由多个卷积层和池化层以及全连接层组成[17]。其中卷积层(Convolutional layer)是通过卷积核在原图像上滑动,进行以提取输入图像不同特征为目的的卷积运算;组成卷积层的若干卷积单元,其参数是通过反向传播算法最佳化而得到的。第一层卷积层只能提取一些低级的,如角、边缘和线条等特征,更多层的网络能从低级特征中迭代提取更复杂的特征。其中,池化(Pooling)是由于图像的“静态性”属性,即某图像在局部区域A的特征,很可能在局部区域B也同样适用,因此聚合统计图像的某局部区域中,不同位置特征的操作,被称作池化[12]。常见的池化方法有最大池化(Max pooling)和平均池化(Average pooling)。其中,通过最大池化过滤器在某局部区域内提取的某个特征,将保留其最大元素值到池化输出里。最大池化的超参数为过滤器尺寸f和滑动步长s,如图3所示。
池化操作可对上一层网络的输出进行压缩,与不做池化操作而直接使用卷积后的特征相比较,池化操作可极大降低特征向量的维度,进而提高计算速度,同时可提高所提取特征的鲁棒性。
经一系列卷积和池化操作后,提取生成了该图像的深层抽象特征,将这些特征矩阵拉平为一维向量作为全连接层的输入,由全连接层完成分类任务,
图3 池化层:最大池化层
最后经Softmax层可以得到不同种类的识别概率分布情况,从而得到分类结果。
本文参考Lenet 5网络结构框架[18],该结构框架对数量相对较少的训练数据集处理能力较好[19]。针对实验样本图像没有干扰背景影响且树皮纹理特征并不复杂等特点,在Lenet 5结构的基础上,对CNNs使用反向传播算法和随机梯度下降算法训练,结合树皮纹理图像特征的特点,对网络的结构、参数进行了相应的调整和优化,具有实现较易和识别效率较高等优点。
本研究的卷积神经网络结构包含3层卷积、2个全连接层,其中输出层为softmax回归单元识别5种不同类别对象,如图4所示。
2.2 CNNs实验参数与训练
调整和优化后的卷积神经网络,训练的流程如图5所示。
图4 卷积神经网络结构图
图5 卷积神经网络流程图Fig.5 Convolution neural network flow chart
(1)输入层 Input
卷积神经网络以5种尺寸为(100×100)×3个通道的RGB树皮纹理图像、Batch norm归一化参数50为输入,即每次输入50张(100×100)×3个通道的RGB树皮纹理图像。
(2)卷积层Conv1
输入样本图像后,对其进行卷积操作,每层卷积核为3×3,卷积核个数为100,对输入数据提取特征。由于线性模型表达能力的不足,而Relu函数具有缩减模型训练时间、加快收敛速度和可以有效缓解梯度消失等问题的优势[20]。因此,在卷积操作后使用Relu激活函数,使之具有分层的非线性映射学习能力。
(3)池化层Pool 1
池化是对上层输入数据进行采样以缩减模型尺寸,提高效率的操作。本层采用最大池化的方法,选用滑动步长为3,尺寸为5×5的池化窗口。即将Conv 1层提取的特征最大值,保留5×5窗口区域里。
(4)卷积层Conv 2
Conv2每次输入50张样本图像,卷积核尺寸设置为3×3,卷积核数目设置为150个,卷积操作提取纹理特征后,使用Relu激活函数对数据进行非线性映射。
(5)池化层Pool 2
对上一层的输出,使用池化尺寸为3×3,滑动步长为2的最大池化方法,保留上一层特征输出的最大值,缩减模型尺寸。
(6)卷积层Conv 3
Conv3的卷积核尺寸设置为3×3,卷积核数目设置为150个,每次仍输入50张样本图像,并使用Relu激活函数非线性映射。
(7)池化层Pool 3
对Conv3输出的数据,使用2×2尺寸、步长为2的池化窗口进行最大池化操作。
(8)全连接层FC 1
将Pool 3层输出的所有特征矩阵转换为一维向量,输入至第一个全连接层,本层的神经元个数为450个,其后使用Relu激活函数观察高级特征并进行分类。
(9)全连接层FC 2
将上一层的输出进行全连接,本层神经元个数为进行分类识别的树种数量“5”,在FC 2后使用softmax分类器输出不同迭代次数的分类识别率。
2.3 训练结果
实验基于Windows 10 (1903)操作系统,Intel(R) Core(TM) i7-8700 CPU @ 3.20 GHz 处理器,16 G运行内存,在Jupyter编辑器中,使用python语言,引入MXNet库进行深度学习训练。
在本实验的样本库内,水曲柳、家榆、白桦、红皮云杉和蒙古栎图像共5 000张,选取4 000张图像用作训练集,500张图像用作验证集,500张图像用作测试集。即,训练集、验证集和测试集的比例为8∶1∶1。实验采用随机梯度下降的方法优化网络中的学习参数,学习率为0.000 1,Batch norm归一化参数为50,经过977 min 52 s ,80个Batch的训练,完成了20次的迭代任务,训练集的准确率为98%,如图6所示,此时测试集图像的识别率为95.8%。
图6训练结果
Fig.6 Training results
李可心等[7]提出的应用灰度共生矩阵与SOM神经网络结合,得到由角二阶矩、熵、方差、相关性、熵和聚类阴影构成的一组参数集的传统识别方法,对黄檗、水曲柳和胡桃楸3种林木树皮纹理图像识别正确率为83.88%。本文提出的基于调整和优化的Lenet 5卷积神经网络模型结构,对水曲柳、家榆和白桦等5种典型东北林木的RGB树皮纹理图像自动提取特征的方法,识别准确率明显高于传统的图像分类系统。并且本方法能够自动提取图像的高层特征,从而无需依赖手动提取特征。
3 结论
本文对水曲柳、家榆等具有不同纹理特征的树皮图像,提出基于数字图像处理技术和卷积神经网络模型的树种识别方法。与传统的人工识别方法以及需要特征提取的神经网络模型相比,本方法可达到更高的识别效率,并得到以下结论。
(1)应用数字图像处理技术,经ROI截取操作后,树皮纹理图像目标区域更加明确。直方图均衡化处理后,其动态范围得以拉伸,图像特征更清晰,有利于图像的分析和识别。
(2)针对树皮纹理的特征,选用基于Lenet 5结构优化后的网络模型及参数,通过深度卷积可自动识别其高级特征,经softmax分类器输出不同树种分类结果,实验精度可达到95.8%,可为林木资源管理提供更有效的管理策略。