TLD算法介绍,TLD论文翻译
http://www.thinkface.cn/thread-3119-1-1.html
(出处: thinkface论坛)
跟踪-学习-检测
摘要:这篇论文研究了视频流中未知目标的持久跟踪。目标是通过某一帧的位置范围(如矩形框)来定义的。在后续帧,任务就是确定目标框或者指示目标是不可见的。我们提出一个新奇的跟踪框架(TLD),其将持久跟踪任务分解为跟踪、学习、检测三部分。跟踪器用于帧间跟踪目标,检测器根据以前的外观模型来检测目标,并适时初始化跟踪器。学习器评估检测器的错误并更新,来避免以后发生相同的错误。我们研究怎么来确定检测器的错误,并从错误中学习。我们提出了一个新奇的学习思想(PN学习),其通过一对‘专家’来评估错误:(i)P专家评估错误的检测;(ii)N专家评估虚警。学习过程被建模为一个离散的动态系统,并且发现了这个学习过程保证其功能实现的条件。我们阐述了TLD算法的实现与PN学习。通过大量的定量评估,证明了其比现有的算法性能更突出。
关键词:持久跟踪,视频学习,bootstrapping,实时,半监督学习
1 引言
考虑一个便携式照相机拍摄的视频流,各种不同的物体出入视场。在某帧用一个目标框来定义感兴趣的目标,我们的目标就是在后续帧能自动的确定边界框或者指示出目标在后续帧是不可见的。在帧频流中处理,这个进程持续未知的时间,我们定义这一任务为持久跟踪。
为实现目标的持久跟踪,需要解决一些问题。主要的问题是当目标重新出现在视场内时的检测。事实上,目标还会发生形变,使得其外观模型与初始帧不相关,从而加重了检测问题。所以,一个成功的持久跟踪器应该能够处理尺度和光照变化、背景杂波、局部遮挡以及实时性问题。
持久跟踪可以用跟踪或者检测来达到。跟踪算法估计目标的运动,跟踪器在初始化后即可快速产生平滑轨迹。另一方面,其实时过程中产生累计误差(漂移),当目标在视场中消失的时候跟踪失败。跟踪算法的研究致力于提高持久鲁棒性。跟踪的失败不是直接处理。基于检测的算法在每帧独立的估计目标位置。检测器不会发生漂移,在目标消失时不会失败。然而,其需要一个离线训练过程,因此不能检测目标的不明状态。
研究的出发点是基于跟踪与检测都不能单独解决持久跟踪任务的事实上。然而,如果两者结合,可以利用两者优点来处理。跟踪器可以提供弱标签的训练样本数据给检测器,提高其性能。检测器可以初始化跟踪器,最小化跟踪误差。
文章的第一个贡献是TLD框架的设计,其将持久跟踪分为3个子任务:跟踪、学习、检测。每个子任务各自进行且互相干涉。跟踪器帧间跟踪目标,检测器根据目标模型中定位当前帧的目标,并且需要时修正跟踪。学习器评估检测器的错误,更新检测器的目标模型来避免以后发生相同错误。
虽然存在这许多的跟踪与检测算法,但我们却不清楚哪种学习思想可以适合TLD框架。这种学习思想应该(i)处理跟踪频繁失败的复杂场景视频流(ii)视频流不包含相关信息时,不要退化检测器的作用(iii)具有实时性。
面对这些挑战,我们依赖于视频流中包含的信息。比如,某帧指示目标位置的单一图像块(patch)。这个图像块不仅定义了目标的外观模型,而且确定了周围背景外观的图像块。在跟踪过程中,可以发现目标的不同的外观模型,同时也可以得到更多的背景模型。这与标准的机器学习(样本被认为是独立的)不一样[1]。这提供了一个有趣的问题,如何有效的在学习模块利用视频的有用信息。
文章的第二个贡献是新的学习范例,即PN学习。检测器在每帧中都被估计。其结果通过两个‘专家’来分析:(i)P专家识别错误的检测结果,(ii)N专家识别虚警。这个错误评估增加了检测器的样本集数量,且再次训练检测器来避免再次出现相同的错误。PN专家也会出现错误。然而,如果专家发生错误的可能性给予一定限制,学习过程还是有效的。
第三个贡献是实现。我们证明如何建立一个基于TLD框架与PN思想的实时持久跟踪系统。这个系统在视频流中实时跟踪、学习、检测目标。
第四个贡献是基于基本数据库的现有算法的大量评估。因此,我们收集标注了更多新的具有挑战性的数据库,该算法相比于现有的算法获得了显著的提高。
文章结构组织如下。第2节温习持久跟踪相关的工作,第3节引出TLD框架,第4节继续PN学习。第5节评价TLD算法的实现,第6节执行一系列的对比实验。这篇文章以其贡献和未来研究建议结尾。
2.相关工作
这一节温习TLD算法每部分的相关方法。2.1节温习目标跟踪,重点在在线学习的鲁棒性跟踪。2.2节讨论目标检测。最后,2.3节温习目标检测器训练的机器学习的相关方法。
2.1 目标跟踪
目标跟踪的任务是目标运动的预测。典型的跟踪器假设目标在序列图中是可见的。各种实际中的目标表示有如:点[2、3、4],铰接模型[5、6、7],轮廓[8、9、10、11],或者光流[12、13、14]。我们的方法的重点是在相邻帧之间通过矩形框描述目标,以及在相邻帧间估计其运动,也就是所谓的帧帧间的跟踪。模板跟踪是这种情况下最简单的方法。通过一个目标模板(图像块,颜色直方图)来描述目标,其运动被定义为目标模板与候选目标之间比例的最小化的转变。目标跟踪有静态的[15](目标模板不变),或者自适应的[2、3](目标模板是从上一帧提取的)。两者结合的思想的跟踪方法也被提出了[16、17、18],还有识别目标的可靠部分[19、20]。由于模板只能表示目标的单一外观特征,其限制了建模的能力。生成式模型不仅可以离线建立[21],而且可以在实时中建立[22、23]。这种跟踪算法只能对目标外观进行建模,当有杂乱背景时经常失败。为了处理这个问题,最近的跟踪器也能够对运动目标的周围环境建模。两种经常使用的环境建模方法。第一,在背景中搜索与感兴趣的目标相关次优的目标[24、25]。当感兴趣的目标从视场中消失或者发生了大的变化,这些次优目标能有助于跟踪。第二,环境背景被认为是负类别,跟踪器需要判决。基于判决式的跟踪器的一个通用的方法是建立一个代表目标与背景之间决策边界的二分类器。静态判决式跟踪器[26]跟踪前训练一个目标分类器,这限制了其只能是已知目标。自适应判决式跟踪器[27、28、29、30]跟踪过程中建立一个分类器。其本质阶段是更新阶段:在当前目标的近邻域采样正样本,远离目标位置采集负样本,用来更新每帧的分类器参数。这种更新策略已经解决了较大形变、长时间遮挡、杂波背景等情况下的跟踪问题。然而,这些方法也会产生目标漂移,且如果目标长时间离开视场则会失败。为解决这些问题,跟踪分类器的更新已经被初始帧训练时的分类器约束[31],或者通过训练一对独立的分类器[32、33]。
2.2 目标检测
目标检测的任务就是完成对输入图像的目标定位。目标有各种定义。可以是单一的示例也可以是目标整体。典型的检测方法是基于局部图像特征[34]或者滑动窗口[35]的。基于特征的方法通常有以下几个步骤:(i)特征检测(ii)特征识别(iii)模型拟合。通常利用平面[34、36]或者3D模型[37]。这些算法已经成熟并且在低功率器件[38]情况下实时,而且可以检测多目标[39、40]。主要的优缺点是图像特征的检测和要求预先知道目标的形状。基于滑动窗的方法[35],通过一个尺度可变的窗口在输入图像中扫描,判断是否含有潜在目标。对于QVAG标准的序列图,每一帧都可以得到大概50000帧图像块。为增加实时性,基于滑动窗的检测采用了所谓的级联器结构[35]。事实上背景比目标多的多,每个分类器拒绝一些背景图像块,这通常可以快速评价。典型的这类分类器的训练要求大量的训练样本和训练阶段的复杂运算量,才可以找出目标与背景的决策边界。一种变换的方法是将目标建模成一些模板的集合。在这种情况下,学习器就是增加模板[41]。
2.3 机器学习
检测模块中,通常假设所有的训练样本是有标签的。对于从少量标签样本和大量未标签样本来训练分类器,这种假设过强。这个问题被定义为半监督学习[42,43],其利用了标签与未标签样本。这些典型的方法假设样本独立同分布的数据具有某种性能,比如特征空间的聚类性。过去提出的类似假设的大量算法有EM,Self-learing,Co-traning。
期望极大化(EM)是一种生成式方法,其从未标签数据中得到模型参数的估计。EM是一个迭代进程,假设是一个二分类,通过不断的估计未标签数据的弱分类来训练分类器。EM成功的应用在文本分类[44]和目标类别的学习上[45],在半监督学习的术语上,EM算法是基于低密度分类假设[42],意思就是数据集很好的分开了。EM某种程度上是自我学习[43]的一个版本。
Self学习初始时从标签样本集中训练初始化分类器。分类器分数最大的样本被加入训练集,重新训练分类器。这是一个迭代进程。Self学习应用在人眼检测上[46]。然而,研究发现当通过独立测量来选择未标签样本时检测性能提高。低密度分类假设不满足于目标检测,而其他的一些方法可能更好。
Co-traning[1]是一种建立在独立分类器可以互相训练的思想的学习方法。为形成独立的分类器,Co-traning假设存在两个独立的特征空间。使用标签数据对初始化分类器,两个分类器作用于未标签数据。第一个分类器中最大得分的样本加入第二个分类器,反之亦然,迭代至得到结果。Co-traning在独立形态的问题中表现较好,如文本分类[1](文本与超链接)或者生物识别系统[47](外形与声音)。在视觉检测中,Co-traning应用在监控汽车[48]和运动目标识别上[49]。Co-traning对于目标检测是次优的,由于样本(图像块)从单一形态中采样。单一形态提取的特征是不独立的,因此违反了Co-traning的假设。
2.4 最相关的方法
许多方法某种程度上结合了跟踪、学习、检测。在[50]中们使用离线训练的检测器来验证跟踪轨迹,如果轨迹无效,全局搜索来检测到目标。其他的方法还有通过粒子滤波整合检测子,这类方法应用与低帧频图像的人脸跟踪[52],多冰球运动员[53],行人[54,55]。与TLD算法相比,这些方法依靠离线训练的检测器,在实时运行中性能不改变。自适应判决式跟踪[29-33]也是结合了跟踪、学习、检测。这些方法通过在线学习的检测器(从背景中分离出目标)实现跟踪。也就是说,单一的进程代表跟踪与检测。而TLD的跟踪与检测部分是干涉且通过在线学习改变信息。为使得跟踪与检测分开,TLD不必屈服于跟踪与检测的性能。
3 跟踪-学习-检测
TLD框架可以实现视频流中的位置目标的持久跟踪。其框图如图2。框架部分如下:跟踪器估计相邻帧目标运动,假设两帧之间的目标运动是微小的且目标是可见的。当目标出视场后,跟踪失败且不可恢复。检测器认为帧帧间是独立的,在每帧图像中全局搜索到目标模板中存在的目标外观。检测器发生两种错误:正样本错误和负样本错误。学习器评估检测器的错误,生成训练样本避免这类错误不在发生。学习器假设跟踪与检测都会失败。借助于学习器,检测器生成更多的目标外观。
4 PN学习
这一节研究了TLD框架的学习部分。目标是提高检测器的性能。在每一帧,我们希望评估当前检测器,确定错误并更新来避免再次发生。PN学习的关键在于检测器错误可通过两种‘专家’来标识。P专家识别错误的负样本,N专家识别错误的正样本。两种专家也会发生错误,然而其独立性使得错误可以互相补偿。
4.1节将PN学习认为是半监督学习方法,4.2节间PN学习建模为一个离散的动态系统,学习可以提高检测器性能的条件。4.3节做了一些实验。4.4节将PN学习应用与训练检测器,提出了实际意义上专家。
4.1形式化
x是特征空间X的一个样本,y是类别Y={-1,1}中的一个类别。L={(x,y)}叫做标签样本集。PN学习模块的输入时一个标签数据集
和未标签数据集
,l《u。PN学习的任务是从标签数据集中学习一个分类器f:X—>Y,通过未标签数据来增加其分类性能。分类器f是一个参数为的函数F。F在训练过程中不变,因此训练器与的估计有关。
PN学习包含四个步骤:(i)需要学习的分类器(ii)训练集—标签数据集(iii)监督训练—从训练样本集中训练(iv)PN专家—学习过程中生成正负样本的功能,演示如图3。
训练过程通过往训练集中插入标签集L初始化。对训练样本进行半监督学习(训练分类器),也就是估计初始参数ϴ0,。学习进程通过迭代递推。在k时刻,通过先前的未标签样本来训练分类器,
。通过P专家来分析分类结果,P专家纠正那些分类错误的结果。这些标签改变的样本添加进训练集中。迭代在重新训练分类器时结果,也就是ϴk,的估计。迭代终止于收敛点或者其他停止准则。
PN学习的关键是分类器错误的估计。主要的思想是把错误的正样本与错误的负样本分开。为此,未标签样本集基于当前分类器被分成两个类,每类通过独立的专家来分析,P专家处理被分类为负样本的样本,估计错误的负样本并将其作为正样本加入训练集中。K时刻,P专家输出n+(k)个正样本。N专家处理被分类为正样本的样本,估计错误的正样本并将其作为负样本加入训练集中。K时刻,N专家输出n-(k)个负样本。P专家提高鲁棒性,N专家提高分类器的判别能力。
监督自助法。
集类别标签未知。基于这个假设,可以直接识别错误的样本并将其以正确的标签添加到训练集中。这种方法叫做监督自助法[56],用这种方法来训练分类器的重点在于决策边界,其性能胜过随机采样训练[56]。基于决策边界的同样的方法为PN学习提供了基础,不同的是PN学习的样本集
未标签。因此,PN学习被视为标准自助法的一般化,其是通过PN专家来标签分类的。和其他处理过程一样,PN专家也会在正确估计标签上发生错误。这类错误在训练中传递,下面对其进行理论分析。
4.2 稳定性
这一节分析PN学习对分类器性能的影响。假设一个抽象的分类器(如最近邻分类器),其性能通过
来测量。分类器初始随机分类未标签样本集,然后通过PN专家修正分类结果。为分析,考虑
标签未知。这使得可以测量分类器误差和PN专家误差。这类分类器的性能以大量的错误正样本
和错误负样本
为特征,其中k表示训练过程的迭代数。
在第k次迭代时,P专家输出
个正确的正样本,
个错误的正样本,总共
个被负样本被改变为正样本。同样的,N专家输出
个正确的负样本和
个错误的负样本,总共
个正样本被改变为负样本。下一次迭代过程中,分类器的错误,即错误的正样本与负样本的是:
(1a)
(1b)
等式(1a)表明,如果
(也就是正确修正为负样本的样本数量大于错误修正为正样本的样本数量),那么错误的正样本
减少。同样的,错误的负样本
减少,如果
。
定量措施。为分析PN学习的收敛,需要建立一个模型,其与每次迭代过程中,PN专家的绝对正负样本输出数量的有关。PN专家的性能以四个定量测量方法为特征:
*P精度--正样本标签的可靠度,也就是正确正样本的数量被P专家所有的正样本输出的数量除,即
*P recall--确定的错误负样本错误率,也就是正确正样本数量除以所有输出负样本的数量,即
*N精度--负样本的可靠度,也就是正确正样本的数量除以N专家的所有输出正样本数量,即
*P recall--确定的错误正样本错误率,也就是正确负样本数量除以所有输出负样本数量,即
给出这些定量测量,k次迭代过程中,P专家的正确与错误样本输出数量有如下形式:
结合1a,1b,2a,2b,获得如下等式
定义状态
,和一个2*2矩阵M如下
等式重新写为:
这是一个递归的等式,类似于一个离散动态系统。这个系统表明分类器的错误是如何在PN学习的某次迭代到下次迭代时中传递的。我们的目标是找出这个系统错误下降的条件。
基于动态系统的完整理论[57,58],状态向量
收敛到0,如果矩阵M的本征值
小于1.注意矩阵M是一个专家定量测量的函数。因此,如果定量措施知道了,可以确定学习的稳定性。矩阵M的本征值小于1,那么该专家可以消除错误。图4演示了当
时(i)
(ii)
(ii)
分类器的错误。
上面的分析中,定量措施不变整体可分离。实际中,不可能确定所有分类器的错误。因此,训练不会收敛到更少错误的分类器,而是使其稳定在一定程度上。假设定量措施不同,性能在矩阵M的本征值小于1的迭代过程中收敛。
4.3 模拟专家的实验
在实验中,使用模拟专家基于实际的序列图来训练一个分类器。我们的目标是分析专家定量测量函数的学习性能。
分析实施在Car序列上(图12)。在初始帧,首先通过对目标块进行仿射变化,通过目标与背景的图像块来训练一个随机森林分类器。然后,在每一帧,评估分类器,专家识别错误,更新分类器。每次更新后,通过f措施来评估分类器。
PN专家以四个定量准则
为特征。为减少这种四维孔家,参数设为
,其中
表示专家的误差。传递函数变为2*2矩阵M的元素变为1。其本征值是0与
。因此,在
时,PN学习可以提高分类器性能。
专家模拟如下:在k帧,分类器生成
个错误负样本,P专家随其中的
个重新标签为正样本。为达到要求的精确度
,P专家对
个背景样本重新标签为正样本。因此,所有的重新定义为正样本的数量是
,N专家类似。
检测器的性能如图5。注意,当
时,检测器的性能随着训练样本增多提高。通常,
时,结果不稳定,噪声的增加导致会导致分类器的退化,这与PN学习理论是一致的。
4.4设计真正的专家
这一节将PNPN学习应用从一标签帧与视频流数据训练目标检测器中。检测器包括二分类和扫描窗以及与图像块相关的训练样本。标签样本
从标签帧中提取。未标签数据
从视频流中提取。
PN学习通过监督训练初始化,所谓的初始检测器。在每一帧,PN学习执行如下三个步骤:(i)当前帧检测结果的评估(ii)使用PN专家估计检测器误差(iii)专家输出标签样本更新检测器。学习结束获取检测器,即所谓的最终检测器。
图6(a)显示了覆盖扫描网格的视频序列中三帧图像。每一个矩形框描述了一个图像块,其标签用(b,c)中彩色点表示,每一个基于扫描窗的检测结果的图像块都是独立的。因此,每帧有
个可能的标签组合,其中N是网格中矩形框的数量。图6(b)显示了这些标签,标签显示了目标在某帧中出现的一些位置,以及在运动中不具有时间连续性。这些标签是不正确的,另一方面,如果检测器输出结果如图6(c)所示,目标每帧值出现在一个位置,且检测位置建立成随时间的平滑轨迹,那么目标是可信的。也就是说块的标签是独立的。将这种性质定义为‘结构’。PN专家的关键思想就是利用数据的这种结构来识别检测器错误。
P专家利用时间结构,假设目标的运动轨迹是平滑的。P专家记住前一帧的目标位置并使用帧间跟踪器来估计当前帧目标位置。如果检测器将当前位置定义为负样本(也就是发生了错误负样本的错误),P专家生成一个正样本。
N专家利用空间的结构,加深目标在某帧仅可能出现在一个位置。N专家分析检测器、跟踪器在当前帧的所有响应,选择一个最优的作为目标位置。与该位置没有一定重叠的块被定义为负样本。然后用目标位置初始化跟踪器。
图7描述了3帧的序列图,目标是黄色框内的car。跟踪器对汽车进行帧间跟踪。跟踪器代表了P专家,由于遮挡,P专家在t+2帧输出错误的正样本。N专家确定了最优的图像块(红色部分),并且把其余部分定义为为负样本。N专家在t+2帧修改了这一错误。
5 TLD的实现
这一节描述了TLD框架的实现。模块图如图8。
5.1 基本知识
任何时刻,目标用其状态来表示。状态可以是矩形框或者一个标志(标志目标是否存在)。矩形框固定高宽比(初始框给出),参数是位置与尺度。其余参数如平面旋转不考虑。两个矩形框的空间相似度用重叠度度量,其定义为两个块的交集与并集的比。
目标外观用图像块p来表示。其是从图像中采样的目标矩形框,然后将其归一化为分辨率为15*15像素块,两个块
的相似度定义为:
(5)
其中,NCC是标准相关系数。
目标状态的序列定义为视频流中目标的一条轨迹,或者是特征空间中的相关轨迹。注意,这条轨迹会断开,因为目标可能是不可见的。
5.2 目标模型
目标模型M是一个数据结构,其代表以往帧的目标与背景集。其是正负样本块的集合,
,其中
和
代表目标与背景块。给出一个p和目标模型,定义以下几个准则:
1)正样本最近邻相似度:
2)负样本最近邻相似度:
3)50%正最近邻相似度:
)
4)相关相似度:
取值范围是0-1,值越大,越可能是目标
5)保守相似度:
取值范围0-1,值越大到哪图相片越可能是最近邻正样本中最可能的那50%。
最近邻分类器。使用相似准则
表明任一图像块与目标模型的相似度。相关相似度用来定义一个最近邻域分类器。如果
,图像块p被分类为正样本,否则为负样本。
代表分类盈余。
模型更新。我们采用如下的策略来将一个新的赋予标签的图像块添加到目标模型当中:当最近邻分类器赋予的标签与PN专家赋予的标签不一样时,才将这一图像块加入目标模型集中。但这使得添加到目标模型集中的样本减少。因此,如果
时,也将其添加到目标模型中。显然,
越大,添加的图像块越多,也就能得到一个更好的分类决策边界。这里讲其设置为0.1,是个经验值,是为了在目标模型的更新速度和精度之间得到一个很好的平衡。
5.3 目标检测
检测器采用扫描窗口对每个视频帧进行处理,并给出是否含有检测目标。
扫描窗网格。为生成所有的可能尺度和偏移,擦抹手机设置如下:尺度缩放系数为1.2,水平方向的步长是宽度的10%,垂直方向的步长是高度的10%,最小扫描窗口大小为20个像素。对于320*240的视频来说,这产生了大概50K个矩形框,,精确的数目取决于初始框的宽高比。
级联分类器。矩形框数量巨大,每个单一块的分类必须十分高效。如图9,我们将分类器分为三个阶段:(i)方差(ii)集合分类器(iii)最近邻分类器。每个阶段拒绝了一定的块。在我们先去的工作中[59],我们只使用了两个两个阶段。最近,我们发现,第三个阶段有利于提高性能。目标匹配可以更可靠的检测。
5.3.1 方差分类器
方差分类器是第一步。这个阶段拒绝方差小于目标块方差50%的图像块。方差可表示为
,并且
可以通过积分图来计算[35]。这个阶段拒绝了50%的非目标块(如天空,街道)。方差的阈值约束了目标的外观发生很大改变。然而,参数可调。我们实验中,方差阈值是常数。
5.3.2 集合分类器
这是检测器的第二个阶段。通过方差分类器的图像块作为这个阶段的输入。集合分类器包含n个基本分类器。每一个分类器i用一系列的像素比较来得到图像块的二进制编码x,索引到一个后验概率数组
,其中
。取后验概率的平均值,将后验概率大于50%,就认为当前块包含有目标。
像素比较。每一个基分类器是基于像素比较对的。和[60,61,,62]相似,像素对离线随机产生并保持不变。首先,通过标准差为3的高斯核函数对图像进行平滑滤波降噪。然后,在图像内部生成13个像素比较对。每个像素对返回0或1,编码成x。
生成像素对。集合分类器的核心是基分类器的独立性[63]。首先,将归一化的图像块的像素位置空间离散化,生成所有可能的水平与垂直像素比较对。然后,我们??
后验概率。每个基分类器i得到一个后验概率
。分布范围是
,其中d是像素对数目,这里是13,共有8192种可能的编码。后验概率是
,其中#p,#n是正负样本的数目。
5.3.3 最近邻分类器
经过前两个阶段后,剩下了大约50个矩形框。因此,我们可以使用在线模型通过最近邻分类器来分类。当
时,判定为目标,
。参数是个经验值。
5.4 跟踪器
TLD的跟踪部分是基于中值流跟踪[64]和错误估计的。中值流跟踪方法用一个矩形框来表示目标,在相邻帧间预测运动。简单来说,在上一帧的目标框中选择若干像素点作为特征点,在下一帧中寻找其在当前帧对应的位置。然后将这若干个特征点在相邻两帧之间的位移变化进行排序,得到位移变化的中值,利用该中值,得到小于中值的50%的特征点,将这50%的特征点作为下一帧的特征点,并以此进行下去,就实现了动态更新特征点的目的。在TLD算法中将10*10的网格中的像素点作为初始特征点,并利用金字塔LK光流法来跟踪[65]。使用两级金字塔,用10*10块来提取特征点。
失败检测。中值流跟踪假设目标可见,因此,当目标完全遮挡或者出视场后不可避免的失败。为应对这些情况,采用如下策略:
代表中值流跟踪中某一点的位移,
代表所有位移的中值。定义位移的残差为
。如果其大于10那么,跟踪失败。这种策略可以很好的发现由于被跟踪目标移动过快或者迅速被遮挡而造成的跟踪失败。位移是分散的,残差迅速增加(10是个经验值)。如果系统检测到跟踪失败了,是不会返回目标框的。
5.5 综合模块
综合模块将检测模块与跟踪模块得到的目标框予以综合,如果检测模块和综合模块都没有得到目标框,就认定当前帧中没有目标。否则,就将具有最大保守相似度的那个座位最终目标框位置。跟踪器与检测器同时作用,不管他们在预测目标状态上有什么不同。检测器检测到往往是模型中已有的,而跟踪器可能给目标模型带入新的数据。
5.6 学习模块
学习模块的任务是初始帧初始化检测器,并在实时过程中用PN学习更新目标模型。
5.6.1 初始化
在第一帧,学习模块利用下面的方法生成带标签的样本来训练一个初始检测器。正样本是在目标框中合成的。首先,我们选择距离初始的目标框最近的扫描窗口内选择十个矩形框。对每个矩形框,利用几何变换生成20个仿射的矩形框(就是进行1%的偏移、1%的尺度变换、10%的平面旋转),并加入方差5的高斯噪声。得到了200个合成的正样本。负样本块是从初始框周围选取的。标签样本按5.2节的讨论来更新模型,并按5.3节来更新几何分类器。初始化后,检测器在实时运行过程中,通过PN学习来更新。
5.6.2 P专家
P专家的目标是发现目标的新外观,因此提升了检测器的性能。4.4节告诉我们P专家利用了目标以一条平滑的轨迹运动并将轨迹中的位置最为正样本加入目标模型中的事实。最终,在TLD系统中,轨迹是由检测、跟踪以及整合部分生成的。这个轨迹不是一直都正确,P专家的挑战就是识别可靠轨迹可靠部分,用其来生成正样本。
为识别轨迹的可靠部分,P专家的工作依靠目标模型M。如图11,用特征空间的彩色点表示目标模型。红色点表示正样本,用曲线表示其轨迹,负样本是黑色的点。用保守相似度可以定义特征空间的一个子集,当相似度大于阈值时,其加入特征子集中,这个子集叫做目标模型的core。其不是一个静态的结构,而是在新的目标加入时得到生长。当其生长是比较慢的。
P专家按下面的方法识别可靠的部分。一旦轨迹进入core中,其就是可靠的并保持到重新初始化,或者跟踪器自己发生错误。图11(b)演示了特征空间的可靠与不可靠的轨迹。11(c)显示了core在接受了新的样本后如何改变的。
在每一帧,P专家输出当前帧目标的可靠性(其实一个在线进程)。如果当前位置使可靠的,P专家生成一系列的正样本来更新目标模型和集合分类器。我们选择距离当前帧目标矩形框最近的10个矩形框,仿射变换生成100个合成的正样本给集合分类器。
5.6.3 N专家
N专家生成负训练样本。其目的是发现。N专家的核心假设是目标在某帧只可能出现一个地方。因此,如果目标位置知道了,其周围都标签为负样本。PN专家同时工作,也就是如果轨迹是可靠的,远离当前目标块的图像块(重叠度小于0.2)都是负样本。对于检测器和集合分类器的更新,只考虑没有被方差和最近邻分类器拒绝的图像块。