一种基于神经网络的柑橘病虫害检测方法转让专利

申请号 : CN202210400877.4

文献号 : CN114519402B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴琪吴云志

申请人 : 安徽农业大学

摘要 :

本发明公开了一种基于神经网络模型的柑橘病虫害检测方法,包括以下步骤:步骤1、获取柑橘病虫害图像作为数据集;步骤2、将数据集分为训练集和测试集,并进行预处理;步骤3、构建Contextual Swin Transformer模型,对模型进行训练得到最优配置参数;步骤4、通过参数为最优配置参数的模型对待识别病虫害种类的柑橘病图像进行识别,得到病虫害识别结果。本发明可降低计算量,提高检测效率和准确性。

权利要求 :

1.一种基于神经网络模型的柑橘病虫害检测方法,其特征在于,基于Contextual Swin Transformer模型实现检测,包括以下步骤:步骤1、获取多种柑橘病虫害的多张图像作为数据集;

步骤2、将数据集分为训练集和测试集,并分别对训练集和测试集中的数据进行预处理;

步骤3、构建Contextual Swin Transformer模型,并将所述训练集输入至Contextual Swin Transformer模型,以对Contextual Swin Transformer模型进行训练;

每次训练时利用Contextual  Swin Transformer模型中的自注意力机制,由Contextual Swin Transformer模型的块划分patches partition将输入的图像分成n个大小为4*4的块patches,并进行展平操作,得到x=(x1,x2...,xn),x表示经过patches partition后得到的向量;Contextual Swin Transformer模型中第i个自注意力机制的输出zi,是由输入xi与对应的query参数矩阵、key参数矩阵相乘再经过SoftMax函数,最后与value参数矩阵相乘得,由此完成将Contextual Swin Transformer模型的输入映射成query向量、key向量、value向量,使query向量、key向量、value向量中的信息传递至Contextual Swin Transformer模型的相对位置编码中;

将Swin Transformer中提出的相对位置偏置策略简单的表示成如下所示:将relative position bias修改成contextual relative position bias,则有:其中:

q,k q T k T

B =Q(B) +K(B)

q k v

为Attention中的query,key,value向量,B ,B,B都为对应Q,K,V的相对位置矩阵,其中M为窗口windows内的patches数,d为Self Attention输出向量z的维度;

q k v

额外建立三个可学习位置偏置表 来指导相对位置矩阵B ,B ,B的生成,如下所示:M×M×d

Q,K,V∈R

2 2

在Contextual Swin Transformer模型中,相对位置编码是生成了M×M ×d个可学习的参数矩阵进行学习;

每次训练后由Contextual Swin Transformer模型输出识别的病虫害种类作为输出结果,并将输出结果与测试集进行误差计算,然后基于误差计算结果调整Contextual Swin Transformer模型的配置参数,由此经过多次训练,得到误差计算结果符合预期时的Contextual Swin Transformer模型的最优配置参数;

步骤4、设置Contextual Swin Transformer模型的配置参数为所述最优配置参数,将待识别病虫害种类的柑橘病图像输入至参数调整为最优配置参数的Contextual Swin Transformer模型,由Contextual Swin Transformer模型输出最终的病虫害种类识别结果。

2.根据权利要求1所述的一种基于神经网络模型的柑橘病虫害检测方法,其特征在于,步骤2中,按7:3的比例将数据集划分为训练集和测试集。

3.根据权利要求1所述的一种基于神经网络模型的柑橘病虫害检测方法,其特征在于,步骤2中所述的预处理包括数据广增、图像填充以及具有层级的滑窗操作处理。

4.根据权利要求3所述的一种基于神经网络模型的柑橘病虫害检测方法,其特征在于,所述数据广增预处理依次包括随机翻转、缩放、随机裁剪、归一化。

5.根据权利要求4所述的一种基于神经网络模型的柑橘病虫害检测方法,其特征在于,所述训练集中数据进行数据广增时,以0.5的概率进行随机翻转,并从若干种尺度中随机挑选一种以对训练集中数据进行缩放。

