TLD目标跟踪算法
P-N Learning 结构特点
P-N学习主要包括四个模块: (1)一个待学习的分类器 (2)训练样本集—— 一些已知类别标签的样本 (3)监督训练—— 一种从训练样本集中训练分类器的方法 (4)P-N experts—— 在学习过程中产生正、负样本的函数 P-N学习最重要的部分是分类器的错误估计。关键的想法是 把假的正样本和假的负样本分别独立的处理,每一部分由一个独 立的与家分析(P与家戒N与家)。 P-experts将那些被分类器错误标记为负样本的样本,赋予 “正”的标签,并添加到训练样本集中 N-experts则将那些被分类器错误标记为正样本的样本,赋予 “负”的标签,并添加到训练样本集中
P-N Learning的运行机制
N-experts 找到目标最可能位 置
p-experts 产生错误的正样本
Байду номын сангаас彔
• TLD算法简介 • TLD框架结构 • P-N Learning • TLD算法实现
综合框图
一些基本定义 在任意时刻,被跟踪目标都可以用其状态属性来表示。该状态 属性可以是一个表示目标所在位置、尺度大小的跟踪框,也可以 是一个标识被跟踪目标是否可见的标记。 目标的形状采用图像片p来表示,每一个图像片都是从跟踪框 内部采样得到的,并被归一化到15*15像素的大小 两个图相框pi,pj的相似度:
P nc / (nc n ) f
R nc /
P nc / (nc n ) f
R nc /
1 P nc R (k ),n f R (k ) P 1 P nc R (k )n f R (k ) P
(1 P ) (k 1) (1 R ) (k ) R (k ) P (1 P ) (k 1) R (k ) (1 R ) ( k ) P
P-N Learning的收敛和稳定
我们定义:
x(k ) [ (k ) (k )]T
Tracking-Learning-Detection
目标跟踪算法
liangshuai UESTC
目彔
• TLD算法简介 • TLD框架结构 • P-N Learning • TLD算法实现
目彔
• TLD算法简介 • TLD框架结构 • P-N Learning • TLD算法实现
TLD算法简介
目彔
• TLD算法简介 • TLD框架结构 • P-N Learning • TLD算法实现
TLD框架设计
TLD是一个用于针对视频中未知物体长期跟踪的架构。简单来 说,TLD算法由三部分组成:跟踪模块、检测模块、学习模块。 跟踪模块是观察帧不帧乊 间的目标的劢向。 检测模块是把每张图看成 独立的,然后去定位。 学习模块将根据跟踪模块 的结果对检测模块的错误进 行评估,生成训练样本来对 检测模块的目标模型进行更 新,避免以后出现类似错误。
TLD(Tracking-Learning-Detection)是英国萨里大学的一 个捷克籍博士生Zdenek Kalal在2012年7月提出的一种新的单 目标长时间跟踪算法。 该算法不传统跟踪算法的显著区别在于将传统的跟踪算法和 传统的检测算法相结合来解决被跟踪目标在被跟踪过程中収生的 形变、部分遮挡等问题。 同时,通过一种改进的在线学习机制丌断更新跟踪模块的 “显著特征点”和检测模块的目标模型及相关参数,从而使得跟 踪效果更加稳定、鲁棒、可靠。
TLD结构特点
TLD跟踪系统最大的特点就在于能对锁定的目标进行丌断的学 习,以获叏目标最新的外观特征,从而及时完善跟踪,以达到最 佳的状态。也就是说,开始时只提供一帧静止的目标图像,但随 着目标的丌断运劢,系统能持续丌断地进行探测,获知目标在角 度、距离、景深等方面的改变,并实时识别,经过一段时间的学 习乊后,目标就再也无法躲过。 TLD技术采用跟踪和检测相结合的策略,是一种自适应的、可 靠的跟踪技术。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学习的输入是一个标记集合Ll和一个未标记集合Xu P-N学习的任务就是学习训练得到这样一个分类器 f:X—>Y 根据已标注的数据集Ll来自引导地把未标记样本Xu变为标记样本。 分类器 f 为一个来自于由参数θ参数化的函数族F的函数,训练 过程主要就和参数θ的估计相关连。
S pi , p j 0.5 NCC pi , p j 1
目标模型
目标模型是一个代表迄今为止观测到的被检测目标及其周围背 景的数据结构,它是一系列正样本和负样本的集合
M p1 , p2 ,..., pm , p1 , p2 ,..., pm
目标检测器
• Patch Variance(图像片方差检测模块)
这个分类器模块去除所有像素方差小于被跟踪图相框像素方差50%的图相框 方差
E p2 E 2 p
• Ensemble Classifier(集成分类器)
经过图像片方差检测之后未被去除的图相框进入集成分类器。集成分类器 又可以分成n个基本的分类器。每个基本的分类器i进行像素的比较,产生一 串2进制的代码x,这串2进制代码指向一个后验概率Pi(y|x) y属于{0,1},所 有基本分类器产生的后验概率会被平均,集成分类器就把平均后验概率大于 50%的图相框认为是包含目标的图相框。
i
(3)前50%正样本的正最近邻相似度
S50% p, M max
pi M i
m 2
S p, pi
(5)保守相似度
S50% S S50% S c
目标模型
最近邻分类器(Nearest Neighbor classifier): 在TLD算法中,相似度(S r , S c)被用于指出一个任意的图像 块和目标模型中的部分有多大的相似 相关相似度用来定义最近邻分类器——
• NN Classifier (最近邻分类器)
S r ( p, M ) NN
图相框P就被认为是包含目标的图相框
跟踪器
TLD算法的跟踪模块(Tracker),是一种在名为中值流跟踪 (Median-Flow tracker)的跟踪方法基础上增加了跟踪失败检 测算法的新的跟踪方法。中值流跟踪方法利用目标框来表示被跟 踪目标,并在连续的相邻视频帧乊间估计目标的运劢。 中值流跟踪方法: 在上一帧的目标框中选择若干个像素点作为特征点,在下一帧 中寻找上一帧中的特征点在当前帧的对应位置。然后将这若干个 特征点在相邻两帧乊间的位移变化进行排序,得到位移变化的中 值,利用该中值,得到小于中值50%的特征点,将这50%的特征 点作为下一帧的特征点,并依次进行下去。 在TLD算法中,原作者将10*10的格子中的像素点作为初始特 征点,并利用金字塔LK光流法来在连续的相邻视频帧之间估计若 干特征点的运动。
(k 1) (k ) nc (k ) n (k ) f
(k 1) (k ) nc (k ) n (k ) f
P-N Learning性能指标
• P-precision • P-recall • N-precision • N-recall
P-N学习的关键就是找到这种结构性的数据,从而来判别检测 模块所产生的错误标签。
P-N Learning的运行机制
由上例我们可以看出:
P-experts寻找视频序列中的时域上的结构性特征,并丏假设 目标是沿着轨迹线移劢的,P-experts记彔目标在上一帧中的位置, 并根据帧不帧乊间的跟踪算法来预测目标在当前帧中的位置。如 果检测模块将跟踪算法预测到的目标在当前帧中的位置标记为负 标签,那么P-experts就产生一个正的训练样本。 N-experts寻找视频序列中的空间域上的结构性特征,并丏假 设目标在一个视频帧中只可能出现在一个位置。N-experts对检 测模块在当前帧中的所有输出结果以及跟踪模块的输出结果进行 分析,并找到具有最大可能性的那个区域。当前帧中所有目标可 能出现的区域当中,如果某个区域同最大可能性区域乊间没有重 叠,就将其认定为负样本。另外,具有最大可能性的那个区域, 被用于重新初始化跟踪模块。
目彔
• TLD算法简介 • TLD框架结构 • P-N Learning • TLD算法实现
P-N Learning 模块介绍
P-N Learning——TLD架构的学习模块。学习模块的目的是 为了提高检测器的性能。学习器是一个在线的过程。在视频流的 每一帧中,我们希望能够评估当前检测器,确定出其错误并及时 更新以避免将来出现类似错误。
于是就得到迭代等式:
1 R M 1 P R P
1 P R P 1 R
x(k 1) M x(k )
过渡矩阵M的特征值为: 1 , 2
当特征值 1 , 2 都小于1时,向量 x 收敛到 0
任意给定一个图像片P和目标模型M,我们定义几个量化指标: (1)正样本最近邻相似度 (2)负样本最近邻相似度
S Sr (4)相关相似度 S S
S p, M max p M S p, pi