基于YOLOv8和CBAM注意力机制的小麦赤霉病孢子检测方法

文档序号:37077866发布日期:2024-02-20 21:32阅读:21来源:国知局
基于YOLOv8和CBAM注意力机制的小麦赤霉病孢子检测方法

本发明涉及孢子病害识别,具体来说是基于yolov8和cbam注意力机制的小麦赤霉病孢子检测方法。


背景技术:

1、随着计算机视觉技术的不断发展,通过拍摄孢子的显微图像,利用图像处理技术对孢子进行自动识别已成为可能。许多研究者利用机器学习算法,通过人工提取特征对孢子进行识别。但人工提取特征的过程复杂繁琐,且受光照、显微操作、背景杂质等影响,特征提取的准确性也存在很大的挑战。

2、在病原菌孢子的特征提取方面,国内外学者较早地展开了研究,并取得了快速的发展。英国学者chesmore等利用病害图像研究小麦印度腥黑穗病孢子和黑麦草腥黑穗病菌孢子的分类,该研究从病害图像中自动定位孢子,并提取其周长、表面积、突起数及突起的大小、最大(小)半径和圆形度等相关参数作为分类依据。徐鹏云等利用图像处理的方法对孢子进行了特征提取。齐龙等利用canny算子对显微图像中的稻瘟病孢子进行边缘检测,然后进行形态学运算,最后提取了孢子的形态特征作为对目标物的分类依据。西南大学杨明教授团队提取了真菌孢子的sift特征和rgb sift特征,并对提取的特征进行了聚类处理,较好地实现了真菌孢子显微图像的分类。

3、在有关病原菌孢子的机器学习方面,目前典型的分类器主要有:决策树、支持向量机(svm)、基于规则的粗糙集、k最近邻、贝叶斯以及基于人工神经网络的各种模型。前三种均采用svm作为分类器,第四种采用bp神经网络作为分类器。邓继忠等通过提取病害孢子的形态特征和纹理特征并以此构建了线性核支持向量机,完成了对小麦的矮腥、印度腥及网腥3类病害的分类识别。张荣标等运用支持向量机对圆褐固氮菌进行识别、分类和计数,获取了圆褐固氮菌的浓度,实现了圆褐固氮菌活性的快速检测。黄双萍等研究了基于深度卷积神经网络的水稻穗瘟病检测。

4、以上针对孢子检测的研究多数基于机器学习算法,检测过程可以分为三个步骤:图像分割、特征提取和分类识别。这些研究通过人为设计孢子特征的提取方法、增加特征提取方式的丰富性和合适度来提升检测的准确率。然而,对本文所建立的数据集,图像中多含有杂质和气泡,很难将这些干扰项与真菌孢子区分开来;图像中的一些真菌孢子存在聚集、粘连,也影响了特征提取的准确性。


技术实现思路

1、本发明的目的是为了解决现有技术中由于背景复杂和目标微小而导致的检测准确率低的缺陷,提供一种基于yolov8和cbam注意力机制的小麦赤霉病孢子检测方法来解决上述问题。

2、为了实现上述目的,本发明的技术方案如下:

3、一种基于yolov8和cbam注意力机制的小麦赤霉病孢子检测方法,包括以下步骤:

4、数据采集和预处理:利用光学显微平台采集小麦赤霉病孢子图像,并对采集的显微图像进行标注、数据增强和数据集划分操作,形成小麦赤霉病孢子图像数据集;

5、构建小麦赤霉病孢子检测模型:基于yolov8在其neck部分添加cbam注意力机制构建出小麦赤霉病孢子检测模型;

6、小麦赤霉病孢子检测模型的训练:将小麦赤霉病孢子图像数据集输入小麦赤霉病孢子检测模型进行训练;

7、待检测小麦赤霉病孢子图像的获取:获取待检测小麦赤霉病孢子图像并进行预处理;

8、小麦赤霉病孢子检测结果的获得:将预处理后的待检测小麦赤霉病孢子图像输入训练后的小麦赤霉病孢子检测模型,得到小麦赤霉病孢子检测结果。

9、所述构建小麦赤霉病孢子检测模型包括以下步骤:

