码迷,mamicode.com
首页 > 其他好文 > 详细

多目标跟踪 综述(二)

时间:2016-10-31 18:40:14      阅读:369      评论:0      收藏:0      [点我收藏+]

标签:tle   不能   position   res   文章   加速   rgb   问题   pos   

多目标跟踪 综述(二)

前面介绍了什么是MTT问题,MTT问题面临的难点,以及MTT的一般形式化表达和方法的分类。这里主要介绍下一般的MTT方法都包含哪些component,以保证提出模型考虑问题更加全面。

一般MTT方法都会包含个components,分别是Appearance Model,Motion Model,Interaction Model, Exclusion Model 和Occlusion Model。

Appearance Model

即表观模型,这里既包含目标的视觉表示,也包括目标间相似性、相异性的度量。

视觉表示肯定是基于图像特征了。这里先介绍一些特征。

  • point feature, 比如Harris角点、SIFT角点、SURF角点等等

  • Color/intensity features, 比如最简单的模板、颜色直方图等

  • Optical flow, 光流特征蕴含了时域信息

  • Gradient/pixel-comparison features, 基于梯度的特征,典型的如HOG特征

  • Region covariance matrix features, 该特征对于光照和尺度变换相对鲁棒

  • Depth, 即深度信息,对于视频这种3D数据作用还是蛮大的

  • others,针对于具体应用的特征,比如对于行人的步态特征等

总之呢,每个特征都不是万能的,有优点也有缺点,比如Color histogram简单,容易计算相似性,但其仅仅是统计信息,丢失了区域像素的位置信息。 Points features对于平面内变换非常有效,但对于遮挡和out-of-plane变化就无能无力了。 HOG等梯度特征显然对光照比较鲁棒,但对于遮挡和形变效果很差,Region covariance matrix鉴别能力很强,但计算太复杂。 Depth则很难获得精确值。

接下来介绍一些目标表示方法

像素模板表示

这是最基本的方法,直接使用目标所在区域的像素矩阵表示目标。目标间的相似度使用归一化交叉相关系数的函数表征(NCC,Normalized Cross Correlation)。比如已知目标的模板表示技术分享,则候选目标与源目标的相似度可以定义为技术分享。采用模板匹配的方法进行跟踪时,一般每一帧都要更新模板,简单易行,但显然这种方法对于遮挡、光照等问题比较敏感。

颜色直方图表示

由于颜色直方图能够很方便的获得目标区域的统计信息,颜色直方图被广泛采用。 颜色直方图之间的相似性或者相异性一般和
直方图的巴氏系数有关(Bhattacharyya coefficient)。

比如我们前面介绍的基于人体部件的行人跟踪方法中,两个tracklets的相似度定义为

技术分享

其中技术分享表示巴氏系数,技术分享表示颜色直方图。

再比如zhang[1]中,假设已知目标技术分享的颜色直方图技术分享,则目标之间的相似度刻画为

技术分享

其中技术分享表示巴氏距离,技术分享分别表示目标相似性和相异性的高斯分布的均值和方差,这可以由训练集获得。

但是颜色直方图丢失了空间信息。

协方差矩阵表示

(这个我也是不大明白,这里粗略的介绍下,后面搞明白了再补)
Henriques等2011年的一篇文章[2]中使用协方差矩阵表示目标的表观,其光照、旋转等具有较好的鲁棒性。

目标之间匹配可能性定义如下

技术分享

高斯分布的参数由训练集得到。
(待补)

其他

还有一些其他方法,比如基于梯度的表示方法和词袋表示方法等。

上面介绍的一些表示方法都存在不同的优缺点,因此可以把他们结合起来利用。结合方式包含以下几种

  • Boosting
    比如real adaboost方法去筛选出一些鉴别能力较强的特征

  • Concatenating
    比如将HoG,颜色直方图,光流等特征串联起来,然后再使用PCA进行降维技术分享,得到目标表示。目标之间相似度可以定义为技术分享,技术分享是在线获得的协方差矩阵

  • Summation
    这个是指不同表示获得的相似度进行加权求和。比如技术分享

  • Product
    这个主要是从概率的乘法公式考虑。比如目标技术分享的某个潜在匹配技术分享颜色直方图、形状、词袋表示为技术分享的概率为技术分享,假设这些特征是独立的,那么技术分享

  • Cascading
    这个是只采用级联的方式判断目标间的相似度,如果一种表示认为目标间匹配再继续使用下一种表示判断,出现不匹配的判断则停止,认为不匹配,知道所有的表示都判断完。

