多目标跟踪的问题是这样的:有一段视频,视频是由 N 个 连续帧构成的。从第一帧到最后一帧,里面有多个目标,不断地有出有进,不断地运动。我们的目的是对每个目标,能跟其他目标区分开,能跟踪它在不同帧中的轨迹。最经典的应用就是路口监控中看到的行人了。
Input: detection responses。现在拿来一段视频,我们先用 state-of-art detectors 把各帧中的人检测出来,包括位置、大小。当然,这个检测是有 noise 的,否则也就没必要用各种 MOT 方法来处理了。每个 detection 产生的结果就是 response,它还有一个可信度,比如80%可信,20%可信。
Output: Tracklets. 就是最终得到每个 target 的轨迹。
Challenges: Occlusions,similar appearance,complex motion,false alarms.这些问题基本上是每篇论文都在努力解决的。
Occlusions:有三种,被场景中的物体遮挡,被其他 target 遮挡,被自己遮挡(如变形,无法检测到),遮挡之后,本来应该检测到的 target 就检测不到了。解决的方法如根据 temporal 信息,估计出某一帧的某个位置有 target 被遮挡了。
Appearance:一是怎么把 target 与背景分开;二是怎么把不同的 target 分开。一般需要设计一个很好的外观模型,比如用 HOG、color histogram 等等。
Motion: 最简单的情况是匀速直线运动,这样我们很好预测下一帧中这个 target 在哪,但实际情况往往并不如此。比如可能来了个急转弯,可能突然转身往回走。解决之道,一般要设计更灵活、更复杂的运动模型。
False Alarms: detector 给出了 response,但实际上那个地方并没有 target,误检。这就要根据可信度,以及多种 refinement 方法来甄别了。
原文链接:Multiple Object Tracking: A Literature Review
摘要
多目标跟踪因其学术和商业潜力,在计算机视觉中逐渐备受关注。尽管如今已经有多种多样的方法来处理这个课题,但诸如目标重叠、外观剧变等问题仍然是它所面临的重大挑战。在本文中,我们将提供关于多目标跟踪最综合、最新的资讯,检验当下最新技术突破,并对未来研究提出几个有趣的方向。据我们所知,关于这个课题还没有被广泛调查研究过,因此我们将尽力提供近世纪以来关于多目标跟踪最全面的介绍。本文的主要贡献点如下四条:1)多目标跟踪系统的关键方向,包括公式(formulation),分类(categorization),关键原则(key principles),以及测评(evaluation);2)根据现有技术所属的不同方向来进行讨论,再将每个方向的方法划分为成组,然后对组内方法的原则、优缺点进行讨论;3)检验现有公开的实验并且总结在主流数据集上的实验结果,再进行量化地对比,与此同时指出分析中发现的几个有趣的问题;4)提供在MOT研究中会遇到的问题的讨论,以及可能在以后的工作中会出现的潜在可研究方向。
1、介绍
多目标跟踪(Multiple Object Tracking or Multiple Target Tracking, MOT or MTT)主要任务是在给定视频中同时对多个感兴趣的目标进行定位,并且维持他们的ID、记录他们的轨迹。这些目标可以是路上的行人【1~2】,路上的车辆【3~4】,操场上的运动员【5~7】,或者多组动物(鸟【8】,蝙蝠【9】,蚂蚁【10】,鱼【11~13】,细胞【14~15】,等等),甚至是一个单目标中的不同部分【16】。在本文中我们主要关注行人跟踪的研究,有如下三个原因:第一,与生活中其他物体相比,行人是典型的非刚体目标,MOT的理想例子;第二,在实际应用中存在大量的含有行人的视频,这意味着巨大的商机;第三,据数据统计,至少70%的MOT研究都是针对行人的。
作为计算机视觉中的一项中级(mid-level)任务,多目标跟踪依赖于高级(high-level)任务,如姿态估计【17】,动作识别【18】和行为分析【19】。它有许多实际应用,如视频监控【20】,人机交互【21】和虚拟现实【22】。这些实际需求引起了人们对这一话题的极大兴趣。与之相对的,单目标跟踪(Single Object Tracking, SOT)主要集中在设计复杂的外观模型和/或运动模式,解决具有挑战性的问题如尺度变化,出平面旋转和光照变化,而多目标跟踪还有额外的两个任务需要解决:确定目标的数量(通常随时间变化),和维持各自的ID。除了SOT和MOT的共同问题外,MOT还需要处理更复杂的关键问题包括:1)频繁遮挡;2)轨道初始化和终止;3)相似的外观;4)多目标间的相互影响。为了解决所有这些问题,在过去的几十年里,人们提出了广泛的解决方案。这些解决方案集中在MOT系统的不同方面,使得MOT研究人员,特别是新手,很难对这个问题有全面的了解。因此,在本文中,我们提供了关于多目标跟踪问题各个方面的详细讨论。
1.1、与其他相关综述的不同
据我们所知,关于多目标跟踪的问题还没有一个全面的文献综述。然而,也有一些与多目标跟踪有关的其他文献资料,如表1所示。我们将这些文献分为三组,然后着重指出我们之间的差异如下:
第一类【19~21】【23~24】在将跟踪作为一个单独部分来讨论的同时,还详细讨论了MOT的各个方面。例如,将目标跟踪作为高级任务的过程中的一个步骤进行讨论,如人群建模【19】【23~24】。类似地,在【20~21】中,将目标跟踪划为行为识别【21】或视频监视系统【20】的一部分。
第二类【25~28】专注于一般视觉跟踪技术【25~27】或一些特定的问题如外观模型【28】,但这类文献涉及范围更广。相反,本文更全面地关注多目标跟踪。
第三类【29~30】介绍并讨论一般视觉跟踪【29】和特定的多目标跟踪的基准(benchmark)【30】,他们更注重实验研究而不是文献综述。
1.2贡献
我们在计算机视觉方面提供了第一个关于MOT的概述相信有助于理解这个问题,它的主要挑战,问题,以及目前的主流算法。主要如下:
•推出了统一的MOT问题,包括了现有的大部分MOT方法(第2.1节),以及两种不同的方法对MOT方法进行分类(第2.2节)。
•研究了MOT系统不同的关键部分,每一个都被进一步分成不同的方面,并对其进行了详细的讨论原则、进展和缺陷(第3节)。
•关于不同的方法在流行数据集上的实验结果,让未来的实验比较方便。通过调查所提供的结果,有了一些有趣的观察和发现(第4节)。
•通过总结MOT回顾,我们揭示了现有的非常贴切的问题研究。此外,讨论确定未来的问题研究方向(5节)。
回顾最近的工作关于多目标跟踪进展的文献,提供了实验结果公开的数据集,除了现有出版物之外,提供了对最先进技术的定量看法非常贴切的方法。用于多个标准的基准测试对象跟踪,最近的工作Leal-Taixe MOTChallenge´et al【30】。
1.3、本文组织结构
1.4、外延符号(Denotations)
我们表示标量和向量变量用小写字母和粗体小写字母。用粗体大写字母表示矩阵或者一组向量。大写字母用于特定的函数或变量,如上表2。
2、MOT问题
2.1、问题公式(Formulation)
在过往研究中,MOT问题已经从不同的角度形成了不同公式,这使我们很难从高层的角度来理解这个问题。本文中,我们泛化了公式,并认为现有的研究可以由这些公式统一。据我们所知,这项尝试以前从未有过。
通常来说,多目标跟踪可以认为是多变量估计问题。给定一个图像序列,表示第t帧第i个目标的状态,
表示在第t帧下所有目标的状态序列,
表示第i个目标的状态序列,其中is和ie分别表示目标i出现的第一帧和最后一帧,
表示所有目标从第一帧到第t帧的状态序列。需要注意的是每一帧目标的ID都可能不同。
相应的,在最常用的tracking-by-detection,或Detection Based Tracking(DBT)结构下,O1t表示第t帧第i个观测目标(observation),
表示所有目标从第一帧到第t帧的观测目标序列。
多目标跟踪的目的是找到所有目标“最好的”状态序列,在所有观测目标的状态序列上的条件分布上,可以通过使用MAP(maximal a posteriori)估计法泛化建模得到:
以往研究中提到的不同MOT算法,其目的现在可以被认为是设计不同方法来解决上述的MAP问题。它们的方法要么是基于概率预测方面的【6】【31~37】,要么是基于决策优化方面的【16】【38~48】。
基于概率预测的方法通常用两步迭代算法来解决式(1)的,
其中P(St|St-1)是动态模型,P(Ot|St)是观测模型。
基于决定性优化的方法则是直接最大化概率函数L(O1:t|S1:t)在观测集
上作为代表P(S1:t|O1:t)
或最小化能量函数E(S1:t|O1:t)
其中Z是归一化因子,保证P(S1:t|O1:t)是一个概率分布
2.2、MOT分类(Categorization)
由于难以使用一个通用的标准来对一个特定的MOT方法进行分类,所以我们使用多个标准来区分MOT方法。接下来将会根据三个标准划分:初始化方法、处理模式和输出类型。至于选择上述三种的原因是,这符合一个任务的自然流程。
2.2.1、初始化方法
大多数现存的MOT研究可以根据目标如何初始化分为两类:Detection-Based Tracking(DBT)和Detection-Free Tracking(DFT)。
DBT:如图1上层 第一,由于提前训练目标检测器,DBT大部分关注特定的目标类型,如行人、车辆或人脸。第二,DBT的性能非常依赖于所采用的目标检测器的性能。
[49] “Online learned discriminative partbased appearance models for multi-human tracking,”
Eur. Conf. Comput. Vis., 2012, pp. 484–498.
[50] “Multi-class object tracking algorithm that handles fragmentation and grouping,”
[51] “A stochastic graph evolution framework for robust multi-target
tracking,” =
DFT:如图1下层所示,DFT【52~55】需要在第一帧手动初始化一定数量的目标,然后在后续帧定位这些物体。
[52]“Single and multiple object tracking using log-euclidean riemannian subspace and block-division appearance model,”
[53] “Structure preserving object tracking,”
[54] “Preserving structure in model-free tracking,”
[55] “Game-theoretic multiple target tracking,”
相对来说,DBT更受欢迎,因为它可以自动发现新目标、自动终止消失的目标。而DFT就不能处理新目标出现的情况,但它不需要提前训练目标探测器。表3列出了DBT和DFT之间的主要差异。
2.2.2、处理模式
MOT也可以分为online跟踪和offline跟踪,其差别在于在处理当前帧时,后几帧的观测目标是否被利用到。Online,也称为causal,只依靠直到当前帧的前面的信息。相对的offline则能使用未来帧的信息。
Online跟踪:在online跟踪【52~54】【56~57】中,图像序列是一步步处理的因此该跟踪方式也称序列跟踪。如图2上层所示,a,b,c三个圈表示三个不同的目标,绿色箭头表示过去的观测目标,其结果由目标的位置和ID表示。
Offline跟踪:Offline跟踪【1】【46~47】【51】【58~63】利用一组帧来处理数据。如图2下层所示,来自所有帧的观测目标需要提前获取,然后经分析计算组成最后的输出。注意到由于计算复杂度和内存限制,不总是一次性处理所有帧,而是考虑将数据分成几个短一点的视频,对于每组分层或顺序处理得到结果。表4列出了两类处理模式的不同。
2.2.3、输出类型
这个标准根据输出的随机性将MOT方法分成基于决策的和基于概率的。基于决策的跟踪输出是恒定的无论运行方法多少次,而基于概率的跟踪每次运行都可能产生不同输出结果。两者差异来源于2.1节提到的优化方法。
2.2.4、讨论
DBT和DFT的区别在于是否检测模型被采用(DBT)或不采用(DFT)。区别在线和离线跟踪的关键是它们处理观察的方式。读者可能会质疑DFT是否与在线跟踪相同,因为它似乎总是顺序地处理观察。这在大多数情况下是正确的一些例外存在。无序跟踪[64]就是一个例子。它是DFT,同时也是在一个过程中进行不整齐的观察。虽然它是用于单对象跟踪,但它可以也适用于MOT,因此也可以应用DFT在一个批处理模式。另一个模糊可能会在两者之间增DBT和离线跟踪,如DBT跟踪或检测响应通常以批处理方式关联。请注意,还有顺序DBT,它可以进行关联在之前得到的轨迹和新的检测反应[8],[31],[65]。在2.2.1、2.2.2和2.2.3是将MOT方法分类的三种方法可能会有别人。值得注意的是,具体的体育解决方案场景[5], [6],空中场景[44], [66],一般物体[8],[65], [67], [68]等存在,我们建议读者参考各自的出版物。通过提供上述三个标准,就可以了是否方便用一个来标记一个具体的方法分类标签的组合。这将有助于一个更容易理解具体的方法。
3、MOT组成成分
在设计MOT算法的时候有两个问题需要考虑:一个是怎样测量帧内目标的相似性,另一个是基于这个相似性怎样判断帧间目标是否相同。前者主要包括外观,运动,交叉,排斥和碰撞的建模问题,后者主要和数据关联有关。
3.1、外观模型
外观是MOT中重要的计算相似度(affinity)的途径,在单目标跟踪中,复杂的外观建模主要用于将目标和背景区分开来,而大多数MOT方法则不将其作为核心建模方法。从技术上可以将外观模型分为视觉表示和统计测量,前者基于单特征或多特征来描述一个目标,后者则是计算不同目标间的相似性。例如目标i和j间的相似性可以写成:
其中Oi和Oj是不同观测目标的视觉表示,F(,)是测量它们相似性的函数。
3.1.1、视觉表示
如图3,根据特征的不同,视觉表示也就不同。我们将特征按如下分类:
Local features:KLT善于寻找好的用于跟踪的特征,得到了这些特征之后,我们可以用来生成短轨迹(trajectories)【62】【74】、估计摄像头运动【63】【75】,运动聚类【68】等等。光流法也可以认为是local features当我们将像素单位作为最佳local范围时,许多MOT方法在进行数据关联前都会利用光流法来生成短轨迹(tracklets)【76~77】,又由于光流法与运动息息相关,它也常用来对运动信息编码【78~79】,还有一类特殊的应用是在拥挤场景中寻找人群运动规律【35】【69】,这是其他特征所不能做到的。
Region features:和local features相比,region features在更广的范围内搜索例如bounding box。我们按次序对它分类:zero-order,fist-order,up-to-second-order。在这里次序表示当计算表示时差异的次序,举例来说,zero-order表示像素值不进行比较,one-order表示像素值的差异只计算一次。
Zero-order:最常用的表示方法,经典例子是颜色直方图【34】【62】【71~72】【77】以及原始像素(raw pixel)模板【80】。
First-order:基于梯度的表示方法例如HOG【18】【32】【60】【77】【81】和水平集公式(level-set formulation)【71】经常被使用。
Up-to-second-order:区域协方差矩阵【82~83】,被用于【52】【60~61】。
Others:例如深度,常用于提炼检测假设【71】【84~87】,占有概率图(Probabilistic Occupancy Map, POM)【42】【88】,常用与估计一个目标出现在特定区域单位的概率,还有步态(gait)特征,对于每个人来说是不一样的【62】。
Discussion:颜色直方图经常使用,然而其忽略了目标区域的空间分布。Local features是高效的,但是对遮挡和平面外旋转(out-of-plane)敏感。基于梯度的特征例如HOG可以描述目标的形状并且对一定变化例如光照有适应性,但它不能很好地处理遮挡和变形。区域协方差矩阵相对来说比较鲁棒因为它们使用了较多的信息,但同时带来了较高的计算复杂度。深度特征使相似性的计算更准确,但它需要同一场景的多视角信息或者额外算法【89】来获取深度。
3.1.2、统计测量
在上一步视觉表示的基础上,统计测量计算两个观测目标间的相似度,其中又可分为单线索(single cue)和多线索(multiple cue)的方法:
Single cue:使用single cue进行外观建模的要么是将距离转换为相似性,要么直接计算相似度。例如,归一化互相关(Normalized Cross Correlation, NCC)常用来对使用原始像素模板方法的两对应区域进行计算【2】【69】【80】【90】。在颜色直方图中,巴氏(Bhattacharyya)距离常用来计算两直方图Ci和Cj间的距离,,然后将该距离转换成相似性
或者将距离放入高斯(Gaussian)分布中如【38】。相异性(dissimilarity)转换成概率还能用协方差矩阵来表示。除此之外,在基于点特征表示方法【33】上还能用到磁带(bag-of-words)模型【92】。
Multiple cues:不同的cues可以进行互补使外观模型更加鲁棒,我们基于5种融合策略来构建多线索外观模型如表5:
Boosting:从特征池中序列地选择一部分特征来进行基于boosting的算法,例如在【60】,【49】和【40】中,对于颜色直方图,HOG,和协方差矩阵描述子,分别采用AdaBoost,RealBoost和HybirdBoost算法来区分不同目标各自的tracklets。
Concatenation:可以将不同特征连接起来计算。在【46】中就连接了颜色,HOG和光流。
Summation:将通过不同特征得到的相似度加权求和【71】【93】【94】。
Product:跟加权求和不同的是将得到的相似度相乘【33】【51】【95】【96】,需要注意的是采用这种方法往往需要进行独立性假设。
Cascading:将使用不同方法的视觉表示级联计算,通常可以缩小搜索范围或者由粗到细地对外观建模。
3.2、运动模型
运动模型捕捉目标的动态行为,它估计目标在未来帧中的潜在位置,从而减少搜索空间。在大多数情况下,假设目标在现实中是平缓运动的,那么在图像空间(除了突然运动)也是如此。我们将在下面讨论线性运动模型和非线性运动模型。
3.2.1、线性运动模型
线性运动模型是目前最主流的模型【32】【97~98】,并且通常在模型中假设目标匀速运动【32】,基于这个假设,有三种不同的方法构建模型:
通过使后继帧中的目标速度变化得平稳一些来达到速度平整性(smoothness)。在【45】中由损失函数(5)实现,其中是对N帧M个trajectories或目标进行求和:
位置平整性直接影响观测位置和预测位置的差异。举【31】为例,△t是tracklet Tj头尾间的间隔,那么其平整性就通过将预测位置代入以观测位置为中心的高斯分布中达到。在估计阶段,前向运动和后向运动都需要考虑,因此线性运动模型的相似度就有式(6)
,其中"F"和"B"分别表示前向(forward)和后向(backward),同时,观测位置和预测位置之间的偏移量△p符合以0位中心的高斯分布。其他关于此类建模方法的例子还有【1】【7】【58~60】【99】。
第三种方法是加速度平整性【99】。在k时刻观测目标的tracklet{Ok}的运动状态{S^k}的概率分布有式(7),其中vk是速度,ak是加速度,N是均值为0的高斯分布
3.2.2、非线性运动模型
虽然线性运动模型比较常用,但由于存在它解决不了的问题,非线性运动模型随之诞生。它可以使tracklets间运动相似度计算得更加准确,例如【47】就使用非线性运动模型处理目标自由移动的问题。如图4a,给定属于同一目标的tracklet T1,T2,线性运动模型【59】将它们连接的概率很低。但如果利用非线性运动模型,T1的尾巴和T2和头部之间的间隔可以用T0∈S模拟解释,其中S是support tracklets的集合。如图4b,T0匹配T1尾巴和T2头部,那么T1和T2之间就可以用T0联通,同时,它们的相似度可以由上一节计算得到。
3.3、交互模型(Interaction Model)
交互模型也称为相互运动模型,它捕捉目标对其他目标的影响。在拥挤场景中,目标会从其他的目标和物体中感受到“力”。例如,当一个行人在街上行走时,他会调整他的速度、方向和目的地,以避免与其他人碰撞。另一个例子是当一群人穿过街道时,他们每个人都跟着别人,同时引导其他人。事实上,这是两个典型交互模型的例子,这些模型被称为社会力模型【100】和人群运动模式模型【101】。
3.3.1、社会力模型(Social Force Models)
社会力模型也被称为群体模型。在这些模型中,每个目标都被认为依赖于其他目标和环境因素,这种信息可以缓解拥挤场景中跟踪性能的下降。在社会力模型中,目标会根据其他物体和环境的观察来确定它们自己的速度、加速度和目的地。更具体地说,在社会力模型中,目标行为可以由两方面建模而成:基于个体力和群体力。
Individual force:对于一组目标中的每个个体都有两种力需要考虑
保真度(fidelity),表示某个体不会改变他原定目的地。
稳定性(constancy),表示某个体不会突然改变他的动量,包括速度和方向
Group force:对于整个组需要考虑三种力:
吸引力(attraction),表示组内个体间距离较近
排斥力(repulsion),表示组内个体间保持一定距离
一致性(coherence),表示组内个体有相似的速度
3.3.2、人群运动模式模型(Crowd Motion Pattern Models)
受到人群仿真技术【23】的启发,其运动模式也被用于进行人群中的目标跟踪。通常这类模型适用于目标密度非常高的超密集场景,这时目标都比较小,那些外观、个人运动模式线索就会受到极大干扰,所以人群运动模式就相对比较适合。
该类模式又分结构化模式和非结构化模式,结构化模式主要得到集体的空间结构而非结构化模式主要得到不同个体运动的模式(modalities)。通常来说,运动模式由不同方法学习得到例如ND tensor voting【74】,Hidden Markov Models【36】【104】,Correlated Topic Model【76】,甚至考虑场景结构【69】,然后运动模式可作为先验知识辅助目标跟踪
3.4、排斥模型(Exclusion Model)
排斥是在寻找解决MOT的方法时,为了避免物理碰撞规定的约束,这种约束在现实中也是成立的比如两个不同的目标不能同时出现在同一个物理位置中。对于给定的多个检测响应(responses)和多个trajectory假设,通常存在两个约束,第一个是检测层面的排斥(detection-level exclusion)【105】,例如在同一帧中两个不同的检测响应不能被分配给同一个目标,第二个是轨迹层面的排斥(trajectory-level exclusion),例如两条轨迹不能无限逼近彼此。
3.4.1、检测层面的排斥模型
"soft" modeling:通过最小化损失函数去惩罚违反约束的例子称为软建模:有这样一种特殊排斥图,给定所有的检测响应,这些检测响应就代表图中的结点,每个结点只和同时存在的另一些结点相连,在图构建完成后,通过排斥约束,鼓励连接结点像Tr(YLY)一样拥有不同标记值,使分配的标记最大化。其中L代表拉普拉斯(Laplacian)矩阵,Y=(y1,....,y|V|)表示所有|V|个结点分配的标记值,Tr(·)表示矩阵中的轨迹范数(trace norm)。
"hard" modeling:通过在检测层面添加补充额外的约束来硬建模.例如,为了建模检测层面的排斥模型,cannot links被引入来模仿如果两个轨迹在它们的时间跨度上有重叠,然后它们就不能被分配到同一个集群,即属于相同的轨迹群[107]。非负离散化[108]将探测设置为非重叠群服从相互排斥的约束。
3.4.2、轨迹层面的排斥模型
通常来说如果两靠的较近的检测假设拥有不同的轨迹,那么将受到轨迹层面排斥模型的惩罚。通常,轨迹级排斥是通过惩罚两个相近的检测假设但具有不同轨迹标签的情况来建模的。这将抑制一个轨迹标签。例如,[109]中的惩罚项与两种不同轨迹标签的检测响应之间的距离成反比。如果两个检测响应太接近了,会导致相当大的,或者,无限高成本。类似的想法在[48]中被采用。与此相反,[105]中的轨迹级排除的惩罚,与两者之间的空间 - 时间重叠成正比轨迹。两个轨迹越接近,这个越高罚款。还有一个特例[43],其中排斥被认为是对所谓的额外约束网络流量算法中的“冲突”边缘。
3.5、遮挡处理
遮挡是MOT最难处理的问题之一,这也是ID交换(ID switches)和轨迹分段的主要原因。
3.5.1、部分到整体(Part-to-whole)
该策略是建立在目标的一部分仍可见的假设上的,也确实在大部分情况发生。一种比较流行的方法是将全局目标(类似一个跟踪框,bounding box)分割成几个部分,然后对每个部分计算相似度,具体来说就是当发生遮挡时,被遮挡的那些部分的相似度权重降低,而提高没被遮挡部分的相似性权重。至于如何进行分割,有将目标均匀地切分成一个个格子的【52】,也有以某种形态例如人来切分目标的,比如在【49】中分成了15个不重叠的部分,还有在【77】【111】中由DPM检测器【110】得到的部分。
基于这些个别部分,忽略了遮挡部分的观测。例如,part-wise外观模型是在[52]中构造的。重建误差用来确定哪个部分被遮挡了。外观
整体对象的模型只会有选择地更新未被遮挡的部分
这是"hard"的方法,也存在"soft“方法在【49】中(中式英语都出来了)。两tracklets j和k之间的相似度可由下式计算得到
其中f是特征,i是部分的下标,权重由部分间的遮挡关系学习得到。在【77】中,通过人身体部分的连接可以得到部分的轨迹,进一步得到整个人的轨迹。
"Part-to-whole"策略也可以应用在基于点聚类特征的跟踪中,其中点聚类特征认为具有相似运动的特征点都属于相同目标,只要一个目标的一些部分仍然可见,那么这个方法就是可行的【62】【68】【112】
3.5.2、假设与测试(Hypothesize-and-test)
该策略不直接处理这档问题,而是根据已有的观测目标,先进行假设,然后测试假设是否成立来解决问题。
Hypothesize:【38】基于距离和尺度都相近的观测目标对,来生成遮挡假设,假设Oi被Oj遮挡,对应的遮挡假设就是
其中Pj,tj分别是oj的位置和时间戳,si和fi分别是oi的大小和外观特征。这个方法将遮挡视为干扰,而在其他研究【113】【114】中,遮挡模式被用来辅助检测,更具体来说,不同的检测假设由融合了两种不同程度和模式的遮挡的目标综合结合而成,如图5.
Test:在【38】中,假设观测和原观测一起作为损耗流框架的输入,然后使用MAP来得到最优解。在【114】和【113】中,多行人检测器是在检测假设上进行训练的,这样就大大降低了检测碰撞的难度。
3.5.3、缓冲与恢复(Buffer-and-recover)
该策略在发生遮挡前记录目标状态并且将发生遮挡时的观测目标存入缓冲区中,当遮挡结束后,目标状态基于缓冲区的观测目标和之前记录的状态恢复出来。当发生遮挡时,【71】保持最多15帧的trajectory,然后推断发生遮挡时潜在的轨迹。当目标重新出现时,重新进行跟踪并且ID也维持不变,在【34】中使用到这种方法。当跟踪状态因为遮挡而产生歧义时观测模式就会启动【115】,只要有足够的观测目标,就会产生假设来解释观测目标。以上就是"buffer-and-recover"策略。
3.5.4、其他
除了上述方法外,还有一些其他方法例如,【116】将目标作为在图像空间中的高斯分布,然后显式地对所有目标对的遮挡率,以部分能量差函数的形式建模;还有将多种方法结合起来进行遮挡处理。
3.6、预测(Inference)
3.6.1、概率预测(Probabilistic Inference)
概率预测方法通常将目标状态作为不确定的分布,而跟踪算法的目的是基于现有的观测目标,用多种概率学方法去估计那个概率分布。这类算法通常只需要过去或现在的观测目标,所以它也特别适合online跟踪。因为只有现存的观测目标才被用于估计,所以可以很自然地在目标状态序列中使用Markov特性假设,该假设包括两方面,让我们回顾2.1节的公式。
第一,当前目标状态只依赖于之前的状态,其次,当使用一阶(first-order)Markov特性时则只依赖于最后一个状态,即
第二,观测目标只和它的状态有关,也就是说,它是条件独立的,即
这两方面各自和动态模型和观测模型有关,前者与跟踪策略相关,后者则提供有关目标状态的观测测量。预测(predict)一步是根据之前的观测来估计当前的状态,具体来说,当前状态的后验概率分布,是通过以动态模型来整合上一目标状态空间,从而估计得到的。更新(update)一步是根据观测模型得到的测量来更新状态的后验概率分布。
根据这些等式,目标状态可以通过迭代计算predict和update两步来得到,然而实际上,目标状态分布不能不先简化假设,因此没有能计算得到完整状态分布的解法。另外,对于多目标而言,状态集的维数是非常大的,导致整合步骤更加困难,因此需要有对应的降维方法。
多种多样的概率预测模型被用于多目标跟踪中【36】【95】【117~118】,例如卡尔曼滤波【35】【37】,扩展卡尔曼滤波【34】以及粒子滤波【32~33】【52】【93】【119~122】。
卡尔曼滤波(kalman filter):适用于线性系统和服从高斯分布的目标状态。
扩展(Extended)卡尔曼滤波:通过泰勒展开(Taylor expansion)估计,进一步适用于非线性系统。
粒子滤波(Particle filter):基于蒙特卡洛采样(Monte Carlo sampling)的模型在粒子滤波算法问世后风靡一时【10】【32~33】【52】【93】【119~121】。该方法用一组有权重的粒子来对分布建模,从而通过改变自己的分布可以得到任意的假设【32~33】【36】【93】。
3.6.2、确定性优化(Deterministic Optimization)
相对于概率预测,确定性优化旨在是找到MOT最大的后验解决(maximum a posteriori, MAP)办法。这种方法更适合offline跟踪,因为需要提前获得所有帧的观测目标,然后全局性地将属于同一目标的观测目标串联成一条轨迹,关键问题在于怎样找到最优的连接。
Bipartite graph matching:通过将MOT问题建模成偶图匹配,两个不相交的结点集在online跟踪中可以存在trajectories和新的检测目标,或者在offline跟踪中存在两个tracklets集,结点间的权重则代表trajectories和检测目标间的相似度,然后要么使用贪心偶匹配算法【32】【111】【123】,要么使用匈牙利(Hungarian)优化算法【31】【39】【58】【66】【124】,来决定两结点集如何进行匹配。
Dynamic Programming:扩展动态规划【125】,线性规划【126~128】,二次布尔规划(quadratic boolean programming)【129】,最短K路径(K-shortest paths)【18】【42】,集合覆盖(set cover)【130】和subgraph multicut【131】【132】,都是被用于解决检测目标和tracklets之间关联问题的方法。
Min-cost max-flow network flow:网络流是一个带有权重边的有向图。对于MOT,图中结点是检测响应或tracklets,流是连接两个结点的指示器,为了满足流平衡的需求,需要增加源(source)节点和汇聚(sink)节点,如图6。一个trajectory对应一个流边,从源节点转移到汇聚节点的总流数等于trajectories的数目,转移损耗是所有连接的假设的负对数似然(negative log-likelihood),注意,全局最优解可以在多项式时间内得到,例如使用push-relabel算法。这类方法在【18】【38】【41】【43】【90】【133】都被使用到。
Conditional random field:在【1】【59】【105】【134】中都有使用到这种方法。定义一个图G=(V,E),其中V是结点集,E是边集,低层(low-level) tracklets作为图的输入,每个结点表示观测目标【105】或者tracklets对【59】,每个label通过预测得到,然后用来推断都是观测目标属于哪些track跟踪目标或者来连接哪些tracklets。
MWIS(maximum-weight independent set):它是属性图中非相邻节点的权重最大的子集。而在上述CRF模型中,属性图中的结点代表后继帧的tracklets对,结点的权重表示tracklet对间的相似度,而且tracklets对拥有相同方向的话,那么它们的边是联通的。在【46】【97】中数据关联是用MWIS建模的。
3.6.3、讨论
实际中,确定性优化或能量最小化比概率预测更常用,尽管概率预测提供更直接、完整的解决方法,但它们往往是难以推测的,而相反,能量最小化则能够在一定时间内得到“足够好”的解决办法。
4、MOT测评
对于给定的MOT方法,需要根据评分指标和数据集定量地评估其性能。这尤关重要,一方面,必须测量不同组成成分和参数对整体性能的影响,才能设计出最佳的系统。另一方面,可以与其他方法直接比较。而性能评估往往并不简单,我们将在本节中看到。
4.1、指标(Metrics)
MOT方法的评价指标是至关重要的,因为它们为公平定量的比较提供了途径。本节简要介绍不同的MOT评估指标,由于许多方法不采用跟踪检测策略,它们通常测量检测性能以及跟踪性能,因此,在MOT方法中采用了目标检测的度量标准。基于此,MOT指标大致可以分为两组,分别用于评估检测和跟踪,如表7所示。
4.1.1、检测指标
准确度(Accuracy):常用召回率和精度指标以及每帧平均误报率(False Alarms per Frame, FAF)作为MOT指标[1]。[63]使用False Positive Per Image(FPPI)评价检测性能。多目标检测的准确性(Multiple Object Detection Accuracy, MODA),一个全面的评估标准,将误检和漏检的相对数纳入考虑范围,由[135]提出。
精度(Precision):多目标检测精度(Multiple Object Detection Precision, MODP)测量的是检测目标和ground truths之间的误差[135]。
4.1.2、跟踪指标
准确度(Accuracy):它度量算法跟踪目标的准确程度。ID Switches[80]则统计MOT算法在目标之间切换的次数。多目标跟踪的准确性(MOTA)【136】将false positive率、false negative率和错配(mismatch)率结合成一个单独的数,对整体的跟踪性给出一个比较合理评估。尽管仍有一些弊端,但这是目前最普及的MOT评估方法。
精度(Precision):三个指标,多目标跟踪精度(MOTP),跟踪距离误差(TDE)[36]和OSPA[137]。它们描述了通过bounding box重叠和/或距离来测量目标跟踪的精确程度。具体而言,在[137]中还考虑了基数(cardinality)错误。
完整性(Completeness):完整性度量指的是ground truth trajectories被跟踪的完整度。大多数跟踪(Mostly Tracked, MT)、部分跟踪(Partly Tracked, PT)、大部分丢失(Mostly Lost, ML)和分段(Fragmentation, FM)[40]的数量属于这一组。
鲁棒性(Robustness):通过从遮挡中恢复出来的能力来评估MOT算法的度量标准,包括在[51]中的从短期遮挡恢复(Recopver from Short-term occlusion, RS)和长期遮挡恢复(RL)。
4.2、数据集
表8给出了当下最经常被使用的一些数据集。这些数据集在MOT中至关重要,但是仍然存在一些问题:第一,数据集的规模相对于SOT来说较小;第二,由于近几年行人检测技术取得进展,所以大部分数据集集中在行人上,然而最近关于多类目标的检测也有一定成果,因此可以考虑多将数据库放在多类目标的检测与跟踪上。
4.3、公开算法
4.4、基准结果(Benchmark Results)
(原文)由于篇幅问题,只展示了最常用的数据集PETS2009-S2L1序列的跟踪结果,如表10。需要注意的是,表中的数据可能不会特别直观,原因如下:
不同的方法,基于online和offline两种不同的框架,很难去度量它们之间的好坏,因为offline的方法需要更多的信息。
不同检测假设,同一种方法可能由于采用不同的检测方法而得到不同的结果。
视角问题,有些方法可能需要多视角信息而有些则只用单视角。
先验知识,例如场景结构和行人数目等,一些方法需要提前得到。
严格来说要想得到真正客观公平直观的测评结果,是需要非常细致的控制变量的,例如要想测试某两个数据关联方法好不好使,需要保证两组方法的其他部分一致才比较准确。尽管如此,我们还是能通过这个表得到许多有用的信息的:
通过将所有的发表结果进行整合,起码对于相同的数据集下的结果有个好的比较。
尽管这个特定的个体之间的比较方法可能不公平,但在不同类型的方法之间的比较比如在线和离线能看出这两类在公有数据集上的水平
为以后的研究工作做铺垫,并且了解了MOT的发展进程。
表11是offline方法和online方法的比较,图7图8是从09年到15年各指标浮动曲线。
5、总结
本文描述了视频中多目标跟踪(MOT)任务的相关方法和问题,也是过去十年里的第一个全面的综述文献,提出了一个统一问题公式和一些现有方法的分类方式,介绍了star-of-the-art MOT算法的关键因素,并讨论了MOT算法的测评包括评价指标、公开数据集,开源代码的实现,和基准测试结果。虽然在过去几十年中已经取得了很大进展,但在当前的MOT研究中仍然存在一些问题有待研究。
5.1、存在的问题
我们已经讨论了数据集的现存问题(4.2节)和公开算法(第4.3节)。除开这些,还有一些其他问题:
MOT研究中的一个主要问题是,MOT方法的性能在很大程度上取决于目标检测器。例如,被广泛使用的tracking-by-detection模式就是建立在一个目标检测器上的,它提供检测假设来驱动跟踪过程。在固定其他部分时,给定不同的检测假设集,相同的方法将产生具有显著性能差异的跟踪结果。有时某方法中的检测模块没有任何描述,这就给对比其他方法提高了难度。KITTI和MOTChallenge就在尝试解决这个问题,也正往一个更有原则、更统一的目标检测和跟踪靠拢(参见mot17)。
另一个令人讨厌的问题是,在提出MOT解决方法时,一个算法越复杂,就有越多的参数,这就使调参非常困难。同时,其他人也很难实现这种方法并且重现结果。
某些方法在特定视频序列中表现良好,然而当在应用于其他视频下时,它们可能不会产生令人满意的结果,这可能是因为该方法所使用的目标检测器是在特定的视频中被训练的,因此不能很好地泛化使用在其他视频序列中。
所有这些问题都限制了MOT研究的进一步发展及其在实际系统中的应用。最近,人们尝试着解决这些问题,例如,MOT Benchmark[160]提供了大量的有注释的测试视频序列、统一的检测假设、标准评估工具等,这有助于推进MOT技术的进一步研究和发展。
5.2、未来的方向
即使已经研究了几十年的MOT问题,它仍然存在着许多发展的机会。在这里,我们想指出一些更普遍的问题,并提供可能的研究方向。
MOT with video adaptation:视频自适应,当前大多数MOT方法需要离线训练的目标检测器,然而这就有一个问题:对于特定视频的检测结果可能不适用于给定的视频,这常常限制了多目标跟踪的性能。所以需要重新定制目标检测器来提高性能,[166]通过逐步细化通用行人检测器,使通用行人检测器适应特定的视频。这也是改进MOT方法预处理阶段的一个重要方向。
MOT under multiple cameras:多摄像机[167]。多摄像头的配置有两类:第一个是多摄像头记录同一个场景,即多视角。然而,这个设置的关键问题是如何融合来自多个摄像机的信息。第二个是每个摄像机记录一个不同的场景,即一个不重叠的多摄像机网络。在这时,多摄像头间的数据关联就成为了一个再识别(reidentification)问题。
Multiple 3D object tracking:三维多目标跟踪,当前大多数方法都集中在2D下的多目标跟踪,即在图像平面上,包括多摄像头的情况。3D跟踪[168],可以提供更准确的位置,大小估计和高层计算机视觉对于遮挡的有效处理。然而,3D跟踪需要相机校准,或为了摄像头姿态估计和场景布局而需要克服其他困难。同时,三维模型设计是另一个需要考虑的问题。
MOT with scene understanding:场景理解,[35],[169],[170]分析了拥挤场景下,例如在高峰时期的地铁车站和公共场所的游行示威。在这种情况下,大多数目标是小的和/或被大面积遮挡的,因此很难进行跟踪。场景理解的分析结果可以提供上下文信息和场景结构,如果将其更好地融入到MOT算法中,将有助于跟踪问题的解决。
MOT with deep learning:深度学习,深度学习模型已成为处理各种视觉问题的非常强大的框架,包括图像分类[171],目标检测[163] [164] [165],单目标跟踪[ 161 ]。对于MOT问题,深度学习模型提供的强大的目标检测模型可以显著提高跟踪性能[172],[173]。尽管最近已经开始尝试使用连续神经网络进行在线MOT,但关于使用深度神经网络来进行目标关联问题的formulation和建模仍需要投入更多的研究。
MOT with other computer vision tasks:其他计算机视觉任务,虽然多目标跟踪是服务于其他高层次的计算机视觉任务,但也存在这样的趋势:将一些彼此能优势互补的计算机视觉任务结合起来以解决MOT问题。可能的组合包括目标分割[ 174 ],行人再识别[ 175 ],行人姿态估计[ 17 ]和动作识别[ 18 ]。
除了以上的未来方向外,由于目前的MOT的研究主要集中在监控场景中跟踪多个行人,所以关于其他类型的扩展也是不错的研究方向,例如目标可以是汽车、动物等,场景可以是交通场景,航拍等。因为在不同情况下的不同类型的目标跟踪问题的设置和难度有可能是完全不同的。
参考自
http://blog.csdn.net/yuhq3/article/details/78742658
http://blog.csdn.net/sjtu_012/article/details/40921789