双摄像头的实时视频拼接及目标跟踪(六)

对实时拼接好的视频进行实时目标跟踪

本文为CSDN原创文章,转载请注明出处

对拼接好的视频帧还需做目标跟踪处理,即画一个矩形框选定图像中目标,之后在每帧图像中,该矩形框都会出现在目标上。

目标跟踪算法现状

可参考该大神的文章https://www.zhihu.com/question/26493945/answer/156025576

目标跟踪分短期(Short-Term)跟踪、长期(Long-Term)跟踪,又可分为单目标跟踪和多目标跟踪。短期目标跟踪是对目标进行短时间跟踪,在首帧选定区域之后,对之后的几百帧的跟踪质量来衡量。一旦漂移导致跟丢目标,将不能再进行跟踪。长期目标跟踪是对目标长时间进行跟踪,即使目标发生形变、离开视频区域后再出现或是被物体遮挡,都可以继续进行跟踪,不会受到这些因素的影响。本节主要介绍的是短期单目标跟踪。

目标跟踪算法的优劣有两个衡量指标,一个是跟踪速度,一个是跟踪准确率。实际应用中,根据应用的需要,在两者之间进行取舍。OTB50、OTB100、VOT竞赛的数据库是用来衡量目标跟踪算法的数据库,而在这几个数据库出现之前,并没有用来衡量目标跟踪算法的标准数据库,大家都是自吹自擂,可能在某个自定的数据集效果很好,而换到其他的则效果极差。
影响目标跟踪算法研究的主要困难在于目标跟踪目标的尺度,跟踪目标与背景相似,目标运动速度太快导致的边界效应,以及物体形变、物体被遮挡等,而目前基本都有了一定的解决办法。

目标跟踪算法大致分为两类模型,分别为生成类模型、判别类模型。下面依次介绍这两类算法的主要思想以及该相关类代表性的算法。
首先,生成类算法是先对选定的目标区域进行建模,然后对下一帧寻找与该类型最相似的区域,即为预测的跟踪目标所在区域。DAT和ASMS这两种算法是比较经典的生成类算法, 是基于颜色特征的,其帧率比较快,但是无法很好的解决目标形变的或者模糊所带来的影响。

接着,再介绍判别类算法,其主要思想是基于机器学习的,通过对第一帧进行分类处理,将选定的目标区域作为正样本,目标区域以外的部分作为负样本通过机器学习的方法去训练分类器,再用该分类器去检测下一帧,寻找下一帧的目标区域。该类算法具有代表性的有Struck[18]、TLD[19]。

而近些年来,相关滤波类和深度学习类是发展比较快速和流行的,并且性能较好的方法。

相关滤波类,主要思想是相关滤波器将输入特征回归为目标高斯分布来训练滤波器,其在场景中对目标区域产生高响应,对背景产生低响应,由此来判断目标的位置。其中CSK、CN、KCF[20]、 DCF、DSST是比较有代表性的经典的算法,速度明显碾压了之前的Struck算法,跟踪准确率也明显提高,但是其对目标的快速运动以及快速形变的跟踪效果并不理想。

另外近两三年,VOT(visual object tracking challenge)竞赛中霸榜的算法主要是向深度学习方面靠拢,逐渐超越了传统的方法。由于目标跟踪只是在首帧中选定目标区域,只提供一个训练数据,使得训练数据缺失导致基于深度学习的目标跟踪算法发展较为缓慢,但是近些年逐渐提出了一些新的思想方法来促进深度学习在目标跟踪方面的发展,比如利用普通的图片对深度模型进行预训练,利用目前已有的大量的分类数据集预训练的CNN分类网络提取特征以及利用递归神经网络。

算法方案选择

提出目标跟踪作者是基于OTB50、OTB100、VOT竞赛的标准数据集来衡量算法优劣的,而拓展到实际应用中,往往会出现各种各样的问题。

本实验通过测试DAT ,TLD,CFLB,CN,KCF这几个算法的跟踪质量以及耗时性,几个算法的理论速度都比较快,但是应用于视频拼接中,对运动目标的跟踪所耗费的时间差距几乎可以忽略不计,而对于跟踪质量,并不会体现出它们在OTB50、OTB100、VOT竞赛数据集上的差距。

