TLD目标跟踪算法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Tracking-Learning-Detection目标跟踪算法liangshuaiUESTC目录•TLD算法简介•TLD框架结构•P-NLearning•TLD算法实现目录•TLD算法简介•TLD框架结构•P-NLearning•TLD算法实现TLD算法简介TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生ZdenekKalal在2012年7月提出的一种新的单目标长时间跟踪算法。该算法与传统跟踪算法的显著区别在于将传统的跟踪算法和传统的检测算法相结合来解决被跟踪目标在被跟踪过程中发生的形变、部分遮挡等问题。同时,通过一种改进的在线学习机制不断更新跟踪模块的“显著特征点”和检测模块的目标模型及相关参数,从而使得跟踪效果更加稳定、鲁棒、可靠。目录•TLD算法简介•TLD框架结构•P-NLearning•TLD算法实现TLD框架设计TLD是一个用于针对视频中未知物体长期跟踪的架构。简单来说,TLD算法由三部分组成:跟踪模块、检测模块、学习模块。跟踪模块是观察帧与帧之间的目标的动向。检测模块是把每张图看成独立的,然后去定位。学习模块将根据跟踪模块的结果对检测模块的错误进行评估,生成训练样本来对检测模块的目标模型进行更新,避免以后出现类似错误。TLD结构特点TLD跟踪系统最大的特点就在于能对锁定的目标进行不断的学习,以获取目标最新的外观特征,从而及时完善跟踪,以达到最佳的状态。也就是说,开始时只提供一帧静止的目标图像,但随着目标的不断运动,系统能持续不断地进行探测,获知目标在角度、距离、景深等方面的改变,并实时识别,经过一段时间的学习之后,目标就再也无法躲过。TLD技术采用跟踪和检测相结合的策略,是一种自适应的、可靠的跟踪技术。TLD技术中,跟踪器和检测器并行运行,二者所产生的结果都参与学习过程,学习后的模型又反作用于跟踪器和检测器,对其进行实时更新,从而保证了即使在目标外观发生变化的情况下,也能够被持续跟踪。目录•TLD算法简介•TLD框架结构•P-NLearning•TLD算法实现P-NLearning模块介绍P-NLearning——TLD架构的学习模块。学习模块的目的是为了提高检测器的性能。学习器是一个在线的过程。在视频流的每一帧中,我们希望能够评估当前检测器,确定出其错误并及时更新以避免将来出现类似错误。P-N学习的主要思想就是检测器的错误能够被两种类型的专家(P-experts和N-experts)标识出。P-experts仅识别错误的负样本,N-experts仅识别错误的正样本。当然,P-N专家自身也有可能会发生错误,但是,他们的相互独立性又能够相互弥补双方的错误。P-N学习公式化x是特征空间X的一个样本,y是标签空间Y的其中一个标签,Y={-1,1}。在一组例子里,X被称为未被标记的样本集合,Y称为标签集合。L={(x,y)}称为被标记集合。P-N学习的任务就是学习训练得到这样一个分类器f:X—Y根据已标注的数据集Ll来自引导地把未标记样本Xu变为标记样本。分类器f为一个来自于由参数θ参数化的函数族F的函数,训练过程主要就和参数θ的估计相关连。P-N学习的输入是一个标记集合Ll和一个未标记集合XuP-NLearning结构特点P-N学习主要包括四个模块:(1)一个待学习的分类器(2)训练样本集——一些已知类别标签的样本(3)监督训练——一种从训练样本集中训练分类器的方法(4)P-Nexperts——在学习过程中产生正、负样本的函数P-N学习最重要的部分是分类器的错误估计。关键的想法是把假的正样本和假的负样本分别独立的处理,每一部分由一个独立的专家分析(P专家或N专家)。P-experts将那些被分类器错误标记为负样本的样本,赋予“正”的标签,并添加到训练样本集中N-experts则将那些被分类器错误标记为正样本的样本,赋予“负”的标签,并添加到训练样本集中P-NLearning模块图(),()kk(1),(1)kkP-NLearning迭代机制()()falsepositivekflasenegativekP-experts第K次迭代产生正样本数:()()()cfnknknkN-experts第K次迭代产生负样本数:()()()cfnknknk第K次迭代前错误的样本数:(1)()()()cfkknknk(1)()()()cfkknknkP-NLearning性能指标•P-precision•P-recall•N-precision•N-recall/()ccfPnnn/cRn/()ccfPnnn/cRn1()()1()(),ffccPRknRkPPRknRkPnn(1)(1)(1)()()(1)(1)()(1)()PkRkRkPPkRkRkPP-NLearning的收敛和稳定我们定义:()[()()]Txkkk1111PRRPMPRRP于是就得到迭代等式:(1)()xkMxk过渡矩阵M的特征值为:当特征值都小于1时,向量收敛到0x12,12,P-NLearning的收敛和稳定P-NLearning的运行机制b)中待检测目标在一个视频帧中可能同时出现在好几个区域,并且待检测目标在相邻视频帧之间的运动没有连续性c)中每个视频帧中,目标只可能出现在一个区域,并且,相邻视频帧之间检测到的目标区域是连续的,构成了一个目标的运动轨迹。这种性质,我们称之为“结构性”P-N学习的关键就是找到这种结构性的数据,从而来判别检测模块所产生的错误标签。P-NLearning的运行机制由上例我们可以看出:P-experts寻找视频序列中的时域上的结构性特征,并且假设目标是沿着轨迹线移动的,P-experts记录目标在上一帧中的位置,并根据帧与帧之间的跟踪算法来预测目标在当前帧中的位置。如果检测模块将跟踪算法预测到的目标在当前帧中的位置标记为负标签,那么P-experts就产生一个正的训练样本。N-experts寻找视频序列中的空间域上的结构性特征,并且假设目标在一个视频帧中只可能出现在一个位置。N-experts对检测模块在当前帧中的所有输出结果以及跟踪模块的输出结果进行分析,并找到具有最大可能性的那个区域。当前帧中所有目标可能出现的区域当中,如果某个区域同最大可能性区域之间没有重叠,就将其认定为负样本。另外,具有最大可能性的那个区域,被用于重新初始化跟踪模块。P-NLearning的运行机制p-experts产生错误的正样本N-experts找到目标最可能位置目录•TLD算法简介•TLD框架结构•P-NLearning•TLD算法实现综合框图一些基本定义在任意时刻,被跟踪目标都可以用其状态属性来表示。该状态属性可以是一个表示目标所在位置、尺度大小的跟踪框,也可以是一个标识被跟踪目标是否可见的标记。目标的形状采用图像片p来表示,每一个图像片都是从跟踪框内部采样得到的,并被归一化到15*15像素的大小两个图相框pi,pj的相似度:,0.5,1ijijSppNCCpp目标模型目标模型是一个代表迄今为止观测到的被检测目标及其周围背景的数据结构,它是一系列正样本和负样本的集合1212,,...,,,,...,mmMpppppp任意给定一个图像片P和目标模型M,我们定义几个量化指标:(1)正样本最近邻相似度(2)负样本最近邻相似度(3)前50%正样本的正最近邻相似度(4)相关相似度(5)保守相似度,max,iipMSpMSpp,max,iipMSpMSpp50%2,max,imipMiSpMSpprSSSS50%50%cSSSS目标模型最近邻分类器(NearestNeighborclassifier):在TLD算法中,相似度()被用于指出一个任意的图像块和目标模型中的部分有多大的相似crSS,相关相似度用来定义最近邻分类器——如果NNrMpS),(那么图像块P被分类为正样本目标模型更新为了把一个最新被标注的图像块整合到目标模型,我们采用如下策略:只有当最近邻分类器估计出的标签和P-N专家估计出的标签不一致时,才将这个图像块加入到目标模型中。定义分类边缘:NNrMpS),(对于一个图像片,如果分类边缘小于一个值,那么就把这个图像块添加到目标模型中。目标检测器检测器通过一个扫描窗口来扫描输入图像,然后判断出每一个图像块有没有目标。扫描窗口参数设置为:缩放比例的步长系数为1.2,水平步长是宽度的10%,垂直步长是高度的10%,最小的扫描窗口大小为20个像素。这样一来,对于大小为320*240的图像来说会产生约5万个图相框。这是一个非常巨大的数字,如果没有非常有效的分类器,计算运行将十分缓慢。级联分类器(Cascsdedclassifier)考虑到需要处理矩形框的数量太大,每一个图像块的分类都必须非常有效。我们把分类器划分为三个模块:目标检测器(1)图像片方差检测模块(PatchVariance)(2)集成分类器(EnsembleClassifier)(3)最近邻分类器(NNClassifier)目标检测器•PatchVariance(图像片方差检测模块)这个分类器模块去除所有像素方差小于被跟踪图相框像素方差50%的图相框方差22EpEp•EnsembleClassifier(集成分类器)经过图像片方差检测之后未被去除的图相框进入集成分类器。集成分类器又可以分成n个基本的分类器。每个基本的分类器i进行像素的比较,产生一串2进制的代码x,这串2进制代码指向一个后验概率Pi(y|x)y属于{0,1},所有基本分类器产生的后验概率会被平均,集成分类器就把平均后验概率大于50%的图相框认为是包含目标的图相框。•NNClassifier(最近邻分类器)图相框P就被认为是包含目标的图相框NNrMpS),(跟踪器TLD算法的跟踪模块(Tracker),是一种在名为中值流跟踪(Median-Flowtracker)的跟踪方法基础上增加了跟踪失败检测算法的新的跟踪方法。中值流跟踪方法利用目标框来表示被跟踪目标,并在连续的相邻视频帧之间估计目标的运动。中值流跟踪方法:在上一帧的目标框中选择若干个像素点作为特征点,在下一帧中寻找上一帧中的特征点在当前帧的对应位置。然后将这若干个特征点在相邻两帧之间的位移变化进行排序,得到位移变化的中值,利用该中值,得到小于中值50%的特征点,将这50%的特征点作为下一帧的特征点,并依次进行下去。在TLD算法中,原作者将10*10的格子中的像素点作为初始特征点,并利用金字塔LK光流法来在连续的相邻视频帧之间估计若干特征点的运动。跟踪器跟踪模块的跟踪失败检测算法:中值流跟踪算法的前提假设是目标是可见的,所以当目标完全被遮挡或者消失于视野,则不可避免地出现跟踪失败。为了能够解决这些问题,我们采用如下策略:让表示其中某一个点的移动位移,表示位移中值,则残差可定义为。如果残差大于10个像素,那么就认为跟踪失败。这个策略能够很稳定地就确定出由剧烈移动或者遮挡所造成的跟踪失败。idmdimdd综合器综合器(Integrator)把检测器和跟踪器得到的目标框予以综合,并作为TLD最后的输出。如果跟踪器或者检测器都没有得到目标框,那么就认定当前帧中被跟踪目标没有出现的,否则,综合器将具有最大保守相似度的图像片作为最终的目标框所在位置。谢谢观赏!

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功