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

基于改进YOLOX的移动机器人目标跟随方法

2022-10-21 23:53:32 来源:中国专利 TAG:

基于改进yolox的移动机器人目标跟随方法
技术领域
1.本发明属于移动机器人领域,特别是涉及基于改进yolox的移动机器人目标跟随方法。


背景技术:

2.机器人目标跟随算法分为生成式模型方法和检测跟踪方法两大类。生成式模型主要通过构建目标模型实现跟随,比如有研究人员利用视觉传感器获取行人颜色和纹理特征,机器人在视野范围内寻找与之相匹配的区域,融合行人与位置速度信息构建模型,采用基于生成式的目标跟踪算法跟随行人。然而,此类算法关注目标本身,忽略背景信息,经常出现跟踪丢失的情况。
3.为同时考虑目标与背景信息,检测跟踪方法得到了越来越多的关注,此方法通过构建分类器区分目标及背景,其跟踪效果普遍优于生成式模型方法。有研究人员通过快速判别尺度空间切换相关滤波算法与卡尔曼滤波算法实现稳定跟踪。另外,移动机器人在跟随控制过程中常受到背景杂斑、光照变化、目标遮挡、尺度变化等干扰,导致跟随目标丢失,因此传统的检测跟踪方法不适用于移动机器人在复杂多变场景中的目标跟随。
4.基于深度学习的移动机器人目标跟随算法具有鲁棒性强等优,有研究人员通过基于tcb采样策略来提高移动机器人跟踪性能,但未对遮挡、行人消失等情况进行处理。有研究人员提出一种基于深度学习的目标检测器、引入卡尔曼滤波来预测目标位置,加入重识别模块处理遮挡问题,但此类算法需先获取精度较高的目标检测结果。鉴于上述问题,jde(jointly learns the detector and embedding model)检测模型可用来融合重识别与检测分支,提高目标检测精度。yolo系列算法则是一类基于jde检测模型的一阶段框下的目标检测算法,具有高效、灵活和泛化性能好的优点。
5.yolo算法包括了yolov1-7系列算法以及一系列基于改进yolo的目标检测算法,有研究人员提出yolo算法进行目标检测,直接采用回归(regression)的方法进行坐标框的检测以及分类,使用一个端到端的简单网络实现坐标回归与分类,能够极大的提升目标的检测速度。此后,yolo的网络结构不断优化,已经成为目标检测领域主流的算法。有研究人员引入比率感知机制,动态调整yolov3的输入层长度和宽度超参数,从而解决了长宽比差异较大的问题,能够有效地提高平均跟踪精度。有研究人员引入改进的yolov3模型,此模型把预测尺度从3个增加到4个,并使用额外的特征图来提取更多的细节。yolov3的目标位置识别精度较差,在目标分布密集、尺寸差异较大的复杂场景中,检测效果较差。yolov4开发了darknet53目标检测模型,此模型拥有更高的网络输入分辨率,网络层参数多,计算复杂度高,对小目标检测效果较差。对此,yolo-z提出了一系列不同尺度的模型,提高yolov5检测小目标的性能。有研究人员提出一种单阶段(ssd)微小目标检测方法,此方法可提高微小目标检测的实时性,但其使用的两阶段式目标检测器,使目标定位精度有所下降。yolov6设计了更高效的主干网络和网络层,yolov7扩展了高效长程注意力网络,加入了基于级联的模型缩放方法,均可一定程度提高检测精度和推理效率,但由于未引入重识别分支,无法提取
浅层特征用于后续跟踪。yolox在yolo系列的基础上做出了一系列改进,相比与yolo系列目标检测算法,其最大的不同是采用了无锚框检测器。而yolov1-yolov5采用有锚框的检测器由于可能会被多个锚框同时检测且与检测框中心存在误差,并不适用于jde检测模型。因此,采用无锚框的yolox目标检测算法更加适合于jde检测模型。
6.移动机器人检测与跟踪跟随目标的核心问题是其在运动过程中,复杂场景干扰影响其检测精度以及跟随性能。yolox是以darknet53网络结构为主干,有较高的检测精度,但模型较大,推理速度较慢,不适用于移动机器人实时跟随,在yolov5的网络模型中,虽然网络的特征提取能力随着深度的增加而增强,但下采样次数的增加会导致梯度的消失,这极大影响了移动机器人的检测精度。为了提升移动机器人的检测精度,有研究人员提出deepsort目标跟踪算法,采用卡尔曼滤波更新目标位置,并与当前检测目标关联匹配,但未解决因遮挡跟踪造成的目标丢失问题。有研究人员提出psr目标跟踪算法,引入深度信息来评估跟踪可信度,并可主动检测跟踪丢失目标。但其采用相关滤波法实现目标跟踪,在复杂场景下的跟踪鲁棒性低。可见,改进网络结构的同时引入深度信息,是提升移动机器人检测跟随性能的一种亟待探索的方法。


技术实现要素:

