天天看点

目标视觉跟踪

目标视觉跟踪

方法综述

目标视觉跟踪发展到现在,已经有很多成熟的方法,这些方法主要分为两大类:产生式方法和判别式方法。
  产生式方法运用生成模型描述目标的外观特征,之后通过对候选区域进行搜索寻找与目标最接近的候选区域作为跟踪的结果。比较常用的方法有卡尔曼滤波、粒子滤波和均值滤波等等。但这种方法,只使用了目标本身的一些特征,没有利用背景信息,所以在目标自身发生剧烈变化和遮挡时,跟踪结果会产生漂移。
  判别式方法使用图像特征+机器学习的套路,在当前帧目标附近采集正负样本(目标为正样本,背景为负样本),使用这些正负样本训练一个分类器,下一帧用训练好的分类器,找出最后的候选区域作为目标的位置。现在很多跟踪方法都采用判别式方法,大部分深度学习目标跟踪也是采用这个套路的。由于判别式方法充分利用目标和背景信息,所以在跟踪过程中的表现更具鲁棒性。
           

关于目标跟踪问题一些介绍:

个人观点,对于目标跟踪研究的入门学习,我觉得搞清楚以下问题会对我们有所帮助。
           

目标跟踪一般化的处理思路:

1. 第t帧中,我们找到目标的位置Pt,那么我们尽可能的学习Pt时刻目标的一些特征(比如:color、HOG、SIFT、LBP……),然后建立一个模型,用于评估下一帧候选区域与目标的相似程度,可以采用回归器来计算,也可以使用分类器,当然方法有很多。那么我们在第t帧做的事情就是在找到目标后,建立了一个评估与目标相似度的模型。
     2. 在t+1帧中,我们首先在前一帧目标附近(只是一个概念,并不是真正的近)得到一系列的候选区域,然后用第t帧建立好的模型,计算这些区域与目标的相似程度。
     3. 在这些结果中,我们当然会选取相似度越高的区域,作为t+1时刻目标的位置。
           

这样一来,我们就完成了一次跟踪,但随着时间的累计,每一帧都会有一些误差,慢慢的误差会越来越大,这是必然会发生的,所以模型需要不断更新。在跟踪问题中,只有第一帧的目标是准确无误的,那么对于跟踪过程中产生的这个误差,我们能否用第一帧中的目标进行一个补偿修正来提高跟踪器的稳定性呢?这个问题还没有验证,但似乎有一定的可行性。

目标跟踪系统的通用框架是什么?

这个问题在《Understanding and Diagnosing Visual Tracking Systems》这篇论文中,进行了全面的分析;作者讲一个跟踪系统分为五个模块:运动模型、特征提取、观测模型、模型更新和集成结果处理(可以理解为采用多个分类器,对观测模型的结果进行评估)。

目标视觉跟踪

作者将跟踪系统分为5个部分后,分别对各个部分进行实验比较,发现在目标跟踪系统中,特征提取对结果的影响最大,运动模型和模型的更新会对结果有一些影响,当跟踪器具有多样性的时候,最后的评估部分(图中的Ensemble部分)对结果的改善也很明显。作者还指出:虽然现在有很多研究都比较关注观测模型(图中的Observation Model),但实验证明,观测模型对结果的改善并不是很明显。

Understanding and Diagnosing Visual Tracking Systems 论文的下载地址

继续阅读