APP下载

基于多尺度卷积神经网络算法的番茄叶片病害识别

2023-09-11蒋清健姚勇王亚玲苏钰杰

江苏农业科学 2023年15期
关键词:矫正番茄

蒋清健 姚勇 王亚玲 苏钰杰

摘要:为提高卷积神经网络识别番茄叶片病害准确率,提出多尺度卷积神经网络算法。首先番茄叶片图像分离为RGB通道,设计3个并行卷积层对番茄叶片图像进行卷积,不同通道使用不同的卷积核,增加了感受野以及提取不同层次的特征,小尺度卷积核主要是提取病斑区域,大尺度卷积核主要是增强特征多样性;接着混合池化方法即局部重要性池化和随机池化,局部重要性池化判别特征信息,丢弃冗余信息,极大地保存了病害区域的局部细节,随机池化增强了网络的泛化能力;然后番茄叶片图像通过中值滤波消噪,二维伽马自适应算法进行亮度矫正;最后损失函数采用多类别交叉熵,构建最小化目标损失函数。试验仿真结果显示本研究算法泛化能力比较强,对番茄叶片病害晚疫病、斑枯病、蜘蛛螨、早疫病、叶霉病、褐斑病的识别准确率分别为95.8%、95.9%、96.3%、94.2%、94.8%、94.1%,优于其他算法。

关键词:番茄;病害多尺度;卷积核;混合池化;矫正

中图分类号:TP391.41 文献标志码:A

文章编号:1002-1302(2023)15-0211-05

基金项目:国家自然科学基金青年科学基金(编号:52203310);河南省高等职业学校青年骨干教师培养计划(编号:2019GZGG021)。

作者简介:蒋清健(1981—),男,河南永城人,硕士,副教授,主要从事图像处理、模式识别、农业物联网和农业大数据挖掘等研究。E-mail:jqj946@qq.com。

番茄受到外界病害侵害后,大多数情况下会在叶片上表现出特征,如干枯、菌斑等,因此只有对病害种类及早检测识别,才能够提前采取防治措施、阻止病害传播[1]。在生产过程中,番茄叶片病害识别主要依靠人工的实际经验积累,时效性和准确性比较差。卷积神经网络(convolutional neural network,CNN)能够最大程度上对番茄叶片上各种病害特征进行提取[2],目前研究方法主要有注意力结合卷积神经网络(attention convolutional neural network,ACNN)算法,對病害信息增强表达同时抑制无关信息干扰,同时引入迁移学习,防止样本数据量较少时出现过拟合的情况[3]。Inception-v3结合迁移学习算法(inception-V3 and migration learning,Inception-V3-ML)通过迁移学习把神经网络进行细微的改造训练,最终能够快速、有效识别健康、患病番茄[4]。轻量级卷积神经网络(lightweight convolutional neural network,ICNN)通过全局模块提取番茄病害叶片的全局特征,计算特征图各通道的重要程度,该算法稳定性强且占用内存小[5]。AlexNet卷积神经网络通过迁移学习(AlexNet and migration learning,AlexNet-ML)对模型参数优化,缩短了训练时间,对10种番茄叶片病害图像进行识别,提高了平均准确率[6]。重影空间金字塔模型(ghost spatial pyramid pooling,GSPP)用Ghost模块替换卷积层,空间金字塔算法对提取病害特征池化,通过合并卷积运算和归一化提高识别准确率[7]。三通道注意力卷积神经网络(three channel attention CNN,TCACNN)并行提取目标的通道特征,注意力嵌入残差网络,训练阶段设计双损失函数和数据增强提升识别准确度[8]。

为了提高番茄叶片病害识别准确度,本研究提出多尺度卷积神经网络(multi scale convolution neural network,MSCNN)算法对番茄叶片病害进行识别,3个并行卷积层对番茄叶片图像分离的RGB通道进行卷积,每个层使用不同尺度的卷积核,通过局部重要性池化、随机池化进行增强局部细节识别和网络泛化能力,并验证该算法的有效性。

1 多尺度卷积神经网络

1.1 卷积层设计

在番茄叶片病害识别过程中,不同病害的特征在叶片上所占的面积与位置具有随机性,因此病害特征存在复杂性[9-10]。为减少卷积神经网络的深度,增加同一层级的通道数,每个通道使用不同尺度的卷积核,这样增加了网络宽度,能够对番茄叶片病害特征进行多尺度提取。把输入番茄叶片图像分离为RGB通道,对不同通道卷积,因此设计3个并行卷积层对番茄叶片图像进行卷积,每个层使用不同尺度的卷积核,为避免卷积过程中边缘信息丢失将边界进行填零补充;R通道对应的第1个卷积层的卷积核大小为3×3,步长为1,卷积核数量为60;G通道对应的第2个卷积层的卷积核大小为 5×5,步长为1,卷积核数量为40;B通道对应的第3个卷积层的卷积核大小为7×7,步长为2,卷积核数量为30,这样通过不同尺寸的卷积核提取番茄叶片病害的特征,不但能够增加特征图数量,而且提取的叶片病害细节信息更加丰富,提高网络计算效率,降低图像的识别时间,不同卷积层提取图像特征信息结果如图1所示。每个卷积层设置激活函数层,激活函数统一选择Leaky ReLU。不同卷积层的特征值直接连接它们很容易导致更小的值被更大的价值主导,因此通过归一化操作进行连接,从而能有效地将不同卷积层的特征值最终保持在同一尺度上,使用级联操作对得到的特征图结果进行特征融合,最后3×3的卷积层将特征子图输出合并为同一个张量继续向下传递,用Softmax函数对番茄叶片病害进行识别。

