摘要
我们把(视频)跟踪看作二分类问题,在线训练作为整体的多个弱分类器用来区分目标和背景。使用AdaBoost把作为整体的多个弱分类器合并为一个强的分类器,该分类器用于下一帧的分类,区分像素属于目标还是背景,并得出置信图,使用mean shift 算法找出目标的位置。在跟踪过程中通过在线训练新的弱分类器从而在连贯时间上保持更新弱分类器这一整体。
关键字
AdaBoost 视觉跟踪 学习训练
1. 引言
视觉跟踪在机器视觉应用如监测,协助驾驶系统,人机交互中是非常重要的一步。跟踪指在当前图像中找出一个匹配目标区域,但是如果匹配函数仅仅考虑目标而不涉及背景,则也许不能从背景中正确区分出目标而导致跟踪失败。
我们把跟踪看作分类问题,通过训练分类器来区分背景和目标。通过在参考图像中提取每一像素的一个特征向量,经过训练得到一个分类器来识别一个像素是属于目标还是背景。给定新的一帧图像,我们使用训练好的分类器测试侦查区域里的像素并得到置信图,我们认为图中的峰值点就是物体移动到的地方,我们使用mean shift 找到它。
如果目标和背景不随时间变化,那么在初始跟踪中训练得到的分类器就足够了,但是当目标和背景有改变,跟踪用到的分类器也要相应改变。跟随时间的改变一直训练新的弱分类器加入到分类器整体。因此整体跟踪实现两个目的:(1)每一个弱分类器用于当前帧图像的目标和背景的区分;(2)分类器整体确保时间上连贯性的改变,予适用于目标和背景的改变。
算法的总体过程如下:我们保持一个多弱分类器的整体用来产生当前帧测试样本像素的置信图,运用mean shift找到峰值,也就找到了目标的新位置。然后,我们与时间同步在当前帧训练新的弱分类器并加入到分类器整体。
整体跟踪在一些重要的方面上扩展了mean-shift 跟踪算法。首先,mean-shift 通常使用在RGB颜色直方图上。但灰度图不能提供足够的信息用于跟踪,还有高维度特征由于内存需求过大不能进行直方图建模。整体跟踪刚好避免了这两点。它能够使用灰度图的邻域信息且不强制使用直方图,因为它可以使用任何形式的分类。另外,整体跟踪提供了结合时间的方式。相比已有的方法它使用了当前或者第一帧和最后一帧的直方图或者结合其他可用信息和直方图。
此外,以上的方法具有一定的优点。把耗费时间的训练阶段分解成一系列简单的可以在线的学习计算任务,同时自动调整了不同分类器的权值,在不同的特征值空间训练。还有,能够无缝结合离线和在线学习以及分类器能随时间保持稳定的变化来适应光照和遮挡。最后,我们可以把整体跟踪看作一种训练分类器的方法而分类器随时间改变分布,。
2. 算法原理及算法设计
2.1 整体跟踪
整体学习技术把一系列的弱分类器合并成一个强的分类器。例如,AdaBoost每次在更难的样本上训练一个弱分类器加入到强分类器使得最终的分类器比任何一个弱分类器都好。
整体跟踪一直更新弱分类器集合,从背景中分离出目标。弱分类器可以在任何时刻被加入或者被移除来反映目标外观或者背景的改变。因此,我们并不准确的描述目标,而是使用分类器集合来决定一个像素属于目标还是背景。
每一弱分类器都在正样本和负样本空间上训练,具体到我们问题,正样本来自目标而负样本来自背景。我们使用AdaBoost计算得到的强分类器用于下一帧的像素分类,产生相应的置信图,然后运用mean-shift找到峰值点也就是我们认为的目标的位置。一旦完成当前帧的跟踪,根据目标当前的位置我们训练一个新的弱分类器加入到分类器集合里,一直重复这一过程。
我们的方法由在线的分类器集合构成,这要求必须考虑在训练集上的误差是否保证处在一般的误差范围内的问题。AdaBoost 假设在一个静态的分布下(样本空间不变),得到的弱分类器比随机分类器的效果要好。相反,整体跟踪则假设样本分布随时间改变。但是,因为我们在处理视频时认为样本分布改变很慢,所以在新的数据下之前的弱分类器还是比随机分类器要好,也就是整体跟踪的误差界限不超过弱分类器。在试验中,AdaBoost表现的效果要比理论分析预测的好,同时我们的整体跟踪算法也表现了这一点。
算法1 常规的整体跟踪
输入:n个视频帧 I1,…,In
在第一帧中圈出目标的矩形框r1
输出:矩形框r2,…,rn
初始化:(第一帧)
训练T个弱分类器并把它们加入到集合整体中;
对每一新的帧Ij:
使用当前的强分类器测试Ij所有的像素,产生置信图Lj;
对置信图Lj运用mean-shift得到新的目标位置的矩形框rj;
把处在矩形框rj内的像素标记为目标,框外的标记为背景;
保留K个“最好”的弱分类器;
在帧Ij下训练T-K个新的弱分类器,加入到分类器集合中;
2.2 弱分类器
整体跟踪框架是一个一般化的框架,我们可以用不同的方法来实现。这里我
们讲述我们采用的方式。
我们用一个d维的特征向量来表示每一个像素,特征向量包含了一些局部的
A每一行的记为Ai,对应一个样本xi,后面以1增广,即Ai=[xi,1],W是一权值对角矩阵。我们发现令正样本的权重和与负样本的权重和相等,
各占0.5是合适的,因为这样可以避免由于目标区域比背景区域小而导致偏向负样本。
在时间连贯的视频中,我们保持随时间一直训练的T个分类器的集合。在每一帧,我们保留K个“最好的”弱分类器,在新的数据下训练
-K个新的弱分类器,重组强分类器这一集合。
由目标的跟踪的先验知识可以构成一个或多个弱分类器结合到具体的跟踪参与到强分类器中,但是这些分类器在分类器更新过程不能移除。
我们对所有分类器使用相同的特征空间。已经证实了结合各种线索能够提高跟踪效果而整体跟踪提供了一个灵活的框架来实现这一点。
2。3 算法描述
算法2 采用的特定整体跟踪
输入:n个视频帧I1,…,In
第一帧圈住目标的矩形框r1
输出:矩形框r2,…,rn
初始化(第一帧):
3. 相关实验结果
实验中,我们采用以下设定,实现人的跟踪:
实验截图:
从以上的结果可以看出,置信图与真实情况基本相符,整体跟踪效果比较好,在出现遮挡的情况下仍能够实现较好的跟踪,没有丢失目标。但是,跟踪识别使用了恒定大小的方框,不能随人尺寸改变而相应缩放。
4. 结论
我们把跟踪看作二分类问题,使用AdaBoost方法,通过训练多个弱分类器并组合成强分类器在下一帧进行背景和目标的区分,产生置信图,使用mean-shift进行目标的跟踪定位。算法简单,计算量小,执行速度快,效果较好。进一步实验表明R,G,B颜色在跟踪识别当中具有重要的作用。但是,AdaBoost对于噪音样本敏感,因此使用标识目标的方框内不是目标的周边的样本(噪音样本)会一定程度上影响跟踪效果,如何能够获取正确的样本成为使用分类方法进行跟踪的关键。