【目标跟踪: 相关滤波器 四】相关滤波
来源:互联网 发布:java中isnotempty 编辑:程序博客网 时间:2024/05/21 07:01
相关滤波
为本篇博文表述方便,特将前几篇中几个重要的公式在此一并贴出,不懂的可以去看前几篇博文。
线性相关滤波
首先考虑一维样本,即一行(N个)图像像素,每个样本只有一维特征,当使用线性岭回归时,其解为式(1),其中的
循环矩阵是联系样本时域空间与频域空间的纽带,引入循环矩阵之后,线性岭回归的解为式(2),其
可以看出,
根据式(8)对将
式(9)即为所求的线性岭回归的解,由于该解在频域空间,而且涉及到样本频谱的相关运算,故该算法通常又被称作“相关滤波”,该解被称作“相关滤波器”。可以看出,该解的求解过程巧妙的借用了DFT把时域内矩阵的乘法与求逆运算转换到频域,变成了矩阵元素之间的对位运算。时域内求解
核相关滤波
考虑使用核岭回归的情况,首先要构造核矩阵
根据核函数的定义:
根据循环矩阵的性质,对式(3)进行简化:
其中,
常见的具有内积形式的核函数都可满足要求,如线性函数,多项式函数,径向基函数,其核向量的时域与频域表达式分别如下:
1.线性核函数
其中,
2.多项式核函数
3.径向基核函数
径向基核函数形式为
考虑使用线性核函数的情况,将其代入式(10)得:
由于
根据式(6)对
根据式(8)对将其转换到频域得:
与式(9)对比发现,当采用线性核函数时,该滤波器与常规的线性滤波器是完全等价的。由此说明,线性相关滤波是核相关滤波的一类特殊情况。在下文对相关滤波的论述中,统一采用核相关滤波的形式。
快速检测
在样本检测阶段,每个样本的回归值由下式唯一确定:
其中,
式(15)即为所要求的快速检测表达式,可以看出,该式同样将矩阵的乘法运算转换成了矩阵元素的对位乘法运算,算法的时间复杂度由
相关滤波在二维样本上的推广
前文对相关滤波原理的研究与推导仅仅局限于一维样本的情况,而实际应用中,对图像样本进行回归分类尤为常见,故非常有必要将相关滤波算法推广到二维样本的情况。
对于图像,一维样本特指图像的一行像素,二维样本则指整个图像。对于长度为N的一维样本在行方向上的循环位移构成N×N的循环矩阵,其可视化形式如下图所示。
对于M×N的二维样本,其原本就是矩阵,需要在行和列两个方向上分别进行循环位移,其广义循环矩阵其实是
为方便宏观上观察,目标图像每次位移固定的像素数,图中(0,0)号示样表示原始样本。
然而,通过研究上文中一维样本的相关滤波原理,可以发现:虽然在原理的推导过程中,一维样本需要转化为循环矩阵,然而在该算法的最终原理公式中,如式(10)~(13)、(15)所示,并没有涉及该样本的循环矩阵形式,所有参与计算的变量仍然是样本的基础形态,此过程中起着重要作用的部分就是DFT。
DFT有两个重要性质分别是“周期性”与“平移性”,一维样本的循环位移相当于在时域内对样本进行了周期扩展与位移,由该样本生成的循环矩阵的每一行元素的频谱都具有完全一致的功率谱,而且该特性同样适用于二维样本,其表现形式如下图所示。
实际上,DFT本身就已经隐式的对样本进行了循环位移的操作。而FFT不仅大大降低了算法的时间复杂度,而且通过对原始样本的变换,使得相关滤波器在频域中包含了样本形态的“无限可能”,也使得相关滤波算法很容易的推广到二维样本。
此处仅选取式(10)、(13)、(15)这三个核心公式进行推广,其中为表述简洁方便,用上标
其中,
式(13)可重新表示为:
其中,
式(15)可重新表示为:
其中,
基础理论部分到此为止,后续博文重点介绍该算法的实现
- 【目标跟踪: 相关滤波器 四】相关滤波
- 【目标跟踪: 相关滤波器 三】循环矩阵
- 目标跟踪经典算法 相关滤波跟踪(MOSSE)简析
- 【目标跟踪: 相关滤波器 一】闭关归来, 先挖个坑
- 目标跟踪之相关滤波:CF及后续改进篇
- 目标跟踪相关资料
- 目标跟踪相关资源
- 相关滤波跟踪(MOSSE)
- 相关滤波跟踪(MOSSE)
- 相关滤波跟踪(MOSSE)
- 【目标跟踪: 相关滤波器 二】岭回归(正则化最小二乘分类器)
- 相关滤波目标跟踪学习笔记(一)——研究历史及现状
- 相关滤波目标跟踪学习笔记(二)——数据库简介
- 相关滤波目标跟踪学习笔记(三)——KCF算法公式理解
- 用核化的相关滤波器来高速跟踪
- KCF(核化相关滤波)跟踪公式推导笔记(1)——线性情况下滤波器的解
- 相关滤波图像跟踪中的简单分析
- KCF核相关滤波跟踪算法
- dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(三)使用Spring AOP实现mysql的读写分离
- SpringMVC与Struts2区别与比较总结
- 存储过程的优缺点:
- python学习笔记-类和实例
- Swift笔记-让你2小时学会Swift
- 【目标跟踪: 相关滤波器 四】相关滤波
- 数据结构-模式匹配串算法(KMP)
- 用C++画矩形
- RabbitMQ学习之队列监控
- maven 光速入门攻略03
- JavaScript的Date()对象中的方法
- 提个问题:从技术到人生
- 自定义功能模块设计
- 数据结构-多项式计算(栈实现)