一种基于yolov5的茶叶用多目标检测定位方法
技术领域
1.本发明涉及茶叶定位技术领域,具体涉及一种基于yolov5的茶叶用多目标检测定位方法。
背景技术:2.茶叶加工又称“制茶”,是将茶树上的鲜叶采摘后经过各道加工工序,制成各种半成品茶或成品茶的过程;其中,茶叶嫩芽(或鲜叶)采摘是茶叶加工生产的重要环节之一。目前,茶叶嫩芽(或鲜叶)的采摘主要以人工为主,但人工采摘的方式效率低,增加工作人员的劳动强度、浪费大量的人力成本;同时,现有技术中还存在利用采茶机进行茶叶采摘的方式,但目前的采茶机的工作模式大多为“一刀切”的往复切割方式、其不具有选择性,而由于茶树受各种环境因素(如光照、重力、温度、湿度等)的影响、导致茶叶嫩芽的生长高度不一致,“一刀切”的往复切割方式极易出现漏采、错采,甚至造成茶叶嫩芽损坏。因此,如何对茶叶进行位置识别、判断,从而实现准确化、机械化的茶叶采摘,避免出现漏采、错采以及茶叶破损的问题,是目前智能化茶叶采摘所面临的挑战之一。
技术实现要素:3.针对以上现有技术存在的问题,本发明的目的在于提供一种基于yolov5的茶叶用多目标检测定位方法,该方法能够有效对茶叶嫩芽进行多目标检测、定位,从而精确有效的识别茶叶嫩芽的位置,配合采摘工具、实现智能化采摘茶叶嫩芽,进而提高采摘效率、节省采摘时间、降低人力成本。
4.本发明的目的通过以下技术方案实现:
5.一种基于yolov5的茶叶用多目标检测定位方法,其特征在于:具体包括以下步骤:
6.s01、构建茶叶嫩芽图像数据集;
7.s02、基于步骤s01中的数据集,通过双向特征金字塔网络和通道注意力机制构造语义信息丰富的特征图,实现对yolov5检测网络改进、获得yolov5目标检测网络模型,实现小尺寸茶叶嫩芽的检测;
8.s03、基于步骤s02中的yolov5目标检测网络模型的训练结果,获得茶叶三维点云;然后在茶叶三维点云中筛选出茶叶嫩芽三维点云;最后拟合茶叶嫩芽最小外接长方体,获得茶叶嫩芽的精确位置以及采摘点。
9.作进一步优化,所述步骤s01具体为:首先,使用rgb-d相机进行茶叶嫩芽图像数据的采集,获得茶叶嫩芽的彩色图像与深度图像;然后,采用标注工具对彩色图像进行标注,并进行数据集增强操作、扩充数据集的数量,构建出茶叶嫩芽图像数据集;最后将数据集划分成训练集、测试集与验证集。
10.优选的,所述标注工具采用labelimg标注工具。
11.作进一步优化,所述yolov5检测网络包括backbone模块、neck模块和head模块;所述backbone模块包括用于对图片进行切片操作的focus模块、spp模块与cbs模块,以及用于
增强整个卷积神经网络学习性能csp模块;所述neck模块包括cbs模块与csp模块;所述head模块包括利用基于网格anchor在不同尺度的特征图上进行目标检测的detect层。
12.优选的,所述yolov5检测网络采用模型文件大小最小、特征图的深度与宽度最小的网络模型。
13.作进一步优化,所述步骤s02具体为:
14.s21、首先,对步骤s01中的训练集中的图像进行预处理、统一训练集中所有图像的分辨率;再将预处理后的图像输入到backbone模块,获得不同尺寸的特征图;
15.s22、然后,将步骤s21中不同尺寸的特征图输入到neck模块中,并在neck模块中采用双向特征金字塔网络(bi-directional feature pyramid network,bifpn)替代原有的路径聚合网络(path aggregation network,panet)进行多特征融合;再对特征图依次进行上采样、下采样,以及通过通道注意力机制(efficient channel attention,eca)的拼接产生多种尺寸的特征图,并输入到head模块的detect层中;
16.s23、再结合多种损失函数进行反向传播,对模型中的梯度进行更新调节权重参数;
17.s24、最后,采用步骤s01中的验证集对现有模型进行验证,获得yolov5目标检测网络模型。
18.作进一步优化,所述步骤s03具体为:
19.s31、首先,根据步骤s02的yolov5目标检测网络模型的结果,获取检测框坐标,生成彩色图像与对应深度图像的感兴趣区域(region of interest,roi);
20.s32、然后,根据深度图像的像素坐标与彩色图像的像素坐标之间的映射关系,并通过深度图像的坐标值、像素值和记录距离,来得到对应的映射的彩色图像坐标;
21.s33、再通过彩色图像与深度图像的坐标融合,获得茶叶三维点云,具体为:
[0022][0023]
式中,表示三维点云的坐标系;表示彩色图像的坐标系;d表示深度值、通过深度图像获得;f
x
、fy表示相机焦距;
[0024]
s34、由于生成的茶叶三维点云包含茶叶嫩芽及其背景点云,因此通过计算获得茶叶三维点云的平均值,并将该平均值作为距离阈值;然后,将大于距离阈值的背景点云进行过滤,得到初步分割的三维点云;再采用dbscan聚类算法,通过设置参数半径eps和邻域中要求含有的最低样本个数m
p
,将初步分割的三维点云聚为一类,并筛选出茶叶嫩芽三维点云;
[0025]
s35、根据茶叶嫩芽的生长姿态,采用主成分分析法(principal component analysis,pca)拟合处茶叶嫩芽的最小外接长方体;然后计算获得长方体各个顶点坐标;再
通过求长方体底面四个顶点平均值获得长方体底面中心点的坐标,并以该点作为茶叶嫩芽的采摘点。
[0026]
作进一步优化,所述步骤s35具体为:
[0027]
首先,采用主成分分析法筛选出茶叶嫩芽三维点云的三个主方向,即x、y、z方向,并计算质心、协方差,得到协方差矩阵;具体为:
[0028][0029][0030]
式中,pc表示三维点云的质心坐标;n表示三维点云的数目(即点的数量);(xi,yi,zi)表示第i个点的三维坐标;
[0031][0032]
式中,c
p
表示三维点云的协方差矩阵;
[0033]
然后,对协方差矩阵进行奇异值分解,获得特征值与特征向量,具体公式为:
[0034][0035]
式中,u
p
表示协方差矩阵c
pcpt
的特征向量矩阵;d
p
表示一个对角线上的非0值是c
pcpt
的非0特征值的平方根的对角阵;表示一个c
ptcp
的特征向量矩阵;
[0036]
其中,最大特征值对应的特征向量的方向即为长方体的主轴方向;
[0037]
之后,将坐标点投影到方向向量上,通过计算每个顶点位置坐标pi与坐标点单位向量的内积获得在每个方向上的最大值与最小值,令a、b、c分别为x、y、z上最大值与最小值的平均值,获得长方体的中心点o与长度l,生成茶叶嫩芽最合适且紧凑的长方体;
[0038]
具体公式为:
[0039][0040]
o=ax+by+cz;
[0041][0042]
式中,x为坐标点在x方向上的单位向量;y为坐标点在y方向上的单位向量;z为坐标点在z方向上的单位向量;l
x
、ly、lz分别为长方体在x方向、y方向、z方向的长度;
[0043]
再通过判断上述长方体y方向上最小的四个点的坐标,作为长方体底面的四个顶
点坐标;最后通过四个顶点坐标的平均值获得长方体底面中心点的坐标、即采摘点。
[0044]
本发明具有如下技术效果:
[0045]
本技术通过采用双向特征金字塔网络与通道注意力机制构造语义信息丰富的特征图,构建改进型yolov5目标检测网络模型,从而在不增加额外代价的前提下融合了更多的特征、增强了多个尺度上的语义表达与定位能力,提高了判断对象的概率和模型的检测精度,有效适用于目标较小且环境复杂的茶叶嫩芽的识别,避免由于茶叶嫩芽在整个图像的比例小而造成的误判、识别不清楚、甚至无法识别的问题;再通过拟合茶叶嫩芽的最小外接长方体且以该最小外接长方体的底面中心点作为茶叶嫩芽的采摘点,实现茶叶嫩芽的精确定位,同时配合自动化采摘工具对茶叶嫩芽进行采摘,有效避免机械化采摘易损伤茶叶以及易出现错采、漏采等问题,有效提高茶叶的采摘效率。
附图说明
[0046]
图1为本发明实施例中采用标注工具对图片进行标注后的示意图。
[0047]
图2为本发明实施例中基于双向特征金字塔网络结构的多尺度特征融合结构图。
[0048]
图3为本技术实施例的多目标检测定位方法的流程图。
具体实施方式
[0049]
以下通过实施例形式对本发明的上述内容再作进一步的详细说明,但不应将此理解为本发明上述主题的范围仅限于以下的实施例,凡基于本发明上述内容所实现的技术、以及对本发明所做的任何形式上的变通和/或改变都将落入本发明保护范围。
[0050]
实施例:
[0051]
一种基于yolov5的茶叶用多目标检测定位方法,其特征在于:具体包括以下步骤:
[0052]
s01、构建茶叶嫩芽图像数据集;具体为:
[0053]
首先,使用rgb-d相机进行茶叶嫩芽图像数据的采集,获得茶叶嫩芽的彩色图像与深度图像;然后,采用标注工具、如labelimg标注工具对彩色图像进行标注(如图1所示),并进行数据集增强操作(数据集增强操作可采用现有常规技术手段,本领域技术人员能够明确知晓并理解,例如空间转换、颜色转换等手段)、扩充数据集的数量,构建出茶叶嫩芽图像数据集;最后将数据集划分成训练集、测试集与验证集。
[0054]
s02、基于步骤s01中的数据集,通过双向特征金字塔网络和通道注意力机制构造语义信息丰富的特征图,实现对yolov5检测网络改进、获得yolov5目标检测网络模型,实现小尺寸茶叶嫩芽的检测;
[0055]
yolov5检测网络采用模型文件大小最小、特征图的深度与宽度最小的网络模型,包括backbone模块、neck模块和head模块;backbone模块包括用于对图片进行切片操作的focus模块、spp模块与cbs模块,以及用于增强整个卷积神经网络学习性能csp模块;neck模块包括cbs模块与csp模块;head模块包括利用基于网格anchor在不同尺度的特征图上进行目标检测的detect层;
[0056]
该步骤具体为:
[0057]
s21、首先,对步骤s01中的训练集中的图像进行预处理、统一训练集中所有图像的分辨率;再将预处理后的图像输入到backbone模块,获得不同尺寸的特征图;
[0058]
s22、然后,将步骤s21中不同尺寸的特征图输入到neck模块中,并在neck模块中采用双向特征金字塔网络(bi-directional feature pyramid network,bifpn)替代原有的路径聚合网络(path aggregation network,panet)进行多特征融合;再对特征图依次进行上采样、下采样,以及通过通道注意力机制(efficient channel attention,eca)的拼接产生多种尺寸的特征图,并输入到head模块的detect层中;
[0059]
其中,在yolov5检测网络中(即原有的yolov5网络结构中),使用加强特征提取bifpn,对p5_in进行上采样,上采样后与p4_in进行bifpn_concat堆叠获得p4_td;之后对p4_td进行上采样,上采样后与p3_in进行bifpn_concat堆叠获得p3_out;之后对p3_out进行下采样,下采样后与p4_td进行bifpn_concat堆叠获得p4_out;之后对p4_out进行下采样,下采样后与p5_in进行堆叠获得p5_out。该方法使用高效的双向交叉连接进行特征融合,去掉panet中对特征融合贡献较小的节点,在同一级别的输入和输出节点之间添加额外的连接,在不增加额外代价的情况下融合了更多的特征,增强多个尺度上的语义表达以及定位能力,如图2所示。
[0060]
之后,在第9层后添加eca,模块将输入特征图经过全局平均池化(global average pooling),特征图从[h,w,c]的矩阵变成[1,1,c]的向量,然后计算得到自适应的一维卷积核大小kernel_size,将kernel_size用于一维卷积中,以获得特征图中每个通道的权重;将归一化权重和原输入特征图进行逐一的通道相乘,生成加权后的特征图。
[0061]
该注意力机制在全局平均池化层之后使用1x1卷积层,去除了全连接层,避免了维度缩减,有效捕获了跨通道交互,最终提高了判断对象的概率和模型的检测精度;具体公式为:
[0062][0063]
式中,c表示通道维度;k表示卷积和大小;y、b分别取值2和1;
[0064]
s23、再结合多种损失函数(如分类损失、定位损失、执行损失等)进行反向传播,对模型中的梯度进行更新调节权重参数;
[0065]
s24、最后,采用步骤s01中的验证集对现有模型进行验证,获得yolov5目标检测网络模型。
[0066]
s03、基于步骤s02中的yolov5目标检测网络模型的训练结果,获得茶叶三维点云;然后在茶叶三维点云中筛选出茶叶嫩芽三维点云;最后拟合茶叶嫩芽最小外接长方体,获得茶叶嫩芽的精确位置以及采摘点。
[0067]
具体为:
[0068]
s31、首先,根据步骤s02的yolov5目标检测网络模型的结果,获取检测框坐标,生成彩色图像与对应深度图像的感兴趣区域(region of interest,roi);
[0069]
s32、然后,根据深度图像的像素坐标与彩色图像的像素坐标之间的映射关系,并通过深度图像的坐标值、像素值和记录距离,来得到对应的映射的彩色图像坐标;
[0070]
s33、再通过彩色图像与深度图像的坐标融合,获得茶叶三维点云,具体为:
[0071][0072]
式中,表示三维点云的坐标系;表示彩色图像的坐标系;d表示深度值、通过深度图像获得;f
x
、fy表示相机焦距;
[0073]
s34、由于生成的茶叶三维点云包含茶叶嫩芽及其背景点云,因此通过计算获得茶叶三维点云的平均值,并将该平均值作为距离阈值;然后,将大于距离阈值的背景点云进行过滤,得到初步分割的三维点云;再采用dbscan聚类算法,通过设置参数半径eps和邻域中要求含有的最低样本个数m
p
,将初步分割的三维点云聚为一类,并筛选出茶叶嫩芽三维点云;
[0074]
其中,dbscan聚类算法是在空间中随机选择一个数据样本,并通过确定分布在其邻域半径eps中样本数量是否大于等于最低样本个数m
p
阈值个数来确定其是否是核心对象:
[0075]
若是,则可以将邻域中的所有点划分到同一个簇组中,同时在上面的簇组基础上,通过广度优先搜索可以找到所有的密度可达的样本,划分到该簇组中;
[0076]
若该数据样本是非核心对象,则将其标记成噪声点去除;
[0077]
该公式具体为:
[0078]neps
(p)={q∈d|dist(p,q)≤eps};
[0079]
式中,d表示点云样本集;p、q分别表示样本集汇总的样本点;
[0080]
对于任意p∈d,若它的eps所对应的|n
eps
(p)|至少包含m
p
个样本,则p是核心对象;若q在p的eps内,并且p是核心对象,则成为q由p密度可达;
[0081]
s35、根据茶叶嫩芽的生长姿态,采用主成分分析法(principal component analysis,pca)拟合处茶叶嫩芽的最小外接长方体;然后计算获得长方体各个顶点坐标;再通过求长方体底面四个顶点平均值获得长方体底面中心点的坐标,并以该点作为茶叶嫩芽的采摘点,具体为:
[0082]
首先,采用主成分分析法筛选出茶叶嫩芽三维点云的三个主方向,即x、y、z方向,并计算质心、协方差,得到协方差矩阵;具体为:
[0083][0084][0085]
式中,pc表示三维点云的质心坐标;n表示三维点云的数目(即点的数量);(xi,yi,zi)表示第i个点的三维坐标;
[0086][0087]
式中,c
p
表示三维点云的协方差矩阵;
[0088]
然后,对协方差矩阵进行奇异值分解,获得特征值与特征向量,具体公式为:
[0089][0090]
式中,u
p
表示协方差矩阵c
pcpt
的特征向量矩阵;d
p
表示一个对角线上的非0值是c
pcpt
的非0特征值的平方根的对角阵;表示一个c
ptcp
的特征向量矩阵;
[0091]
其中,最大特征值对应的特征向量的方向即为长方体的主轴方向;
[0092]
之后,将坐标点投影到方向向量上,通过计算每个顶点位置坐标pi与坐标点单位向量的内积获得在每个方向上的最大值与最小值,令a、b、c分别为x、y、z上最大值与最小值的平均值,获得长方体的中心点o与长度l,生成茶叶嫩芽最合适且紧凑的长方体;
[0093]
具体公式为:
[0094][0095]
o=ax+by+cz;
[0096][0097]
式中,x为坐标点在x方向上的单位向量;y为坐标点在y方向上的单位向量;z为坐标点在z方向上的单位向量;l
x
、ly、lz分别为长方体在x方向、y方向、z方向的长度;
[0098]
再通过判断上述长方体y方向上最小的四个点的坐标,作为长方体底面的四个顶点坐标;最后通过四个顶点坐标的平均值获得长方体底面中心点的坐标、即采摘点。
[0099]
以上所述,仅是本发明的较佳实施例,并非对本发明作任何形式上的限制,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,依据本发明的技术实质,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
技术特征:1.一种基于yolov5的茶叶用多目标检测定位方法,其特征在于:具体包括以下步骤:s01、构建茶叶嫩芽图像数据集;s02、基于步骤s01中的数据集,通过双向特征金字塔网络和通道注意力机制构造语义信息丰富的特征图,实现对yolov5检测网络改进、获得yolov5目标检测网络模型,实现小尺寸茶叶嫩芽的检测;s03、基于步骤s02中的yolov5目标检测网络模型的训练结果,获得茶叶三维点云;然后在茶叶三维点云中筛选出茶叶嫩芽三维点云;最后拟合茶叶嫩芽最小外接长方体,获得茶叶嫩芽的精确位置以及采摘点。2.根据权利要求1所述的一种基于yolov5的茶叶用多目标检测定位方法,其特征在于:所述步骤s01具体为:首先,使用rgb-d相机进行茶叶嫩芽图像数据的采集,获得茶叶嫩芽的彩色图像与深度图像;然后,采用标注工具对彩色图像进行标注,并进行数据集增强操作、扩充数据集的数量,构建出茶叶嫩芽图像数据集;最后将数据集划分成训练集、测试集与验证集。3.根据权利要求1或2所述的一种基于yolov5的茶叶用多目标检测定位方法,其特征在于:所述yolov5检测网络包括backbone模块、neck模块和head模块;所述backbone模块包括用于对图片进行切片操作的focus模块、spp模块与cbs模块,以及用于增强整个卷积神经网络学习性能csp模块;所述neck模块包括cbs模块与csp模块;所述head模块包括利用基于网格anchor在不同尺度的特征图上进行目标检测的detect层。4.根据权利要求1或3所述的一种基于yolov5的茶叶用多目标检测定位方法,其特征在于:所述步骤s02具体为:s21、首先,对步骤s01中的训练集中的图像进行预处理、统一训练集中所有图像的分辨率;再将预处理后的图像输入到backbone模块,获得不同尺寸的特征图;s22、然后,将步骤s21中不同尺寸的特征图输入到neck模块中,并在neck模块中采用双向特征金字塔网络替代原有的路径聚合网络进行多特征融合;再对特征图依次进行上采样、下采样,以及通过通道注意力机制的拼接产生多种尺寸的特征图,并输入到head模块的detect层中;s23、再结合多种损失函数进行反向传播,对模型中的梯度进行更新调节权重参数;s24、最后,采用步骤s01中的验证集对现有模型进行验证,获得yolov5目标检测网络模型。5.根据权利要求1或4所述的一种基于yolov5的茶叶用多目标检测定位方法,其特征在于:所述步骤s03具体为:s31、首先,根据步骤s02的yolov5目标检测网络模型的结果,获取检测框坐标,生成彩色图像与对应深度图像的感兴趣区域;s32、然后,根据深度图像的像素坐标与彩色图像的像素坐标之间的映射关系,并通过深度图像的坐标值、像素值和记录距离,来得到对应的映射的彩色图像坐标;s33、再通过彩色图像与深度图像的坐标融合,获得茶叶三维点云,具体为:
式中,表示三维点云的坐标系;表示彩色图像的坐标系;d表示深度值、通过深度图像获得;f
x
、f
y
表示相机焦距;s34、由于生成的茶叶三维点云包含茶叶嫩芽及其背景点云,因此通过计算获得茶叶三维点云的平均值,并将该平均值作为距离阈值;然后,将大于距离阈值的背景点云进行过滤,得到初步分割的三维点云;再采用dbscan聚类算法,通过设置参数半径eps和邻域中要求含有的最低样本个数m
p
,将初步分割的三维点云聚为一类,并筛选出茶叶嫩芽三维点云;s35、根据茶叶嫩芽的生长姿态,采用主成分分析法拟合处茶叶嫩芽的最小外接长方体;然后计算获得长方体各个顶点坐标;再通过求长方体底面四个顶点平均值获得长方体底面中心点的坐标,并以该点作为茶叶嫩芽的采摘点。6.根据权利要求5所述的一种基于yolov5的茶叶用多目标检测定位方法,其特征在于:所述步骤s35具体为:首先,采用主成分分析法筛选出茶叶嫩芽三维点云的三个主方向,即x、y、z方向,并计算质心、协方差,得到协方差矩阵;具体为:算质心、协方差,得到协方差矩阵;具体为:式中,p
c
表示三维点云的质心坐标;n表示三维点云的数目;(x
i
,y
i
,z
i
)表示第i个点的三维坐标;式中,c
p
表示三维点云的协方差矩阵;然后,对协方差矩阵进行奇异值分解,获得特征值与特征向量,具体公式为:式中,u
p
表示协方差矩阵的特征向量;u
p
表示协方差矩阵c
p
c
pt
的特征向量矩阵;d
p
表示一个对角线上的非0值是c
p
c
pt
的非0特征值的平方根的对角阵;表示一个c
pt
c
p
的特征向量矩阵;其中,最大特征值对应的特征向量的方向即为长方体的主轴方向;之后,将坐标点投影到方向向量上,通过计算每个顶点位置坐标p
i
与坐标点单位向量的
内积获得在每个方向上的最大值与最小值,令a、b、c分别为x、y、z上最大值与最小值的平均值,获得长方体的中心点o与长度l,生成茶叶嫩芽最合适且紧凑的长方体;具体公式为:o=ax+by+cz;式中,x为坐标点在x方向上的单位向量;y为坐标点在y方向上的单位向量;z为坐标点在z方向上的单位向量;l
x
、l
y
、l
z
分别为长方体在x方向、y方向、z方向的长度;再通过判断上述长方体y方向上最小的四个点的坐标,作为长方体底面的四个顶点坐标;最后通过四个顶点坐标的平均值获得长方体底面中心点的坐标、即采摘点。
技术总结本发明提供一种基于YoloV5的茶叶用多目标检测定位方法,具体包括S01、构建茶叶嫩芽图像数据集;S02、改进YoloV5检测网络;S03、获得茶叶嫩芽三维点云、拟合茶叶嫩芽最小外接长方体、获得茶叶嫩芽采摘点。该方法能够有效对茶叶嫩芽进行多目标检测、定位,从而精确有效的识别茶叶嫩芽的位置,配合采摘工具、实现智能化采摘茶叶嫩芽,进而提高采摘效率、节省采摘时间、降低人力成本。降低人力成本。降低人力成本。
技术研发人员:朱立学 张智浩 林桂潮 张世昂 陈品岚 官金炫 陈明杰 林深凯 吴天骏
受保护的技术使用者:仲恺农业工程学院
技术研发日:2022.07.22
技术公布日:2022/11/1