10、基于yolov8构建小麦赤霉病孢子检测模型,设定小麦赤霉病孢子检测模型分为五部分:

11、第一部分为input,input作为输入端负责接收来自前端的图像数据,并对数据进行预处理,具体包括对图像自适应缩放、像素值归一化、数据增强、通道维数调整操作;

12、第二部分为backbone,主体是cspdarknet-53结构,其网络骨干结构包括c2f模块与sppf模块;sppf模块为具有三层并行连接的最大池化层,分别是卷积核55、99、1313,池化后进行concat操作,将sppf结构中具有残差结构的连续三次最大池化,卷积核统一为55,最后将池化前和每次池化后的结果concat;

13、第三部分为neck,主体采用panet结构,以pan-fpn网络进行内特征层次结构提取,包括上采样、下采样操作,将低级别的特征图与高级别的特征图进行融合;

14、第四部分为head,使用decoupled head以及anchor-free的方法,将回归分支和预测分支进行分离,使用两个卷积层分别进行分类和回归任务,最后分别算出各部分损失;该层采用分类损失bec loss和回归损失ciou loss来优化模型的性能,在计算损失时,将模型预测的结果与实际标签进行比较,得到分类损失和定位损失,从而进行模型优化和训练;

15、第五部分为output,output层生成最终的目标检测结果,根据预测出的物体类别信息、位置信息以及形状信息,对图像中的目标进行识别和定位,即预测出图像中每个目标的位置和类别信息;

16、设定cbam注意力机制:

17、cbam注意力机制将输入特征图先进行通道注意力机制再进行空间注意力机制操作,最后输出;

18、通道注意力机制对特征图进行压缩,分别采用全局平均池化和全局最大池化把特征图从大小为(n,c,h,w)转换为(n,c,1,1),实现全局上下文信息融合;再分别将全局最大池化和全局平均池化结果进行mlp多层感知机操作,mlp为两层全连接层,中间采用relu激活,将两者相加后利用sigmoid函数激活;最后将reshape过后的权重值与原有的特征图采用python的广播机制做乘法运算,得到不同权重下的特征图;

19、空间注意力机制将通道注意力机制操作的结果,分别在通道维度上进行最大池化和平均池化,即将经过通道注意力机制的特征图从(n,c,h,w)转换为(n,1,h,w),达到融合不同通道的信息的效果,然后在通道维度上将最大池化与平均池化结果叠加起来,即采用torch.cat();其次,将叠加后2个通道的结果做卷积运算,输出通道为1,卷积核大小为7,将输出结果采用sigmoid函数激活;最后,将权重值与原有的特征图采用了python的广播机制做乘法运算,得到不同权重下的特征图;

20、添加cbam注意力机制:

21、对小麦赤霉病孢子识别模型的第三层neck进行改进,在其pan-fpn上采样阶段中的每个upsample结构前以及下采样阶段的每个c2f模块后和cbs模块卷积前均引入cbam注意力机制模块;

22、添加小目标检测层:对小麦赤霉病孢子识别模型的第三层head增加小目标检测层,

23、将backbone中的第五层的80x80尺度特征层与neck中的上采样特征层继续向上堆叠,经过c2f和上采样处理后得到包含小目标特征信息的深层语义特征层,继续与backbone中的第三层的浅层位置特征层进行堆叠,补充完善160x160尺度融合特征层对小目标语义特征以及位置信息的表达能力;最后经过c2f送至head中的一个额外的解耦头;

24、设定siou边界损失函数

25、设定yolov8模型中的分类损失为vfl loss,回归损失为ciou loss+dfl loss,

26、其中vfl loss定义如下:

27、

28、其中,p为预测的类别得分,p∈[0,1],q为预测的目标分数,若为真实类别,则q为预测和真值的lou;若为其他类别,q为0,α为权重系数,γ为调整因子;

29、引入siou loss代替ciou loss,通过考虑目标的非重叠区域来弥补iou边界损失函数无法量化真实框与预测框不相交的缺点,siou的定义表示如下:

30、siou=iou-(c/(a∪b))/(c/c)

