多目标跟踪综述

简介

这学期选了王菡子老师的《视频分析前沿》,使用opencv-python编写了多目标跟踪,看了一些单目标跟踪和多目标跟踪的综述,作下记录,不过opencv中的多目标跟踪是采用多个单目标跟踪模型完成的,没有考虑群体运动等模型。

综合转载以下文章:

MTT简介

目标跟踪是机器视觉中一类被广为研究的重要问题,分为单目标跟踪与多目标跟踪。前者跟踪视频画面中的单个目标,后者则同时跟踪视频画面中的多个目标,得到这些目标的运动轨迹。

基于视觉的目标自动跟踪在智能监控、动作与行为分析、自动驾驶等领域都有重要的应用。例如,在自动驾驶系统中,目标跟踪算法要对运动的车、行人、其他动物的运动进行跟踪,对它们在未来的位置、速度等信息作出预判。

目标跟踪算法可以进行轨迹特征的自动分析和提取,以弥补视觉目标检测的不足,有效的去除错误的检测,增加遗漏的检测,为进一步的行为分析提供基础。相对于多目标跟踪算法,视觉单目标跟踪算法研究的更为广泛,当前解决的相对更好。典型的如Mean shift算法,用卡尔曼滤波、粒子滤波进行状态预测,TLD等基于在线学习的跟踪,KCF等基于相关性滤波的算法等。

对于单目标跟踪算法的测试视频来说,存在一个先验假设是目标总是在摄像机视场范围内,因此即使把矩形框固定在初始位置,有时候仍然能得到一个看起来还好的跟踪结果(如图)。

多目标跟踪问题没有上述的先验假设,一般情况下,多目标跟踪的对象位置变化很大,跟踪对象可以从场景入口进入,从出口离开,跟踪目标个数不固定。另外,多目标跟踪问题通常追踪给定类型的多个对象,同类对象具有一定的外观轮廓相似性,如下图跟踪场景:

多目标跟踪,即Multiple Object Tracking(MOT),也称为Multiple Target Tracking(MTT)。其主要任务是给定一个图像序列,找到图像序列中运动的物体,并将不同帧中的运动物体一一对应(Identity),然后给出不同物体的运动轨迹。这些物体可以是任意的,如行人、车辆、运动员、各种动物等等,而研究最多的是“行人跟踪”。这是因为首先“行人”是典型的非刚体目标,相对于刚体目标难度更大,其次在实际应用中行人的检测跟踪更具有商业价值。 据不完全统计,至少75%的多目标跟踪研究是在研究行人跟踪。

在计算机视觉的三层结构中,目标跟踪属于中间层,是其他的高层任务(如动作识别,行为分析等)的基础。而目标跟踪的主要应用包括:

  1. 视频监控。检测异常行为,节省大量的人力物力。

  2. 人机交互。对于复杂场景中目标交互的识别与处理。

  3. 虚拟现实和增强现实。比如游戏中角色运动的设置等。

  4. 医学图像。

目标跟踪又包括单目标跟踪和多目标跟踪。单目标跟踪可以通过目标的表观建模或者运动建模,以处理光照、形变、遮挡等问题,而多目标跟踪问题就要复杂得多,除了单目标跟踪回遇到的问题外,还需要目标间的关联匹配。另外在多目标跟踪任务中经常会碰到 目标的频繁遮挡、轨迹开始终止时刻未知、目标太小、表观相似、目标间交互、低帧率等等问题。所以MOT问题更加棘手。

在介绍MOT问题solutions的一般思路之前,先了解一些术语。

  • 目标: 在一幅图像中,明显区别于周围环境的闭合区域往往被称为目标,当然这些目标最好具有一定的物理意义。
  • 检测: 给出目标在图像中的位置的过程称为检测。检测方法很多,比如模板匹配,对于视频中运动目标检测,可以通过帧间差分法、背景减除法、光流法等等实现。
  • 跟踪: 在连续图像序列中完成对目标的检测,并把物理意义下的同一目标相关联的过程。
  • 检测响应: 也称为“检测假设”、“检测观测量”。(detection response,detection hypotheses,detection observations)。是检测过程的输出量。
  • 轨迹(Trajectory):MOT系统的输出量,一条轨迹对应这一个目标在一个时间段内中的位置序列。
  • 小段轨迹(Tracklet):形成Trajectory过程中的轨迹片段。完整的Trajectory是由属于同一物理目标的Tracklets构成的。
  • 数据关联: 数据关联是多目标跟踪任务中经常使用的典型的处理方法,用于解决目标间的匹配问题,这里的目标可以是detection responses,也可以是tracklets。

