Kernelized Correlation Filters (KCF) Tracking算法
来源:互联网 发布:反美颜的软件 编辑:程序博客网 时间:2024/06/05 06:51
Correlation Filter-based Tracking Frame
Discriminative Correlation Filter(DCF),即判别相关滤波器,是Visual Tracking领域应用最为广泛的跟踪算法。其核心思想是:由于每一帧中被良好检测的目标都提供了描述该目标的信息,因此完全可以通过用每一帧中的目标区域作为训练样本来进行模型的训练,具体做法是通过已经跟踪的若干帧中目标的位置,提取出我们关心的特征,训练出一个滤波器模板,对于新帧中可能的目标区域,提取出该区域特征,与滤波器模板作相关,根据相关值得到在新帧中目标的预测位置,并在以该位置为中心提取出特征,反过来进一步训练滤波器模型,并重复上述步骤进行后续的目标跟踪与模型训练。通过这种方法,就实现了模型的在线训练与目标的实时跟踪。
Adaptive Correlation Filters
Minimum Output Sum of Squared Error (MOSSE)
Minimum Output Sum of Squared Error (MOSSE) developed by Bolme et al.的提出极大地改善了相关滤波器跟踪算法的performance,在提升精度的同时降低了求解的复杂度。
t个目标区域样本分别为
对
对于t+1帧,假设其在第t帧的目标区域内提取得到特征图z,那么计算
y的最大值的位置即被认为是t+1帧中目标区域的中心点.
我们保持目标区域尺寸不变,将其中心点进行移动相应位置,就得到了在新帧中的目标区域。对该区域进行特征提取,然后加入到训练集中对模型进行更新得到
中的目标检测了。
在实际的tracking过程中,一般使用如下方法来更新模型:
其中
缺点
- 只使用了灰度作为特征,模型所使用的特征维数太低,难以很好地反映目标的特性。
- 只估算了目标区域中心点在帧间的平移运动,而没有考虑目标在运动过程中反映在画面上的尺度变化,在目标尺度发生改变时难以适应。
Discriminative Scale Space Tracking Filter (DSST)
对MOSSE的改进:
- 使用fHoG替代灰度(通常fHoG为31dims,而DSST实际使用28dims)
- 考虑目标尺度变化
不考虑尺度变化
只考虑单个目标,设特征维数为d,则特征图可记作
引入
对上式做傅里叶变换,求导,令导数为0,得:
在实际操作中,可以用下式更新模型:
新帧预测:
考虑尺度变化
滤波器和特征图由
改进思路,两组滤波器模板:
- d个大小为
M×N 的二维位置滤波器 d×M×N 个大小为S的一维尺度滤波器
位置滤波器的训练方法同前,而尺度滤波器则是在确定了目标区域中心后,对于尺度因子s,提取出其对应区域的d个
完整算法
- 估算位置
- 在帧
It 中根据前一帧的位置pt−1 和尺度因子st−1 划定区域提取特征zlocat - 在
zlocat 与位置滤波器Alocat−1,Blocat−1 做相关得到ylocat - 将
ylocat 最大值点设为当前帧的目标中心pt
- 在帧
- 估算尺度
- 在帧
It 中根据位置pt 和前一帧的尺度因子st−1 划定区域,缩放后得到S个区域,提取特征zscalet - 将征
zscalet 与尺度滤波器Ascalet−1,Bscalet−1 做相关得到yscalet - 将
yscalet 最大值点设为当前帧的目标尺度st
- 在帧
- 更新模型
- 在帧
It 中根据估算出的位置pt 和尺度st 划定区域提取特征,得到flocat 和fscalet - 更新位置滤波器得到
Alocat,Blocat - 更新尺度滤波器得到
Ascalet,Bscalet
- 在帧
复杂度
缺点
- 难以适应大幅度形变、遮挡等
- 循环卷积边缘效应
SRDCF对此做出了改进。
Kernelized Correlation Filters
The overall performance may be limited because the MOSSE filters can be viewed as simple linear classifiers. By taking advantage of kernel trick, correlation filters are supposed to be more powerful.
Building Blocks
Linear Regression
考虑:
在复数域中,上是中的转置(T)替换为共轭转置(H)。
Circulant Matrices
仅考虑一维单通道信号
轮换矩阵
其中
Putting it all together
考虑
定义
Linear regression的解的傅里叶变换可以表示为:
Non-linear Regression
Kernel Trick
将线性问题转换为
- 将解
w 表示为ϕ(x) 的线性组合:w=∑iαiϕ(xi)
求解w 的过程变为对偶空间(Dual Space)中求解α 的过程。 - 将点积表示为:
ϕT(x)ϕ(x′)=κ(x,x′)
核函数不需要给出高维空间中的向量的具体表达式,就可以实现从低维到高维的映射。
Fast Kernel Regression
核函数回归在对偶空间的理论解:
其中
- 定理:Kernel Matrix
K 轮回的条件 - 给定轮换矩阵
C(x) ,如果核函数对任意的置换阵M 均满足κ(x,x′)=κ(Mx,Mx′) ,那么相应的核矩阵K 也是轮回的。
满足上述定理的核函数有:
- Ridial Basis Function kernels - e.g., Gaussian.
- Dot-product kernels - e.g., linear, polynomial.
- Additive kernels - e.g., intersection,
χ2 and Hellinger kernels. - Exponentiated additive kernels.
这时可以将
其中
的傅里叶变换。
Fast Detection
我们希望评估的image patch为
其中
回归函数:
它等价于:
Fast Kernel Correlation
Radial Basis Function and Gaussian Kernels
RBF kernels通常具有下列形式:
由于置换阵不影响
特别地,高斯核:
Dot-product and Polynomial Kernels
To be continued.
Multiple Channels
A dotproduct can be computed by simply summing the individual dot-products for each channel. By linearity of the DFT, this allows us to sum the result for each channel in the Fourier domain.
以高斯核为例:
Algorithms
实际使用中,Tracking模板的更新可以用学习率控制,参考Danelljan, Martin, et al. “Adaptive color attributes for real-time visual tracking.” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2014.
分子和分母
Experiments
Benchmark: Y. Wu, J. Lim, and M. H. Yang, “Online object tracking: A benchmark,” in CVPR, 2013.
- KCF=Gaussian Kernel
- DCF=Linear Kernel
Detection-Tracking System
The Combinition of Detection & Tracking
Target Lost
- 定义:Peak to Sidelobe Ratio (PSR)
- 设滤波器模板与目标区域特征作相关后得到响应为G,其最大值为
Gmax ,以Gmax 的位置中心11×11 的区域内响应平均值为μ ,方差为σ2 ,则PSR=Gmax−μσ2 。
一般而言,当目标区域和模型较为相符时,
- 问题:
- 仍然缺少自动学习
PSR 阈值的相关算法。
Re-detection
当目标丢失、重新detect时,对于得到的所有候选区域,用原先的tracking模板与候选区域逐个作相关,取响应值最大值最大的候选区域,若候选区域的PSR大于跟踪时的PSR阈值,则可以认为原先跟踪的目标区域已经重新出现。
Anti-deformation
KCF略优于DSST。
- 问题:
- 可以通过调整核函数的参数,提高Anti-deformation的能力,但是会造成跟踪到错误的目标,通过Colorname Distance解决?
Scale Estimation
KCF只能实现位置追踪,不能估计尺度变化,目前有两种解决方案:
- 使用DSST Scale Estimator(Danelljan, Martin, et al. “Accurate scale estimation for robust visual tracking.” British Machine Vision Conference, Nottingham, 2014.)。
- 构建一个三层的金字塔,分别是scale变大、不变、变小,和tracking模板做相关,取最大的Response峰值(或PSR)对应的scale。
后者在scale快速变化时会出现斜率过载,但速度快于DSST Scale Estimator (33 scale proposals)。
- 问题:
- 更好的Scale估计方法?
- Kernelized Correlation Filters (KCF) Tracking算法
- <<High-Speed Tracking with Kernelized Correlation Filters>> KCF(核化相关滤波)跟踪算法学习笔记
- <<High-Speed Tracking with Kernelized Correlation Filters>> KCF(核化相关滤波)跟踪算法学习笔记
- High-Speed Tracking with Kernelized Correlation Filters
- High-Speed Tracking with Kernelized Correlation Filters
- 目标追踪算法KCF(kernelized correlation filters)论文学习笔记
- 关于Kernelized Correlation Filters(KCF)运行中的小问题
- High-speed Tracking with Kernelized Correlation filters笔记
- 基于High-Speed Tracking with Kernelized Correlation Filters所感
- Summary of High-Speed Tracking with Kernelized Correlation Filters
- Kernelized Correlation Filters
- Correlation Filter in Visual Tracking系列一:Visual Object Tracking using Adaptive Correlation Filters 论
- Correlation Filter in Visual Tracking系列一:Visual Object Tracking using Adaptive Correlation Filters 论
- Summary of Visual Object Tracking using Adaptive Correlation Filters
- Visual Object Tracking using Adaptive Correlation Filters 论文笔记
- Tracking算法:Discriminative Correlation Filter (DCF)
- 论文阅读《Real-time part-based visual tracking via adaptive correlation filters》(1)
- 论文阅读《Real-time part-based visual tracking via adaptive correlation filters》(2)
- TPM模拟器安装及使用说明
- Java基础知识
- Linux命令 - w
- 新装的linux系统找不到iptables文件
- 求解最大值与最小值-分治算法
- Kernelized Correlation Filters (KCF) Tracking算法
- java 导出excel格式
- Docker简介
- 润乾报表-jboss性能优化
- 使用Arrays.asList()需要注意的点
- 软件开发文档范例
- java socket 进阶话题一: socket 客户端连接管理
- Python3-while循环语句
- 委托的清空