一种相关滤波目标跟踪算法的抗遮挡及目标重捕方法与流程

文档序号:26759874发布日期:2021-09-25 05:30阅读:114来源:国知局
一种相关滤波目标跟踪算法的抗遮挡及目标重捕方法与流程

1.本发明涉及目标跟踪技术领域,特别涉及一种相关滤波目标跟踪算法的抗遮挡及目标重捕方法。


背景技术:

2.目标跟踪在监控、运动分析、医疗图像、行为识别、监控及人机交互等诸多方面具有广泛的应用。而作为目前主流的目标跟踪算法之一,相关滤波目标跟踪技术具有简单、精度高、速度快的优点,受到很多专家学者的关注与研究。如使用梯度方向直方图特征的核相关滤波器(kcf)跟踪器,以及在kcf基础之上采用自适应颜色特征(cn)的视觉跟踪器。在常用情形下相关滤波目标跟踪算法确实具有优异的跟踪效果,但是当目标发生遮挡时,算法本身并不能对遮挡加以甄别,滤波器模板在更新时会引入遮挡物体的信息,造成跟踪目标的丢失。因此在相关滤波目标跟踪算法中添加抗遮挡机制,及时判别目标的遮挡状态,控制滤波器模板的更新,可以有效规避遮挡物的干扰,这对提升相关滤波目标跟踪算法的跟踪效果具有重要意义。此外对于较长时间的严重遮挡,目标离开遮挡物时往往位于搜索区域之外,因此需要引入目标重捕机制,使得目标在离开遮挡物之后,跟踪算法仍然能够对目标完成甄别和重捕。
3.遮挡根据时间长短可以分为短时间遮挡和长时间遮挡,根据遮挡的程度又可以分为部分遮挡和完全遮挡。对于短时间的遮挡问题,平均峰值相关能量(apce)和峰值旁瓣比(psr)可以有效判别是否存在遮挡,并在遮挡时停止滤波器模板的更新。但是apce和psr仅仅和当前的响应有关,只适合简单的场景。而且对于不同成像质量的数据,其阈值需要人为调整。对于长时间完全遮挡问题,目前主要有tld算法、长短时跟踪算法、基于深度学习的ssd算法以及时空上下文抗遮挡跟踪算法等加以应对。tld算法包含跟踪、检测、学习三个部分,通过在线学习对目标模型进行更新,解决因遮挡产生目标丢失的问题。长短时跟踪算法,使用一个独立的相关滤波器得到跟踪置信度。当跟踪置信度大于一定阈值认为此时能较准确跟踪,更新滤波器,当跟踪置信度较低时认为跟踪失败,并加入一个支持向量机(svm)在线检测方法处理遮挡或跟踪失败后的重新定位问题。ssd算法也是类似的思路,在跟踪失败后在线检测算法识别和定位目标。时空上下文抗遮挡跟踪算法通过计算遮挡概率得到当前目标遮挡程度,若小于阈值则根据置信图估计目标位置,若大于阈值则判定目标发生遮挡,并根据遮挡程度的不同分别利用子块匹配方法解决局部遮挡问题,利用粒子滤波方法根据目标的历史运动轨迹预测新的目标位置。
4.上述方法能够解决一些遮挡问题,但需要人为设定阈值或者学习权重,而且算法复杂度大,仍然存在检测能力弱、匹配效果差等问题。


技术实现要素:

5.本发明的目的在于提供一种相关滤波目标跟踪算法的抗遮挡及目标重捕方法,在保证实时性的条件下,有效提升相关滤波目标跟踪算法对带遮挡目标的跟踪效果。
6.为解决上述技术问题,本发明提供了一种相关滤波目标跟踪算法的抗遮挡及目标重捕方法,包括:
7.步骤a,采用速度预测的方式给出预测目标的中心位置(x
pred
,y
pred
),根据目标区域尺寸(w,h),按照比例放大作为搜索区域;
8.步骤b,调用相关滤波目标跟踪算法,给出目标位置脱靶量,调整预测目标的中心位置为临时目标位置(x
tmp
,y
tmp
),以此临时目标位置为中心截取目标区域,计算目标区域梯度方向直方图特征和历史目标模板池中各个历史目标模板的最小距离disp;
9.步骤c,根据步骤b所得的最小距离disp,同遮挡判断阈值t进行比较,区分“未遮挡”、“半遮挡”和“全遮挡”三种目标状态;
10.步骤d,根据目标状态对滤波器模板α、目标速度、位置、遮挡判断阈值t和历史目标模板池进行更新。
11.可选的,所述步骤a中速度预测的方式给出预测的目标中心位置(x
pred
,y
pred
)的过程如下:
12.x
pred
=x
prev
+v
x