注: 所谓的“物理目标”,就是具有相同物理意义的目标,比如两幅图像都出现了“张三”、“李四”,那么两个“张三”就是同一物理目标,虽然有可能两幅图像中“张三”的形状、表观都发生了很大的变化。

MTT的形式化表达

给定图像序列$\{I_1,I_2,…,I_t,…\}$,每幅图像中目标的个数为$M_t$,每个目标的状态使用$s_t^i$表示,这里的状态可以有位置、大小、速度、表观等组成,那么每幅图像中所有目标状态表示为$S_t=\{s_t^1,s_t^2,…,s_t^M\}$,对应的第$i$个目标的trajectory表示为$s_{1:t}^i=\{s_t^1,s_t^2,…,s_t^i\}$,所有图像中目标组成的状态序列为$S_{1:t}=\{S_1,S_2,…,S_t\}$。

对于detection observations可以对应使用$o_t^i$,$o_{1:t}^i$,$O_{1:t}$表示。

那么MTT任务,即根据detection responses找出目标的$trajectory(S_{1:t})$,可以

即后验概率问题。

这个形式有两种实现方法:probabilistic inference 和 deterministic optimization。

其中probabilistic方法适合online tracking,每一幅图像的处理仅和之前的结果有关,类似于Hidden Markov Model,操作分为两个步骤:预测和更新

  • 预测:$P(S_t|O_{1:t-1})=\int P(S_t|S_{t-1})P(S_{t-1}|O_{1:t-1})$
  • 更新:$P(S_t|O_{1:t}) \propto P(O_t|S_t)P(S_t|O_{1:t-1})$

这类方法有粒子滤波(Praticle Filter)、蒙特卡洛模拟退火(MCMC)等。

另一个deterministic optimization则是利用了当前帧的前后帧信息进行最优化求解,可以通过直接优化$P(O_{1:t}|S_{1:t})$替代原问题,也可以通过直接求解相关的能量函数求解。

具体的方法包括二分图匹配、动态规划、最小流\最大割方法和最大权重独立集等方法。

MTT方法的分类

MTT方法的分类方法有很多,不同的分类角度对应着不同的分类结果。

  1. 初始化的角度
    主要强调的是目标式如何获得的,可以分为Detection Based Tracking (DBT) 和Detection Free Tracking (DFT)。如下图

DBT是指在跟踪之前每一幅图像中目标都是detected,也就是说MOT过程包含一个独立的detection过程。这种方法性能比较依赖于detectors的好坏。
DFT需要人工标定第一帧图像中的目标,之后的过程中边检测目标边跟踪目标。

DFT和DBT相比较,DBT使用的更多。主要原因在于DFT需要人工标定目标,对于非第一帧出现的目标或者中间帧消失的目标没办法处理。而DFT相对于DBT的有点在于对目标类型事先要求不高,由人工指定,而DBT的目标类型则由分类器决定。

  1. 处理过程的角度
    数据的处理方式可以分为Online tracking和offline tracking。如下图示意

一般而言 online tracking更适用于实际情况,即视频一般时序列化得到。但是offline tracking更可能得到全局最优解。所以许多方法采用的是在较小的时间片段内使用offline tracking的方法进行折衷。

  1. 数学的角度
    即前面提到的probability inference和deteministic optimization。

总结:起始可以发现不同的分类之间是存在交叉的,比如DFT就是online tracking的过程。当然DBT也存在online tracking方式,比如两帧关联。另外,实际应用中,一般大多数online tracking方法都是probability inference方法,而deterministinc optimization对应着offline tracking。

  1. 应用的角度
    a. 运动场景中,比如运动员的检测跟踪。这个应用中难点体现在数据上,拍摄的图像存在这各种角度、尺寸的变换,而且,同一队伍的运动员因为衣服相同,导致表观难以区分。 但赛场和背景也存在着显著的边界特性以及不同队伍间表观已区分性也为跟踪带来了有用的信息。
    b. 航拍场景中, 主要难点在于:目标太小,帧率太低,目标分布密度太大。这类问题处理时一般context、velocity等提供的信息比较多。

