一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于改进YOLOv5的苹果花朵生长状态检测方法与流程

2022-11-16 17:27:33 来源:中国专利 TAG:

一种基于改进yolov5的苹果花朵生长状态检测方法
技术领域
1.本发明属于经济林果生长状态检测技术领域,具体涉及一种基于改进 yolov5的苹果花朵生长状态检测方法。


背景技术:

2.随着农业领域产业结构优化工作的不断推进,经济林果在农业产业中的地位日益突出,大力发展经济林果对农业科技创新具有重要的意义。苹果产业作为我国水果产业的重要组成部分,其规模和产量逐年增加,但目前在培育的质量和技术方面仍存在缺陷。为了提高苹果果实产量除了要做好土壤、施肥及病虫害方面的管理之外,在不同花朵生长状态进行人工干预可以有效提高坐果率和果实品质。因此,在苹果树花期检测不同生长状态的苹果花朵具有重要意义。
3.传统的苹果花期管理过程中需要果农在田间对花朵的不同生长状态特征进行识别,这对于偏远和环境复杂的果园来说,将会给人力物力资源带来巨大的负担,并且存在一定的不确定性。近些年来,人工智能领域依托计算机硬件强大的计算能力取得了诸多成果,多种人工智能技术的落地使其应用研究在当下如日中天。在农业信息智能化领域中,计算机视觉技术延展到了多种方面。因此,将计算机视觉技术应用于农作物自动识别领域来实现对苹果花朵生长状态的检测具有重要意义。由于不同花朵生长状态在图像中存在密集和小目标以及遮挡的情况,加之采集的图像中包含了大量的无关背景信息,因此,现有的苹果花朵生长状态检测方法的准确性还有待提高。


技术实现要素:

