CBWH学习笔记(二)

在之前的文章里,我们学习了CBWH方法的一些基础知识,在这篇文章里,我们将继续学习CBWH方法。 Credit:

本文中所引用的研究来自:

J. Ning, Robust mean-shift tracking with corrected background-weighted histogram, DOI: 10.1049/iet-cvi.2009.0075

王芳芳,陈华 《动态背景下的视频目标跟踪》,硕士学位论文

Kernel-Based Object Tracking, DOI: 10.1109/TPAMI.2003.1195991

成伟,柴毅 《均值漂移算法在视频目标跟踪中的应用》,硕士学位论文

图像追踪中的均值漂移

追踪目标的模型表示

概率模型计算方法

上一篇文章内我们讲过将颜色空间等分成m个bin,这一等分过程用函数\(b:R^2\rightarrow{1…m}\)表示,可以表示为

那么,目标模型的每一个特征可以描述为:

看起来比较复杂,我们一个一个分析:

K是核函数的轮廓函数,由于跟踪过程中的目标遮挡或是背景的影响,目标模型中心附近的像素要比外面像素更可靠些。所以\(k(x)\)给目标中心的像素赋一个较大的权值,给边缘的赋一个较小的权值。

上式的\(\delta))是Kronecker delta函数。具体是什么将在下面解释。

C是一个标准化的常量系数,目的是归一化概率模型,让概率之和等于1。所以,C有:

可以看到,C其实是一个与x无关的常数,这一常数在运算的时候可以提前计算出来,降低运算量。

Kronecker delta函数

Kronecker函数其实是很简单的一个函数,本质是比较,两个参数是否相同。相同则函数值为1,不同则为0。函数为:

在本次学习中,可以看到,\(\delta))函数与定义有些不一样,本次的函数应该是:

即,只有这个像素对应的特征是u的时候,才会被累加进入u的模型。

核函数K

在均值漂移算法中,核函数最常用的是Epannechnikov函数,函数定义如下:

可以看到这是基于二次模型的加权核函数,比高斯加权核在运算上简单一些。

候选目标的模型表示

与追踪目标的模型类似,候选目标的特征\(p_u(y)\)可以表示为:

可以看到,与追踪目标的模型很像,但是有一些不一样的地方。

首先,公式中的常数项变成了\(C_h\),因为公式改变,所以归一化常数也随之改变。新的归一化常数是:

这样才能保证概率模型的和仍为1。同时,核函数内也变成了比值关系。分子部分比较好理解,因为现在处理的是候选模型,区域中心已经发生改变,坐标系也要进行对应的变化。下面的h,在这次学习中是第一次遇到。h在这里表示带宽。

带宽与带宽矩阵

在均值漂移中存在带宽矩阵的概念。它是一个\(d \times d\)的正定对称矩阵。而在均值漂移中,为了简化计算,往往使用单位矩阵加一个系数来作为带宽矩阵。所以带宽矩阵H:

其中I是单位矩阵,而h就是带宽。带宽矩阵应该先行与核函数进行运算获得新的核函数,即:

但是因为认为与单位矩阵成正比,所以退化至刚才的描述公式,省去了繁琐的计算。

相似性函数

之前说过,相似性函数是度量目标模型与目标候选模型之间的差异的函数。有研究表明,在均值漂移算法中,Bhattachyarya系数是优于目前其他选择的相似性函数。Bhattachyarya系数的定义是:

通过简单的不等式关系可以看出,它的值在0和1之间。两个模型越相似,它的值越接近1。完全一样时等于1。所以,在候选区域中迭代的时候,令相似性函数最大的位置即是目标位置。

漂移向量计算

为了让相似度最大,在当前帧进行追踪时,以前一帧的目标中心\(y_0\)为起始点,开始搜索最优目标。对相似性函数在\(y_0\)点泰勒展开,可以获得:

将候选模型描述函数代入上面的公式,可以获得:

其中,为了简化表示我们引入了\(w_i\),它的表达式是:

可以看到,公式第一项是常数,所以只需令第二项最大即可。可以得到概率密度估计函数:

那么可求得新的目标位置:

所以本次漂移向量为:

至此,一次迭代就完成了。如果此时漂移向量小于阈值,则停止算法,认为已经找到目标准确位置;否则,继续迭代直到完成算法。


在本篇文章中,我们结束了对于均值漂移算法的基础部分的探讨。下一篇文章中,我们将从BWH开始,学习它的思路和方法,以及它的概念。之后将进入CBWH的学习。若有错误,还望指正。