CN113538390A - 一种柚子病虫害的快速识别方法 - Google Patents
一种柚子病虫害的快速识别方法 Download PDFInfo
- Publication number
- CN113538390A CN113538390A CN202110838759.7A CN202110838759A CN113538390A CN 113538390 A CN113538390 A CN 113538390A CN 202110838759 A CN202110838759 A CN 202110838759A CN 113538390 A CN113538390 A CN 113538390A
- Authority
- CN
- China
- Prior art keywords
- frame
- prediction
- loss
- box
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0012—Biomedical image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/047—Probabilistic or stochastic networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30004—Biomedical image processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Medical Informatics (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
一种柚子病虫害的快速识别方法,包括如下步骤:收集各种柚子病虫害的图片,采用LabelImg对各图片中病虫害根据其类别进行标注,得到训练数据集和验证数据集;将训练集和验证集中的图片输入YOLOv5x网络模型进行模型训练,得到YOLOv5x网络模型的最佳权重数据;将最佳权重数据加载到YOLOv5x网络模型中,输入待识别图片,输出识别的病虫害类别。本发明通过采集可涵盖几乎所有类别的柚子病虫害图片作为训练预测模型的数据集,提高目标检测的实用性,采用YOLOv5网络模型达到快速识别和预测的目的,为预防病虫害提供技术支撑。
Description
技术领域
本发明涉及目标检测技术领域,尤其涉及一种柚子病虫害的快速识别方法。
背景技术
农业病虫害是影响农业经济损害的重要因素之一,各种病虫害给农产品产量和品质带来恶劣的影响,因此做好病虫害的预防意义重大,而做好病虫害的预防,必须做好病虫害的预测和诊断。目前,大多数种植户对农作物病虫害的判别方法停留在传统的实地目测上,通过农作物的外观表面形态并结合个人的生产经验等进行判断,多依赖于个人经验,误差较大,且难以一一甄别。专家对于病虫害识别虽然具有丰富经验,但往往不能及时赶往现场,或者因有限的人力资源不能进行大型区域识别,容易导致误判和漏判。因此,如何有效、快捷地防治农作物病虫害,成为当前智慧农业必须考虑的问题。柚子是常见的水果之一,营养丰富,市场需求量大,但其在生长过程中也不可避免会遭受病虫害,常见的病虫害有螨类、蚧类、潜叶蛾类、炭疽病等,只有准确得知是何种病虫类型,才能对症下药,有助于果实的成长。
发明内容
本发明的目的是克服上述现有技术的缺点,提供一种实用性高、目标检测准确性好、可提高种植效益的基于YOLOv5的柚子病虫害的快速识别方法。
本发明是通过以下技术方案来实现的:
S1、收集柚子病虫害的图片,采用LabelImg对各图片中的病虫害根据其类别进行标注,构成数据集,将数据集按照一定的比例随机分为训练集和验证集;
S2、将训练集和验证集中的图片输入YOLOv5x网络模型进行模型训练,得到YOLOv5x网络模型的最佳权重数据;
S3、将最佳权重数据加载到YOLOv5x网络模型中,输入待识别图片,输出识别的病虫害类别;
所述YOLOv5网络模型包括依次连接的输入端、Backbone骨干网络、Neck网络和Head输出端,所述S2步骤中将训练集和验证集中的图片输入YOLOv5网络模型进行模型训练的方法为:
S2-1、图片预处理:图片进入输入端,输入端对图片进行预处理,预处理包括Mosaic数据增强、自适应锚框计算和自适应图片缩放;
S2-2、特征提取:预处理后的图片进入Backbone骨干网络,进行特征提取后得到三个不同大小的特征图;
S2-3、特征融合:将S2-2步骤得到的三个不同大小的特征图输入Neck网络进行特征融合,得到三个尺度的特征图;
S2-4、预测输出:将S2-3步骤得到的三个尺度的特征图输入Head输出端,得到三个特征张量,由此得到预测框的位置、类别和置信度;在训练阶段,将预测框与真实框进行匹配得出正负样本,然后通过计算损失函数来调节权重参数,验证阶段采用加权非极大值抑制的方式筛选预测框,通过计算准确率、平均精度来不断优化模型参数。
进一步的,所述病虫害包括桔小实蝇、菜粉蝶、柑橘凤蝶幼虫、柑橘凤蝶、疮痂果、疮痂叶、溃疡果、潜叶蛾、砂皮病、黄斑病、蚧壳虫、铁锈虱、炭疽果、黑星病、脚腐病、膏药病、炭疽叶、煤烟病、蚜虫、黑刺粉虱、红蜘蛛。
进一步的,YOLOv5x网络模型的初始锚框设定为[116,90,156,198,373,326]、[30,61,62,45,59,119]、[10,13,16,30,33,23],网络模型在初始锚框的基础上训练得到预测框,并和真实框进行比较,根据差值反向更新,迭代调整网络模型参数。
进一步的,所述YOLOv5网络模型的训练中通过设置参数cache-images来缓存图像以加快训练速度,设置参数rect进行矩形训练,设置参数multi-scale进行多尺度训练,设置参数evolve进化超参数,使用默认初始学习率lr0=0.01、lrf=0.2,动量momentum=0.937。
进一步的,所述Backbone骨干网络包含Focus结构和CSP结构,Focus结构中含有切片操作,将预处理后尺寸为640×640×3的图片接入Focus结构中,通过切片操作与Concat操作,得到160×160×12的特征图,然后进行一次32个卷积核操作,得到160×160×32的特征图。
进一步的,所述S2-2中三个不同大小的特征图分别为M1、M2、M3,特征图M1的大小为80×80,特征图M2的大小为40×40,特征图M3的大小为20×20;
所述Neck网络采用FPN+PAN的结构,特征金字塔FPN利用上采样的方式对信息进行传递融合,路径聚合网络PAN采用自底向上的特征金字塔;S2-3步骤中三个尺度的特征图分别为F2、P1、P2;所述Neck网络将特征图M3进行上采样,然后和特征图M2特征融合,得到40×40的特征图F1;特征图F1再经过上采样和特征图M1特征融合,得到80×80的特征图F2;特征图F2经过步长为2的Conv结构,和特征图F1特征融合,得到40×40的特征图P1;特征图P1经过步长为2的Conv结构,和特征图M3特征融合,得到20×20的特征图P2。
进一步的,所述Head输出端包括Detect结构,特征图F2、P1、P2输入到Detect结构后得到80×80×(B×(5+C))、40×40×(B×(5+C))、40×40×(B×(5+C))这三个特征张量,其中C为数据集分类数,B为每个特征张量的锚框数量,B=3,C=2;
每个特征张量为(tx,ty,tw,th,po,pc1,pc2)×3,其中tx、ty是预测框目标中心点相对于该点所在网格左上角的偏移量,tw、th分别是预测框相对于锚框在宽度和高度上的缩放尺度,po为置信度信息,(pc1,pc2)为类别信息;以图片每个网格的中心作为锚框的中心基点,通过(tx,ty,tw,th)和锚框的宽高,可以得出预测框的位置;假设某一网格(中心)距离图片左上角的边距为(cx,cy),该网格对应的锚框的宽和高分别为(pw,ph),则预测框的位置信息就可以表示为:
bx=2σ(tx)-0.5+cx
by=2σ(ty)-0.5+cy
bw=pw(2σ(tw))2
bh=ph(2σ(th))2
其中,bx、by分别为预测框的中心点坐标,bw、bh分别为预测框的宽度和高度,σ是sigmoid函数,预测框的置信度为σ(po),预测框的类别为(σ(pc1),σ(pc2))。
进一步的,所述S2-4中在训练阶段,将预测框与真实框进行匹配得出正负样本,包括:
采用跨网格匹配,即从真实框所在网格的上下左右的四个网格中找到离真实框中心点最近的两个网格,再加上真实框所在网格共三个网格进行匹配,计算真实框和这三个网格的所有锚框的宽高比,当真实框的宽与锚框的宽的比值、真实框的高与锚框的高的比值均大于1/4且小于4,则认为匹配,即同时满足下列公式:
hyp=4
其中,GT_W是真实框的宽,GT_H是真实框的高,Anchor_W是锚框的宽,Anchor_H是锚框的高;
否则认为不匹配;
匹配的锚框通过预测框的回归公式得出匹配的预测框的位置信息,预测框的回归公式如下:
bx=2σ(tx)-0.5+cx
by=2σ(ty)-0.5+cy
bw=pw(2σ(tw))2
bh=ph(2σ(th))2
其中,bx、by分别为预测框的中心点坐标,bw、bh分别为预测框的宽度和高度,σ是sigmoid函数,预测框的置信度为σ(po),预测框的类别为(σ(pc1),σ(pc2));
匹配的预测框作为正样本,计算与真实框的定位损失、置信度损失和分类损失,正样本匹配的真实框的置信度为真实框和正样本的交并比;不匹配的预测框则作为负样本,只计算与真实框的置信度损失,而负样本匹配的真实框的置信度为0。
进一步的,所述损失函数包括分类损失函数loss(class)、定位损失函数loss(box)和置信度损失函数loss(obj),损失函数Loss的定义如下:
Loss=loss(box)+loss(obj)+loss(class)
loss(GIOU)=1-GIOU
式中的参数有以下定义:网格为S×S,每个网格产生B个锚框,A为真实框矩形面积,B为预测框矩形面积,C为真实框与预测框形成的最小外接矩形面积,即同时包含了预测框和真实框的最小框的面积;IOU指交并比,预测框和真实框的交集和并集的比值;表示第i个网格的第j个预测框匹配上了这个目标,如果匹配,否则为0;表示第i个网格的第j个预测框不匹配该目标;是第i个网格边界框的真实置信度,c是第i个网格边界框预测的置信度;是真实的条件类别概率,Pi(c)是网络预测的条件类别概率;loss(BCE)是指二元交叉熵损失;λbox是指定位损失的权重系数,λclass是指分类损失的权重系数;而置信度损失由两部分组成,正样本置信度损失和负样本置信度损失,λobj是指正样本置信度损失的权重系数,λnoobj是指负样本置信度损失的权重系数。
本发明通过采集可涵盖几乎所有类别的柚子病虫害图片作为训练预测模型的数据集,数据范围广,可提高目标检测的实用性;采用YOLOv5网络模型对柚子病虫害进行识别检测,模型尺寸小,检测速度快,方便快速部署,并可检测各种大小的目标,达到快速识别和预测的目的,为预防病虫害提供技术支撑。
附图说明
图1为本发明实施例中的标注的病虫害图片。
图2为本发明实施例中的标注的另一病虫害图片。
图3为本发明实施例中的识别结果图。
图4为本发明实施例中的另一识别结果图
图5为本发明实施例中的标签类别识别效果展示图。
图6为本发明实施例中目标检测评价指标(MAP)示意图。
图7为本发明实施例中目标检测准确率(Precision)的示意图。
具体实施方式
一种柚子病虫害的快速识别方法,包括如下步骤:
S1、收集柚子病虫害的图片,如图1、图2所示,采用LabelImg对各图片中病虫害根据其类别进行标注,构成数据集,将数据集按照一定的比例随机分为训练集和验证集。对病虫害类别标注需要一定的专业知识,务必准确无误。
病虫害包括桔小实蝇、菜粉蝶、柑橘凤蝶幼虫、柑橘凤蝶、疮痂果、疮痂叶、溃疡果、潜叶蛾、砂皮病、黄斑病、蚧壳虫、铁锈虱、炭疽果、黑星病、脚腐病、膏药病、炭疽叶、煤烟病、蚜虫、黑刺粉虱、红蜘蛛。图片可来自于网络,以及实地拍摄。
训练集、验证集和测试集可按一定的比例划分,如总数据集800张图片,可分配训练集560张,验证集160张,测试集80张。测试集中的图片无需标注。
本发明可采取如下运行环境:Windows10操作系统,选用PyTorch架构,使用NVIDIA2080Ti的显卡进行运算,CPU为Intel(R)Core(TM)E5,Python3.7语言,CUDA10.0加速环境。
S2、将训练集和验证集中的图片输入YOLOv5x网络模型进行模型训练,得到YOLOv5x网络模型的最佳权重数据。
S3、将最佳权重数据加载到YOLOv5x网络模型中,输入待识别图片,如图3、图4所示,输出识别的病虫害类别。
本发明采用YOLOv5(You Only Look Once)进行目标识别,YOLOv5的图像推理速度最快达0.007s,即每秒可处理140帧,满足视频图像实时检测需求,同时结构更为小巧,YOLOv5s版本的权重数据文件为YOLOv4的1/9,大小为27MB。
YOLOv5网络模型包括依次连接的输入端、Backbone骨干网络、Neck网络和Head输出端,将训练集和验证集中的图片输入YOLOv5网络模型进行模型训练的方法和步骤为:
S2-1、图片预处理:图片进入输入端,输入端对图片进行预处理,预处理包括Mosaic数据增强、自适应锚框计算和自适应图片缩放。
图片预处理是将输入的图像缩放到网络的输入大小,并进行归一化等操作。在网络训练阶段,YOLOv5使用Mosaic数据增强操作提升模型的训练速度和网络的精度,并提出了一种自适应锚框计算与自适应图片缩放方法。Mosaic方式是一种混合四幅训练图像的数据增强方法,这种数据增强的方法可以丰富检测物体的背景,提高检测的精度。Mosaic数据增强的基本流程为首先随机读取四张图片,然后分别对四张图片进行裁剪、翻转、缩放、色域变化等,并且按照四个方向位置摆好,最后再进行图片的组合,非常适合小目标的检测。
在YOLO系列算法中,针对不同的数据集,都需要设定特定长宽的锚点框。在网络训练阶段,模型在初始锚点框的基础上输出对应的预测框,计算其与真实框之间的差距,并执行反向更新操作,从而更新整个网络的参数,因此设定初始锚点框也是比较关键的一环,同时需要将输入图片的尺寸变换成固定大小,再送入检测模型中训练。本实施例中,图片预处理后的固定尺寸大小为640×640×3,YOLOv5网络模型的初始锚框设定为[116,90,156,198,373,326]、[30,61,62,45,59,119]、[10,13,16,30,33,23],网络模型在初始锚框的基础上训练得到预测框,并和真实框进行比较,根据差值反向更新,迭代调整网络模型参数。
S2-2、特征提取:预处理后的图片进入Backbone骨干网络,进行特征提取后得到三个不同大小的特征图。
Backbone骨干网络包含Focus结构和CSP结构,Focus结构中含有切片操作,将预处理后尺寸为640×640×3的图片接入Focus结构中,通过切片操作与Concat操作,得到160×160×12的特征图,然后进行一次32个卷积核操作(该通道个数仅仅针对的是YOLOv5s结构,其它结构会有相应的变化),得到160×160×32的特征图。
YOLOv5模型里中设计了2种跨阶段局部网络CSP(Cross Stage Partial Network)结构,BottleneckCSP(True)和BottleneckCSP(False)。其中,BottleneckCSP(True)结构主要应用于Backbone网络中,BottleneckCSP(False)结构主要应用于Neck网络结构中。这两种CSP结构采用了密集跨层跳层连接的思想,进行局部跨层融合,利用不同层的特征信息来获得更为丰富的特征图。
S2-3、特征融合:将S2-2步骤得到的三个不同大小的特征图输入Neck网络进行特征融合,得到三个尺度的特征图。
本实施例中,预处理后的图片尺寸为640×640×3,三个不同大小的特征图分别为M1、M2、M3,特征图M1的大小为80×80,特征图M2的大小为40×40,特征图M3的大小为20×20。
YOLOv5的Neck网络采用FPN+PAN的结构,特征金字塔FPN利用上采样的方式对信息进行传递融合,路径聚合网络PAN采用自底向上的特征金字塔;S2-3步骤中三个尺度的特征图分别为F2、P1、P2;所述Neck网络将特征图M3进行上采样,然后和特征图M2融合,得到40×40的特征图F1;特征图F1再经过上采样和特征图M1特征融合,得到80×80的特征图F2;特征图F2经过步长为2的Conv结构,和特征图F1特征融合,得到40×40的特征图P1;特征图P1经过步长为2的Conv结构,和特征图M3特征融合,得到20×20的特征图P2。
YOLOv5网络模型在Neck网络部分构建PAN网络结构,通过在FPN结构的基础上增加一条自下而上的路径,缩短了底层特征图信息与顶层特征图信息融合的路径,整个特征图融合的过程均使用Concat拼接完成。Head输出端部分根据提取的特征预测目标,通过在三个不同尺度的特征图上,分别对应使用三种不同大小的锚框预测目标,并使用加权极大值抑制的方式对目标框进行筛选。
S2-4、预测输出:将S2-3步骤得到的三个尺度的特征图输入Head输出端,得到三个特征张量,由此得到预测框的位置、类别和置信度。在训练集阶段,直接将预测框与真实框进行匹配得出正负样本,然后计算YOLOv5损失函数(包括分类损失函数、定位损失函数和置信度损失函数);在验证集阶段,采用加权非极大值抑制,筛选出预测框,得出准确率、平均精度等评价指标来不断优化模型参数。
Head输出端包括损失函数和非极大值抑制(NMS)。YOLOv5的损失函数包括分类损失、定位损失和置信度损失,预测框的训练过程中使用GIOU_Loss作为定位损失函数,通过计算损失函数GIOU_Loss调节权重参数,有效解决了边界框不重合时问题。
目标检测的后处理过程中,针对出现的众多目标框的筛选,采用加权NMS(非极大值抑制)的方式筛选预测框,并通过与真实框比对,获得最优目标框,并使用反向传播算法以进一步训练YOLOv5网络,优化模型参数。
YOLOv5不同的层使用不同的学习率调整方法,分别分为权重层(Weight)、偏执层(Bias)和归一化层(BatchNorm2d),单独调整不同层的学习率可以使得模型训练的更好。由于刚开始训练时,模型的权重是随机初始化的,此时若选择一个较大的学习率,可能带来模型的不稳定,选择预热学习率的方式,可以使得开始训练的迭代次数内学习率较小,在预热的小学习率下,模型可以慢慢趋于稳定,等模型相对稳定后在选择预先设置的学习率进行训练,使得模型收敛速度变得更快,模型效果更佳。小学习率的范围为0到初始学习率,即0到0.01。YOLOv5在对学习率更新就采用了warm-up的方法预热学习率,在warm-up阶段以后采用的余弦退火算法来对学习率进行更新。
本实施例中,所述YOLOv5网络模型的训练中通过设置参数cache-images来缓存图像以加快训练速度,设置参数rect进行矩形训练,设置参数multi-scale进行多尺度训练,设置参数evolve进化超参数。设置训练的数据集最大迭代次数(Epoch)为300次,每次模型训练的输入图片数量(Batchsize)为12,使用默认初始学习率lr0=0.01、lrf=0.2,动量momentum=0.937。依据此模型配置,对柚子病虫害摄食行为数据集进行训练,训练结果如图3、图4所示,图中的框代表预测框的位置,预测框上标记有类别和置信度信息,如mushi0.9表示类别为柑橘木虱、置信度为0.9,fengdie 0.9表示类别为凤蝶、置信度为0.9。
YOLOv5的Head输出端包括Detect结构,本实施例中,特征图F2、P1、P2输入到Detect结构后得到80×80×(B×(5+C))、40×40×(B×(5+C))、40×40×(B×(5+C))这三个特征张量,其中C为数据集分类数,为了加快收敛,为每种尺度的特征张量设置了B个锚框(anchor box),预测框(bounding box)在设置的锚框基础上微调,B=3,C=2。
预测框的回归方法如下:
YOLOv5网络每个尺度网络输出为一个S×S×(B×(5+C))的张量。输出特征图的高度、宽度相当于将图像划分为S×S个网格,图像的每个网格对应输出特征图平面上的一个点。
设每个特征张量为:(tx,ty,tw,th,po,pc1,pc2)×3,其中(tx,ty,tw,th)为定位信息,tx、ty是预测框目标中心点相对于该点所在网格左上角的偏移量,tw、th是预测框相对于锚框在宽度和高度上的缩放尺度,po为置信度信息,(pc1,pc2)为类别信息;以图片每个网格的中心作为锚框的中心基点,通过(tx,ty,tw,th)和锚框的宽高,可以得出预测框的位置。具体为:假设某一网格(中心)距离图像左上角的边距为(cx,cy),该网格对应的锚框的宽和高分别为(pw,ph),则预测框的位置信息就可以表示为:
bx=2σ(tx)-0.5+cx
by=2σ(ty)-0.5+cy
bw=pw(2σ(tw))2
bh=ph(2σ(th))2
其中,bx、by分别为预测框的中心点坐标,bw、bh分别为预测框的宽度和高度,σ是sigmoid函数,预测框的置信度为σ(po),预测框的类别为(σ(pc1),σ(pc2))。
真实框和预测框的匹配:
如上所述,YOLOv5网络的输出张量能得到众多的预测框,为了降低计算量,需要匹配出与真实框(标注的边框)接近的预测框,再计算损失函数。
采用跨网格匹配,即从真实框(标注的边框)所在网格的上下左右的四个网格中找到离真实框中心点最近的两个网格,再加上真实框所在网格共三个网格进行匹配,计算真实框和这三个网格的所有的预测框宽高比,当真实框的宽与锚框的宽的比值、真实框的高与锚框的高的比值均大于1/4且小于4,则认为匹配,匹配的预测框通过预测框的回归公式得出匹配预测框的位置信息。预测框的回归公式为上述预测框的位置信息表达式。否则则认为不匹配。
宽高比表达公式为:
hyp=4
式中GT_W是真实框的宽,GT_H是真实框的高,Anchor_W是预测框的宽,Anchor_H是预测框的高。这两个不等式都要满足才认为匹配。
匹配的预测框作为正样本,计算与真实框的定位损失、置信度损失和分类损失,正样本匹配的真实框的置信度为真实框和正样本的交并比IoU;不匹配的预测框则作为负样本,只计算与真实框的置信度损失,而负样本匹配的真实框的置信度为0。
模型优化:计算YOLOv5的损失函数,使用反向传播算法进一步训练YOLOv5网络,通过验证集不断优化模型参数。
所述损失函数包括分类损失函数loss(class)、定位损失函数loss(box)和置信度损失函数loss(obj),损失函数Loss的定义如下:
Loss=loss(box)+loss(obj)+loss(class)
loss(GIOU)=1-GIOU
式中的参数有以下定义,网格为S×S,每个网格产生B个锚框,B对应上式中的B,意思是指遍历每个网格的锚框,查找符合条件能匹配真实框的预测框。A为真实框矩形面积,B为预测框矩形面积,C为真实框与预测框形成的最小外接矩形面积,即同时包含了预测框和真实框的最小框的面积;IOU(Intersection over Union)指交并比,预测框和真实框的交集和并集的比值;表示第i个网格的第j个预测框匹配上了这个目标,如果匹配,否则为0;表示第i个网格的第j个预测框不匹配该目标;是第i个网格边界框的真实置信度,c是第i个网格边界框预测的置信度;是真实的条件类别概率,Pi(c)是网络预测的条件类别概率;loss(BCE)是指二元交叉熵损失(Binary Cross Entropy);λbox是指定位损失的权重系数,λclass是指分类损失的权重系数;而置信度损失由两部分组成,正样本置信度损失和负样本置信度损失,λobj是指正样本置信度损失的权重系数,λnoobj是指负样本置信度损失的权重系数。
本发明得到的YOLOv5x网络模型的识别效果如图5-图7所示,图5中柱状图显示本模型可识别21种病虫害,800张原始图片,标注框x,y坐标在整个图中的位置分布很均匀,标注框height与width的选取也很平均,右上的矩形框为左下图与右下图的可视化展示。
mAP(mean average precision)表示平均准确率均值,取值在[0,1]之间,mAP越大,模型检测性能越高,是评价目标检测算法性能的最重要指标之一。将检测图像中,对某一个类别的所有目标检测框的置信度由大到小排序,逐个计算累计至每个检测框时的准确率及召回率,并绘制precision-recall曲线。AP即为单个类别precision-recall曲线与精度、召回率坐标轴围成的面积,mAP为多个类别AP的平均值。
如图6所示,mAP-0.5训练epoch在220轮之后在0.7535附近趋于稳定,mAP-0.5:0.9训练epoch在150轮之后在0.65附近趋于稳定,box_loss.预测框位置box的loss在200轮之后趋于稳定,cls_loss置信度score的loss在150轮之后趋于稳定。图7为准确率与召回率共同构建的map图,图中all classes 0.685map@0.5。
结果表明:用本发明的方法训练的YOLOv5模型的目标定位准确,识别率高,YOLOv5算法能实现柚子病虫害实时检测,准确率和检测速度均能满足实验场景需求,为其他种类水果的病虫害检测提供参考。上列详细说明是针对本发明可行实施例的具体说明,该实施例并非用以限制本发明的专利范围,凡未脱离本发明所为的等效实施或变更,均应包含于本案的专利范围中。
Claims (9)
1.一种柚子病虫害的快速识别方法,其特征在于,包括如下步骤:
S1、收集柚子病虫害的图片,采用LabelImg对各图片中的病虫害根据其类别进行标注,构成数据集,将数据集按照一定的比例随机分为训练集和验证集;
S2、将训练集和验证集中的图片输入YOLOv5x网络模型进行模型训练,得到YOLOv5x网络模型的最佳权重数据;
S3、将最佳权重数据加载到YOLOv5x网络模型中,输入待识别图片,输出识别的病虫害类别;
所述YOLOv5网络模型包括依次连接的输入端、Backbone骨干网络、Neck网络和Head输出端,所述S2步骤中将训练集和验证集中的图片输入YOLOv5网络模型进行模型训练的方法为:
S2-1、图片预处理:图片进入输入端,输入端对图片进行预处理,预处理包括Mosaic数据增强、自适应锚框计算和自适应图片缩放;
S2-2、特征提取:预处理后的图片进入Backbone骨干网络,进行特征提取后得到三个不同大小的特征图;
S2-3、特征融合:将S2-2步骤得到的三个不同大小的特征图输入Neck网络进行特征融合,得到三个尺度的特征图;
S2-4、预测输出:将S2-3步骤得到的三个尺度的特征图输入Head输出端,得到三个特征张量,由此得到预测框的位置、类别和置信度;在训练阶段,将预测框与真实框进行匹配得出正负样本,然后通过计算损失函数来调节权重参数,验证阶段采用加权非极大值抑制的方式筛选预测框,通过计算准确率、平均精度来不断优化模型参数。
2.根据权利要求1所述的一种柚子病虫害的快速识别方法,其特征在于,所述病虫害包括桔小实蝇、菜粉蝶、柑橘凤蝶幼虫、柑橘凤蝶、疮痂果、疮痂叶、溃疡果、潜叶蛾、砂皮病、黄斑病、蚧壳虫、铁锈虱、炭疽果、黑星病、脚腐病、膏药病、炭疽叶、煤烟病、蚜虫、黑刺粉虱和红蜘蛛。
3.根据权利要求1所述的一种柚子病虫害的快速识别方法,其特征在于,YOLOv5x网络模型的初始锚框设定为[116,90,156,198,373,326]、[30,61,62,45,59,119]、[10,13,16,30,33,23],网络模型在初始锚框的基础上训练得到预测框,并和真实框进行比较,根据差值反向更新,迭代调整网络模型参数。
4.根据权利要求1所述的一种柚子病虫害的快速识别方法,其特征在于,所述YOLOv5网络模型的训练中通过设置参数cache-images来缓存图像以加快训练速度,设置参数rect进行矩形训练,设置参数multi-scale进行多尺度训练,设置参数evolve进化超参数,使用默认初始学习率lr0=0.01、lrf=0.2,动量momentum=0.937。
5.根据权利要求1所述的一种柚子病虫害的快速识别方法,其特征在于,所述Backbone骨干网络包含Focus结构和CSP结构,Focus结构中含有切片操作,将预处理后尺寸为640×640×3的图片接入Focus结构中,通过切片操作与Concat操作,得到160×160×12的特征图,然后进行一次32个卷积核操作,得到160×160×32的特征图。
6.根据权利要求1所述的一种柚子病虫害的快速识别方法,其特征在于,所述S2-2中三个不同大小的特征图分别为M1、M2、M3,特征图M1的大小为80×80,特征图M2的大小为40×40,特征图M3的大小为20×20;
所述Neck网络采用FPN+PAN的结构,特征金字塔FPN利用上采样的方式对信息进行传递融合,路径聚合网络PAN采用自底向上的特征金字塔;S2-3步骤中三个尺度的特征图分别为F2、P1、P2;所述Neck网络将特征图M3进行上采样,然后和特征图M2特征融合,得到40×40的特征图F1;特征图F1再经过上采样和特征图M1特征融合,得到80×80的特征图F2;特征图F2经过步长为2的Conv结构,和特征图F1特征融合,得到40×40的特征图P1;特征图P1经过步长为2的Conv结构,和特征图M3特征融合,得到20×20的特征图P2。
7.根据权利要求6所述的一种柚子病虫害的快速识别方法,其特征在于,所述Head输出端包括Detect结构,特征图F2、P1、P2输入到Detect结构后得到80×80×(B×(5+C))、40×40×(B×(5+C))、40×40×(B×(5+C))这三个特征张量,其中C为数据集分类数,B为每个特征张量的锚框数量,B=3,C=2;
每个特征张量为(tx,ty,tw,th,po,pc1,pc2)×3,其中tx、ty是预测框目标中心点相对于该点所在网格左上角的偏移量,tw、th分别是预测框相对于锚框在宽度和高度上的缩放尺度,po为置信度信息,(pc1,pc2)为类别信息;以图片中每个网格的中心作为锚框的中心基点,通过(tx,ty,tw,th)和锚框的宽高,可以得出预测框的位置;假设某一网格距离图片左上角的边距为(cx,cy),该网格对应的锚框的宽和高分别为(pw,ph),则预测框的位置信息就可以表示为:
bx=2σ(tx)-0.5+cx
by=2σ(ty)-0.5+cy
bw=pw(2σ(tw))2
bh=ph(2σ(th))2
其中,bx、by分别为预测框的中心点坐标,bw、bh分别为预测框的宽度和高度,σ是sigmoid函数,预测框的置信度为σ(po),预测框的类别为(σ(pc1),σ(pc2))。
8.根据权利要求1所述的一种柚子病虫害的快速识别方法,其特征在于,所述S2-4中在训练阶段,将预测框与真实框进行匹配得出正负样本,包括:
采用跨网格匹配,即从真实框所在网格的上下左右的四个网格中找到离真实框中心点最近的两个网格,再加上真实框所在网格共三个网格进行匹配,计算真实框和这三个网格的所有锚框的宽高比,当真实框的宽与锚框的宽的比值、真实框的高与锚框的高的比值均大于1/4且小于4,则认为匹配,即同时满足下列公式:
hyp=4
其中,GT_W是真实框的宽,GT_H是真实框的高,Anchor_W是锚框的宽,Anchor_H是锚框的高;
否则认为不匹配;
匹配的锚框通过预测框的回归公式得出匹配的预测框的位置信息,预测框的回归公式如下:
bx=2σ(tx)-0.5+cx
by=2σ(ty)-0.5+cy
bw=pw(2σ(tw))2
bh=ph(2σ(th))2
其中,bx、by分别为预测框的中心点坐标,bw、bh分别为预测框的宽度和高度,σ是sigmoid函数,预测框的置信度为σ(po),预测框的类别为(σ(pc1),σ(pc2));
匹配的预测框作为正样本,计算与真实框的定位损失、置信度损失和分类损失,正样本匹配的真实框的置信度为真实框和正样本的交并比;不匹配的预测框则作为负样本,只计算与真实框的置信度损失,而负样本匹配的真实框的置信度为0。
9.根据权利要求1所述的一种柚子病虫害的快速识别方法,其特征在于,所述损失函数包括分类损失函数loss(class)、定位损失函数loss(box)和置信度损失函数loss(obj),损失函数Loss的定义如下:
Loss=loss(box)+loss(obj)+loss(class)
loss(GIOU)=1-GIOU
式中的参数有以下定义:网格为S×S,每个网格产生B个锚框,A为真实框矩形面积,B为预测框矩形面积,C为真实框与预测框形成的最小外接矩形面积,即同时包含了预测框和真实框的最小框的面积;IOU指交并比,预测框和真实框的交集和并集的比值;表示第i个网格的第j个预测框匹配上了这个目标,如果匹配,否则为0;表示第i个网格的第j个预测框不匹配该目标;是第i个网格边界框的真实置信度,c是第i个网格边界框预测的置信度;是真实的条件类别概率,Pi(c)是网络预测的条件类别概率;loss(BCE)是指二元交叉熵损失;λbox是指定位损失的权重系数,λclass是指分类损失的权重系数;而置信度损失由两部分组成,正样本置信度损失和负样本置信度损失,λobj是指正样本置信度损失的权重系数,λnoobj是指负样本置信度损失的权重系数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110838759.7A CN113538390B (zh) | 2021-07-23 | 2021-07-23 | 一种柚子病虫害的快速识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110838759.7A CN113538390B (zh) | 2021-07-23 | 2021-07-23 | 一种柚子病虫害的快速识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113538390A true CN113538390A (zh) | 2021-10-22 |
CN113538390B CN113538390B (zh) | 2023-05-09 |
Family
ID=78089312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110838759.7A Active CN113538390B (zh) | 2021-07-23 | 2021-07-23 | 一种柚子病虫害的快速识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113538390B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114120037A (zh) * | 2021-11-25 | 2022-03-01 | 中国农业科学院农业信息研究所 | 一种基于改进yolov5模型的发芽马铃薯图像识别方法 |
CN114140428A (zh) * | 2021-11-30 | 2022-03-04 | 东北林业大学 | 基于YOLOv5的落叶松毛虫虫害检测识别方法及系统 |
CN114881047A (zh) * | 2022-07-12 | 2022-08-09 | 杭州远传新业科技股份有限公司 | 一种蔬菜病虫害图片问答方法及装置 |
CN115147933A (zh) * | 2022-09-01 | 2022-10-04 | 深圳市爱深盈通信息技术有限公司 | 人体预设行为的识别方法、装置、设备终端和存储介质 |
CN115410058A (zh) * | 2022-08-26 | 2022-11-29 | 青岛励图高科信息技术有限公司 | 一种基于深度学习的自动标注方法及系统 |
CN115546187A (zh) * | 2022-10-28 | 2022-12-30 | 北京市农林科学院 | 基于YOLO v5的农业病虫害检测方法及装置 |
CN116935230A (zh) * | 2023-09-13 | 2023-10-24 | 山东建筑大学 | 作物病虫害识别方法、装置、设备及介质 |
CN117679643A (zh) * | 2024-01-05 | 2024-03-12 | 天津大学 | 用于脊髓损伤康复的多脊髓节段协同电刺激方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270252A (zh) * | 2020-10-26 | 2021-01-26 | 西安工程大学 | 一种改进YOLOv2模型的多车辆目标识别方法 |
CN112668444A (zh) * | 2020-12-24 | 2021-04-16 | 南京泓图人工智能技术研究院有限公司 | 一种基于YOLOv5的鸟类检测与识别方法 |
CN112733614A (zh) * | 2020-12-22 | 2021-04-30 | 中国科学院合肥物质科学研究院 | 一种带有相似尺寸强化识别的害虫图像检测方法 |
CN112767357A (zh) * | 2021-01-20 | 2021-05-07 | 沈阳建筑大学 | 一种基于Yolov4的混凝土结构病害检测方法 |
-
2021
- 2021-07-23 CN CN202110838759.7A patent/CN113538390B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112270252A (zh) * | 2020-10-26 | 2021-01-26 | 西安工程大学 | 一种改进YOLOv2模型的多车辆目标识别方法 |
CN112733614A (zh) * | 2020-12-22 | 2021-04-30 | 中国科学院合肥物质科学研究院 | 一种带有相似尺寸强化识别的害虫图像检测方法 |
CN112668444A (zh) * | 2020-12-24 | 2021-04-16 | 南京泓图人工智能技术研究院有限公司 | 一种基于YOLOv5的鸟类检测与识别方法 |
CN112767357A (zh) * | 2021-01-20 | 2021-05-07 | 沈阳建筑大学 | 一种基于Yolov4的混凝土结构病害检测方法 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114120037A (zh) * | 2021-11-25 | 2022-03-01 | 中国农业科学院农业信息研究所 | 一种基于改进yolov5模型的发芽马铃薯图像识别方法 |
CN114120037B (zh) * | 2021-11-25 | 2022-07-19 | 中国农业科学院农业信息研究所 | 一种基于改进yolov5模型的发芽马铃薯图像识别方法 |
CN114140428A (zh) * | 2021-11-30 | 2022-03-04 | 东北林业大学 | 基于YOLOv5的落叶松毛虫虫害检测识别方法及系统 |
CN114881047A (zh) * | 2022-07-12 | 2022-08-09 | 杭州远传新业科技股份有限公司 | 一种蔬菜病虫害图片问答方法及装置 |
CN114881047B (zh) * | 2022-07-12 | 2022-10-25 | 杭州远传新业科技股份有限公司 | 一种蔬菜病虫害图片问答方法及装置 |
CN115410058A (zh) * | 2022-08-26 | 2022-11-29 | 青岛励图高科信息技术有限公司 | 一种基于深度学习的自动标注方法及系统 |
CN115147933A (zh) * | 2022-09-01 | 2022-10-04 | 深圳市爱深盈通信息技术有限公司 | 人体预设行为的识别方法、装置、设备终端和存储介质 |
CN115546187A (zh) * | 2022-10-28 | 2022-12-30 | 北京市农林科学院 | 基于YOLO v5的农业病虫害检测方法及装置 |
CN116935230A (zh) * | 2023-09-13 | 2023-10-24 | 山东建筑大学 | 作物病虫害识别方法、装置、设备及介质 |
CN116935230B (zh) * | 2023-09-13 | 2023-12-15 | 山东建筑大学 | 作物病虫害识别方法、装置、设备及介质 |
CN117679643A (zh) * | 2024-01-05 | 2024-03-12 | 天津大学 | 用于脊髓损伤康复的多脊髓节段协同电刺激方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113538390B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113538390B (zh) | 一种柚子病虫害的快速识别方法 | |
CN113537106A (zh) | 一种基于YOLOv5的鱼类摄食行为识别方法 | |
Boissard et al. | A cognitive vision approach to early pest detection in greenhouse crops | |
CN111753646B (zh) | 一种融合种群季节消长信息的农业害虫检测分类方法 | |
CN110717903A (zh) | 一种利用计算机视觉技术进行农作物病害检测的方法 | |
CN113392775A (zh) | 一种基于深度神经网络的甘蔗幼苗自动识别与计数方法 | |
CN109740483A (zh) | 一种基于深层神经网络的水稻生长期检测方法 | |
Zhang et al. | EPSA-YOLO-V5s: A novel method for detecting the survival rate of rapeseed in a plant factory based on multiple guarantee mechanisms | |
CN113449806A (zh) | 基于层次结构的二阶段林业害虫识别与检测系统及方法 | |
Puri | COCO dataset stuff segmentation challenge | |
CN114399799A (zh) | 一种基于YOLOv5网络的口罩佩戴检测方法 | |
Bansal et al. | Detecting Severity Levels of Cucumber Leaf Spot Disease using ResNext Deep Learning Model: A Digital Image Analysis Approach | |
Huang et al. | YOLO-EP: a detection algorithm to detect eggs of Pomacea canaliculata in rice fields | |
Miao et al. | Crop weed identification system based on convolutional neural network | |
Pramudhita et al. | Strawberry Plant Diseases Classification Using CNN Based on MobileNetV3-Large and EfficientNet-B0 Architecture | |
CN117079125A (zh) | 一种基于改进型YOLOv5的猕猴桃授粉花朵识别方法 | |
Xu et al. | Cucumber flower detection based on YOLOv5s-SE7 within greenhouse environments | |
CN115631462A (zh) | 基于am-yolox的草莓病虫害检测方法及系统 | |
KR102576427B1 (ko) | 구름 이미지를 이용한 실시간 강수량 예측 장치, 이를 이용한 강수량 예측 방법 및 이를 제공하기 위한 컴퓨터 프로그램이 기록된 컴퓨터-판독가능매체 | |
Bhatt et al. | Unsupervised Image Segmentation using Convolutional Neural Networks for Automated Crop Monitoring. | |
Qiang et al. | Pest disease detection of Brassica chinensis in wide scenes via machine vision: method and deployment | |
Zhu et al. | Exploring soybean flower and pod variation patterns during reproductive period based on fusion deep learning | |
Sheema et al. | An Algorithm for Detection and Identification of Infestation Density of Pest-Fall Armyworm in Maize Plants Using Deep Learning Based on IoT | |
CN112507770A (zh) | 一种水稻病虫害识别方法和系统 | |
Qiongyan et al. | Study on spike detection of cereal plants |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |