首页 > 代码库 > Object Tracking

Object Tracking

 

l  方法综述

l   Kalman 滤波器,扩展Kalman 滤波器,

l   点追踪,轮廓追踪,3D建模追踪,基于颜色分布的追踪方法。

l   3D建模方法跟踪很有效,但耗费时间。颜色直方图方法因为简单,有效并且高效的特性,成为了目前比较流行的一个用于表示被跟踪目标的方法。但颜色直方图也有局限性。隐马尔科夫模型是另一个得到认可的车辆状态估计和跟踪方法。(注:隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型,用来描述一个含有隐含未知参数的马尔可夫过程。目的是从可观察的参数中确定该过程的隐含参数,然后利用这些参数来作进一步的分析。)。另一种方法是使用角特征来处理遮挡,并在拥挤的城市道路中进行跟踪。

l   利用SIFT进行被跟踪目标特征提取,然后作为输入参数使用其他方法进行跟踪。

 

1.    粒子滤波器  Rob Hess实现

  • 概述

 

概念上,一个基于粒子滤波器的跟踪器根据被跟踪目标的状态维护一个概率分布。粒子滤波器把这个分布描绘成一个具有权重的加权样本,或者粒子。每个粒子都代表了目标状态一个可能的实例。换句话说,每个粒子都被看成被跟踪目标一个可能的所在位置的猜测性的代表。在被跟踪目标最有可能所在的位置处的这一组粒子会包含更高的权重。这个加权分布通过一系列被称为贝叶斯过滤方程的方法随着时间蔓延,最后我们通过选取最高权重的粒子,或者不断迭代粒子集合的加权,来判定目标轨迹。

这里讨论的粒子滤波器是简单的单一目标跟踪器,使用一个颜色直方图观察模型和一个二阶自回归动态模型。

 

  • 实现

 

  1. 提取目标特征。

成功检测并识别目标,把目标区域色调空间的直方图作为目标的特征。直方图可以用一个向量来表示,所以目标特征就是一个N*1的向量。

  1. ­­搜索阶段。

以目标可能的所在位置附近为重点区域,提高重点区域的权重,具体则是按照高斯分布来确定局部区域的权重。计算每个粒子所处区域基于色调空间的特征向量。

  1. 比较每个粒子的特征向量与目标特征向量的相似性,判定目标可能的当前位置。
  2. 提高匹配成功可能性最大区域的权重。

循环2-3-4-2。

  • 不足

 

  1. 只能跟踪单个目标,需要改进使适应多目标跟踪。
  2. 在图片序列的大小比较大的时候,算法效率不高。
  3. 在环境条件比较差的情况下,例如雾霾、阴天等情况下容易失去目标。

2.    构建可变形对象模型,以及使用经过改进的似然估计法的粒子滤波器方法

  • 详述

 

利用可变形对象模型的建模结果,包括检测分数图,以及对车辆的整体和部分的匹配器,来增加跟踪的精度和数据关联程度。考虑到由于车辆移动导致的模型变化的代价,我们利用车辆的匹配器,包括车辆整体和部分的模板,来计算处在不同位置拥有相同车辆外观的似然度。当目标的位置和某些部分的视角发生变化时,这种方法对跟踪移动目标很有效。以画面的上一帧为基础,使用预测和更新的结果作为车辆检测的先验概率模型,用于降低因为遮挡和图像重叠所造成的检测结果假阴性。使用粒子滤波器的数据来动态更新检测阈值。

       在检测阶段,使用一个可变形的对象模型算法来检测车辆。算法通过扫描整个画面,使用1个由“整体”和6个“部分”滤波器组成的车辆模型,以及一个用于关联每个“部分”滤波器的特殊的模型。这个特殊的模型为“部分”滤波器定义了一系列以车辆结构为基础的合理的布局。

  1. 似然度计算     