泛化的MTT,一般DBT方法要求预先训练好的detector,这就导致跟踪目标的类型时确定的。而最近有学者研究针对于任意类型目标的MTT方法,比如在第一帧中人工标定一个目标,然后在前几帧中检测出了该目标类似的所有目标,使用这些目标训练分类器,后续类似于DBT过程,这样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)。比如已知目标的模板表示$p_0$,则候选目标与源目标的相似度可以定义为$P_{data}(P) \propto exp(-(1-NCC(p,p_0))^2)$。采用模板匹配的方法进行跟踪时,一般每一帧都要更新模板,简单易行,但显然这种方法对于遮挡、光照等问题比较敏感。

颜色直方图表示

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

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

其中$D(c_i,c_j)=mean\{D(c_i^k,c_j^k)|k=FB,HT,HS\}表示巴氏系数,$c$表示直方图。

再比如zhang中,假设已知目标$o_i$,$o_j$的颜色直方图$c_i$,$c_j$,则目标之间的相似度刻画为

其中$D_{ij}$表示巴氏距离,$\sigma_s^2$,$\sigma_d^2$,$D_s$,$D_d$别表示目标相似性和相异性的高斯分布的均值和方差,这可以由训练集获得。

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

协方差矩阵表示

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

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

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

其他

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

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

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

  • Concatenating
    比如将HoG,颜色直方图,光流等特征串联起来,然后再使用PCA进行降维$f$,得到目标表示。目标之间相似度可以定义为$S=exp(-(f-f’)^TM(f-f’))$,$M$是在线获得的协方差矩阵

  • Summation
    这个是指不同表示获得的相似度进行加权求和。比如$P_{ij}=(1-\alpha)P_{ij,color}+\alpha P_{ij,depth}$

  • Product
    这个主要是从概率的乘法公式考虑。比如目标$s_0$的某个潜在匹配$s_1$颜色直方图、形状、词袋表示为$h$,$s$,$b$的概率为$p(h|s_0)$,$p(s|s_0)$,$p(b|s_0)$,假设这些特征是独立的,那么

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

Motion Model

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

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

匀变速模型

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

这个应用很多,比如前面文章(MTT)连续能量函数最小化方法中使用全局速度累积变化来约束速度变化$C_{dyn}=\sum_{t=1}^{N-2} \sum_{i=1}^M ||v_i^t-v_i^{t+1}||^2$, 再比如之前基于层次关联的鲁棒多目标跟踪中使用速度刻画tracklets相连的概率

如下图

上面两个模型仅考虑时间上tracklets的速度关系,还有方法考虑到空间中相邻tracklets的关系,比如tracklets近邻对$(T_1,T_2)$,$(T_3,T_4)$,如果已经知道$T_1$,$T_3$相匹配,计算$T_2$,$T_4$匹配的可能性。可以首先将$T_3$,$T_4$的起始时间对齐$t_y=max(t_3^b,t_3^b)$,然后计算在$t_y$时刻预测的两个目标距离与响应间距离的差异$\Delta p_1= p_1^e+v_1^{tail}(t_y-t_1^e)-(p_2^l+v_2^{tail}(t_y-t_2^e))$,$\Delta p_2=p_3^{t_y}-p_4^{t_y}$,其中上标$e$表示end,其距离差异可以认为服从高斯分布$N(\Delta p_1 - \Delta p_2 ;0,\Sigma_p)$,所以如果距离越小,也就表示$T_2$,$T_4$匹配的可能性越大。

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

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

非匀变速模型

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

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

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)模型中考虑了fidelity,constancy和repulsion。

repulsion,假设目标表示为$s_i=(p_i^t,v_i^t)$表示位置和速度,$D_{ij}(s_i)$表示$i$,$j$之间的最小舒适距离,对应舒适距离的能量项为$C_{ij}$,这个能量项形式可以很多,然后目标$i$和附近所有目标舒适距离的约束为$C_i^{inter}(S_i)=\sum_{i \neq j}w_{ij}C_{ij}$,其中$w_{ij}$表示权重。

