一种用于移动机器人的装甲板检测跟踪方法

文档序号:32247436发布日期:2022-11-18 23:58阅读:54来源:国知局
一种用于移动机器人的装甲板检测跟踪方法

1.本发明涉及图像处理技术领域,尤其涉及一种用于移动机器人的装甲板检测跟踪方法。


背景技术:

2.近年来在人工智能飞速发展的环境下,移动机器人在工业、农业、医疗等行业中得到广泛的应用;移动机器人主要的研究技术包括环境感知、运动控制、路径规划等。在实际应用中,目标跟踪技术对移动机器人的性能有着很大的影响;由于移动迅速、工作环境复杂多变,实时性和精度都高的目标跟踪技术成为移动机器人研究的重点。
3.以全球性的机器人竞技比赛robomaster机甲大师比赛为研究背景,对移动机器人的目跟踪技术展开研究;在robomaster比赛中,能否正确地识别装甲板是赢得比赛的关键,比赛中通常会对相机获取的图像进行简单预处理后,使用匹配轮廓的方式来识别装甲板并进行打击,这种方法虽然能够达到比赛的实时性要求,但现场环境复杂、光线杂乱且会出现很多遮挡现象,容易导致装甲板错误识别。


技术实现要素:

4.针对现有算法的不足,本发明将改进后的算法在移动机器人上实际应用,可实现移动机器人装甲板在被遮挡以及背景光照复杂的情况下稳定跟踪。
5.本发明所采用的技术方案是:一种用于移动机器人的装甲板检测跟踪方法包括以下步骤:
6.步骤一、采集移动机器人装甲板图片,获取数据集;
7.步骤二、针对装甲板小目标对yolov5s网络进行改进,将训练集输入改进后的yolov5s网络进行训练,获取yolov5s检测模型,用于对移动机器人装甲板的检测;
8.进一步,步骤二具体包括:
9.步骤2.1:在yolov5s网络的sppf层之前添加ca注意力模块,将位置信息嵌入到通道注意力;
10.步骤2.2、在yolov5s网络中删除大目标检测层,删除大目标检测层的anchors和大目标检测层对应的网络层;
11.进一步的,删除大目标检测层的anchors为(116,90),(156,198)和(373,326),得到anchors模块的6个锚框,分别为(10,13),(16,30),(33,23),(30,61),(62,45),(59,119);
12.删除原yolov5s网络中的第8层集卷积层、9层c3模块、12层上采样层、head中的22-24层及检测层中的大目标检测头。
13.步骤2.3构建改进yolov5s网络;
14.进一步的,具体包括:
15.1、初始化yolov5s网络参数,对图像归一化处理,并设置batch size、epochs、初始
学习率、iou阈值、动量、权重衰减、置信度阈值和非极大值重叠率;
16.2、对装甲板数据集进行预处理,包括:mosaic数据增强、自适应锚框计算以及自适应图片缩放;
17.3、将图像输入到融合ca注意力的backbone模块产生多种尺寸的特征图,然后进行上采样、下采样以及concat拼接操作,产生不同尺度大小的特征图;
18.4、将不同尺度的特征图输入head部分的detect层中,得到要检测目标的检测框位置、类别以及置信度,删除置信度小于设定阈值的检测框,计算检测框与真实框之间的iou,再利用定位损失、分类损失和置信度损失进行反向传播,并对yolov5s网络中的梯度进行更新调节权重参数。
19.步骤三、构建deepsort模型对已检测的装甲板进行预测与跟踪;
20.进一步的,具体包括:
21.步骤3.1、根据首帧目标的检测框创建对应的跟踪框,利用首帧目标的检测框信息初始化卡尔曼滤波器的参数,通过卡尔曼滤波器预测下一帧的目标位置信息;
22.步骤3.2、将当前帧目标的检测框和预测框进行iou匹配,通过目标框的马氏距离和特征余弦距离来整合运动信息和外观信息计算代价矩阵,将代价矩阵作为匈牙利算法的输入进行线性匹配,得到匹配成功的跟踪框和检测框、匹配失败的检测框、匹配失败的跟踪框。执行此步直至出现确认框或跟踪结束;
23.进一步的,步骤3.2包括:更新匹配成功的预测框的卡尔曼滤波参数;匹配失败的检测框认为出现了新的目标,为其新建预测框;此时匹配失败的跟踪框为不确认状态的跟踪框,将其删除;不确认状态的跟踪框连续三帧匹配成功则成为确认状态的跟踪框;确认状态的跟踪框连续30帧匹配失败,则认为目标丢失,删除跟踪框。
24.步骤3.3、对当前帧的检测框和上一帧确认框的预测框进行级联匹配,对出现频率高的目标物赋予优先权,更新匹配成功的预测框的卡尔曼滤波参数,将失配的预测框、之前的不确认的预测框与失配的检测框进行iou匹配并计算代价矩阵,重复步骤3.2、3.3至跟踪结束。
25.本发明的有益效果:
26.1、在yolov5s的主干网络中添加ca注意力模块,将位置信息嵌入到通道注意力中,使网络获得更大区域的信息,加强特征提取,提升装甲板检测精度;
27.2、针对装甲板的小目标删除yolov5s网络中的大目标检测层,在保持检测精度的同时提升检测速度;使用deepsort算法来对检测到的目标进行跟踪,利用卡尔曼滤波、匈牙利算法来解决当前帧检测框与轨迹的关联问题,提高了数据关联的准确性,有效的提升装甲板在被遮挡以及背景光照复杂的情况下跟踪效果。
附图说明
28.图1是本发明的改进后的yolov5s网络结构图;
29.图2是本发明的p-r曲线图;
30.图3是本发明的yolov5s模型训练的可视化参数示意图;
31.图4是本发明的改进型yolov5s目标检测对比图。
具体实施方式
32.下面结合附图和实施例对本发明作进一步说明,此图为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
33.如图1所示,一种用于移动机器人的装甲板检测跟踪方法包括以下步骤:
34.步骤1、采集移动机器人装甲板图片,获取数据集;
35.采集不同场景下的移动机器人装甲板图片2500张,将图片中的装甲板分成红色和蓝色两个类,使用标注工具labelimg对图片进行标注,将标注信息写入xml文件,按8:2的比例划分训练集和测试集,并将xml格式转成txt文件,最终训练集为2000张图片,测试集为500张,利用标注好的xml文件将图片中的对应目标分割出来,对图片进行重命名、统一尺寸并划分训练集和验证集用于对训练获取deepsort跟踪模型。
36.步骤2、针对装甲板小目标对yolov5s网络进行改进,将训练集输入改进后的yolov5s网络进行训练,获取yolov5s检测模型,用于对移动机器人装甲板的检测;
37.进一步的,步骤2具体包括:
38.步骤2.1:在yolov5s网络的sppf层之前添加ca注意力模块,将位置信息嵌入到通道注意力,从而使移动网络获得更大区域的信息,加强特征提取,提升装甲板检测精度;
39.步骤2.2、在yolov5s网络中删除大目标检测层,删除大目标检测层的anchors和大目标检测层对应的网络层;
40.1、删除大目标检测层的anchors为(116,90),(156,198)和(373,326),得到anchors模块的6个锚框,分别为(10,13),(16,30),(33,23),(30,61),(62,45),(59,119);
41.2、删除原yolov5s网络中的第8层集卷积层、9层c3模块、12层上采样层、head中的22-24层及检测层中的大目标检测头。
42.步骤2.3、yolov5s网络主要包括输入端、主干层、颈部层和头部层,具体包括:
43.1、初始化模型参数,本发明使用的操作系统为ubuntu18.04,整个实验的学习框架为pytorch1.9.1,实验环境是python 3.7,gpu加速软件为cuda11.3和cudnn8.4;实验中batch size为8,epochs设置为100,图像归一化大小为640
×
640,初始学习率为0.01,iou阈值为0.5、动量为0.937、权重衰减为0.0005、置信度阈值为0.3,非极大值重叠率为0.5;
44.2、对装甲板数据集进行预处理,其中预处理包含mosaic数据增强、自适应锚框计算以及自适应图片缩放;其中,mosaic数据增强:将4张图片通过随机缩放、裁剪和排列进行拼接;自适应锚框计算:对于不同的数据集需要设定不同的锚框,使用kmeans算法和遗传学算法获得适合数据集中目标的预设锚框;自适应图片缩放:由于图片长宽不一,通常将图片缩放至固定尺度,尽量保持长宽比,缺边使用灰色补齐;
45.3、再将图像输入到融合ca注意力的backbone部分产生多种尺寸的特征图,然后进行上采样操作、下采样操作以及concat拼接操作完成多特征融合,产生不同尺度大小的特征图;
46.4、将不同尺度的特征图输入head部分的detect层中,能够得到所要检测目标的检测框位置、类别以及置信度,删除置信度小于设定阈值的检测框,计算检测框与真实框之间的iou,再利用定位损失、分类损失和置信度损失进行反向传播,并对yolov5s网络中的梯度进行更新调节权重参数,最后利用验证集对每个阶段的模型进行验证,获得yolov5s检测模型。
47.本发明主要使用精确度(p)、召回率(r)、平均精度均值map作为评价指标来验证改进后的yolov5s算法性能,具体计算公式为:
[0048][0049][0050][0051]
式中,tp指的是正样本预测出正样本数量,fp是负样本预测出正样本数量,fn是正样本预测出负样本数量;precision指的是所有预测为正样本的结果中,预测正确的比率;recall指的是所有偶正样本中被正确预测的比率;ap为p-r曲线的积分面积,表示训练出来的模型在当前类别的好坏,曲线图如图2所示;num_classes是指类别总数,map则是指在所有类别上的好坏,map越大,网络性能越好。
[0052]
为验证本文改进yolov5s算法性能的优越性将采用yolov5s原模型、yolov5s融合ca注意力的模型和本文模型分别在采集的装甲板数据集下进行训练比对,可视化训练中会显示大量参数如图3所示,对比数据如下表:
[0053]
算法precisionrecallmapyolov5s88.2%75.7%82.2%yolov5s+ca89.0%76.7%84.1%本文算法91.5%75.8%84.3%
[0054]
检测结果对比图如4图所示,可以看出本发明算法的性能总体最优。
[0055]
步骤3、构建deepsort模型对已检测的装甲板进行预测与跟踪;
[0056]
步骤3具体包括:
[0057]
步骤3.1、根据首帧目标的检测框创建对应的跟踪框,利用首帧目标的检测框信息初始化卡尔曼滤波器的参数,通过卡尔曼滤波器预测下一帧的目标位置信息;
[0058]
步骤3.2、将当前帧目标的检测框和预测框进行iou匹配,通过目标框的马氏距离和特征余弦距离来整合运动信息和外观信息计算代价矩阵,将代价矩阵作为匈牙利算法的输入进行线性匹配,得到匹配成功的跟踪框和检测框、匹配失败的检测框、匹配失败的跟踪框,执行此步直至出现确认框或跟踪结束;
[0059]
步骤3.2还包括:更新匹配成功的预测框的卡尔曼滤波参数;匹配失败的检测框认为出现了新的目标,为其新建预测框;此时匹配失败的跟踪框为不确认状态的跟踪框,将其删除;不确认状态的跟踪框连续三帧匹配成功则成为确认状态的跟踪框;确认状态的跟踪框连续30帧匹配失败,则认为目标丢失,删除跟踪框。
[0060]
步骤3.3、对当前帧的检测框和上一帧确认框的预测框进行级联匹配,对出现频率高的目标物赋予优先权,更新匹配成功的预测框的卡尔曼滤波参数,将失配的预测框、之前的不确认的预测框与失配的检测框进行iou匹配并计算代价矩阵,重复步骤3.2、3.3至跟踪结束。
[0061]
实验过程:
[0062]
利用yolov5s模型与deepsort模型对机器人装甲板进行实时检测跟踪;
[0063]
具体包括:
[0064]
1、从摄像头读入图片,将图片导入网络中;
[0065]
2、首先进入yolov5s模型中,通过主干层进行特征提取,将提取后的特征进入颈部层进行融合,最终将融合后的特征进行检测输出,并设置置信度阈值对检测框进行过滤,删除置信度低于阈值的检测框;
[0066]
3、利用首帧装甲板位置信息初始化卡尔曼滤波器,然后根据yolov5s的检测框和卡尔曼滤波的跟踪框对装甲板匹配、跟踪、预测和更新。
[0067]
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1