一种基于AB-Net的葡萄叶斑病识别方法和装置
未命名
07-23
阅读:99
评论:0
一种基于ab-net的葡萄叶斑病识别方法和装置
技术领域
1.本发明属于计算机技术图像识别技术领域,具体涉及一种基于ab-net的葡萄叶斑病识别方法及装置。
背景技术:
2.葡萄含水分高,并且还含有丰富糖类(葡萄糖、果糖、戊糖等),以及各种矿物质有机酸、各种维生素,对人体可以起到非常好的保健效果,受到人们的喜爱。然而,葡萄叶斑病导致每年葡萄作物产量大幅下降,给农民造成巨大的经济损失,这些病害包括黑麻疹病、黑腐病、叶枯病等,在葡萄叶片上表现出不同的物理特征,如叶片不同部位的形状、颜色、形态变化,难以区分。因此,葡萄叶病害的检测和防治是极具挑战性和意义的任务。
3.农作物病虫害的识别、预防、治理是农作物保护、农作物医学学科的重要学科内容。随着科学技术的不断发展以及人们对农作物病虫害的不断深入,农作物病虫害技术也得到了很大的改进。从早期的基于人工的识别方法、基于仪器的识别方法、基于数理统计的方法到基于模式识别和机器学习的识别方法,这些方法都存在很大的局限性,包括主观性强、识别率低、需要大量历史样本数据以及特征提取难等问题。近年来,深度学习方法在病害识别、产量预测和杂草识别方面取得了巨大的成就。相比于传统的图像识别方法,深度学习技术无需人工设计特征,系统可以自行学习归纳出特征;识别准确率高,深度学习在图像识别方面的错误率也已经低于人类平均水平。
技术实现要素:
4.发明目的:本发明提供了一种自适应能力强、准确率高、能有效提高叶斑病识别率的基于ab-net的葡萄叶斑病识别方法及装置。
5.技术方案:本发明提出一种基于ab-net的葡萄叶斑病识别方法,包括以下步骤:
6.(1)采集并保存葡萄叶斑病图像数据;
7.(2)根据病害类别对葡萄叶斑病图像数据进行人工标注,并制作成数据集;
8.(3)将数据集按照一定比例分割为训练集和测试集并且对葡萄叶斑病图像进行预处理;
9.(4)构建基于ab-net的葡萄叶斑病识别模型,包括特征提取模块和重复堆叠三次的特征融合模块cneck;所述cneck模块包括一个bottleneck双残差路径模块和一个aneck模块;
10.(5)通过多次迭代得到最好的预训练模型权重,然后对测试集的病害样本进行验证分类。
11.进一步地,步骤(2)所述病害类别为四类,包括葡萄黑麻疹病、葡萄黑腐病、葡萄叶枯病、葡萄健康。
12.进一步地,步骤(3)所述对葡萄叶斑病图像进行预处理过程如下:
13.对葡萄叶斑病图像采用中值滤波技术进行去噪处理;
14.对噪声处理后的样本数据进行数据增强处理,包括对噪声处理后的样本数据分别进行对比度变换、裁剪、图像转置、旋转、水平镜像;将一部分区域裁剪掉但不填充0像素,而是随机填充训练集中的其他数据的区域像素值。
15.进一步地,步骤(4)所述特征提取模块结构如下:
16.采用三个分支构建多尺度特征提取模块,其中每个分支均采用一个3*3的膨胀卷;对三条分支膨胀卷积后的输出结果进行自适应平均池化处理,使得三个分支输出的特征图的高宽大小相同;将三个分支得到的输出结果进行连接融合,得到连接融合后的特征向量;将特征融合后的特征向量通过一个1*1卷积操作,减少特征向量的通道数;接着,串连一个最大池化操作,减小图像尺寸。
17.进一步地,步骤(4)所述aneck模块结构如下:
18.采用四个分支构建多尺度特征融合模块,其中第一个分支采用1*1的卷积;第二个分支采用一个1*1的卷积和一个下采样;第三个分支采用一个1*1的卷积和两个m*m的卷积;第四个分支由一个1*1的卷积和两个非对称卷积组成,非对称卷积核大小为(1,n);对四条分支输出后的特征向量采用上采样处理,使得四个分支输出的特征图的高宽大小相同。
19.进一步地,步骤(4)所述bottleneck双残差路径模块结构如下:
20.该模块由残差网络和改进的深度可分离卷积组成,该模块主干网络由两个分模块组成,第一个分模块由一个1*1pw卷积、3*3dw卷积、1*1pw卷积组成,先升维后降维,减小参数量;第二个模块将一个3*3的dw卷积分解为两个3*3的dw卷积,后串联一个1*1的pw卷积;分模块内部采用残差连接的方式,通过将低级特征映射到高级空间,强化了特征传播和梯度传播。
21.进一步地,所述膨胀卷积的膨胀系数分别为6、8、10。
22.基于相同的发明构思,本发明还提出一种基于ab-net的葡萄叶斑病识别装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述计算机程序被加载至处理器时实现上述的基于ab-net的葡萄叶斑病识别方法。
23.有益效果:与现有技术相比,本发明的有益效果:
24.1、本发明采用基于膨胀卷积的多尺度特征提取模块,在保持参数个数不变的情况下增大了卷积核的感受野,不仅让每个卷积输出都包含较大范围的信息,还可以保证输出的特征映射大小保持不变;
25.2、本发明基于改进的深度可分离卷积,在考虑卷积层所使用的参数矩阵行与行之间存在高度关联的情况下,将一个3*3的dw卷积分解为两个3*3的dw卷积,通过将卷积核矩阵分解,然后通过添加正交约束来减少参数之间的相互关联,增强了网络模型的特征融合能力;
26.3、本发明通过多个模块的相互堆叠,实现了特征的融合,提高了叶斑病识别的普适性和精准性。
附图说明
27.图1为基于ab-net的葡萄叶斑病识别方法的流程图;
28.图2为本发明构建的葡萄叶斑病识别网络模型结构示意图;
29.图3为特征提取模块的结构示意图;
30.图4为bottleneck模块结构示意图;
31.图5为改进的深度可分离卷积模块结构示意图;
32.图6为aneck模块结构示意图。
具体实施方式
33.下面结合附图对本发明作进一步详细说明。
34.本发明提出一种基于ab-net的葡萄叶斑病识别方法,如图1所示,具体包括以下步骤:
35.步骤1:采集并保存葡萄叶斑病图像数据,并对葡萄叶斑病图像数据根据病害类别进行人工标注并制作成数据集。
36.葡萄叶斑病图像数据根据叶斑病害类别共分为四类,包括葡萄黑麻疹病、葡萄黑腐病、葡萄叶枯病、葡萄健康。这些图片包含了缺乏蛋白质的叶子、阴影部分的叶子、在不同光照条件下的叶子、被雨水打湿的叶子、被害虫咬坏的叶子、沾染了动物粪便的叶子、患有疾病的叶子等。
37.步骤2:将数据集按照一定比例分割为训练集和测试集并且对葡萄叶斑病图像进行预处理。将数据集并且对病斑图像进行预处理。
38.葡萄叶片的样本图像按照8:2分割为训练集和测试集,测试集用于检测通过训练集训练好的神经网络模型的准确率。
39.对葡萄叶斑病数据集的样本数据进行预处理,包括:
40.(i)对叶斑病数据集采用中值滤波技术(去除噪声的同时能较好保护图像边缘细节)进行去噪处理。
41.(ii)对噪声处理后的样本数据进行数据增强处理,所述数据增强处理包括对噪声处理后的样本数据分别进行对比度变换、裁剪、图像转置、旋转、水平镜像、将一部分区域裁剪掉但不填充0像素,而是随机填充训练集中的其他数据的区域像素值,经过预处理后的数据集总共包含了9027张图片,其中训练集有7222张图片,测试集有1805张图片。
42.步骤3:构建基于ab-net的葡萄叶斑病识别模型,如图2所示,包括一个特征提取模块和三个特征融合模块cneck。首先,将输入的特征向量经过特征提取模块,特征提取模块也是多路并行分支模块,该模块由不同膨胀系数的膨胀卷积组成,再将三分支输出的特征向量进行自适应平均池化处理,使得特征向量的高宽相同,以便连接融合操作。然后,再串连一个1*1的卷积进行降维处理,减少特征向量的通道数。接着,串连一个最大池化操作,减小图像尺寸。其次,构建cneck模块。cneck模块由一个双残差路径模块bottleneck和一个aneck模块组成。
43.bottleneck模块:该模块由残差连接和改进的深度可分离卷积组成,如图5所示,主干网络由两个分模块组成,第一个分模块由一个1*1pw卷积、3*3dw卷积和1*1pw卷积串联而成,先升维后降维,在保证通道数不变的情况下获取特征,减少参数量;第二个模块先将一个3*3的dw卷积分解为两个3*3的dw卷积,后串联一个1*1的pw卷积。分模块内部采用残差连接的方式,通过将低级特征映射到高级空间,强化了特征传播和梯度传播。
44.aneck模块:采用四个分支构建多尺度特征提取模块,其中第一个分支采用1*1的卷积;第二个分支采用一个1*1的卷积和一个下采样;第三个分支采用一个1*1的卷积和两
个m*m的卷积;第四个分支由一个1*1的卷积和两个非对称卷积组成,且非对称卷积核大小为(1,n)。对每条分支输出后的特征向量采用上采样处理,使得四个分支输出的特征图的高宽大小相同。每次堆叠cneck模块时,aneck模块的m,n的参数做相应的调整,实现特征的进一步提取,提升了网络模型的特征提取能力。
45.重复堆叠三次cneck模块,实现图像的特征融合,得到最终的葡萄叶斑病识别网络模型,具体包括以下步骤:
46.首先,如图3所示,对预处理后的大小为224*224*3的图像进行多尺度特征提取操作,在第一个分支,输入的特征向量先经过一个卷积核大小为3*3,膨胀系数为6的膨胀卷积,得到输出的特征向量(212,212,64),再经过一个batchnorm和一个leakyrelu激活函数,最后经过一个自适应平均池化处理,得到特征向量(112*112*64);在第二个分支,输入的特征向量经过卷积核大小为3*3,膨胀系数为8的膨胀卷积,得到输出的特征向量(216,216,64),再经过一个batchnorm和一个leakyrelu激活函数,最后经过一个自适应平均池化处理,得到特征向量(112*112*64);在第三个分支,输入的特征向量经过卷积核大小为3*3,膨胀系数为10的膨胀卷积,得到输出的特征向量(220,220,64),再经过一个batchnorm和一个leakyrelu激活函数,最后经过一个自适应平均池化处理,得到特征向量(112*112*64)。将三个分支的输出特征向量进行连接融合,得到输出特征向量(112*112*192)。然后,将输出的特征向量经过大小为1*1的卷积进行降维,得到输出向量为(112*112*64)。最后,将特征向量进行最大池化操作,将尺寸大小减半,得到特征融合模块的输入特征向量(56,56,64)。
47.如图4所示,经过cneck_1模块:首先将输入特征向量经过一个由1*1的pw卷积,3*3的dw卷积和1*1的pw卷积组成的bottleneck1_1模块,再将得到的输出向量与初始的输入特征向量进行残差连接,最后再进行上采样处理,得到bottleneck1_2的输入特征向量(56,56,128);然后再经过一个由3*3的dw卷积,3*3的dw卷积和一个1*1的pw卷积组成的bottleneck1_2模块,再将得到的输出向量与该模块的输入特征向量进行残差连接,最后再进行上采样处理,得到aneck_1的输入特征向量(56,56,256)。然后将bottleneck1模块的输出特征向量经过aneck1模块的四条分支,如图6所示,第一条分支先经过一个1*1的卷积和一个最大池化操作后得到输出特征向量(28,28,64);第二条分支先经过一个1*1的卷积后经过两个kernel_size为(1,5)的非对称卷积后得到输出特征向量(28,28,20);第三条分支先经过一个1*1的卷积后经过两个3*3的卷积后得到输出特征向量(28,28,20);第四条分支经过一个1*1的卷积操作后得到特征向量(28,28,24);最后将四条分支连接融合,得到cneck_2模块的输入特征向量(28,28,128)。
48.经过cneck_2模块:首先将输入特征向量经过一个由1*1的pw卷积,3*3的dw卷积和1*1的pw卷积组成的bottleneck2_1模块,再将得到的输出向量与初始的输入特征向量进行残差连接,最后再进行上采样处理,得到bottleneck2_2的输入特征向量(28,28,160);然后再经过一个由3*3的dw卷积,3*3的dw卷积和一个1*1的pw卷积组成的bottleneck2_2模块,再将得到的输出向量与该模块的输入特征向量进行残差连接,最后再进行上采样处理,得到aneck_2的输入特征向量(28,28,192)。然后将bottleneck2模块的输出特征向量经过aneck2模块的四条分支,第一条分支先经过一个1*1的卷积和一个最大池化操作后得到输出特征向量(14,14,64);第二条分支先经过一个1*1的卷积后经过两个kernel_size为(1,7)的非对称卷积后得到输出特征向量(14,14,64);第三条分支先经过一个1*1的卷积后经
过两个5*5的卷积后得到输出特征向量(14,14,64);第四条分支经过一个1*1的卷积操作后得到特征向量(14,14,64);最后将四条分支连接融合,得到cneck_3模块的输入特征向量(14,14,256)。
49.经过cneck_3模块:首先将输入特征向量经过一个由1*1的pw卷积,3*3的dw卷积和1*1的pw卷积组成的bottleneck3_1模块,再将得到的输出向量与初始的输入特征向量进行残差连接,最后再进行上采样处理,得到bottleneck3_2的输入特征向量(14,14,288);然后再经过一个由3*3的dw卷积,3*3的dw卷积和1*1的pw卷积组成的bottleneck3_2模块,再将得到的输出向量与该模块的输入特征向量进行残差连接,最后再进行上采样处理,得到aneck_3的输入特征向量(14,14,384)。然后将bottleneck3模块的输出特征向量经过aneck3模块的四条分支,第一条分支先经过一个1*1的卷积和一个最大池化操作后得到输出特征向量(7,7,64);第二条分支先经过一个1*1的卷积后经过两个kernel_size为(1,3)的非对称卷积后得到输出特征向量(7,7,64);第三条分支先经过一个1*1的卷积后经过两个5*5的卷积后得到输出特征向量(7,7,64);第四条分支经过一个1*1的卷积操作后得到特征向量(7,7,64);最后将四条分支连接融合,得到输出的特征向量为(7,7,256)。
50.最后,采用7*7的平均池化层代替全连接层,得到输出特征向量为(1,1,256),然后构建softmax分类器,将各个预测结果的单个可能性转换为整体预测中的概率。
51.步骤4:通过多次迭代得到最好的预训练模型权重,然后对测试集的病害样本进行验证分类。
52.目标损失函数选取交叉熵损失函数,让模型预测结果不断逼近真实标签,采用adam作为优化器,把损失函数计算出的差值损失减小,让损失函数的收敛更稳定;交叉熵损失函数公式:
[0053][0054]
x的预测结果p(x)越大,则交叉熵f(x)越小。
[0055]
基于相同的发明构思,本发明提出一种基于ab-net的葡萄叶斑病识别装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中计算机程序被加载至处理器时实现上述的基于ab-net的葡萄叶斑病识别方法。
[0056]
本发明的性能评价指标采用准确率(accuracy)、精确率(precision)、召回率(recall)、综合评价指标(f-measure),各评价指标公式如下:
[0057][0058]
这个指标主要是用来指示预测正确的样本数占总样本数的个数。
[0059][0060]
精确率反应的是预测为正的样本里真的为正的样本所占的比例。
[0061][0062]
这个指标反映的是被预测为正样本的数量占全体正样本数量的比例;其中,tp表
示正类预测为正类数;tn表示负类预测为负类数;fp表示负类预测为正类数;fn表示正类预测为负类数。
[0063]
针对precision和recall有时会出现的问题(即查准率高时,查全率往往偏低;而查全率高时,查准率往往偏低,只能用于简单的分类任务),引入了f1-measure指标,该指标是precision和recall加权调和平均数。其计算公式如下:
[0064][0065]
其中,β是变量,p是准确率(precision),r是召回率(recall)。当β=1时,就是最常见的f1-measure。
[0066][0067]
最后利用葡萄叶斑病识别模型对葡萄叶斑病进行分类。
[0068]
表1本发明和googlenet、mobilenet-v2实验效果的比较
[0069]
modelnameaccuracygooglenet97.63%mobilenet-v298.72%ab-net99.96%
[0070]
如表1所示,采用本发明葡萄叶斑病识别的平均准确率在99.96%左右。相比于现有的部分模型,本发明准确率更高,鲁棒性更强,识别率更高。
技术特征:
1.一种基于ab-net的葡萄叶斑病识别方法,其特征在于,包括以下步骤:(1)采集并保存葡萄叶斑病图像数据;(2)根据病害类别对葡萄叶斑病图像数据进行人工标注,并制作成数据集;(3)将数据集按照一定比例分割为训练集和测试集并且对葡萄叶斑病图像进行预处理;(4)构建基于ab-net的葡萄叶斑病识别模型,包括特征提取模块和重复堆叠三次的特征融合模块cneck;所述cneck模块包括一个bottleneck双残差路径模块和一个aneck模块;(5)通过多次迭代得到最好的预训练模型权重,然后对测试集的病害样本进行验证分类。2.根据权利要求1所述的一种基于ab-net的葡萄叶斑病识别方法,其特征在于,步骤(2)所述病害类别为四类,包括葡萄黑麻疹病、葡萄黑腐病、葡萄叶枯病、葡萄健康。3.根据权利要求1所述的一种基于ab-net的葡萄叶斑病识别方法,其特征在于,步骤(3)所述对葡萄叶斑病图像进行预处理过程如下:对葡萄叶斑病图像采用中值滤波技术进行去噪处理;对噪声处理后的样本数据进行数据增强处理,包括对噪声处理后的样本数据分别进行对比度变换、裁剪、图像转置、旋转、水平镜像;将一部分区域裁剪掉但不填充0像素,而是随机填充训练集中的其他数据的区域像素值。4.根据权利要求1所述的一种基于ab-net的葡萄叶斑病识别方法,其特征在于,步骤(4)所述特征提取模块结构如下:采用三个分支构建多尺度特征提取模块,其中每个分支均采用一个3*3的膨胀卷;对三条分支膨胀卷积后的输出结果进行自适应平均池化处理,使得三个分支输出的特征图的高宽大小相同;将三个分支得到的输出结果进行连接融合,得到连接融合后的特征向量;将特征融合后的特征向量通过一个1*1卷积操作,减少特征向量的通道数;接着,串连一个最大池化操作,减小图像的尺寸。5.根据权利要求1所述的一种基于ab-net的葡萄叶斑病识别方法,其特征在于,步骤(4)所述aneck模块结构如下:采用四个分支构建多尺度特征融合模块,其中第一个分支采用1*1的卷积;第二个分支采用一个1*1的卷积和一个下采样;第三个分支采用一个1*1的卷积和两个m*m的卷积;第四个分支由一个1*1的卷积和两个非对称卷积组成,非对称卷积核大小为(1,n);对四条分支输出后的特征向量采用上采样处理,使得四个分支输出的特征图的高宽大小相同。6.根据权利要求1所述的一种基于ab-net的葡萄叶斑病识别方法,其特征在于,步骤(4)所述bottleneck双残差路径模块结构如下:该模块由残差网络和改进的深度可分离卷积组成,该模块主干网络由两个分模块组成,第一个分模块由一个1*1pw卷积、3*3dw卷积、1*1pw卷积组成,先升维后降维,减小参数量;第二个模块先将一个3*3的dw卷积分解为两个3*3的dw卷积,后串联一个1*1的pw卷积;分模块内部采用残差连接的方式,通过将低级特征映射到高级空间,强化了特征传播和梯度传播。7.根据权利要求4所述的一种基于ab-net的葡萄叶斑病识别方法,其特征在于,所述膨胀卷积的膨胀系数分别为6、8、10。
8.一种基于ab-net的葡萄叶斑病识别装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被加载至处理器时实现根据权利要求1-7任一项所述的基于ab-net的葡萄叶斑病识别方法。
技术总结
本发明公开了一种基于AB-Net的葡萄叶斑病识别方法,所述方法包括:采集并保存葡萄叶斑病图像数据;根据病害类别对葡萄叶斑病图像数据进行人工标注,并制作成数据集;将数据集按照一定比例分割为训练集和测试集并且对葡萄叶斑病图像进行预处理;构建基于AB-Net的葡萄叶斑病识别模型,包括特征提取模块和重复堆叠三次的特征融合模块CNeck;所述CNeck模块包括一个BottleNeck双残差路径模块和一个ANeck模块;通过多次迭代得到最好的预训练模型权重,然后对测试集的病害样本进行验证分类。本发明通过先分类后识别的方法来确定叶斑病病害类别,鲁棒性更强,自适应能力更强,识别率更高。高。高。
技术研发人员:高尚兵 蒋东山 余骥远 李洁 张浩淼 王腾 赵可钒 王媛媛 张海艳 陈晓兵 李翔
受保护的技术使用者:淮阴工学院
技术研发日:2023.04.14
技术公布日:2023/7/21
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