Motion Model

该成分主要考虑时域上的运动特性,比如速度的渐变等。

该模型主要采用的方式有两种:匀变速模型和变速模型

匀变速模型

顾名思义,该模型认为速度除了噪声干扰,应该是保持均匀变化的,比如加速度为0。

技术分享

这个应用很多,比如前面文章(MTT)连续能量函数最小化方法中使用全局速度累积变化来约束速度变化技术分享, 再比如之前基于层次关联的鲁棒多目标跟踪中使用速度刻画tracklets相连的概率

技术分享

如下图

技术分享

1477881408294.jpg

上面两个模型仅考虑时间上tracklets的速度关系,还有方法考虑到空间中相邻tracklets的关系,比如tracklets近邻对技术分享,如果已经知道技术分享相匹配,计算技术分享匹配的可能性。可以首先将技术分享的起始时间对齐技术分享,然后计算在技术分享时刻预测的两个目标距离与响应间距离的差异技术分享,其中上标技术分享表示end,其距离差异可以认为服从高斯分布技术分享,所以如果距离越小,也就表示 技术分享匹配的可能性越大。

技术分享

1477882424111.jpg

除了加速度为0,还可以考虑加速度非零情况,比如

技术分享

Note。 对于这个表示我个人觉得并不合适,因为第二项速度的分布和第三项加速的的分布并不是独立的。

非匀变速模型

有些获取的视频并不能保证每帧之间的速度是渐变的,比如低帧高速运动的物体中速度突然发生改变,那么显然匀变速假设就不合理了,所以也有非匀变速模型的提出。

Yang[3]中使用了一些tracklets集合作为速度变化较大的tracklets之间的衔接部件,比如下图中技术分享显然按照匀变速模型的处理方式,判断他们匹配的概率很小,然后使用衔接集合中的技术分享技术分享的头节点和技术分享的尾节点匹配度较高,技术分享的尾节点和技术分享的头节点匹配度较高,那么就可以认为技术分享构成一个较长的tracklet.

技术分享

1477895392324.jpg

Interaction Model

同一运动场景中的目标,往往运动轨迹会相互影响,比如晨跑中跑步的人往往倾向于扎堆,但又保持距离,随着跑步过程,相距很近的人慢慢的节奏就调整一致等等。 interaction Model包括两种典型的模型: social force model和crowd motion pattern model

social force model

该模型认为每个个体受到两部分作用:自身作用和外部作用
自身作用:1. fidelity,首先目标的目的地不会发生改变;2. constancy,其次个体的速度一般不会发生跳变,包括大小和方向
环境作用:1. attraction,首先同一类的个体往往距离很近;2. repulsion,其次每个目标都会有相应的舒适距离,不能太近;3. coherence,靠近的目标往往速度会比较相近。

介绍几个模型:
Pellegrini(2009)[4]模型中考虑了fidelity,constancy和repulsion.
repulsion,假设目标表示为技术分享表示位置和速度,技术分享表示技术分享之间的最小舒适距离,对应舒适距离的能量项为技术分享,这个能量项形式可以很多,然后目标技术分享和附近所有目标舒适距离的约束为技术分享,其中技术分享表示权重。
fidelity,技术分享,其中技术分享表示目标i的目的地位置
constancy,技术分享,这里技术分享是预估的目标i的均匀速度

所以最终interaction model为: 技术分享

通过这个模型的优化,能够有效减小待匹配空间的大小,使数据关联的复杂度得到下降。

Yamaguchi (2011)[5]除了类似与Pellegrini(2009)模型中的repulsion和constancy外还考虑了其他四个方面。
那个目标表示为技术分享,分别是位置、速度、预估速度、目的地、所在group
速度:速度是渐变的技术分享,速度应该近似与预估速度技术分享
attraction,