7.针对以上技术问题,本发明提供一种能有效提升机器人检测跟随性能的基于改进yolox的移动机器人目标跟随方法。
8.本发明解决其技术问题采用的技术方案是:
9.基于改进yolox的移动机器人目标跟随方法,方法包括以下步骤:
10.步骤s100:获取视频序列,从视频序列中得到rgb图像和深度图像;
11.步骤s200:将rgb图像输入至目标检测神经网络的得到目标检测结果;目标检测神经网络包括改进yolox主干网络、网络层、目标检测分支层和目标重识别分支层,改进yolox主干网络用于对rgb图像进行特征提取,得到浅层特征和深层特征;网络层对浅层特征和深层特征均进行卷积处理得到重识别分支特征图和检测分支特征图;目标检测分支层用于根据检测分支特征图进行目标、分类和回归预测得到目标检测分支结果,目标重识别分支层用于根据重识别分支特征图进行目标重识别得到目标重识别结果,根据目标检测分支结果和目标目标重识别结果得到目标检测结果;
12.步骤s300:基于目标检测结果和改进的卡尔曼滤波器预测跟踪目标的状态,根据跟踪目标的状态和重识别分支特征图得到当前检测帧的预测更新后的跟踪框的重识别特征图,计算当前检测帧的重识别特征特征与预测更新后的跟踪框的重识别特征的余弦距离,采用余弦距离和预设的距离阈值判别当前检测帧的重识别特征和预测更新后的跟踪框的重识别特征是否关联;
13.步骤s400:若未关联成功,根据深度图像获取跟踪目标以及所有其他目标在上一帧与当前帧之间的深度值,根据跟踪目标以及所有其他目标在上一帧与当前帧之间的深度值判断跟踪目标是否发生遮挡,若发生遮挡,则获取当前帧检测目标的深度图对应的边界框以及跟踪目标的深度图对应的边界框以得到目标框的重叠率,根据目标框的重叠率以及与预设的关联遮挡目标的目标函数进行遮挡匹配跟踪,预测得到当前帧的遮挡目标作为目标跟踪结果;
14.步骤s500:从目标跟踪结果中选定一个目标作为跟随目标,采用基于视觉伺服控制的目标跟随算法,使跟随目标框的中心点保持为视野范围中心点,当目标消失时,则移动机器人按照目标运动轨迹进行主动搜索,重新识别目标并使移动机器人继续跟随目标。
15.优选地,改进yolox主干网络包括七个阶段,每个阶段的核心为mobilenetv2s网络,mobilenetv2s网络包括第一1
×
1卷积层、3
×
3卷积层、3
×
3深度卷积层、1
×
1投影卷积层和relu层,
16.第一1
×
1卷积层使用1
×
1卷积核将rgb特征图扩展为特征图f1×1∈rh×w×c′

[0017]3×
3卷积层对特征图f1×1∈rh×w×c′
进行深度可分离卷积得到特征图f3×3∈rh′×w′×c′

[0018]
将特征图f3×3∈rh′×w′×c一分为二,将特征映射减少到原始通道数的一半,得到特征图f
(3
×
3)/2
∈rh′×w′×
(c

/2)
和f

(3
×
3)/2
∈rh′×w′×
(c

/2)
,3
×
3深度可分离卷积层将特征图f

(3
×
3)/2
∈rh′×w′×
(c

/2)
进行深度可分离卷积得到
[0019]
将与f

(3
×
3)/2
∈rh′×w′×
(c

/2)
两者结合在一起得到新的特征图f
′3×3∈rh″′×w″′×c′
,1
×
1投影卷积层将新特征图f
′3×3∈rh″′×w″′×c′
进行卷积得到特征图为f

