0 基础知识:
目标跟踪是通过在连续的视频图像序列中估计跟踪目标位置、形状或所占区域,来确定目标的运动速度、方向以及轨迹等运动信息,实现对运动目标地跟踪操作。
1 主要流程(见下图):
-
初始化目标框
-
下一帧生成多个候选框
-
提取候选框特征
-
对候选框评分
-
选择评分最高的候选框(即预测目标)
-
对多个预测值进行融合得到更优预测目标
2 一般优化环节
对应主要流程中的各个环节,提出了很多论文做优化,具体可优化部分如下:
-
候选样本的生成环节,生成候选样本的速度和质量直接决定了跟踪系统表现的优劣。通常使用粒子滤波和滑动窗口;
-
特征提取环节,显著的特征是目标跟踪的关键技术之一。特征也分为两类:手工提取的特征(Gray、HOG方向梯度直方图、Haar-like哈尔特征、SIFT尺度不变特征)和深度特征(深度网络模型训练出来的特征);
-
生成模型环节,主要分为生成式模型和判别式模型两类,生成式模型就是模板匹配,常使用稀疏表示、字典学习等;判别式模型就是训练一个分类器去区分目标和背景,选择置信度高的候选样本作为预测结果,常使用逻辑回归、岭回归、相关滤波等;
-
模型更新环节,主要是更新观测模型,以适应目标表现的变化,防止跟踪过程发生偏移;
-
融合环节,主要是如何选取预测结果,大致分两种方法:在多个预测结果中选一个最好的;利用所有的预测加权平均。
3 在线跟踪和离线跟踪
-
Online跟踪:图像序列是一步步处理的,因此该跟踪方式也称序列跟踪。
-
Offline跟踪:利用一组帧来处理数据。所有帧的观测目标需要提前获取,然后经分析计算组成最后的输出。
4 跟踪算法的发展历程
4.1 经典跟踪算法
-
基于目标模型建模的方法:通过对目标外观模型进行建模,然后在之后的帧中找到目标。特征匹配算法比较常用,SIFT特征、SURF特征和Harris角点特征等。
-
基于搜索的方法:预测算法加入跟踪算法中,在预测值附近进行目标搜索,减少搜索的范围,常用Kalman滤波、粒子滤波等。
总结 经典跟踪算法由两个致命的缺陷:
-
没有将背景信息考虑在内,导致在目标遮挡,光照变化以及运动模糊等干扰下容易出现跟踪失败的情况;
-
跟踪算法执行的速度很慢(每秒10帧左右),无法满足实时性的要求。
4.2 基于核相关滤波的跟踪算法
相关滤波算法的发展历程:MOSSE -> CSK -> KCF -> DCF -> CN -> CN2
下一篇参考:MOSSE相关滤波跟踪算法_Skywalker_air的博客-CSDN博客
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
今天天色已晚,明天继续更新,下一篇是对MOSSE算法的理解,一步一步推导到KCF,理论过完,就开始代码实战!