卷积神经网络在黄瓜叶部病害识别中的应用

2018-03-07 06:34张善文谢泽奇张晴晴
江苏农业学报 2018年1期
关键词:病斑黄瓜卷积

张善文, 谢泽奇, 张晴晴

(郑州大学西亚斯国际学院,河南 郑州 451150)

黄瓜是一种广受欢迎的蔬菜,但黄瓜炭疽病、白粉病、霜霉病等多种病害严重影响了黄瓜的产量和质量。很多黄瓜病害的症状出现在叶片上,病害叶片的颜色、纹理和形状异常,而且不同类型的病害叶片具有不同的颜色、纹理和形状特征[1-2]。因此,根据黄瓜病害叶片特征能够识别病害类型。基于病害叶片图像的黄瓜病害识别方法研究一直是生态学、模式识别和图像处理等领域的一个重要研究课题[3-5]。Dong等[6]通过提取病斑图像的颜色和形状特征以及灰度共生矩阵纹理特征进行黄瓜霜霉病、白粉病和炭疽病病害类型识别。冀晓丽[7]总结了国内外相关研究现状,提出了一种黄瓜叶部白粉病斑分割方法,并利用病斑正负样本区别白粉病斑和其他病斑的特征,研究了基于支持向量机(Support vector machine,SVM)的黄瓜病害类型识别方法。张芳等[8]提出了一种基于超像素和形状特征的复杂背景下的黄瓜病害叶片图像分割算法,并利用支持向量机进行黄瓜叶部病害识别。Zhou等[9]提出了一种基于机器视觉系统和SVM的黄瓜霜霉病分类系统,该系统包括图像采集、图像预处理、特征参数提取、模式识别等方面。Wei等[10]利用计算机图像处理技术对黄瓜病害图像进行预处理和特征提取,从统计、形状和颜色3个方面提取黄瓜霜霉病的15个特征参数进行病害识别,取得了较高的识别率。

现有的黄瓜病害识别方法大多是从病害叶片图像中提取特征,然后利用不同分类器进行病害识别。虽然可以从1幅病害叶片图像中提取100多种特征,但由于病害叶片图像的复杂多样性,很难选择出对病害类型识别贡献较大的有用特征。所以,黄瓜病害识别仍然是一个研究热点。由于病害叶片及其分割出的病斑图像千变万化,而且实际病害叶片图像的背景比较复杂,因此随着图像数据的快速增长,人工设计的特征越来越难以满足实际黄瓜病害识别的需求。

近年来,基于深度学习的特征提取与识别方法受到了极大关注,并在自然图像分类识别中得到了成功应用。大量试验结果表明,基于深度学习得到的特征表达比手工设计的底层视觉特征(如HOG特征、SIFT特征等)在图像识别方面具有更大的优越性。深度学习的实质是通过构建具有很多隐层的网络和海量训练数据,自动学习更有用的特征,从而最终提升图像的识别率[11-12]。卷积神经网络(Convolutional neural network, CNN)作为一种简单有效的深度学习方法,在图像识别方面得到了广泛应用。由于CNN特征提取层通过大量训练数据进行特征提取,而不是提取人工设计的特征,CNN避免了人为的特征提取过程,而是自动地从训练数据中学习特征,并且同一特征映射面上的神经元权值共享,网络并行学习可以采用多个GPU训练网络,极大地提高了网络的训练速度。目前,CNN已被成功应用于植物物种识别中[13]。Jeon等[13]提出了一种基于深度学习的植物病害检测方法,通过训练深度学习模式,检测14种作物的26种病害。Srdjan等[14]提出了一种基于深度神经网络的植物病害识别方法,该方法能够有效区分健康叶片和13种不同的病害叶片。Jihen等[15]提出了一种基于深度学习的香蕉病害分类方法,并取得了较高的识别率。本研究拟构建一种深度CNN(Deep convolutional neural network,DCNN)模型,直接从归一化后的彩色病害叶片图像中提取高层次的抽象特征,并在输出层进行病害识别,以建立一种基于CNN的黄瓜病害识别方法。