∈rh″′×w″′×c′
,通过relu层得到每个瓶颈层的输出特征图,其中,第一阶段对应的输出特征图f1为浅层特征图,第七阶段对应的输出特征图f7为深层特征图。
[0020]
优选地,目标检测分支层包括解耦头和均连接解耦头的目标分支、分类分支和回归分支,网络层对深层特征均进行卷积处理得到检测分支特征图,目标检测分支层用于根据检测分支特征图进行目标、分类和回归预测得到目标检测分支结果,包括:
[0021]
网络层对深层特征图f7∈r
15
×
15
×
320
进行卷积处理得到检测分支特征图检测分支特征图经过解耦头后得到第一特征图第二特征图和第三特征图
[0022]
将第一特征图发送至目标分支,目标分支中每个特征点代表对应预测框内被检测目标属于前景的概率,进而判断目标是前景还是背景,得到目标分支结果;
[0023]
将第二特征图发送至回归分支对目标框的中心坐标点及高度宽度(x,y,w,h)进行预测,得到回归分支结果;
[0024]
将第三特征图发送至分类分支对目标所属类别进行预测评分,得到分类分支结果;
[0025]
根据目标分支结果、回归分支结果和分类分支结果合并相加得到特征图作为目标检测分支结果。
[0026]
优选地,网络层对浅层特征进行卷积处理得到重识别分支特征图,目标重识别分支层用于根据重识别分支特征图进行目标重识别得到目标重识别结果,包括:
[0027]
网络层对重识别分支特征图f1∈r
240
×
240
×
16
进行卷积处理得到重识别分支特征图
[0028]
使用3
×
3卷积核依次与重识别分支特征图卷积,得到特征图
[0029]
通过128组1
×
1的卷积,得到具有128个通道的特征图在特征图中提取对应的目标框中心点(x,y)处的浅层外观特征作为目标重识别结果。
[0030]
优选地,步骤s200还包括:
[0031]
根据预设的目标检测损失函数计算目标检测分支层的损失值,根据目标检测分支层的损失值对目标检测分支层进行反向更新,得到更新后的目标检测分支层,
[0032]
根据预设的重识别损失函数计算目标重识别分支层的损失值,根据目标重识别分支层的损失值对目标重识别分支层进行反向更新,得到更新后的目标重识别分支层。
[0033]
优选地,预设的目标检测损失函数,具体为:
[0034]
l
detection
=λ1l
cls
λ2l
obj
λ3l
reg
[0035][0036][0037]
l
reg
=1-iou
[0038]
其中,λ1、λ2和λ3是平衡系数,l
cls
、l
obj
和l
reg
分别为分类损失、目标损失和回归损失,n
obj
代表用于计算l
obj
损失函数的视频帧目标总个数,ys表示测试样本s的标签,前景标为1,背景标为0,ps表示测试样本s预测为前景的概率,iou表示当前帧目标预测框和目标真实框的面积重叠率,n
cls
代表用于计算l
cls
损失函数的视频帧目标总个数,m表示类别的数量,y
dc
符号函数,如果当前视频帧目标d的真实类别等于c,y
dc
则为1,否则取0,p
dc
为当前帧目标d属于类别c的预测概率。
[0039]
预设的重识别损失函数具体为:
[0040][0041]
其中,为目标真实框的标签编码,特征分布向量c={c(b),b∈[1,b]},n
re-id
表示当前目标所属类别的总数,b是训练数据中所有身份(id)的编号。
[0042]
优选地,步骤s300中基于目标检测结果和改进的卡尔曼滤波器预测跟踪目标的状态,具体为:
[0043]
x
t,i
=f(x
t-1,i
) w
t-1
[0044]zt,j
=h(x
t,i
) v
t
[0045]
其中,x
t,i
为检测目标的状态,β=(u,v,γ,h),其中β表示目标的观测值,(u,v)表示边界框中心位置、高宽比为γ、高度为h,z
t,j
为跟踪目标的状态,w
t-1
和v
t
分别是过程噪声序列和测量噪声序列;
[0046]
步骤s300中采用余弦距离和预设的距离阈值判别当前检测帧的重识别特征和预测更新后的跟踪框的重识别特征是否关联,具体为:
[0047]
当余弦特征小于或等于预设的距离阈值时,则当前检测帧的重识别特征和预测更新后的跟踪框的重识别特征关联成功;当余弦特征大于预设的距离阈值时,则当前检测帧的重识别特征和预测更新后的跟踪框的重识别特征未关联成功。
[0048]
优选地,步骤s400中根据深度图像获取跟踪目标以及所有其他目标在上一帧与当前帧之间的深度值,根据跟踪目标以及所有其他目标在上一帧与当前帧之间的深度值判断跟踪目标是否发生遮挡,具体为:
[0049][0050]
其中,为第t帧跟踪目标j遮挡变化情况,是第t帧中跟踪目标j的深度值,表示第t-1与第t帧之间所有目标深度差之和,表示第t帧与第t-1帧之间深度值变化率,代表小于w
t-ξ
t
的所有跟踪目标深度值差之和;
[0051]
其遮挡判断准则如下:
[0052][0053]
其中,tj为遮挡判断准则。
[0054]
优选地,步骤s400中获取当前帧检测目标的深度图对应的边界框以及跟踪目标的深度图对应的边界框以得到目标框的重叠率,具体为:
[0055]
c=b(x
t,i
)∩b(z
t-1,j
)>σ
[0056]
其中,c为目标框的重叠率,σ为预设的重叠率阈值,b(x
t,i
)为当前帧检测目标x
t,i
的深度图对应的边界框,b(z
t-1,j
)为跟踪目标z
t-1,j
的深度图对应的边界框,若c大于σ表示x
t,i
与z
t-1,j
关联匹配;
[0057]
步骤s400中根据目标框的重叠率以及与预设的关联遮挡目标的目标函数进行遮挡匹配跟踪,预测得到当前帧的遮挡目标作为目标跟踪结果,具体为:
[0058][0059]
其中,s
*
为目标跟踪结果,p(z
t-1,j
)为所有跟踪目标的先验概率,p(x
t,i
|z
t-1,j
)表示当前检测目标属于跟踪目标的条件概率,该条件概率是通过检测目标与上一帧跟踪目标框的重叠率计算得到;
[0060]
优选地,步骤s500中的所述若目标消失,则移动机器人按照目标运动轨迹进行主动搜索,重新识别目标并使移动机器人继续跟随目标,包括:
[0061]
在跟随过程中如果目标超出移动机器人视野范围,移动机器人会保留消失前最后一帧跟踪目标的重识别特征和位置信息,并朝着目标消失的方向继续运动,若跟踪目标再次出现在视野内,进行目标检测并提取该目标的重识别特征与所述消失前最后一帧跟踪目标的重识别特征关联匹配,实现跟踪目标重识别并使移动机器人继续跟随目标。
[0062]
上述基于改进yolox的移动机器人目标跟随方法,主要包括目标检测、目标跟踪以及目标跟随三个部分。首先,以yolox网络为基础,在其框架下将主干网络采用改进后的yolox网络,提高复杂场景中目标检测的实时性。然后,通过改进的卡尔曼滤波器获取目标跟踪状态并采用数据关联进行目标匹配,通过深度直方图判定目标发生遮挡时,采用深度概率信息约束及最大后验概率进行匹配跟踪,确保机器人在遮挡情况下稳定跟踪目标,再采用基于视觉伺服控制的目标跟随算法,当跟踪目标丢失时,引入重识别特征主动搜寻目标实现目标跟随。有效提高目标检测精度和速度、提高目标预测与更新速率且保证移动机器人稳定跟随目标。
附图说明
[0063]
图1为本发明提供的基于改进yolox的移动机器人目标跟随方法的流程图;
[0064]
图2为本发明提供的基于改进yolox的移动机器人目标跟随方法的整体流程框图;
[0065]
图3为本发明一实施例中遮挡前后深度直方图;
[0066]
图4为本发明一实施例中zed相机成像图;
[0067]
图5为本发明一实施例中基于zed相机的两轮差速驱动模型图;
[0068]
图6为本发明一实施例中目标跟随器移动控制部分示意图。
具体实施方式
[0069]
为了使本技术领域的人员更好地理解本发明的技术方案,下面结合附图对本发明作进一步的详细说明。
[0070]
在一个实施例中,如图1所示,基于改进yolox的移动机器人目标跟随方法,方法包括以下步骤:
[0071]
步骤s100:获取视频序列,从视频序列中得到rgb图像和深度图像。
[0072]
步骤s200:将rgb图像输入至目标检测神经网络的得到目标检测结果;目标检测神经网络包括改进yolox主干网络、网络层、目标检测分支层和目标重识别分支层,改进yolox主干网络用于对rgb图像进行特征提取,得到浅层特征和深层特征;网络层对浅层特征和深层特征均进行卷积处理得到重识别分支特征图和检测分支特征图;目标检测分支层用于根据检测分支特征图进行目标、分类和回归预测得到目标检测分支结果,目标重识别分支层用于根据重识别分支特征图进行目标重识别得到目标重识别结果,根据目标检测分支结果和目标目标重识别结果得到目标检测结果。
[0073]
具体地,目标检测是移动机器人目标跟随的关键问题,目标检测精度很大程度上决定了移动机器人跟随的稳定性。本发明以yolox体系架构为基础进行改进,优化网络结构与损失函数,提高检测实时性。主干网络使用mobilenetv2s网络,再通过网络层、目标检测分支层与目标重识别分支层得到检测结果。
[0074]
在一个实施例中,改进yolox主干网络包括七个阶段,每个阶段的核心为
mobilenetv2s网络,mobilenetv2s网络包括第一1
×
1卷积层、3
×
3卷积层、3
×
3深度卷积层、1
×
1投影卷积层和relu层,
[0075]
第一1
×
1卷积层使用1
×
1卷积核将rgb特征图扩展为特征图f1×1∈rh×w×c′

