APP下载

基于改进多元宇宙算法的番茄病害图像识别*

2023-06-05王磊袁英高玲

中国农机化学报 2023年5期
关键词:膨胀率黑洞正确率

王磊,袁英,高玲

(黄河水利职业技术学院电气工程学院,河南开封,475004)

0 引言

番茄在人们日常蔬菜类农产品中的消耗量较大,番茄在种植过程中易受各种环境因素影响,导致各种病害发生,因此及早识别病害的种类有利于采取有效的防治措施[1]。

James等[2]使用k均值聚类对六种不同类型的番茄病害样品分割,具有良好的分割效果。卷积神经网络(Convolutional Neural Network,CNN)对番茄病害识别具有较好的效果[3],但是卷积神经网络识别效果依赖于参数的设定,训练过程中有许多的超参数与权值需要优化。Wu等[4]提出VAE网络模型,用多尺度残差学习模块代替单尺度卷积核来丰富提取的特征,用于扩展训练集以训练识别模型。Abbas等[5]使用迁移学习和C-GAN合成图像检测番茄病害,利用条件生成对抗网络生成番茄植物叶片的合成图像,模型使用迁移学习在合成图像和真实图像上进行训练,将番茄叶子图像分为10类疾病。Brahimi等[6]应用CNN转移和深度学习提取的番茄特征,所有获得的特征通过SVM和KNN进行分类。Fuentes等[7]使用不同分辨率的相机设备在现场拍摄的图像来检测番茄植株中的病虫害。Rangarajan等[8]提出基于深度学习的AlexNet和VGG16net架构,分析了图像数量和超参数对分类精度和执行时间的影响。多尺度AlexNet(Multi-Scale AlexNet,MSAN)神经网络模型[9],去除神经网络局部响应的归一化层、卷积核依据尺度改变、更改全连接层,番茄叶部病害早中晚期的平均识别准确率达到 92.7%。注意力神经网络模型(Attentional Neural Network,ANN)通过注意力特性设置注意力并行模块对番茄特征提取[10],利用数据残差构建PARNet模型,识别准确率优于VGG16、ResNet50等网络结构。注意力残差机制(Attention Residual Mechansm,ARM)卷积神经网络模型[11],设置多层注意力模块,通过分层抽取病害信息,能够解决早期病特征不易提取问题,识别结果高于其他模型。多尺度和注意力机制(Multi-Scale And Attention Mechanism,MSAM)神经网络模型[12],增加番茄病害信息,同时抑制干扰信息,利用迁移学习减少过拟合发生,番茄常见叶片图像分类准确率较高。深度残差网络的神经网络模型(Deep Residual Network,DRN),利用贝叶斯算法降低了深度学习网络的训练难度[13],残差单元提高过深层次病害识别网络模型性能,最终模型对番茄4种病害识别准确率达到 95%以上。Fuentes等[7]结合VGG等深度特征提取器,构建基于区域的卷积神经网络、基于区域的全卷积网络及单镜头多盒检测器训练端到端系统,对9种番茄病害进行识别。

以上算法是对卷积神经网络结构的改变,没有对卷积神经网络的参数优化,在训练过程不易获得最佳参数。本文提出改进宇宙算法与卷积神经网络(Improved Multi Verse Optimizer and Convolutional Neural Network,IMVOCNN)结合进行番茄病害识别,对番茄病害多特征进行提取,通过改进宇宙算法优化卷积神经网络参数,仿真验证算法的有效性。

1 改进宇宙算法

1.1 基本宇宙算法

Mirjalili等[14]提出智能优化算法多元宇宙(Multi Verse Optimization,MVO),模拟宇宙中的物质在黑洞、白洞和虫洞共同作用下的膨胀或收缩行为。多元宇宙中的物质通过虫洞在白洞与黑洞之间转移,白洞拥有较强的斥力,能够将物质释放;黑洞拥有较强的引力,能够将物质吸收。膨胀率较高的宇宙具有白洞特性,而膨胀率较低的宇宙具有黑洞特性,因此宇宙大部分物质从高膨胀率物体向低膨胀率的物体移动,物质随机移动的通道为虫洞。最终宇宙个体在万有引力作用通过位置的更新使得整个宇宙达到平衡状态。

1.2 改进宇宙算法

1.2.1 基于多方向的多元宇宙空间结构模型

