基于卷积神经网络和树叶纹理的树种识别研究
赵鹏超 戚大伟
摘要:
利用计算机图像工程技术和卷积神经网络将大量树叶图像叶脉信息提取并分类,主要研究单一背景下阔叶树叶脉纹理特征。本实验采用卷积神经网络在图像信息识别准确率高,无需人工定义树叶纹理特征减少繁琐的人工成本。将网络在Caffe平台上面进行定义,使用符合标准正态分布的一组随机参数初始化网络。对卷积神经网络使用BP神经网络反向传播算法和随机梯度下降算法训练。经过对于网络的训练最终识别率达到95%以上,超过了人眼的识别率,为树种识别研究提供有效的分类方法。卷积神经网络在树叶纹理中省去了人工定义树叶特征的工作。最终多次实验得到可观的识别效果,卷积神经网络适用于树叶图像的识别,其识别率基本达到可以应用的要求。
关键词:
卷积神经网络;树种识别;树叶纹理;图像工程;阔叶
中图分类号:S781.1;Q6-3文献标识码:A文章编号:1001-005X(2018)01-0056-04
Abstract:
This experiment uses the computer image engineering technology and convolution neural network to extract and classify the leaf image information.The major research direction of this study is the vein texture characteristics of broadleaved leaves in a single background.In this experiment,the convolution neural network is adopted.This algorithm has high accuracy in image information recognition,without manual definition of leaf texture features,which can reduce labor cost.The network is defined by Caffe platform and is initialized by a set of random parameters which conform to the standard normal distribution.The BP neural network back propagation algorithm and the random gradient are used to reduce the algorithm training for convolution neural networks.Through the training of the network,the final recognition rate is above 95%,which exceeds the recognition rate of the human eye.It provides an effective classification method for tree species identification research.The convolution neural network eliminates the work of manually defining the features of leaves,and the final recognition effect is basically up to the standard of applicable.
Keywords:
Convolution neural network;tree species identification;leaf texture;image engineering;broad leaf
0引言
世界上没有两片一样的树叶,而同一树种的树木存在很多相似的图像特征,例如树叶表皮纹理和叶片叶脉纹理[1-2]。其中叶脉的纹理特征对于区分树种具有重要的价值。植物学专家和《植物志》中的方法是定义人类可以用自然语言描述的叶脉纹理结构特征[3]。这种弊端在于实验前需要将叶片纹理结构分类,对于具体纹理结构只给出大概文字性描述。在遇到两种相似树叶时需要对比特征具体数据才能分辨。人工定义许多特征并非所有树种都具有。并且在识别图像过程中需要使用复杂的数学方法提取树叶叶脉[4-5]。卷积神经网络通过数据集训练可以使网络自己学习图像中纹理特征[6]。采用卷积神经网络省去了人工定义树叶纹理特征的步骤[7],以及神经网络对于非线性问题处理能力强的优点[8-9]。因此设计了使用卷积神经网络模型对于树叶图像识别。
1图像数据采集和处理
卷积神经网络需要大量样本进行训练[10]。实验采集了4种树叶,每种树叶采集90张,共计360张图像。采集于2017年7月在黑龙江省哈尔滨市东北林业大学校园内。使用佳能550D相机拍摄。网络训练选用有导师训练模型[11],因而以1比4的比例分为测试样本与训练样本后将文件名分类标注。由于单反相机拍摄照片尺寸较大,为了计算速度和计算机可承受数据量[12],使用opencv库在Linux操作系统中编写调整图像尺寸的应用程序将图像缩小为100×75像素(图1)。
2卷积神经网络设计及训练
2.1卷積神经网络
卷积神经网络(Convolutional Neural Networks,CNN)是基于人工神经网络带有卷积层的网络结构[13-14]。人工神经网络(Artificial neural network,ANN)源头是源自生物体神经网络结构,从活体猫的大脑皮层对于视觉信息反应研究得出。生物体对于视觉图像处理是分层处理机制,并且提出了感知野的概念。卷积神经网络是上世纪80年代由Fukushima提出基于数学卷积计算的一种新型识别机,形成卷积神经网络模拟生物神经元对于图像识别的结构[15]。使用卷积神经网络研究树叶纹理的优点是无需人工定义图像中信息的特征。在训练过程中网络会通过大量不同的卷积核与图像计算获得不同的特征图谱。
2.2网络设计
网络的层次共分为5层,其中包括2层卷积层、1层池化层和2层全链接层。网络层次顺序首先经过两层卷基层后加入一层池化层进行数据压缩,然后将数据送入两层全链接层。网络结尾的全链接层用来输出计算分类向量结果,该层节点数目为网络输入数据的类别数。由于采集了4种树叶这里设置为4个节点(图2)。
卷积层(Convolutional Layer)是通过卷积核在原图像中滑动生成一张特征图谱。每一个卷积核筛选出整幅图像中的一种特征值,扫描整幅图像进行卷积计算,图3是卷积层在训练过程中的操作。卷积层需要设定三个参量:
(1)卷积核尺寸为5×5像素。
(2)卷积核在图像中滑动的步长为1像素。
(3)图像边缘扩展区域像素值,填充像素点值为0。
池化层(Pooling layer)是对前一层网络输出的数据进行压缩,通常使用Max pooling和average pooling进行压缩。压缩的目的是减少网络中的数据量,进而减小过拟合。由于图像中相邻像素点之间幅度值产生突变的概率很低,所以选用Max pooling进行图像处理(图4)。
为了使网络训练收敛更加便捷,本实验并未采用sigmoid激活函数,而是采用了收敛速度快、求梯度简单的ReLU(The Rectified Linear Unit修正線性单元),计算公式如下:
2.3损失函数选取
最终网络的全链接层输出一个关于所有类别的概率向量(x1,x2,x3,x4)T。为了衡量网络计算的结果与实际类别的差异性。将实际类别对应的向量(向量中实际类别为1,其他类别为0)与计算得到的结果建立交叉熵模型,计算公式如下:
其中,a为网络计算得到的结果,y为实际类别。得到这个损失函数后便可以对其进行优化。为了计算速度和减小果拟合,本试验并没有将所有的训练样本拿来训练网络,只采用了其中一部分运用了随机梯度下降算法(Stochastic gradient descent)。
2.4网络参数设定
图像尺寸对于网络输入时的数据规模有直接的影响,上文中已经讲述将图像重新调整尺寸。图像的数量对于网络训练和识别率有影响,为防止网络规模过大数据量过小,产生过拟合现象。或者网络规模过小数据量过大影响识别率。所以参照了Caffe中的mnist数据规模和网络规模进行实验,并且多次试验选取了相对理想的卷积层和池化层规模,具体网络参数如下。
卷积层参数:
lr_mult:1lr_mult:2#学习率2
num_output:50# 50个输出的map
kernel_size:5#卷积核大小为5*5
stride:1#卷积步长为1
type:“xavier”
bias_filler#偏置值的初始化方式
type:“constant”#
池化层参数:
pool:MAX
kernel_size:2#池化区域的大小
stride:2#移动步长
2.5基于Caffe平台搭建网络
使用Caffe平台在Linux操作系统中搭建,训练卷积神经网络。Caffe是一个深度学习框架,包含了许多人工神经网络搭建和训练过程中的需要的功能[16]。Caffe平台的网络实现是使用纯文本模式定义模型和优化过程。提供了海量的数据和先进的模型。并使用了模块化思维,开放源代码使得许多经典模型可以参考和实现。linux操作系统采用的ubuntu14.04版本。
第一步:实验开始之前需要将测试集和训练集样本分别用caffe提供的工具包Blob分别生成以后缀名为.lmdb格式数据库文件,目的是减少计算机在读取文件时对于内存访问次数。
第二步:根据2.1中设计的网络结构编写网络文件并设定网络参数。网络共有5层(不包含输入层)层数较少无需使用python语言,使用protocol buffer 语言定义网络即可。
第三步:编写solver文件设定训练过程中具体参数。solver 文件中需要设定的参数包含:网络模型路径、最大迭代次数、学习率、使用CPU或GPU进行计算选项等其他一些参数。
第四步:训练网络模型,网络经过训练后的结构模型会被存放在.caffemodel文件中。训练过程中优化损失函数,使用反向传播算法,简称BP算法[17-19]。通过计算损失函数与网络中权值的偏导数,运用了高等数学中的链式求导法则,逐层反向求导。不断计算调整网络中各层权值得到网络损失最小值并输出。具体使用的公式为:
2.6训练结果
最终,在4核CPU和4G运行内存的虚拟机中使用CPU执行计算,在多次训练后,识别率平均在94%以上。以下是选取的识别率最高的一组结果。实验经过32min46s的训练,完成了10000次迭代任务,得到测试集图像识别率为98.25%(图5)。
3结论
卷积神经网络经过不同卷积核与图像进行计算产生对应特征图谱。相比于人工定义树叶叶脉纹理特征并提取更方便快捷。训练过程采用了有导师训练模型,并使用测试集图像进行准确率测试,因而产生的网络模型可靠性高。网络训练后的识别率达到了95%以上,超过了人眼识别率可以应用于工程使用。训练产生的网络模型提供了不同语言接口,可以方便的使用python和C++语言进行网络的调用。加入其它种类的树叶图像训练网络可以识别更多的树种,为基于树叶图像进行树种分类提供了可靠性强、识别率高、方便使用的网络模型。本实验不足之处在于实验使用的树叶树种较少。由于国内并未有针对于图像识别使用的树叶图像数据库,多次寻找关于树叶图像数据库无果,为此研究团队计划在接下来的工作中建立一套公开免费的北方树叶树种图像数据库,以便其他研究同仁使用。
【参考文献】
[1]李可心,戚大伟,牟洪波,等.基于灰度共生矩阵与SOM神经网络的树皮纹理特征识别[J].森林工程,2017,33(3):24-27.
[2]白雪冰,王克奇,王辉.基于灰度共生矩阵的木材纹理分类方法的研究[J].哈尔滨工业大学学报,2005,37(12):1667-1670.
[3]黄普华.编研《中国植物志》的回顾与体会[J].植物科学学报,2017,35(3):465-468.
[4]陈寅.植物叶形状与叶脉结构的自动分类研究[D].杭州:浙江理工大学,2013.
[5]姜兰池,沈国强,张國煊.基于HSV分块颜色直方图的图像检索算法[J].机电工程,2009,26(11):54-57.
[6]许振雷,杨瑞,王鑫春,等.基于卷积神经网络的树叶识别的算法的研究[J].电脑知识与技术,2016,12(10):194-196.
[7]卢宏涛,张秦川.深度卷积神经网络在计算机视觉中的应用研究综述[J].数据采集与处理,2016,31(1):1-17.
[8]刘欣.基于卷积神经网络的联机手写汉字识别系统[D].哈尔滨:哈尔滨工业大学,2015.
[9]汪济民.基于卷积神经网络的人脸检测和性别识别研究[D].南京:南京理工大学,2015.
[10]刘建伟,刘媛,罗雄麟.深度学习研究进展[J].计算机应用研究,2014,31(7):1921-1930.
[11]吴正文.卷积神经网络在图像分类中的应用研究[D].成都:电子科技大学,2015.
[12]陈雪娇.基于OpenCV的计算机视觉技术研究[J].电脑知识与技术:学术交流,2015,11(30):137-138.
[13]吕国豪,罗四维,黄雅平,等.基于卷积神经网络的正则化方法[J].计算机研究与发展,2014,51(9):1891-1900.
[14]吴裔慧.基于卷积神经网络的场景理解方法研究[D].北京:清华大学,2015.
[15]张晴晴,刘勇,潘接林,等.基于卷积神经网络的连续语音识别[J].北京科技大学学报,2015,37(9):1212-1217.
[16]魏正.基于Caffe平台深度学习的人脸识别研究与实现[D].西安:西安电子科技大学,2015.
[17]牟洪波,戚大伟.基于BP和RBF神经网络的木材缺陷检测研究[M].哈尔滨:哈尔滨出版社,2011.
[18]杨建华,姚建平,范磊,等.单板表面裂缝图像处理方法研究[J].林业机械与木工设备,2017,45(4):29-31.
[19]姚建平,肖江,闫磊,等.基于3D结构激光的木材表面缺陷检测的研究[J].林业机械与木工设备,2017,45(3):20-25.