13.y
pred
=y
prev
+v
y

14.式中,x
prev
和y
prev
为目标前一帧位置;v
x
和v
y
为目标的速度;
15.计算搜索区域的尺寸为:
16.w
sear
=pad*w;
17.h
sear
=pad*h;
18.式中,w和h分别为目标区域的宽和长;w
sear
和h
sear
分别为搜索区域的宽和长;pad是比例系数,其中pad>1。
19.可选的,调用相关滤波目标跟踪算法,给出目标位置脱靶量,调整预测目标的中心位置为临时目标位置(x
tmp
,y
tmp
),过程如下:
20.x
tmp
=x
pred
+dx
21.y
tmp
=y
pred
+dy
22.式中,dx和dy分别是相关滤波目标跟踪算法计算得到的目标位置脱靶量;
23.所述步骤b中计算目标区域梯度方向直方图特征和一个历史目标目标的距离的公式为:
24.disp(v1,v2)=trace((v1‑
v2)
t
(v1‑
v2))
25.式中,v1和v2均为梯度方向直方图特征;trace(
·
)表示求取矩阵的迹,同理计算目标区域和其他历史目标模板的梯度方向直方图特征距离,选取其中的最小值作为最小距离disp。
26.可选的,所述步骤c中的“未遮挡”、“半遮挡”和“全遮挡”三种目标状态的判断方式如下:
27.(1)执行判断disp<k1t,若为真则目标为“未遮挡”状态,若为假则进行步骤(2);其中k1为常数,0<k1<1,t为遮挡判断阈值;
28.(2)执行判断disp<k2t,若为真则目标为“半遮挡”状态,若为假则目标为“全遮挡”状态;其中k2为常数,k1<k2<1,t为遮挡判断阈值。
29.可选的,所述步骤d中,“未遮挡”、“半遮挡”和“全遮挡”三种目标状态下滤波器模
板、目标速度、位置、遮挡判断阈值t和历史目标模板池更新方式如下:
30.(1)若目标为“未遮挡”状态,则相关滤波目标跟踪算法计算临时目标位置的滤波器模板α,进一步更新滤波器模板、目标速度、位置和遮挡判断阈值t,并将该目标区域的梯度方向直方图特征压入历史目标模板池作为新的历史目标模板;
31.(2)若目标为“半遮挡”状态,则仅更新目标速度和目标位置;
32.(3)若目标为“全遮挡”状态,则不更新目标速度,采用速度预测的目标位置作为下一帧的目标位置。
33.可选的,滤波器模板α更新方式为:
34.α
t
=(1

lr)α
t
‑1+lrα
35.式中,α
t
‑1和α
t
分别是当前帧和下一帧滤波器模板,α为临时目标位置下相关滤波目标跟踪算法提取的滤波器模板;
36.目标速度更新方式为:
[0037][0038]
式中,n是历史速度的存储数量;ε
i
是随着i递增的线性权重系数,其中ε
i
的计算过程如下:
[0039][0040]
v
i
是历史速度,采用队列的方式存储,最新的速度压入队列尾部,同时头部速度抛出,维持固定数量不变。最新速度和的计算方式如下:
[0041][0042][0043]
未遮挡、半遮挡状态下目标位置更新方式为:
[0044]
x
prev
=x
tmp
[0045]
y
prev
=y
tmp
[0046]
若为全遮挡状态,采用速度预测的目标位置作为下一帧的目标位置,具体方式如下:
[0047]
x
prev
=x
pred
[0048]
y
prev
=y
pred