目前多元宇宙算法没有考虑多元宇宙空间结构,物质在白洞向黑洞移动方向单一,算法在后期的宇宙多样性无法保证,使得数据寻优存在盲目性,导致算法无法获得全局最优解。为了使得物质移动具有多方向性,增加空间通道虫洞的端口数量,这样相当于宇宙可以进行加速膨胀。虫洞两端的端口数量可有不同,这样多个宇宙的物质从白洞向黑洞转移过程中,每个宇宙具有各自的通道,端口终端的宇宙物质可并行进入各自的黑洞,宇宙膨胀将加速进行,不再受拥挤通道数量的约束;若主通道只有某个宇宙物质在膨胀转移,则端口终端全部为该宇宙开放;白洞侧的端口数量多于黑洞侧的端口数量,这是因为宇宙物质初始时从白洞出发的速度较慢,离黑洞越近则速度越快,为了提高通道利用率而不过多的增加通道数量,白洞侧的端口数量与黑洞侧的端口数量之比在[1.5,2]之间。这样在虫洞多端口结构下,每次迭代进化增加了多元宇宙空间物质转移的效率。

1.2.2 基于双向运动的宇宙信息转移模型

基本宇宙算法物质从高膨胀率物体向低膨胀率物体移动,这种运动的方向只有宇宙物质的膨胀率改变时才能改变[15],但是宇宙的膨胀率是一个非线性逐渐增大的过程,不易使低膨胀率物体向高膨胀率物体移动,这种宇宙信息转移运动具有单一性,不利于宇宙信息的多样性形成。增加宇宙的双向运动,即在原有运动方向的基础上,设置宇宙的反向运动,有部分物质从低膨胀率物体向高膨胀率物体逆向移动,逆向移动宇宙物质被选择概率如式(1)所示。

(1)

式中:R——逆向移动宇宙物质从黑洞移到最近白洞的距离,R≠0,km;

xλ,t——第λ个黑洞周围的第t个宇宙;

N——宇宙数量总规模,个;

f(xλ,t)——xλ,t的适应度。

这样黑洞与白洞相隔越近的物质,越易被移动,从而使得逆向移动宇宙加速移动,消耗较少的时间可以达到白洞。

0.7≤p(xλ,t,R)<1的宇宙才进行逆向交流,0

(2)

式中:rand——随机因子,服从均匀分布,rand∈[0,1];

n——黑洞总数;

hij——白洞i到黑洞j的间距,km;

l——白洞迭代进化次数;

γ——宇宙t的信息正向交流系数,γ∈[0.5,1];

rt——宇宙t的膨胀系数,rt∈[0,1]。

易非不知道怎么得罪他们了,她愣在门口,自我检讨了好久,也没想到自己错在哪里了。她只得换了拖鞋,含着眼泪,回到了自己的小房里。她栓了门,打开电脑,给陈留在QQ上留了言——同在一个屋檐下,易非连给他打电话的空间都没有。

(3)

式中:hi′j′——黑洞i′到白洞j′的间距,km;

m——白洞总数;

l′——黑洞迭代进化次数;

γ′——宇宙t′的信息逆向交流系数,γ′∈[0,0.5];

r′t′——宇宙t′的收缩系数,r′t′∈[0,1]。

1.2.3 基于非线性调节的膨胀率修正

宇宙在膨胀过程中,其自身的膨胀率r属于固定不变[16],这不利于宇宙的进化寻优,因此在宇宙的初始阶段,应增大宇宙的膨胀率,以便宇宙能够以较大的膨胀率r进行全局探索;而在宇宙的后期寻优阶段,应减小宇宙的膨胀率r,使得宇宙能够进行局部开发,以便在较优解周围获得最优解。通过非线性调节对宇宙的膨胀率r修正如式(4)所示。修正后的膨胀率κ随T′/T变化如图1所示。

图1 κ随T′/T变化

κ=r×Z×T′/T

(4)

式中:T′——宇宙进化迭代次数;

T——宇宙进化迭代总次数;

Z——z形隶属函数。

从图1可以看出,κ随T′/T非线性递减变化,T′/T的比值越小,κ取值越大,T′/T的比值越大,κ取值越小,这样便于宇宙在不同的迭代时候使用不同的膨胀率。

2 番茄病害识别

2.1 特征提取

