基于自适应布谷鸟与反向传播协同搜索的病害识别系统

2020-04-23 11:54王秀清杨世凤
天津科技大学学报 2020年2期
关键词:搜索算法布谷鸟步长

王秀清,陈 琪,杨世凤

(天津科技大学电子信息与自动化学院,天津300222)

番茄病害会导致产量与作物品质严重下滑,因而在病害发生时需要快速反应并合理施药.由于农产品生产者依靠经验判断病害时存在一定主观性和局限性,因此病害识别模型的研究必不可少.

近些年,对农作物病害识别的研究引起了越来越多学者的关注,目前研究方向有:植物叶片特征描述和更优分类算法[1]等.王雪等[2]提取植物叶片形状和颜色特征,利用k 近邻算法作为分类识别器,将黄瓜霜霉病从其他病害中识别出来,且识别率达到95%.王临铭等[3]以3 种甘肃啤酒大麦病斑图像为研究对象,提取其RGB 颜色特征及基于灰度共生矩阵的纹理特征等特征,利用反向传播(back propagation,BP)神经网络作为分类器训练,最终识别正确率达86.7%.祁钊等[4]提取3 种玉米叶片病害病斑的颜色、纹理及不变矩特征,并采用主成分分析和SVM相结合的方法进行分类识别,最终识别精度为90.74%.夏永泉等[5]利用随机森林方法对小麦叶片病害进行了分类识别,整体识别准确率达95%.Soni等[6]提出用PNN 分类器实现植物病害识别,得到了良好的识别效果.王秀清等[7]利用声发射技术检测植物是否发生病害,也取得了良好的效果.

布谷鸟搜索算法(cuckoo search,CS)具有优化参数少,全局搜索能力强等特点,已被用于人体行为识别[8]、图像分割[9]、股价预测等领域,但至今仍未用于病害识别领域.孙晨等[10]提出布谷鸟优化BP 神经网络(CS-BP)的方法预测股价,该算法将CS 搜索的最优鸟巢直接作为BP 网络的权值阈值构建预测模型,但CS 算法具有后期收敛速度较慢,易陷入局部最优等缺点.因此,本文对CS-BP 算法加以改进,利用BP 算法的反向传播特性优化CS 算法搜索步骤,构造布谷鸟与BP 网络协同算法(CS and BP collaborative algorithm,CS-BPCA)搜索最佳权值,并引入自适应调节步长机制加快布谷鸟搜索算法收敛速度,构造出自适应步长布谷鸟与 BP 协同搜索算法(selfadaptive step cuckoo search and BP collaborative algorithm,ASCS-BPCA),并将其用于番茄病害识别模型.本文首先选用番茄病害叶片作为研究对象,基于图像处理的高斯混合模型(Gaussian mixture model,GMM)聚类算法分离复杂背景以及RGB-HSI 坐标变换实现完整病斑分割,再选择病斑部位3 种颜色空间以及各颜色空间的灰度梯度共生矩阵作为本文特征描述,利用ASCS-BPCA 作为本文分类识别器,并将识别正确率与CS-BP 网络进行比较分析.

1 病斑分割与特征提取

1.1 病害图像采集

本文病害图像来源于网络,共收集了3 种病害及正常叶片各100 张共400 张图像,并经专家验证所属病害类别无误.选取图像大都为自然背景,分割病害部位时复杂自然背景的剪除更容易造成误差,但更加贴合实际应用.

1.2 病害叶片背景分离与病斑分割

选用GMM 聚类算法去除400 张病害图像的杂草、阴影等复杂背景.利用背景部分与番茄病害叶片部分存在的差异,利用GMM 计算数据集的概率分布,实现聚类分离带病斑的番茄植株叶片与模糊背景.

(1)将病害图像转为像素点作为原始数据,利用k-means 聚类方法对样本聚类,得到标记像素点矩阵作为GMM 隐含类别标签 z(i).

(2)已知 z(i)后,高斯混合模型简化为式(1),式中 p (x, z) 为最大似然估计.

(3)通过不断迭代更新均值jμ 和协方差矩阵 ∑j计算最大似然估计,直至收敛得到最佳聚类结果,从而分离病害图像的背景部位.

分离复杂背景后,利用HSI 模型中色度信息提取病斑.HSI 模型反映人的视觉系统观察彩色的方式,模型可以将彩色图像色度(H)、饱和度(S),强度(I)分离,在图像分割领域应用优势很大.病害叶片RGB 坐标到HSI 坐标色度(H)转换公式为式(4).

