多目标跟踪的问题提出:有一段视频,视频是由 N 个 连续帧构成的。从第一帧到最后一帧,里面有多个目标,不断地有出有进,不断地运动。我们的目的是对每个目标,能跟其他目标区分开,能跟踪它在不同帧中的轨迹。最经典的应用就是路口监控行人。
关键点:
1 Input: detection responses。现在拿来一段视频,我们先用 state-of-artdetectors 把各帧中的人检测出来,包括位置、大小。当然,这个检测是有 noise 的,否则也就没必要用各种 MOT 方法来处理了。每个 detection 产生的结果就是 response,它还有一个可信度,比如80%可信,20%可信。
2 Output: Tracklets. 就是最终得到每个 target 的轨迹。
Challenges: Occlusions,similar appearance,complex motion,false alarms.这些问题基本上是每篇论文都在努力解决的。
3 Occlusions:有三种,被场景中的物体遮挡,被其他 target 遮挡,被自己遮挡(如变形,无法检测到),遮挡之后,本来应该检测到的 target 就检测不到了。解决的方法如根据 temporal 信息,估计出某一帧的某个位置有 target 被遮挡了。
4 Appearance:一是怎么把 target 与背景分开;二是怎么把不同的 target 分开。一般需要设计一个很好的外观模型,比如用 HOG、color histogram 等等。
5 Motion: 最简单的情况是匀速直线运动,这样我们很好预测下一帧中这个 target 在哪,但实际情况往往并不如此。比如可能来了个急转弯,可能突然转身往回走。解决之道,一般要设计更灵活、更复杂的运动模型。
6 False Alarms: detector 给出了 response,但实际上那个地方并没有 target,误检。这就要根据可信度,以及多种 refinement 方法来甄别了。
一、运动目标检测:
1. 光流法
2. 帧差法
3. 背景差法(对变化速度较快的背景效果一般)
1)基于卡尔曼滤波器的自适应背景模型
2)自适应的混合高斯背景模型
3)颜色信息和梯度信息相结合模型
4)其它改进型方法(基于亮度纹理不变性方法,基于时空域变换的线检测方法,特征背景法,多维向量空间法等)
4. 人工神经网络
该方法首先将图像分为若干个图像子块,把这些子块投影到一个线性滤波器组,获得不同的图像模式;在得到这些图像模式后再将它们根据计算得到的聚类原形进行分类;之后使用人工神经网络分类器来判断每个图像模式是否存在运动目标。该方法可以有效的检测出运动目标,且对尺度变化和旋转变化的目标有一定的适应性。
5. 基于主动轮廓模型的方法(SNAKE模型)
使用边缘轮廓来表示运动目标,并且随着时间的变化进行动态更新。模型适合检测并跟踪可变形的目标。
6. 基于小波变换的方法
利于弱小目标的运动检测
7. 基于Vibe的方法
主要思想:Olivier等人在2011年提出的一种前景提取算法。算法以一定的概率采集每个像素点的背景样本集合,采集范围包含该像素点的像素值以及它的邻居像素值,最终建立一个由像素样本集合组成背景模型。判定下一帧的像素是否为背景像素时,需要计算该像素与对应位置的背景集合中元素的摘圆距离:满足背景置信条件的认为是背景像素,否则被认定为前景像素。算法的优点:计算速度快且对对光照不敏感,在固定摄像头下效果好。
二、运动目标跟踪:
一.Segmentation andTracking.框架
1. 基于预测的跟踪方法(贝叶斯框架)
基于概率推导的目标跟踪算法将跟踪看作为动态系统的状态估计问题,在时间域
对状态进行迭代估计,实现目标定位。此类方法以贝叶斯滤波为理论框架,利用迭代计算的方式估计目标状态的后验概率分布。
1) 卡尔曼滤波及其扩展
2) 粒子滤波
2. 基于区域的跟踪方法
计算目标模板和候选目标区域的相似度,从而确定当前帧运动目标最可能的位置。这种跟踪方法有基于颜色的相似度测量跟踪算法,例如Camshift等。模板需要更新策略,如立即更新、遗忘式更新等。
1) 基于差值平方和
2) 基于颜色统计——meanshift/camshift等
3) 基于形状
4) 基于灰度结构特征——Lucas-Kanade法适应发生非刚性形变的目标,同时对发生仿射变换的目标效果也较好
3. 基于模型的跟踪方法(运算量大,难以实时)
1) 线图模型
2) 二位轮廓模型
3) 三维立体模型
4. 基于特征匹配的跟踪方法(应对局部遮挡和光照问题效果较好)
利用目标的角点(如 Harris角点、SIFT 角点以及 SUSAN 角点等)、边缘、轮廓和纹理等显著性特征。
1) 结构匹配
2) 树搜索匹配
3) 假设检验匹配
二、trackingby detection框架
人为手动框出目标区域,并进行跟踪。其核心思想是将目标跟踪看做二分类的问题,并通过在线学习训练具有判别力的分类器将目标从背景中提取出来。此类方法是一种有效的应对目标外观变化的跟踪算法。机器学习的技巧被广泛应用进来。
1. 基于提升算法(Boosting)的外观模型方法
此类算法通过特征选取获得判别力较强的类哈尔特征(haar-like)作为弱分类器然后将这些弱分类器组合形成强分类器,可以有效区分背景和目标。各类在线提升的特征选取与分类算法(已被证明效果比离线算法好):例如
1) 在线多示例学习跟踪算法
2) 基于压缩域(CT)的跟踪算法
2. 基于SVM的分类跟踪方法(计算量大,实时性较差,但是准确度高)
1) Avidan等提出的离线SVM分类算法
2) 最小二乘支持向量机(LS-SVM)——效果较好
3) 基于弱监督学习的排序问题
4) 基于结构输出支持向量机的目标跟踪算法
三、多目标跟踪
初期是将将相邻帧的目标连接起来。后来发展为在一个小范围的时间窗口确定目标关系,但是不能很好地处理视频流中可能出现的目标长时间遮挡,目标消失以及误检漏检。
近年都是在Tracking by detection框架下做的。
传统方法:
1.基于多特征融合与自适应模板的多目标跟踪算法
2.基于运动信息的多目标跟踪算法
3. 基于 3D 空间的多目标跟踪算法
4.局部跟踪方法(点跟踪的概率方法)
卡尔曼滤波、粒子滤波方法
5. 数据关联方法(TBD框架下被广泛使用)
数据关联模型的三个主要问题:很难从单相机视角进行估计,也受制于高昂的计算负担,对于实时性较强的应用场景如视频监控影响其发挥。
数据关联的两大类:局部关联和全局关联。
局部关联:缺点是计算复杂、鲁棒性差。
典型方法bi-partite matching and its extensions。
[1]D. Reid. Analgorithm for tracking multiple targets. IEEE Transactionson Automated Control, 1996.
[2] K. Shafiqueand M. Shah. A noniterative greedy algorithm for multiframe pointcorrespondence. In PAMI, 2005.
[3] G. Shu, A.Dehghan, O. Oreifej, E. Hand, and M. Shah. Part based Multiple-Person Trackingwith Partial Occlusion Handling. In CVPR, 2012.
全局关联:缺点是严重依靠目标检测的性能。
典型方法:
[1]Dehghan, S.Modiri, and M. Shah. GMMCPTracker: Globally Optimal Generalized Maximum Multi CliqueProblem for Multiple Object Tracking. In CVPR,2015.
[2]Wu and R.Nevatia. Detection and Tracking of Multiple,Partially Occluded Humans byBayesian Combination of Edgelet based Part Detectors. volume 75, pages247–266,2007.
[3]A. R. Zamir,A. Dehghan, and M. Shah. GMCP-Tracker: Global Multi-object Tracking UsingGeneralized Minimum Clique Graphs. In ECCV, 2012.
此外,还可以按照如下分类:
1. 点跟踪的概率方法:卡尔曼滤波、粒子滤波方法
点跟踪的确定性方法:通过最小化目标和观测之间某种特征的距离來实现跟踪,特征常选用位置、颜色、形状等。
为克服错误检测的问题,很多全局跟踪方法被提了出来。从点跟踪上主要分为两类。
1) 每次遍历所有视频图像生成一个最优化的跟踪轨迹:
动态规划+贪心算法
2) 一次性进行多条轨迹优化
联合概率数据关联滤波(JPDAF):处理数目固定的目标
多假设跟踪(MultipleHypothesis Tracking, MHT):MHT 算法对每个假设估计其所有目标在下一帧的位置。最终的轨迹是整个观测时间段里的最大近似集。后又提出了PMHT(probabilisticMHT)。该算法假设数据关联是统计独立的随机变量,因此就没有必要去穷举所有可能的数据关联,减小计算量。
2.核跟踪(基于分布):跟踪之前手动选择目标为参考,利用当前帧和参考帧的一些特征(最常用的颜色特征)的分布来实现跟踪。如KLT(Kanade-Lucas-Tomasi)特征点跟踪、Meanshift等。
3. 轮廓跟踪:利用图割实现轮廓跟踪,这种方法能够连续的一帧中分割多个目标。缺点是轮廓跟踪无法处理目标的进入和离幵。
其它方法:
1)Anton Milan等提出利用能量函数的非最优化方法:
将能量函数定义为五部分,分别为观察模型,运动模型,碰撞避免模型,目标持续模型,正则模型。然后在此基础之上利用 jump方式求解全局最小值。
2)Huang 等提出多尺度方法及其扩展:
该框架将多目标跟踪分为三个部分,分别是 Low Level,Middle Level,HighLevel。其中 Low Level 阶段是形成一个短的轨迹块(tracklet),并筛选出可信的轨迹块;MiddleLevel 阶段利用匈牙利算法合并轨迹块,得到更长一些的轨迹块;HighLevel 阶段增加对目标进入离开 FOV 等的处理,完善整个轨迹。扩展方法: 首先在低层次中获得轨迹块,然后使用图论方法将这些轨迹块结合起来。
代表性的图论方法:匈牙利算法,线性规划算法,网络流算法,广义线性分配
3)Dicle等提出了基于动力学方法:
该方法能够在目标外形相似,目标不在视场或被其他目标遮挡,目标路径交叉,相机运动的情况下,均能够获得很不错的结构。该算法利用迭代汉克尔矩阵最小方差(IHTLS)来估计不完整且充满噪声的汉克尔矩阵,以此获得目标间的动力学相似性,来关联目标。
若按照摄像机进行分类:
1. 摄像机静止时的跟踪方法:
在摄像机静止的条件下执行。以不同的背景相减技术获得运动目标的先验信息。
(1)贝叶斯多目标跟踪器
结合了multi-blob似然函数和粒子滤波器。这里multi-blob似然函数是通过前景模型和背景模型得到的。
(2)拥挤场景下的行人跟踪算法
利用马尔科夫链蒙特卡罗技术(MCMC)估计状态和目标的数量。
(3)枚举法
当不同的目标合并或分裂时,在多目标跟踪中,利用枚举策略得到最好的关联数据。
(4)图论模型
在目标分裂或合并的情况下,用图论模型解决多目标跟踪问题。该算法可用于跟踪创建、确认、阻塞和删除,但计算成本随目标个数的增加成指数型增长。
(5) 时空MCMC数据关联算法
提出了一种时空MCMC数据关联算法作为有效的解决空域多目标检测问题的示例。
(6)跟踪器动态切换模型
假设目标运动的类型可分为使用一些不同的运动模型。使用一个动态切换模型在各不同的目标跟踪器间进行切换。
(7)在线监督学习算法
2. 摄像机运动时的跟踪方法:
摄像机运动时的多目标跟踪,不需要用到背景信息。
(1)基于概率排除原则的方法
只能用于双目标跟踪。
(2)基于MCMC的粒子滤波器
用马尔科夫随机场模拟多目标的交互运动,但该模型不能处理遮挡情况。
(3)基于马尔科夫随机网络的方法
通过马尔科夫随机网络模拟多目标的联合前概率分布,解决身份维护问题。
(4)基于磁惯性势模型的方法
瞿等提出一个交互的分布式多目标跟踪算法,使用磁惯性势模型来解决多个目标标识的遮挡问题。
(5)贝叶斯网络
通过贝叶斯网络解决多目标假设问题。
(6)松弛的线性规划算法
通过跟踪交互和目标的相互遮挡,将多目标跟踪视为多路径搜索问题。
(7)对策论多目标跟踪算法
通过找到游戏的Nash平衡,解决多目标跟踪问题。它可以分散联合跟踪,并有效地使用计算资源。
(8)变分粒子滤波器
可解决多目标跟踪中的维数问题,经变分推理后可获得建议的分布。
(9)TBD(tracking-by-detection)
在行人检测中较常用。先使用离线行人检测器检测行人,再使用不同类型的数据关联策略将检测响应分配给相应的检测轨迹。
也有根据数据关联信息的获取方式将多目标跟踪算法分为:需要从未来帧获得信息和只考虑过去和当前帧的信息两类。
将多目标跟踪算法分为在线或离线两类:
1.离线多目标跟踪方法:
maximum-a-posteriori problem (MAP),
hierarchical association models
the Generalized Minimum Clique Graph (GMCP)
Generalized Maximum Multi Clique problem (GMMCP).
data-driven approaches
Minimizing high-order energy functions to find optimal trajectories
2.在线多目标跟踪方法:
Occlusion geodesics for online multi-object tracking,
Online motion agreement tracking
四、从系统组成来分类跟踪方法:
目标跟踪主要分为三部分:外观模型、运动模型和搜索机制。
定义:外观模型也称为观测似然模型,用來估计候选状态属于被跟踪目标的概率。运动模型也称为状态转移模型,用来描述目标随时间推移运动状态的改变。搜索机制则是用來寻找当前帧中目标最可能的状态。
外观模型:
1) 模型分类:
静态外观模型:是人为的定义目标的外观模型或者只利用视频的第一帧训练目标的外观模型。
自适应外观模型:是随着目标的变化自适应的更新目标的外观模型。
2) 采用的特征:
灰度颜色纹理、超像素、稀疏编码等。
3) 使用特征的方式:
子空间表达、亚像素特征、整体颜色直方图、多特征融合等。
4) 模型性质选取:
生成式模型:混合高斯模型,隐马尔可夫模型,贝叶斯网络模型
相应跟踪方法有:Comaniciu提出的基于核的目标跟踪算法,Adam提出的基于整体颜色直方图的局部跟踪算法、基于子空间学习的目标跟踪算法。
判别式模型:支持向量机法、神经网络算法、最近邻算法、条件随机场法等。
相应跟踪方法有:Bakenko提出的多示例在线学习的视频跟踪算法、Grabner提出的在线推进算法、Avidan提出的基于SVM的目标跟踪算法等。
运动模型:
1)均值漂移 (Mean shift)
2)滑动窗口 (Slide window).
3) 粒子滤波 (Particle filter)
五、深度学习方法在跟踪中的应用概述(2016.6)
在视频目标跟踪这一特殊领域,深度学习的应用却受到一定限制,成果数量较视频识别、视频目标检测要少很多.主要原因是:
1) 视频目标跟踪中, 严格意义上讲仅有第一帧的数据是真正的标注数据,在其后的在线跟踪过程中,正负样本的量级仅有几百个.所以,视频目标跟踪是典型的小样本在线学习问题,这使得以处理大数据见长的深度学习方法难以发挥优势.
2) 视频目标跟踪对实时性要求极高. 而规模庞大的深度网络很难达到实时性要求.这就需要在网络规模和运行速度方面做综合考虑.
由于深度学习在特征提取、外观建模上的优势,研究者们仍然通过不同手段,结
合视频目标跟踪任务的特点, 设计出一些基于深度学习的跟踪算法。
目前基于深度学习的目标跟踪研究思路主要有二:
1) 利用深度神经网络所学习到的特征的可迁移性,首先在大规模的图像或视频数据集上离线训练某一特定类型的深度神经网络.而后在具体的在线跟踪时,利用之前基本训练好的网络对目标进行特征提取,并利用在线获取的数据对该深度网络进行微调节,以适应在线时目标外观的具体变化.
2) 将深度神经网络的结构做一定的改变, 使其能够适应在线跟踪的要求.主要的方法包括将网络的层数维持在一个兼顾性能与效率的数量水平、将网络中费时的训练过程做适度简化等.目前该方面的工作还处于起步阶段,探索空间较大.
六.现阶段较为主流的多目标跟踪方法
目前比较有代表性的有两种:
1. Detection-based data association
多目标跟踪,可以看作一个数据关联问题,连续两帧之间的tracklets or detections 做 link,形成 Longer tracklets。最经典的框架是Nevatia在2008年 ECCV 发表的论文Robust Object Tracking by Hierarchical Association of Detection Responses 中提出的多层跟踪框架。
low-level: 把连续帧中的 detection responses 连起来成为 short tracklets,并用阈值去掉 unsafe 的,剩下 reliable tracklets。
mid-level: 对 low-level 得到的 tracklets,对每对tracklet 计算一算一个 link probability 或 affinity score,然后用 Hungarian 算法做 global optimal assignment,得到 longertracklets.
high-level:这里就是对 mid-level 得到的 tracklets 做 refine 了,比如做一个 entry-exit map,估计tracklets 的 start 和end,对于没有 reach entry-exit points 的,做一个 completion;又如,寻找 moving group,并据此完善 group 中的 targets 的tracklets。
这是一个基础性的、开放的框架,人们可以在每个层次中不断添加使用新的方法,可以看到,此后的许多论文都是构建在这个框架上的。
2. Energy minimization.
很多问题都可以转化为一个能量最小化的问题:在解空间中,每个解都对应一个 cost或者说是 energy,我们要做的就是把这个 cost function 表示出来,并找到一个合适的方法求最优解。MOT 大神 Anton Milan 在2014年PAMI 发表的 Continuous Energy Minimization forMulti-Target Tracking 就是一个典型。已知的是所有 detection responses,解空间就是这些个 responses 构成的所有可能的 tracklets 组合。每个组合都有一个 cost ,寻找一个最优的组合。本文清晰的阐述了 cost function 的构成,以及 minimization。经典之处在于构造了一个连续的 cost function,这样容易求解;它用了 jump move,跳出局部最优,寻找全局最优。
目前的研究重点放在mid-level, high-level 上。
七.MOT领域经典及最新多目标跟踪研究情况
以数据关联法为框架:
局部关联:缺点是计算复杂、鲁棒性差。
典型方法bi-partite matching and its extensions。
[1]D. Reid. An algorithm for trackingmultiple targets. IEEE Transactionson Automated Control, 1996.
[2] K. Shafique and M. Shah. A noniterative greedyalgorithm for multiframe point correspondence. In PAMI, 2005.
[3] G. Shu, A. Dehghan, O. Oreifej, E. Hand, and M. Shah.Part based Multiple-Person Tracking with Partial Occlusion Handling. In CVPR, 2012.
全局关联:缺点是严重依靠目标检测的性能。
典型方法:
[1]Dehghan, S. Modiri, and M. Shah.GMMCPTracker: Globally Optimal Generalized Maximum Multi Clique Problem forMultiple Object Tracking. In CVPR,2015.
[2]Wu and R. Nevatia. Detection andTracking of Multiple,Partially Occluded Humans by Bayesian Combination ofEdgelet based Part Detectors. volume 75, pages 247–266,2007.
[3]A. R. Zamir, A. Dehghan, and M.Shah. GMCP-Tracker: Global Multi-object Tracking Using Generalized Minimum CliqueGraphs. In ECCV, 2012.
最近多目标跟踪可被化为求解如下问题中的一个:
[1]提出了Network flow 法,最小化cost flow的各种方法相继被提出。
[2]提出了 integer linear programming法。
[3]提出了quadratic boolean program法。
[4]提出了continuous or discrete-continuous energyminimization法
[5] generalized cliquegraphs
[6] maximum weight-independentset problem
[7] solving the MAP estimation problem法。
以上方法的不足是它们只对检测目标进行关联,而丢掉了图像全局信息。
于是新方案被提出:
[1]individual partresponses of the DPM detector
[2]Final high-level trajectories
[3]trajectory estimationto exploit weak detection responses during partial occlusions.
[4] learning occlusionpatterns that are a-priori unknown, by analysing tracking failures.
最近多目标跟踪各个环节的杰出方法:
近年在各个多目标跟踪关键环节都出现了效果良好的方法:截至2015
leveraging long-rangeassociations to prevent ID switches and recover missing detections caused bylong-term occlusion:
[1] A. Andriyenko, K. Schindler, and S. Roth. Discrete continuousoptimization for multi-target tracking. In CVPR 2012.
[2] A. R. Zamir, A. Dehghan, and M.Shah. GMCP-Tracker: Global multi-object tracking using generalized minimum cliquegraphs. In ECCV 2012
jointly inferring the numberof tracks and solving thedata association problem:
[1] A. V. Segal and I. Reid. Latent data association:Bayesian model selection for multi-target tracking. In ICCV, 2013.
[2] A. Andriyenko, K. Schindler, and S. Roth. Discrete continuousoptimization for multi-target tracking. In CVPR 2012.
exploring appearanceinformationand combine it with long-range associations :
[1]R. Zamir, A. Dehghan, and M. Shah.GMCP-Tracker: Global multi-object tracking using generalized minimum cliquegraphs. In ECCV 2012.
[2]A. V. Segal and I. Reid. Latentdata association: Bayesian model selection for multi-target tracking. In ICCV, 2013.
integrate non -maximumsuppression with tracking :
[1]M. Andriluka, S. Roth, and B.Schiele. People-tracking-by detection and people-detection-by-tracking. In CVPR 2008.
[2]H. Pirsiavash, D. Ramanan, and C.C. Fowlkes. Globallyoptimal greedy algorithms for tracking a variable number ofobjects. In CVPR 2011.