在卷积神经网络识别番茄病害的过程中,病害特征提取起到了决定性作用[17],番茄病害特征在纹理、颜色和形状等以及在不同时期具有差异性,并且病害在番茄叶片上分布相对局部。对番茄病害的纹理特征提取5个,用于描述病斑表面结构,包括灰度共生矩阵的角二阶矩、对比度、逆差分矩、相关性和熵。对番茄病害的颜色特征提取9个,包括彩色系中RGB值,色度系中RGB相应的比例值,与HIS颜色系中HIS值。对番茄病害的形状特征提取5个,包括圆形性、矩形度、球状性、偏心率、伸长度。将纹理特征、颜色特征、形状特征共计19个特征值作为卷积神经网络的输入。

2.2 卷积神经网络关键函数选择

卷积神经网络设计中的关键函数为激活函数与损失函数[18-19]。

激活函数为Sigmoid,如式(5)所示。

(5)

损失函数为交叉熵损失函数,如式(6)所示。

(6)

式中:ys——第s个训练样本xs的标签;

K——输出分类总数;

yb——第b个训练样本xb的标签;

B——训练样本总数。

交叉熵损失函数值越小,则实际输出概率与期望输出概率的差异度就越小。

2.3 优化卷积神经网络参数

由于卷积神经网络性能严重依赖于权重等参数,不同权重参数值往往使得网络表现不同性能,同时权重参数的较小误差在通过多层的反向传播使得误差放大,最终使得调整出来的权值和阈值与理想值相差远,导致卷积神经网络不收敛,训练时间过长。在多元宇宙优化卷积神经网络参数时,卷积神经网络中需要训练的参数当作多元宇宙算法中的一个宇宙,将训练卷积神经网络得到的交叉熵损失函数值作为改进多元宇宙的适应度值,如果多元宇宙的适应度值收敛到一定阈值范围内,停止算法寻优。

利用统计学斯皮尔曼相关系数ρ确定多元宇宙的优化次数。当ρ越接近1时,即可确定优化最小阈值。

(7)

式中:xp——优化随机变量集合X中的元素,个;

yp——优化随机变量集合Y中的元素,个;

M——随机变量总数;

p——随机变量标号;

dp——xp、yp排序之间差值。

计算识别精度的稳定度V如式(8)所示。

(8)

式中:accuracyk[u]——第k次迭代的第u个宇宙的识别精度,%。

N——宇宙总数;

μ——识别精度均值;

σ——识别精度方差。

当宇宙在最优位置附近寻优时,利用识别精度的稳定度最小化准则,如果相邻两次的稳定度V保持不变,此时最优值已接近极限,继续逼近最优值已无意义。

算法流程如下:(1)随机初始化多元宇宙参数;(2)随机初始化卷积神经网络权重,训练卷积神经网络;(3)交叉熵损失函数值作为宇宙的适应度;(4)宇宙体双向运动更新宇宙信息;(5)判断是否满足识别精度的稳定度,则进行步骤(5),否则进行步骤(4);(6)输出识别结果。

3 试验仿真

数据集采用Plant leaf diseases dataset中的Tomatoes,涉及番茄的病害类型有细菌斑、早疫病、晚疫病、叶霉菌、叶斑病、蜘蛛螨,病害典型图像如图2所示,每种类型200幅图像,共计1 200幅,其中训练集900幅图像,测试集300幅图像。

图2 番茄病害图像

试验PC配置:CPU为Intel Core i7-7800X @ 3.50 GHz、内存16 GB、IntelH61主板,集成Nvidia GeForce GT 720,Matlab2014实现仿真。多元宇宙数量为400个,虫洞的单侧端口最大数量为6个,γ=0.85,rt=0.35,γ′=0.15,rt′=0.25,T=300。卷积神经网络结构包含4个卷积层,卷积核尺寸大小分别设置为3×3,3×3,5×5和5×5,3个池化层,2个全连接层和1个识别层。

3.1 卷积神经网络算法训练与测试

卷积神经网络算法结构包括:输入层、卷积层、池化层、激活层、损失层、全连接层,其中输入层为三通道,卷积层通过3×3卷积核进行特征提取,移动步长为1,池化层采用最大值池化方法,激活层函数采用Sigmoid函数,损失层函数采用交叉熵损失函数,全连接层将获取的番茄病害图像特征信息转化为各个病害分类的概率,Softmax最终给出番茄病害识别结果。对卷积神经网络算法训练阶段设置最大训练次数为50,通过交叉熵损失函数和识别正确率来验证训练、测试的效果,交叉熵损失函数值越小,识别正确率越大,则多元宇宙优化卷积神经网络算法越好。图3、图4分别给出了训练集和测试集交叉熵损失函数、识别正确率曲线结果。