归一化色度分量,将其作为色度调节因子h 去除绿色部分,分离出病斑.分割结果如图1 所示.图中第1 列为分类样本原图,第2—5 列为调节因子h∈[1/7,0.45]、h∈[1/6,0.5]、h∈[1/5,0.6]、h∈[1/4,0.65]时病斑分割结果.

由图1 可知:h∈[1/6,0.5]时图1(b)中第2 行分割效果不太理想,但其他都能分离出清晰病斑部位;h∈[1/5,0.6]时图1(b)中第2 行分割效果好,但其他图像都有少量绿色区域残留,h 选取其他范围时分割效果会变差.因此,使用算法ASCS-BPCA 进行病斑分割时,选择h∈[1/6,0.5]为基本值,效果较差时在[1/6,0.6]间微调,可快速优良地分割本文中3 种病害病斑.经实验,本算法分割100 张图像病斑在Matlab中运行耗时2.036 s,执行速度较快,且适应度广,适合快速提取大量病害叶片病斑.

图1 叶片病斑分割Fig.1 Segmentation of disease spots

1.3 提取病斑识别特征参数

本文以分割出的400 张病斑图像为样本,提取病斑特征集.分别提取颜色直方图RGB 的R、G、B 颜色成分,颜色空间HSV 的色调、饱和度、明度,颜色模型HSI 中的色度、饱和度、强度共9 种颜色特征;利用灰度-梯度共生矩阵方法[11]分别提取RGB 直方图,HSV 颜色空间通道H、S、V,HSI 颜色模型通道H、S、I 的灰度平均、逆差距、惯性、混合熵、梯度熵、灰度熵、相关性、灰度均方差、梯度平均等共45 个纹理特征.利用Tamura 方法[12]提取病斑RGB 坐标下的粗糙度、对比度共2 个统计特征,综上本文共提取400 张病斑图像的56 个特征向量,组成维度空间[400,56]的特征集,选取每种病害图像各65 张共260张作为验证集构成番茄叶片病斑识别网络模型,并将剩余图像作为测试集.

2 ASCS-BPCA的具体设计

2.1 布谷鸟搜索算法

标准布谷鸟搜索算法是通过自然界布谷鸟寄生育雏(brood parasitism)行为的启发提出的一种群智能搜索算法,每个鸟巢代表一个候选解,通过基于莱维(Levy)飞行随机游走方式搜索新解代替旧解,最终搜索巢群中的最优解,即式(5).

式中:xn为旧巢n;xb为当前最优解;s 为Levy 飞行步长,即式(6).

其中给出变量β∈[0.3,1.99],u 和v 都服从正态分布

2.2 BP神经网络

神经网络是由多个神经元组成的多层感知机(multi layer perceptron,MLP),用反向传播算法训练,即BP 神经网络.其结构包含输入层、隐藏层、输出层,本文构造的神经网络模型如图2 所示.

图2 BP模型Fig.2 Model of BP

在第L 层即输出层中,对于每一个训练集样本分类数 yt,有误差 δL= aL- yt,由反向传播算法从右到左计算得到第l 层误差,见式(7).

此时对于每个神经元权值更新公式见式(8).

为加快学习效率,引入矫正矩阵机制,更新矫正矩阵公式,见式(9).

2.3 CS-BPCA的设计

由于CS 算法寻优后期收敛较慢、易陷入局部最小化,本文结合BP 神经网络反向传播能力,自动调整权值阈值特点,提出了布谷鸟与BP 协同算法(CSBPCA),该算法有利于让CS 寻优后期跳出局部最小,改善易陷入局部最小缺点.

该协同网络中,本文构建的三层BP 网络(图2)权值阈值{w1}{b2}{w2}{b3},其中{b2}{b3}分别为隐藏层输出层阈值,由编码公式(10)组成布谷鸟搜索算法中巢向量xbp.

与CS 算法搜索的最优鸟巢位置xcs根据式(11)比较判别

得到更优解向量xb,将xb由式(5)和式(8)迭代更新并不断比较择优,直至结束条件为止,最终搜索到CS-BPCA 网络中最优解向量.该算法中利用BP 算法反向传播特性自动更新xbp,产生更优的xbp替代xcs巢向量,将xb利用更新式(8)自动修正权值得到新巢xbp和f(xbp),利用CS 算法式(5)更新25 个巢向量并择出最优新巢xcs和f(xcs),再由式(10)得到更优巢向量xb,不断循环迭代,直到f(xb)<ε,训练达到设定误差精度或迭代次数达到最大迭代次数为止.协同网络最终输出向量xb解码得到最优权值阈值.

2.4 ASCS-BPCA的设计

CS 算法中,由于Levy 飞行产生步长越大,越容易搜索到全局最优,但同时降低搜索精度,甚至会出现震荡现象,为增强其自适应性,对本文构造的CSBPCA 引入自适应度步长调节机制,见式(12)[13].