fidelity,$C_i^f(s_i)=-\frac{(\overline p_i - p_i)v_i}{||\overline p_i-p_i||||v_i||}$,其中$\overline p _i$表示目标$i$的目的地位置。

constancy,$C_i^c(S_i)= (u_i-||v_i||)^2$,这里$u_i$是预估的目标i的均匀速度

所以最终interaction model为:$C_i(s_i)=C_i^{inter}+\lambda_1C_i^f+\lambda_2 C_i^c$

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

Yamaguchi (2011)除了类似与Pellegrini(2009)模型中的repulsion和constancy外还考虑了其他四个方面。那个目标表示为$s_i=(p_i,v_i,u_i,\overline p_i,S_i)$,分别是位置、速度、预估速度、目的地、所在group
速度:速度是渐变的$C_d(s_i)= Vert ||v_i^{t+1} - v_i^t||$,速度应该近似与预估速度$C_s(s_i)=(u_i-||v_i||)^2$,attraction,

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

Scovanner(2009)提出的模型中包含了4个部件。$C_{LM}$约束目标不要在space内大幅跳变,$C_{CV}$约束速度不变,$C_{dest}$保证目的地不变,$C_{AV}$约束目标之间的关系repulsion。

crowd motion pattern models

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

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

Zhao(2012)使用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$帧内找到匹配的目标$s_t$,那么就将$s_t$,$s_t$连接起来,认为中间都被遮挡了,否则则认为轨迹在$s$处已经终止。

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

经典方法

多目标跟踪问题最早出现在雷达信号中目标运动轨迹的跟踪,如同时跟踪飞过来的多架敌人的飞机和多枚导弹。这些算法后来被借鉴用于机器视觉领域的多目标跟踪任务,随着计算机视觉领域的深入研究,近年来研究者对多目标跟踪算法从不同的方面进行了扩展。比如通过扩展单目标跟踪算法来支持多目标的情况,更多的工作从整个视频场景出发,对所有的目标轨迹做了统一的考虑。根据不同的分类标准,多目标跟踪算法有不同的分类方法。比如按照预测校正的跟踪和按照关联方式的跟踪,按照离线方式的关联跟踪和按照在线方式的跟踪,按照确定性推导的跟踪算法和按照概率统计最大化的跟踪等。

按照轨迹形成的时间顺序,多目标跟踪可以分为在线方式的跟踪算法以及离线形式的跟踪过程。如果跟踪的顺序是逐帧方式的:即为在线方式的目标跟踪方法。在线多目标跟踪与人眼实时跟踪目标过程类似,是对每个目标的状态进行估计,然后考虑整体状态的合理性进行约束。这个过程也可以简化为:获得每帧图像检测结果,把检测结果同已有的跟踪轨迹进行关联。如果跟踪算法运行是在视频已经获取结束,所有检测结果都已经提前获取情况下,这种跟踪方法为离线形式的多目标跟踪。离线多目标跟踪算法把检测结果集合作为观察,把轨迹看作检测集合的一种划分,因此跟踪问题转化为子集优化的过程。

按照跟踪算法形式化表示和优化框架过程,多目标跟踪可以分为确定性推导的跟踪和概率统计最大化的跟踪算法(如图)。

在确定性推导的多目标跟踪框架中,我们把检测和轨迹和匹配看作为二元变量,通过构

造一个整体的目标函数,我们求变量的最佳值,使得目标函数最优,从而得到检测和轨迹的最佳匹配。这种整体的目标函数可以构造为二部图匹配的匹配代价,网络流的代价和,或者直接构造为机器学习中的分类问题进行优化计算。在概率统计最大化的多目标跟踪方法中,检测和轨迹的关系通过概率模型进行形式化,例如基于贝叶斯推导的卡尔曼滤波和粒子滤波,基于构造马尔科夫图模型,通过样本构造学习模型参数,在跟踪过程中计算概率最大化的轨迹结果,而对马尔科夫图模型的一个直接的公式化方法就是构造能量函数,因此能量最小化也是一些多目标跟踪算法常用的方式。

在一些情况下,这两种方法的区分不是非常明确的。比如机器学习算中,也可以采用统计学习方法进行建模,而能量最小化过程的推导实际是一个确定性的步骤。

