APP下载

基于卷积神经网络的番茄叶片病斑识别仿真

2021-11-17朱幸辉

计算机仿真 2021年7期
关键词:灰度病斑卷积

朱幸辉,周 勇*

(湖南农业大学 信息科学与技术学院,湖南 长沙 410128)

1 引言

植物叶子是进行光合作用和呼吸作用,制造有机养料的重要器官,对植物生长来说至关重要,因此必须保证其健康。一旦发生病害,必须及时进行治疗[1]。病害特征主要通过叶片状态显现,因此番茄病害识别主要通过番茄叶片出现的病斑来实现[2]。早先番茄叶片病斑识别主要通过人眼去判断其类别,不仅容易出错,还效率地下,因此当前番茄叶片病斑识别,主要目标检测算法来实现,如基于遗传算法、AdaBoost算法、随机森林算法等,其原理先将图像转换成不同大小,然后分别目标检测,最后将结果综合起来,得到识别结果[3]。由于图像是经过分割等多重处理的,图像中部分信息会丢失,因此mAP(Mean Average Precision),即均值平均精度并不高。

针对上述情况,本次将卷积神经网络应用其中,提出一种新的番茄叶片病斑识别方法。方法最大特点了节省了图像预处理环节,直接输入整体图像即可,需要进行图像分割、转换,只需完成图像质量改善即可,且它将特征提取、特征选择和特征分类融合为一体,直接利用卷积神经网络对每个滑动窗口产生的候选区进行二分类,判断其是否为待检测目标[4]。最后通过仿真实例验证本文方法有效性,结果表明:与基于遗传算法、AdaBoost算法的目标识别方法相比,本文基于卷积神经网络的识别方法mAP较高,即能更为准确、迅速的完成病害辨别,为其防止提供了重要的理论依据。

2 基于CNN的番茄叶片病斑识别方法研究

番茄是人们日常饮食中常见的一种蔬菜,包含了大量的纤维素、钾元素、苹果酸、胡萝卜素、番茄红素等营养物质,因此每年我国都会种植大量番茄。而在番茄种植中,会发生多种病害,如早疫病、晚疫病、叶霉病、灰霉病、叶斑病等,具体见表1[5]。

表1 番茄多种病害描述

本文以番茄为对象,基于卷积神经网络进行其叶片病斑识别研究,研究思路如图1所示。

图1 基于卷积神经网络番茄叶片病斑识别思路

2.1 图像预处理

通过摄像头获取到原始图像,图像预处理中,包括图像灰度化、图像去噪、图像增强三项内容[6]。

1)图像灰度化

图像灰度化是图像预处理中必经步骤,主要作用是将采集到的彩色图像转变为由不同的灰度级的图像。

摄像头采集下来的原始图像多数都为彩色图像,即包括RGB及CMYK两种,其中前者更为常见,因此下述图像灰度化就以RGB彩色图像为对象进行说明。RGB彩色图像由R(红色)、G(绿色)、B(蓝色)三种不同颜色成分组合而成图像。而R(红色)、G(绿色)、B(蓝色)像素的不同是造成图像彩色的原因,因此只要消除彩色图像中三种颜色不同像素值之间的差距,即使R=G=B,即可实现图像灰度化[7]。不同灰度化表达式分别如下所示:

①分量法

(1)

其中,Gk(i,j)(k=1,2,3)为转换后的灰度图像在(i,j)处的灰度值;R(i,j)、G(i,j)、B(i,j)分别是彩色图像在(i,j)处的R、G、B分量

②最大值法

G(i,j)=max[R(i,j),G(i,j),B(i,j)]

(2)

③平均值法

(3)

④加权平均法

G(i,j)=0.299R(i,j)+0.578G(i,j)+0.114B(i,j)

(4)

2)图像去噪

现实中的数字图像在采集、处理和传输过程中常受到成像设备与外部环境噪声干扰等影响,造成图像质量下降,因此需要减少图像中噪声影响,提高图像质量,这一过程就被称为图像去噪。目前图像方法有多种,在本文中选择基于小波阈值的方法进行去噪[8]。首先对二维图像p(x1,x2)进行小波域的二维Mallat分解,如图2所示。

图2 Mallat算法分解重构

图中,L代表低频子图、H代表水平方向的高频子图、V代表垂直方向的高频子图、D代表对角线方向的高频子图。利用二维小波分解与重构算法所具有可分离的特性,对二维信号依次按行、按列与一维的低通滤波器和高通滤波器进行卷积,二维基本小波ψ(x1,x2)要遵循容许性条件cψ:

(5)

上式中,ω1、ω2表示图像的频率信息。

图像P在经过Mallat算法分解后,其图像中有用信息会基本分布在低频部分,即L低频子图中,这一部分的小波系数的绝对值较大;而图像中无用信息,即噪声的分解系数,会集中分布在高频子图中,这一部分的小波系数绝对值则较小。

根据上述描述,小波阈值去噪基本原理如下:当分解的小波系数小于某个临界阈值时,则认为是噪声造成的,过滤掉,而当分解的小波系数大于某个临界阈值时,则认为是有用信息,保留下来。即大于该阈值的小波系数含有噪声图像信号的概率趋近于零,其表达式如下所示:

(6)

式中,σn表示零均值高斯白噪声的标准方差,N表示图像信号长度。

最后将保留下来的小波系数进行重构,即可获得M×M带有噪声的图像去噪后的图像[9]。

(7)

3)图像增强

图像灰度化和去噪后,图像会存在失真现象,图像中部分信息会丢失,因此还需要进行图像增强,选择直方图均衡化方法进行图像增强,其基本原理是根据积分概率密度函数,将去噪图像直方图转化为概率密度为1的图像,此时为理想情况,在一定程度上提高对比度。

