本文参考了hjl240的文章:追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)
本文参考了leek1727文章:An Experimental Survey on Correlation Filter-based Tracking
本文参考的原文献包括:An Experimental Survey on Correlation Filter-based Tracking,Understanding and Diagnosing Visual Tracking Systems,High-Speed Tracking with Kernelized Correlation Filters
目标跟踪系统框架
1、运动模型:基于对当前当前帧的估计,该模型会产生一些在当前帧可能包含的目标候选区或者bounding boxes;
2、特征提取:对每个候选区域提取特征,用这些特征来表征这些候选区域;
3、观测模型:对候选区域的的特征进行分析,来确定该区域是否为目标区域;
4、模型更新器:用来更新观测模型以及控制更新的策略和频率;
5、合奏后处理:当一个跟踪系统中含有多个跟踪器时,要对多个跟踪器的跟踪结果进行一个组合分析,得到最终的跟踪结果。
跟踪的框架如下:
输入帧—运动模型—特征提取—观测模型—模型更新—合奏后处理器
输入帧即目标区域,同时初始化观测模型;下帧运动模型产生一系列的候选区域;提取候选区域的特征;观测模型计算候选区域是目标区域概率;更新模型基于观测模型的输出判断是否更新观测器;合奏后处理器整合;多个跟踪器然后输出(单个跟踪器则没有第五部分)。如下图:
三、 在Chen Zhe 2015年发表的 An Experimental Survey on Correlation Filter-based Tracking文章里,他总结了近年来相关滤波视觉跟踪方法。相关滤波器跟踪框架如下:
输入—特征提取 —(余弦窗)—(傅里叶变换)—(傅立叶逆变换) —(相关滤波器) —确定最大响应值 —更新目标位置
1、输入:初始化,确定当前输入,并根据视频的第一帧中目标位置提取的特征,训练、学习得到相关滤波器;
2、特征提取:对于随后的每一帧,裁剪下之前的预测区域,从上一帧目标区域提取特征用来检测;可以从原始的输入数据中提取大量特征,通常情况下,为了平滑结果,我们会加上一个余弦窗口;
3、确定最大响应值:利用余弦傅里叶变换类替代卷积操作(提升计算效率),即做傅里叶变换,然后与相关滤波器相乘,结果做傅里叶逆变换,最大响应区就是要跟踪的目标新位置;
4、更新目标位置:新位置区域训练、更新得到新的相关滤波器,用于之后的观测。
四、综上,可以看出目标跟踪,其实它的大体流程都是相同,只是为了在视觉跟踪领域方便自己的理论研究而提出了与自己理论研究相对应的跟踪结构框架。其实很多跟踪算法只是对跟踪框架中的某个部分进行了改进,并没有影响到整个跟踪框架。初接触目标跟踪看到每篇文章基本上都有自己的跟踪框架,当时也是一头雾水。在Wang NaiYan博士2015年发表的 Understanding and Diagnosing Visual Tracking Systems的文章,对跟踪框架进行了很详尽的描述。将传统的目标跟踪算法框架进行了更精细分解,分为motion model、feature extractor、observation model、model updater以及ensemble post-processor五部分,但并没有改变跟踪的本质。精细分解后的结构框架更利于对视觉跟踪的研究,更方便确定在视觉跟踪当中哪个部分对跟踪影响更加重要,Wang NaiYan博士提出这个视觉跟踪框架,通过实验验证进而提出了特征提取在目标跟踪当中的重要性远比观察模型要重要得多。
纯新手才接触目标跟踪不久,第一次写博客,很多理解不到位的,请大家多多见谅,更希望能够多多批评指正,帮助进步,我一定虚心接受。
下篇文章我将接着第二部分, Chen Zhe发表的文章总结了近年来相关滤波视觉跟踪方法,写一下kcf(High-Speed Tracking with Kernelized Correlation Filters)跟踪算法部分介绍,代码以及运行的结果分析,正好巩固一下相关滤波器跟踪方法。
本文参考了hjl240的文章:追踪系统分模块解析(Understanding and Diagnosing Visual Tracking Systems)
本文参考了leek1727文章:An Experimental Survey on Correlation Filter-based Tracking
本文参考的原文献包括:An Experimental Survey on Correlation Filter-based Tracking,Understanding and Diagnosing Visual Tracking Systems,High-Speed Tracking with Kernelized Correlation Filters
目标跟踪系统框架
1、运动模型:基于对当前当前帧的估计,该模型会产生一些在当前帧可能包含的目标候选区或者bounding boxes;
2、特征提取:对每个候选区域提取特征,用这些特征来表征这些候选区域;
3、观测模型:对候选区域的的特征进行分析,来确定该区域是否为目标区域;
4、模型更新器:用来更新观测模型以及控制更新的策略和频率;
5、合奏后处理:当一个跟踪系统中含有多个跟踪器时,要对多个跟踪器的跟踪结果进行一个组合分析,得到最终的跟踪结果。
跟踪的框架如下:
输入帧—运动模型—特征提取—观测模型—模型更新—合奏后处理器
输入帧即目标区域,同时初始化观测模型;下帧运动模型产生一系列的候选区域;提取候选区域的特征;观测模型计算候选区域是目标区域概率;更新模型基于观测模型的输出判断是否更新观测器;合奏后处理器整合;多个跟踪器然后输出(单个跟踪器则没有第五部分)。如下图:
三、 在Chen Zhe 2015年发表的 An Experimental Survey on Correlation Filter-based Tracking文章里,他总结了近年来相关滤波视觉跟踪方法。相关滤波器跟踪框架如下:
输入—特征提取 —(余弦窗)—(傅里叶变换)—(傅立叶逆变换) —(相关滤波器) —确定最大响应值 —更新目标位置
1、输入:初始化,确定当前输入,并根据视频的第一帧中目标位置提取的特征,训练、学习得到相关滤波器;
2、特征提取:对于随后的每一帧,裁剪下之前的预测区域,从上一帧目标区域提取特征用来检测;可以从原始的输入数据中提取大量特征,通常情况下,为了平滑结果,我们会加上一个余弦窗口;
3、确定最大响应值:利用余弦傅里叶变换类替代卷积操作(提升计算效率),即做傅里叶变换,然后与相关滤波器相乘,结果做傅里叶逆变换,最大响应区就是要跟踪的目标新位置;
4、更新目标位置:新位置区域训练、更新得到新的相关滤波器,用于之后的观测。
四、综上,可以看出目标跟踪,其实它的大体流程都是相同,只是为了在视觉跟踪领域方便自己的理论研究而提出了与自己理论研究相对应的跟踪结构框架。其实很多跟踪算法只是对跟踪框架中的某个部分进行了改进,并没有影响到整个跟踪框架。初接触目标跟踪看到每篇文章基本上都有自己的跟踪框架,当时也是一头雾水。在Wang NaiYan博士2015年发表的 Understanding and Diagnosing Visual Tracking Systems的文章,对跟踪框架进行了很详尽的描述。将传统的目标跟踪算法框架进行了更精细分解,分为motion model、feature extractor、observation model、model updater以及ensemble post-processor五部分,但并没有改变跟踪的本质。精细分解后的结构框架更利于对视觉跟踪的研究,更方便确定在视觉跟踪当中哪个部分对跟踪影响更加重要,Wang NaiYan博士提出这个视觉跟踪框架,通过实验验证进而提出了特征提取在目标跟踪当中的重要性远比观察模型要重要得多。
纯新手才接触目标跟踪不久,第一次写博客,很多理解不到位的,请大家多多见谅,更希望能够多多批评指正,帮助进步,我一定虚心接受。
下篇文章我将接着第二部分, Chen Zhe发表的文章总结了近年来相关滤波视觉跟踪方法,写一下kcf(High-Speed Tracking with Kernelized Correlation Filters)跟踪算法部分介绍,代码以及运行的结果分析,正好巩固一下相关滤波器跟踪方法。