[0049]
可选的,所述步骤d中的遮挡判断阈值t计算和更新过程如下:
[0050]
(1)截取目标区域及其8个环境区域,提取梯度方向直方图特征;
[0051]
(2)计算目标区域和环境区域的梯度方向直方图特征的最小距离t
s
,按照下式更新遮挡判断阈值t,
[0052]
t
t
=(1

υ)t
t
‑1+υt
s
[0053]
式中,t
t
‑1和t
t
分别为当前帧和下一帧的遮挡判断阈值,υ为学习率,0<υ<1。
[0054]
本发明与现有技术相比具有以下有益效果:
[0055]
(1)判遮挡过程与目标跟踪过程相对独立,并不参与相关滤波目标跟踪算法的跟踪过程,该方法实际上对所有具有滤波器模板更新机制的目标跟踪算法均适用;
[0056]
(2)使得跟踪算法本身具有了目标重捕功能,不需要额外引入诸如检测、识别等目标重捕功能模块;采用速度预测方式,对于遮挡状态下的目标运动进行预测,调整搜索区域,使得目标离开遮挡物之后仍然在搜索区域之内,由跟踪算法本身对目标完成甄别和重捕;
[0057]
(3)不需要人为设定阈值或者学习权重即可对遮挡程度进行有效区分,而且思路简单清晰,算法复杂度低,可以做到实时和高帧频;
[0058]
(4)根据遮挡状态更新滤波器模板,可以避免相关滤波目标跟踪算法在滤波器模板更新时引入遮挡物体的干扰,有效提升相关滤波目标跟踪算法的跟踪性能。
附图说明
[0059]
图1是本发明提出的相关滤波目标跟踪算法的抗遮挡及目标重捕方法的流程图;
[0060]
图2是目标区域和8个环境区域的位置关系;
[0061]
图3是相关滤波目标跟踪算法和添加本文抗遮挡及目标重捕方法的相关滤波目标跟踪算法在标准测试数据集上的测试结果比较图;
[0062]
图4是添加本文抗遮挡及目标重捕方法的相关滤波目标跟踪算法在标准测试数据上“未遮挡”、“半遮挡”和“全遮挡”三种目标跟踪状态的变化图。
具体实施方式
[0063]
以下结合附图和具体实施例对本发明提出的一种相关滤波目标跟踪算法的抗遮挡及目标重捕方法作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
[0064]
实施例一
[0065]
本发明采用速度预测的方式,给出目标搜索区域,调用相关滤波目标跟踪算法给出临时目标位置,采用梯度方向直方图特征距离描述目标和历史目标模板的相似程度。使用目标和目标周围8个环境区域的梯度方向直方图特征距离描述目标和环境的相似程度,计算遮挡判断阈值,然后比较目标与模板的距离和遮挡判断阈值的相对大小,将目标的遮挡状态分为未遮挡、半遮挡以及全遮挡三种状态:(1)对于未遮挡状态,更新滤波器模板、目标速度、位置、遮挡判断阈值以及历史目标模板池;(2)对于半遮挡状态,仅更新目标速度和位置;(3)对于全遮挡状态,不更新任何参数,目标位置采用速度预测的位置。
[0066]
如图1所示,本发明包含相关滤波目标跟踪算法的抗遮挡及目标重捕方法的具体实现步骤为:
[0067]
1、初始化。将跟踪数据的第一帧以及目标初始的位置信息输入相关滤波目标跟踪算法进行初始化,跟踪算法计算得到初始的滤波器模板。提取目标区域的梯度方向直方图特征,并压入历史目标模板池作为历史目标模板。截取目标区域及8个环境区域如说明书附图2所示,计算目标和目标周围8个环境区域的梯度方向直方图特征距离作为初始的遮挡判
断阈值t。存储的n个历史速度初始化为0。
[0068]
2、采用速度预测的方式给出预测的目标中心位置(x
pred
,y
pred
):
[0069]
x
pred
=x
prev
+v
x
[0070]
y
pred
=y
prev
+v
y
[0071]
式中,x
prev
和y
prev
为前一帧目标位置;v
x
和v
y
为目标的速度。搜索区域和目标区域同心,按照一定的比例放大目标区域尺寸作为搜索区域:
[0072]
w
sear
=pad*w
[0073]
h
sear
=pad*h
[0074]
式中,w和h分别为目标区域的宽和长;w
sear
和h
sear
分别为搜索区域的宽和长;pad是比例系数,其中pad>1。
[0075]
3、调用相关滤波目标跟踪算法,给出目标位置脱靶量,调整预测的目标中心位置为临时目标位置(x
tmp
,y
tmp
),过程如下:
[0076]
x
tmp
=x
pred
+dx
[0077]
y
tmp
=y
pred
+dy
[0078]
式中,dx和dy分别是相关滤波目标跟踪算法给出的目标位置脱靶量。以此临时目标位置为中心,w和h为宽和长,截取目标区域,并计算目标区域梯度方向直方图特征和历史目标模板池中各个历史目标模板的最小距离disp。距离计算过程如下:
[0079]
disp(v1,v2)=trace((v1‑
v2)
t
(v1‑
v2))
[0080]
式中,v1和v2均为梯度方向直方图特征;trace(
·
)表示求取矩阵的迹。计算目标区域和历史目标模板池中所有历史目标模板的梯度方向直方图特征距离,选取其中的最小值作为距离disp。
[0081]
4、根据上述所得的disp,同遮挡判断阈值t进行比较,区分“未遮挡”、“半遮挡”和“全遮挡”三种目标状态:
[0082]
(1)执行判断disp<k1t,若为真则目标为“未遮挡”状态,若为假则进行步骤(2);其中k1为常数,0<k1<1;
[0083]
(2)执行判断disp<k2t,若为真则目标为“半遮挡”状态;若为假则目标为“全遮挡”状态;其中k2为常数,k1<k2<1。
[0084]
5、根据“未遮挡”、“半遮挡”和“全遮挡”三种目标状态对滤波器模板α、目标速度、位置、遮挡判断阈值t和历史目标模板池进行更新。
[0085]
(1)若目标为“未遮挡”状态,相关滤波目标跟踪算法计算临时目标位置的滤波器模板α,更新滤波器模板、目标速度、位置和遮挡判断阈值t,并将目标区域的梯度方向直方图特征压入历史目标模板池作为新的历史目标模板。
[0086]
(2)若目标为“半遮挡”状态,则仅更新目标速度和目标位置。
[0087]
(3)若目标为“全遮挡”状态,则不更新速度,采用速度预测位置作为下一帧的目标位置。
[0088]
滤波器模板更新方式为:
[0089]
α
t
=(1

lr)α
t
‑1+lrα
[0090]
式中,α
t
‑1和α
t
分别是当前帧和下一帧滤波器模板,α为临时目标位置下相关滤波目标跟踪算法提取的滤波器模板;lr是学习率。
[0091]
速度更新方式为:
[0092][0093]
式中,n是历史速度的存储数量;ε
i
是随着i递增的线性权重系数,其中ε
i
的计算过程如下:
[0094][0095]
v
i
是历史速度,采用队列的方式存储,最新的速度压入队列尾部,同时头部速度抛出,维持固定数量不变。最新速度和的计算方式如下:
[0096][0097][0098]
未遮挡、半遮挡状态下目标位置更新方式为:
[0099]
x
prev
=x
tmp
[0100]
y
prev
=y
tmp
[0101]
若为全遮挡状态,采用速度预测的目标位置作为下一帧的目标位置,具体方式如下:
[0102]
x
prev
=x
pred
[0103]
y
prev
=y
pred
[0104]
遮挡判断阈值t计算和更新过程为:首先,截取8个环境区域,并提取其梯度方向直方图特征,截取位置如图2所示。然后,结合步骤3提取的目标区域梯度方向直方图特征,计算目标区域和各个环境区域梯度方向直方图特征的最小距离t
s
,按照下式更新遮挡判断阈值,
[0105]
t
t
=(1

υ)t
t
‑1+υt
s
[0106]
式中,t
t
‑1和t
t
分别为当前帧和下一帧的遮挡判断阈值,υ为学习率,0<υ<1。
[0107]
历史目标模板池采用队列的方式存储最新的目标区域梯度方向直方图,同时头部的目标区域梯度方向直方图特征抛出,维持固定数量不变。
[0108]
实施例二
[0109]
以下为otb100带遮挡目标跟踪测试数据上的跟踪效果展示。
[0110]
抗遮挡及目标重捕方法的相关参数设置为:遮挡判断常数k1和k2分别设为0.4和0.9,历史目标模板池的长度设为5,存储的历史速度的数量为5,遮挡判断阈值的学习率υ为0.015。相关滤波目标跟踪算法选择经典的kcf算法,滤波器模板参考尺寸设为128个像素。
[0111]
1.挑选otb100中带遮挡跟踪测试数据作为测试集合,将跟踪数据的第一帧以及目标初始的位置信息输入kcf目标跟踪算法进行初始化,kcf算法计算得到初始的滤波器模板。提取目标区域的梯度方向直方图特征,并压入历史目标模板池作为历史目标模板。截取目标区域及8个环境区域如图2所示,计算目标和目标周围8个环境区域的梯度方向直方图
特征距离作为初始的遮挡判断阈值t。存储的12个历史速度初始化为0。
[0112]
2.输入下一帧待跟踪图像,根据速度和上一帧的目标位置,预测本帧图像的目标位置(x
pred
,y
pred
)。在预测目标位置处,按照比例截取搜索区域。
[0113]
3.将搜索区域输入kcf目标跟踪算法,得到目标位置脱靶量(dx,dy),调整目标中心位置为临时目标位置(x
tmp
,y
tmp
)。以此临时目标位置为中心,并计算目标区域梯度方向直方图特征和历史目标模板池中各个历史目标模板的最小距离disp。
[0114]
4、根据步骤3所得的disp,同遮挡判断阈值t进行比较,区分“未遮挡”、“半遮挡”和“全遮挡”三种目标状态:(1)执行判断disp<k1t,若为真则目标为“未遮挡”状态,若为假则进行下一判断。执行判断disp<k2t,若为真则目标为“半遮挡”状态;若为假则目标为“全遮挡”状态。
[0115]
5、根据“未遮挡”、“半遮挡”和“全遮挡”三种目标状态对滤波器模板α、目标速度、位置、遮挡判断阈值t和历史目标模板池进行更新。若目标为“未遮挡”状态,相关滤波目标跟踪算法计算临时目标位置的滤波器模板α,更新滤波器模板、目标速度、位置和遮挡判断阈值t,并将目标区域的梯度方向直方图特征压入历史目标模板池作为新的历史目标模板。若目标为“半遮挡”状态,则仅更新速度和目标位置。若目标为“全遮挡”状态,则不更新速度,采用速度预测位置作为下一帧的目标位置。
[0116]
7.重复执行步骤2到步骤6,直到测试数据输入完毕,输出本文方法的跟踪结果。
[0117]
8.将该方法关闭,仅执行原始kcf目标跟踪算法,输出测试结果和本文方法的结果进行比较如图3所示。比较结果表明,使用本文抗遮挡及目标重捕方法的kcf目标跟踪算法对于带遮挡的目标具有良好的跟踪效果。原kcf算法在目标进入遮挡物时,会因为没有遮挡判别机制,在滤波器模板α更新时引入遮挡物的信息,进而将遮挡物当作目标,目标框停留在遮挡物上;本文方法在目标进入遮挡物之前,会对遮挡进行判别,及时规避遮挡物信息对滤波器模板α的影响,同时对于遮挡状态下的目标采用速度预测,在目标离开遮挡物之后由跟踪算法完成及时重捕。图4给出了本文方法对于“未遮挡”、“半遮挡”和“全遮挡”三种目标状态的判别结果。
[0118]
上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属于权利要求书的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1