从图1可以看出,不同层的卷积结果增加了感受野以及提取不同层次的特征,小尺度卷积核主要是提取病斑区域,大尺度卷积核主要是增强特征多样性,这样使网络更适应图像中目标的尺度,可以有效避免由于网络太深而导致的过拟合现象。

1.2 混合池化操作

池化层主要目的降低数据维数、压缩数据量,一般采用最大或者平均池化操作方法,最大池化能保留图像的纹理信息,平均池化能保留图像的背景信息,但是易发生过度拟合、降低分类精度现象[11-12]。为了提高网络的性能,采用混合池化方法即局部重要性池化和随机池化,局部重要性池化判别特征信息,丢弃冗余信息,极大地保存病害区域的局部细节,随机池化增强网络的泛化能力。

局部重要性池化为

式中:I为输入像素点的特征信息;(Δx,Δy)为滑动池化窗口相对采样位置;(x,y)为采样位置;(x′,y′)为采样形成的新位置;Ω为索引集合;g(I)为局部重要性函数。

局部重要性特征由较小的全卷积网络实现,通过3×3卷积窗口在以步长为2的移动过程中生成,g(I)为

式中:al为第l个像素的特征数值,为局部区域。

随机池化在最大池化的基础上计算像素灰度值(D),灰度值越大的像素随机选取的概率(U)越大:

为防止过拟合现象发生,将局部重要性池化和随机池化进行混合池化操作:

式中:φ为混合池化分配因子;O为局部重要性池化结果;Q为随机池化结果;t为迭代函数;tmax为最大迭代次数。

在迭代的初始阶段,φ较小,此时主要进行局部重要性池化,以便获得番茄叶片病害区域的局部细节;迭代的后期,此时主要进行随机池化,以便提高网络的泛化能力。

1.3 最小化分类损失函数

由于番茄叶片病害识别属于多类别划分问题,因此损失函数采用多类别交叉熵函数(L1)[13-14]。

式中:N为样本总量;C为分类数量;i为第i个训练样本;j为训练样本的类别;Fij为第i个训练样本标注的真实病害类别;yij为输出的第i个训练样本为第j个类别的概率值;ζ1为平衡参数;ε1为调节参数。当ζ1=0.25、ε1=2时分类效果最好。

番茄叶片存在各种噪声,同时图像亮度较暗将使图像特征丢失,通过中值滤波对番茄叶片消噪,用二维伽马自适应算法对图像亮度进行矫正:

式中:F(x,y)是输入图像亮度值;H(x,y)是矫正后图像的亮度值;γ是亮度调节指数;I(x,y)是光照分量;h是亮度均值。

经过消噪、亮度矫正后,番茄叶片只包括病害和背景2类,因此把图像转化为二值图像,若像素灰度值大于图像像素均值,则该像素设置为1,否则设置为0,通过二分类交叉熵函数(L2)计算损失:

式中:M为样本总量;P为番茄叶片像素数量;m为第m个训练样本;p为像素点;Hmp=1时为第i个训练样本的第j个像素点的属于病害像素;Hmp=0则为背景像素;hmp为第i个训练样本经过神经网络输出第p个像素的值;ζ2为平衡参数;ε2为调节参数。当ζ2=0.25、ε2=2时分类效果最好。

训练时为减少数据量提高训练精度,只对部分图像的病害区域进行标注,最小化目标损失函数为

在算法运行初始阶段λ取较大值,这时L1起主导性作用,在算法运行后期λ取较小值,L2起主导性作用,这样便于番茄叶片病害识别。

1.4 识别算法流程

识别算法流程详见图2。

2 试验仿真

硬件配置CPU:英特尔i5-12490F,内存:16 GB,图形处理器NVDIA:GTX 1650,Python語言、PyTorch平台搭建试验仿真环境。番茄病害主要使用Plant Village数据集的7种病害图像:晚疫病、斑枯病、花叶病、蜘蛛螨、早疫病、叶霉病、褐斑病,为了使模型的学习权重平均化,在每种病害类型图像数量为300幅的基础上,同时进行图片垂直、水平翻转、30°~90°范围随机旋转将基础数据集数量增加,这样每种类型图像扩充共计1 200幅,病害典型图像如表1所示,图像裁剪成统一大小为224×224像素,训练集、测试集、验证集图像数量之比为 8 ∶1 ∶1。

2.1 训练过程识别准确率和损失值

