一种基于TLD算法的目标稳定跟踪方法与流程

文档序号:15833279发布日期:2018-11-07 07:33阅读:1021来源:国知局
一种基于TLD算法的目标稳定跟踪方法与流程

本发明涉及一种基于tld算法的目标稳定跟踪方法,特点是对失败检测机制进行了自适应的阈值设定,应用于计算机视觉、目标检测、目标跟踪等,属于计算机视觉中的目标跟踪领域。

背景技术

tld跟踪算法是由zdenkakalal提出的一种单目标长时间跟踪算法。该算法由跟踪模块、检测模块、学习模块三个模块组成。单纯的跟踪算法很难校正跟踪的漂移误差并且会不断累积跟踪的误差,而且一旦目标从视野中消失,跟踪就不可避免地产生失败。单纯的检测算法需要大量的样本进行离线的监督训练,不能应用于未知目标的跟踪任务,并且由于目标模型是离线建立的,所以如果一旦目标出现较大变化,跟踪就很容易产生失败。tld将检测算法和跟踪算法结合起来并且通过学习来实时更新目标模型。

对于目标跟踪算法来说,目标被完全遮挡或者消失于视野后又重新出现的情况经常会发生。因此目标跟踪算法能否对因完全遮挡或者消失于视野而造成的跟踪失败作出正确的判断显得尤为重要:如果目标跟踪算法不能做出正确判断,那么即使目标不在视频中,目标跟踪算法也会继续更新目标模型。显然这种被污染的目标模型无法对目标进行有效的表征。因此tld算法在跟踪模块加入了失败检测机制来判断目标是否消失或者被完全遮挡。在被判定跟踪失败的视频帧,tld算法的学习模块不会对其进行模型更新,这样就避免了目标模型被污染。但是在tld算法中,跟踪失败检测机制的阈值被设定为一个固定的值,很难适应各种目标跟踪场景。特别是在目标发生快速运动的情况下,由于跟踪失败检测机制的阈值小于目标的运动,失败检测机制会判定当前帧发生了跟踪失败,这是一种错误的判断。



技术实现要素:

本发明要解决技术问题为:针对tld算法在目标发生快速运动时跟踪器的失败检测机制误判造成跟踪失败的问题,提出了自适应的跟踪失败检测机制,通过自适应阈值的调整克服原有失败检测机制的误判问题。在公开视频数据集上进行的实验表明,该方法可以在一定程度上提高跟踪的稳定性。

本发明解决上述技术问题采用的技术方案为:一种基于tld算法的目标稳定跟踪方法,在待跟踪视频的起始帧,由用户指定跟踪窗口形成正负样本对检测模块进行初始化训练。在跟踪过程中,检测模块和跟踪模块独立工作:检测模块扫描当前帧图像获得图像块并依次通过方差分类器、合并分类器、最近邻分类器。跟踪模块采用中值光流法通过上一帧跟踪预测当前帧目标位置。整合模块综合检测模块和跟踪模块进行跟踪结果的输出。并且对当前更新后的目标位置,产生新的正负样本,从而更新检测模块。

其中,在待跟踪视频的起始帧中,由用户指定跟踪窗口,然后对距离指定的跟踪窗口最近的扫描网格窗口中选取若干个窗口进行一系列的仿射变换形成初始的正样本,并对远离指定的跟踪窗口随机搜选获得初始的负样本。所获得的正负初始样本用来对检测模块进行初始化训练。

其中,在跟踪过程中,检测模块对当前帧图像进行网格扫描获得图像块后,首先计算各图像块的方差,方差小于某个阈值的图像块被接受,进入合并分类器。通过若干个不同的基本分类器进行的像素比较后得到的平均后验概率值,大于某个阈值的图像块被接受,进入最近邻分类器。通过对进入最近邻分类器的图像块进行灰度的零均值归一化处理,与目标模型中的图像块进行互相关归一化的相似度计算,如果相似度大于某个阈值,则判定当前图像块为目标区域,否则判定为背景。

其中,在跟踪过程中,利用了当前帧前n帧的有关信息对原有的跟踪失败检测机制进行自适应的阈值设定。其中,在跟踪失败检测机制的初始化中,整个视频的前n帧的跟踪失败检测阈值被设置为一个较大值,即默认在视频的前n帧中不会出现跟踪失败。

其中,在跟踪过程中,跟踪模块和检测模块独立运行,并采用自适应跟踪失败检测机制进行跟踪失败检测,最后将检测结果与跟踪结果融合输出目标跟踪结果。在每一帧中对当前更新后的目标位置,产生新的正负样本,从而更新目标模型与检测模块。

与现有技术相比,本发明的有益效果是:

这种方法能够自适应地调整跟踪失败检测机制的阈值,从而使目标跟踪算法在目标发生不同运动时,都能够对由目标被完全遮挡或者离开视野造成的跟踪失败作出正确的判断,进而实现更加稳定的跟踪。

附图说明

图1为中心点坐标计算示意图;

图2为不同n取值的情况下成功跟踪帧数的变化;