1 材料与方法

1.1 材料

在陕西省杨凌农业高新技术产业示范园拍摄黄瓜病害叶片图像,构建数据库。数据库包含赤霉病、白粉病、霜霉病、炭疽病、斑点病和细菌性角斑病等6种黄瓜常见的病害叶片图像共1 200幅,每种病害200幅。每幅病害叶片图像由分辨率 1 200×1 600的佳能A640数码相机拍摄。拍摄图像时,相机设置为手动调节焦距和光圈,自动白平衡,关闭闪光灯。从病害症状能被看见开始,每天上午8∶00到下午18∶00每隔2 h拍摄1次,包含不同光照度和不同角度的各100幅叶片图像。然后采用Matlab 7.0软件将每幅图像的分辨率压缩为256×256,最后以JPEG格式导入计算机,构建黄瓜叶部病害图像数据库。部分图像如图1所示。

图1 6种黄瓜病害叶片图像Fig.1 Six kinds of cucumber diseased leaf images

利用CNN对病害叶片图像进行特征提取和类型识别的一个最大优点是不需要对原始彩色病害叶片图像进行一些复杂的底层图像预处理、病斑分割和特征提取等操作,可以把原始彩色图像直接输入CNN模型。但由于计算机计算能力有限,一般还不能达到完全依赖增加训练数据来训练深度CNN模型的程度,而是要对训练数据增加一些预处理和先验知识以减少训练过程中的计算量。由于拍摄的病害叶片图像存在噪声、失真、干扰和背景等,首先需要对病斑叶片图像进行降噪、增强和归一化等预处理[4,7],然后从预处理后的图像中随机选取出多幅病斑的图像块,并将这些病斑图像块进行左右翻转,得到的图像块都作为训练数据的一部分,由此可以减少过拟合。

由于采集的病害叶片图像大小不一,而且图像的灰度值范围也不相同,容易导致网络收敛慢、训练时间长,而且图像灰度值范围大的输入在模式分类中的作用可能会偏大,而范围小的输入在模式分类中的作用可能会偏小。所以还需要对图像归一化处理使灰度值范围为[0,1]。

病害类型识别的依据主要是病害叶片图像中的彩色病斑。为了减少复杂背景对识别率的影响,先从训练集每幅分辨率为 256×256的病害叶片图像中的不同位置随机选取几个分辨率比原来小的图像块,根据实际拍摄的病害叶片图像特点,选择的图像块为 227×227。然后利用Matlab 7.0中的reshape()函数将每幅彩色图像归一化为 148×148×3。最后采用10-折交叉验证法将预处理后的图像集划分为训练集和测试集,即将每种病害的所有叶片图像随机划分为10等份,1等份作为测试集,其余的作为训练集。训练集用于训练CNN模型,测试集用于在训练好的模型中测试病害识别方法的性能。模型的评价指标为对测试集中的所有病害图像的病害识别率大小。在模型训练和测试时,为了降低图像数据之间的相似性,将输入图像数据减去训练集中所有图像的均值,从而可以提高训练速度。为了得到更多的训练集,将训练集中每幅图像间隔5°进行旋转1周,并对每次旋转5°得到的每幅图像进行水平翻转,将每幅图像扩展为144幅图像,再将训练集中所有扩展的图像组成训练集。由此模拟基于物联网监控视频的多种自然环境条件,则训练集共得到6种病害的病害图像6×180×144=155 520幅。在测试过程中,取测试图像左上、右上、中间、左下以及右下5个图像块,并作水平翻转,对得到的10个图像上的预测结果取均值,作为测试图像的预测结果。经过10次重复试验后,每一等份都用作一次测试集,可以得到10个病害识别结果,再将其平均值作为一次10-折交叉验证试验的识别率。

1.2 方法

在LeNet卷积神经网络的架构基础上,设计一个包含11个隐层的深度CNN模型,该模型由5个卷积层、3个池化层、2个全连接层和1个Softmax分类器回归层组成,并将该深度CNN应用于黄瓜彩色病害叶片图像分类中。

