袁银++王东斌++刘永金
摘要 传统植物图像识别研究主要集中在植物叶片图像。研究将深度神经网络学习运用于植物识别领域,突破局部叶片图像的限制,对常规植物图片进行识别。该方法运用googleNet的深度卷积神经网络结构,通过图像旋转、镜像、随机裁剪等数据预处理方法扩充训练集,再利用SGD(随机梯度下降法)进行模型算法优化,生成对50种常规植物图像的识别模型。结果表明,该模型在测试集上能够达到平均90%的准确率。
关键词 植物图像识别;深度学习;神经网络
中图分类号 TP391.41 文献标识码 A 文章编号 1007-5739(2017)23-0278-03
Abstract Traditional plant image recognition research is mainly focused on plant leaf images.The deep neural network was applied to the field of plant recognition,it breaks through the restriction of the local leaf image and identifies the conventional plant pictures.GoogleNet deep convolution neural network structure was used,the training set was extend by data preprocessing methods such as image rotation,mirror image,random clipping and so on,and then SGD(stochastic gradient descent method)was used to optimize the model algorithm to generate 50 kinds of common plant image recognition model.The results showed that the model could achieve an average accuracy of 90% on the test data set.
Key words plant image recognition;depth learning;neural network
植物是地球分布最廣泛的生命形式,与人类生活环境的关系最为密切。目前,植物物种的识别主要依靠有经验的专家和相关行业从业人员的专业知识和实践经验,工作量大且效率低。随着计算机的计算能力大幅提升,尤其是移动终端性能的提升和普及,人们获取、保存和处理植物图像的能力大幅度提升。研究如何通过植物图像快速识别植物种类具有非常重要的意义,既可以促进植物分类学科的发展,又可以普及植物知识,激发人们热爱植物、保护环境生态的热情[1-3]。
目前,业内对植物图像识别的研究主要集中在植物叶片图像的识别方法上。在国外,早在1993年,Guyer等[4]通过提取17种叶片形状特征对40类植物进行分类。在国内,杜吉祥等[5]研究了用Gabor小波对植物叶片图像进行多尺度纹理特征提取,再利用神经网络模型对特征向量进行分类识别的方法。张 宁[6]提出了一种基于克隆选择算法和K近邻判别分析的叶片识别方法。李 萍等[7]提出了一种基于改进稀疏表示的植物识别方法,利用最近邻准则实现稀疏表示,通过稀疏表示系数实现植物识别,而不需要进行特征提取。
随着构建深层网络结构进行多层次特征学习的人工智能方法在大规模图片分类(ImageNet)竞赛上取得突破性进展,其在各个方面都受到了极大的关注,在图像识别与语音识别领域也取得了很大的成功[8-10]。本文将深度学习应用在植物图像识别领域,使植物识别突破只能依靠局部叶片图像的限制,实现对常规植物图片的识别。
1 深度学习的概念及原理
神经网络的基本神经元的结构是wx+b的形式,如图1所示,其中x1,x2表示输入向量,w1,w2为权重,有几个输入则意味着有几个权重,即每个输入都被赋予一个权重,b为偏置bias,g(z)为激活函数,a为输出。最终得到的输出是g(z)=g(w1×x1+w2×x2+b),g是激活函数。
深度学习(deep learning)是深度神经网络学习方法的简称,传统的神经网络一般有一个隐藏层,神经元之间采取全连接的方式,而深度学习基于深层构建的结构,在神经网络的输入和输出中间有多层的神经元网络(图2)。
卷积神经网络(convolutional neural network)广泛应用在图像领域。图3为卷积神经网络中的一个卷积层,由卷积操作(convolution)、非线性响应操作(relu)以及池化操作(pooling)组成。
CONV为卷积计算层,线性乘积求和。由图4可知,左边是图像输入,中间部分就是滤波器filter(带着一组固定权重的神经元,也称卷积核),不同的滤波器filter会得到不同的输出数据,比如颜色深浅、轮廓。相当于如果想提取图像的不同特征,则用不同的滤波器filter,提取想要的关于图像的特定信息,如颜色深浅或轮廓。relu为激励层。relu是激活函数的一种。pooling为池化层。简言之,即取区域平均或最大,即最大化该卷积层得到的特征,如图5所示。
2 实验方法
2.1 算法流程
深度学习算法能够有效运行的一个关键就是基于大规模数据,因为深度学习网络有众多的参数,少量数据无法对网络参数进行充分训练。使用GoogleNet层的网络结构,把在ImageNet上训练好的网络参数用于植物识别网络的初始化参数,然后用标定的植物图像对网络权重使用反向传播的方法进行调整,直到训练完成(图6)。
2.2 数据获取
首先要确定数据收集范围。实验选择华南地区50种常见植物名单,要求照片采集人员采用主流的普通数码相机、常用各大品牌手机,使用正常的观赏距離、多角度进行拍摄,模拟普通人对植物花草的拍照场景。每种植物至少拍摄200张。
2.3 工具选择
基于前文深度学习的基础元素,采用caffe进行模型构建。caffe是C++开发的深度学习框架,计算效率高,包含python与matlab接口,能够在读取网络模型定义后实现自动求导、反向传播训练,而且可切换CPU或GPU计算。
2.4 数据预处理
2.4.1 数据扩充。为保证数据相对平衡并增加数据量,采用多种图像数据扩充方法,包括顺时针旋转、逆时针旋转、水平镜像翻转、垂直镜像翻转、随机剪裁(图7)。
2.4.2 制作均值文件。即求所有训练数据像素的平均值,训练时会对图片做减均值处理,这样的好处是把输入数据各个维度都中心化为0,避免数据过多偏差而影响训练效果。
2.4.3 划分训练集与测试集。将处理好的图片数据随机分为训练集与测试集,训练过程只在训练集中进行。在训练结束后,以测试集来估计准确率。
2.5 训练参数设置
在选择学习率、迭代次数这些模型外参数时,采用多折交叉验证法,将训练集再拆分为实际训练集与交叉验证集。通过观察各类参数的不同效果,经过多次尝试,利用交叉验证,最终确定了0.000 1初始学习率,20万次的迭代次数。初始学习率影响的是每一次反向传播时,对参数优化的调整幅度,需要根据特定任务确定合适的学习率,若幅度过大,则有可能矫枉过正,反而产生更差的结果;若幅度过小,则可能导致每次进步很小,优化到最优结果的迭代次数过大,耗时过长。
2.6 优化算法
传统的反向传播算法,每次计算所有图片的累计错误才能进行一次迭代。在大量数据的场景下,这样将导致消耗巨大的计算资源,耗时很长。因此,采用随机梯度下降的优化算法,将训练数据每次只取一小批,计算错误后即做反向传播优化,反复迭代处理。 该种方法虽然每次并不是最优方向,但在保证数据足够随机和迭代次数足够多的情况下,依然能保证得到足够好的结果,且计算消耗大幅减少,缩短训练时长。
2.7 结果与应用
经过一系列处理与训练,得到了训练好的神经网络模型与参数,利用测试集检验,最终得到平均90%的准确性。植物识别模型封装为可调用的程序模块,可实际应用到web服务和移动APP,通过云服务方式实现实时在线识别植物品种。
3 结语
本文提出的基于深度学习的植物图像识别方法,突破了基于植物局部特征识别的局限,摆脱了数据采集需要高度专业化的限制,降低了植物图像识别的门槛,在识别速度和准确性方面有了较大的突破。本方法需要的训练数据量较大,未来可探讨搜集互联网海量植物图片作为训练集,实现模型的快速迭代和优化。
4 参考文献
[1] KRIZHEVSKY,A,SUTSKEVER I,et al.Imagenet classification with deep convolutional neural networks[R].Advances in neural information proce-ssing systems,2012.
[2] PRASOON A,PETERSEN K,IGEL C,et al.Deep feature learning for knee cartilage segmentation using a triplanar convolutional neural network[J].Med Image Comput Comput Assist Interv,2013,16(2):246-53.
[3] SIMONYAN K,ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[R].arXiv technical report,2014.
[4] GUYER D E,MILES G E, GAULTNEY L D,et al.A pplication of machine to shape analysis in leaf and plant identification[J].Transactions of the Asae,1993,36(1):163-171.
[5] 杜吉祥,翟传敏.基于Gabor文理特征的植物图像识别方法[C]//第十四届全国图像图形学学术会议论文集.北京:中国图像图形学会,2008:246-250.
[6] 张宁.基于图像分析的植物叶片识别算法研究[D].北京:北京林业大学信息学院,2013.
[7] 李萍,张波,张善文.基于叶片图像处理和稀疏表示的植物识别方法[J].江苏农业科学,2016,44(9):364-367.
[8] 张宁,刘文萍.基于图像分析的植物叶片识别技术综述[J].计算机应用研究,2011(11):4001-4007.
[9] 苏玉梅.植物叶片图像分析方法的研究与实现[D].南京:南京理工大学,2007.
[10] 龚丁喜,曹长荣.基于卷积神经网络的植物叶片分类[J].计算机与现代化,2014(4):12-15.