图3为实验数据集的成功率(pascalscore)的对比图;

具体实施方式

下面结合附图意见具体实施方式进一步说明本发明。

首先定义矩形框1与矩形框2之间的距离为:

其中(x1,y1)、(x2,y2)分别为矩形框1与矩形框2的中心点坐标。即定义两个矩形框之间的距离为两个矩形框中心点坐标之间的欧式距离。

对于如图1所示的矩形框,中心点坐标(x0,y0)的计算公式为:

基于在未发生目标被完全遮挡或者离开视野的情况下,目标的运动应当是连续的这一事实,本发明认为前n帧跟踪结果的矩形框之间的距离可以反映当前帧i(i=n+1)中目标的运动程度,从而可以基于这一距离进行阈值的自适应设定。为了减少跟踪器错误的影响,本发明采用前n帧跟踪结果矩形框之间距离的平均值对当前帧的阈值进行设定。

在视频帧i(i>n)中,跟踪失败检测的阈值θfailure定义为如式(3)所示:

其中α为调节系数,定义为:

初始化为1。后续会对α进行详细的说明。

在视频帧i(3≤i≤n)中,由于跟踪结果较少,为了避免跟踪不稳定造成的错误,本发明以式(5)所示的方式对跟踪失败检测的阈值θfailure进行设置:

其中θc=10是tld算法的默认残差阈值,α为调节系数,初始化为1。

在视频帧i(1≤i≤2)中,没有数据可供参考设置。考虑到在实际的视频帧中,目标的运动是连续的,目标不会在第二帧就被完全遮挡或者消失于视野。基于这样一个事实,本发明认为在视频帧i(1≤i≤2)中不会出现因目标被完全遮挡或者消失于视野而造成的跟踪失败。因此,本发明以式(6)来对跟踪失败检测阈值进行初始化设置:

θfailure=10·θc...(6)

其中θc=10是tld算法的默认残差阈值。

出现跟踪失败后,跟踪模块不输出任何结果,学习模块暂停目标模型的更新直至检测模块在全局检测中检测成功并重置跟踪模块,跟踪模块才会重新启动。考虑到这种情况,本发明的自适应阈值的设置在目标发生跟踪失败以后,以前一帧的阈值设置为基准,调整调节系数α的值为1.2,即适当增大跟踪失败检测阈值,以避免因目标突然发生快速运动时造成的失败检测机制误判。

如前所述,自适应失败检测阈值设置为:

其中θc=10为tld算法的默认残差阈值,α∈{1,1.2}为调节系数。

采用deer数据集进行实验,在n∈{3,4,5,6,7,8,9,10,11,12,13}的取值下进行了测试,以期寻找一个合理的值完成自适应阈值调整的失败检测机制的设置。事实上n可以取值为1或2,即使用前1帧或者前2帧的跟踪结果矩形框之间的距离来对阈值进行设置。但是过少的数据存在着较大的偶然性,因此没有把1和2包含在n的实际取值中。另外考虑到n取值过大会加入过多先前运动结果的影响,而这种影响并不一定是积极的,n>13的值没有被加入测试。

图2即为不同n取值的情况下成功跟踪帧数的变化。从图2可以看出,随着n值的增大,成功跟踪帧数在上升后在n≥6时稳定在65左右不再变化。而deer数据集中总帧数为71帧。当n≥6时跟踪发生跟踪失败的视频帧中重复的为第27、28、31、32帧,而这几帧正是整个deer数据集中目标运动最剧烈的。因此尝试增大调节系数α在发生跟踪失败后的调节值,即在发生跟踪失败时增大跟踪失败检测阈值,成功跟踪帧数有细微的提升,但是仍然存在跟踪失败。这是由于α本身的定义导致的不可避免的失败。因为α在最初定义时即定义在发生跟踪失败时取较大值以适应当前帧中目标可能发生的较大的运动,在实际的测试结果也印证了这一点。

因此,本发明选取能够使成功跟踪帧数收敛的最小的n值对式(7)进行设定。即自适应失败检测阈值θfailure为:

其中n=6,θc=10,

需要注意的是,经过目标在极缓慢运动的视频帧中跟踪结果的训练,θfailure会被训练为一个非常小的值,而后突然出现的快速运动,θfailure需要多帧才能被调节系数α拉到一个合理的水平。

因此,本发明在上述方法中加入了如式(9)所示的机制来增强上述方法的鲁棒性:

θfailure=max(θfailure,θc)...(9)

其中θc=10。

加入式(9)的改进,选取包含快速运动(fastmotion)的blurowl、blurbody、deer、jumping、blurcar2数据集进行了测试,测试结果如表1所示。

由表1可以看出,本发明提出的方法可以显著地提高tld算法的跟踪稳定性。

表1实验数据集的统计对比结果

本发明未详细阐述部分属于本领域技术人员的公知技术。

本技术领域中的普通技术人员应当认识到,以上的实施例仅是用来说明本发明,而并非用作为对本发明的限定,只要在本发明的实质精神范围内,对以上所述实施例变化、变型都将落在本发明权利要求书的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1