4.针对上述苹果花朵生长状态检测方法中准确性较低的技术问题,本发明提供了一种浅层特征保留多、检测性能高、定位精度准确的基于改进yolov5的苹果花朵生长状态检测方法。
5.为了解决上述技术问题,本发明采用的技术方案为:
6.一种基于改进yolov5的苹果花朵生长状态检测方法,包括下列步骤:
7.s1、采集苹果花期的花朵图像形成原始数据集;
8.s2、利用labelimg标记工具在图像数据集上进行标记,标记的种类分别为花蕾、半开、全开、凋落,并按照8:1:1的比率将数据集分为训练集、验证集和测试集;
9.s3、在主干网络中采用坐标注意力机制,坐标注意力机制使用全局池化操作,将通道注意力分解为两个沿垂直方向和水平方向一维特征编码,沿着两个空间上不同的方向,分别捕获长程依赖关系与精确的位置信息,编码形成方向感知和位置敏感的注意力特征图,两类特征图互补地应用到输入特征图,从而增强对目标对象的关注;
10.s4、将原始主干网络中bottleneckcsp的模块数量进行调整从而实现更多的浅层特征信息的提取;对bottleneckcsp的结构进行改进设计,删除原始模块分支上的卷积层,并且将bottleneckcsp模块的输入特征映射与另一个分支的输出特征图直接连接;
11.s5、添加小目标检测层,将更加底层的特征图与高层特征图进行融合;
12.s6、使用基于分离的卷积运算替换普通卷积运算,解决同一层内的输入特征图具有相似但不完全相同的特征冗余问题;
13.s7、损失函数优化,采用ciou损失函数代替原有的损失函数giou, ciou_loss中除了将预测框与目标框之间的重叠面积进行考量以后,还加入了预测框与目标框各自中心点之间的欧式距离和高宽比作为考量,通过度量预测框与目标框之间的中心点欧氏距离和框的宽高比例,优化回归效果,实现精准定位;
14.s8、训练改进后的网络,设置学习率、学习率动量、批次大小、训练总轮次小、权重衰减和最大迭代次数作为训练参数,采用mosaic算法实现花朵生长状态图像的数据增强,通过随机将四张图片随机缩放、随机裁剪、随机排布的方式进行拼接,对改进的yolov5网络进行训练;
15.s9、将s2中设置的测试集送到s8训练好的改进yolov5的苹果花朵生长状态检测模型中,测试基于改进yolov5的苹果花朵生长状态检测模型性能,从平均检测精度、检测速度等评价指标对模型进行评估。
16.所述s3中,所述坐标注意力机制增加在在spp结构之后,在通道注意力中增加位置信息,同时捕获通道信息与方向和位置感知信息,帮助模型精准定位需要识别的目标。坐标注意力机制通过精确的位置信息对通道关系和长期依赖性进行编码,为了实现坐标信息嵌入,首先通过全局平均池化分别对水平方向和垂直方向进行分解,得到两个一维特征编码向量,通过操作解决了全局池化方法难以保存位置信息的缺陷。为了利用上述操作产生的信息表征,首先使用 concat级联之前模块生成的两个特征图,然后使用1
×
1卷积变换函数对其进行变换操作,如下式所示:
17.f=δ(f1([zh,zw]))
[0018]
所述[
·
,
·
]为沿空间维数的拼接操作,所述δ为非线性激活函数,所述f为在水平方向和垂直方向的空间信息进行编码的中间特征映射,沿着空间维度将f分解为2个张量fh∈r
c/r
×h和fw∈r
c/r
×w,其中r表示下采样比例。利用2个1
×
1 卷积变换fh和fw分别对fh和fw进行变换,使之具有相同通道数的张量,结果如下式所示:
[0019]gh
=σ(fh(fh))
[0020]gw
=σ(fw(fw))
[0021]
所述σ代表sigmoid激活函数;最后对输出的gh与gw进行扩展操作更改与输入张量相同的维度,并将原始的输入和扩展以后的两个张量进行相乘得到最终的输出。
[0022]
所述s4中在原始模型主干网络中,简化了主干网络中的特征提取层,将原来主干网络中bottleneckcsp的模块数量(
×
3,
×
9,
×
9,
×
3)变为(
×
2,
×
6,
×
6,
×
2)来提取更多的浅层特征信息,为了解决过多卷积核带来参数量较大的问题,对bottleneckcsp的结构进行了改进设计,删除了原始模块分支上的卷积层,并且将bottleneckcsp模块的输入特征映射与另一个分支的输出特征图直接连接,有效减少了模块中的参数数量。
[0023]
所述s5中原有网络结构中采用三层尺度特征图层检测设计,在原有网络结构上增加一个特征尺度,conv模块由conv2d与批量归一化层以及leaky relu 激活函数构成;其中,conv2d卷积核为1
×
1,步长为1;leaky relu激活函数更加平衡,可以加快训练速度,同时避免了relu激活函数有零斜率的问题;bn 层通过重新缩放和中心化对层的输入进行归
一化来使网络训练更快、更稳定; upsample为上采样模块,经过上采样操作扩大特征图;concat代表张量拼接操作,通过操作扩充张量维度,完成特征融合;具体操作为:对18层以后的特征图上采样,获取新的特征图,同时将第20层获取的与骨干网络中第2层特征图进行拼接操作实现特征融合,配合新的检测层,提高小目标物体检测性能;整个模型在改进以后一共使用四层检测层来进行检测,设计的4个检测尺度在未显著增加网络复杂度的情况下实现了高分辨率和高语义信息的使用。
[0024]
所述s6中,选择一些具有代表性的特征图来补充代表性信息,而剩余的只需要补充微小的不同细节信息即可,为了确定具有类似模式的特征图是否冗余,在层与层之间采取基于拆分的卷积操作spconv。
[0025]
所述s7中采用ciou_loss作为目标检测任务的回归损失函数,ciou_loss中除了将预测框与目标框之间的重叠面积进行考量以后,还加入了预测框与目标框各自中心点之间的欧式距离和高宽比作为考量,通过度量预测框与目标框之间的中心点欧氏距离和框的宽高比例,优化回归效果,实现精准定位,其计算公式如下:
[0026][0027]
所述b表示预测框的中心点,所述b
gt
表示目标框的中心点,所述ρ表示两个框之间的欧氏距离,所述c代表相交的预测框与目标框之间所构成外接最小矩形的对角线距离,所述α为权重系数,所述v代表长宽比一致性的参数,计算公式如下式所示:
[0028][0029][0030]
所述s8中,设置训练参数,采用随机优化算法adam进行优化训练,设置训练的批次大小为16,动量参数为0.9,学习率初始设定为0.01,训练迭代次数为 300。
[0031]
本发明与现有技术相比,具有的有益效果是:
[0032]
1、本发明在主干网络中引入坐标注意力机制,同时获取跨通道信息与方向位置感知信息,帮助模型对目标区域进行定位。对bottleneckcsp结构修改,并减少模块数量来保留更多的浅层特征。
[0033]
2、本发明在原有网络结构三层检测层的基础上,添加小目标检测层,从而提高对小目标物体的检测性能。
[0034]
3、本发明将neck部分中更加底层的特征图与高层特征图进行融合,且使用基于分离的卷积运算来消除同一层内输入特征图中存在的冗余问题。
[0035]
4、本发明使用ciou作为边界框回归的损失函数,解决预测框在目标框内部且预测框大小一致的情况,提高定位精度。
附图说明
[0036]
为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅
仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引申获得其它的实施附图。
[0037]
本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容能涵盖的范围内。
[0038]
图1为本发明一个实施例的检测方法流程图;
[0039]
图2为本发明一个实施例改进的yolov5网络结构图;
[0040]
图3为本发明一个实施例坐标注意力结构图;
[0041]
图4为本发明一个实施例基于拆分的卷积运算结构图;
[0042]
图5为本发明一个实施例模型损失值在训练过程中的变化图。
具体实施方式
[0043]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例,这些描述只是为进一步说明本发明的特征和优点,而不是对本发明权利要求的限制;基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
[0044]
下面结合附图和实施例,对本发明的具体实施方式做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0045]
为了解决现有苹果花朵生长状态检测方法在准确度上较低的问题,本实施例在现有yolov5算法上进行改进,使得在苹果花朵生长状态检测方面能够取得更好的效果。本实施例具体流程如图1所示,首先将所收集的数据集训练原始网络,得到原始网络的实验效果。然后,对网络进行改进。最后,对改进后的网络进行训练得到最终模型权重文件。
[0046]
本实施例是通过以下技术方案来实现的,基于改进yolov5的苹果花朵生长状态检测方法,包括以下步骤:
[0047]
1、采集苹果花朵不同生长状态图像形成数据集。
[0048]
数据来源于中国山西临猗农田试验站,参考农业气象观测规范,制定适宜本地的苹果花期观测标准,于2019年4月(花蕾期)开始,采集至2019年5 月(凋落期)结束,使用3888
×
5184像素分辨率的田间实时监测设备在不同花期进行图像采集,采集时间段设定为每天8点-11点、12点-15点、16点-19点,构建了苹果花期花朵不同生长状态的图像数据集。
[0049]
2、使用标注工具对数据集进行标注。
[0050]
将得到采集的数据进行筛选与整理,使用标记软件labelimg对采集到的图片中的不同生长状态花朵图像样本进行标注,构建苹果花朵生长状态数据集,标注类别为花蕾、半开、全开、凋落四种类别,包括标注花蕾3301个,半开状态花朵1227个,全开状态花朵4193个,凋落状态花朵1241个。将标注好的图像标注信息保存为.xml形式,内容包括目标物体的类别和目标框的坐标信息。
[0051]
3、在主干网络中引入坐标注意力机制。
[0052]
坐标注意力机制将通道注意力分解为两个一维特征进行编码,沿着两个空间上不
同的方向,分别捕获长程依赖关系与精确的位置信息,编码形成方向感知和位置敏感的注意力特征图,两类特征图互补地应用到输入特征图,从而增强对目标对象的关注。在spp(spatial pyramid pooling)结构之后增加坐标注意力机制。在通道注意力中增加位置信息,同时捕获通道信息与方向和位置感知信息,帮助模型精准定位需要识别的目标。坐标注意力机制通过精确的位置信息对通道关系和长期依赖性进行编码,为了实现坐标信息嵌入,首先通过全局平均池化分别对水平方向和垂直方向进行分解,得到两个一维特征编码向量,通过操作解决了全局池化方法难以保存位置信息的缺陷。为了利用上述操作产生的信息表征,首先使用concat级联之前模块生成的两个特征图,然后使用1
×
1 卷积变换函数对其进行变换操作,如下式所示:
[0053]
f=δ(f1([zh,zw]))
[0054]
式中[
·
,
·
]为沿空间维数的拼接操作,δ为非线性激活函数,f为在水平方向和垂直方向的空间信息进行编码的中间特征映射。沿着空间维度将f分解为2个张量fh∈r
c/r
×h和fw∈r
c/r
×w,其中r表示下采样比例。利用2个1
×
1卷积变换 fh和fw分别对fh和fw进行变换,使之具有相同通道数的张量,结果如下式所示:
[0055]gh
=σ(fh(fh))
[0056]gw
=σ(fw(fw))
[0057]
其中,σ代表sigmoid激活函数。最后对输出的gh与gw进行扩展,分别作为注意力权重。其最终输出如下式所示:
[0058][0059]
4、将原始主干网络中bottleneckcsp的模块数量进行调整从而实现更多的浅层特征信息的提取;对bottleneckcsp的结构进行改进设计,删除原始模块分支上的卷积层,并且将bottleneckcsp模块的输入特征映射与另一个分支的输出特征图直接连接;
[0060]
5、添加小目标检测层,将更加底层的特征图与高层特征图进行融合。
[0061]
原有网络结构中采用三层尺度特征图层检测设计,对于640
×
640的输入图像尺度,下采样倍数分别为8倍、16倍、32倍得到特征图作为特征层去检测不同大小尺寸的目标。花蕾期所需检测目标通常较小,原有多尺度检测结构对此类目标容易造成漏检。因此,在原有网络结构上增加一个特征尺度。conv模块由conv2d与批量归一化(batch normalization,bn)层以及leaky relu激活函数构成。其中,conv2d卷积核为1
×
1,步长为1;leaky relu激活函数更加平衡,可以加快训练速度,同时避免了relu激活函数有零斜率的问题;bn层通过重新缩放和中心化对层的输入进行归一化来使网络训练更快、更稳定。upsample 为上采样模块,经过上采样操作扩大特征图。concat代表张量拼接操作,通过操作扩充张量维度,完成特征融合。具体操作为:对18层以后的特征图上采样,获取新的特征图,同时将第20层获取的与骨干网络中第2层特征图进行拼接操作实现特征融合,配合新的检测层,提高小目标物体检测性能。整个模型在改进以后一共使用四层检测层来进行检测,设计的4个检测尺度在未显著增加网络复杂度的情况下实现了高分辨率和高语义信息的使用。
[0062]
6、使用基于分离的卷积运算替换普通卷积运算,解决同一层内的输入特征图具有相似但不完全相同的特征冗余问题。
[0063]
为了确定具有类似模式的特征图是否冗余,可以在层与层之间采取一种基于拆分
的卷积操作,即spconv(split based convolutional),该卷积操作可以消除相似特征图中的冗余且需要较少的计算量。
[0064]
在spconv中将输入特征拆分为代表性部分与不确定部分,令x∈r
l
×h×w和 y∈rm×h×w分别表示输入、输出特征,其中l表示输入通道个数,m表示输出通道个数,w表示大小为k
×
k的卷积核,对应的卷积计算可以描述为y=wx b。为简化表示,在后续介绍中忽略了偏置项b。卷积计算的矩阵表示为下式,其中 x表示l个输入矩阵,y代表m个输出矩阵,w
ij
代表m个k
×
k大小卷积核的参数。
[0065][0066]
基于拆分的卷积运算将输入通道按比例α拆分为两部分:代表性部分用 k
×
k卷积来提供内在信息;冗余性部分用1
×
1卷积来补充微小的隐藏细节。矩阵表示如下式所示,其中前半部分是代表性部分,后半部分是冗余性部分:
[0067][0068]
其中,y表示输出矩阵,x表示αl个输入矩阵,w
ij
表示代表性部分在αl个通道上3
×
3卷积核的参数,w
ij
代表冗余性部分在(1-α)l个通道上1
×
1卷积核的参数(本实施例中α取0.5)。由于划分卷积之后的代表性部分可以代表不同的特征类别,因此可以将代表性的通道进行划分,每个部分代表一个主要的特征类别。其中在代表性通道上使用3
×
3的群组卷积来进一步减少冗余信息,但是这样的操作有可能削减了必要的通道连接,故在代表性通道中添加1
×
1的点卷积操作来解决此信息的丢失问题。然后将得到的两个特征进行直接求和融合,得到一个额外的分数,上式中代表性部分可以表示为下式。
[0069][0070]
其中,是第l组的逐分组卷积的参数,这里将αc
l
的代表性通道划分为g组,每个组z
l
包括αc
l
/g个通道。通过前述操作得到了两类特征,通过全局平均池化操作,生成通道级别的统计量s3、s1用于全局信息的嵌入,得到k个1
×
1的特征图,之后堆叠生成的s3与s1,并经过一个全连接层,得到一个压缩的特征向量z,然后将这个压缩的单维度向量经过softmax层,重新分为两个特征向量β,γ,之后分别与相应的代表性部分和冗余性部分的特征向量进行通道相乘的操作,再通过张量的相加得到最后的输出特征。
[0071]
7、损失函数优化,采用ciou损失函数代替原有的损失函数giou。ciou_loss 中除
了将预测框与目标框之间的重叠面积进行考量以后,还加入了预测框与目标框各自中心点之间的欧式距离和高宽比作为考量,通过度量预测框与目标框之间的中心点欧氏距离和框的宽高比例,优化回归效果,实现精准定位。其计算公式如下:
[0072][0073]
其中,b表示预测框的中心点,b
gt
表示目标框的中心点,ρ表示两个框之间的欧氏距离,c代表相交的预测框与目标框之间所构成外接最小矩形的对角线距离,α为权重系数,v代表长宽比一致性的参数,计算公式如下式所示:
[0074][0075][0076]
8、训练改进后的网络,设置学习率、学习率动量、批次大小、训练总轮次小、权重衰减和最大迭代次数作为训练参数,采用mosaic算法实现花朵生长状态图像的数据增强,通过随机将四张图片随机缩放、随机裁剪、随机排布的方式进行拼接。对改进的yolov5网络进行训练。
[0077]
9、将测试集送到训练好的改进yolov5的苹果花朵生长状态检测模型中,测试基于改进yolov5的苹果花朵生长状态检测模型性能,从平均检测精度、检测速度等评价指标对模型进行评估。
[0078]
为了验证本实施例改进算法的检测性能,将本实施例所改进的yolov5算法与主流目标检测模型ssd、faster r-cnn、yolov3、yolov4对比,采用 map和fps两项指标对每种主流检测算法进行评估与对比,对比实验结果如表 1所示。由表1分析可知,改进的yolov5算法map达到了0.922,较原始 yolov5算法提高5.4%,结合表中对于花蕾、半开、全开、凋落四类花朵生长状态的平均精度ap进行分析可得,本实施例方法在检测小目标物体,即花朵生长状态处于花蕾时的ap值比原始yolov5算法提高了约5.2%,相比其他主流目标检测网络模型具有更好的检测性能。通过特征融合结构与多尺度检测结构的重新设计,使得检测目标为花朵半开时相比原有网络模型ap值提高了约 10.5%,全开与凋落状态花朵检测所得实验ap值也超越原有模型与主流目标检测模型。在保证高精度检测的同时,模型的fps并未出现大幅度下降,检测速度与主流模型相比仍然具有一定优势。
[0079]
表1主流目标检测模型性能对比
[0080][0081]
上面仅对本发明的较佳实施例作了详细说明,但是本发明并不限于上述实施例,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化,各种变化均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献