CSK & KCF(tracking)

转自:http://blog.csdn.net/ben_ben_niao/article/details/51364323

上次介绍了SRDCF算法,发展历史轨迹为CSK=>>KCF/DCF/CN.鄙人首先介绍最基本的CSK算法,其实在上一篇已经提过,但是原理,思路讲的不清晰,这次争取把思路讲清楚。

CSK:[paper:Exploiting the Circulant Structure of Tracking-by-detection with Kernels(作者和KCF/DCF同一个作者)]

  • 文章特点:
    • 输入:整个候选search区域的raw pixel(作为特征,并不是每个候选框),label(y_i),label为符合Gauss分布的连续取值
    • 目的:训练一个分类器,学习分类器的权重W。 
    • 求解分类器的权重W,探究了subimage_window和circular struct以及kernel的关系,利用这个关系引入kernel Trick. 
    • 利用cirlular matrix和来求解分类器的权重,利用FFT以及循环矩阵的性质,避免了求W时的矩阵逆运算。    
    • 输出:相对平移量,实验选区响应值最大的位置作为目标移动的大小。
  • 缺点:
    • scale问题。   
    • 循环矩阵bounding效应(SRDCF解决)。    
    • 输入为raw gray pixel(KCF,CN,DeepSRDCF丰富了特征的选取). 
  • details
    • 首先,候选框subimage_window存在很多重合,计算特征导致冗余。所以为了满足一定的速度要求,无法Dense sampling,只能random sampling少许,导致结果不好。    
    • 发现,所有subimage_window可以有候选区域和循环矩阵来表示。设候选区域的特征连接为vector:V,循环矩阵为如下:

all_subimage_window = C(u)V,其实就是一个kernel变换,从候选区域中得到子区域。其实C(u_i),为(1,1,0. ...)等。其实这里作者只是以此说明这个关系,具体在代码中使用时却没那么复杂。

 有了上面的发现,则回到tracking问题,跟踪其实就是训练一个分类器:

 其中w为分类器的系数,需要学习。引入kernel trick(get the subimage_window):

如果式(1)中的loss function:L取二范数距离,则求解的结果为:

进而转化为求a_i,公式如下:

其中最为关键的是求K为循环矩阵,而选择好对应的核变换函数(线性核,高斯核,多项式核)即可求K,从而得到a_i,及分类器的权重。利用FFT变换,将卷积变换为频域的dot-product,加快速度。

  •  核函数的选举有多种,具体看原paper.所以通过这一步一步从而求解出分类器。

 

KCD/DCF[paper:High-Speed Tracking with Kernelized Correlation Filters],和CSK是同一个作者

这篇文章核心算法同CSK,只是从特征和多尺度以及核变换进行了改进。

  • 在CSK的基础上解决了如下几个问题:
    • 输入为multi-channels(可以是彩色,可以是Hog),并定义了multi-channel特征的连接方法。    
    • 采用不同函数,Gauss核函数,paper叫KCF,采用linear kernel时,paper取名叫DCF,其中DCF由于采用的linear-kernel,所以multi-channel合并时有优势,速度比KCF快,效果差一点点。
  • detail

多通道特征连接,由于卷积在频域是dot-product的求和,所以将不同channels的特征vector连接在一起为一个vector即可。multi-channel特征可以是彩色,也可以时Hog和及其方向的不同channel.如果时Gauss核(KCF)则核函数计算如paper中式(31),如果时线性核(DCF)则根据式(32)计算。paper中分析了速度方面的影响,linear-kernel的DCF更简单,所以速度更快。

CN[paper:Adaptive Color Attributes for Real-Time Visual Tracking]

  • 在CSK的基础上,将输入变为11个颜色空间,具体略

 

SRDCF见以前的博文

  • 在kcf上解决scale[多尺度搜索]和bounding effect[加入惩罚项]

DeepSRDCF

    • 在SRDCF基础上 用CNN来提取特征[CNN第一层输出作为特征]
原文地址:https://www.cnblogs.com/wyuzl/p/6904405.html