DAT是基于颜色特征的生成类算法,虽然也比较经典,但是其对形变不敏感,当在视频监控中,跟踪目标若发生形变,跟踪失败的概率非常高。TLD作为长期跟踪的代表,本准备用来解决物体遮挡导致目标跟丢的问题,但是在实际运用中测试发现当目标被遮挡之后再次出现并不能准确回到目标上。CFLB是基于单通道灰度特征的,BACF是基于多通道HOG特征的,在用标准的benchmark测试时,两者速度相差132FPS,但是CFLB的效果远差于BACF和KCF,其牺牲了跟踪质量,极大地提高了跟踪速度,但是在本实验设计中由于跟踪效果极差不推荐使用。对于CN,KCF这两个相关滤波类的算法,理论分析上虽然存在差距,实际应用中,效果差距不大,都能准确跟踪目标,但是仍然无法解决物体遮挡导致漂移的问题。本实验使用比较传统的相关滤波类的KCF算法。实验设计采用的KCF算法,下面对该算法进行介绍。

KCF算法是目标跟踪领域里面的一种比较经典的算法,相关论文为《High-Speed Tracking with Kernelized Correlation Filters》[20],于2015年被牛津大学的Henriques发表于IEEE TPAMI,是CSK的改进版本,基于多通道的HOG特征,特征才是目标跟踪算法的关键。

KCF是相关滤波类算法,其主要思路为通过之前帧的目标信息训练一个相关滤波器,即目标检测器,之后输入的帧与该滤波器进行相关性计算,峰值响应最大的地方即为最可能的跟踪结果。并且利用将当前帧的跟踪结果继续纳入训练集去更新目标检测器。训练样本的正样本为目标区域,负样本为目标周围区域。
理论上,离上一帧的目标位置区域越近,则是这一帧的跟踪结果的可能性越大。训练相关滤波器的流程图如下图,
双摄像头的实时视频拼接及目标跟踪(六)_第1张图片

利用岭回归方法,最小化采样数据集的计算标签f(x)与目标位置的真实标签y的距离,简化为下式,
在这里插入图片描述

以前N帧的目标检测结果为训练集,利用高斯核进行岭回归和循环矩阵对角化以及傅里叶变换,求该相关滤波器。

KCF算法通过图片的矩阵循环,增加了训练的样本,而且是基于多通道HOG特征的,并且利用循环矩阵在傅里叶空间可对角化的性质将矩阵运算简化为了元素的点乘,大大的简化了运算降低了运算量,提高了速度。

图4-2为KCF在OTB数据集的效果,图4-3为KCF在实际运用中的效果

图4-2为KCF只在OTB数据集上的效果,绿框为人工标注过的准确的目标框,黄框为KCF算法的跟踪结果框,可以从图4-2(c)发现,当人发生形变时,即侧身之后仍能跟踪,但是黄色跟踪矩形框有点偏差,对于目标的尺度变化,KCF适应性一般,而对于目标的快速运动,将会出现边界效应,即下一帧中目标位置离寻找框太远,并且由于给样本加了余弦窗户,靠近边缘的部分损失了大量的目标信息,将导致漂移。

图4-3为KCF在实际生活中的运用,在图4-3(a)选定一个目标,当目标运动到图4-3(b)时,目标框仍准确跟踪,当目标运动到图4-3(c)位置时,经过了一棵小树的遮挡,跟踪框仍没有丢失。对于小物体的遮挡,只要其遮挡部分远小于运动目标,则不会造成目标丢失,并且在大场景下,对于快速运动的物体,弱化了其运动速度,减少了边界效应。

在实验时,自定义跟踪目标的矩形框尽量要框住目标的有用信息,尽可能不要选中太多的背景冗余信息,将会逐帧造成累积误差,导致产生许多错误的训练样本,从而造成所求得的相关滤波器不准确,,使得目标跟踪失败。

你可能感兴趣的:(视频实时拼接)