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

基于深度神经网络的成熟期水果的检测与跟踪计数的方法

2023-02-06 14:23:36 来源:中国专利 TAG:


1.本发明属于机器视觉技术领域,具体涉及一种各成熟期水果的检测与跟 踪计数的方法。


背景技术:

2.目前果园中水果的产量预测主要方式仍然是基于人工实地统计,即在果 园中通过人工目测计数或抽样的方式进行数量估测来预测产量,这种计数方 法费时费力、效率低下。另外由于水果生长密集以及水果枝条产生的遮挡, 这种计数方法容易产生视觉疲劳,从而导致计数出错。因此对果园中的水果 进行智能识别与计数就显得尤为重要,使用农业巡检机器人成为解决方法之 一,这就要求巡检机器人能够完全代替人类进行水果的识别和计数,即在机 器人巡检过程中准确地识别出水果,并且完成相应的计数。
3.近年来,随着计算机技术与机器视觉技术的发展,基于深度学习神经网 络的目标检测方法得到了广泛的应用,果园中水果的目标检测方法开始由传 统方法转变为深度学习方法。
4.在alexnet深度神经网络出现之后,出现了如rcnn,ssd,yolo等 一系列优秀的目标检测算法,相比于传统的目标检测方法,深度学习方法检 测精度更高,速度更快,更适合用于果园中水果的检测。
5.但是目前果园中水果目标图像公开数据集较为稀少,针对不同成熟期的 水果检测十分困难。并且由于天气,光照,以及遮挡等外在环境因素,使得 果园中的水果检测环境变得非常复杂。由于以上原因导致现有方法无法直接 用于果园中水果的检测计数。因此如何实现果园中不同成熟期的水果检测与 计数成为一个亟待解决的问题。


技术实现要素:

