目标跟踪知识点

目标跟踪的困难点 形态变化运动目标发生姿态变化时, 会导致它的特征以及外观模型发生改变, 容易导致跟踪失败。例如:体育比赛中的运动员、马路上的行人。
尺度变化 目标尺度的自适应也是目标跟踪中的关键问题。
遮挡与消失 目标在运动过程中可能出现被遮挡或者短暂的消失情况。
图像模糊 光照强度变化, 目标快速运动, 低分辨率等情况会导致图像模型, 尤其是在运动目标与背景相似的情况下更为明显。因此, 选择有效的特征对目标和背景进行区分非常必要。
目标跟踪的方法 1.基于目标模型的方法,如区域匹配(模板匹配)、特征点跟踪(SIFT,SURF,Harris角点)、光流法(相邻帧做差,PS:需要的条件:光照不变;空间一致;目标运动缓慢)
2.相关滤波(Correlation Filter):相关滤波源于信号处理领域,相关性用于表示两个信号之间的相似程度,通常用卷积表示相关操作。那么基于相关滤波的跟踪方法的基本思想就是,寻找一个滤波模板,让下一帧的图像与我们的滤波模板做卷积操作,响应最大的区域则是预测的目标。根据这一思想先后提出了大量的基于相关滤波的方法,如最早的平方误差最小输出和(MOSSE)利用的就是最朴素的相关滤波思想的跟踪方法。随后基于MOSSE有了很多相关的改进,如引入核方法(Kernel Method)的CSK,KCF等都取得了很好的效果,特别是利用循环矩阵计算的KCF,跟踪速度惊人。在KCF的基础上又发展了一系列的方法用于处理各种挑战。如:DSST可以处理尺度变化,基于分块的(Reliable Patches)相关滤波方法可处理遮挡等。但是所有上述的基于相关滤波的方法都受到边界效应(Boundary Effect)的影响。为了克服这个问题SRDCF应运而生,SRDCF利用空间正则化惩罚了相关滤波系数获得了可与深度学习跟踪方法相比的结果。
3.深度学习(CNN-Based):因为深度特征对目标拥有强大的表示能力,深度学习在计算机视觉的其他领域,如:检测,人脸识别中已经展现出巨大的潜力。但早前两年,深度学习在目标跟踪领域的应用并不顺利,因为目标跟踪任务的特殊性,只有初始帧的图片数据可以利用,因此缺乏大量的数据供神经网络学习。只到研究人员把在分类图像数据集上训练的卷积神经网络迁移到目标跟踪中来,基于深度学习的目标跟踪方法才得到充分的发展。如:CNN-SVM利用在ImageNet分类数据集上训练的卷积神经网络提取目标的特征,再利用传统的SVM方法做跟踪。与CNN-SVM提取最后一层的深度特征不同的是,FCN利用了目标的两个卷积层的特征构造了可以选择特征图的网络,这种方法比只利用最后的全连接层的CNN-SVM效果有些许的提升。随后HCF, HDT等方法则更加充分的利用了卷积神经网络各层的卷积特征,这些方法在相关滤波的基础上结合多层次卷积特征进一步的提升了跟踪效果。然而,跟踪任务与分类任务始终是不同的,分类任务关心的是区分类间差异,忽视类内的区别。目标跟踪任务关心的则是区分特定目标与背景,抑制同类目标。两个任务有着本质的区别,因此在分类数据集上预训练的网络可能并不完全适用于目标跟踪任务。于是,Nam设计了一个专门在跟踪视频序列上训练的多域(Multi-Domain)卷积神经网络(MDNet),结果取得了VOT2015比赛的第一名。但是MDNet在标准集上进行训练多少有一点过拟合的嫌疑,于是VOT2016比赛中禁止在标准跟踪数据集上进行训练。2016年SRDCF的作者继续发力,也利用了卷积神经网络提取目标特征然后结合相关滤波提出了C-COT的跟踪方法取得了VOT2016的冠军。
视觉目标跟踪基本流程与框架 视觉目标(单目标)跟踪任务就是在给定某视频序列初始帧的目标大小与位置的情况下,预测后续帧中该目标的大小与位置。
目标跟踪知识点
文章图片

输入初始化目标框,在下一帧中产生众多候选框(Motion Model),提取这些候选框的特征(Feature Extractor),然后对这些候选框评分(Observation Model),最后在这些评分中找一个得分最高的候选框作为预测的目标(Prediction A),或者对多个预测值进行融合(Ensemble)得到更优的预测目标。
根据如上的框架,我们可以把目标跟踪划分为5项主要的研究内容. (1)运动模型:如何产生众多的候选样本。(2)特征提取:利用何种特征表示目标。(3)观测模型:如何为众多候选样本进行评分。(4)模型更新:如何更新观测模型使其适应目标的变化。(5)集成方法:如何融合多个决策获得一个更优的决策结果。下面分别简要介绍这5项研究内容。
运动模型(Motion Model):生成候选样本的速度与质量直接决定了跟踪系统表现的优劣。常用的有两种方法:粒子滤波(Particle Filter)和滑动窗口(Sliding Window)。粒子滤波是一种序贯贝叶斯推断方法,通过递归的方式推断目标的隐含状态。而滑动窗口是一种穷举搜索方法,它列出目标附近的所有可能的样本作为候选样本。
特征提取(Feature Extractor): 鉴别性的特征表示是目标跟踪的关键之一。常用的特征被分为两种类型:手工设计的特征(Hand-crafted feature)和深度特征(Deep feature)。常用的手工设计的特征有灰度特征(Gray),方向梯度直方图(HOG),哈尔特征(Haar-like),尺度不变特征(SIFT)等。与人为设计的特征不同,深度特征是通过大量的训练样本学习出来的特征,它比手工设计的特征更具有鉴别性。因此,利用深度特征的跟踪方法通常很轻松就能获得一个不错的效果。
观测模型(Observation Model):大多数的跟踪方法主要集中在这一块的设计上。根据不同的思路,观测模型可分为两类:生成式模型(Generative Model)和判别式模型(Discriminative Model). 生成式模型通常寻找与目标模板最相似的候选作为跟踪结果,这一过程可以视为模板匹配。常用的理论方法包括:子空间,稀疏表示,字典学习等。而判别式模型通过训练一个分类器去区分目标与背景,选择置信度最高的候选样本作为预测结果。判别式方法已经成为目标跟踪中的主流方法,因为有大量的机器学习方法可以利用。常用的理论方法包括:逻辑回归,岭回归,支持向量机,多示例学习,相关滤波等。
模型更新(Model Update): 模型更新主要是更新观测模型,以适应目标表观的变化,防止跟踪过程发生漂移。模型更新没有一个统一的标准,通常认为目标的表观连续变化,所以常常会每一帧都更新一次模型。但也有人认为目标过去的表观对跟踪很重要,连续更新可能会丢失过去的表观信息,引入过多的噪音,因此利用长短期更新相结合的方式来解决这一问题。
【目标跟踪知识点】集成方法(Ensemble Method): 集成方法有利于提高模型的预测精度,也常常被视为一种提高跟踪准确率的有效手段。可以把集成方法笼统的划分为两类:在多个预测结果中选一个最好的,或是利用所有的预测加权平均。
reference:https://blog.csdn.net/weixin_...

    推荐阅读