所谓的相关滤波方法就是根据当前帧的信息和之前帧的信息训练出一个相关滤波器,然后与新输入的帧进行相关性计算,得到的置信图就是预测的跟踪结果,显然,得分最高的那个点(或者块)就是最可能的跟踪结果。
相关滤波器的公式可以简化为,其中z代表输入的图像,w代表相关滤波器的参数,相关滤波器的追踪过程就是求取w的过程。
KCF算法当中采用了岭回归的方式求取滤波器参数:
岭回归问题的解可以表达为如下形式:
KCF在求解这一问题当中使用的核心思想是扩充了负样本的数量以增强跟踪器的性能,而其扩充负样本的方法就是采用了循环矩阵的构造方法。循环矩阵是一种特殊的矩阵,它的一维形式就是由一个n维向量每次向右循环移动一个元素,直到生成一个n×n的矩阵,具体效果如下图所示。
在KCF的算法中,训练样本的生成都是基于循环矩阵形式来构建的,其中基样本为正样本,其他都是虚构出的负样本,这样的样本集具有很好的特性,因此,整个KCF算法对跟踪器进行训练的目的就是利用生成的这些样本,生成一个滤波器,使得其作用于这些样本时会生成我们期望的分布形式。
循环矩阵的作用在于,循环矩阵经过离散傅里叶变换之后得到的矩阵必然是对角矩阵:
这其中代表x的离散傅里叶变换。将上式带入岭回归公式可以得到w的解,星号代表当前矩阵的复共轭矩阵:
KCF进一步采用了核化方法化简了这一步骤,在核方法中有,因此原有的岭回归问题可以写作如下形式:
``
这一公式的求解过程可以表示为如下形式:
这其中的即代表循环矩阵。
原始的相关滤波器表达式在核方法下可表示为,求解过程如下:
其最终结果为复数域输出,取其中实部即可得到最终的滤波器输出响应。
KCF当中针对核函数也采取了化简方式,这里不再赘述;其核函数当中即可以代入图像本身的像素值进行计算,也可代入其HOG特征等其他特征值进行计算。