卷积神经网络(CNN)法利用卷积进行局部连接和权值共享,利用降维采样降低网络的复杂性和过拟合,通过增加层数提取更具有鉴别力的分类特征,最后将经过全连接层后的特征输入Softmax分类器得到测试图像各个类别的概率,由此进行图像分类识别。CNN结构由一个输入层、多个卷积层、多个池化层、一个或多个全连接层和一个输出层组成。输入层是将一幅或多幅M×M×C的图像输入到第一个卷积层,其中M为图像的高度和宽度,C为网络的通道数。若输入图像为灰度图像,则C=1;若输入图像为RGB图像,则C=3。

(1)

每一个卷积层输出的特征图给一个额外的偏置,但对于一个特定的输出特征图,卷积每个输入特征图的滤波器(卷积核)不同。也就是说,若输入特征图和输出特征的特征图都是从输入特征图中卷积求和得到,那么对应的卷积核不一定相同。

不同的激活函数对应不同的神经元。为了简单起见,一般选取线性阈值函数,其输出为:

(2)

式(2)中,n表示输入神经元的个数。这是一种强制输出为0的方法,训练后的网络具备一定的稀疏性,从而减少数据冗余,使提取的特征更具表达能力。这种神经元也是现在深度神经网络中经常用到的神经元。

池化层,又叫采样层或特征映射层。池化操作是对卷积层输出的特征图不同位置特征进行二次采样,可以通过不同的采样方式对卷积层的输出特征图进行更低分辨率的统计表示。对于池化层来说,如果有N个输入特征图,就有N个输出特征图,只是每个输出特征图都变小。池化结果是对卷积层的输出经过下采样加偏置再经过激活函数得到:

(3)

其中,l表示层数,down为降维采样操作,w为池化权值,bs为附加偏置。

全连接层常出现在最后几层,用于对前面设计的特征做加权和。全连接层将学到的特征表示映射到样本标记空间,可以把高维变到低维,同时把有用的信息保留下来。全连接层可由卷积操作实现。该层输出层的神经元和输入层的每个神经元都连接,将学到的“分布式特征表示”映射到样本标记空间,在整个卷积神经网络中起到“分类器”的作用。在网络模型的输出层一般采用Softmax函数作为分类器,输出不同预测结果的概率分布。假设图像训练集中有C类N幅图像,经过卷积、下采样以及全连接操作后,得到的第i幅图像的特征向量和对应的类别标签记为(x(i),r(i))(i=1,2,...,N),其中r∈{1,2,...,C}。经过前向传播后,即在数据传到输出层后,对于单个训练数据,Softmax分类器的输出为:

(4)

式(4)中,wi为全连接层中多个神经元与Softmax分类器的i个输出神经元相连接的权重。

利用Softmax分类器的CNN的损失函数为

(5)

式(5)中,t为由模型的激励函数f(x)=max(0,x)输出的一个的C×1矩阵,tlable为训练样本标签,是一个C×1的二值矩阵。

CNN模型训练的优劣主要由损失函数确定,训练与测试的损失值越低,则模型训练得越好。CNN利用学习率更新网络权重、优化网络。该参数在确定网络收敛和泛化能力方面起着重要作用。学习率过小可能导致收敛缓慢,相反导致发散。在训练网络前,利用一些不同的小随机数初始化网络所有的权。其中,“小随机数”保证网络不会因权值过大而进入饱和状态进而导致训练失败,“不同”是保证网络能够正常地学习特征。实际上,若利用相同的初始化网络的权矩阵,则网络无学习能力。

本研究采用彩色图像的三通道RGB空间分量微调CNN模型。具体操作为:在训练好的CNN模型上,再利用训练集对该模型进行再训练,通过观察测试集上的分类精度,判断训练效果。在深度CNN中,层数越高,提取分类特征的泛化能力就越差。因此,在微调CNN模型时,需要将输出层的学习率设置得比其他层稍大,使得训练速度更快,使模型能够收敛。

