多目标跟踪_多目标跟踪场景 - CSDN
精华内容
参与话题
  • 本文的主要贡献点如下四条:1)多目标跟踪系统的关键方向,包括公式(formulation),分类(categorization),关键原则(key principles),以及测评(evaluation);2)根据现有技术所属的不同方向来进行讨论,再将每个...

    原文链接(每年都会更新,现在是v4,2017年5月):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、贡献

    1.3、本文组织结构

    1.4、外延符号(Denotations)

     

     

     

    2、MOT问题

    2.1、问题公式(Formulation)

    在过往研究中,MOT问题已经从不同的角度形成了不同公式,这使我们很难从高层的角度来理解这个问题。本文中,我们泛化了公式,并认为现有的研究可以由这些公式统一。据我们所知,这项尝试以前从未有过。

    通常来说,多目标跟踪可以认为是多变量估计问题。给定一个图像序列,表示第t帧第i个目标的状态,表示在第t帧下所有目标的状态序列,表示第i个目标的状态序列,其中分别表示目标i出现的第一帧和最后一帧,表示所有目标从第一帧到第t帧的状态序列。需要注意的是每一帧目标的ID都可能不同。

    相应的,在最常用的tracking-by-detection,或Detection Based Tracking(DBT)结构下,表示第t帧第i个观测目标(observation),表示在第t帧下所有目标的观测目标,表示所有目标从第一帧到第t帧的观测目标序列。

    多目标跟踪的目的是找到所有目标“最好的”状态序列,在所有观测目标的状态序列上的条件分布上,可以通过使用MAP(maximal a posteriori)估计法泛化建模得到:

    以往研究中提到的不同MOT算法,其目的现在可以被认为是设计不同方法来解决上述的MAP问题。它们的方法要么是基于概率预测方面的【6】【31~37】,要么是基于决策优化方面的【16】【38~48】。

    基于概率预测的方法通常用两步迭代算法来解决式(1)的,其中是动态模型,是观测模型。

    基于决定性优化的方法则是直接最大化概率函数,在观测集上作为代表

    或最小化能量函数

    其中Z是归一化因子,保证是一个概率分布。

     

    2.2、MOT分类(Categorization)

    由于难以使用一个通用的标准来对一个特定的MOT方法进行分类,所以我们使用多个标准来区分MOT方法。接下来将会根据三个标准划分:初始化方法、处理模式和输出类型。至于选择上述三种的原因是,这符合一个任务的自然流程。

     

    2.2.1、初始化方法

    大多数现存的MOT研究可以根据目标如何初始化分为两类:Detection-Based Tracking(DBT)和Detection-Free Tracking(DFT)。

    DBT:如图1上层所示,首先检测目标,然后链接到轨迹中。这种策略也通常被称为“tracking-by-detection”。给定一个序列,在每帧中进行特定类型的目标检测或运动检测(基于背景建模)【50~51】,得到目标假设, 然后进行顺序或批量跟踪,将检测假设连接到轨迹中。有两个问题值得注意:第一,由于提前训练目标检测器,DBT大部分关注特定的目标类型,如行人、车辆或人脸。第二,DBT的性能非常依赖于所采用的目标检测器的性能。

    DFT:如图1下层所示,DFT【52~55】需要在第一帧手动初始化一定数量的目标,然后在后续帧定位这些物体。
    相对来说,DBT更受欢迎,因为它可以自动发现新目标、自动终止消失的目标。而DFT就不能处理新目标出现的情况,但它不需要提前训练目标探测器。表3列出了DBT和DFT之间的主要差异。

     

     

    2.2.2、处理模式

    MOT也可以分为online跟踪核offline跟踪,其差别在于在处理当前帧时,后几帧的观测目标是否被利用到。Online,也成为causal,只依靠直到当前帧的前面的信息。相对的ffline则能使用未来帧的信息。

    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、讨论

     

     

    3、MOT组成成分

    在设计MOT算法的时候有两个问题需要考虑:一个是怎样测量帧内目标的相似性,另一个是基于这个相似性怎样判断帧间目标是否相同。前者主要包括外观,运动,交叉,排斥和碰撞的建模问题,后者主要和数据关联有关。

     

    3.1、外观模型

    外观是MOT中重要的计算相似度(affinity)的途径,在单目标跟踪中,复杂的外观建模主要用于将目标和背景区分开来,而大多数MOT方法则不将其作为核心建模方法。从技术上可以将外观模型分为视觉表示和统计测量,前者基于单特征或多特征来描述一个目标,后者则是计算不同目标间的相似性。例如目标i和j间的相似性可以写成:

    其中是不同观测目标的视觉表示,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)距离常用来计算两直方图间的距离,然后将该距离转换成相似性【31】【36】【58】【62~63】【91】,或者将距离放入高斯(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头尾间的间隔,那么其平整性就通过将预测位置代入以观测位置为中心的高斯分布中达到。在估计阶段,前向运动和后向运动都需要考虑,因此线性运动模型的相似度就有式(6),其中"F"和"B"分别表示前向(forward)和后向(backward),同时,观测位置和预测位置之间的偏移量△p符合以0位中心的高斯分布。其他关于此类建模方法的例子还有【1】【7】【58~60】【99】。

     

     

    • 第三种方法是加速度平整性【99】。在k时刻观测目标的tracklet的运动状态的概率分布有式(7),其中是速度,是加速度,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)矩阵,表示所有|V|个结点分配的标记值,Tr(·)表示矩阵中的轨迹范数(trace norm)。

    "hard" modeling:通过在检测层面添加补充额外的约束来硬建模。...

     

    3.4.2、轨迹层面的排斥模型

    通常来说如果两靠的较近的检测假设拥有不同的轨迹,那么将受到轨迹层面排斥模型的惩罚。...

     

    3.5、遮挡处理

    遮挡是MOT最难处理的问题之一,这也是ID交换(ID switches)和轨迹分段的主要原因。

     

    3.5.1、部分到整体(Part-to-whole)

    该策略是建立在目标的一部分仍可见的假设上的,也确实在大部分情况发生。一种比较流行的方法是将全局目标(类似一个跟踪框,bounding box)分割成几个部分,然后对每个部分计算相似度,具体来说就是当发生遮挡时,被遮挡的那些部分的相似度权重降低,而提高没被遮挡部分的相似性权重。至于如何进行分割,有将目标均匀地切分成一个个格子的【52】,也有以某种形态例如人来切分目标的,比如在【49】中分成了15个不重叠的部分,还有在【77】【111】中由DPM检测器【110】得到的部分。

    重构误差用于判断某个部分是否被遮挡。外观模型只根据可见部分进行更新是"hard"的方法,也存在"soft“方法在【49】中。两tracklets j和k之间的相似度可由下式计算得到,其中f是特征,i是部分的下标,权重由部分间的遮挡关系学习得到。在【77】中,通过人身体部分的连接可以得到部分的轨迹,进一步得到整个人的轨迹。

    "Part-to-whole"策略也可以应用在基于点聚类特征的跟踪中,其中点聚类特征认为具有相似运动的特征点都属于相同目标,只要一个目标的一些部分仍然可见,那么这个方法就是可行的【62】【68】【112】。

     

    3.5.2、假设与测试(Hypothesize-and-test)

    该策略不直接处理这档问题,而是根据已有的观测目标,先进行假设,然后测试假设是否成立来解决问题。

    Hypothesize:【38】基于距离和尺度都相近的观测目标对,来生成遮挡假设,假设遮挡,对应的遮挡假设就是,其中分别是的位置和时间戳,分别是的大小和外观特征。这个方法将遮挡视为干扰,而在其他研究【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的研究主要集中在监控场景中跟踪多个行人,所以关于其他类型的扩展也是不错的研究方向,例如目标可以是汽车、动物等,场景可以是交通场景,航拍等。因为在不同情况下的不同类型的目标跟踪问题的设置和难度有可能是完全不同的。

     

    参考文献

    Multiple Object Tracking: A Literature Review

    展开全文
  • 多目标跟踪概述(一)

    千次阅读 2019-05-07 15:09:44
    多目标跟踪(Multiple Object Tracking or Multiple Target Tracking, MOT or MTT)主要任务是在给定视频中同时对个感兴趣的目标进行定位,并且维持他们的ID、记录他们的轨迹。 多目标跟踪目前主要存在的问题: ...

           多目标跟踪(Multiple Object Tracking or Multiple Target Tracking, MOT or MTT)主要任务是在给定一个图像序列中同时对多个感兴趣的目标进行定位,并维持他们的ID,最后给出不同目标的运动轨迹。这些目标是任意的,如行人、车辆、动物等。目前研究最多的是行人跟踪。因为首先 “行人”是典型的非刚体目标,相对于刚体目标难度更大,其次在实际应用中行人的检测跟踪更有商业价值。当前在计算所做的也是针对行人的多目标跟踪项目。

           说了这么多,先上一段视频,有图有真相!视频30秒 https://motchallenge.net/vis/MOT16-01/HDTR_16  


    目录

    一. 目标跟踪

    二. 多目标跟踪方法分类    

    三 .多目标跟踪算法

       1.基于目标检测的多目标跟踪算法

       2.基于轨迹预测的跟踪算法

       3.基于目标特征建模的跟踪算法


     

    一. 目标跟踪

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

    1.  视频监控。检测异常行为,维护社会治安,保障人民的生命财产安全。(最近写毕设论文,官话一大堆)  
    2. 人机交互。对于复杂场景中目标交互的识别与处理。
    3. 虚拟现实和增强现实。比如游戏中角色运动的设置等。
    4. 医学图像。 

           目标跟踪包括单目标跟踪和多目标跟踪。单目标跟踪了解的不多,只读过一两篇相关的论文。大致是通过目标的表观建模或者运动建模,来处理光照、形变、遮挡等问题。而多目标跟踪问题要复杂的多,除了上述单目标跟踪遇到的问题外,还需要目标间的关联匹配。同时,还有目标的频繁遮挡、目标太小、表观相似、轨迹开始终止时刻未知等等问题。所以MOT 研究更加棘手。

     

    二. 多目标跟踪方法分类    

    1.  按照跟踪目标初始化方式分类:DBT(检测目标需要训练检测器)和DFT(第一帧初始化目标)。
    2.  处理模式:Offline跟踪和Online跟踪。(区别是否用到后面几帧的检测目标的结果)。

         下面结合具体图例说明:

          

           DBT(Detection Based  Tracking)(如上图左层所示)是指在跟踪之前每一幅图像中的目标信息都事先经过检测算法得到。它首先检测目标,然后链接到已有的轨迹中。这种策略也通常被称为“tracking -by- detection”。跟踪目标的数量,跟踪目标的类型全部由检测算法的结果来决定,无法预知。也就是说MOT过程包含一个独立的detection 过程。这种方法性能比较依赖于检测算法的好坏。

           DFT(Detection Free Tracking )(如上图右层所示)需要人工标定第一帧图像中的目标,之后边检测边跟踪目标。DBT 和DFT相比较,DBT使用的更多。原因在于DFT 目标需要人工标定,对于非第一帧出现的目标或者中间帧消失的目标没办法处理。

     

     

           一般而言,online tracking更适用于实际情况,即视频一般时序列化得到,用到的是直到当前帧的前面所有帧的信息。但是offine tracking 因为是通过提前获取视频中所有帧的观测目标,经分析计算组成最后的输出,所以更可能得到全局最优解。考虑到计算复杂度和内存限制,现在许多方法采用的是在较小的时间片段内使用offine tracking 的方法进行折衷。

    泛化的多目标跟踪。一般DBT方法要求预训练检测器,这就导致跟踪目标的类型是确定的。最近也有研究针对任意类型目标的多目标跟踪方法,比如在前几帧检测出了该目标类型类似的所有目标,使用这些目标训练分类器,后续类似于DBT过程。这样多目标跟踪方法就可以针对不同的视频数据进行处理了。

     

    三 .多目标跟踪算法

         在设计MOT算法的时候只需要考虑两个问题:

    • 怎样判断帧内目标的相似性。
    • 基于相似性怎样判断帧间目标是否相同。     

         前者主要包括外观特征,运动特征和形状特征的建模问题,后者主要和数据关联有关。

    1.基于目标检测的多目标跟踪算法

        1.1 跟踪流程

        1)在上一帧中的N个目标轨迹中找到了本次检测到的目标,说明正常跟踪到了;

        2)在上一帧中的N个目标轨迹中没有找到本次检测到的目标,说明这个目标是这一帧中新出现的,所以需要记录保存下来,用于下一帧的跟踪关联;

        3)在上一帧中存在某个目标,但这一帧并没有与之关联的目标。说明该目标可能从视野中已消失,需要将其移除。(注意这里的可能,是因为有可能由于检测误差或者目标被遮挡,导致在这一帧中该目标并没有被检测到)

       

          1.2 处理流程

           跟踪目标,先要将视频中的目标检测出来,这一步成为“目标检测”。然后根据检测得到的结果,将每帧中的目标关联起来。目标检测算法有很多,如Fast R-CNN,SSD和YOLO等。

      

           1.3 数据关联方式

            1)通过计算两帧中两个目标间的距离,认为距离最短的就是同一个目标。

            2)加上判断条件如IoU,当IoU超过一定的阈值就说明是同一个目标。

            这种方式优点是简单,匹配速度快,缺点也显而易见,当遇见目标被遮挡、目标过于密集、视频跳帧太大等情况时,跟踪就会失败。

           1.4 存在的问题

            

           当物体运动的速度比较慢,两个目标的前后帧距离相隔很小,很容易造成误判。如上图,上一帧A目标的轨迹连接到了B目标,B目标轨迹线丢失。

     

     

    2.基于轨迹预测的跟踪算法

           先预测目标的下一帧会出现的位置,然后让真实的检测结果与预测的位置进行对比关联。这样的话,只要预测足够准确,几乎不会出现前面提到的由于速度太快而存在的误差。

        2.1 跟踪预测方法

    • 卡尔曼滤波
    • 粒子滤波
    • 均值漂移算法

       2.2 数据关联算法

    • 多假设跟踪方法
    • 关联滤波器方法
    • 匈牙利算法
    • 马尔可夫链蒙特卡罗方法
    • 贪婪关联算法

     

    3.基于目标特征建模的跟踪算法

           该方法引入cnn卷积神经网络,表观特征提取模型。对每个检测到的目标,先利用卷积神经网络提取表观特征(可以理解为该目标的一种特征编码),然后计算每个目标特征之间的余弦距离。存在问题准确率会大幅提高,但耗时增多。

             

              执行流程: 

       

     

    展开全文
  • 带你入门多目标跟踪(一)领域概述

    千次阅读 多人点赞 2019-07-02 19:21:25
    现在从目标检测和单目标跟踪方向转来做多目标跟踪的小伙伴应该有不少,但由于多目标跟踪任务本身的复杂性,导致其入门会比目标检测与单目标跟踪困难不少。再加上论文分布在各个会议,开源代码较少,都造成了多目标...

    现在从目标检测和单目标跟踪方向转来做多目标跟踪的小伙伴应该有不少,但由于多目标跟踪任务本身的复杂性,导致其入门会比目标检测与单目标跟踪困难不少。再加上论文分布在各个会议,开源代码较少,都造成了多目标跟踪的研究门槛较高。本文旨在带领大家入门多目标跟踪,了解多目标跟踪领域的发展概况,让大家更方便直观地理解这个问题。

    1. 简介

    多目标跟踪,即MOT(Multi-Object Tracking),顾名思义,就是在一段视频中同时跟踪多个目标。MOT主要应用场景是安防监控和自动驾驶等,这些场景中我们往往需要对众多目标同时进行追踪。这是仅用目标检测算法或单目标跟踪算法都无法做到的,人们就自然就开始了对多目标跟踪算法的。

                                                DuKeMTMCT数据集,是一个典型的多目标跟踪场景

    而由于是多目标,自然就会产生新目标进入与旧目标消失的问题,这就是与单目标跟踪算法区别最大的一点。而由于这一点区别,也就导致跟踪策略的不同。在单目标跟踪中,我们往往会使用给定的初始框,在后续视频帧中对初始框内的物体进行位置预测。而多目标跟踪算法,大部分都是不考虑初始框的,原因就是上面的目标消失与产生问题。取而代之,在多目标跟踪领域常用的跟踪策略是TBD(Tracking-by-Detecton),又或者也可叫DBT(Detection-Based-Tracking)。即在每一帧进行目标检测,再利用目标检测的结果来进行目标跟踪,这一步我们一般称之为数据关联(Data Assoiation)。

    这里自然引出了多目标跟踪算法的一种分类:TBD(Tracking-by-Detecton)DFT(Detection-Free Tracking),也即基于检测的多目标跟踪与基于初始框无需检测器的多目标跟踪。TBD则是目前学界业界研究的主流。下图比较形象地说明了两类算法的区别。

                                                                                        TBD与DFT

    不得不提的是另一种多目标跟踪算法的分类方式:在线跟踪(Online)离线跟踪(Offline)。上文提到,大家往往会使用数据关联来进行多目标跟踪。而数据关联的效果,与你能使用的数据是有着直接的关系的。在Online跟踪中,我们只能使用当前帧及之前帧的信息来进行当前帧的跟踪。而在Offline跟踪中则没有了这个限制,我们对每一帧的预测,都可以使用整个视频的信息,这样更容易获得一个全局最优解。两种方式各有优劣,一般视应用场合而定,Offline算法的效果一般会优于Online算法。而介于这两者之间,还有一种称之为Near-Online的跟踪方式,即可以部分利用未来帧的信息。笔者认为,在实际应用中Near-Online的方式会是最合适的,其相关方法十分值得研究。下图形象解释了Online与Offline跟踪的区别。

                                                                      上图为Online,下图为Offline

    关于Online,还有一点需要补充,Online跟踪是不允许修改以往的跟踪结果的,这一点也不难理解,因为一旦修改,算法自然就不再符合Online跟踪不能利用未来帧的要求了,变成了NearOnline或者Offline。

    2. 一些术语

    看论文时经常会碰到一些术语,初入门的小伙伴可能会云里雾里似懂非懂。有必要在这里列出来。

    Trajectory(轨迹):一条轨迹对应这一个目标在一个时间段内的位置序列

    Tracklet(轨迹段):形成Trajectory过程中的轨迹片段。完整的Trajectory是由属于同一物理目标的Tracklets构成的。

    ID switch(ID切换):又称ID sw.。对于同一个目标,由于跟踪算法误判,导致其ID发生切换的次数称为ID sw.。跟踪算法中理想的ID switch应该为0。

    3. 评价指标

    对于多目标跟踪,最主要的评价指标就是MOTA。这个指标综合了三点因素:FP、FN、IDsw.。FP即False Postive,为误检测的目标数量;FN即False Negetive,为未检出的真实目标数量;IDsw.即同一目标发生ID切换的次数。

    MOTA越高,代表一个Tracker综合性能越好,上限为100,下限负无穷。

    除此之外,多目标跟踪还有很多的评价指标,比如MOTP、IDF1、MT、ML、Frag等。作为入门,读者最需要关注的就是MOTA,其他指标可以等对MOT有了进一步了解后再关注。

    下表为MOTchallenge官网的Evaluation Measures,有兴趣的读者可以一看。

    MOTchallenge:https://motchallenge.net/results/MOT17/

     

    本系列的第一篇文章希望能带大家对MOT有一个直观的了解。暂未涉及任何具体算法,只是介绍了多目标跟踪的任务,一些术语和评价指标。希望大家有什么问题可以在下面评论,欢迎交流讨论。码字仓促,文中若有错误还请大家不吝指教,多多包涵。

    参考文献

    [1]Luo, W., Xing, J., Milan, A., Zhang, X., Liu, W., Zhao, X., & Kim, T.-K. (2014). Multiple Object Tracking: A Literature Review, 1–18. Retrieved from Multiple Object Tracking: A Literature Review

     

    下一篇开始将涉及具体的跟踪算法,从一些经典算法说起,逐渐深入到多目标跟踪这一领域。

    带你入门多目标跟踪(二)SORT&DeepSORT

    展开全文
  • 深度多目标跟踪算法综述

    万次阅读 多人点赞 2018-10-23 10:54:33
    其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。...与行人重识别问题紧密相关的是行人的多目标跟踪问题。 在目标...

    其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。

    导言

    基于深度学习的算法在图像和视频识别任务中取得了广泛的应用和突破性的进展。从图像分类问题到行人重识别问题,深度学习方法相比传统方法表现出极大的优势。与行人重识别问题紧密相关的是行人的多目标跟踪问题。

    在多目标跟踪问题中,算法需要根据每一帧图像中目标的检测结果,匹配已有的目标轨迹;对于新出现的目标,需要生成新的目标;对于已经离开摄像机视野的目标,需要终止轨迹的跟踪。这一过程中,目标与检测的匹配可以看作为目标的重识别,例如,当跟踪多个行人时,把已有的轨迹的行人图像集合看作为图像库(gallery),而检测图像看作为查询图像(query),检测与轨迹的匹配关联过程可以看作由查询图像检索图像库的过程。如图1。

    图1:把检测图像看作查询图像(query),行人轨迹中的图像看作图像库(gallery),多目标跟踪中的匹配过程可以看作为行人重识别。

     

    与传统的行人重识别不同的是,行人多目标跟踪中的检测与行人轨迹的匹配关联问题更加复杂,具体表现在下面三个方面:首先,多目标跟踪中的目标轨迹是频繁发生变化的,图像样本库的数量和种类并不固定。其次,检测结果中可能出现新的目标,也可能不包括已有的目标轨迹。另外,检测图像并不像传统行人重识别中的查询图像都是比较准确的检测结果,通常,行人多目标跟踪场景下的检测结果混杂了一些错误的检测(false-alarms),而由于背景以及目标之间的交互,跟踪中的行人检测可能出现图像不对齐、多个检测对应同一目标、以及一个检测覆盖了多个目标这些情况。如图2中所示为ACF行人检测算法的结果。

    如何扩展深度学习在行人重识别问题中的研究成果到多目标跟踪领域,研究适用于多目标跟踪问题的深度学习算法是具有挑战性的问题。近年来,在计算机视觉顶级会议和期刊上,研究者从各方面提出了一些解决方案,发表了一些新的算法试图解决这个问题。在这篇文章中,SIGAI将和大家一起对基于深度学习的视觉多目标跟踪算法进行总结和归纳,以帮助理解基于深度学习框架的多目标跟踪算法的原理和相对于传统算法的优势,如果对本文的观点持有不同的意见,欢迎向我们的公众号发消息一起讨论。

    图2:多目标跟踪场景下行人的检测结果,绿色矩形框表示存在的检测结果不准确的情况。蓝色矩形框是检测结果基本准确的示例。当目标特征与检测器模型样本分布相差较大时,存在检测失败的情况。

     

    基于深度学习的多目标跟踪算法分类

    多目标跟踪算法按照轨迹生成的顺序可以分为离线的多目标跟踪和在线的多目标跟踪算法。离线方式的多目标跟踪算法通常构造为目标检测关系的图模型,其中设计和计算检测之间的相似度或者距离度量是决定图模型构造正确性的关键。在线方式的多目标跟踪算法根据当前检测观测,计算与已有轨迹的匹配关系,计算合适的匹配度量决定了匹配的正确性。因此,无论是离线方式的多目标跟踪还是在线方式的多目标跟踪算法,学习检测结果的特征并计算匹配相似度或者距离度量都是多目标跟踪算法的关键步骤。

    基于深度学习的多目标跟踪算法的主要任务是优化检测之间相似性或距离度量的设计。根据学习特征的不同,基于深度学习的多目标跟踪可以分为表观特征的深度学习,基于相似性度量的深度学习,以及基于高阶匹配特征的深度学习(如图3)。

    图3:按照深度学习目标和应用对基于深度学习的多目标跟踪算法进行分类。

     

    利用深度神经网络学习目标检测的表观特征是简单有效的提升多目标跟踪算法的方法。

    例如利用图像识别或者行人重识别任务中学习到的深度特征直接替换现有多目标跟踪算法框架中的表观特征[1],或者采用深度神经网络学习光流运动特征,计算运动相关性[2]。采用深度学习提升多目标跟踪算法更加直接的方法是学习检测之间的特征相似性,比如设计深度网络计算不同检测的距离函数,相同目标的检测距离小,不同目标的检测距离大,从而构造关于检测距离的代价函数[3]。也可以设计二类分类代价,使相同目标的检测特征匹配类型为1,而不同目标的检测特征匹配类型为0,从而学习并输出(0,1]之间的检测匹配度[4]。如果考虑已有轨迹与检测之间的匹配或者轨迹之间的匹配,采用深度学习方法可以用于设计并计算轨迹之间的匹配相似度,这种方法可以认为是基于深度学习的高阶特征匹配方法。采用深度学习计算高阶特征匹配可以学习多帧表观特征的高阶匹配相似性[5],也可以学习运动特征的匹配相关度[6]。

    下面我们对一些基于深度学习的多目标跟踪算法进行概要介绍。

    深度视觉多目标跟踪算法介绍

    3.1 基于对称网络的多目标跟踪算法

    一种检测匹配度量学习方法是采用Siamese对称卷积网络,以两个尺寸相同的检测图像块作为输入,输出为这两个图像块是否属于同一个目标的判别[3]。通常有三种拓扑形式的Siamese网络结构,如图4。

    图4:三种Siamese网络拓扑结构。第一种结构,输入A和B经过相同参数的网络分支,对提取的特征计算他们的距离度量作为代价函数,以使得相同对象的距离接近,而不同对象的距离变大。第二种结构,输入A和B经过部分相同参数的网络分支,对生成的特征进行合并,新的特征进行多层卷积滤波之后输入代价函数作为

    经过实验表明,第三种网络结构能够生成更好的判别结果。因此,在文献[3]中,Lealtaixe等人采用第三种拓扑形式的Siamese网络训练并计算两个检测的匹配相似度,原始的检测特征包括正则化的LUV图像I1I2,以及具有x,y方向分量的光流图像O1O2,把这些图像缩放到121x53,并且叠加到一起构成10个通道的网络输入特征。卷积网络由3个卷积层(Conv-Layer)、4个全连接层(FC-Layer)以及2元分类损失层(binary-softmax-loss)组成,如图5。损失函数为:

    标题

    其中( d_{1} , d_{2} )表示两个检测d_{1}d_{2},经过卷积之后的输出特征。y表示是否对应相同目标,如果d_{1},d_{2}来自同一个目标的检测,y=1;否则y=0。

    为了学习这个网络,作者从真实跟踪数据中抽取训练样本,从利用检测算法得到同一个轨迹的检测对作为正样本,从不同轨迹中得到检测作为负样本,为了增加样本多样性,增强分类器的泛化能力,负样本还包括从检测周围随机采集的重叠率较小的图像块。

    学习过程采用经典的带有动量的随机梯度反向传播算法。最小批大小选择为128,学习率初始为0.01。通过50个回合的训练,可以得到较为优化的网络参数。

    在Siamese网络学习完成之后,作者采用第六层全连接网络的输出作为表观特征,为了融合运动信息,作者又设计了6维运动上下文特征:尺寸相对变化,位置相对变化,以及速度相对变化。通过经典的梯度下降提升算法学习集成分类器。

    图5:采用Siamese对称网络学习表观特征相似度,并通过基于梯度下降提升算法的分类器融合运动特征,得到融合运动和表观特征的相似度判别。并利用线性规划优化算法得到多目标跟踪结果。

     

    多目标跟踪的过程采用全局最优算法框架,通过对每两个检测建立连接关系,生成匹配图,计算他们的匹配状态。通过最小代价网络流转化为线性规划进行求解。

    3.2 基于最小多割图模型的多目标跟踪算法

    上述算法中为了匹配两个检测采用LUV图像格式以及光流图像。Tang等人在文献[2]中发现采用深度学习计算的类光流特征(DeepMatching),结合表示能力更强的模型也可以得到效果很好的多目标跟踪结果。

    在文献[2]中,作者通过观察目标跟踪问题中的检测结果,发现仅仅考虑两帧之间的检测匹配不是最佳的模型表示。如图6,由于存在很多检测不准确的情况,同时考虑图像之间以及图像内部的检测匹配关系,并建立相应的图模型比仅仅考滤帧间检测匹配的图模型具有更广泛的表示能力。

    图6:上图是三帧图像中的检测结果,为了建立更准确的匹配模型,除了建立两帧之间的匹配关系,还需要考虑同一幅图像内,是否存在同一个目标对应多个检测的情况。

     

    下图是构造的帧间及帧内连接图模型。

    类似于最小代价流模型求解多目标跟踪算法,这种考虑了帧内匹配的图模型可以模型化为图的最小多割问题,如下公式所示:

     

    上式中 c_{e} 表示每个边的代价,这里用检测之间的相似度计算。x=0表示节点属于同一个目标,x=1反之。这个二元线性规划问题的约束条件表示,对于任何存在的环路,如果存在一个连接x=0,那么这个环上的其他路径都是x=0。即,对于优化结果中的0环路,他们都在同一个目标中。所以x=1表示了不同目标的分割,因此这个问题转化为了图的最小多割问题。对于最小代价多割问题的求解,可以采用KLj算法进行求解[7]。

    现在的问题是如何计算帧内及帧间检测配对的匹配度量特征。作者采用了深度学习算法框架计算的光流特征(DeepMatching)作为匹配特征[8]。图7是采用DeepMatching方法计算的深度光流特征示例。

    图7: 利用DeepMatching算法计算的深度光流特征,蓝色箭头表示匹配上的点对。

    基于DeepMatching特征,可以构造下列5维特征:

    其中MI,MU表示检测矩形框中匹配的点的交集大小以及并集大小,ξvξw表示检测信任度。利用这5维特征可以学习一个逻辑回归分类器。并得到是相同目标的概率pe,从而计算公式(2)中的代价函数:

     

    为了连接长间隔的检测匹配,增强对遮挡的处理能力,同时避免表观形似但是不同目标检测之间的连接,Tang等人在最小代价多割图模型的基础上提出了基于提升边(lifted edges)的最小代价多割图模型[9]。基本的思想是,扩展原来多割公式(2)的约束条件,把图中节点的连接分为常规边和提升边,常规边记录短期匹配状态,提升边记录长期相似检测之间的匹配关系。除了原来公式(2)中的约束,又增加了2个针对提升边的约束,即(1)对于提升边是正确匹配的,应该有常规边上正确匹配的支持;(2)对于提升边是割边的情况,也应该有常规边上连续的割边的支持。如图8。

    图8: (a)和(c)是传统的最小代价多割图模型。(b)和(d)是增加了提升边(绿色边)的最小多割图模型。通过增加提升边约束,图中(b)中的提升边可以被识别为割,而(d)中的边被识别为链接。

    同样,为了计算边的匹配代价,需要设计匹配特征。这里,作者采用结合姿态对齐的叠加Siamese网络计算匹配相似度,如图9,采用的网络模型StackNetPose具有最好的重识别性能。

    图9: (a),(b),(c)分别为SiameseNet, StackNet, StackNetPose模型。(e)为这三种模型与ID-Net在行人重识别任务上对比。(d)为StackNetPose的结果示例。

    综合StackNetPose网络匹配信任度、深度光流特征(deepMatching)和时空相关度,作者设计了新的匹配特征向量。类似于[2], 计算逻辑回归匹配概率。最终的跟踪结果取得了非常突出的进步。在MOT2016测试数据上的结果如下表:

    表1:基于提升边的最小代价多割算法在MOT2016测试数据集中的跟踪性能评测结果。

     

    3.3 通过时空域关注模型学习多目标跟踪算法

    除了采用解决目标重识别问题的深度网络架构学习检测匹配特征,还可以根据多目标跟踪场景的特点,设计合适的深度网络模型来学习检测匹配特征。Chu等人对行人多目标跟踪问题中跟踪算法发生漂移进行统计分析,发现不同行人发生交互时,互相遮挡是跟踪算法产生漂移的重要原因[4]。如图10。

    图10:当2个目标的运动发生交互的时候,被遮挡目标不能分辨正确匹配,导致跟踪漂移。

    针对这个问题,文献[4]提出了基于空间时间关注模型(STAM)用于学习遮挡情况,并判别可能出现的干扰目标。如图11,空间关注模型用于生成遮挡发生时的特征权重,当候选检测特征加权之后,通过分类器进行选择得到估计的目标跟踪结果,时间关注模型加权历史样本和当前样本,从而得到加权的损失函数,用于在线更新目标模型。

    图11:用于遮挡判别的STAM模型框架,采用空间注意模型加权检测结果的特征,通过历史样本、以及围绕当前跟踪结果采集的正、负样本,来在线更新目标模型。

    在这个模型中每个目标独立管理并更新自己的空间时间关注模型以及特征模型,并选择候选检测进行跟踪,因此本质上,这种方法是对单目标跟踪算法在多目标跟踪中的扩展。为了区分不同的目标,关键的步骤是如何对遮挡状态进行建模和区分接近的不同目标。

    这里空间注意模型用于对每个时刻的遮挡状态进行分析,空间关注模型如图12中下图所示。主要分为三个部分,第一步是学习特征可见图(visibility map):

     

    这里 f_{vis} 是一个卷积层和全连接层的网络操作。 w_{vis}^{i} 是需要学习的参数。

    第二步是根据特征可见图,计算空间关注图(Spatial Attention):

     

    其中 f_{att} 是一个局部连接的卷积和打分操作。w_{t,j}^{i}是学习到的参数。

    图12:采用空间注意模型网络架构学习遮挡状态,并用于每个样本特征的加权和打分。

    第三步根据空间注意图加权原特征图:

    对生成的加权特征图进行卷积和全连接网络操作,生成二元分类器判别是否是目标自身。最后用得到分类打分选择最优的跟踪结果。

    3.4 基于循环网络判别融合表观运动交互的多目标跟踪算法

    上面介绍的算法采用的深度网络模型都是基于卷积网络结构,由于目标跟踪是通过历史轨迹信息来判断新的目标状态,因此,设计能够记忆历史信息并根据历史信息来学习匹配相似性度量的网络结构来增强多目标跟踪的性能也是比较可行的算法框架。

    在文献[5]中,Sadeghian等人设计了基于长短期记忆循环网络模型(LSTM)的特征融合算法来学习轨迹历史信息与当前检测之间的匹配相似度。如图13。

     

    图13:轨迹目标与检测的匹配需要采用三种特征(表观特征、运动特征、交互特征)融合(左),为了融合三种特征采用分层的LSTM模型(中),最终匹配通过相似度的二部图匹配算法实现(右)。

    文献[5]中,考虑从三个方面特征计算轨迹历史信息与检测的匹配:表观特征,运动特征,以及交互模式特征。这三个方面的特征融合以分层方式计算。

    在底层的特征匹配计算中,三个特征都采用了长短期记忆模型(LSTM)。对于表观特征,首先采用VGG-16卷积网络生成500维的特征ϕtA,以这个特征作为LSTM的输入计算循环

    图14:基于CNN模型和LSTM模型的轨迹与检测表观特征匹配架构。

    网络的输出特征ϕi,对于当前检测BB_{j}^{t+1},计算同样维度的特征ϕj,连接这两个特征并通过全链接网络层计算500维特征ϕA,根据是否匹配学习分类器,并预训练这个网络(图14)。

    对于运动特征,取相对位移vit为基本输入特征,直接输入LSTM模型计算没时刻的输出ϕi,对于下一时刻的检测同样计算相对位移v_{j}^{t+1},通过全连接网络计算特征ϕj,类似于表观特征计算500维特征ϕM,并利用二元匹配分类器进行网络的预训练(图15)。

    图15:基于LSTM模型的轨迹运动特征匹配架构。

    对于交互特征,取以目标中心位置周围矩形领域内其他目标所占的相对位置映射图作为LSTM模型的输入特征,计算输出特征ϕi,对于t+1时刻的检测计算类似的相对位置映射图为特征,通过全连接网络计算特征ϕj,类似于运动模型,通过全连接网络计算500维特征ϕI,进行同样的分类训练(图16)。

    图16:基于LSTM模型的目标交互特征匹配架构。

    当三个特征ϕAϕMϕI都计算之后拼接为完整的特征,输入到上层的LSTM网络,对输出的向量进行全连接计算,然后用于匹配分类,匹配正确为1,否则为0。对于最后的网络结构,还需要进行微调,以优化整体网络性能。最后的分类打分看作为相似度用于检测与轨迹目标的匹配计算。最终的跟踪框架采用在线的检测与轨迹匹配方法进行计算。

    3.5 基于双线性长短期循环网络模型的多目标跟踪算法

    在循环网络判别融合表观运动交互的多目标跟踪算法中,作者采用LSTM作为表观模型、运动模型以及交互模型的历史信息模型表示。在对LSTM中各个门函数的设计进行分析之后,Kim等人认为仅仅用基本的LSTM模型对于表观特征并不是最佳的方案,在文献[10]中,Kim等人设计了基于双线性LSTM的表观特征学习网络模型。

    如图17中,除了利用传统的LSTM进行匹配学习,或者类似[5]中的算法,拼接LSTM输出与输入特征,作者设计了基于乘法的双线性LSTM模型,利用LSTM的隐含层特征(记忆)信息与输入的乘积作为特征,进行匹配分类器的学习。

    图17:三种基于LSTM的匹配模型。(a)利用隐含层(记忆信息)与输入特征乘积作为分类特征。(b)直接拼接隐含层特征与输入特征作为新的特征进行分类学习。(c)使用传统LSTM模型的隐含层进行特征学习。

    这里对于隐含层特征ht-1,必须先进行重新排列(reshape)操作,然后才能乘以输入的特征向量xt,如下公式:

     

    其中f表示非线性激活函数, m_{t} 是新的特征输入。而原始的检测图像采用ResNet50提取2048维的特征,并通过全连接降为256维。下表中对于不同网络结构、网络特征维度、以及不同LSTM历史长度时,表观特征的学习对跟踪性能的影响做了验证。

    表2:(左)三种网络结构对跟踪性能的影响, Baseline1和Baseline2分别对应图17中的中间图结构和右图结构。(中)不同网络隐含层维度对性能的影响。(右)不同历史信息长度对跟踪性能的影响。

    可以看出采用双线性LSTM(bilinear LSTM)的表观特征性能最好,此时的历史相关长度最佳为40,这个值远远超过文献[5]中的2-4帧历史长度。相对来说40帧历史信息影响更接近人类的直觉。

    作者通过对比递推最小二乘公式建模表观特征的结果,认为双线性LSTM模型对于表观模型的长期历史特征建模比简单的LSTM更具有可解释性,而对于运动特征,原始的LSTM特征表现的更好。综合双线性LSTM表观模型和LSTM运动模型,作者提出了新的基于MHT框架的跟踪算法MHT-bLSTM,得到的性能如下表:

    表3:在MOT2017和MOT2016中多目标跟踪算法比较。在IDF1评测指标上,MHT-bLSTM的性能最佳。

     

    基于深度学习的视觉多目标跟踪算法讨论

    上文我们讨论了视觉多目标跟踪领域中,深度学习算法近年来的发展。从直接扩展行人重识别任务中深度学习算法的网络模型,深度学习被证明在多目标跟踪领域中是确实可行的特征学习和特征匹配算法,对于提升跟踪性能可以起到非常重要的作用。目前的基于深度学习的多目标跟踪框架在以下两个方向取得了较好的进展:(1)结合多目标跟踪场景的网络设计,比如在文献[4]中考虑多目标交互的情况设计网络架构,这种考虑跟踪场景的网络设计对于跟踪结果有明显提升。(2)采用循环神经网络的深度学习应用,比如文献[5]和[10],讨论历史信息对跟踪中轨迹特征的描述,是研究跟踪问题的一个重要方向。

    从跟踪结果来看,即使采用简单的重识别网络特征以及光流特征,如果使用优化的全局跟踪框架,也能够得到比使用复杂的网络架构更好的结果。例如使用提升边建模长期链接的多割图模型,对于跟踪过程中目标的检测错误和检测不准确具有很好的补偿作用,可以提升正确检测聚类的性能。而使用循环网络模型对于运动特征的长期匹配相似度计算也是非常有效的。比较上文中讨论的两种循环网络的使用,由于缺少交互特征,基于双线性LSTM的方法比特征融合的方法具有一定的性能损失。 因此, 尝试在网络模型中加入交互特征的建模,对于多目标跟踪结果具有一定的性能提升。

    基于深度学习的视觉多目标跟踪发展趋势

    近年来,基于深度学习的单目标跟踪算法取得了长足的进步。相对来说,深度学习在多目标跟踪领域的应用,比较多的局限于匹配度量的学习。主要的原因是,在图像识别领域中,例如图像分类、行人重识别问题中,深度学习取得的进展能够较好的直接应用于多目标跟踪问题。然而,考虑对象到之间的交互以及跟踪场景复杂性,多目标跟踪问题中深度学习算法的应用还远没有达到充分的研究。随着深度学习领域理论的深入研究和发展,近年来基于生成式网络模型和基于强化学习的深度学习越来越得到大家的关注,在多目标跟踪领域中,由于场景的复杂性,研究如何采用生成式网络模型和深度强化学习来学习跟踪场景的适应性,提升跟踪算法的性能是未来深度学习多目标跟踪领域研究的趋势。

     

    参考文献

    C. Kim, F. Li, A. Ciptadi, and J. Rehg. Multiple Hypothesis Tracking Revisited. In ICCV, 2015.

    S. Tang, B. Andres, M. Andriluka, and B. Schiele. Multi-person tracking by multicut and deep matching. In ECCV Workshops, 2016.

    L. Lealtaixe, C. Cantonferrer, and K. Schindler, “Learning by tracking: Siamese CNN for robust target association,” in Proceedings of Computer Vision and Pattern Recognition. 2016.

    Q. Chu, W. Ouyang, H. Li, X. Wang, B. Liu, N. Yu. "Online Multi-Object Tracking Using CNN-based Single Object Tracker with Spatial-Temporal Attention Mechanism", ICCV 2017.

    A. Sadeghian, A. Alahi, and S. Savarese. "Tracking the untrackable: Learning to track multiple cues with long-term dependencies", ICCV2017.

    K. Fang, Y. Xiang, X. Li and S. Savarese, "Recurrent Autoregressive Networks for Online Multi-Object Tracking", In IEEE Winter Conference on Applications of Computer Vision 2018.

    M. Keuper, E. Levinkov, N. Bonneel, G. Lavou´e, T. Brox, B. Andres. "Efficient decomposition of image and mesh graphs by lifted multicuts", ICCV 2015.

    P. Weinzaepfel, J. Revaud, Z. Harchaoui, C. Schmid. "DeepFlow: large displacement optical flow with deep matching", In ICCV 2013.

    S. Tang, M. Andriluka, B. Andres, and B. Schiele. Multiple People Tracking with Lifted Multi-cut and Person Re-identification. In CVPR, 2017.

    C. Kim, F. Li, and J. M. Rehg, "Multi-object Tracking with Neural Gating Using Bilinear LSTM", in ECCV 2018.

     

     

    推荐阅读

    [1]机器学习-波澜壮阔40年【获取码】SIGAI0413.

    [2]学好机器学习需要哪些数学知识?【获取码】SIGAI0417.

    [3] 人脸识别算法演化史【获取码】SIGAI0420.

    [4]基于深度学习的目标检测算法综述 【获取码】SIGAI0424.

    [5]卷积神经网络为什么能够称霸计算机视觉领域?【获取码】SIGAI0426.

    [6] 用一张图理解SVM的脉络【获取码】SIGAI0428.

    [7] 人脸检测算法综述【获取码】SIGAI0503.

    [8] 理解神经网络的激活函数 【获取码】SIGAI2018.5.5.

    [9] 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读【获取码】SIGAI0508.

    [10] 理解梯度下降法【获取码】SIGAI0511.

    [11] 循环神经网络综述—语音识别与自然语言处理的利器【获取码】SIGAI0515

    [12] 理解凸优化 【获取码】 SIGAI0518

    [13] 【实验】理解SVM的核函数和参数 【获取码】SIGAI0522

    [14]【SIGAI综述】行人检测算法 【获取码】SIGAI0525

    [15] 机器学习在自动驾驶中的应用—以百度阿波罗平台为例(上)【获取码】SIGAI0529

    [16]理解牛顿法【获取码】SIGAI0531

    [17] 【群话题精华】5月集锦—机器学习和深度学习中一些值得思考的问题【获取码】SIGAI 0601

    [18] 大话Adaboost算法 【获取码】SIGAI0602

    [19] FlowNet到FlowNet2.0:基于卷积神经网络的光流预测算法【获取码】SIGAI0604

    [20] 理解主成分分析(PCA)【获取码】SIGAI0606

    [21] 人体骨骼关键点检测综述 【获取码】SIGAI0608

    [22]理解决策树 【获取码】SIGAI0611

    [23] 用一句话总结常用的机器学习算法【获取码】SIGAI0611

    [24] 目标检测算法之YOLO 【获取码】SIGAI0615

    [25] 理解过拟合 【获取码】SIGAI0618

    [26]理解计算:从√2到AlphaGo ——第1季 从√2谈起 【获取码】SIGAI0620

    [27] 场景文本检测——CTPN算法介绍 【获取码】SIGAI0622

    [28] 卷积神经网络的压缩和加速 【获取码】SIGAI0625

    [29] k近邻算法 【获取码】SIGAI0627

    [30]自然场景文本检测识别技术综述 【获取码】SIGAI0627

    [31] 理解计算:从√2到AlphaGo ——第2季 神经计算的历史背景 【获取码】SIGAI0704

    [32] 机器学习算法地图【获取码】SIGAI0706

    [33] 反向传播算法推导-全连接神经网络【获取码】SIGAI0709

    [34] 生成式对抗网络模型综述【获取码】SIGAI0709.

    [35]怎样成为一名优秀的算法工程师【获取码】SIGAI0711.

    [36] 理解计算:从根号2到AlphaGo——第三季 神经网络的数学模型【获取码】SIGAI0716

    [37]【技术短文】人脸检测算法之S3FD 【获取码】SIGAI0716

    [38] 基于深度负相关学习的人群计数方法【获取码】SIGAI0718

    [39] 流形学习概述【获取码】SIGAI0723

    [40] 关于感受野的总结 【获取码】SIGAI0723

    [41] 随机森林概述 【获取码】SIGAI0725

    [42] 基于内容的图像检索技术综述——传统经典方法【获取码】SIGAI0727

    [43] 神经网络的激活函数总结【获取码】SIGAI0730

    [44] 机器学习和深度学习中值得弄清楚的一些问题【获取码】SIGAI0802

    [45] 基于深度神经网络的自动问答系统概述【获取码】SIGAI0803

    [46] 反向传播算法推导——卷积神经网络 【获取码】SIGAI0806

    [47] 机器学习与深度学习核心知识点总结 写在校园招聘即将开始时 【获取 码】SIGAI0808

    [48] 理解Spatial Transformer Networks【获取码】SIGAI0810

    [49]AI时代大点兵-国内外知名AI公司2018年最新盘点【获取码】SIGAI0813

    [50] 理解计算:从√2到AlphaGo ——第2季 神经计算的历史背景 【获取码】SIGAI0815

    [51] 基于内容的图像检索技术综述--CNN方法【获取码】SIGAI0817

    [52]文本表示简介 【获取码】SIGAI0820

    [53]机器学习中的最优化算法总结【获取码】SIGAI0822

    [54]【AI就业面面观】如何选择适合自己的舞台?【获取码】SIGAI0823

    [55]浓缩就是精华-SIGAI机器学习蓝宝书【获取码】SIGAI0824

    [56]DenseNet详解【获取码】SIGAI0827

    [57]AI时代大点兵国内外知名AI公司2018年最新盘点【完整版】【获取码】SIGAI0829

    [58]理解Adaboost算法【获取码】SIGAI0831

    [59]深入浅出聚类算法 【获取码】SIGAI0903

    [60]机器学习发展历史回顾【获取码】SIGAI0905

    [61] 网络表征学习综述【获取码】SIGAI0907

    [62] 视觉多目标跟踪算法综述(上) 【获取码】SIGAI0910

    [63] 计算机视觉技术self-attention最新进展 【获取码】SIGAI0912

    [64] 理解Logistic回归 【获取码】SIGAI0914

    [65] 机器学习中的目标函数总结 【获取码】SIGAI0917

    [66] 人脸识别中的活体检测算法综述【获取码】SIGAI0919

    [67] 机器学习与深度学习常见面试题(上)【获取码】SIGAI0921

    [68] 浅谈动作识别TSN,TRN,ECO 【获取码】SIGAI0924

    [69] OCR技术简介【获取码】SIGAI0926

    [70] 轻量化神经网络综述【获取码】SIGAI1001

    [71] 行人重识别PCB-RPP,SGGNN 【获取码】SIGAI1001

    [72] 人工智能非技术从业者必知的十件事 【获取码】SIGAI1008

    [73] 理解生成模型与判别模型 【获取码】SIGAI1010s

    [74] 目标检测最新进展总结与展望【获取码】SIGAI012

    [75] 三维深度学习的目标分类和语义切割【获取码】SIGAI1015

    [76] 化秋毫为波澜:运动放大算法(深度学习版)【获取码】SIGAI1017

    [77] 理解计算:从√2到AlphaGo ——第5季 导数的前世今生 【获取码】SIGAI0815


    原创声明:本文为 SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的

     

    展开全文
  • 最新多目标跟踪算法综述-2020年08月23日 多目标跟踪:SORT和Deep SORT 1. 多目标跟踪是什么? 多目标跟踪,即Multiple Object Tracking(MOT),主要任务中是给定一个图像序列,找到图像序列中运动的物体,并将不同帧...
  • 多目标跟踪

    千次阅读 2017-02-25 19:44:25
    Multi-Object Tracking 目前参与的一个项目是『足球事件检索』。...根据师兄的建议,可以考虑对足球场上的运动员进行多目标跟踪,在跟踪轨迹的基础上抽取一些有用的信息。一来这个项目可能用到 MOT 作为中
  • 多目标跟踪(Multiple Object Tracking简称MOT)对应的是单目标跟踪(Single Object Tracking简称SOT),按照字面意思来理解,前者是对连续视频画面中个目标进行跟踪,后者是对连续视频画面中单个目标进行跟踪。...
  • 视觉多目标跟踪算法综述(上)

    万次阅读 2018-09-11 15:21:47
    目标跟踪是机器视觉中一类被广为研究的重要问题,分为单目标跟踪多目标跟踪。前者跟踪视频画面中的单个目标,后者则同时跟踪视频画面中的个目标,得到这些目标的运动轨迹。 基于视觉的目标自动跟踪在智能监控、...
  • 多目标跟踪数据关联算法

    千次阅读 2019-01-11 17:02:34
    多目标跟踪数据关联算法 在单目标无杂波环境下,目标的相关波门内只有一个点迹,此时只涉及跟踪问题。在目标情况下,有可能出现单个点迹落入个波门的相交区域内,或者个点迹落入单个目标的相关波门内,此时就...
  • SORT 多目标跟踪算法笔记

    千次阅读 多人点赞 2019-04-21 15:20:46
    sort 是一种简单的在线实时多目标跟踪算法。文章要点为: 以 IoU 作为前后帧间目标关系度量指标; 利用卡尔曼滤波器预测当前位置; 通过匈牙利算法关联检测框到目标; 应用试探期甄别虚检; 使用 Faster R-...
  • 多目标跟踪评价指标

    千次阅读 2019-01-06 12:51:00
  • 多目标跟踪c++代码

    热门讨论 2014-04-08 22:52:51
    代码使用vs2010 + opencv2.2开发,可以检测目标跟踪多目标
  • 带你入门多目标跟踪(二)SORT&DeepSORT

    千次阅读 多人点赞 2019-07-02 19:24:49
    上一篇文章大概给大家介绍了一下多目标跟踪MOT的一些基础知识。初次了解还是从经典的算法开始,SORT和DeepSORT是多目标跟踪中两个知名度比较高的算法。DeepSORT是原团队对SORT的改进版本。这个算法也是开源的,...
  • 带你入门多目标跟踪(三)匈牙利算法&KM算法

    千次阅读 多人点赞 2019-07-02 19:30:41
    匈牙利算法(Hungarian Algorithm)与KM算法(Kuhn-Munkres Algorithm)是做多目标跟踪的小伙伴很容易在论文中见到的两种算法。他们都是用来解决多目标跟踪中的数据关联问题。 对理论没有兴趣的小伙伴可以先跳过...
  • 多目标跟踪算法

    千次阅读 2020-02-09 15:37:45
    文章目录多目标跟踪算法一、多目标跟踪算法分类二、基于目标检测的多目标跟踪2.1 基于轨迹预测的目标跟踪算法2.2 基于目标特征建模 多目标跟踪算法 一、多目标跟踪算法分类 DBT(Detection Based Tracking)(如上图...
  • 文章目录目标跟踪、单目标跟踪多目标跟踪的概念在线多目标跟踪sort算法原理SORT算法过程简述估计模型(卡尔曼滤波跟踪器) 目标跟踪、单目标跟踪多目标跟踪的概念 目标跟踪分为静态背景下的目标跟踪和动态背景下...
  • 多目标跟踪技术

    千次阅读 2017-12-29 22:18:22
    目标跟踪MTT,边扫边跟TWS是MTT的一种特殊...(1)攻击:典型的特点是作战飞机具有多目标跟踪和多目标攻击的能力,从而能在较远的作用距离上同时发现并跟踪多个有威胁的目标,并与火控系统配合发射多枚导弹、分别攻击
  • 目标跟踪(三)——多目标跟踪

    千次阅读 2019-05-28 11:12:18
    文章目录github paper and code list github paper and code list multi-object-tracking-paper-list
  • DeepSORT多目标跟踪算法

    千次阅读 2020-03-26 12:06:13
    DeepSORT算法理解及实现。
  • 多目标跟踪综述2

    千次阅读 2018-10-11 19:48:39
    多目标跟踪:(Multiple Object Tracking or Multiple Target Tracking, MOT or MTT)主要任务是在给定视频中同时对个感兴趣的目标进行定位,并且维持他们的ID、记录他们的轨迹。 多目标跟踪主要存在的问题: 1....
1 2 3 4 5 ... 20
收藏数 254,920
精华内容 101,968
关键字:

多目标跟踪