技术分享

其中第一项相当于刻画同一组内速度的余弦距离,第二项相当于计算同一组目标相对位置和速度的余弦,文中没有说v是什么速度,我有点困惑这里,为什么要计算第二项。。。。。。

Scovanner(2009)[6]提出的模型中包含了4个部件。技术分享约束目标不要在space内大幅跳变,技术分享约束速度不变,技术分享保证目的地不变,技术分享约束目标之间的关系repulsion。

crowd motion pattern models

该模型一般适用于过拥挤的环境,这中情况下,目标往往非常集中以至目标太小,表观等特征根本起不到作用,这时候就场景中特有的运动模识就起到了关键作用了。

Ali(2008)[6]认为目标的行为往往收到周围环境的影响,包括场景结构和目标周围物体等。所以他们认为目标收到三个方面的作用。
Static Floor Fields (SFF),主要考虑的是scene structure,包括出现最多的路径区域和出口信息等。
Boundary Floor Field (BFF),主要考虑可能对目标产生遮挡的部分
Dynamic Floor Field (DFF),主要刻画目标周围其他目标的总的运动趋势
然后三个部分进行加权综合考虑

Zhao(2012)[7]使用ND tensor voting的方法获得所有目标运动模式,然后使用这些模式进行预测位置和速度等

还有一些其他模型这里不再介绍。

Exclusion Model

这部分主要是指1。一个目标只能出现在一条轨迹上;2. 一条轨迹只能对应一个目标,就是说多个目标不能出现在同一段轨迹上

Occlusion Handling

遮挡问题是多目标跟踪中的难点。处理遮挡问题的方法包括

  1. Part-to-whole,即将目标分解成若干个部件,当目标被部分遮挡时,还可以通过部件的匹配来推测整体目标的匹配

  2. Hypothesize-and-test,假设检验的方法根据观测值去估计目标在其他未被检测区域是因为遮挡导致的概率,可以说是一种MAP方法

  3. Detection-of-occlusion, 有些学者通过直接对遮挡的样本进行训练,然后使用分类器去检测并判断遮挡区域

  4. Buffer-and-recover,这种策略当目标在下一帧中没找到匹配时,记下最后检测到的目标s,先把目标缓存起来,然后继续进行之后帧的匹配,如果在T帧内找到匹配的目标技术分享,那么就将技术分享连接起来,认为中间都被遮挡了,否则则认为轨迹在技术分享处已经终止。

  5. others,比如实际应用中也会根据相机位置和区域中心坐标来判断谁被遮挡了,有时这些策略也会联合使用。

多目标跟踪的评价指标

这个参见多目标跟踪的评价指标


下一篇,我们介绍下常用的数据集和已经存在的公布代码的方法。


  1. Zhang L, Li Y, Nevatia R (2008) Global data association for multi-object tracking using network flows. CVPR, 1-8 ?

  2. Henriques JF, Caseiro R, Batista J(2011) Globally optimal solution to multi-objecy tracking with merged measurements, ICCV,2470-2477 ?

  3. Yang B, Nevatia R(2012a) Multi-target tracking by online learning of non-linear motion patterns and robust appearance models. ICCV, 1918-1925 ?

  4. Pellegrini S, Ess A, Schindler K, Van Gool L(2009) YOu‘ll never walk alone: Modeling social behavior for multi-target tracking. ICCV, 261-268. ?

  5. Yamaguchi K, Berg AC, Ortiz LE, Berg TL(2011) who are you with and where are you going? CVPR, 1345-1352 ?

  6. Ali S, Shah M(2008) Floor field for tracking in high density crowd scenes. ECCV,1-14 ? ?

  7. Zhao X, Gong D, Medioni G(2012) Tracking using motion patterns for very crowed scenes. ECCV, 315-328 ?

多目标跟踪 综述(二)

标签:tle   不能   position   res   文章   加速   rgb   问题   pos   

原文地址:http://www.cnblogs.com/YiXiaoZhou/p/6016759.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!