由于黄瓜病害叶片图像的复杂多样性,本研究构建了一个具有11个隐层的深度CNN模型。其结构如图2所示。

图2 中标出了CNN的参数变化和特征图的维数变化,其中S为步长,P为0元素填充,C为病害类别数。在卷积层使用较小的滤波器,如3×3或5×5,并在卷积时使用步长S对隐层的输入进行每次移动1个步长,从输入图像或特征图的左上角开始,上下左右移动,再使用0元素对原来的输入进行边界处理。设置了2层全连接,其中第1个全连接层由卷积核为6×6的全局卷积实现,第2个全连接层由卷积核为1×1的卷积实现。

图2 基于深度CNN的黄瓜病害识别模型Fig.2 The model of cucumber disease recognition based on deep convolutional neural network

2 结果与分析

在基于深度CNN的黄瓜病害识别试验中,模型的主要参数设置为:对于彩色病害叶片图像,初始学习率是1×10-4,当迭代参数为2 000次后减少为1×10-5,权重衰减系数为0.000 5。其他参数设置在图2中标示。由于CNN模型中参数较多,试验所用计算机显卡的内存不够用,这部分试验是在CPU上运行的。计算机的配置是intel i5处理器,16 GB内存,GTX7502GB显卡,训练时间约为50 h。卷积层的每幅特征图表示的是图像的一种特征,层数越高,特征越抽象,加上全连接层的目的是将底层各特征图的特征结合到一起,然后采用Softmax分类器进行病害类型识别,输出测试集中每幅病害叶片图像属于6种不同类别病害的概率,选择其中最大的概率对应的类别作为该病害叶片所属的病害类别。在试验过程中,在彩色病害叶片图像上微调2 000次后得到模型最优参数。当尝试更多次迭代时,网络在测试集上的分类率可能不会继续上升,反而可能下降,最后维持在一个比较小的值。在理论上,在测试集上的识别率达到一个比较高值后是不会再下降,可能原因是学习率微调得稍大了。若将学习率再调小,模型的收敛速度可能较慢;若RGB彩色病害叶片图像库不够大,则不能使模型收敛。在训练好的模型上,对测试集进行测试,得到病害类型识别结果。表1中为6种黄瓜病害的平均识别率、方差和识别时间。为了表明本方法的有效性,表1中还列出了其他4种传统的基于特征提取的黄瓜病害识别方法的平均识别结果。这4种方法分别基于病斑形状和神经网络法(LSNN)[2]、基于颜色特征和属性约简法(CFAR)[3]、基于全局和局部奇异值分解法(GLSVD)[5]、基于叶片图像处理法(LIP)[10]。

表15种黄瓜病害识别方法的识别率以及训练和识别时间

Table1Therecognitionrates,trainingtimeandrecognizingtimebyfivecucumberdiseaserecognitionmethods

方法识别率(%)训练时间(h)识别时间(s)LSNN74.53±2.1515.0004.1CFAR72.43±1.730.0463.6GLSVD81.52±1.660.0273.8LIP72.26±2.230.0847.6DCNN90.32±1.4256.0002.7

LSNN:基于病斑形状和神经网络的病害识别方法;CFAR:基于颜色特征和属性约简的病害识别方法;GLSVD:基于全局和局部奇异值分解的病害识别方法;LIP:基于叶片图像处理的病害识别方法;DCNN:基于深度卷积神经网络的病害识别方法。

从表1可以看出,本研究提出的方法的识别率最高,尽管基于深度CNN的病害识别方法的训练时间很长,但识别时间较短。由于基于CNN的图像识别模型具有较好的鲁棒性和稳定性,所以只要训练好模型,就可以较快地进行病害类型识别。因此,本研究提出的方法能够应用于作物病害识别系统。

3 讨 论

