基于卷积神经网络的农业病虫害识别方法研究

2023-06-15 05:34王乐石杨文彬胡云龙
新农业 2023年9期
关键词:池化卷积病害

王乐石,杨文彬,胡云龙,郑 屹

(中国矿业大学,江苏 徐州 221116)

1 传统农业病虫害识别的局限性

在传统农业中,人们通过累积下来的先验知识对病害进行识别,对一些外来病虫害无法做出相应的应对措施,从而不能早发现并根治。通过查阅资料最后做出判断时,已经错过了防治的最佳时间,对中晚期病害进行根治的代价十分巨大,导致经济效益降低。

对于面积较大的农田,对每个区域的农作物都进行人工监测是一项既耗时又耗力的工作。如果忽视了某一小块农田的病害,可能会导致周围作物患病,这导致的损失也是巨大的。

2 研究现状

Ishak等讨论了植物叶片质量分析的方法,过程从图像采集、图像处理和分类开始。利用8兆像素的智能手机摄像头进行图像采集,然后将图像样本分为健康和不健康各50张。图像处理方法由对比度增强、分割和特征提取3个部分组成。采用人工神经网络和多层前馈神经网络进行分类,并对多层感知器(MLP)和径向基函数(RBF)两种网络结构进行了比较。RBF网络性能优于MLP网络。该搜索将植物叶片图像分为健康和不健康两类,不能检测出病害类型。Sabrol et al.对番茄叶片的识别和分类方法进行了探讨。CIE XYZ颜色空间分析,颜色矩、直方图和颜色一致性。最佳分类准确率达87.2%。Rangarajan et al.提出了一种可行的解决方案,利用两个预先训练的网络(AlexNet和VGG16网)对番茄作物病害进行分类。使用AlexNet和VGG16net对13262幅图像进行分类,获得的最佳分类精度为97.49%。Coulibaly et al.实现了一个检测和诊断侵染小米作物的疾病的系统。他们的方法是基于CNN模型的迁移学习技术来提取叶子的特征。一个预先训练的网络VGG16模型被用来将其学习能力转移到他们建议的神经网络中,其中最好的准确率达到95%。

3 病虫害识别模型搭建

图1中的分类器模型结构由4个主要阶段组成。第一阶段,获取植物病虫害数据集。从数据集中获取的所有图像都要进行必要的调整。然后将经过调整的数据图片分为训练样本和测试样本两类。最后,搭建卷积神经网络(包含卷积层、池化层、全连接层)对图像进行分类。

图1 分类器模型

3.1 数据集

本文使用的数据集来自于网络和实地采集到的图片。该数据集包含使用的4516张图像,共有20种常见的病虫害类型(每一种病虫害类型按照病害程度分为健康、一般、严重3种情况,共计60组)如图2。其中包含常见病害类型为, 苹果黑星病、玉米灰斑病、葡萄黑腐病、马铃薯早疫病、草莓叶枯病等。所有图像都是在RGB颜色空间,其格式为JPG。

图2 不同程度苹果黑星病图片

3.2 调整图片大小

本文将从数据集中获取的图像尺寸大小调整为100×100×3,从而减少训练时间并提高训练的精度。

3.3 选取测试组与训练组

神经网络在使用真实数据进行测试之前,必须先在一组数据中进行训练以提高网络的准确性。因此,数据集应分为训练组和测试组来避免增加相关性。数据集可分为(60%~80%)训练和(40%~20%)。为了进行测试,有时会增加训练数据,以提高网络的效率。在图3经验的基础上,本文采用数据集中80%的图像用于训练,20%用于测试。

图3 测试集与训练集选取比例对精度的影响

3.4 图像分类模型

利用卷积神经网络(CNN)可以对植物病害进行检测和分类。本文采用基于TensorFlow框架搭建的卷积神经网络模型,网络总共包含7层,前四层为卷积层,后三层为全连接层。卷积层由3个部分组成,分别为卷积、激活和池化。卷积的目的是为了获取图片的特征,通过设置卷积核的大小、步长、填充等参数,对图片的特征信息进行提取,比如不同种类叶片的形状、颜色以及不同病虫害之间存在差异的某些特征。本项目使用卷积核的维度为5×5×3,5×5代表每个卷积核的大小,3代表RGB3个通道;步长设置为1;由于数据集中图片在边缘位置包含的信息量过少,填充大小设置为不填充。其中,卷积计算采用的是TensorFlow自带二维卷积函数。

利用卷积运算可以从图像中提取颜色、边缘等特征。在本文的模型中,在所有的卷积层中,滤波器的大小(5×5)是固定的,但滤波器的数量是改变的。比如,在第一层卷积层中,滤波器的个数为32,而在第二和第三卷积层中,滤波器个数分别为64个和128个。

我们在对图像进行卷积操作的方式来处理时,样本的整体不一定都是线性的。为了解决线性模型不能解决的非线性问题,我们只能通过线性变换或使用非线性函数。神经网络中常用sigmoid、tanh作为非线性函数,本文采用了ReLU(线性整流函数),作为至下一层神经元或作为整个神经网络的输出。线性整流函数是为了消除负值,可由式(1)和图4表示。

图4 ReLU(线性整流函数)

每一层池化层紧跟卷积层,用于简化卷积的输出结果,降低对不重要特征的敏感度。同时,将卷积层的输出结果进行压缩,在不丢失特征信息的前提下压缩数据量的大小。常用的池化方法有最大池化(max-pooling)和均值池化(mean-pooling)。根据相关理论,特征提取的误差主要来自两个方面:第一,邻域大小受限造成的估计值方差增大;第二,卷积层参数误差造成估计均值的偏移。两种方法相对来说,mean-pooling能减小第一种误差,更多保留的是图像的背景信息,而对本文来说,背景信息对病害的识别几乎没有意义。而max-pooling能减小第二种误差,更多的保留纹理信息,它所提取的特征正是病害的特征。因此,本文采用最大池化(maxpooling)的池化方法,通过选择最大值来消除剩余值,从而减少样本数量,如图5所示。

图5 max pooling layer

后四层为全连接层,主要作用是实现分类,通过将卷积层得到的高维数据铺平以作为输入,同样使用激活函数进行非线性变化,最终得到分类结果。

4 结语

农作物病害对农民收入和国家经济产生了不良影响,如果这些疾病没有在感染的早期阶段被发现,治疗将非常昂贵,并导致作物产量减少。因此,这项工作的重点是检测植物上的初级感染,神经网络已经被训练来监测叶子的颜色或形状的变化。深度学习方法被认为是一种识别和检测图像颜色和形状变化的现代技术,也可以成功地用于识别植物叶片的病害。本文构建了一种基于TensorFlow框架的卷积神经网络。该网络使用数据集(4516张图像)进行训练,训练比例为80%,测试比例为20%,识别准确度可达到80%,基本满足对病虫害的识别要求。

猜你喜欢
池化卷积病害
面向神经网络池化层的灵活高效硬件设计
基于Sobel算子的池化算法设计
早春养羊需防六大病害
卷积神经网络中的自适应加权池化
小麦常见三种病害咋防治
基于3D-Winograd的快速卷积算法设计及FPGA实现
葡萄病害周年防治历
果树休眠期咋防病害
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究