[0076]3×
3卷积层对特征图f1×1∈rh×w×c′
进行深度可分离卷积得到特征图f3×3∈rh′×w′×c′

[0077]
将特征图f3×3∈rh′×w′×c′
一分为二,将特征映射减少到原始通道数的一半,得到特征图f
(3x3)/2
∈rh′×w′×
(c

/2)
和f

(3x3)/2
∈rh′×w′
(c

/2)
,3
×
3深度可分离卷积层将特征图f

(3
×
3)/2
∈rh′×w′×
(c

/2)
进行深度可分离卷积得到
[0078]
将与f

(3
×
3)/2
∈rh′×w′×
(c

/2)
两者结合在一起得到新的特征图f
′3×3∈rh″′×w″′×c′
,1
×
1投影卷积层将新特征图f
′3×3∈rh″′×w″′×c′
进行卷积得到特征图为f

∈rh″′×w″′×c″′
,通过relu层得到每个瓶颈层的输出特征图,其中,第一阶段对应的输出特征图f1为浅层特征图,第七阶段对应的输出特征图f7为深层特征图。
[0079]
具体地,本发明提出yolox-mobilenetv2s网络(yolox-m2s),将yolox主干网络采用轻量级的特征提取网络mobilenetv2s,该网络的卷积核心层是深度可分离卷积层,可将输出的特征图的通道数缩减至一半,并再与原卷积层提取的特征图合并,与仅使用一组深度可分离卷积的mobilenetv2相比,该网络可获得更多特征图的语义信息。
[0080]
在yolox-m2s网络上,先采用coco2017训练集训练得到网络参数,再移植到移动机器人平台进行实时检测。coco数据集是一个可用于图像检测的大规模数据集,包含超过330k张图片(其中220k是有标注的图像),其中涵盖150万个目标及80个目标类别(object categories:行人、汽车、大象等)、91种材料类别(stuff categoris:草、墙、天空等),每张图片包含五句语句描述,且有250000个带关键点标注的行人。
[0081]
如图2所示,mobilenetv2s网络将目标检测时的分类分为7个阶段,输入图片分辨率为h
×
w(h为图片高度,w为图片宽度)。假设输入特征图表示为f∈rh×w×c,其中h为高度、w为宽度、c为通道数,每个阶段的核心层为瓶颈层。
[0082]
每个阶段的瓶颈层中包括以下步骤:使用1
×
1卷积核扩展特征图为f1×1∈rh×w×c′
,大幅减少计算量;特征图f1×1∈rh×w×c′
进行3
×
3深度可分离卷积得到特征图f3×3∈rh′×w′×c′
;为进一步获得更多的语义信息,将特征图f3×3∈rh′×w′×c′
一分为二,将特征映射减少到原始通道数的一半,得到特征图f
(3
×
3)/2
∈rh′×w′×
(c

/2)
和f