31、其中,c为包围a、b的最小矩形框,iou的取值区间为[0,1],而siou的取值区间为[-1,1],其中iou的定义如下:

32、iou=(a∩b)/(a∪b),

33、基于以上定义,将siou作为损失函数,表示如下:

34、lsiou=1-siou。

35、所述小麦赤霉病孢子检测模型的训练包括以下步骤:

36、搭建python=3.8,cuda=11.6版本的pytorch神经网络训练环境;

37、设置图像输入尺寸为640×640,初始学习率为0.01,模型训练批量尺寸为8,优化器为sgd,训练迭代周期为300;

38、将孢子图像数据集输入小麦赤霉病孢子识别模型,训练完成并生成最佳权重文件;

39、第一部分input对输入的图片数据进行图像尺寸调整、归一化、mosaic增强操作,将图像数据标准化为适应网络模型输入要求的640×640尺寸后送入第二部分;

40、第二部分backbone采用cspdarknet-53网络结构,首先利用conv模块通过卷积操作将输入图像转化为特征图,从像素级信息中提取出有用的特征;其次通过c2f模块的残差连接residual block来增加模型的深度和宽度,重复叠加4次卷积操作;最后的sppf模块对输入的特征图进行卷积操作及最大池化操作,回归目标框,并匹配先验框和目标框确定真实物体类别,将得到的特征图与经过cv2卷积层处理的特征图进行拼接,最终输出neck层需要的特征图、目标框的位置、大小以及对应的类别概率;

41、第三部分neck首先利用csp模块将来自上一层backbone的骨干网络cspdarknet-53处理后的输出特征图和原始特征图进行融合,经过cbam注意力机制对细节进行增强,再通过pannet结构对分辨率为160*160、80*80、40*40和20*20的输入特征图进行上采样、通道融合和下采样,通过增加小目标检测层实现160*160尺度融合特征,获取目标孢子的语义信息,最终经过c2f将panet的三个输出分支送至head中进行损失函数的计算或结果解算;

42、第四部分head使用解耦头由两个卷积层分别进行分类和回归任务;首先接收来自neck层的特征图,然后通过卷积层和激活函数进一步提取特征,并对特征图进行细化;其次利用多尺度目标检测头,根据不同尺寸的特征图生成相应大小的目标框,并对目标框进行分类和回归预测,同时采用siou和dfl损失函数对预测的目标框和实际的目标框进行比较,计算出模型预测的误差,进行模型的参数优化;

43、第五部分output将模型对输入图像的预测结果输出,生成最终的目标检测结果,即预测出图像中每个目标的位置和类别信息;

44、训练结束得到训练后的小麦赤霉病孢子检测模型,利用生成的best.pt权重文件对赤霉病孢子实现快速精准的检测识别。

45、有益效果

46、本发明的基于yolov8和cbam注意力机制的小麦赤霉病孢子检测方法,与现有技术相比能够有效提高小麦赤霉病孢子检测的准确率和泛化能力。同时,该方法可以实现对大规模小麦赤霉病孢子图像的自动化检测,从而对赤霉病病害进行早期预警以便及时制定防治策略,对最大限度地减少病害造成的损失有重要的指导意义,为田间空气中小麦赤霉病孢子的自动检测及赤霉病的早期预测提供一定技术支持。

47、本发明通过添加cbam注意力机制、小目标检测层和使用siou边界损失函数,有效提高了小麦赤霉病孢子检测的准确率和泛化能力。同时,该方法具有降噪、提高识别准确率等优点,可以实现对大规模小麦赤霉病孢子图像的自动化检测。

48、本发明引入cbam注意力机制、小目标检测层积、siou对yolov8目标检测算法进行改进,增强特征采集模块的特征提取能力、加强特征融合模块的融合效果和改进检测模块的损失函数,最终增强模型的检测精度和泛化能力以及鲁棒性能;使用训练后的改进yolov8小目标检测模型对显微孢子图像进行检测,能够实现赤霉病孢子显微图像的准确识别。

49、本发明提出的技术方案在保持较高准确率的同时保证了检测速度,可为田间实际农田小麦赤霉病病害检测提供一定的技术支持,进一步提升田间赤霉病孢子的早期预警能力。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1