2.2 卷积神经网络实现番茄叶片病斑识别

卷积神经网络,从数据流角度来看,包括三个部分:输入层、特征提取和输出层;而从结构上看,则由一个或多个卷积层、池化层和全连通层组成[10]。

图3 卷积神经网络

其中,卷积层主要作用是对输入的图像进行卷积运算,提取图像局部特征,因此卷积层也被称为特征提取层。池化层主要作用对卷积层提取到的图像局部特征进行下采样,即利用局部相关性聚合图像局部特征,以较少的信息代表局部特征,减少特征维数,因此池化层也被称为下采样层。全连通层是卷积神经网络的分类器,利用输入信号的加权求和以及非线性激活函数,将提取到的图像特征映射到样本的标记空间当中,实现图像分类,即完成番茄叶片病斑识别[11-12]。

在本章节中,选择卷积神经网络中的SSD算法来完成番茄叶片病斑识别。在CNN系列的许多模型中,Region Proposal和分类是分作两块[12],而SSD算法模型是将二者统一在一起,使得目标识别更加简单和快速。根据SSD算法的匹配策略,定义xij=1来表示第i个默认框匹配类别p的第j个真实框,可能有多个默认框的阈值大于 0.5。目标损失函数是位置损失和置信损失的加权和,目标函数表示如下

(8)

式中,N表示默认框的个数,Lloc(x,l,g)表示位置损失,即预测框与真实标签框之间的平滑损失值,Lconf(x,c)表示置信度损失,α设置为 1。

充分利用不同尺度的特征图来预测边界框的类别分数和位置偏移,可大大提高检测精度。

SSD 的检测架构如图4所示:

图4 SSD 的检测架构

在训练期间,需要用默认框来与图片所标记的真实框进行匹配。黑框默认匹配到病变区域,能够正确匹配到真实框的设定为正样本,其余的框设定为负样本。为保证其有效性和准确性,SSD模型应用前需要进行训练。SSD模型训练具体流程如图5所示。

图5 SSD模型训练流程

3 实例分析

3.1 实验样本集

于2019年7月15日在山东省某番茄种植基地利用佳能A640数码摄像机拍摄番茄叶片病害图片作为本章实例分析样本。该样本情况如下表2所示。

表2 实验样本情况

为降低这些图片对计算机系统的压力,需要利用Matlab7.0软件对每幅图片进行分辨率压缩,压缩规格为256×256,最后以JPEG格式导入计算机当中,构建番茄叶片病害图像数据库。

3.2 实验平台

表3 实验平台参数设置

3.3 测试结果

3.3.1 病斑识别结果分析

为进一步验证该识别方法的有效性,分析不同方法的病斑识别结果。

图6 不同方法病斑识别结果分析

由上图可以看出,遗传算法与AdaBoost算法均难以从病害图像中准确的识别病斑,对于识环境干扰无法做出准确判断。卷积神经网络方法展示出了良好的分割效果及鲁棒性。主要原因在于选择卷积神经网络中的SSD算法来完成番茄叶片病斑识别,SSD模型应用前需要进行训练,保证了识别的有效性和准确性。

3.3.2 温室番茄病害识别

为验证卷积神经网络识别番茄叶片病斑准确性,采用测试数据集对模型进行测试,测试结果显示在测试结果面板中。如图7所示。

图7 识别结果显示面板

由图7可以看出,以霜霉病以及白粉病为例,各去数据集415个、332个。在数据处理结果显示的混淆矩阵中,霜霉病样本中正确识别率达到47.6%,样本识别个数为1070个,白粉病样本中,正确识别率达到48.1%,样本识别个数为1027个。其中,识别错误率较低,不超过4%,白粉病误识率为0.8%,霜霉病的误识率为3.5%。整体来说,病害识别率高达95.7%,霜霉病以及白粉病的识别准确率分别为93.1%、98.4%。依据上述数据结果,可知该方法可准确识别番茄病害,为病害治疗提供理论依据。

3.3.3 叶片平均检测精度值(mAP)分析

番茄叶片病斑识别方法的评价指标为mAP值,即均值平均精度,是指每个类别AP(PR曲线围起来的面积)的平均值,其值越高代表方法的识别性能越好。通过下式计算mAP值,结果如下表4所示。

表4 mAP值测试结果

(9)

式中,AveragePrecisionC表示验证集中叶片图片各类别的平均精度之和,N(Classes)表示所有类别的数目。

从表4中可以看出,利用基于卷积神经网络方法进行番茄叶片病斑识别,得到的mAP值为0.988,而利用基于遗传算法、AdaBoost算法进行番茄叶片病斑识别,得到的mAP值分别为0.847、0.836。以上三种结果对比可知,本文基于卷积神经网络的番茄叶片病斑识别方法的性能更好,识别准确率更高。

4 结束语

综上所述,农作物在生长过程中,无法避免会产生病害,对其产量和质量造成了严重影响,因此必须进行及时、有效的治疗。而治疗之前,确定其病因对于治疗措施选择具有重要意义。本次以番茄病害为例,利用基于卷积神经网络的方法进行番茄叶片病斑识别,并以基于遗传算法、AdaBoost算法目标识别方法作为对比项,进行仿真实例分析。结果表明,本文方法得到的mAP值更高,病斑识别识别性能更强,病害识别结果较为准确,这为病害治疗措施的选择提供了重要的理论依据。

猜你喜欢

灰度病斑卷积
航空滤光片阵列多光谱图像条带灰度调整算法
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
天津港智慧工作平台灰度发布系统和流程设计
Arduino小车巡线程序的灰度阈值优化方案
套袋对柠檬果实外观品质的影响
Ophiognomonia castaneae协同板栗褐缘叶枯病病原菌致病作用的研究
轻松治愈花斑癣