图3 交叉熵损失函数曲线结果

图4 识别正确率曲线结果

从图3可以看出,随着迭代次数的增加,优化前、优化后训练集、测试集的交叉熵损失函数值曲线呈现下降的趋势,逐渐趋于稳定,但是多元宇宙优化后的交叉熵损失函数值小于优化前,说明优化能够使得输出概率与期望输出概率差异性降低。从图4可以看出,随着迭代次数的增加,优化前、优化后训练集快速上升,然后逐渐稳定在较高的识别正确率,但是多元宇宙优化后的识别正确率值大于优化前,说明优化能够提高番茄病害的识别正确率。

3.2 各种算法对番茄病害识别

在番茄病害识别过程中,涉及的算法有:CNN、MSAN、ANN、ARM、MSAM、IMVOCNN,各个算法的训练时长、运行时占用内存如表1所示。

表1 不同算法训练时长、占用内存对比Tab. 1 Comparison of training time and memory occupied by different algorithms

从表1可以看出,IMVOCNN算法训练时长较短,运行时占用内存较少,这样便于番茄病害识别。

通过蒙特卡罗30次仿真试验,识别正确率结果和识别消耗时间如表2所示。对番茄病害细菌斑、早疫病、晚疫病、叶霉菌、叶斑病、蜘蛛螨识别区域如图5所示。

表2 不同算法对番茄病害识别正确率结果Tab. 2 Accuracy results of various algorithms for tomato disease recognition

图5 番茄病害识别区域结果

从表2可以看出,本文算法对番茄各种病害识别正确率较高,细菌斑平均值为97.34%,早疫病平均值为97.03%,晚疫病平均值为97.08%,叶霉菌平均值为97.14%,叶斑病平均值为97.12%,蜘蛛螨平均值为97.20%。其他算法识别对番茄病害识别正确率小于本文算法,这是因为改进宇宙算法用于卷积神经网络的损失函数优化中,降低了卷积神经网络参数难于设置问题,在保证收敛速度的前提下,明显提升了算法的全局搜索能力,提高了识别正确率。

从表3可以看出,本文算法对番茄各种病害识别消耗时间较少,细菌斑平均值为1.03 s,早疫病平均值为1.01 s,晚疫病平均值为1.02 s,叶霉菌平均值为1.02 s,叶斑病平均值为1.01 s,蜘蛛螨平均值为1.03 s,其他算法识别对番茄病害识别消耗时间大于本文算法,不利于番茄实时识别的需求。

表3 不同算法对番茄病害识别消耗时间结果Tab. 3 Time consuming results of various algorithms for tomato disease recognition

4 结论

1) 为了提高番茄病害识别效果,提出了一种基于改进多元宇宙算法进行番茄病害图像识别,多元宇宙中增加空间通道虫洞的端口数量,宇宙进行加速膨胀。

2) 改进多元宇宙算法对番茄各种病害识别正确率较高,细菌斑识别正确率比CNN、MSAN、ANN、ARM、MSAM算法提高了3.33%、2.83%、2.26%、1.44%、0.88%;早疫病识别正确率比CNN、MSAN、ANN、ARM、MSAM算法提高了2.9%、2.41%、1.92%、1.15%、0.53%;晚疫病识别正确率比CNN、MSAN、ANN、ARM、MSAM算法提高了2.86%、2.37%、1.87%、1.10%、0.48%。

3) 改进多元宇宙算法对番茄各种病害识别消耗时间较少,细菌斑识别消耗时间比CNN、MSAN、ANN、ARM、MSAM算法减少了0.53 s、0.45 s、0.36 s、0.30 s、0.23 s;早疫病识别消耗时间比CNN、MSAN、ANN、ARM、MSAM算法减少了0.51 s、0.44 s、0.38 s、0.29 s、0.25 s;晚疫病识别消耗时间比CNN、MSAN、ANN、ARM、MSAM算法减少了0.55 s、0.47 s、0.35 s、0.32 s、0.24 s。

猜你喜欢

膨胀率黑洞正确率
化学改良红黏土作用模型研究
HAYDON黑洞
门诊分诊服务态度与正确率对护患关系的影响
5500万光年之外的“黑洞”,是如何被拍到的
黑洞什么样,有图有真相
用快速砂浆棒法评价Li2CO3与硝酸盐对ASR的长龄期抑制效果
饮用水处理用活性炭反冲膨胀率测定与研究
生意
品管圈活动在提高介入手术安全核查正确率中的应用
生意