(3
×
3)/2
∈rh′×w′×
(c

/2)
,再将特征图f

(3
×
3)/2
∈rh′×w′×
(c

/2)
进行深度可分离卷积得到然后将与f

(3
×
3)/2
∈rh′×w′×
(c

/2)
两者结合在一起得到新的特征图f
′3×3∈rh″′×w″′×c′
;最后,将新特征图f
′3×3∈rh″′×w″′×c′
使用卷积核为1
×
1的投影卷积层再次卷积,得到特征图为f

∈rh″′×w″′×c′
,即得到每个瓶颈层的输出特征图。
[0083]
在mobilenetv2s网络中的第7个阶段得到深层特征图f7∈r
15
×
15
×
320
,在第1个阶段得到浅层特征图f1∈r
240
×
240
×
15
,经网络层后得到目标检测分支层和目标重识别分支层的输入特征图。
[0084]
在一个实施例中,目标检测分支层包括解耦头和均连接解耦头的目标分支、分类分支和回归分支,网络层对深层特征均进行卷积处理得到检测分支特征图,目标检测分支层用于根据检测分支特征图进行目标、分类和回归预测得到目标检测分支结果,包括:
[0085]
网络层对深层特征图f7∈r
15
×
15
×
320
进行卷积处理得到检测分支特征图检测分支特征图经过解耦头后得到第一特征图第二特征图和第三特征图
[0086]
将第一特征图发送至目标分支,目标分支中每个特征点代表对应预测框内被检测目标属于前景的概率,进而判断目标是前景还是背景,得到目标分支结果;
[0087]
将第二特征图发送至回归分支对目标框的中心坐标点及高度宽度(x,y,w,h)进行预测,得到回归分支结果;
[0088]
将第三特征图发送至分类分支对目标所属类别进行预测评分,得到分类分支结果;
[0089]
根据目标分支结果、回归分支结果和分类分支结果合并相加得到特征图作为目标检测分支结果。
[0090]
具体地,mobilenetv2s网络输出的检测分支特征图f7∈r
15
×
15
×
320
经网络层后得到特征图再经过解耦头后得到检测分支,包括目标、分类和回归三个分支。输入目标分支的特征图为分支中每个特征点代表对应预测框内被检测目标属于前景的概率,据此判断目标是前景还是背景;为稳定训练过程并加快收敛速度、精确定位目标,该分支估计每个像素相对于目标中心的连续漂移,以减少下采样的影响。锚框大小用于估计每个位置的目标锚框的高度和宽度。输入回归分支的特征图为该分支对目标框的中心坐标点及高度宽度(x,y,w,h)进行预测;输入分类分支的特征图为该分支得到对目标所属类别的预测评分,如目标属于行人、车辆、动物等不同类别的评分,其代表目标属于各个类别的概率值。最后将三个分支的输出结果合并相加得到特征图即为目标检测分支的信息。
[0091]
在一个实施例中,网络层对浅层特征进行卷积处理得到重识别分支特征图,目标重识别分支层用于根据重识别分支特征图进行目标重识别得到目标重识别结果,包括:
[0092]
网络层对重识别分支特征图f1∈r
240
×
240
×
16
进行卷积处理得到重识别分支特征图
[0093]
使用3
×
3卷积核依次与重识别分支特征图卷积,得到特征图
[0094]
通过128组1
×
1的卷积,得到具有128个通道的特征图在特征图中提取对应的目标框中心点(x,y)处的浅层外观特征作为目标重识别结果。
[0095]
具体地,为在目标消失再出现时完成视频连续帧间的目标匹配识别(即目标重识别),在yolox-m2s网络中加入重识别分支提取目标的颜色、纹理等浅层外观特征作为重识别特征。
[0096]
在一个实施例中,步骤s200还包括:
[0097]
根据预设的目标检测损失函数计算目标检测分支层的损失值,根据目标检测分支层的损失值对目标检测分支层进行反向更新,得到更新后的目标检测分支层,
[0098]
根据预设的重识别损失函数计算目标重识别分支层的损失值,根据目标重识别分支层的损失值对目标重识别分支层进行反向更新,得到更新后的目标重识别分支层。
[0099]
在一个实施例中,预设的目标检测损失函数,具体为:
[0100]
l
detection
=λ1l
cls
λ2l
obj
λ3l
reg
[0101][0102][0103]
l
reg
=1-iou
[0104]
其中,λ1、λ2和λ3是平衡系数,l
cls
、l
obj
和l
reg
分别为分类损失、目标损失和回归损失,n
obj
代表用于计算l
obj
损失函数的视频帧目标总个数,ys表示测试样本s的标签,前景标为1,背景标为0,ps表示测试样本s预测为前景的概率,iou表示当前帧目标预测框和目标真实框的面积重叠率,n
cls
代表用于计算l
cls
损失函数的视频帧目标总个数,m表示类别的数量,y
dc
符号函数,如果当前视频帧目标d的真实类别等于c,y
dc
则为1,否则取0,p
dc
为当前帧目标d属于类别c的预测概率。
[0105]
预设的重识别损失函数具体为:
[0106][0107]
其中,为目标真实框的标签编码,特征分布向量c={c(b),b∈[1,b]},n
re-id
表示当前目标所属类别的总数,b是训练数据中所有身份(id)的编号。
[0108]
具体地,为度量目标检测信息和真实目标信息之间的差值,进一步定义损失函数,损失函数值越小、则差值越小、训练模型准确度越高。由于mobilnetv2s网络中的目标检测分支包括目标分支、回归分支和分类分支,其对应损失函数由目标损失函数l
obj
、回归损失函数l
reg
和分类损失函数l
cls
三部分组成。
[0109]
在目标检测中,需首先判定预测的目标属于前景或者背景,目标损失函数l
obj
采用二分类的交叉熵损失函数度量其与真实值的差值;l
reg
回归损失函数使用iou损失函数来度量预测检测框与真实目标框的交并比(面积重叠度)。iou指标范围为[0,1],当面积重叠率越大时,iou指标数值越大。为评判当前视频帧目标所属的类别与真实值的差值,分类损失函数采用多分类交叉熵损失函数对目标所属类别的预测进行评分。
[0110]
为评判重识别特征图准确度定义重识别损失函数,其值越小,表示重识别特征图越准确。最后将检测和重识别损失函数相加,同时使用不确定性损失函来自动平衡检测和重识别损失函数,与单独使用l
id
训练模型相比,训练效果得到提升,同时减少了计算复杂度,可达到实时性要求。
[0111]
步骤s300:基于目标检测结果和改进的卡尔曼滤波器预测跟踪目标的状态,根据跟踪目标的状态和重识别分支特征图得到当前检测帧的预测更新后的跟踪框的重识别特征图,采用余弦距离和预设的距离阈值判别当前检测帧的重识别特征和预测更新后的跟踪框的重识别特征是否关联。
[0112]
具体地,首先使用第一帧检测的目标框初始化目标轨迹及跟踪状态,然后通过改进的卡尔曼滤波器预测下一帧目标位置,再采用连续帧间的数据关联确定目标跟踪状态。
[0113]
在当前视频帧下,设t时刻检测到m个目标i=1,

