一种农作物病害识别方法、系统、装置和存储介质
文献发布时间:2023-06-19 19:28:50
技术领域
本发明涉及农作物病害图像识别技术领域,尤其涉及一种农作物病害识别方法、系统、装置和存储介质。
背景技术
在传统的农业生产实践过程中,由于社会基层农技人员的流失和农民缺乏相关的专业知识,农民对农作物病害主要根据经验通过肉眼观察,随后做出主观判断,但这种方法收效甚微,无法做出精准判断,极易造成化学农药的滥用,进而严重影响农作物的质量和产出,造成经济损失和不必要的环境污染。
传统的农作物病害图像识别过程主要包括4部分。首先是图像的预处理,包括图片的尺寸缩放、去噪和直方图均衡化等;接着是对图像的分割,以去除图像中与病斑识别无关的信息;然后是进行特征提取,通过一系列的算法来提取农作物病害图像中的纹理,颜色和形状特征;最后通过支持向量机、K近邻、贝叶斯分类和K-means等机器学习算法进行病害分类。但这种方法依然存在着诸多弊端:首先图像的预处理过程非常的耗时;再者,其农作物病害特征提取绝大部分依赖于人工干预,不能保证病害特征的准确度;最后传统的机器学习算法需要大量的数据,且难以训练。这些局限性直接导致传统方法无法直接适用实际场景下的农作物病害识别。
近年来,因深度学习技术的迅猛发展,其在农作物病害识别领域取得了诸多进展并得到了广泛应用。其中不乏使用注意力机制和融合多尺度信息的网络,但它们都或多或少的引入额外的计算量,使模型的参数量增大,在训练过程中网络难以收敛。
综上所述,有必要提出一种新的农作物病害识别网络,充分利用多个不同尺度间的特征,融合不同尺度间的上下文信息,以提升网络模型的识别准确度。
发明内容
为至少一定程度上解决现有技术中存在的技术问题之一,本发明的目的在于提供一种基于金字塔卷积和注意力机制的农作物病害识别方法、系统、装置和存储介质。
本发明所采用的技术方案是:
一种农作物病害识别方法,包括以下步骤:
获取农作物病害数据集,对数据集进行预处理和数据扩增,得到预处理后的数据集;
构建病害识别模型,采用获得的数据集对所述病害识别模型进行训练,将训练后的模型用于农作物病害识别;
其中,所述病害识别模型以CSPResNet50作为主干网络,并将主干网络中的残差块用金字塔卷积替代其中的3×3卷积,以在不增加计算量和模型大小的情况下,增大卷积核的感受野,提高网络模型对多尺度信息的提取能力,融合不同大小感受野的特征信息来提高模型的整体性能;在主干网络的残差块中,添加注意力机制模块,以建立特征图通道间的依赖关系和像素点之间的相关性,使模型更加关注重要的病害特征,弱化不相关的干扰因素,以提高模型对农作物的病害识别能力。
进一步地,所述对数据集进行预处理和数据扩增,包括:
对数据集中的图像进行随机裁剪、随机水平翻转、随机旋转或者随机擦除;
对数据集中的图像进行归一化处理,训练过程中将输入图片的大小统一调整为224×224。
进一步地,所述金字塔卷积由S组不同大小的卷积核构成,并且使用分组卷积来减少计算量,具体的计算过程表达式如下所示:
X
k
F=Concat(F
其中,i=0,1,2,…,S-1,X∈R
进一步地,在不引入额外参数量的情况下,采用通道注意力单元以建立特征图通道间的依赖关系,采用空间注意力单元以建立像素点之间的相关性,并对输入特征图进行通道维度上的分组,分成多个子特征图,具体的计算过程表达式如下所示:
X
(X
X′
X′
X′
X′=ChannelShuffle(Concat(X′
其中,k=1,2,…,G,X∈R
进一步地,所述注意力机制模块包括通道注意力单元和空间注意力单元,具体计算过程表达式如下所示:
U
U
其中,X表示为输入特征图,σ表示为非线性激活函数Sigmoid,P
进一步地,所述采用获得的数据集对所述病害识别模型进行训练,包括:
使用RMSProp优化器更新网络参数,初始化学习率设置为0.001,动量设定为0.9,权重衰减为0.0001,采用交叉熵损失函数,使用余弦退火学习率更新策略,训练200个epoch,并在每次训练后,在验证集上进行测试,保存验证集精度最高的模型。
本发明所采用的另一技术方案是:
一种农作物病害识别系统,包括:
数据采集模块,用于获取农作物病害数据集,对数据集进行预处理和数据扩增,得到预处理后的数据集;
模型训练模块,用于构建病害识别模型,采用获得的数据集对所述病害识别模型进行训练,将训练后的模型用于农作物病害识别;
其中,所述病害识别模型以CSPResNet50作为主干网络,并将主干网络中的残差块用金字塔卷积替代其中的3×3卷积,以在不增加计算量和模型大小的情况下,增大卷积核的感受野,提高网络模型对多尺度信息的提取能力,融合不同大小感受野的特征信息来提高模型的整体性能;在主干网络的残差块中,添加注意力机制模块,以建立特征图通道间的依赖关系和像素点之间的相关性,使模型更加关注重要的病害特征,弱化不相关的干扰因素,以提高模型对农作物的病害识别能力。
本发明所采用的另一技术方案是:
一种农作物病害识别装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本发明所采用的另一技术方案是:
一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如上所述方法。
本发明的有益效果是:本发明通过采用金字塔卷积模块,在不增加计算量和模型大小的情况下,增大卷积核的感受野,提高网络模型对多尺度信息的提取能力,融合不同大小感受野的特征信息来提高模型的整体性能。此外,通过采用注意力机制模块,对特征图通道间的依赖关系和像素点间的相关性进行建模,提取并增强特征图中的空间信息和语义信息,以弱化不相关的干扰因素,使模型更加关注于重要的病害特征,提高模型对农作物的病害识别能力。
附图说明
为了更清楚地说明本发明实施例或者现有技术中的技术方案,下面对本发明实施例或者现有技术中的相关技术方案附图作以下介绍,应当理解的是,下面介绍中的附图仅仅为了方便清晰表述本发明的技术方案中的部分实施例,对于本领域的技术人员而言,在无需付出创造性劳动的前提下,还可以根据这些附图获取到其他附图。
图1是本发明实施例中基于金字塔卷积和注意力机制的农作物病害识别网络示意图;
图2是本发明实施例中金字塔卷积和注意力机制残差模块图;
图3是本发明实施例中金字塔卷积模块图;
图4是本发明实施例中注意力机制模块图;
图5是本发明实施例中通道注意力单元与空间注意力单元图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。对于以下实施例中的步骤编号,其仅为了便于阐述说明而设置,对步骤之间的顺序不做任何限定,实施例中的各步骤的执行顺序均可根据本领域技术人员的理解来进行适应性调整。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
如图1所示,本实施例提供了一种基于金字塔卷积和注意力机制的农作物病害识别方法,包括以下步骤:
步骤1、获取农作物病害数据集,对数据集进行预处理和数据扩增,得到预处理后的数据集。具体为:对数据集进行预处理和数据扩增操作,包括:随机裁剪、随机水平翻转、随机旋转、随机擦除、归一化处理,最后训练时将输入图片统一调整为224×224。
本实施例中的病害数据集来自于公开数据集AI challenger 2018,其包含了10种作物,共计61种不同的病害,农作物包含“苹果、樱桃、玉米、葡萄、柑橘、桃、辣椒、马铃薯、草莓、番茄”十种,病害包括“黑星病、灰斑病、白粉病、花叶病”等,程度包括一般和严重两种。数据集经清洗后,剔除两类过少的类别及重复图片后,共剩余36020张图片,数据集随机划分训练集(25258,占总图片的70%)、验证集(7182,占总图片的20%)、测试集(3580,占总图片的10%)。
步骤2、以CSPResNet50作为主干网络,参见图2,将主干网络中的残差块用金字塔卷积替代其中的3×3卷积,在不增加计算量和模型大小的情况下,增大卷积核的感受野,提高网络模型对多尺度信息的提取能力,融合不同大小感受野的特征信息来提高模型的整体性能。金字塔卷积模块如图3所示,其由S组不同大小的卷积核构成,并且使用分组卷积来减少计算量,其具体的计算过程表达式如下所示:
X
k
F=Concat(F
其中,i=0,1,2,…,S-1,X∈R
步骤3、在主干网络的残差块中,添加注意力机制模块,以建立特征图通道间的依赖关系和像素点之间的相关性,使模型更加关注重要的病害特征,弱化不相关的干扰因素,以提高模型对农作物的病害识别能力。注意力机制模块如图4所示,对输入特征图进行通道维度上的分组,分成多个子特征图,其具体的计算过程表达式如下所示:
X
(X
X′
X′
X′
X′=ChannelShuffle(Concat(X′
其中,k=1,2,…,G,X∈R
注意力机制模块包括通道注意力单元和空间注意力单元,如图5所示,其具体计算过程表达式如下所示:
U
U
其中,X表示为输入特征图,σ表示为非线性激活函数Sigmoid,P
步骤4、采用步骤1得到的数据集对经步骤2、3处理后的模型进行训练,并保存训练好的模型。具体训练方法为:使用RMSProp优化器更新网络参数,初始化学习率设置为0.001,动量设定为0.9,权重衰减为0.0001,采用交叉熵损失函数,使用余弦退火学习率更新策略,训练200个epoch,并在每次训练后,在验证集上进行测试,保存验证集精度最高的模型。
为了客观评估本实施例所提出网络模型的性能,将其实验数据与多个较为流行的网络模型进行对比,不同模型在病害数据集上的实验结果如表1所示。
表1不同网络模型在农作物病害数据集上的实验对比
由表1可以观察到,由本实例提出的农作物病害识别模型,通过引入金字塔卷积提高了网络模型对多尺度信息的提取能力,再接入注意力机制模块,使网络能够精准定位病害区域,进一步提高了模型的准确率。实验结果表明,本实例提出的农作物病害识别模型准确率达到了85.25%,同时模型在参数量和运算量远低于其他优秀方法的情况下,却取得了更好的识别效果,进一步验证了本实例提出模型的有效性。
本实施例还提供一种农作物病害识别系统,包括:
数据采集模块,用于获取农作物病害数据集,对数据集进行预处理和数据扩增,得到预处理后的数据集;
模型训练模块,用于构建病害识别模型,采用获得的数据集对所述病害识别模型进行训练,将训练后的模型用于农作物病害识别;
其中,所述病害识别模型以CSPResNet50作为主干网络,并将主干网络中的残差块用金字塔卷积替代其中的3×3卷积,以在不增加计算量和模型大小的情况下,增大卷积核的感受野,提高网络模型对多尺度信息的提取能力,融合不同大小感受野的特征信息来提高模型的整体性能;在主干网络的残差块中,添加注意力机制模块,以建立特征图通道间的依赖关系和像素点之间的相关性,使模型更加关注重要的病害特征,弱化不相关的干扰因素,以提高模型对农作物的病害识别能力。
本实施例的一种农作物病害识别系统,可执行本发明方法实施例所提供的一种农作物病害识别方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本实施例还提供一种农作物病害识别装置,包括:
至少一个处理器;
至少一个存储器,用于存储至少一个程序;
当所述至少一个程序被所述至少一个处理器执行,使得所述至少一个处理器实现上所述方法。
本实施例的一种农作物病害识别装置,可执行本发明方法实施例所提供的一种农作物病害识别方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
本实施例还提供了一种存储介质,存储有可执行本发明方法实施例所提供的一种农作物病害识别方法的指令或程序,当运行该指令或程序时,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的上述描述中,参考术语“一个实施方式/实施例”、“另一实施方式/实施例”或“某些实施方式/实施例”等的描述意指结合实施方式或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施方式,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施方式进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于上述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
- 一种基于文本的元器件识别方法、系统、装置和存储介质
- 一种基于图形的元器件识别方法、系统、装置和存储介质
- 一种标识卡识别方法、装置、系统和可读存储介质
- 一种虹膜识别方法、系统、装置及存储介质
- 一种渐进式图像识别方法、装置、系统及存储介质
- 一种农作物叶片病害识别方法、装置和存储介质
- 基于增量学习的农作物病害虫识别方法、装置及存储介质