式中:ni表示第i 个鸟窝位置;nbest表示最优鸟窝位置;dmax表示最优鸟窝与其余鸟窝间最大距离值.

由此式引入自适应调整步长策略,见式(13).

式中:smax为Levy 飞行步长最大值,smin为最小值.

由式(12)和式(13)引入本文协同算法,构造自适应步长布谷鸟与BP 协同搜索算法(ASCS-BPCA).

3 病害识别的实验结果与分析

3.1 仿真实验

为了分析ASCS-BPCA 的病害识别模型有效性与优越性,用Matlab 2014 仿真软件进行病害识别仿真实验.将样本特征集[400,56]均匀抽取[260,56]作为训练集,其余作为测试集构建识别模型.将协同搜索得到的最优鸟巢xb作为网络权值阈值,构建本文的ASCS-BPCA 识别模型,并在相同条件下构造CSBP 识别模型作为对比.其中鸟巢规模为30,迭代次数为50.

3.2 结果与分析

将两种算法构造模型分别连续进行5 次独立重复实验,主要从网络性能和番茄病害识别正确率分析,模型适应度随迭代次数的变化如图3 所示.由图3 可知:ASCS-BPCA 仅需26 次迭代后算法收敛,用时28.3 s,此时适应度值降为最低;而CS-BP 算法至少需45 次迭代后才收敛,至少用时48.3 s,且最低适应度值仍比ASCS-BPCA 高很多.由此可知ASCSBPCA 收敛速度有了较大提升,且训练效果更好.

图3 识别网络性能图Fig.3 Performance of recognition network

对于两种算法,在训练后保存训练网络,并将测试集[140,56]作为输入,对改进算法和传统算法进行了多次迭代计算,分析改进算法和传统算法的每次执行的平均运行时间、算法收敛所需的平均时间和识别准确率.分别进行连续不断的测试并保存连续5 次的测试结果.选择迭代次数为35 次、50 次和65 次的识别结果进行对比(表1),用于对比两种算法的识别准确率,并验证ASCS-BPCA 算法收敛速度快于传统算法.

由表1 可见:两种算法迭代次数相同时,ASCSBPCA 的识别准确率均高于CS-BP 的,说明ASCSBPCA 识别准确率确实优于传统算法;ASCS-BPCA迭代35 次、50 次和迭代65 次时平均识别准确率都在90%以上,而CS-BP 算法平均识别准确率都在75%左右,且最低只有47.1%,应是寻优时陷入局部最小所致.由此说明传统的CS-BP 算法不太稳定.

表1 网络识别结果对比Tab.1 Comparison of network recognition results

ASCS-BPCA 迭代35 次内算法就能收敛,平均收敛时间25 s;而CS-BP 算法迭代次数至35 时未能收敛,依据图3 也说明了CS-BP 算法至少需45 次迭代后才能收敛.增加迭代次数至65 后,ASCS-BPCA迭代平均收敛时间28.3 s,CS-BP 算法迭代平均收敛时间55.5 s,表明改进算法收敛速度有了较大提升.

通过仿真实验分析表明:本文构造的 ASCSBPCA 确能使CS 算法寻优跳出局限,实现更好的全局搜索能力,且能提高整体性能,使平均识别准确率达到90%以上.

4 结 语

本文将患有白粉病、灰霉病、晚疫病的番茄病害叶片及健康叶片共400 张图像作为识别样本,其中260 张用于训练,140 张用于测试验证.利用图像处理方法进行背景分离,并选择RGB-HSI 转换算法实现病斑分割,分析其最优色度调节因子范围,提取出优质完整的病斑.对病斑部位提取颜色特征、纹理特征等56 种特征参数,组成特征集用于构建病害识别模型.对CS-BP 算法进行优化,提出ASCS-BPCA 算法,该算法借助反向传播算法跳出CS 寻优局限性,实现更优权值搜索,并引入自适应步长调节机制,加快收敛速度.仿真实验表明该改进算法收敛速度确有提升,且识别率高,网络性能优于CS-BP 网络.

猜你喜欢
搜索算法布谷鸟步长
一种基于分层前探回溯搜索算法的合环回路拓扑分析方法
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
布谷鸟读信
小时和日步长热时对夏玉米生育期模拟的影响
一种改进的变步长LMS自适应滤波算法
改进的非结构化对等网络动态搜索算法
改进的和声搜索算法求解凸二次规划及线性规划
基于变步长梯形求积法的Volterra积分方程数值解
基于莱维飞行的乌鸦搜索算法
布谷鸟叫醒的清晨