,m,t时刻跟踪n个目标j=1,

,n,每一帧检测及跟踪结果实时更新,则当前t时刻的第i个检测目标状态为x
t,i
,第j个跟踪目标状态为z
t,j

[0114]
在一个实施例中,步骤s300中基于目标检测结果和改进的卡尔曼滤波器预测跟踪目标的状态,具体为:
[0115]
x
t,i
=f(x
t-1,i
) w
t-1
[0116]zt,j
=h(x
t,i
) v
t
[0117]
其中,x
t,i
为检测目标的状态,β={u,v,γ,h},其中β表示目标的观测值,(u,v)表示边界框中心位置、高宽比为γ、高度为h,z
t,j
为跟踪目标的状态,w
t-1
和v
t
分别是过程噪声序列和测量噪声序列。
[0118]
具体地,假设w
t-1
和v
t
是均值为0的高斯白噪声,其方差分别为q
t
和r
t
,即w
t-1
~(0,q
t
),v
t
~(0,r
t
)。
[0119]
为详细说明改进卡尔曼滤波器预测与更新的过程,下文给出此部分的伪代码algorithm 1。
[0120][0121]
在一个实施例中,步骤s300中采用余弦距离和预设的距离阈值判别当前检测帧的重识别特征和预测更新后的跟踪框的重识别特征是否关联,具体为:
[0122]
当余弦特征小于或等于预设的距离阈值时,则当前检测帧的重识别特征和预测更新后的跟踪框的重识别特征关联成功;当余弦特征大于预设的距离阈值时,则当前检测帧的重识别特征和预测更新后的跟踪框的重识别特征未关联成功。
[0123]
具体地,采用改进卡尔曼滤波器获取上一帧目标i的中心点在当前帧的预测位置z
t,j
,同时通过重识别特征图中对应该预测中心位置,得到上一帧目标在当前帧的预测外观特征移动机器人在跟随过程中,会出现遮挡、快速移动等情况,余弦距离具有快速度量的优点。采用余弦距离q(i,j)判别当前帧中心点对应的外观特征向量与上一帧在当前帧的预测外观特征向量是否关联:
[0124][0125]
其中,b
i,j
为正确关联轨迹集合。在训练数据集上训练网络参数得到余弦距离,并与训练集基准之间的余弦距离进行比较,得到阈值λ。则上式中,当b
i,j
小于阈值λ,表示当前帧检测目标i与上一帧跟踪目标j关联,则跟踪正常;当b
i,j
大于阈值λ表示未成功关联,则继续判断目标是否遮挡或消失。
[0126]
步骤s400:若未关联成功,根据深度图像获取跟踪目标以及所有其他目标在上一帧与当前帧之间的深度值,根据跟踪目标以及所有其他目标在上一帧与当前帧之间的深度值判断跟踪目标是否发生遮挡,若发生遮挡,则获取当前帧检测目标的深度图对应的边界框以及跟踪目标的深度图对应的边界框以得到目标框的重叠率,根据目标框的重叠率以及
与预设的关联遮挡目标的目标函数进行遮挡匹配跟踪,预测得到当前帧的遮挡目标作为目标跟踪结果。
[0127]
具体地,跟踪目标由于被遮挡,目标外观会发生显著变化,导致目标特征减少,移动机器人跟踪目标丢失。本发明提出一种有效的遮挡处理机制,当判断遮挡发生时,采用深度概率对目标周围区域进行空间约束,并通过最大后验概率关联匹配实现遮挡跟踪。
[0128]
(1)遮挡判断
[0129]
由于多个目标相互遮挡时,rgb外观被遮挡,只可从深度信息区分不同遮挡目标,而zed相机获取的深度信息为多个遮挡目标中离该相机最近的目标深度信息,因此将目标框在rgb图中的位置区域映射到深度图中并设定为深度遮挡区域,若判定其它目标进入此区域表示发生遮挡,具体判定如图3所示。
[0130]
目标1遮挡前深度直方图最大峰值为4000,目标2遮挡前深度直方图的最大峰值为2500,发生遮挡后遮挡区域深度直方图最大峰值为2500,深度直方图的峰值从4000下降到2500。显然此时目标1的深度遮挡区域的深度直方图出现新的上升峰值2500,且小于遮挡前的峰值4000,则可见目标被遮挡后的深度直方图峰值明显减少。因此可根据深度变化大小判定是否发生遮挡。设跟踪目标j在t-1帧和t帧之间的深度变化均值可以近似为高斯分布在此基础上判定是否发生遮挡。
[0131]
在一个实施例中,步骤s400中根据深度图像获取跟踪目标以及所有其他目标在上一帧与当前帧之间的深度值,根据跟踪目标以及所有其他目标在上一帧与当前帧之间的深度值判断跟踪目标是否发生遮挡,具体为:
[0132][0133]
其中,为第t帧跟踪目标j遮挡变化情况,是第t帧中跟踪目标j的深度值,表示第t-1与第t帧之间所有目标深度差之和,表示第t帧与第t-1帧之间深度值变化率,代表小于w
t-ξ
t
的所有跟踪目标深度值差之和;
[0134]
其遮挡判断准则如下:
[0135][0136]
其中,tj为遮挡判断准则。
[0137]
具体地,反映第t帧跟踪目标j遮挡变化情况,其值越大,表示发生遮挡可能性越大。当目标未被遮挡时,接近tj接近于1;当目标被遮挡时,则tj接近于0,通过tj的值来判断目标是否被遮挡。
[0138]
在一个实施例中,步骤s400中获取当前帧检测目标的深度图对应的边界框以及跟踪目标的深度图对应的边界框以得到目标框的重叠率,具体为:
[0139]
c=b(x
t,i
)∩b(z
t-1,j
)>σ
[0140]
其中,c为目标框的重叠率,σ为预设的重叠率阈值,b(x
t,i
)为当前帧检测目标x
t,i
的深度图对应的边界框,b(z
t-1,j
)为跟踪目标z
t-1,j
的深度图对应的边界框,若c大于σ表示x
t,i
与z
t-1,j
关联匹配;
[0141]
步骤s400中根据目标框的重叠率以及与预设的关联遮挡目标的目标函数进行遮挡匹配跟踪,预测得到当前帧的遮挡目标作为目标跟踪结果,具体为:
[0142][0143]
其中,s
*
为目标跟踪结果,p(z
t-1,j
)为所有跟踪目标的先验概率,p(x
t,i
|z
t-1,j
)表示当前检测目标属于跟踪目标的条件概率,该条件概率是通过检测目标与上一帧跟踪目标框的重叠率计算得到。
[0144]
步骤s500:从目标跟踪结果中选定一个目标作为跟随目标,采用基于视觉伺服控制的目标跟随算法,使跟随目标框的中心点保持为视野范围中心点,若目标消失,则移动机器人按照目标运动轨迹进行主动搜索,重新识别目标并使移动机器人继续跟随目标。
[0145]
具体地,由于zed相机具有成像分辨率高、可获取远距离深度图像等优点,本发明采用zed相机作为移动机器人视觉传感器,其内参已标定。假设zed相机的镜头畸变小到可以忽略,相机固有参数用针孔模型表示,zed相机成像原理图如附图4所示。在图像坐标系y的跟踪目标坐标为p=(x
cn
,y
cn
,x
cn
),zn是从图像坐标和zed相机的固有参数中获得。
[0146]zn
=f
×
b/(x
l-xr)=f
×
b/d
[0147]
其中,f为相机焦距,b为左右相机基线,f和b是通过先验信息或相机标定得到。其中由极线约束关系,视差d可由左相机的像素点x
l
与右相机中像素点xr对应关系计算得到。
[0148]
本发明算法将移动机器人平台简化为基于zed相机的两轮差速模型,如图5所示。图5中包括世界坐标系g、机器人坐标系pr、zed相机坐标系z和图像坐标系y。图中c(x,y)为移动机器人运动中心点,d为两轮之间的距离,θ为方向角。
[0149]
在世界坐标系g中,跟踪目标位置o
t
与机器人位置om之间的距离则可表示为在zed相机坐标系中,目标到机器人的距离是由跟踪目标位置o
t
和机器人位置om通过如下式得到:
[0150][0151]
其中r(θq,θc)表示从世界坐标系q到zed相机坐标系z旋转矩阵,δd表示在世界坐标系g中,移动机器人与摄像机的距离。
[0152]
前述跟踪算法完成目标跟踪,并获取目标跟踪框的深度信息,但直接使用跟踪目标框的深度信息来计算机器人与跟随目标的距离,会引入大量的背景信息,因此需要对目标中心进行重定位,为跟踪区域找到合适的位置,提高机器人跟随精度。
[0153]
目标跟踪框中心设为目标跟踪框中心设为表示目标跟踪框区域内所有像素坐标,区域的精确位置在内重定位,利用循环矩阵得到精确位置计算公式为:
[0154][0155]
在中最大值的位置(δx,δy)即为精确目标跟踪中心(x
*
,y
*
)与(x
l
,y
l
)之间的位置偏差。跟踪区域的精确位置(x
*
,y
*
)计算如下:
[0156]
(x
*
,y
*
)=(x
l
,y
l
) (δx,δy)
[0157]
得到精确位置(x
*
,y
*
)后,并获取以(x
*
,y
*
)为中心区域框的四个顶点坐标,计算中心点和顶点对应深度信息平均值f(t),其值表示为移动机器人与目标的距离,设移动机器人期望到达位置为f
*
(t),误差e(t)可定义为:
[0158]
e(t)=f(t)-f
*
(t)
[0159]
机器人控制变量为x
control
=[u(t)=v
t
,w(t)=w
t
],v
t
代表移动机器人的线速度,w
t
代表移动机器人的角速度,pid控制器设计为:
[0160][0161]
其中k
p
、ki和kd为pid系数,λ是调整因子。
[0162]
在一个实施例中,步骤s500中的所述若目标消失,则移动机器人按照目标运动轨迹进行主动搜索,重新识别目标并使移动机器人继续跟随目标,包括:
[0163]
在跟随过程中如果目标超出移动机器人视野范围,移动机器人会保留消失前最后一帧跟踪目标的重识别特征和位置信息,并朝着目标消失的方向继续运动,若跟踪目标再次出现在视野内,进行目标检测并提取该目标的重识别特征与所述消失前最后一帧跟踪目标的重识别特征关联匹配,实现跟踪目标重识别并使移动机器人继续跟随目标。
[0164]
目标跟随控制部分的结构框图如图6所示,误差e(t)为pid控制器的输入端,实时控制移动机器人角速度和线速度,移动机器人与目标保持一定距离并稳定跟随目标。在跟随过程中如果目标超出移动机器人视野范围,移动机器人会保留消失前最后一帧跟踪目标的重识别特征和位置信息,并朝着目标消失的方向继续运动,若跟踪目标再次出现在视野内,进行目标检测并提取该目标的重识别特征与消失前最后一帧跟踪目标的重识别特征关联匹配,实现跟踪目标重识别即为重检成功,则可实现目标消失后再重识别并稳定跟随目标。
[0165]
上述基于改进yolox的移动机器人目标跟随方法,主要由目标检测、目标跟踪及目标跟随控制三部分组成。首先,将yolox的主干网络darknet-53替换为mobilenetv2s,通过获取的rgb视频序列输入训练完成的mobilenetv2s网络得到特征图,再将重识别损失函数和检测损失函数分别训练重识别分支及检测分支,从而得到目标检测结果。然后采用改进的卡尔曼滤波器获取跟踪状态,通过轨迹关联实现目标匹配,同时引入遮挡判别机制,如判断目标被遮挡则加入深度概率约束进行遮挡目标跟踪匹配。最后采用基于视觉伺服控制的主动搜寻策略完成移动机器人目标跟随。
[0166]
综上,基于yolo系列的移动机器人目标跟随算法的鲁棒性强且精度高,但对于变化环境迁移和泛化能力弱,且运行速率低。而传统移动机器人目标跟随算法速度快,但是当目标发生形变、尺度变化和严重遮挡等情况时,跟踪过程容易出现目标跟踪丢失。因此,为实现复杂场景下移动机器人稳定跟随目标,本发明提出改进yolox的移动机器人目标跟随方法。主要工作如下:
[0167]
(1)为提高目标检测精度和速度,提出基于yolox-mobilenetv2s网络(yolox-m2s)的目标检测算法,使用交叉熵损失、回归损失以及重识别损失函数,共同训练检测与重识别分支;
[0168]
(2)为提高目标预测与更新速率,采用改进的卡尔曼滤波器获取目标跟踪状态。同时加入基于深度直方图的遮挡检测机制,并通过深度概率约束帧间目标匹配,提高遮挡跟踪准确率;
[0169]
(3)在目标跟随过程中,提出基于视觉伺服控制的主动搜寻策略,并在目标消失时引入重识别特征进行跟踪跟随,保证移动机器人稳定跟随目标。
[0170]
以上对本发明所提供的基于改进yolox的移动机器人目标跟随方法进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
再多了解一些

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

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

相关文献