本发明涉及深度学习和目标检测领域,特别涉及一种高检测能力的农作物病虫害目标检测方法。
背景技术:
1、当前对农作物病虫害的检测一般有三个方向:人工实地调查法或夜间灯光诱捕法作辅助检测法、传统计算机视觉检测方法、基于深度学习等技术的检测方法。人工实地调查法或夜间灯光诱捕法作辅助检测法需要介入人工,工作量不仅很大而且效率十分低下,实时性以及客观性都较差,此外,由于许多农作物病虫害之间具有很大的相似性,人工识别工作仍需要依靠农作物病虫害相关的专家先验知识,故方法移植性差并且无法及时获取农作物受病虫害侵袭的信息。传统计算机视觉检测方法是根据农作物病虫害在图像中的轮廓、纹理等共性表现总结规律进而做出预测,方法本身的求解涉及到诸多未知参数(如对比度、亮度、天气情况等),因此需要大量的时间用来统计规律挖掘图像本身的先验知识从而进行参数估计,最终代入到模型中达到检测目的,然而当有一些场景不满足上述先验知识时,该方法将导致检测失灵、偏差严重等问题。基于深度学习等技术的检测方法依托于神经网络强大的特征学习能力可以通过端到端的方式学习图像中病虫害目标的抽象特征而实现目标检测,基于深度学习的方法克服了传统方法的不足,网络可以通过训练数据自己学习到特征,具有较前两者更好的效果和普适性。
2、然而卷积神经网络的目标检测模型在多种农作物病虫害上的建模能力低于自注意力模型,但是自注意力模型的参数量较大且计算复杂度高。针对上述问题,研究如何结合卷积神经网络和自注意力模型的特性构建起有强大检测能力且能保持一定参数量的农作物病虫目标检测模型具有重要的应用价值和现实意义。借助自注意力模型提升检测能力的同时保持不增加模型参数量对构建农作物病虫害高效目标检测模型具有重要的应用价值和现实意义,为此,我们提出一种高检测能力的农作物病虫害目标检测方法。
技术实现思路
1、解决的技术问题:针对现有技术的不足,本发明提供了一种高检测能力的农作物病虫害目标检测方法,在极大提升检测性能的同时未增加模型的参数量,在基于深度学习的农作物病虫害高检测性能目标检测的领域具有重要的应用价值和现实意义,可以有效解决背景技术中的问题。
2、技术方案:为实现上述目的,本发明采取的技术方案为:一种高检测能力的农作物病虫害目标检测方法,包括以下操作步骤:
3、s101:获取基础农作物病虫害彩色图像数据;
4、s102:对图像进行预处理,包括统一数据大小、标注格式以及数据增广;
5、s103:构建颈部基于自注意力模型的高效端到端农作物病虫害目标检测网络,包含预主干网络模块、编码器模块、解码器模块、匹配模块;
6、s104:采用预主干网络模块进行特征提取,随后通过编码器模块计算特征图位置间的相关性,再通过解码器将目标查询在特征定位点的引导下和特征图进行关联以将目标查询与特征图中的目标相对应,最后通过匹配模块得到检测结果;
7、s105:在训练阶段,计算类别损失和边框损失;
8、s106:通过类别损失和边框损失,反向传播更新模型参数;
9、s107:利用训练好的模型进行农作物病虫害目标检测。
10、作为本技术一种优选的技术方案,所述s101步骤具体内容为:通过收集来自kaggle、aistudio、中国科学院网站的农作物病虫害图像数据集以及爬取百度和谷歌等网站的农作物病虫害图像数据集来构建一个多种农作物病虫害的目标检测数据集dis_pestimgdata进行训练。
11、作为本技术一种优选的技术方案,所述s102步骤中统一数据大小、标注格式具体内容为:
12、a1:为了防止训练过程中网络过拟合,提高网络的鲁棒性,将彩色图片数据全部缩放成512×512×3尺寸;
13、a2:对收集到的无标注或无效标注数据部分进行在线标注,获得所有图像的标注数据后,统一其为coco格式,同时为了防止输入图像像素值差异过大导致网络收敛困难,将像素值归一化到[-1,1]之间;
14、a3:数据增广有随机、水平翻转和90°旋转。
15、作为本技术一种优选的技术方案,所述s103步骤中所构建的农作物病虫害高效检测网络具体包括:
16、b1:该目标检测模型包含了预主干网络模块、编码器模块、解码器模块、匹配模块等四个模块;
17、b2:在预主干网络模块,包括预训练好的resnet-50网络、将resnet-50网络最后两层输出的特征转化成编码器模块输入的两个卷积层、将resnet-50网络最后两层输出的特征转化为特征定位点即fap的两个卷积层;
18、b3:在主干模块,包含了六个阶段,每个阶段由不同的特征融合模块组成,其中特征融合模块有两种,第一种是基于池化算子与分组卷积算子构成的注意力计算模块进而构成的特征融合模块;第二种是基于稀疏注意力计算算子构成的注意力计算模块进而构成的特征融合模块;
19、b4:在解码器模块,同样包含了六个阶段,每个阶段由相同的特征查询模块组成,每个特征查询模块由对象查询模块,特征定位点模块,位置编码模块,解码器的输出以及相关注意力计算组成,最后通过前馈神经网络将编码器的输出解码为类别及边界框坐标;
20、b5:在匹配模块,包含预测类别及边框位置与标注类别及标注位置之间最低代价的匹配、匹配成功的预测类别及边框位置与标注类别及标注位置之间的损失计算。
21、作为本技术一种优选的技术方案,所述s104步骤中具体包括:
22、c1:农作物病虫害图像经过预主干网络模块,得到初步提取的两层特征图像,满足自注意力模型的编码器输入要求,还得到特征定位点用于解码器;
23、c2:经过编码器模块,进行特征图各位置之间的融合,输出给解码器;经过解码器,目标查询在特征定位点的引导下进行对特征的目标查询;
24、c3:最后通过匹配模块得到最终检测结果,抛弃了传统目标检测网络所需要的锚框和nms等无法求导的后处理操作,实现了真正的端到端。
25、作为本技术一种优选的技术方案,所述s105步骤中类别损失和边框损失具体包括:根据匹配模块匹配成功的预测类别与标注类别,通过损失函数计算类别损失;根据匹配模块匹配成功的预测位置与标注框位置通过l1损失函数与giou损失函数计算边框损失,focal+loss表示为:
26、
27、其中at是超参数,取0.23,用来调节正负样本的权重,γb是基本调节因子,取2.2,用于整体上的平衡易分类样本和难分类样本对损失的贡献,而是第j类别样本不平衡的调节参数,表示为:
28、
29、其中nummax_cls指种类最多的农作物病虫害的图片数量,f是指放缩因子,取2,调节不同类别之间的数量差异,numj是第j类农作物病虫害的图片数量。
30、而式1中的pt在二分类中,对标签y预测概率为p的情况时可表示为:
31、
32、l1损失函数为预测值f(xi)与真实值yi之差的绝对值,可以表示为:
33、
34、giou损失函数对目标框尺寸不敏感,容易优化,可以表示为:
35、
36、其中iou表示预测框与标注框的交并比,ac表示能用矩形框框起预测框与标注框的最小面积,u表示预测框与标注框的并集。
37、作为本技术一种优选的技术方案,所述106步骤中具体包括:结合分类损失和边框损失,本模型的总损失函数为:
38、l=f+l+5*l1+2*giou.
39、在训练的迭代周期中,通过最小化该总损失函数,进行反向传播更新网络模型参数。
40、作为本技术一种优选的技术方案,所述s107步骤具体包括:将预训练好的网络模型用于农作物病虫害的目标检测、输入图像、输出图像中对应的农作物病虫害目标的类别及位置。
41、有益效果:与现有技术相比,本发明提供了一种高检测能力的农作物病虫害目标检测方法,具备以下有益效果:该一种高检测能力的农作物病虫害目标检测方法,以颈部基于自注意力模型为基础,在预主干网络模块阶段输出resnet-50的后两层特征加大对各尺寸目标的检测能力,在自注意力模型的编码器部分,根据两种改进的注意力计算模块构成自注意力模型编码器特征融合模块进而组合成新的编码器,在自注意力模型的解码器部分,引入一种基于预骨干网络输出特征来引导锚点收敛方法,降低锚点数量的同时提升锚点精度以及加速模型的收敛,最后在匹配模块,改进损失函数,使模型能根据病虫害不同类别的样本不平衡程度去独立地贡献损失,缓解在农作物病虫害数据集上因不同类别之间正负样本不平衡而导致模型对小数据量类别检测能力低的问题,在极大提升检测性能的同时未增加模型的参数量,在基于深度学习的农作物病虫害高检测性能目标检测的领域具有重要的应用价值和现实意义,为了设计出高效提升农作物病虫害目标检测性能并且保持参数量不增加的网络结构,本发明提供了一种颈部基于自注意力模型架构的高效端到端农作物病虫害目标检测模型。该模型在预主干网络模块阶段输出resnet-50的后两层特征而不是只使用最后一层,加大了对各尺寸目标的检测能力,在编码器模块中利用一种低参数量的自注意力计算模块和一种低计算量的自注意力计算模块构建起两类特征融合模块,利用特征提取模块与前馈神经网络等组合成一个特征融合单元,利用六个不同的特征融合单元构建成编码器来融合特征图各位置之间的关系。解码器阶段利用特征定位点来引导目标查询与特征图中目标相对应,可以降低三分之一的锚点数量,降低计算量的同时提升锚点精度,加速网络收敛。最后在匹配模块中引入改进的类别焦点损失函数,根据病虫害不同类别的正负样本不平衡程度去独立贡献其损失,提升对小样本类别病虫害种类的检测能力。本发明所提供的颈部基于自注意力模型架构的高效端到端农作物病虫害目标检测模型在构建的数据集上达到了最优的检测性能,同时参数量并未增加,整个农作物病虫害目标检测方法结构简单,操作方便,使用的效果相对于传统方式更好。
1.一种高检测能力的农作物病虫害目标检测方法,其特征在于:包括以下操作步骤:
2.根据权利要求1所述的一种高检测能力的农作物病虫害目标检测方法,其特征在于:所述s101步骤具体内容为:通过收集来自kaggle、aistudio、中国科学院网站的农作物病虫害图像数据集以及爬取百度和谷歌等网站的农作物病虫害图像数据集来构建一个多种农作物病虫害的目标检测数据集dis_pestimgdata进行训练。
3.根据权利要求1所述的一种高检测能力的农作物病虫害目标检测方法,其特征在于:所述s102步骤中统一数据大小、标注格式具体内容为:
4.根据权利要求1所述的一种高检测能力的农作物病虫害目标检测方法,其特征在于:所述s103步骤中所构建的农作物病虫害高效检测网络具体包括:
5.根据权利要求1所述的一种高检测能力的农作物病虫害目标检测方法,其特征在于:所述s104步骤中具体包括:
6.根据权利要求1所述的一种高检测能力的农作物病虫害目标检测方法,其特征在于:所述s105步骤中类别损失和边框损失具体包括:根据匹配模块匹配成功的预测类别与标注类别,通过损失函数计算类别损失;根据匹配模块匹配成功的预测位置与标注框位置通过l1损失函数与giou损失函数计算边框损失,focal+loss表示为:
7.根据权利要求1所述的一种高检测能力的农作物病虫害目标检测方法,其特征在于:所述106步骤中具体包括:结合分类损失和边框损失,本模型的总损失函数为:
8.根据权利要求1所述的一种高检测能力的农作物病虫害目标检测方法,其特征在于:所述s107步骤具体包括:将预训练好的网络模型用于农作物病虫害的目标检测、输入图像、输出图像中对应的农作物病虫害目标的类别及位置。