针对黄瓜病害叶片图像的复杂多样性以及分类特征提取困难的问题,本研究提出一种基于深度CNN的黄瓜病害识别方法,通过深度学习的方式对病害叶片图像的病斑属性进行准确分类,利用Softmax分类器进行病害类型识别。本方法的创新点在于:①不需要对每幅病害叶片图像进行复杂的预处理以及病斑分割和手工设计的特征提取,能够直接从归一化后的彩色病害叶片图像中提取出高层次的抽象特征,并在输出层进行病害识别,从而极大提高了病害的识别效率;②能够对大田复杂环境中利用物联网和智能电子设备采集的黄瓜病害叶片图像进行病害类型识别,极大地扩展了该方法的应用范围。试验结果表明,相比于传统的基于特征提取的作物病害识别方法,本方法准确率更高、识别效果更好。但是深度学习需要海量数据库的支持,因此后续研究中将增加训练数据量,用更加复杂的深度网络结构来训练模型,进一步提高基于深度CNN的黄瓜病害识别方法的准确率。

[1] WEI Y, CHANG R, WANG Y, et al. A study of image processing on identifying cucumber disease[C]. Springer Berlin Heidelberg: Computer and Computing Technologies in Agriculture V, 2012:201-209.

[2] 贾建楠,吉海彦.基于病斑形状和神经网络的黄瓜病害识别[J].农业工程学报,2013,29(S1):115-121.

[3] 谢泽奇,张会敏,张善文,等.基于颜色特征和属性约简的黄瓜病害识别方法[J].江苏农业学报,2015,31(3):526-530.

[4] GUO P, LIU T H, LI N X. Design of automatic recognition of cucumber disease image[J]. Information Technology Journal, 2014,13(13): 2129-2136.

[5] ZHANG S, WANG Z. Cucumber disease recognition based on Global-Local Singular value decomposition[J]. Neurocomputing, 2016, 205:341-348.

[6] DONG P X, WANG X D. Recognition of greenhouse cucumber disease based on image processing technology [J]. Open Journal of Applied Sciences,2013, 3:27-31.

[7] 冀晓丽. 基于支持向量机的黄瓜叶部白粉病害检测[D]. 沈阳:东北大学, 2014.

[8] 张 芳,王 璐,付立思,等. 基于支持向量机的黄瓜叶部病害的识别研究[J]. 沈阳农业大学学报, 2014, 45(4):457-462.

[9] ZHOU B Y, XU J W, ZHAO J F. Research on cucumber downy mildew detection system based on SVM classification algorithm[C]. Changsha China: 3rd International Conference on Material, Mechanical and Manufacturing Engineering, 2015:1681-1684.

[10] WEI Y, CHANG R, WANG Y, et al. A study of image processing on identifying cucumber disease[C]. Beijing China: IFIP Advances in Information & Communication Technology, 2016:201-209.

[11] SCHMIDHUBER J. Deep learning in neural networks: An overview[J]. Neural Networks the Official Journal of the International Neural Network Society, 2014, 61:85-117.

[12] GOLOVKO V A. Deep learning: an overview and main paradigms[J]. Optical Memory & Neural Networks, 2017, 26(1):1-17.

[13] JEON W S, RHEE S Y. Plant leaf recognition using a convolution neural network[J]. International Journal of Fuzzy Logic & Intelligent Systems, 2017, 17(1):26-34.

[14] SRDJAN S, MARKO A, ANDRAS A, et al. Deep neural networks based recognition of plant diseases by leaf image classification[J]. Computational Intelligence and Neuroscience,2016,6:1-11.

[15] JIHEN A, BASSEM B, ALSAYED A. A deep learning-based approach for banana leaf diseases classification[C]. Gesellschaft für Informatik, Bonn:Lecture Notes in Informatics, 2017: 79-88.

猜你喜欢
病斑黄瓜卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
清新脆嫩的黄瓜
黄瓜留瓜要注意两点
我喜欢黄瓜
卷积神经网络的分析与设计
从滤波器理解卷积
改进自适应分水岭方法分割棉花叶部粘连病斑
一种桑轮纹病病叶发病程度的评价指数
9种药剂防治山核桃干腐病试验研究
基于傅里叶域卷积表示的目标跟踪算法