一种基于YOLOv5的单穗小麦赤霉病感染率检测方法
文献发布时间:2024-01-17 01:28:27
技术领域
本发明属于图像识别与病害检测技术领域,尤其涉及一种基于YOLOv5的单穗小麦赤霉病感染率检测方法。
背景技术
小麦作为全球人类口粮的第一大作物,目前全球小麦种植面积约为2.2-2.4亿公顷,2022年度全球小麦产量超过7.76亿吨,世界40%以上的人口以小麦为主食。在我国,小麦是两大口粮作物之一,目前种植面积约为2400万公顷,总产量达1.34亿吨,仅次于水稻。但不容乐观的是,目前世界小麦生产仍然面临着多种极端气候条件及其带来的各种病害、虫害、低温、高温、干旱和自然资源不足特别是水资源短缺的威胁。在小麦病害中,我国小麦常发性的病害包括3种锈病(条锈病、叶锈病、秆锈病)、白粉病、赤霉病(Fusarium headblight,FHB)、纹枯病、全蚀病、黑穗病、叶枯病、线虫病以及病毒病等多种。近几年,受气候变化和小麦耕作制度及农业生产技术变化的影响,小麦赤霉病的发生具有愈来愈严重的趋势。为了有效防治赤霉病,必须对小麦赤霉病程度进行实时有效的监测。
目前,由于信息技术发展以及小麦田间信息复杂的限制,主要利用人工田间调查统计的方法对小麦赤霉病程度进行预测和评估,这样做劳动力成本较高,花费时间长,且不能及时、有效地对小麦赤霉病程度进行预测和评估。而利用图像识别与深度学习识别单穗小麦赤霉病感染率能够实现农业生产智能化和自动化发展,减少人力物力,提高生产效率。
近年来,深度学习和图像识别日益发展,农业逐渐趋于智能化和智慧化。国内鲍文霞等基于一种多路卷积神经网络对灌浆期感染赤霉病的小麦麦穗图像进行处理和识别,有效区分了病变区域与健康区域。刘爽等利用图像特征构建了一种可视化的识别算法模型,用于检测小麦赤霉病籽粒,可以在籽粒无损的前提下实现可视化、快速化、高效化、准确化的小麦赤霉病籽粒识别。Zhang团队等则利用高光谱显微图像对冬小麦赤霉病进行分类,识别效果优于以前的光谱植被模型。Huang团队利用粒子群优化方法,基于图像和光谱融合的方式构建了支持向量机模型,实现了对小麦赤霉病穗的识别,但是,在实际应用中,嵌入式系统往往难以实时高效地处理深度学习所训练出的模型的大量参数和数据。
目前群集性小麦赤霉病监测仪在市面上被广泛应用,但由于设备一般体积大、成本高、位置固定、不利于单穗小麦的精细研究。在实际研究小麦赤霉病抗性育种、检测单穗小麦赤霉病的时候并不适用,存在实际检测区域背景杂乱、采集数据时会受天气、光照、设备等客观因素限制影响、单穗小麦赤霉病数据集较少、分辨率低等问题,导致系统鲁棒性低、识别精度不高。因此,发明一种适用于单穗小麦赤霉病检测方法是十分有意义的。
在小麦赤霉病感染率检测方面,目前的研究多通过统计总粒数与患病的粒数来进行感染率检测,往往需要将小麦摘取下来,通过机器或者人工剥下小麦麦粒,费时费力,提高了成本。而且对于单穗小麦感染率的识别,往往不需要如此繁冗复杂的步骤。因此,找到一种方便快速的单穗小麦赤霉病检测方法是十分有意义的。
发明内容
针对上述缺陷,本发明提供了一种基于YOLOv5的单穗小麦赤霉病感染率检测方法。
一种基于YOLOv5的单穗小麦赤霉病感染率检测方法,包括以下步骤,
步骤1,形成单穗小麦赤霉病的数据集:收集单穗小麦赤霉病图像,通过数据增强扩展图像数量,对图像进行单穗小麦和赤霉病病害部分的标注,并按比例将图像划分为训练集、测试集和验证集;
步骤2,构建基于YOLOv5的单穗小麦赤霉病感染率检测模型,包括YOLOv5网络以及感染率计算模型,所述YOLOv5网络包括依次连接的输入端、用于特征提取的Backbone网络、用于特征融合Neck网络和用于预测的Head网络;将YOLOv5网络输出的检测数据作为感染率计算模型的输入数据,通过计算锚框的IOU值测算单穗小麦赤霉病的感染率;
步骤3,将步骤1中的训练集和验证集输入所述检测模型进行训练,当模型不再收敛时保存本次训练好的模型,并将测试集输入所述模型进行验证测试,若拟合则进入步骤4,否则回到步骤1;
步骤4,获取待检测的单穗小麦赤霉病图像,预处理后输入到训练好的单穗小麦赤霉病感染率检测模型,观察单穗小麦赤霉病感染率检测的准确度。
作为优选,使用Labelimg标注工具,以YOLOv5的格式对扩展后的图像进行标注、分类,标注单穗小麦赤霉病图片的小麦以及赤霉病位置。
作为优选,所述数据增强为:对图像进行缩放变换,使其尺度大小统一;然后对图像进行明亮度和对比度变换;最后通过平移、翻转和添加高斯噪声以及椒盐噪声对图像数据集随机添加噪声干扰得到新的图片,将数据集扩充为之前的n倍。
作为优选,将图片输入到YOLOv5的输入端,经过Mosaic数据增强、自适应锚框计算、自适应图片缩放后输入到Backbone网络,将经过处理的图像输入Focus结构,采用切片操作,提取特征图,再输入到Neck网络进行特征融合和加强,由Head网络输出结果,送入感染率计算模型中计算感染率。
作为优选,所述输入端具体为,经过Mosaic数据增强,将4张图片,随机缩放、随机裁剪、随机排布的方式进行拼接;自适应锚框计算,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数;将长宽不同的图片,统一缩放到一个标准尺寸后送入检测网络中。
作为优选,所述Backbone网络使用Focus结构,采用切片操作,先变成304*304*12的特征图,再经过一次32个卷积核的卷积操作,最终变成304*304*32的特征图,采用CSP模块先将基础层的特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,在减少了计算量的同时,可以保证准确率。
作为优选,所述Head网络通过FPN+PAN结构进行融合,FPN将高层的特征信息通过上采样的方式进行传递融合,得到进行预测的特征图;FPN层自顶向下传达强语义特征,而特征金字塔则自底向上传达强定位特征,两两联手,从不同的主干层对不同的检测层进行参数聚合。
作为优选,所述感染率计算模型计算感染率的方法为:S1,能够将YOLOv5识别出的图片锚框数据存储在标注文件中,将其中的的YOLO形式的矩形框坐标转换并反归一化,然后化为pascal_voc型坐标;S2,用pascal_voc型坐标表示两标注框左上、右下坐标;S3,计算出两框的交集面积以及并集面积,并由此计算出IOU值,其计算公式如下
作为优选,坐标转换公式如下:
所述反归一化公式为:
xmin_=xmin·W,xmax_=xmax·W;ymin_=ymin·H,ymax_=ymax·H;
式中,(x_center,y_center)为中心坐标,width和height分别为标注框的宽和高,
(xmin,ymin)和(xmax,ymax)为反归一化前的左上角和右下角坐标,(xmin_,ymin_)和(xmax_,ymax_)为反归一化后的左上角和右下角坐标,W为原图长,H为原图高。
作为优选,步骤S3中,计算出单穗小麦与小麦患病部分两个框的交集面积以及并集面积,计算公式如下:area_inter=|(xmin_1-xmax2)·(ymin_1-ymax2),
area_union=S
式中,area_inter表示两标注框的交集面积,area_union表示两标注框并集的面积,SA和SB为整株小麦和患病部分的标注框的面积。
本发明的有益效果是:
(1)本发明将图像识别和自动计算的算法应用到病害检测领域,结合了YOLOv5算法和感染率的计算算法,基于机器视觉和深度学习对单穗小麦赤霉病感染率检测,创造性的提出了一体化的感染率检测方案,同时拥有较高的精确率和回归率,Precision值为89.29%,Recall值为93.75%;
(2)本发明所提出的一种基于YOLOv5的单穗小麦赤霉病害感染率检测方法,在数据集上采用了农学院专家精选的数据图片,再经数据增强扩充后精确标注形成的数据集,有效提高单穗小麦赤霉病感染率检测的精度;
(3)本发明提出了一种方便快速的单穗小麦感染率检测方法,采用YOLOv5中的YOLOv5s模型,是YOLOv5中的最小版本,它具有最少的层和最小的计算复杂度,因此它的模型大小也是最小的,由原来YOLOv5x的246.19MB变为29.5MB,能够满足边缘嵌入式设备的需求,拥有更快的检测速度。
本发明成功有效的解决了检测精确度低、效率差、繁冗复杂的检测问题,实现了一种方便快速的单穗小麦赤霉病检测方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。
图1是本发明一个实施例的基于YOLOv5的单穗小麦赤霉病病害检测的方法实现流程图;
图2是本发明一个实施例的IOU算法示意图;
图3是本发明一个实施例的模型训练轮次总结果图;
图4是本发明一个实施例的模型训练准确率和置信度的关系图;
图5是本发明一个实施例的模型训练精准率与召回率的关系图;
图6是本发明一个实施例的单穗小麦赤霉病感染率检测模型对单穗小麦赤霉病的检测效果图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种基于YOLOv5的单穗小麦赤霉病感染率检测方法,在现有的YOLOv5的算法基础上,增加了计算单穗小麦赤霉病感染率的算法,并且采用了更加小巧轻便的YOLOv5s模型,更切合于边缘端的布置,能够高精度的进行快速检测,实现了一种方便快速的单穗小麦赤霉病检测方法。
为实现上述发明目的,本申请提供的具体的技术方案如下:如图1所示,包括如下步骤:
步骤1,形成单穗小麦赤霉病的数据集:在扬花期接种后7天开始,每隔6天使用图像采集设备获取一次照片,至小麦赤霉病发病后期停止,拍照时将麦穗垫于白纸上,隔绝脏乱背景,使用Photoshop2019对收集的图像进行剪切,统一为360x640像素,通过农学院专家精选,最终得到339张图像待用。
步骤2,通过数据增强对步骤1收集的图像进行数量扩展,使用Labelimg标注工具对图像进行标注,并按照一定比例划分图像为训练集,测试集和验证集;
步骤2.1,对收集好的单穗小麦赤霉病进行数据增强,目的是为了增加数据集数量,使训练出的模型更加健壮,能更好地应对实际应用中的各种变化。本发明所用的数据增强具体指,首先,对图像进行缩放变换,改变图像尺寸大小,用黑色补全空隙;其次,对图像进行明亮度和对比度变换;最后,通过平移、翻转和添加高斯噪声以及椒盐噪声对改变图像像素以得到新的图片;本发明中通过数据增强将数据集扩充为之前的10倍。
步骤2.2,按照YOLOv5格式将扩充后的单穗小麦赤霉病数据集进行标注。在本发明施例中,标注过程是使用Labelimg标注工具,在指定的文件夹存放图片和对应txt文件,使用矩形框框柱单穗小麦的赤霉病患病部分和整株小麦的位置,并用标号0表示小麦赤霉病,标号1表示整株小麦,标注完成后,可看到对应的储存了标注坐标信息的txt文件。
步骤2.3,对标注后的单穗小麦图像进行训练集、测试集和验证集的划分。在本发明施例中标注后的单穗小麦图像一共有3390张图像,将3390张标注完成后的图像划分为2290张图像作为训练集,500张图像作为测试集和500张图像作为验证集。
步骤3,构建基于YOLOv5的单穗小麦赤霉病感染率检测模型,包括YOLOv5网络以及感染率计算模型。YOLOv5网络包括依次连接的输入端、用于特征提取的Backbone网络、用于特征加强融合Neck网络、用于预测的Head网络。感染率计算模型用于后续计算感染率,将YOLOv5网络输出的检测数据输入到感染率计算模型中,以测算单穗小麦赤霉病的感染率。
输入端具体为,经过Mosaic数据增强,将4张图片,随机缩放、随机裁剪、随机排布的方式进行拼接,随机缩放增加了很多小目标,让网络的鲁棒性更好;自适应锚框计算,网络在初始锚框的基础上输出预测框,进而和真实框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数;将长宽不同的图片,统一缩放到一个标准尺寸,再送入检测网络中。
Backbone网络使用Focus结构,采用切片操作,先变成304*304*12的特征图,再经过一次32个卷积核的卷积操作,最终变成304*304*32的特征图,采用CSP模块先将基础层的特征映射划分为两部分,然后通过跨阶段层次结构将它们合并,在减少了计算量的同时,可以保证准确率。
Head网络通过FPN+PAN结构进行融合,FPN将高层的特征信息通过上采样的方式进行传递融合,得到进行预测的特征图;FPN层自顶向下传达强语义特征,而特征金字塔则自底向上传达强定位特征,两两联手,从不同的主干层对不同的检测层进行参数聚合。
步骤4,将步骤2中的训练集和验证集输入结合了计算感染率算法的YOLOv5网络中进行训练,等模型不再收敛时保存本次训练好的模型,使用其中的权重文件weights下的训练出的最好的模型best.pt作为训练出的模型。
步骤5,将测试集输入到步骤3中训练好的模型进行测试,验证模型是否符合要求,是否具有良好的鲁棒性及精确度。
步骤6,将步骤5训练好的模型的输出端连接到感染率计算模型,通过计算锚框的IOU值近似单穗小麦赤霉病的感染率,这是本发明的核心内容,如图2所示,计算方法图解如下:
步骤6.1,由于Labelimg以YOLOv5格式标注出的txt文档存储的坐标形式为归一化后的框中心坐标、框长和框宽,而在进行IOU计算的时候需要使用pascal_voc格式坐标表示的矩形框位置信息,故要对txt文件中的坐标进行转换,转换公式如下:
再进行反归一化,反归一化公式为:
xmin_=xmin·W,xmax_=xmax·W
ymin_=ymin·H,ymax_=ymax·H
其中(x_center,y_center)为中心坐标,width和height分别为标注框的宽和高,(xmin,ymin)和(xmax,ymax)为反归一化前的左上角和右下角坐标,(xmin_,ymin_)和(xmax_,ymax_)为反归一化后的左上角和右下角坐标,W为原图长,H为原图高。
如此便将YOLO格式坐标化为pascal_voc格式的坐标。
步骤6.2,由pascal_voc格式表示的矩形框坐标计算出单穗小麦与小麦患病部分的两个框的交集面积与并集面积,计算公式如下:
area_inter=|(xmin_1-xmax2)·(ymin_1-ymax2)
area_union=S
其中,area_inter表示两标注框的交集面积,area_union表示两标注框并集的面积,SA和SB为整株小麦和患病部分的标注框的面积。
步骤6.3,计算出两框的交集面积以及并集面积,并由此计算出IOU(感染率)值,其计算公式如下:
步骤7,获取待检测的单穗小麦赤霉病图像,预处理后输入到符合要求的连接了计算感染率算法的单穗小麦赤霉病感染率检测模型,观察单穗小麦赤霉病感染率检测的准确度。
选用一下三种评价指标对本实例进行评价,分别为精确度(Precision)、召回率(Recall)和Map,这三种指标的计算方式如下
其中TP、TN、FP、FN分别代表预测正确的正例样本数、预测正确反例样本数、预测错误正例样本数和预测错误反例样本数。
图3为本发明训练轮次结果曲线,图6为本发明的检测结果,下表1为测试数据,本发明基于YOLOv5的单穗小麦感染率检测模型的精确率和召回率高,解决了检测准确率低、鲁棒性差、检测速度慢的问题。
表1测试数据
图4的横坐标为置信度,纵坐标为准确率;图5的横坐标为召回率,纵坐标为准确率,其中的指标AP(Average Precision)的值为94.2%,表示本施例能够达到高精度的识别单穗小麦赤霉病进而计算感染率,从而做到了实现一个实现了一种方便快速的单穗小麦赤霉病检测方法。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 基于图像增强和改进YOLOv5的小麦赤霉病检测方法
- 一种基于改进YOLOv5的单帧红外弱小目标检测方法