6.本发明的目的是提供一种基于深度神经网络的各成熟期水果的检测与跟 踪计数的方法,包括以下步骤:
7.步骤一:水果视频数据采集;
8.步骤二:构建目标检测数据集;
9.步骤三:构建yolov5的网络结构,训练基于yolov5的水果目标检 测模型;
10.步骤四:对水果数据进行目标检测;
11.步骤五:将目标检测的结果结合多分类的bytetrack目标跟踪算法进行 多目标跟踪;
12.步骤六:设定roi区域,对分配了身份id的水果进行分类计数。
13.进一步的,所述步骤一具体为:
14.通过相机拍摄处于不同生长时期的水果视频;
15.拍摄的时间包括中午12点,下午3点以及晚上8点;
16.光照环境包括前光、背光、散射光以及灯光照明;
17.采集的视频为mp4格式,分辨率为水平1920
×
垂直1080,视频的帧率 为30f/s。
18.进一步的,所述通过相机拍摄处于不同生长时期的水果视频,包括:
19.在视频拍摄的过程中,拍摄方向正向平行于太阳光照射的方向以模拟前 光,拍摄方向反向平行于太阳光照射的方向以模拟背光,在阴天多云的环境 下采集视频以模拟散射光,在晚上只有果园中灯光照明的条件下同样采集视 频。
20.进一步的,所述步骤二具体为:
21.提取拍摄视频的图像,然后筛选出用于构建目标检测数据集的图片;
22.对图像编号后,使用labelimg软件人工对样本图片进行标注,绘制边框, 手工分类;
23.将标注的数据集按照9:1的比例划分为训练集以及测试集。
24.进一步的,所述步骤三中所述yolov5的网络结构包括输入端、主干网 络模块、颈部网络模块以及输出端四个部分;
25.所述输入端用于对水果图像输入网络之前做预处理,包括自适应缩放图 片、mosaic数据增强;
26.所述自适应缩放图片为,首先设定待进行训练的图片大小为512x512, 以w,h来表示原图像的宽和高;那么经过缩放后的宽高分别为:w1=w
×ꢀ
min{w/512,h/512},h1=h
×
min{w/512,h/512};如果w1《512,则对应的w 边上下添加[(512w1)%64]/2高度的黑边,最终凑成512
×
512大小的图片; 对h也同理操作;其中min表示取最小值操作;
[0027]
所述mosaic数据增强,随机选取4张图片,对4张图片进行数据增广操 作,操作包括对原始图像进行左右的翻转,大小的缩放以及明亮度,饱和度, 色调的调整;然后将4张图片进行拼接,形成一张新的图片;
[0028]
所述主干网络模块用于对输入图像进行特征提取使用c3和sppf结构, c3模块将基础的特征层分为两个部分,一部分用来做卷积运算,另一部分通 过跨层组合的方式与卷积运算后的部分进行融合,通过融合之后输出特征f, 提高运算速度;sppf模块的作用是将在c3中提取的多个尺度的特征融合到 一起,进一步扩展图像的感受野;
[0029]
所述颈部网络模块采用了fpn pan结合的形式将不同层的特征进行融 合,fpn是自上向下传递特征,pan是自下而上传递特征,通过两者的结合, 可以将不同层的特征进行融合,减少特征信息的丢失;
[0030]
所述输出端用于输出输入图像的1/8、1/16、1/32的3个特征图,使用 ciou_loss作为预测框的损失函数,ciou_loss函数公式如下式所示:
[0031][0032]
其中,b为预测框,b
gt
为真实框;ρ2(b,b
gt
)表示预测框和真实框他们中心点 的距离;b∩b
gt
为预测框与真实框之间的并集,b∪b
gt
为预测框与真实框之间 的交集;w表示为预测框的宽度,h表示预测框的 高度,w
gt
为真实框的宽度,h
gt
表示为真实框的高度;c2表示预测框与真实框 形成的外接矩形对角线的长度。
[0033]
进一步的,所述步骤三所述训练yolov5水果目标检测模型各条件为:
[0034]
网络模型的深度depth_multiple设为0.33,宽度width_multiple设为0.5, 图片的尺寸设为512x512,batch-size设为64,训练200轮,每一轮训练,训 练集中所有的图片都经过yolov5模型训练一次,得到效果最优的yolov5 检测模型用于后续检测。
[0035]
进一步的,所述步骤四的具体步骤为:
[0036]
逐帧读取水果检测视频;
[0037]
将每一帧图像帧使用yolov5网络训练的水果检测模型进行推理检测, 检测每一帧图像中所有的水果目标的位置、类别以及置信度,使用检测框的 形式存储检测的结果;检测框bbox的表达式为:
[0038]
bbox=[x,y,w,h,cls,conf]
[0039]
其中x、y、w、h依次分别为检测框的中心点坐标以及检测框的宽高;cls为 目标的类别,conf为目标的置信度。
[0040]
进一步的,所述步骤五的具体步骤包括:
[0041]ⅰ、构建多分类bytetrack跟踪算法的目标检测器,将步骤四中对水果 视频数据进行目标检测得到的检测框以置信度得分进行划分,得分高于0.5 的划为高分框,得分低于0.5的划为低分框,并对所有目标框创建轨迹对象。
[0042]ⅱ、构建多分类bytetrack跟踪算法的轨迹预测,使用改进的多分类卡 尔曼滤波,对检测的各类水果目标轨迹进行运动建模,预测目标轨迹的下一 帧目标框的位置和大小,用一个9维空间表示轨迹某时刻的状态,运动模型 表达式如下:
[0043][0044]
其中xk、yk表示检测框的中心点,rk为宽高比,高hk;表示检测框中心 点坐标的变化率。为检测框宽高比变化率,为检测框高度变化率,clsk为 检测框的类别信息。
[0045]ⅲ、构建多分类bytetrack跟踪算法的匹配器,使用检测框和跟踪轨迹 进行匹配时先使用高分框和当前所有的跟踪轨迹进行匹配,再使用低分框和 没有匹配上高分框的跟踪轨迹进行匹配;对于没有匹配上跟踪轨迹的高分框, 对其新建一个跟踪轨迹;对于没有匹配上检测框的跟踪轨迹,保留30帧,在 其再次出现时再进行匹配;
[0046]ⅳ、为每一个水果检测目标分配身份id,当一帧图像中的目标能够与之 前帧中出
现的目标成功匹配则保持其身份id不变,若当前帧中的目标不能 与之前帧中的目标匹配则为其分配新的身份id。
[0047]
进一步的,所述步骤六中的设定roi区域为,
[0048]
在图像中设定进行计数的区域,通过设定坐标点的形式,形成计数区域, 当跟踪目标出现在计数区域时,对跟踪目标进行计数。
[0049]
进一步的,所述分类计数方法包括:
[0050]
步骤a逐帧判断每一帧识别的水果目标框的中心位置坐标是否位于roi 计数区域之内,若不在roi计数区域之内,重复执行这一步骤;若坐标位置 位于roi计数区域之内,执行下一步骤;
[0051]
步骤b提取识别的水果目标框的类别信息,然后判断roi区域相应类别 的跟踪列表是否包含该水果目标的身份id;若该类别的跟踪列表不包含此身 份id,则将此身份id加入该类别的跟踪列表,并将对应类别的计数器加一; 若该类别的跟踪列表已经包含此身份id,则不对其计数;
[0052]
步骤c检测完所有视频帧之后,对roi区域的所有类别的跟踪列表清空。
[0053]
本发明的技术效果:
[0054]
适用于果园中复杂的环境,实现对果园中不同成熟期的水果检测与计数, 加快农业巡检机器人的智能化进程。
附图说明
[0055]
附图大体上通过举例而不是限制的方式示出各种实施例,并且与说明书 以及权利要求书一起用于对所发明的实施例进行说明。在适当的时候,在所 有附图中使用相同的附图标记指代同一或相似的部分。这样的实施例是例证 性的,而并非旨在作为本装置或方法的穷尽或排他实施例。
[0056]
图1示出了本发明的果园中火龙果视频数据采集画面示意图;
[0057]
图2示出了本发明的技术路线示意图;
[0058]
图3示出了yolov5的网络结构示意图;
[0059]
图4示出了roi计数方法的流程示意图;
[0060]
图5示出了本发明的各成熟期火龙果计数效果示意图a;
[0061]
图6示出了本发明的各成熟期火龙果计数效果示意图b。
具体实施方式
[0062]
需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特 征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
[0063]
具体实施例:
[0064]
以火龙果花、未成熟期火龙果以及成熟期火龙果的检测与跟踪计数为例。
[0065]
步骤1.各成熟期火龙果数据采集。
[0066]
步骤1-1.在火龙果种植园内,通过手持智能手机沿垄间道路拍摄了多处火 龙果植株的视频,有的地块处于即将成熟的时期,植株上挂有成熟果(红果) 和未成熟果(绿果),如图1(a)所示。有的地块处于花果共存期,有火龙果花 和绿果,如图1(b)所示。有的地
块还处于花、绿果、红果共存的时期,如图 1(c)所示。拍摄的时间包括太阳光直射的中午时分、光线较为柔和的下午时 分以及补光灯照射下的夜晚时分。光照环境包括前光,背光,散射以及灯光 照明。采集的视频为mp4格式,分辨率为1920(水平)
×
1080(垂直),帧率为 30f/s。采集方式为沿着垄间道路,从过道的底部一直拍摄到过道的顶部。拍 摄角度分为两种,分别是约45度倾斜于种植行,拍摄单垄火龙果种植行以及 平行于垄间过道,拍摄双垄火龙果种植行。
[0067]
步骤2.火龙果目标检测数据集的构建
[0068]
步骤2-1.将拍摄的白天以及夜晚的视频,按照每30帧提取一帧图像的方 式,对视频帧进行提取,然后对提取完的图片进行筛选,将不包含火龙果目 标,镜头模糊的图片剔除,一共筛选出5500张图片。对图像编号后,使用 labelimg软件人工对样本图片进行标注,绘制边框,手工分类。对于遮挡面 积超过90%或者模糊不清晰的目标不进行标注。为了更好的比较不同的目标 检测算法的性能,将标注的数据格式保存为pascal voc格式。标注的火 龙果数据分为3大类,分别是火龙果花,未成熟期火龙果,成熟期火龙果。 标注完成之后,将5500张样本的数据集按照9:1的比例划分为5000张训练 集,以及500张测试集。
[0069]
步骤3.搭建yolov5目标检测模型并进行训练,用于对各成熟期火龙果 的检测。yolov5模型结构如图3所示,其内部包括输入端,主干层,颈部 层以及输出层。各层搭建方法如下:
[0070]
步骤3-1.yolov5模型输入端的搭建,包括图像自适应缩放与mosaic数 据增强。其中图像自适应缩放为:首先设定待进行训练的图片大小为512x512, 以w,h来表示原图像的宽和高。那么经过缩放后的宽高分别为:w1=w
×ꢀ
min{w/512,h/512},h1=h
×
min{w/512,h/512},如果w1《512,则对应的w 边上下添加[(512w1)%64]/2高度的黑边,最终凑成512
×
512大小的图片, 同理h操作,其中min表示取最小值操作。mosaic数据增强操作为:随机选 取4张图片,对4张图片进行数据增广操作,操作包括对原始图像进行左右 的翻转,大小的缩放以及明亮度,饱和度,色调的调整。然后将4张图片进 行拼接,形成一张新的图片,加强了处理的效率。
[0071]
步骤3-2.yolov5模型主干层的搭建,使用c3和sppf结构,c3模块 将基础的特征层分为两个部分,一部分用来做卷积运算,另一部分通过跨层 组合的方式与卷积运算后的部分进行融合,通过融合之后输出特征f(feature, 特征),提高了运算速度。sppf模块的作用是将在c3中提取的多个尺度的特 征融合到一起,进一步扩展图像的感受野。
[0072]
步骤3-3.yolov5模型颈部层的搭建,用了fpn pan结合的形式,fpn 是自上向下传递特征,pan是自下而上传递特征,通过两者的结合,可以将 主干层中输出的特征进行融合,减少特征信息的丢失。
[0073]
步骤3-4.yolov5模型输出端的搭建,对颈部层融合的特征进行预测。 使用ciou_loss作为预测框的损失函数,ciou_loss函数公式如下式(1)所 示:
[0074][0075]
其中,ρ2(b,b
gt
)表示预测框和真实框他们中心点的距离,b为预测框,b
gt
为真实框。
b∩b
gt
为预测框与真实框之间的并集,b∪b
gt
为预测框与真实框之 间的交集。w表示为预测框的宽度,h表示预测框 的高度,w
gt
为真实框的宽度,h
gt
表示为真实框的高度,c2表示预测框与真实 框形成的外接矩形对角线的长度。
[0076]
步骤3-5.训练yolov5火龙果检测模型,将网络模型的深度 depth_multiple设为0.33,宽度width_multiple设为0.5,图片的尺寸设为512x512,batch-size设为64,训练200轮,每一轮训练,训练集中所有的图 片都经过yolov5模型训练一次,得到效果最优的yolov5火龙果检测模 型用于后续检测。
[0077]
步骤4.搭建改进的多分类bytetrack跟踪器,用于对各成熟期的火龙果跟 踪。改进的多分类bytetrack包括使用目标检测器对火龙果进行检测,使用 卡尔曼滤波器对火龙果运动轨迹的下一帧位置进行预测,以及使用特征匹配 器对检测目标与预测目标进行匹配。
[0078]
步骤4-1.使用yolov5火龙果目标检测模型作为改进的多分类 bytetrack的目标检测器,检测图像中所有的火龙果目标的位置,类别以及置 信度,使用检测框的形式存储目标位置,类别以及置信度信息等检测结果。 检测框(bbox)的表达式为:
[0079]
bbox=[x,y,w,h,cls,conf]
[0080]
其中x、y、w、h为检测框的中心点坐标以及检测框的宽高。cls为目标 的类别,conf为目标的置信度。
[0081]
步骤4-2.构建多分类bytetrack跟踪算法的目标检测器,将步骤4-1中 对火龙果视频数据进行目标检测得到的检测框以置信度得分进行划分,得分 高于0.5的划为高分框,得分低于0.5的划为低分框,并对所有目标框创建轨 迹对象,置信度得分最大为1。
[0082]
步骤4-3.构建多分类bytetrack跟踪算法的轨迹预测,使用卡尔曼滤波, 对检测的火龙果目标轨迹进行运动建模,预测目标轨迹的下一帧目标框的位 置和大小,用一个9维空间表示轨迹某时刻的状态,运动模型表达式如下:
[0083][0084]
其中xk、yk表示检测框的中心点,rk为宽高比,高hk。表示检测框 中心点坐标的变化率。为检测框宽高比变化率,为检测框高度变化率,clsk为检测框的类别信息。
[0085]
步骤4-4.构建多分类bytetrack跟踪算法的匹配器,使用检测框和跟踪 轨迹进行匹配时先使用高分框和当前所有的跟踪轨迹进行匹配,再使用低分 框和没有匹配上高分框的跟踪轨迹进行匹配;对于没有匹配上跟踪轨迹的高 分框,对其新建一个跟踪轨迹;对于没有匹配上检测框的跟踪轨迹,保留30 帧,在其再次出现时再进行匹配;
[0086]
步骤4-5.为每一个火龙果果检测目标分配身份id,当一帧图像中的目标 能够与之前帧中出现的目标成功匹配则保持其身份id不变,若当前帧中的 目标不能与之前帧中的目标匹配则为其分配新的身份id。
[0087]
步骤5.使用yolov5火龙果检测模型以及改进的多分类bytetrack跟踪器 对各成熟期火龙果进行跟踪。
[0088]
步骤5-1.逐帧读取火龙果视频,按前后顺序分别进入检测。
[0089]
步骤5-2.使用yolov5火龙果检测模型对每一帧图像进行检测,使用主 干层进行特征提取,将提取的特征通过颈部层进行融合,最终将融合后的特 征进行检测输出。将得到的检测框按置信度得分分为高分框和低分框。
[0090]
步骤5-3.对检测输出的结果(x,y,r,h,,cls),其中(x,y)表示检测目 标框的中心点坐标,r,h表示检测框的宽高,cls表示检测框类别,其余参数 表示前4个参数在坐标系中对应的速度变化信息。使用卡尔曼滤波器来对目 标的轨迹状态进行预测和更新,使用(x,y,r,h,cls)表示火龙果目标的观测变量, 得到经过卡尔曼滤波器预测之后的预测框。
[0091]
步骤5-4.将步骤5-2得到的高分框与步骤5-3得到的预测轨迹进行匹配。
[0092]
步骤5-5.将步骤5-2得到的低分框与步骤5-4中没有匹配上高分框的轨迹 进行匹配。
[0093]
步骤5-6.对于没有匹配上轨迹的高分框,给它新建一个轨迹。
[0094]
步骤5-7.对于没有匹配上检测框的轨迹,保留30帧,等待下次匹配。
[0095]
步骤5-8.对于匹配上的检测目标保留身份id,对于未匹配上的目标生成 新的身份id。
[0096]
步骤6设定roi区域对分配了身份id的火龙果进行分类计数。
[0097]
步骤6-1.对检测的火龙果视频设定roi计数区域,如图5与图6所示, 针对单垄火龙果种植行,分配一块大小200x700的矩形区域,针对双垄火龙 果种植行,分配两块大小为200x700的矩形区域。
[0098]
步骤6-2.对进入到矩形区域中的火龙果目标进行计数,计数方法如图4 所示,可分为3个步骤:
[0099]
步骤a逐帧判断每一帧识别的火龙果目标框的中心位置坐标是否位于 roi计数区域之内,若不在roi计数区域之内,重复执行这一步骤;若坐标 位置位于roi计数区域之内,执行下一步骤;
[0100]
步骤b提取识别的火龙果目标框的类别信息,然后判断roi区域相应类 别的跟踪列表是否包含该水果目标的身份id;若该类别的跟踪列表不包含此 身份id,则将此身份id加入该类别的跟踪列表,并将对应类别的计数器加 一;若该类别的跟踪列表已经包含此身份id,则不对其计数;
[0101]
步骤c检测完所有视频帧之后,对roi区域的所有类别的跟踪列表清空。
[0102]
以上所述,仅为本发明优选的具体实施方式,但本发明的保护范围不局 限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据 本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的 保护范围之内。
再多了解一些

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

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

相关文献