基于GA-BP神经网络和特征向量优化组合的黄瓜叶片病斑识别
2019-03-29高一星
李 颀,赵 洁,杨 柳,王 俊,高一星
(陕西科技大学 电气与信息工程学院,陕西 西安,710021)
目前对于水培黄瓜常见病害的识别,仍然停留在结合已有经验的人工目测检验和对比的阶段。然而这种单单依靠肉眼观测的方法客观性差、效率低、劳动强度大,并且有经验的专家教授毕竟是少数,大部分家庭种植者并不一定具有种植经验,病害识别准确率无法保证。近年来,随着计算机及机器视觉的发展,国内外专家学者对基于图像处理的叶片病斑识别进行了广泛研究。Sammany等[1-2]利用粗糙集来优化神经网络的输入特征向量,并结合支持向量机算法(support vectormachine,SVM)来提高植物病害识别效率。Camargo等[3]对棉花病害的彩色图像提取特征,指出纹理特征子集在分类中的重要性,使用SVM分类器对棉花的病害识别取得较好的效果。白铁成等[4]利用小波包结合遗传神经网络(genetic algorithm-back propagation,GA-BP)实现对红枣病害的准确、快速识别,提高了分类效率。王雪等[5]从黄瓜病斑的形状和颜色两方面提取特征参数,利用k近邻法对黄瓜霜霉病进行了分类识别,识别率达到95%。胡敏等[6]对黄瓜病害通过核主成分分析对颜色和纹理特征进行融合,利用支持向量机对病害进行分类识别,取得了94.11%的识别率。王献锋等[7]利用图像处理和统计分析,提出一种基于病害叶片图像和环境信息的黄瓜病害类别识别方法,对黄瓜的霜霉病、褐斑病和炭疽病3种叶部病害的识别率高达90%以上。现有对病斑识别的研究虽已取得较好的成果[8-9],但在病害特征参数组合的选择方面多是通过反复实验或简单的分析进行选取,存在着变量和学习过程的不稳定问题。针对以上方法对病害特征提取的不稳定性,本研究应用自适应小波对原始图像进行降噪处理,在HSV空间通过阈值分割结合形态学操作获得理想的黄瓜叶片分割图像,并通过自适应阈值分离病斑。提取病斑形态学、颜色和纹理原始特征参数。通过遗传算法(genetic algorithm,GA)结合BP(back propagation,BP)神经网络优化定义原始特征向量对分类结果的灵敏度,递归剔除冗余特征向量,实现特征参数的优化组合。根据提取的组合特征参数,利用SVM分类器进行黄瓜叶片病斑识别,并通过实验验证对黄瓜炭疽病和白粉病的有效性,以期提高黄瓜病害的识别精度。
1 图像获取与处理
随着阳台蔬菜机的普及,水培蔬菜也走进了千家万户。针对家庭种植水培黄瓜中用户难以准确识别病害的问题,本文以黄瓜炭疽病和白粉病为研究对象。如图1、图2所示,分别为黄瓜炭疽病、白粉病不同时期病斑图像。
在家庭阳台背景下采用奥尼A9S/059-1C5高清数码摄像头(最低照度≤30 lx,像素高达200万),进行黄瓜叶片图像采集。系统方案示意图如图3所示,为确保所拍摄的图像具有相同的初始条件,固定焦距将摄像头安装于阳台蔬菜机正前方0.5 m处。摄像头与阳台蔬菜机控制器树莓派通过USB2.0接口相连,于每日09:00、12:00、16:00分别采集一次黄瓜叶片图片,图像采用1 920×1 080分辨率,将拍摄的图片以JPEG格式存入树莓派,以供后续图像处理步骤使用。
本研究选取4月中旬至7月期间采集的不同拍照时间、不同生长阶段、不同病害程度的黄瓜病害100张,其中炭疽病和白粉病样本各50个。
图2 黄瓜白粉病叶片图像Fig.2 Leaf image of cucumber powdery mildew
图3 系统方案示意图Fig.3 Schematic diagram of the system
2 黄瓜叶片图像处理
病斑识别分类的流程图如图4所示。本文利用Matlab R2016B进行仿真,实现对黄瓜炭疽病和白粉病的分类识别。
2.1 图像预处理
2.1.1 原始图像降噪
图像采集过程在家庭阳台背景下进行,容易因为光照条件及图像传感器长期工作引起的温度过高的原因出现高斯噪声。叶片图像受到高斯噪声的污染导致图像的质量下降,这对后期的图像处理造成了一定的难度。因此需要对图像进行降噪处理。
图4 黄瓜叶片病斑识别流程图Fig.4 Identification flow chart of cucumber leaf spot
如图5所示,图5-a为采集到的原始图像,图5-b为加入σ=20高斯噪声的叶片图像。
由于叶片图像中存在杂乱背景及噪声,在空间域上对这些成分进行分析和分离较为困难,本文将图像转换至频率域中进行分析。通过对图像的快速傅里叶变换,分析频率特征,从而将噪声与有用信息分离开。频谱图如图6所示。
通过频谱图可以看出图像空间分布的特点。黑色部分为低频特征,白色部分为高频特征聚集,对比图6-a、b后发现,加噪后对图像中高频部分的干扰最大。
为获得定量的分析,选取半径Δr=1的同心圆环对频谱总能量进行统计,由于频谱总能量较大,所以对纵坐标进行log变换。结果如图7所示。
由图7可看出,加噪前后黄瓜叶片的能量谱几乎重合,随着频率增大到60(周/图像)左右,加噪图像与原图出现明显分界,噪声的能量谱幅值开始平稳,而原始图像的能量谱幅值开始缓慢下降,因此也验证了噪声对图像的高频部分产生了较大的影响。
图5 原始图像(a)与加噪图像(b)Fig.5 Original image(a) and noise-containing image(b)
图6 原图(a)和加躁后(b)图像频谱图Fig.6 Spectrum map of original image (a) and noise-containing image (b)
图7 加噪前后图像能量谱一维分布曲线Fig.7 One-dimensional distribution curve of image energy spectrum before and after noise
图像的能量主要在低频,而病斑、细节等信息却主要集中在高频。选用单纯滤波器时会滤除图像高频部分,同时会导致边缘模糊。因此本文采用自适应小波去噪。在消除噪声的同时,利用小波去噪具有多分辨率的特性使得叶片病斑图像的细节、边缘等特征得以保留。自适应小波去噪与均值滤波、中值滤波去噪效果对比图如图8所示。由效果图对比可以看出,相比于均值滤波与中值滤波,自适应小波去噪既能有效去除高斯噪声,同时保留了病斑图像的细节、边缘等特征信息。
2.1.2 背景分割
采集的黄瓜叶片图像中有家庭阳台杂物等背景,会对识别结果造成影响。所以如何分割出感兴趣的黄瓜叶片对识别结果尤为重要。同时由于阳台光线变化较大,采集的叶片图像容易受到自然光照、窗户杂物遮挡阴影等情况的影响,对亮度比较敏感。
本文将拍摄的黄瓜叶片图像从RGB空间转换到HSV空间,通过阈值分割去除图片中非绿背景,并利用形态学操作中的闭操作将位置较近的点进行连接,去掉面积小于一定值的连通区域,获得理想的黄瓜叶片分割图像,结果如图9所示。
图8 去噪效果图Fig.8 Image of denoising effect
2.1.3 病斑分离
黄瓜叶片若出现病斑,病斑处灰度值会不同于正常区域的灰度值,根据得到的黄瓜叶片区域,对其采用行自适应阈值分割法。结果如图10所示,可将黄瓜叶片病斑区域完全分离出来。
2.2 病斑原始特征向量提取
针对黄瓜叶片病斑目标图像本身的特点,并结合大量文献及他人实验结果。本系统选取不同情况下病斑分类中常用并具有代表性的病斑形态学、颜色和纹理三类特征。方法对有其他需求的特征参数同样可行。
(1)不同类型的病斑其外观形状有很大的差异,计算病斑图像的面积、周长、圆形度、矩形度、偏心率、方向角、最小外接矩形面积和Hu的7个不变矩共14个形态学特征。
(2)颜色信息是区分病害种类的重要特征,分别计算病斑图像R、G、B的偏度、均值、峰值、标准差、方差等共15个颜色分类特征。
(3)纹理信息中包含大量病斑的本质信息,本文利用灰度共生矩阵法分别计算病斑区域的能量、熵、惯性矩、相关性、均值、方差等6个统计特征,由其构成病害的纹理特征。
图9 黄瓜叶片分割图Fig.9 Cucumber leaf segmentation
图10 黄瓜叶片病斑分离图Fig.10 Spot separation of cucumber leaves
由以上3个方面可以得到黄瓜叶片病斑图像的颜色、纹理和形状等共35个特征,构成黄瓜病害叶片的原始分类特征向量,记为xi。
3 基于GA-BP神经网络的特征参数组合优化
病斑的特征有很多种,实际诊断过程中,为了获得足够的诊断信息,总是去采集尽可能多的特征信息,而大量的特征信息也会占用大量的存储空间和计算时间,甚至会影响训练模型的收敛性,降低分类的精度。如何从茫茫“特征大军”中剔除冗余特征,构建精简合适的特征参数,对病斑的识别尤为重要。
3.1 GA-BP神经网络模型的建立
常用的特征优化法有基于PCA-主成分分析法、基于Relief的特征权重算法等。虽然这些方法都能达到特征集降维的目的,但是存在着变量和学习过程的不稳定问题。
遗传算法通过对BP神经网络初始权值和阈值的优化,即避免了BP神经网络随机选取初始权值和阈值的缺点,未成熟收敛得以改善,非线性映射能力得到充分发挥,且保留遗传算法收敛速度快的优点,学习能力强的优点,在特征优化方面有很大潜力。具体流程图如图11所示。
实验中,BP神经网络的输入层xi(i=1,2,3…m,m=35)为病斑的35个原始特征;根据经验公式并结合构造法确定隐含层节点数q为10;输出层n个单元对应n种待识别的病斑类型,本文识别对象为黄瓜炭疽病和白粉病,故n=2,设定“0”表示黄瓜炭疽病、“1”表示黄瓜白粉病。
BP神经网络主要由输入层(I),隐含层(H)和输出层(O)构成,图12是m×q×n的三层GA-BP神经网络模型。
传递函数f(x)为神经元的激活函数,本文取为(0,1)内连续取值sigmoid函数。
(1)
当网络收敛后,隐含层的单元值Hk为:
(2)
图11 GA-BP流程图Fig.11 GA-BP flow chart
图12 GA-BP网络结构图Fig.12 GA-BP network structure diagram
当网络收敛后,输出层的结果为yj。
(3)
3.2 特征参数组合的优化
要从m个原始特征参数中选择m′个分类能力强的特征参数(m′ (4) εi,j反映特征参数xi对分类模式病斑yj的敏感程度,εi,j越大,分类能力越强。 特征参数集的形成是反向递归特征去除过程,一次特征参量灵敏度的分析结果无法满足多个候选特征参数子集的选择,需多次反复训练与剔除。具体过程如下: 1) 使用35组黄瓜叶片病斑原始特征参数集xm训练GA-BP神经网络模型; 2) 通过公式(4)分别计算原始特征向量对识别结果的灵敏度; 5) 选取对黄瓜炭疽病和白粉病灵敏度大的特征参数m′个,由其构成最终特征参数组合。 通过灵敏度对原始特征参数xm分类能力的分析,剔除对分类贡献小的次要和冗余特征参数,保留分类贡献大的特征参数,完成对特征参数组合的优化。 由于本文中所采集的黄瓜叶片图像较少,且需求分类精度高。支持向量机(support vector machine,SVM)能利用有限样本训练获取具有较高泛化能力的决策函数,在解决小样本、非线性和高维数等模式识别问题中表现出良好的分类能力。所以本文选择SVM作为分类器。 本文在MATLAB中进行仿真,生成分类模型。主要步骤如图13所示。 根据Matlab中的仿真结果,实际应用中在树莓派中基于opencv完成对黄瓜叶片病斑的自动识别。 随机选择黄瓜炭疽病和白粉病各35个样本作为训练样本,剩余15个样本为测试集。在Matlab平台中通过GA-BP对黄瓜叶片病斑提取的共35个原始特征进行训练学习,训练过程曲线如图14所示。 根据灵敏度对35个原始特征分类能力进行排序,分类能力与选取的黄瓜病斑特征集维数如图15所示。 根据分类能力-特征维数间的曲线关系,可以看出当候选特征基因子集xi的维数下降到8时,错分数已降到最低;且随着维数的增加,分类模型的训练时间也随之增加。因此,选择灵敏度递归排序前8个特征参数(即特征维数m′=8)。选取结果如表1所示。 图13 SVM分类流程图Fig.13 SVM classification flow char 图14 GA-BP网络训练结果Fig.14 GA-BP network training results 为避免过学习现象发生,利用K-CV方法在训练集验证分类准确率,不同惩罚系数c、核函数参数g对黄瓜叶片病斑的识别结果如图16所示。 图15 分类能力-特征维数图Fig.15 classification capability-feature dimension diagram 根据识别效果,确定最优惩罚系数c=16,g=0.25。 候选病斑特征参数子集对测试样本集的分类结果如图17所示。 将上图的分类结果转化成表2,分别统计分类模型对黄瓜炭疽病和白粉病的分类准确率。 表1特征参量的优化组合 Table1Optimal combination of characteristic parameters 病害Disease图像ImageR峰值R peakG均值G meanB偏度B skewnessB均值B meanB峰值B peakH距7阶距H distance 7 order圆形度Roundness相关性Correlation炭疽病13.62320.06450.09040.02813.6561-1.33×10-257.52410.0643Anthracnose21.72550.08050.12720.02821.82242.79×10-249.38090.052331.15670.16200.301170.10611.2625-4.84×10-246.45420.0231………………………501.45970.05060.11140.01851.62271.91×10-248.58470.0823白粉病18.83760.05350.08060.04798.85207.05×10-203.27170.0616Powdery mildew27.29270.04880.08150.04267.30196.93×10-223.99440.0730239.74770.05090.070520.04359.74661.42×10-233.89550.0721………………………505.98870.03740.08380.03866.04095.82×10-244.81190.1020 图16 识别结果图Fig.16 Recognition result diagram 图17 测试集识别结果图Fig.17 Test set recognition results 表2识别结果 Table2Recognition results 组合Group特征向量维数Eigenvector dimension特征提取时间Feature extractiontime/sSVM训练时间SVM trainingtime/s分类正确率Classificationaccuracy/%原始特征参数组合(A组)35121.363.7492.61Original characteristic parameter set (Group A)GA-BP优化后特征参数组合(B组)833.591.9796.67GA-BP optimized feature parameter set (Group B) 经过分析可得出,直接利用A组原始特征参数组合进行病害识别,其识别率仅为90.61%,训练时间较长,这是因为35个特征中存在一些冗余特征,有些特征甚至还影响病害的识别率;通过GA-BP对黄瓜叶片病斑原始特征参数组合的优化,用于识别分类的黄瓜叶片病斑参数组合维数得以降低,B组特征提取时间和SVM训练时间较A组大大降低,对黄瓜炭疽病和白粉病的识别率高达96.7%。由此可得出经过GA-BP对黄瓜叶片病斑原始特征参数组合的优化提高了黄瓜炭疽病和白粉病分类识别的准确率以及分类识别效率。 本文针对家庭阳台背景下的水培黄瓜,设计了基于图像处理的黄瓜叶片病斑识别系统。利用图像处理技术对黄瓜叶片图像进行预处理,提取黄瓜叶片病斑形态学特征、颜色特征和纹理特征共35种原始特征参数,通过GA-BP定义特征参数对分类结果的灵敏度,剔除冗余特征,保留了8种分类能力强的特征参数。最后对优化后的参数组合使用SVM分类器进行分类识别,对黄瓜炭疽病和白粉病综合辨识正确率达到96.67%。实验结果表明,该方法相比于未经过优化的特征参数组合,能有效降低分类模型训练时间、提高识别率,为复杂环境下的黄瓜病害识别提供了科学的依据。本研究虽以黄瓜叶片病斑为研究对象,但此方法也可以应用于其他农作物的病害识别。4 SVM分类
5 实验结果与分析
6 小结