在城市道路上,假阴性的产生主要来源于运动模糊,照明和遮挡。我们可以很容易的想到通过降低阈值来减少假阴性率(漏报率),尽管会带来假阳性率(误报率)升高的问题。因此,在复杂的城市交通下,为了减少假阴性率同时不提高假阳性率,来自上一帧的跟踪信息就被作为先验概率用于更新步骤3(车辆检测)的阈值。在步骤6(计算和更新粒子的似然度),生成了车辆的“假设”区域,并且为了减少假阴性结果,阈值在下一帧被设为了一个更低的值。步骤4(检测目标融合),在时刻t新检测到的车辆与上一帧的跟踪信息融合。如果是第一次被检测到,M粒子会根据高斯分布被初始化。如果被检测目标被识别为“侧视”的视角,那么相比于“前视”和“后视”的视角,粒子分布的水平差异的初始值会被设为更高。另一方面,如果被检测车辆之前已经被检测到,就利用一个kalman滤波器,用于在步骤5(状态预测)中生成预测结果。考虑到步骤6(计算和更新粒子的似然度)里变形所产生的计算开销,粒子的似然度将通过汇总检测得分图的分数和在两个连续帧中车辆的“整体”和“部分”的灰度相关性来更新。

  1. 采样方法

    在采样过程中,我们要求能够从重要性密度函数来采样的能力。使用高斯分布来统计重要性采样分布,它可以用一个Kalman滤波器来被追踪。被检测目标的运动模型近似于一个匀速直线运动,因为摄像机帧率很低,并且测量是线性的。

  1. 数据关联

       在多目标跟踪中,考虑到遮挡的问题,在拥挤的城市道路中做好数据关联是很重要的一个问题。我们使用在文献“System approach for multi-purpose representations of traffic scene elements”中提出的帧间数据关联的算法。这个方法把检测结果绑定到合适的模型来解决IM­t(时刻t的图像)中被检测车辆一对一的映射。

 

 

  • 实现

 

检测阶段

  1. 用直方图表示特征
  2. 生成检测得分图。
  3. 车辆检测。
  4. 检测对象融合。

跟踪阶段

  1. 更新粒子状态。

新检测到的目标,则初始化粒子。已经检测到的目标,则进行状态预测。

  1. 计算和更新粒子似然度。

针对步骤3检测车辆阶段,更新车辆的假设区域和检测阈值。

  1. 重采样。
  • 不足

 

 

 

现有的参考代码实现

l    

 

HSV颜色空间特征与Kalman滤波融合的目标检测与跟踪。输入源是摄像头。A为输入源,B为HSV图像,C为阈值图像,D为手动调整参数栏,用于定义被跟踪目标的色调、饱和度、亮度的范围,可以在目标已经被检测到的情况下,将目标的HSV特征作为输入参数,然后进行跟踪。

 

l    

 

Opencv 实现,不基于颜色的实时目标跟踪。输入源是视频。从左至右依次是差异图像,阈值图像,最终阈值图像,带准心跟踪标识的图像。

 

阅读文献和资料

论文

发布时间

On-road multivehicle tracking using deformable object model and particle ?lter with improved likelihood estimation

2012

Integrated lane and vehicle detection, localization, and tracking A synergistic approach

2013

基于HSV模型的运动目标提取与跟踪

2010

基于模板匹配的多模式车辆跟踪算法

2007

http://blogs.oregonstate.edu/hess/code/particles/

 

 

 

问题

  • 大部分跟踪方法,有的需要以准确的被跟踪目标特征为前提,或者需要在跟踪的过程中不断矫正检测的阈值或特征向量等信息。前者要求有准确、完善的检测数据为前提,比如参考实现例子1,需要有既定的参数输入。后者只需要提供一个被检测目标,然后再检测过程中不断矫正被检测目标的数据,比如参考实现例子2。所以跟踪和检测结合的比较紧密,做跟踪需要同时处理检测。

Object Tracking