6.根据权利要求1所述的一种基于神经网络模型的柑橘病虫害检测方法,其特征在于,步骤3中,将训练后的输出结果与测试集进行的误差计算包括分类误差和回归误差,当分类误差、回归误差的计算结果均符合预期时,以此时的Contextual Swin Transformer模型的配置参数为最优配置参数。

说明书 :

一种基于神经网络的柑橘病虫害检测方法

技术领域

[0001] 本发明涉及病虫害检测方法领域,具体是一种基于神经网络模型的柑橘病虫害检测方法。

背景技术

[0002] 在农业种植柑橘中,柑橘的病虫害防治一直是主要问题,因为在柑橘生长过程中会遇到多种病虫害,如果不及时防治,会让种植户减少收益,其中,红蜘蛛、锈壁虱、蚧壳虫、潜叶蛾、溃疡病、炭疽病、疮痂病等是柑橘常见病虫害。所以及时防治病虫害是降低损失的关键。
[0003] 随着科学技术的发展,计算机视觉已经广泛的运用到农业上,通过图像识别能够精准的找到柑橘的病虫害,从而对柑橘的种植与病虫害预防起到了关键性的作用。但现有技术已有的Transformer和传统CNN图像识别应用到柑橘病虫害识别领域,主要存在两大问题:一、视觉实体变化大,在不同场景下视觉性能未必很好,进而导致准确率低;二、有些图像分辨率高,像素点多导致在图像识别过程中存在效率低,计算量大。

发明内容

[0004] 本发明的目的是提供一种基于神经网络模型的柑橘病虫害检测方法,以解决现有技术基于神经网络图像识别的柑橘病虫害检测方法存在的准确率低、计算量大的问题。
[0005] 为了达到上述目的,本发明所采用的技术方案为:
[0006] 一种基于神经网络模型的柑橘病虫害检测方法,基于Contextual Swin Transformer模型实现检测,包括以下步骤:
[0007] 步骤1、获取多种柑橘病虫害的多张图像作为数据集;
[0008] 步骤2、将数据集分为训练集和测试集,并分别对训练集和测试集中的数据进行预处理;
[0009] 步骤3、构建Contextual Swin Transformer模型,并将所述训练集输入至 Contextual Swin Transformer模型,以对Contextual Swin Transformer模型进行训练;
[0010] 每次训练时利用Contextual Swin Transformer模型中的自注意力机制,将 Contextual Swin Transformer模型的输入映射成query向量、key向量、value向量,由此使三个向量中的信息传递至Contextual Swin Transformer模型的相对位置编码中;
[0011] 每次训练后由Contextual Swin Transformer模型输出识别的病虫害种类作为输出结果,并将输出结果与测试集进行误差计算,然后基于误差计算结果调整 Contextual Swin Transformer模型的配置参数,由此经过多次训练,得到误差计算结果符合预期时的Contextual Swin Transformer模型的最优配置参数;
[0012] 步骤4、设置Contextual Swin Transformer模型的配置参数为所述最优配置参数,将待识别病虫害种类的柑橘病图像输入至参数调整为最优配置参数的 Contextual Swin Transformer模型,由Contextual Swin Transformer模型输出最终的病虫害种类识别结果。
[0013] 进一步的步骤2中,按7:3的比例将数据集划分为训练集和测试集。
[0014] 进一步的,步骤2中所述的预处理包括数据广增、图像填充以及具有层级的滑窗操作处理。
[0015] 进一步的,所述数据广增预处理依次包括随机翻转、缩放、随机裁剪、归一化。
[0016] 进一步的,所述训练集中数据进行数据广增时,以0.5的概率进行随机翻转,并从若干种尺度中随机挑选一种以对训练集中数据进行缩放。
[0017] 进一步的步骤3中,由Contextual Swin Transformer模型基于自注意力机制将输入的图像根据大小windows size划分分成n个不重叠windows,得到x=(x1  ,...,xn),x表示根据windows size划分后得到的向量;Contextual Swin Transformer模型中第i个自注意力机制的输出zi,由输入xi与对应的query参数矩阵、key参数矩阵相乘再经过SoftMax函数,最后与value参数矩阵相乘得,由此完成将Contextual Swin Transformer模型的输入映射成query向量、key向量、value向量。
[0018] 进一步的,步骤3中,将训练后的输出结果与测试集进行的误差计算包括分类误差和回归误差,当分类误差、回归误差的计算结果均符合预期时,以此时的Contextual Swin Transformer模型的配置参数为最优配置参数。
[0019] 本发明基于Contextual Swin Transformer模型对柑橘病虫害图像识别,从而实现病虫害种类的检测,其中所使用的Contextual Swin Transformer模型中通过将输入映射成三个不同向量,以此能够保证输出结果的准确性,同时降低计算量,提高检测效率。本发明方法能够高效精准的分析出柑橘的各类病虫害,从而使得种植户针对不同情况对症防治可,起到很好的防治效果。

