本文主要根据 《Kernel-Based Object Tracking》 Dorin Comaniciu, Visvanathan Ramesh 文章发表在IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,VOL. 25, NO. 5,MAY 2003
基于核函数的目标跟踪算法 是一种目标表示和定位的方法,主要用于非刚体的视觉跟踪,视觉跟踪就是给定一个初始的目标模型根据每一帧图像的信息计算出物体的在每一帧的位置。本方法是visual Tracking的一个经典算法,尽管现在的跟踪算法已经不屑于和这种算法比较......
这个算法主要涉及到核函数、meanshift算法等的概念,在读文章之前最好要把这两部分弄清楚原理。关于核函数可以参考我的上一篇文章,关于MeanShift,,可以参考www.cnblogs.com/liqizhou/archive/2012/05/12/2497220.html
下面开始讲解算法的思想和具体方法:
1、目标表示
想要表示目标首先要选择合适的特征来描述目标,此Paper中选择了目标区域的概率分布函数(PDF) q作为特征, 不妨选择目标模型的中心为零点。为了减小计算量,选择m个bin的直方图来描述PDF,图像直方图是图像一个最基本的表示(此处为RGB)。由此,目标模型和候选模型表示为:(目标模型代表想要Tracking 的目标图像,是一个椭圆区域,候选模型为在下一帧中目标模型可能的位置)
很容易想到,某一个候选模型越“像”目标模型时,越可能是目标模型。这种“像”用相似度函数度量。
为相似度函数,后面我们可以看到,此方法中使用巴氏系数来描述相似度。
1)目标模型
我们用直方图作为特征来表示模型,但是此种方法并不能很有效的用于实际计算,因为只能通过全局穷举来确定相似性最好的候选模型,不能利用诸如梯度搜索等方法。文章中选用核函数加权得到加权直方图,正是由于用这种方法表示,后面才能使用MeanShift 方法来找最优解。
设 为目标模型归一化后的所有像素点坐标(目标模型区域的中点为零点)。
目标模型的核函数加权公式如下:
其中 ,
其中k(x)为核函数K(x)的截面函数,有 ;b(x):,表示某一个坐标x位置的灰度值对应到直方图的第b(x)个bin中。
用以上方法给直方图加权,不仅方便后面的运算,也增加了密度估计的鲁棒性。不加权的时,,相当于计算落在每一个bin内像素点的数量,而显然位于模型边缘像素点是不可靠的,中心点更可靠,加权之后减小了边缘像素点的权重,增大了靠近中心的点的权重。
2)候选模型
按照以上同样的加权方法,我们可以得到候选模型的概率密度函数(注意其中