对训练集进行训练,每次训练轮数(Epoch)首先使用训练集训练模型初始权值,再使用验证集测试模型的识别率,最后保存模型的权值,并开始下一次Epoch,循环直至完成最大50次Epoch,训练过程对比使用方法主要有CNN、ACNN、ICNN、GSPP、TCACNN、MSCNN,结果如图3所示。

从图3中结果可以看出,MSCNN算法只需要较少的训练次数就能达到最优状态,早于其他算法获得较稳定的识别准确率、损失值,MSCNN算法训练过程识别准确率平均值高于其他算法,损失值低于其他算法。

2.2 算法泛化能力分析

泛化能力分析主要对图片垂直、水平翻转、30°~90°范围随机旋转进行测试,各种病害的识别准确率、损失值结果如图4所示。

从图4可以看出测试过程中MSCNN算法的识别准确率、损失值优于其他算法,因此MSCNN算法的泛化能力比较强。

2.3 各种算法对番茄叶片病害识别的准确率

对病害图像验证集进行验证,每种算法通过50次蒙特卡罗试验取平均值,各种算法对番茄叶片病害识别准确率如表2所示。

从表2中结果可以看出,MSCNN算法对各种病害的识别准确率高于其他算法,平均值为95.6%,它对晚疫病、斑枯病、花叶病、蜘蛛螨、早疫病、叶霉病、褐斑病的识别准确率分别为95.8%、95.9%、97.8%、96.3%、94.2%、94.8%、94.1%,这是因为MSCNN算法将病害图像分离为不同的通道,同时不同通道使用不同的卷积核,能够获得图像的细节和边缘信息,便于番茄叶片病害识别。

3 总结

本研究算法对卷积神经网络进行改进,把番茄叶片病害图像进行分离后再使用不同的卷积层,不同层的卷积核增加了感受野以及提取了不同层次的特征,为防止过拟合现象发生,将局部重要性池化和随机池化进行混合池化操作,试验仿真结果显示本研究算法对晚疫病、斑枯病、花叶病、蜘蛛螨、早疫病、叶霉病、褐斑病的识别准确率高于其他算法,因此为番茄叶片病害识别提供了一种新的方法。

参考文献:

[1]赵广猛,王卫兵. 基于U-Net模型和FCM算法的番茄穴盘苗重叠幼叶分割方法[J]. 江苏农业科学,2022,50(2):206-212.

[2]朱幸辉,周 勇. 基于卷积神经网络的番茄叶片病斑识别仿真[J]. 计算机仿真,2021,38(7):481-485.

[3]张 宁,吴华瑞,韩 笑,等. 基于多尺度和注意力机制的番茄病害识别方法[J]. 浙江农业学报,2021,33(7):1329-1338.

[4]孔德鋒. 一种迁移学习算法在番茄病害检测上的应用[J]. 湖北农业科学,2020,59(7):199-203.

[5]胡玲艳,周 婷,刘 艳,等. 基于轻量级网络自适应特征提取的番茄病害识别[J]. 江苏农业学报,2022,38(3):696-705.

[6]王艳玲,张宏立,刘庆飞,等. 基于迁移学习的番茄叶片病害图像分类[J]. 中国农业大学学报,2019,24(6):124-130.

[7]冀常鹏,陈浩楠,代 巍,等. 基于GSNet的番茄叶面病害识别研究[J]. 沈阳农业大学学报,2021,52(6):751-757.

[8]马 宇,单玉刚,袁 杰. 基于三通道注意力网络的番茄叶部病害识别[J]. 科学技术与工程,2021,21(25):10789-10795.

[9]卞景艺,刘秀丽,徐小力,等. 基于多尺度深度卷积神经网络的故障诊断方法[J]. 振动与冲击,2021,40(18):204-211.

[10]胡勤伟,陶 庆,王妮妮,等. 用于稳态视觉诱发电位目标识别的多尺度特征融合卷积神经网络方法[J]. 西安交通大学学报,2022,56(4):185-193,202.

[11]Gao Z T,Wang L M,Wu G S. LIP:local importance-based pooling[C]//IEEE International Conference on Computer Vision (ICCV19). Seoul,Korea,2019:3353-3364.

[12]周巧黎,马 丽,曹丽英,等. 基于改进轻量级卷积神经网络Mobile NetV3的番茄叶片病害识别[J]. 智慧农业(中英文),2022,4(1):47-56.

[13]任守纲,贾馥玮,顾兴健,等. 反卷积引导的番茄叶部病害识别及病斑分割模型[J]. 农业工程学报,2020,36(12):186-195.

[14]汤文亮,黄梓锋. 基于知识蒸馏的轻量级番茄叶部病害识别模型[J]. 江苏农业学报,2021,37(3):570-578.

猜你喜欢

矫正番茄
视力矫正及保护
番茄炒蛋
秋茬番茄“疑难杂症”如何挽救
番茄果实“起棱”怎么办
“体态矫正”到底是什么?
冬天的番茄为啥不太好吃
看清世界话矫正
番茄炒蛋做成功啦
矫正牙齿,不只是为了美
矫正牙齿,现在开始也不迟