附图说明

[0020] 图1是本发明方法流程框图。
[0021] 图2是本发明所采用的Contextual Swin Transformer模型的结构图。
[0022] 图3是本发明中信息交互过程的结构图。
[0023] 图4是本发明实施例中检测结果展示的测试结果图。

具体实施方式

[0024] 下面结合附图和实施例对本发明进一步说明。
[0025] 如图1所示,本发明一种基于神经网络模型 的柑橘病虫害的检测方法,包括以下步骤:
[0026] (1)准备数据集:
[0027] 收集包含多种柑橘病虫害的多张叶片图像数据集作为数据集;
[0028] (2)处理数据集:
[0029] 将数据集中的数据按7:3的比例划分为训练集和测试集,并分别对训练集、测试集中的数据进行预处理。
[0030] 预处理的第一步是进行数据广增,数据广增依次包括随机翻转(RandomFlip)、缩放(Resize)、随机裁剪(RandomCrop)、归一化几个过程。其中,训练集中数据进行数据广增时,以0.5的概率进行随机翻转,并从11种尺度中随机挑选1 种以对训练集中数据进行缩放。
[0031] 数据广增后,再对数据进行填充(Pad),以避免特征损失,保留柑橘病虫害的特征。
[0032] 最后,采用具有层级设计的滑窗操作对图像进行处理。
[0033] 滑窗操作处理时,在进行对图像划分的时候,先指定超参数块大小(patch size) 为4*4,将图片切成一个个patch_size*patch_size的窗口大小。在滑窗操作中将注意力计算限制在一个个小窗口中,通过对块内向量进行展平缩小输入特征图的分辨率。滑窗操作处理中的块融合(patch merging)在每个Stage开始前做降采样,调整通道数,进而形成层次化的设计。每次降采样是两倍,即在行方向和列方向上,间隔2选取元素。然后拼接在一起作为一整个张量,最后展开,此时再通过一个全连接层将调整通道维度为原来的两倍,作为修改后Contextual Swin Transformer的输入,经过共12个块融合和Swin Transformer Block组成的模块后,图片的分辨率被降为原来的16倍。
[0034] 经过上述预处理,可从已有训练集、测试集中剔除异常、重复的柑橘病害图像。
[0035] (3)构建Contextual Swin Transformer模型,并进行训练,以得到最优化配置参数:
[0036] 如图2所示,本发明的Contextual Swin Transformer模型包括块划分层(Patch Partition),由Patch embeding和Contextual Swin Transformer Block所组成的层。
[0037] 如图3所示,本发明模型的信息传递过程为,输入向量x经过参数化矩阵WQ、 WK和WVq k相乘得到相应的q,k,v向量。q,k相关的相对位置嵌入矩阵r ,r与q, k,v相乘交换信息后与T v
qk相加,并经过SoftMax层。v相关的相对位置嵌入矩阵r与v相乘后再与v相加,相加得到的输出与SoftMax的输出相乘。
[0038] 本发明中,将训练集输入至Contextual Swin Transformer模型,以对 Contextual Swin Transformer模型进行训练;
[0039] 每次训练时利用Contextual Swin Transformer模型中的自注意力机制Self Attention,将Contextual Swin Transformer模型的输入(即训练集的图像数据) 映射成query向量、key向量、value向量,由此使三个向量中的信息传递至 Contextual Swin Transformer模型的相对位置编码中。Self Attention的计算过程如下:
[0040]Q K V
[0041] 其中, 是参数化的矩阵,W,W,W都是可学习的参数矩阵,x表示Self Attention中窗口(windows)内的向量,z表示self attention的输出向量,Swin Transformer根据窗口大小将特征图分割成n个不重叠的窗口,其中i表示的是第i个窗口(windows),j表示第j个窗口(windows), Swin Transformer模型中的相对位置编码没有产生与query、key和value值进行信息交互,而本发明的方法则是能够与query,key和value值进行交互,将三个向量中的信息传递到相对位置编码中。
[0042] 本发明Contextual Swin Transformer模型中的相对位置编码如下:
[0043]
[0044] 从上述公式可以看出,本发明中的Contextual Swin Transformer模型,由 Contextual Swin Transformer模型基于自注意力机制将输入的图像根据大小 windows size划分分成n个不重叠windows,得到x=(x1,...,xn),x表示windows size划分后得到的向量;n表示为窗口(windows)的数量,其中i={1、2、3…… n},j={2、3……n};Contextual Swin Transformer模型中第i个Self Attention 的输出表示为zi,由输入xi与对应的query参数矩阵、key参数矩阵相乘再经过 SoftMax函数,最后与value参数矩阵相乘得,由此完成将Contextual Swin Transformer模型的输入映射成query向量、key向量、value向量。
[0045] 为了更直观的表示,可将Swin Transformer中提出的相对位置偏置策略简单的表示成如下所示:
[0046]
[0047] 在本发明中则是将relative position bias修改成contextual relative position bias,则有:
[0048]
[0049] 其中:
[0050] Bq,k=Q(Bq)T+K(Bk)T
[0051] 为Attention中的query,key,value向量,Bq,Bk,Bv都为对应Q,K,V的相对位置矩阵,其中M为窗口(windows)内的块(patches)数, d为Self Attention输出向量z的维度。
[0052] 本发明额外建立三个可学习位置偏置表 来指导相对位置矩阵 Bq,k v
B,B的生成,如下所示:
[0053] Q,K,V∈RM×M×d
[0054]
[0055] 在Contextual Swin Transformer模型中,相对位置编码是生成了M2×M2×d 个可学习的参数矩阵进行学习。而本发明Contextual Swin Transformer模型中,对比传统的相对位置偏置,增加了与query、value、key三个向量的信息传递,
[0056] 因此相比传统的相对位置编码,本发明方法大大减少了参数数量。
[0057] 经过多次训练,每次训练时由Contextual Swin Transformer模型输出病虫害种类作为输出结果。将模型输出结果与测试集进行分类误差和回归误差计算,根据验证和测试结果将训练后的Contextual Swin Transformer模型的配置参数调节为最优配置参数,由此最优配置参数下的Contextual Swin Transformer模型作为最终的模型。
[0058] (5)图像识别:
[0059] 选择三种柑橘病虫害(HLB,HEALTH和ILL)对应的图像,将这些病虫害图像作为待识别数据集,输入至步骤(4)最终的Contextual Swin Transformer模型中,由Contextual Swin Transformer模型输出病虫害识别结果,得到输入的图像属于柑橘的哪一种病虫害的信息,实现精准辨别检测。
[0060] 如图4所示,通过本发明方法检测的图像可以看出该模型具备检测柑橘病虫的能力,准确率能达到95%以上。
[0061] 本发明所述的实施例仅仅是对本发明的优选实施方式进行的描述,并非对本发明构思和范围进行限定,在不脱离本发明设计思想的前提下,本领域中工程技术人员对本发明的技术方案作出的各种变型和改进,均应落入本发明的保护范围,本发明请求保护的技术内容,已经全部记载在权利要求书中。