视频目标跟踪算法的改进_第1页
视频目标跟踪算法的改进_第2页
视频目标跟踪算法的改进_第3页
视频目标跟踪算法的改进_第4页
视频目标跟踪算法的改进_第5页
已阅读5页,还剩3页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

视频目标跟踪算法的改进

0常用的跟踪方法视频目标跟踪是计算机视觉研究领域的中心主题。它已广泛应用于国防和民用领域,如智能监控、人机交互、医学诊断、导航管理等。视频目标跟踪在实际应用中面临多方面的挑战,如目标姿态变化、光照影响、目标快速运动、目标被遮挡或消失、复杂背景等。为此,各国的研究人员提出了大量目标跟踪算法,近期比较全面的关于目标跟踪的综述参见文献。标准的跟踪方法,如光流法在执行逐帧跟踪时都假设没有完全的遮挡或者目标消失,这类算法又被称为短期跟踪器。关于这类方法的研究工作目前都集中在提高速度、精度或者开发更可靠的方法来延长跟踪器作用时间,这些研究都不直接涉及发生跟踪错误后的处理方法,因此不能直接用在长时间目标跟踪的问题上。长期跟踪器要求跟踪器能够运行于一个无限长的图像序列中,因此跟踪器自身应具备一定的检测能力,这样当所跟踪的目标被遮挡或者消失而导致跟踪失败的时候,可以利用检测器重新检测到再次出现的目标然后再进行跟踪。长期跟踪器需要考虑多方面的问题,其中最重要的是当目标消失后再次出现在摄像机视野中,目标外表发生变化,而检测器如果仅由初始目标外表信息训练得到,将导致后续跟踪错误。自适应的跟踪方法能够很好地解决跟踪过程中目标外表变化的问题。此类跟踪方法大体上可以分为两类:逐帧更新法和有选择的更新法。逐帧更新法以当前时刻目标的最佳跟踪结果更新目标模型。在跟踪精度较高的情况下,这种方法能很好地解决目标外表变化的问题。但是,如果跟踪精度不高,这种方法也可能会加速跟踪的失败。有选择的更新法考虑到跟踪结果不总是正确的,因此只在跟踪所得目标与目标模型接近或者新的目标数据能通过半监督学习的方式被融入到目标模型中时才对模型进行更新。以上观点为Kalal等人对长期视频目标跟踪算法存在问题的一个总结,针对上述问题,他们提出了TLD(tracking-learning-detection)目标跟踪算法,并得到了广泛的关注。TLD只需要较少的先验信息就可以实现对目标的长期在线跟踪,运算速度快,实时性高,并且能有效地适用于目标被遮挡或者消失的场合以及目标外表在跟踪过程中发生变化的情况。TLD主要由3个部分组成:跟踪器、学习模块、检测器。跟踪器部分由一个短周期自适应跟踪器构成,在帧间运动有限、目标可见的情况下,用来预测目标在连续帧间的运动。检测器部分为一个高效的级联分类器,创建使用了简单有效的图像特征,可以对目标进行实时的检测,同时在必要的情况下纠正跟踪器。学习模块评估跟踪器和检测器的性能,通过生成有效的训练样本完成检测器的更新,消除检测器误差。TLD算法的框架结构如图1所示。在跟踪目标的起始帧,通过给出目标的位置和大小,完成对TLD算法的初始化。在随后的跟踪过程中,对每一帧图像用跟踪器和检测器共同进行处理。跟踪器根据前一帧中目标的位置信息来估计当前帧中目标所在的位置。检测器对当前帧全局窗口进行扫描,检测出一个或者多个可能的目标位置。检测结果和跟踪结果输入到融合处理模块,该模块给出当前帧是否存在目标、目标位置以及到当前帧的跟踪轨迹是否有效等信息。这些融合处理结果,联合检测结果和跟踪结果一起输入到学习模块,学习模块完成对跟踪器和检测器的更新。更多关于TLD的细节内容参见文献[13-16]。本文在原始TLD方法的基础上对其进行改进,以获得更理想的跟踪效果。本文所涉及的改进有:1)在TLD的跟踪器中采用CellFoT+∑进行设计,对其局部跟踪器的布置和局部跟踪器跟踪成败的预测方法进行改进,与原始TLD中跟踪器所采用的GridFoT+FB+NCC相比较,不仅提高了跟踪精度和鲁棒性,而且也提高了运算速度;2)在TLD的检测器中引入Kalman滤波器预估当前帧中目标存在的大致区域,将预估得到的目标区域作为TLD的目标检测区域,以此减少TLD的检测范围,解决了原始TLD算法中检测器需扫描整幅图像的图像子窗口所带来的耗时问题,从而在跟踪精度基本不变的情况下提高算法的运行速度;3)在TLD的检测器中加入了基于马尔可夫模型的方向预测器,利用其所预测的目标当前时刻的运动趋势来增强TLD对相似目标的辨识能力。1局部跟踪器跟踪模型TLD中的跟踪器采用了FoT(flockoftrackers)的跟踪方法。所谓FoT是指采用了多个独立的局部跟踪器来各自跟踪目标的一部分区域,然后综合各个局部跟踪器的跟踪结果来估计得到目标的运动。FoT中,每个局部跟踪器被关联到所要跟踪的目标的一部分区域,对该部分区域进行跟踪。局部跟踪器并不是鲁棒的,而且还假设了所跟踪的区域在所有的图像序列中是可见的并且是简单的位移运动,因此局部跟踪器发生错误跟踪是不可避免的。于是,FoT需要有一种机制能将跟踪失败的局部跟踪器剔除,这样可以仅使用能正确跟踪的局部跟踪器来估计目标的运动。FoT跟踪方法中涉及如何布置局部跟踪器和如何有效剔除(预测)不能正确跟踪的局部跟踪器。在原始TLD中,局部跟踪器采用了网格状(Grid)的方式布置,使用NCC(normalizedcrosscorrelation)和FB(forward-backward)误差来预测跟踪失败的局部跟踪器。本文中,在改进的TLD方法中,TLD的跟踪器采用了文献给出的CellFoT+∑法进行设计,该方法的局部跟踪器采用了单元格(Cell)的方式进行布置,使用了综合3种判断方法的∑预测器来预测跟踪失败的局部跟踪器。较原始TLD中的跟踪器,改进后的TLD所采用的跟踪器不仅跟踪的鲁棒性得到加强,而且处理速度也得到了提高。改进后的TLD跟踪器的基本工作流程是:采用Cell的方式在所要跟踪的目标区域布置一定量的局部跟踪器,局部跟踪器采用光流法跟踪其所在位置的局部图像区域,使用∑预测器判断各个局部跟踪器跟踪效果,用跟踪成功的局部跟踪器的跟踪结果来估算出目标在图像中的位置和大小。下面分别就Cell方式的局部跟踪器的布置和∑预测器进行简单介绍。1.1局部跟踪器的选择分配方式原始TLD中局部跟踪器以网格状的形式均匀地分布在所要跟踪的目标区域,被称为GridFoT。显然这种布置方式不能保证所有的局部跟踪器放置在适合跟踪的位置上,那些没有得到合适安置的局部跟踪器会因为跟踪错误而漂移离开网格,而GridFoT在每次估算目标运动后,局部跟踪器需重置到原先在网格上的位置,因此那些之前没有安置在合适位置上的局部跟踪器会继续不能正确跟踪而发生漂移。而CellFoT则强制每个局部跟踪器在其特定的单元中,这些单元覆盖了整个目标区域,允许局部跟踪器在其对应单元内发生漂移,从而可以在每个单元中选择最佳的位置点作为跟踪点,相比较GridFoT,效果更优。图2给出了GridFoT和CellFoT的示意图,其中图2(a)为GridFoT的示意图,局部跟踪器放置在各个网格的中心,在跟踪过程中如果发生漂移后会重置到原先在网格上的位置。CellFoT的每个局部跟踪器有一个对应的单元,单元的宽和高分别表示为cw和ch。在初始帧,CellFoT的所有局部跟踪器初始化到各自的单元中心(与GridFoT类似),如图2(a)所示。接下来的各帧中,记录下各个局部跟踪器与其对应单元的中心的偏移量,并且从当前位置开始下一帧的跟踪。如果局部跟踪器超出了其所对应单元,则重新初始化到对应单元的中心位置,如图2(b)所示。1.2局部跟踪器跟踪∑预测器,是由邻域一致预测器(Nh)、马尔可夫预测器(Mp)和归一化互相关预测器(NCC)组成。这3种预测器分别按照各自的方法来判断各个局部跟踪器能否正确跟踪,将3种预测器的结果进行综合,得到3种预测器都认为能正确跟踪的局部跟踪器,即为∑预测器找出的能正确跟踪的局部跟踪器。∑预测器相比较原始TLD方法中使用的FB+NCC预测器具有更准确的预测效果,鲁棒性更强。同时,计算速度也更快,因为原方法中FB+NCC预测器需要进行两次光流计算,而改进后TLD中使用的∑预测器只需要进行一次光流计算。∑预测器中,NCC比较常见,其本质是求取跟踪所得的图像区域与之前的被跟踪区域之间的相似程度,并以此来判断某个局部跟踪器是否有效。Nh方法的内在假设是相邻的局部跟踪器具有相似的运动,因此根据局部跟踪器与其邻域中其他局部跟踪器的运动是否相符,来判定该跟踪器的跟踪是否有效。Mp则是采用了一个简单的马尔可夫模型来预测某个局部跟踪器在下一个时刻能否正确跟踪的概率,并以此判断该跟踪器是否有效。有关Σ预测器的详细介绍参见文献。2基于信号模型的tld采用Kalman滤波来预估当前帧目标的中心位置,并以此确定TLD在当前帧的目标检测区域。Kalman滤波是一种对动态系统的状态序列进行线性最小均方误差估计的算法,通过系统以前的状态序列对下一个状态作最优估计,同时利用当前测量值修正估计的状态,具有无偏、稳定、最优的特点。Kalman滤波的数学模型描述为状态方程观测方程式中,xk为k时刻的系统状态向量,zk为k时刻的系统观测向量,A为系统状态转移矩阵,H为观测矩阵,wk-1和vk是两个相互独立的零均值高斯白噪声,分别表示状态转移噪声和观测噪声,其概率分布分别表示为p(w)~N(0,Q)、p(v)~N(0,R)。矩阵Q和R分别为状态转移噪声和观测噪声的协方差矩阵。选取每帧图像中目标的中心位置信息来构建Kalman滤波器中的状态变量和观测值,即系统状态量观测量式中,px和py分别代表目标中心在水平方向和竖直方向上的坐标分量,vx和vy分别表示目标在水平方向和竖直方向上的速度。在实际视频序列中,相邻两帧间的时间间隔很短,可以认为目标在相邻两帧间做匀速运动,系统为线性模型。其状态转移矩阵和观测矩阵分别为式中,t为相邻两帧间的时间间隔。另外,分别设Q=10-5I4,R=10-1I2,其中I4为4×4的单位矩阵,I2为2×2的单位矩阵。TLD中的检测器是基于窗口扫描的。检测器需要对图像中所有可能包含目标的子窗口进行扫描以确定窗口内图像内容是否为目标。TLD设置了子窗口的大小范围,但是没有设置子窗口的位置范围,因此需要检测的子窗口数目巨大。像一帧470×310大小的图像,TLD大概需要对3万个左右的子窗口进行目标检测,而其中绝大多数子窗口并不包含目标的图像内容,因此造成了极大的计算资源浪费。为此,考虑采用Kalman滤波器的预估结果来缩小TLD的目标检测区域。具体的方法是:1)由Kalman滤波器预估得到当前帧中目标的中心位置;2)以该位置为中心,划定一个矩形的区域,长宽比与上一帧中目标的边界框一致,大小为上一帧目标边界框覆盖面积的4倍,认为该矩形区域为当前帧中目标出现的区域;3)找出所有与划定的矩形区域有交集的子窗口,将其送入到检测器,由检测器检测子窗口中内容是否为目标。图3给出了使用Kalman滤波器来减少TLD检测区域的示意图。图3中,虚线框为通过Kalman滤波器预估并结合上一帧目标的位置和大小信息给出的当前帧目标存在的区域。图3中给出了A、B、C3个子窗口,其中子窗口A和B与虚线框有重叠,将予以保留并送入到检测器中进行检测,而子窗口C与预测的目标区域无重叠,因此将不再被检测。3马尔可夫模型预测视频方向TLD能够很好地适用于多种严峻场景,但仍存在一些弊端。当场景中存在两个或两个以上相似程度很高的目标,若这些目标在运动过程中发生交会形成遮挡,TLD对这些交会后的相似目标的正确辨识能力不强。因此,针对这种情况,考虑为TLD加入对目标运动方向预测的能力来予以解决。马尔可夫预测器具有时域一致性,即可以由上一时刻目标的运动状态来预测当前时刻的运动状态,因此采用马尔可夫模型来对目标的运动方向进行预测。在视频图像中,目标运动是2维平面上的运动,可以分解为在水平方向上和竖直方向上的运动,因此为水平方向和竖直方向分别设计马尔可夫模型来预测该方向上目标的运动趋势。以水平方向为例,定义其状态空间为{0为左,1为右}。马尔可夫模型假设当前预测状态只与上一时刻的状态以及状态转移矩阵有关。定义t时刻的状态转移矩阵为式中,状态量st表示目标运动方向,并且转移矩阵每列之和等于1。已知t时刻的目标运动方向状态量以及转移矩阵,预测t+1时刻的目标运动方向为式中,p(st=0)(p(st=1))表示目标在t时刻向左(右)运动的概率。如果目标在t时刻向左(右)运动,则设置p(st=0)为1(0),如果目标在t时刻在左右方向上没有运动,则设置p(st=0)为0.5。设置p(st=1)等于1-p(st=0)。等式左边为预估的t+1时刻目标向左或者向右运动的概率,概率大的那个方向认为是目标在t+1时刻的运动方向。由于状态矩阵Tt的各列元素之和为1,因此状态转移矩阵的计算即是对p(st+1=1|st=1)和p(st+1=1|st=0)的计算,其计算公式为式中,h0(h1)表示在0~t时刻,视频中目标向左(右)运动的次数;h11表示在0~t时间段,视频中目标上一时刻和当前时刻都向右运动的次数;h01表示在0~t时间段,视频中目标上一时刻向左运动但当前时刻向右运动的次数。目标向左(右)运动的判别依据是相邻两帧中的目标中心位置在水平方向上的差值。由马尔可夫模型预测得到目标当前时刻运动方向,接着根据上一时刻目标确切的位置,可以在当前帧中划定一个区域,目标出现在该区域中才符合马尔可夫模型对目标运动方向的预测。图4为马尔可夫预测当前时刻检测区域的示例图,图4中运动的人在上一时刻的位置区域由矩形框表示,并在当前时刻由马尔可夫模型预测得到有向左运动的趋势。因此,认为图4中虚线左侧的区域为当前时刻需要加入检测器的检测区域,而虚线右侧的区域则不必再去检测。4算法的改进和测试在原始TLD算法的基础上,对其部分内容进行了改进,包括1)对TLD的跟踪器采用CellFoT+∑进行了设计,2)采用Kalman滤波器预测当前帧目标的所在区域,3)采用马尔可夫模型对目标的运动方向进行预测。上述改进中,1)是针对TLD的跟踪器进行的改进;2)和3)的改进是对检测器增加了检测区域的限制,将不符合Kalman滤波器和马尔可夫模型预测结果的子窗口排除在检测器的检测范围之外。除了上述改进外,TLD算法的其他部分没有进行改动。为了叙述方便,将上述改进后的TLD称为TLD+。在实验中,测试了5种方法,除了上述的TLD+外,还有原始的TLD(记为TLD),以及在原始TLD基础上只对其跟踪器采用了CellFoT+∑方法设计进行改进后的方法(记为TLD+T),在原始TLD中只融入了基于Kalman检测区域预测后的方法(记为TLD+K),在原始TLD中只融入了基于马尔可夫模型方向预测后的方法(记为TLD+M)。关于TLD方法与其他非TLD方法的测试比较,参见文献。以VisualStudio2010和OpenCV2.2为开发平台,编程实现了上述算法,并且在CPU为IntelDualCoreE54002.7GHz,内存为3G的计算机上进行测试验证。4.1测试视频内容在各种严峻的场景下对算法进行性能测试,这些场景包括目标遮挡或消失、光照变化、目标快速运动、目标大小和外观变化等情况。实验中使用了6个视频进行测试,包括网上公开的测试视频Motocross、CarChase、David,以及作者自行采集的People1、Car、People2。People1视频为3个人在摄像机前以椭圆为轨迹行走时摄像机所拍摄的内容,Car视频为遥控直升机逼近一辆静止的汽车过程中机载的摄像头所拍摄的内容,People2为遥控直升机跟踪两个人的行走过程中机载的摄像头所拍摄的内容。表1给出了6个测试视频的有关信息和视频截图。表1中目标存在帧数是指视频的总帧数减去目标被遮挡或者消失的帧数。这6个测试视频包括了人脸、车、人3种目标,包含光照变化(视频3),存在相似目标(视频2),相机运动以及目标快速运动(视频1、3、5、6),姿态以及外观变化(视频3、4、6),目标遮挡或消失(视频4、5、6)等会影响目标跟踪效果的情况。截图中框出的目标为所要跟踪的目标。4.2测试结果和分析4.2.1tld+kTLD本身是一个长期的在线跟踪方法,速度快,实时性强,同时跟踪精度高,鲁棒性强,能够很好地适用于多种严峻场合。实验过程中,在6个视频序列中分别测试TLD,TLD+T,TLD+K,TLD+M以及TLD+。表2给出了各个算法对不同视频处理,能够正确跟踪目标的帧数,结果显示测试的5种算法都具有较高的跟踪精度和较强的鲁棒性。TLD+K与TLD相比较,在视频4和6的处理上,TLD+K的准确性较TLD略差,在其他视频的处理上,TLD+K与TLD相差不大。TLD+M与TLD相比较,在视频5和6的处理上,TLD+M的准确性较TLD略差,在其他视频的处理上,TLD+M与TLD相差不大。TLD+K与TLD+M一样都是限制了TLD的检测区域,因此这两种方法较原始TLD的跟踪精度略有下降。表2数据还显示TLD+T比TLD获得了更准确的跟踪结果,这是因为TLD+T采用了CellFoT+∑对跟踪器进行了设计,提高了跟踪器的跟踪精度。融合了3种改进的TLD+的跟踪精度比TLD+T略差,但是比TLD以及TLD+K和TLD+M要高。由于受Kalman滤波器和马尔可夫模型预测结果的限制,TLD+的检测区域较TLD的检测区域小,理论上是会降低跟踪精度,但是实验结果显示TLD+的跟踪精度较TLD以及TLD+K和TLD+M高,这是因为TLD+的跟踪器采用了CellFoT+∑设计,精度更高,鲁棒性更强。而另一方面,由于受到检测区域的限制,TLD+与同样采用了CellFoT+∑设计跟踪器的TLD+T相比,跟踪精度要略低些。4.2.2种方法比较表2中还给出了各个算法对不同视频进行处理的平均帧率。TLD+T的跟踪器采用了CellFoT+∑,在跟踪的时候只进行一次光流计算,而TLD中的跟踪器需要进行两次光流计算,因此TLD+T的运算速度要比原始TLD快,表2中数据也证明了这一点。但对视频4的处理中,由于TLD+T的正确处理帧数明显较TLD多,因此其平均处理速度比TLD略低些。TLD的检测器采用的是窗口扫描策略,需要扫描整幅图像的图像子窗口,耗时相对较多。TLD+K引入Kalman滤波器预测目标在当前帧的大致区域,从而缩小扫描区域,加快处理速度。TLD+M由于引入马尔可夫模型来预测方向,也缩小了扫描检测的区域,加快了处理速度。表2的数据证实了,TLD+K和TLD+M都比原始TLD具有更快的处理速度。另外,一般情况下,TLD+K的扫描区域要比TLD+M的扫描区域小,所以正确处理帧数相同的情况下,TLD+K的处理速度要比TLD+M略快些。以上结果显示,本文提出的3种改进都可以一定程度上提高TLD的处理速度。那么,融合了3种改进的TLD+的处理速度显然要比只进行了单处改进的TLD+T,TLD+K和TLD+M更快,表2的数据证明了这点。需要指出的是,对视频4的处理中,TLD+K的处理速度比TLD+略快,这是因为在对该视频的处理中TLD+K的正确处理帧数要比TLD+明显小很多。TLD以及本文给出的各种改进后的TLD,主要的功能模块包括跟踪、学习和检测。表3给出了各个方法在处理Motocross视频时,其各个功能模块所花费的平均时间。由于各个功能模块并不一定在处理每帧图像时都会被执行,所以表3也给出了各个模块执行的帧数。表3的数据显示,由于TLD+T和TLD+都采用了CellFoT+∑设计跟踪器,所以这两个方法在跟踪模块所花费的时间明显较其他方法少。对于检测模块,TLD+T由于没有增加检测区域的限制,所以花费时间与TLD相近。而TLD+K,TLD+M以及TLD+都增加了对检测区域的限制,所以在检测模块花费的时间都要比TLD少。另外,由于TLD+K的检测区域一般会比TLD+M小,所以TLD+K在检测模块花费时间比TLD+M少。TLD+的检测区域是TLD+K和TLD+M检测区域的交集,所以比TLD+K和TLD+M的检测区域更小,TLD+在检测模块花费的时间最少。由于没有涉及对学习模块的改

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论