Correlation Filter Object Tracking入门简介
2016-06-23 16:58
363 查看
Correlation Filter Object Tracking入门简介
近期一直在研究相关滤波(Correlation filter)的东西,自己没啥地方记录的,本子也破的不行了,就这随便记录一下自己的感想,供以后回忆用!~这篇文章主要是讲一下最早应用的文章Minimum Output Sum of Squared Error(MOSSE)当中的一些思想和自己的一些基本理解。一、基础概念
维基百科中关于相关的定义:在概率论和统计学中,相关(Correlation,或称相关系数或关联系数),显示两个随机变量之间线性关系的强度和方向。在统计学中,相关的意义是用来衡量两个变量相对于其相互独立的距离。在这个广义的定义下,有许多根据数据特点而定义的用来衡量数据相关的系数。
相关(correlation)的直观解释就是衡量两个函数在某个时刻的相似的程度。
相关又分为自相关(auto-correlation)和互相关(cross-correlation)。
互相关的概念:
基础的概念大概就这么些吧,其他的想要了解的可以自己多查一下资料,就是先对这些有一个概念。
二、相关在tracking中的应用
相关(correlation filter)应用在tracking方面的最为直观的方法:相关就是衡量两个信号相似值得度量。如果两个信号相似越高,就表明这两个信号的相关值就越大。在tracking的应用当中,我们的目的就是设计这么一个模版,使得当模版和输入的图片目标做相关时,能在目标的中心位置得到最大的响应值。如下图所示:第一步:
寻找一个滤波模板,使得它在目标上的响应值最大,写成公式就是:
g=h★f—————————————-①
g表示响应输出值
h表示滤波模板
f表示输入图像
g可以使任意形式的响应输出,大多数情况下为gaussian形状。明显可以看出,在公式当中,只有h是未知的,即滤波模板,这就是我们所要去计算的,所要得到的。从公式来看,这个并不是很复杂,但是相关滤波的方法在tracking当中的速度为什么这么快呢?这个就要归功于傅里叶变换。在所有的求解过程当中都是用到了快速傅里叶变换FFT。由卷积定理的correlation版本可以知道,函数互相关傅里叶变换等于函数傅里叶变换的乘积。如公式②所示。
F(h)★f=(F(h))*⊙F(f)——————–②
其中F(·)表示傅里叶变换,⊙表示点乘,接下来,假设输入图片f所含的像素的个数为n,而已知FFT变换的时间复杂度为O(nlogn),由此可知,②式的时间复杂度也为O(nlogn)。
第二步:
明白了上面所说的一些观点之后也就比较好理解了,也就可以明白为什么相关滤波类型的tracking algorithm的计算时间比较快,也就是想要表达的主要的内容。本步主要说一下怎么求h。
为了看着方便,我们设 F=F(f),(F(h))* = H*,F(g)=G.由此可以得到
H*=G/F————————————–③
这里我们的目标图像只有一张的时候,但是在实际使用的过程当中,目标会由于外观、光照等因素的改变发生变换,我们需要同时考虑目标不同状态下的情况,则以不同状态下的m个图像作为参考,以此计算得到的模板提高滤波模板的鲁棒性,则有:
———————④
求解出来等式④并不算困难,根据卷积定理,在频率域的计算都是元素为单位的,因此可以分别求出来H*当中的每一个元素,就可以得出:
—————⑤
接下来就是熟悉的求导,使导数等于零。解出来就可以了。
但是在MOSSE论文当中提到了,复数域求导和实数域的求导是不一样的:
按照上述的方法把得到的H进行处理,得到:
这就是我们最终求得的滤波模板,也就是我们所要求得核心东西。
接下来就可以开始跟踪了。在跟踪的过程中,我们只需要把以上模板与当前帧的图像作相关操作,将得到的响应结果中最大的那点对应坐标作为目标在当前帧位置就可以了(相当于在2维上平移我们的模板)。然后,模板的更新方式可以按照如下的方式进行:
H(t)=(1−η)H(t−1)+ηH(t)——————–⑥
H(t)表示当前帧模板,H(t-1)表示前一阵模板,η为学习率。
总结
总得来说,MOSSE方法开创了CF在tracking方面的先河,而在后面的一系列文章里,我们将介绍一系列用概率论、岭回归等理论对其作进一步提升的文章。特别是我研究的最多的KCF方向的文章,我会进行详细的分析和介绍。参考文献
Visual object tracking using adaptive correlation filtershttp://www.djhome.net/NeoFilterLabs/downloads/CVPR_Poster_Ver5.pdf
相关(维基百科)https://zh.wikipedia.org/wiki/%E7%9B%B8%E5%85%B3
互相关https://zh.wikipedia.org/wiki/%E4%BA%92%E7%9B%B8%E5%85%B3
相关文章推荐
- 图像处理特征不变算子系列之KLT算子--GoodFeaturesToTrack(七)
- tracking papers 阅读笔记
- TLD理解之Forward-Backward Error
- OTCBVS Benchmark Dataset Collection新链接
- 粒子滤波
- 【目标跟踪】Learning to Track at 100 FPS with Deep Regression Networks 学习
- 目标跟踪--CamShift
- 目标跟踪学习系列五:Real-time visual tracking via online weighted multiple instance learning(WMIL)学习
- 目标跟踪学习系列六:semi-supervised Boosting using Visual Similarity Learning 学习
- 压缩跟踪(CT)代码详细学习0
- 压缩跟踪(CT)代码详细学习_模块1(样本的采集和扩充)
- 压缩跟踪(CT)代码详细学习_模块2(特征的提取和计算)
- Mean Shift 目标跟踪算法(一)
- Camshift目标跟踪
- OpenCV_目标跟踪学习笔记_1(opencv中meanshift和camshift例子的应用) opencv源码注释
- 个人喜欢的关于模式识别、机器学习、推荐系统、图像特征等方面个人主页及博客
- 20121217
- 20121218
- 20121219
- 20121220