关于A Part-based Online Modeling Algorithm and Its Applications on Rubust Viasual Tracking

来源:互联网 发布:安装打印机无usb端口 编辑:程序博客网 时间:2024/05/20 13:05

一个在线基于部分的建模算法及其在鲁棒视觉跟踪中的应用

摘要:这篇文章提出了一种在线的基于部分的对象建模方法和跟踪方法。对待跟踪对象首先采用了IVT跟踪器来进行跟踪,它会在主要帧图像中返回对象的外形。基于这些对象外形的子图像,采集其SIFT关键点以用于建立部分检测和建模所需的训练集。然后使用Ncut聚类将这些关键点划分为不同的类,并且使用高斯模型来建立对象的结构。将高斯模型中具有最小方差的一类认为是一个部分。基于这些已知的部分,通过Ncut问题的测试样本的解决方法,相关的基于外观的检测器就设定了。一旦在测试帧中检测到新的关键点,关键点通过部分检测器被分类,但是只有属于已知部分的成员能够保留下来。检测到的新的部分在通过相关的高斯模型显示的潜在的中心周围传播它的得分。通过将所有的得分相加就能够将一帧中所有新实例的部分组装起来。如果得分大于设定阈值,那么得分和的最大值指出了对象的位置。否则,进入到重新训练阶段来更新检测器和模型。在几段有挑战性的视频上的实验结果显示了所提出方法的成功应用。

 

1、介绍

针对的是对象有严重遮挡或者明显外观变化问题的在线跟踪提出的解决方案。

 

创新点是在线建立部分检测器,也就涉及到如何实时在线建立检测器的样本以及如何有效的建立所需的部分监测器。

 

这篇文章提出了一种对于部分检测器在线学习和建模的新的范例。这篇文章的方案结合了两种类型的监测器,全局检测器和部分检测器。全局监测器是用来在视频序列开始的几帧中提取可信赖的对象样本。有了这些样本,就可以应用SIFT关键点来找到每一帧中潜在的可能部分。Ncut聚类将这些候选部分分成几组,每一组是一个候选部分。高斯模型是用来对每一个组的结构特点建模,并且拥有最小方差的组被认为是代表模型的最优部分。一旦建模完成,随后帧中出现的对象将同时使用全局检测器和部分检测器来进行跟踪。在Ncut的样本问题的解决方案的角度来看,新帧中出现的SIFT点首先映射到Ncut在整个训练阶段中约简的子空间中。因此,应用简单的距离比准则就能够将新的部分有效分类。为了处理运动对象的动态外形和结构,当发现学习模型跟踪效果很差时迭代调用训练阶段。

 

2、在线部分训练和建模

在训练阶段,需要自动选择有效的训练集;在建模阶段,需要选择一种有效的方式来代表对象结构。

2.1 训练集的收集和部分聚类

         在开始的几帧中要使用基于外观的全局检测器来获得对象外观,可以选择的检测器有:粒子滤波;自适应的有识别力的生成模型以及IVT方法。本文中采用IVT全局检测方法,该方法不仅有效而且鲁棒。IVT方法扩展了SKL方法到增量PCA方法,这种扩展是通过一种新型SVD简化方法来计算未来对象的特征向量。这样,IVT能够在帧间递增的更新对象外观的特征向量,同时有效更新相关的均值。IVT跟踪器返回帧中包含待跟踪对象的小块Oi,经过L帧的训练之后,就能得到L个包含对象外观的一系列Oi。

         采用Ncut来对关键点进行分组。这种方法在跟踪阶段容易扩展到一种分类器。

         关键点检测采用STFT方法。可采用的方法有Harris角点、SIFT特征点和MSER(最大稳定极值区域),实验表明SIFT方法最好。是通过检测所有对象的SIFT特征点来建立训练集的。

         值得注意的一点是,在我们的方案中在建立训练集的过程中没有使用SIFT匹配。直观地讲,采用了匹配将会提高聚类效果,因为点之间的可靠连接增加。这样,聚类过程将变成半监督状态,实际实验却证明,匹配对于聚类的结果影响很小。所以本文没有采用匹配。

         之后,我们将视觉上相似的点聚类,创建一个部分外观的原型码本。聚类方法使用Ncut。Ncut聚类方法实际上在聚类之前做了降维处理,将SIFT的128维降到了k维,同时将初始建模帧数L限制为一个较小的数,可以实现实时处理的速度。

2.2 对象建模及部分选择

已有文献证明在对象建模过程中包含了结构信息将大大提高检测率,尤其是在有遮挡的时候。

         对于每一个对象的关键点,我们计算点相对对象中心的相对位置,使用单高斯模型来代表一个部分的相对位置,不适用混合高斯模型的原因是可能导致位置的过学习,单高斯则相对简单又有效。一个单高斯模型产生一个星型结构模型,使得一个部分的点之和该对象的中心有关。

         对于码本中的每一个部分Ci,我们计算其所有相关点的均值和方差,就形成了一个单高斯模型。使用其中相对位置最稳定的部分来装配。也就是说对所有部分的方差进行升序排列,只取前Kp个和其相关的聚类来作为需要的部分。

3 外样本部分分类

         在做时间序列建模时,有时需要分内样本(in-sample)和外样本(out-of-sample),外样本的功能其实是检验内样本拟合出来的模型的有效性,和交叉验证的思想有点相似。

         理想情况下是要采用所有的帧中的关键点来作为样本进行训练,但是在实际操作中不可能,所以采用了外样本分类。

3.1 外样本方案的部分分类

         文中是这样解释外样本问题的:假设我们已经有基于一个训练数据的训练结果,然后有一个新的关键点描述子,我们需要在之前的结果基础上知道该点的所属类别。

         在这里,就是在已知部分的基础上,对新检测到的点进行分类,判断属于哪一个类别。首先是计算该点的特征向量,计算其相似特征向量(k维),然后使用距离比率disR来得到所属类别,小于某个距离阈值则属于该类,否则没有所属类则认为对检测没有贡献。因为并不需要很多的部分(类别数)来装配整体,所以限制被标签的关键点的类别数最多为Kl。

3.2 基于部分的检测器

         在所有类被归类之后,根据结构约束来装配对象。假设在某个位置(x,y)有一个被标签的关键点p,那么p预示着在该位置或者周围是一个对象可能的位置。

         使用之前的高斯模型来计算对象中心可能位置的得分,如果最大得分大于一个阈值,那么就认为成功找到该对象,否则需要重新训练和建模。部分检测的结果可以用来修正全局检测的结果。

4 实验

         在一些公共的视频上做了一些实验,3帧用于初始建模,被分成25组,检测到20个部分,针对的都是灰度图像视频。并且比较了IVT和MIL全局检测器。实验证明,本文提出的方法是有效的。

5 结论

         本文提出一种基于部分的在线建模和跟踪方法。首先使用IVT跟踪器来在线建立训练集,然后通过Ncut的外样本方案来建立部分检测器,为了得到对象的结构使用了单高斯模型来组装部分成对象,在跟踪时同时采用IVT跟踪器和部分检测器。一旦跟踪对象失败,需要重新进行训练和建模。


6 思考

        本文是用来跟踪人脸,是否可以引进用来跟踪行人?



原创粉丝点击