上述对于多目标跟踪算法的分类,对于帮助理解不同的跟踪算法具有重要作用,而真正决定算法性能的可能并不是这些跟踪算法框架,而是一些更加基础的内容,比如如何构造检测结果的表观模型才能反应目标的特征,采用什么样的特征才能使得同一个目标更像,不同目标差异较大。又比如,如何判断检测结果是不是非常准确,如果不准确的话,特征匹配该如何计算匹配相似度。

对于特征表示的研究,目前广泛采用深度学习的方法,基于深度学习的多目标跟踪算法我们后续介绍。下面我们对经典的多目标跟踪算法进行概要的介绍。

多假设多目标跟踪算法



基于检测可信度的粒子滤波算法




基于最小代价流优化的多目标跟踪算法




基于马尔科夫决策的多目标跟踪算法



基于局部流特征的近似在线多目标跟踪算法




多目标跟踪的评价指标

详见多目标跟踪的评价指标

对于多目标追踪问题,我们认为一个理想的评价指标应该满足下述三点要求:

  1. 所有出现的目标都要能够及时找到

  2. 找到目标位置要尽可能可真实目标位置一致

  3. 保持追踪一致性,避免跟踪目标的跳变 each object should be assigned a unique track ID which stays constant throughout the sequence.

这三点要求给了设计MOT评价metric的启发:

  1. metrics应该能够评价tracker输出结果和真实结果location上的误差精度

  2. metrics应该要能够反映出tracker长时间持续追踪目标结构的能力,即追踪到正确的目标轨迹的能力

另外,关于metric的一般要求:

  1. metric参数(包括可调节的阈值等)要尽可能的少,才能使评估过程简单直接,实验结果可对比性较强

  2. metric要尽可能的直观,易理解,特别是要容易区分不同类型的误差

  3. metric应具有较强的适应性,对于MOT的评价指标而言要能够适应2D和3D的不同情况

  4. metric的个数要尽可能的少,尽量少的指标却具有很高的表达能力

论文根据上述的criteria提出了一种MOT问题系统、客观的评价过程。
假设对于每一帧的图像中有目标$\{o_1,…,o_n\}$,tracker在该帧输出的假设为$\{h_1,…,h_m\}$,那么评价过程包含以下步骤:

  1. 建立目标和假设间的最优一一对应关系,称之为correspondence

  2. 对所有的correspondence,计算位置偏移误差(the error in the object’s position estimation)

  3. 累积结构误差(object configuration error)
    a. 计算漏检数,objects for which no hypothesis was output
    b. 计算虚警数,hypothesis for which no real objects exists
    c. 跟踪目标发生跳变的次数,the number of occurrences where the tracking hypothesis for an object changed compared to previous frames

多目标跟踪常用的数据集

公开代码的方法

还是公用的数据集比较好,这样可以直接对比别人的实验结果,不用自己重复实验了。

Future directions

  1. MOT with video adaptation. 大多数基于检测的MOT方法,往往适用范围依赖于离线学习获得的检测器,所以找到一个通用性更好,即适用于任何数据,的MOT方法是一个研究热点。

  2. Balance between crowd density and completeness of objection representation. 往往在密集环境中目标都很小,以至于传统的表观表示方法鉴别能力很弱,如何才能找到一个对于小目标物体依然具有较强鉴别能力的表示方法仍是个研究方向。

  3. MOT under multiple cameras. 多视角的数据能够恢复立体视觉,更加符合生物视觉,我更喜欢这个方向,一定可以挖到点什么东西。

  4. Multiple 3D object tracking. 3D目标追踪,这个和3还是不一样的,多目视觉能构建3D环境,但构建不了3D目标

  5. MOT with scene understanding. 结合场景理解的目标跟踪问题,比如场景的语义信息。

  6. MOT with other computer vision tasks. 多个视觉任务相互结合,相辅相成。比如步态识别,姿势识别和目标跟踪放在一起处理,信息共享,效果可能也不错。

个人觉得吧,人类对于多目标跟踪处理的就很不错,先别说机器超过人类,如果能保证机器具有和人类相同的处理机制,凭借其运算的精确性,结果就会比人类好。所以我更倾向于双目视觉和结合场景理解的MOT方法,另外,人类在处理多个目标跟踪时好像并不是同时的,应该类似于时间片的方式,我觉得也是值得借鉴的。

一分一毛,也是心意。