基于卷积神经网络的草莓叶部白粉病病害识别
2018-07-06杨晋丹沈秋采彭宇飞梅珀彰党雨晴
杨晋丹, 杨 涛, 苗 腾, 朱 超, 沈秋采, 彭宇飞, 梅珀彰, 党雨晴
(沈阳农业大学信息与电气工程学院,辽宁 沈阳 110161)
草莓白粉病是草莓栽培期间的主要病害之一,在整个生长期间均可发生,严重时可导致绝产[1]。使用人工方法识别草莓叶部白粉病已不能满足草莓工厂化栽培的需求。因此,对草莓叶部白粉病的自动识别,是实现草莓工厂化栽培,保证草莓种植者收益的基础,对草莓生产具有十分重要的意义。基于图像的植物病害自动识别主要基于传统图像处理技术与卷积神经网络(Convolutional neural network, CNN)技术。
基于传统图像处理技术的植物病害识别主要针对植物叶部病害,常见植物病害的研究对象有玉米、黄瓜、水稻、小麦、棉花和草莓等。针对玉米常见的叶部病害,赵玉霞等[2]、王娜等[3]、张善文等[4]、朱景福等[5]分别利用粗糙集理论、遗传算法、局部判别映射(LDP)和局部线性嵌入(LLE)算法对提取的病害特征进行约简,正确识别率依次为83.0%、90.0%、94.4%和99.5%。针对黄瓜常见的叶部病害,谢泽奇等[6]、吴娜等[7]分别利用融合多特征图切割法和最大类间方差阈值法实现了病斑的分割,对黄瓜病害的识别率分别为98.19%、94.26%。针对水稻常见的叶部病害,刘立波等[8]、管泽鑫等[9]利用灰度共生矩阵和逐步判别分析法进行特征提取,再通过BP神经网络和贝叶斯判别法进行分类识别,正确识别率分别为95.0%和97.2%。针对小麦常见的叶部病害,张飞云等[10]利用K-means硬聚类算法实现了彩色图像的分割,最后运用向量化神经网络分类识别,正确识别率可达95.0%以上。针对棉花常见的叶部病害,Patil等[11]利用全局阈值和自适应阈值对图像进行分割,同时结合支持向量机对提取的特征进行分类识别。针对草莓蛇眼病害,牛冲[12]利用改进的分水岭图像分割算法进行图像分割,并通过支持向量机对提取的纹理特征进行分类识别,识别精度可达92.0%。以上基于传统图像处理技术的病害识别方法研究取得了一定的成果,但这些方法分割图像的操作太繁琐,鲁棒性差,特征提取方法不具有普适性,进而使得整体方法泛化能力较差。
目前,卷积神经网络技术在图像分类[13-15]和目标识别领域[16-18]取得巨大进步,使得其在植物病害的识别上也得到了较广泛的应用。李艳[19]提出了基于Fisher准则的深度卷积神经网络算法,实现了对马铃薯4种病害的识别,识别精度为87.04%。刘阗宇等[20]提出了一种基于卷积神经网络的葡萄叶片检测算法,该算法在复杂背景下对葡萄叶片的检测率为87.2%。Srdjan等[21]利用卷积神经网络实现了13种植物病害的识别,该模型还具有分辨植物叶片与其周围环境的能力,最终模型的正确识别率为96.3%。Mohanty等[22]分别使用AlexNet和GoogLeNet模型训练,对PlantVillage中14种植物、26种病害以及部分健康植物的图像进行分类识别,识别精度分别可达到97.82%和99.35%。以上基于卷积神经网络的植物病害识别方法具有无需对图像进行分割,识别种类较多,泛化能力较强等优点,比基于传统图像处理技术的植物病害识别方法具有明显的优势。因此,本研究提出一种基于卷积神经网络的草莓叶部白粉病病害的识别方法,以实现对前期与后期2个阶段病害的自动识别,为工厂化草莓栽培中白粉病病害识别与防治提供科学方法和依据。
1 材料与方法
1.1 材料
草莓叶片图像采集自某草莓种植基地,使用移动手持设备在正常光照下采集。图像采集时将黑纸板直接垫于叶片之下,不采摘叶片。草莓叶部白粉病病害在发病前期叶片正面特征不明显,叶片背面特征相对明显,因此采集图像时,既需要采集叶片正面图像,也需要采集叶片背部图像。白粉病晚期叶片叶缘卷起并伴有暗色污斑,特征较为明显,故只采集叶片正面图像。草莓叶片图像数据库共包括5类叶片图像,分别为健康叶片正面、健康叶片背面、白粉病早期叶片正面、白粉病早期叶片背面和白粉病晚期叶片正面(图1)。
图1 草莓叶片图像数据库部分图像Fig.1 Example of the strawberry leaf image database
利用Anaconda3将图像处理为特定的大小(本研究中采用的图像大小均为 128×128),并对其作标签,记为“n_m”。其中n代表图像所属的类别(1代表健康叶片正面;2代表健康叶片背面;3代表白粉病早期叶片正面;4代表白粉病早期叶片背面;5代表白粉病晚期叶片正面),m为图像的编号,例如0_000101代表该图像为健康叶片正面的第101幅。
1.2 方法
1.2.1 不同网络深度与卷积核尺寸的CNN模型 卷积神经网络结构主要由3部分组成:输入层、隐层和输出层。隐层包含卷积层和采样层,卷积层用于提取特征,采样层用于特征优化选取。本研究从网络深度设计、卷积核尺寸选择以及采样层池化方法选择入手,设计卷积神经网络模型,以实现对草莓叶部白粉病病害的识别。
试验使用的计算机CPU为Intel Core i7-7700k,内存为32 G,操作系统为 Windows 10,采用的框架为Tensorflow。在Tensorflow上搭建卷积神经网络模型,部分参数设置:学习率0.005、冲量0.9、权值衰减0.000 5、批处理大小64。
采用正确识别率P作为结果的评价标准,计算公式如下:
(1)
重复使用较小的卷积核可以减少参数训练的数量[23],增加卷积层和池化层层数可以加强对特征值的提取[24]。因此,本研究设计了3种卷积神经网络深度、3类卷积核尺寸的9个卷积神经网络模型用于草莓叶部白粉病病害的识别(表1)。
表1 不同结构的卷积神经网络(CNN)模型
1.2.2 基于CNN的不同采样层构建方法选择 采样层是对特征的第二次提取,它可以大大降低图像的维度和分辨率,同时可以避免出现过拟合等问题。构建采样层的方法有均值池化(Average pooling)、最大值池化(Max pooling)、中间值池化(Median pooling)等。为了充分利用均值池化与最大值池化的优势以及卷积神经网络自身学习的特性,Lee等[25]提出了混合池化(Mixed max-average pooling)。
(2)
最大值池化:gmax(x)=ximax
(3)
(4)
混合池化:gmix(x)=al·gmax(x)+(1-al)·gavg(x)
(5)
式(5)中al∈[0,1],是均值池化与最大值池化混合的比例,下标l是采样层所在层数,混合池化在每层采样层的混合比例都不相同。混合比例al可通过反向传播算法由输出损失函数E自动学习获得:
(6)
(7)
(8)
(9)
根据以上池化方法,本研究基于均值池化、最大值池化、中间值池化与混合池化设计了4种卷积神经网络模型,并通过试验选择一种较优的池化方法。
2 结果与分析
2.1 网络深度与卷积核尺寸对模型识别率的影响
试验中9个卷积神经网络模型卷积层均采用padding补0方式,使图像经过卷积层时长宽不变,只是深度加深;采样层构建方法选择最常用的最大值池化。草莓叶片图像数据库结构为健康叶片正面201幅,健康叶片背面201幅,白粉病早期叶片正面637幅,白粉病早期叶片背面637幅,白粉病晚期叶片891幅,简记为 201∶201∶637∶637∶891。
在9种卷积神经网络模型的识别率随迭代次数的变化曲线(图2)中,前6种模型初始识别率较低,在前10次迭代时识别率增长较快,之后渐趋平稳;后3种模型初始识别率较高,在前5次迭代时识别率增长较快,之后渐趋平稳。CNN-1、CNN-2与CNN-3的网络深度最低,识别率曲线在最下方;CNN-4、CNN-5与CNN-6的网络深度居中,识别率曲线居中;CNN-7、CNN-8与CNN-9的网络深度最高,识别率曲线在最上方。同时,在曲线相对平稳后,CNN-9的识别率曲线在CNN-7和CNN-8的识别率曲线上方,CNN-6的识别率曲线在CNN-5和CNN-4的识别率曲线上方,CNN-3和CNN-1的识别率曲线在CNN-2的识别率曲线上方。
CNN-1、CNN-2、CNN-3、CNN-4、CNN-5、CNN-6、CNN-7、CNN-8、CNN-9见表1。图2 不同结构卷积神经网络(CNN)模型的识别率随迭代次数的变化Fig.2 Variation of the recognition rate of CNN with different structures with the number of iterations
据此,我们可以得到如下结论:(1)随着迭代次数以及网络深度的增加,卷积神经网络的正确识别率也在逐步提高;(2)同一深度的网络,随着训练次数的增加,卷积核为5×5,3×3的网络模型识别率较高,其次为卷积核为5×5的网络模型,卷积核为3×3的网络模型识别率则不及前两者;(3)网络深度越深,混合卷积核(5×5,3×3)的网络模型优势越明显。经过5次卷积操作,卷积核为5×5,3×3的模型CNN-9表现最好,识别率为93.16%。
2.2 采样层构建方法对识别效果的影响
为避免草莓样本数据结构不均衡(特征较明显的白粉病晚期叶片所占比例较大)对试验结果的影响,对健康草莓叶片的图像库进行了扩充。将草莓叶片图像库结构调整为 881∶881∶655∶655∶896,用于测试的图像库结构为 176∶176∶131∶131∶179。
由表2可知,最大值池化与均值池化模型的识别效果相近,中间值池化与混合池化的识别效果相近,其中尤以中间值池化的识别效果最佳,为98.36%。考虑到实际应用中无需对健康(或白粉病前期)叶片的正、背面做识别,因此将此类错误识别剔除。
表2 不同池化方法对草莓叶部白粉病病害的识别
4种采样层构建方法建立的模型对健康、白粉病早期和白粉病晚期3类草莓叶片的识别效果不相同(表3)。其中,中间值池化与混合池化的总体识别率较高,分别为98.36%、98.61%。对于健康草莓叶片,均值池化与混合池化的识别效果较好,分别为99.15%、99.43%;对于草莓白粉病早期叶片,中间值池化与混合池化的识别效果较好,分别为98.85%、96.56%;对于草莓白粉病晚期叶片,混合池化的识别效果最好,可达到100.00%。
权衡对各类叶片的识别情况,最终选择的采样层构建方法为混合池化。最终选择的卷积神经网络模型为基于混合池化、经过5次卷积操作且卷积核为5×5,3×3的CNN-9模型,该模型可较好地识别草莓叶部白粉病病害。
表3 不同池化方法对草莓叶部白粉病病害的识别率
2.3 训练集与测试集比例对模型识别率的影响
为确定训练集与测试集的合适比例,分别以 1∶9、2∶8、3∶7、4∶6、5∶5、6∶4、7∶3、8∶2、9∶1的训练集与测试集比例进行试验。草莓叶片图像库为扩充后的图像库,用于测试的草莓叶片图像库结构见表4。
表4 不同训练集与测试集比例对模型识别率的影响
从卷积神经网络对草莓叶部白粉病的识别试验结果(表4)中可得到以下结论:随着训练集比重的增大,卷积神经网络模型的正确识别率呈现升高的趋势,尤以8∶2时的识别效果最佳。
3 讨 论
本研究通过变换卷积核尺寸,加深网络深度以及测试不同采样层构建方法,进一步优化卷积神经网络模型,实现了对草莓叶部白粉病病害的较好识别。试验结果表明,在训练集与测试集比例为8∶2的条件下,选取基于混合池化的CNN-9模型,对草莓健康叶片、白粉病早期叶片和白粉病晚期叶片的正确识别率分为99.43%、96.56%和100.00%,总体正确识别率为98.61%。
由于混合池化额外参数的训练问题,基于混合池化的卷积神经网络在训练过程中,网络收敛速度慢于采用其他采样层构建方法的卷积神经网络。在卷积核尺寸相同、网络深度一致的前提下,基于混合池化的卷积神经网络模型训练时间大约是其他3种池化方法的2~3倍。除此之外,网络深度也是影响卷积神经网络训练时间的主要因素。因此在实际应用中,如何适当地选择采样层构建方法和网络深度等是以后我们需要研究的问题之一。
参考文献:
[1] 国亚文,娄文生,王晓宇. 草莓白粉病发生特点及防治技术[J]. 农业与技术,2005(1):127-132.
[2] 赵玉霞,王克如,白中英,等. 贝叶斯方法在玉米叶部病害图像识别中的应用[J]. 计算机工程与应用,2007(5):193-195.
[3] 王 娜,王克如,谢瑞芝,等. 基于Fisher判别分析的玉米叶部病害图像识别[J]. 中国农业科学,2009,42(11):3836-3842.
[4] 张善文,张传雷. 基于局部判别映射算法的玉米病害识别方法[J]. 农业工程学报,2014,30(11):167-172.
[5] 朱景福,李 雪. 玉米叶片病害彩色图像识别的降维和聚类方法[J]. 江苏农业科学,2016,44(7):350-354.
[6] 谢泽奇,张会敏,张善文,等. 基于颜色特征和属性约简的黄瓜病害识别方法[J]. 江苏农业学报,2015,31(3):526-530.
[7] 吴 娜,李 淼,陈 晟,等. 基于融合多特征图切割的作物病害图像自动分割[J]. 农业工程学报,2014,30(17):212-219.
[8] 刘立波,周国民. 基于多层感知神经网络的水稻叶瘟病识别方法[J]. 农业工程学报,2009,25(S2):213-217.
[9] 管泽鑫,唐 健,杨保军,等. 基于图像的水稻病害识别方法研究[J]. 中国水稻科学,2010,24(5):497-502.
[10] 张飞云. 基于提升小波和学习向量量化神经网络的小麦病害图像识别[J]. 江苏农业科学,2013,41(5):103-106.
[11] PATIL S P, ZAMBRE M R S. Classification of cotton leaf spot disease using support vector, machine[J]. International Journal of Engineering Research & Applications, 2014, 4(5):92-77.
[12] 牛 冲. 基于图像处理的草莓病害识别方法研究[D].太原:太原理工大学,2016.
[13] HAMED H A, ELNAZ J H, DOMENEC P. A practical approach for detection and classification of traffic signs using convolutional neural networks[J]. Robotics and Autonomous Systems,2016,84:97-112.
[14] YU S, JIA S, XU C. Convolutional neural networks for hyperspectral image classification[J]. Neurocomputing, 2017, 219: 88-98.
[15] BAI X, SHI B, ZHANG C, et al. Text/non-text image classification in the wild with convolutional neural networks[J]. Pattern Recognition, 2017, 66: 437-446.
[16] SUN J, XIAO Z, XIE Y. Automatic multi-fault recognition in TFDS based on convolutional neural network[J]. Neurocomputing, 2017, 222: 127-136.
[17] 周云成,许童羽,郑 伟,等.基于深度卷积神经网络的番茄主要器官分类识别方法[J].农业工程学报,2017,33(15):219-226.
[18] 王 璨,武新慧,李志伟.基于卷积神经网络提取多尺度分层特征识别玉米杂草[J].农业工程学报,2018,34(5):144-151.
[19] 李 艳. 基于改进CNN的马铃薯病害识别算法[J]. 信息通信,2017(6):46-48.
[20] 刘阗宇,冯 全. 基于卷积神经网络的葡萄叶片检测[J]. 西北大学学报(自然科学版), 2017, 47 (4):505-512.
[21] 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.
[22] MOHANTY S P, HUGHES D P, SALATHÉ M. Using deep learning for image-based plant disease detection[J]. Frontiers in Plant Science, 2016,7:1-10.
[23] 王 振,高茂庭. 基于卷积神经网络的图像识别算法设计与实现[J]. 现代计算机(专业版), 2015(20):61-66.
[24] 常 祥,杨 明. 基于改进的卷积神经网络的图像分类性能[J]. 重庆理工大学学报(自然科学),2017,31(3):110-115.
[25] LEE C Y, GALLAGHER P, TU Z. Generalizing pooling functions in CNNs: mixed, gated, and tree[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2018, 40(4): 863-875.