精华内容
下载资源
问答
  • 多目标跟踪算法综述

    千次阅读 2018-09-12 12:49:24
    参考链接 ...基于确定性优化的离线多目标跟踪算法——基于最小代价流优化的多目标跟踪算法 基于机器学习的确定性推导在线目标跟踪算法—— 基于马尔科夫决策的多目标跟踪算法 基于局部流特征的近似在...

    参考链接

    Table of Contents

    基于贝叶斯概率模型的在线多目标跟踪算法——MHT算法

    1:从卡尔曼滤波器讲起

    2:MHT

    基于贝叶斯概率模型的在线多目标跟踪算法——基于检测可信度的粒子滤波算法

    基于确定性优化的离线多目标跟踪算法——基于最小代价流优化的多目标跟踪算法

    基于机器学习的确定性推导在线目标跟踪算法—— 基于马尔科夫决策的多目标跟踪算法

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

    视觉多目标跟踪小结


    基于贝叶斯概率模型的在线多目标跟踪算法——MHT算法

    1:从卡尔曼滤波器讲起

    卡尔曼滤波器

    简单来说就是:根据任务本身的计算流程,设计模型参数:模型高斯噪声、从预测值估计观测值的H、卡尔曼系数K(相信预测模型还是详细观测模型;把残差的表现形式从观测域转换到了状态域)。不断在预测与更新K之间循环

    2:MHT

    其中公式右侧

    • 第一项表示基于前期假设集合和当前假设的观察似然概率,即在历史关联的基础上,当关联成立时,表现出当前观测Z(k)的概率;——历史估计和当前估计的情况下,当前观测的概率
    • 第二项表示当前假设的似然概率,即在历史关联的基础上,当前关联假设的概率;——历史观察和历史估计的情况下。当前估计的概率
    • 第三项表示前期假设集合后验概率。——历史观察的情况下,历史估计的概率
    • c是贝叶斯公式中的分母,对于当前观测已知的条件,可以认为是一个常数。

    从上式中可以看出,总体的假设后验概率可以表示为此三项的乘积。而公式第三项表示k-1时的后验概率,因此,只考虑第一项和第二项就可以得到一个递推公式

    如何对第一项和第二项进行建模?MHT采用了二个概率模型:

    • 用均匀分布和高斯分布对关联对应的检测观察建模——第一项
    • 用泊松分布对当前假设的似然概率建模——第二项——历史累计概率密度的连乘

    æ³æ¾åå¸å®ä¾

    前者表示,当观测是来自一个轨迹T时,它符合T的高斯分布,否则观测是一个均匀分布的噪声。

    后者表示,在误检和新对象出现概率确定的情况下,出现当前关联的可能性可以通过泊松分布和二项分布的乘积表示。在以上假设下,关联假设的后验分布是历史累计概率密度的连乘,转化为对数形式,可以看出总体后验概率的对数是每一步观察似然和关联假设似然的求和。因此,选择最佳的关联假设,转化为观察似然和关联假设似然累计求和的最大化。

    基于贝叶斯概率模型的在线多目标跟踪算法——基于检测可信度的粒子滤波算法

    这个算法分为两个步骤:

    • 对每一帧的检测结果(图左),利用贪心匹配算法与已有的对象轨迹进行关联(图中)。
      • 这一步会得到每个检测结果与原始轨迹的相关性
    • 利用关联结果,计算每个对象的粒子群权重,作为粒子滤波框架中的观察似然概率。

    基于确定性优化的离线多目标跟踪算法——基于最小代价流优化的多目标跟踪算法

     

    给出所有的检测结果,求出一个全局最优的多条轨迹。方法就是上面这个公式,求个最优解。

    基于机器学习的确定性推导在线目标跟踪算法—— 基于马尔科夫决策的多目标跟踪算法

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

    视觉多目标跟踪小结

    相比单目标跟踪问题,多目标跟踪面临更多的子问题,主要的区别在于跟踪对象不再确定不变,因此必须考虑对象之间的交互,新对象的进入和离开视场对象的跟踪终止。由于解决这些问题的角度不同,多目标跟踪算法的形式也是各种各样。尽管算法思路相差较大,但是主要的算法框架和其中的关键部分基本类似。在线多目标跟踪中,基本的算法流程仍然是基于状态预测更新的框架;而离线多目标跟踪中,基于图模型的构造和求解是主要的框架。两种类型中,如何有效的设计和学习检测之间的匹配亲和度,或者轨迹与观测的一致性是非常关键的步骤。深度学习是解决这个问题的非常有效的工具,在最新的多目标跟踪算法中已经表现出明显的优势,深度学习的进一步应用是多目标跟踪领域发展的必然趋势

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

    对于特征表示的研究,目前广泛采用深度学习的方法

     

    展开全文
  • 基于深度学习的目标跟踪算法综述论文,参考文献100篇,权威发布! 基于深度学习的目标跟踪算法综述论文,参考文献100篇,权威发布!
  • 深度多目标跟踪算法综述

    万次阅读 多人点赞 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),主要任务中是给定一个图像序列,找到图像序列中运动的物体,并将不同帧...

    最新多目标跟踪算法综述-2020年08月23日

    多目标跟踪:SORT和Deep SORT

    1. 多目标跟踪是什么?

    多目标跟踪,即Multiple Object Tracking(MOT),主要任务中是给定一个图像序列,找到图像序列中运动的物体,并将不同帧的运动物体进行识别,也就是给定一个确定准确的id,当然这些物体可以是任意的,如行人、车辆、各种动物等等,而最多的研究是行人跟踪,由于人是一个非刚体的目标,且实际应用中行人检测跟踪更具有商业价值。

    绝大多数MOT算法无外乎这四个步骤:①检测 ②特征提取、运动预测 ③相似度计算 ④数据关联。

    2.常用的算法

    (1)SORT算法
    源码
    SORT全称为Simple Online And Realtime Tracking, 对于现在的多目标跟踪,更多依赖的是其检测性能的好坏,也就是说通过改变检测器可以提高18.9%,本篇SORT算法尽管只是把普通的算法如卡尔曼滤波(Kalman Filter)和匈牙利算法(Hungarian algorithm)结合到一起,却可以匹配2016年的SOTA算法,且速度可以达到260Hz,比前者快了20倍。

    作者为了遵循Occam’s Razor,作者在进行目标跟踪时没有使用任何被跟踪目标的外观特征,而仅仅使用了检测框的位置和大小进行目标的运动估计和数据关联,也没有进行任何的重识别的算法,所以当目标跟丢时,就找不回来,只能通过检测去重新更新ID,这就不符合跟踪算法的常理了,需要改进,当然这篇文章主要就是追求速度!而不是过多的关注与检测错误的鲁棒性!实验中,作者使用了CNN-based的网络Faster RCNN和传统的行人检测ACF两个检测模型,另外,为了解决动作预测和数据关联,使用了两个十分高效的算法卡尔曼滤波和匈牙利算法。

    这个算法确实是在实际应用中使用较为广泛的一个算法,核心就是两个算法:卡尔曼滤波和匈牙利算法。卡尔曼滤波算法分为两个过程,预测和更新。该算法将目标的运动状态定义为8个正态分布的向量。预测:当目标经过移动,通过上一帧的目标框和速度等参数,预测出当前帧的目标框位置和速度等参数。更新:预测值和观测值,两个正态分布的状态进行线性加权,得到目前系统预测的状态。**匈牙利算法:**解决的是一个分配问题,在MOT主要步骤中的计算相似度的,得到了前后两帧的相似度矩阵。匈牙利算法就是通过求解这个相似度矩阵,从而解决前后两帧真正匹配的目标。这部分sklearn库有对应的函数linear_assignment来进行求解。SORT算法中是通过前后两帧IOU来构建相似度矩阵,所以SORT计算速度非常快。

    算法总结:作者使用了Faster RCNN来进行模型的检测,并使用Kalman滤波预测状态,基于检测框位置和IOU的匈牙利算法,使得算法有很高的效率,但是这么频繁的ID切换,在实际应用中就失去了跟踪的价值了。
    (2)Deep SORT
    源码

    在这里插入图片描述

    (引用类图作者:https://zhuanlan.zhihu.com/p/133678626)
    之前的SORT算法使用简单的卡尔曼滤波处理逐帧数据的关联性以及使用匈牙利算法进行关联度量,这种简单的算法在高帧速率下获得了良好的性能。但由于SORT忽略了被检测物体的表面特征,因此只有在物体状态估计不确定性较低是才会准确,在Deep SORT中,使用更加可靠的度量来代替关联度量,并使用CNN网络在大规模行人数据集进行训练,并提取特征,以增加网络对遗失和障碍的鲁棒性。相比SORT,通过集成表观信息可以来提升SORT的表现。通过这个扩展,模型能够更好地处理目标被长时间遮挡的情况,将ID switch指标降低了45%。表观信息也就是目标对应的特征,论文中通过在大型行人重识别数据集上训练得到的深度关联度量来提取表观特征(借用了ReID领域的模型)。

    • 状态估计和轨迹处理:

    状态估计: 延续使用一个8维空间去刻画轨迹在某时刻的状态,包括bounding box中心的位置、纵横比、高度、以及在图像坐标中对应的速度信息。然后使用一个kalman滤波器预测更新轨迹,该卡尔曼滤波器采用匀速模型和线性观测模型。
    延续SORT算法使用8维的状态空间,其中(u,v)代表bbox的中心点,宽高比r, 高h以及对应的在图像坐标上的相对速度。论文使用具有等速运动和线性观测模型的标准卡尔曼滤波器,将以上8维状态作为物体状态的直接观测模型。

    轨迹处理:这个主要说轨迹什么时候终止、什么时候产生新的轨迹。首先对于每条轨迹都有一个阈值a用于记录轨迹从上一次成功匹配到当前时刻的时间。当该值大于提前设定的阈值;则认为改轨迹终止,直观上说就是长时间匹配不上的轨迹认为已经结束。然后在匹配时,对于没有匹配成功的检测都认为可能产生新的轨迹。但由于这些检测结果可能是一些错误警告,所以对这种情形新生成的轨迹标注状态 ,然后观查在接下来的连续若干帧(论文中是3帧)中是否连续匹配成功,是的话则认为是新轨迹产生,否则认为是假性轨迹,状态标注。

    在SORT中,我们直接使用匈牙利算法去解决预测的Kalman状态和新来的状态之间的关联度,现在我们需要将目标运动和表面特征信息相结合,通过融合这两个相似的测量指标。表面特征信息通过CNN网络进行特征的提取。对于目标运动的度量,采用马氏距离进行评测预测的kalman状态和新来的状态。需要注意的是在目标运动不确定性较低的时候,马氏距离是一个很好的关联度量。但是实际中如果相机运动可能会导致马氏距离不能匹配。造成度量失效。这也就是Deep SORT方法的重点,加入表面信息。
    整合第二个度量标准,对每一个BBox检测框;我们计算一个表面特征描述子, 我们会创建一个gallery用来存放最新的L个轨迹的描述子,然后使用第i个轨迹和第j个轨迹的最小余弦距离作为第二个衡量尺度!

    • 级联匹配

    级联匹配是Deep SORT区别于SORT的一个核心算法,致力于解决目标被长时间遮挡的情况。为了让当前Detection匹配上当前时刻较近的Track,匹配的时候Detection优先匹配消失时间较短的Track。当目标被长时间遮挡,之后卡尔曼滤波预测结果将增加非常大的不确定性(因为在被遮挡这段时间没有观测对象来调整,所以不确定性会增加), 状态空间内的可观察性就会大大降低。在两个Track竞争同一个Detection的时候,消失时间更长的Track往往匹配得到的马氏距离更小, 使得Detection更可能和遮挡时间较长的Track相关联,这种情况会破坏一个Track的持续性,这也就是SORT中ID Switch太高的原因之一。

    总之,距离度量对于短期的预测和匹配效果很好,而表观信息对于长时间丢失的轨迹而言,匹配度度量的比较有效。超参数的选择要看具体的数据集,比如文中说对于相机运动幅度较大的数据集,直接不考虑运动匹配程度。

    Deep SORT可以看成三部分:检测: 目标检测的效果对结果影响非常非常大, 并且Recall和Precision都应该很高才可以满足要求. 如果使用yolov3作为目标检测器, 目标跟踪过程中大概60%的时间都花费在yolov3上,并且场景中的目标越多,这部分耗时也越多(NMS花费的时间).表观特征: 也就是reid模型,原论文中用的是wide residual network,含有的参数量比较大,可以考虑用新的、性能更好、参数量更低的ReID模型来完成这部分工作。关联:包括卡尔曼滤波算法和匈牙利算法。

    Deep SORT算法在SORT算法的基础上增加了级联匹配(Matching Cascade)+新轨迹的确认(confirmed)。总体流程就是:卡尔曼滤波器预测轨迹Tracks使用匈牙利算法将预测得到的轨迹Tracks和当前帧中的detections进行匹配(级联匹配和IOU匹配)卡尔曼滤波更新。
    (3)JDE算法:Towards Real-Time Multi-Object Tracking

    一种MOT系统,该系统允许在共享模型中学习目标检测和外观嵌入。具体而言,我们将外观嵌入模型合并到单发检测器中,以便该模型可以同时输出检测结果和相应的嵌入。这样,该系统被表述为一个多任务学习问题:存在多个目标,即,anchor分类、边界框回归和嵌入学习;自动对各个损失进行加权。

    (4)FAIRMOT算法:A Simple Baseline for Multi-Object Tracking
    源码
    这是一种基于anchor free的检测和reid在一起的一种MOT算法。

    随着深度学习中多任务学习的成熟,单次MOT已开始引起更多研究关注。核心思想是在单个网络中同时完成对象检测和身份嵌入(Re-ID功能),以通过共享大部分计算来减少推理时间。例如,Track-RCNN 在Mask-RCNN 的顶部添加了一个Re-ID头,并为每个proposal回归了边界框和Re-ID功能。 JDE算法是在YOLOv3 框架之上引入的,该框架可实现接近视频速率的推断。但是,单发方法的跟踪精度通常低于两步方法的跟踪精度。这是因为学习到的Re-ID功能不是最佳的,这会导致大量的ID切换。因而这个Fair算法深入研究了原因,发现在锚点提取的身份嵌入特征与对象中心不对齐,这导致了严重的歧义。为了解决该问题,我们建议对对象检测和身份嵌入使用无锚方法,这可以显着提高所有基准上的跟踪精度。

    展开全文
  • 视觉多目标跟踪算法综述

    千次阅读 2018-09-12 14:15:30
    1. 导言 目标跟踪是机器视觉中一类被广为研究的重要问题,分为单目标...例如,在自动驾驶系统中,目标跟踪算法要对运动的车、行人、其他动物的运动进行跟 踪,对它们在未来的位置、速度等信息作出预判。 目标跟...

    1. 导言

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

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

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

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

    视觉多目标跟踪算法综述(上)

     

    图 1:采用固定矩形框的 0 阶跟踪方案有时候能够得到可接受的跟踪结果。

    多目标跟踪问题没有上述的先验假设,一般情况下,多目标跟踪的对象位置变化很大,

    跟踪对象可以从场景入口进入,从出口离开,跟踪目标个数不固定。另外,多目标跟踪问题 通常追踪给定类型的多个对象,同类对象具有一定的外观轮廓相似性,如下图跟踪场景:

    视觉多目标跟踪算法综述(上)

     

    图 2:CAVIAR 数据中一些行人在商店长廊中经过。

    相对来说,多目标跟踪问题更加复杂,除了单目标跟踪中存在的物体形变、背景干扰等

    因素。通常还需要解决以下一些问题:

     跟踪目标的自动初始化和自动终止,即处理新目标的出现,老目标的消失

     跟踪目标的运动预测和相似度判别,即准确的区分每一个目标

     跟踪目标之间的交互和遮挡处理

     跟丢目标再次出现时,如何进行再识别问题 多目标跟踪任务需要解决比单目标跟踪更多的问题和难点,如何有效地解决这些问题对

    多目标跟踪算法有重要意义。在这篇文章中,SIGAI 将和大家一起对一些经典的视觉多目标 跟踪算法进行回顾和归纳,以理解视觉多目标跟踪算法的框架和当前主流算法的框架和基本 原理,如果对本文的观点持有不同的意见,欢迎向我们的公众号发消息一起讨论。

    2. 视觉多目标跟踪算法的分类

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

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

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

    视觉多目标跟踪算法综述(上)

     

    图 3:按照多目标跟踪形式化分为概率统计最大化的多目标跟踪和确定性推导的多目标跟踪。

    在确定性推导的多目标跟踪框架中,我们把检测和轨迹和匹配看作为二元变量,通过构 造一个整体的目标函数,我们求变量的最佳值,使得目标函数最优,从而得到检测和轨迹的 最佳匹配。这种整体的目标函数可以构造为二部图匹配的匹配代价,网络流的代价和,或者

    直接构造为机器学习中的分类问题进行优化计算。在概率统计最大化的多目标跟踪方法中, 检测和轨迹的关系通过概率模型进行形式化,例如基于贝叶斯推导的卡尔曼滤波和粒子滤波, 基于构造马尔科夫图模型,通过样本构造学习模型参数,在跟踪过程中计算概率最大化的轨 迹结果,而对马尔科夫图模型的一个直接的公式化方法就是构造能量函数,因此能量最小化 也是一些多目标跟踪算法常用的方式。

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

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

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

    3. 经典视觉多目标跟踪算法介绍3.1 多假设多目标跟踪算法

    多假设跟踪算法(MHT)是非常经典的多目标跟踪算法,由 Reid 在对雷达信号的自动跟踪 研究中提出,本质上是基于 Kalman 滤波跟踪算法在多目标跟踪问题中的扩展。

    视觉多目标跟踪算法综述(上)

     

    视觉多目标跟踪算法综述(上)

     

    其中公式右侧第一项表示基于前期假设集合和当前假设的观察似然概率,即在历史关联的基 础上,当关联 θl(k)成立时,表现出当前观测 Z(k)的概率;第二项表示当前假设的似然概率, 即在历史关联的基础上,当前关联假设的概率;第三项表示前期假设集合后验概率。c 是贝 叶斯公式中的分母,对于当前观测已知的条件,可以认为是一个常数。从上式中可以看出, 总体的假设后验概率可以表示为此三项的乘积。而公式第三项表示 k-1 时的后验概率,因此, 只考虑第一项和第二项就可以得到一个递推公式。如何对第一项和第二项进行建模?MHT采用了二个概率模型:1.用均匀分布和高斯分布对关联对应的检测观察建模. 2. 用泊松分布 对当前假设的似然概率建模。前者表示,当观测是来自一个轨迹 T 时,它符合 T 的高斯分布, 否则观测是一个均匀分布的噪声。后者表示,在误检和新对象出现概率确定的情况下,出现 当前关联的可能性可以通过泊松分布和二项分布的乘积表示。在以上假设下,关联假设的后 验分布是历史累计概率密度的连乘,转化为对数形式,可以看出总体后验概率的对数是每一 步观察似然和关联假设似然的求和。因此,选择最佳的关联假设,转化为观察似然和关联假 设似然累计求和的最大化。在进行具体实现和优化的时侯,I.J.Cox 等人提出了一种基于假设 树的优化算法,如图 4 所示。

    视觉多目标跟踪算法综述(上)

     

    图 4: 左图为 k-3 时刻三个检测观察和两条轨迹的可能匹配。对于这种匹配关系,可以继续向前预测两帧, 如图右。得到一种三层的假设树结构,对于假设树根枝干的剪枝,得到 k-3 时刻的最终关联结果。

    对于 k 时刻的关联对数似然概率,可以认为是 k 时刻之前关联观察似然概率的对数求和, 由于任何时刻都可能存在多种假设关联,因此到 k 时刻的假设构成了一种组合假设树的层次 关系。例如图 4 左边表示的是 2 个轨迹和 3 个观测之间可能形成的关联假设,可能存在的假 设有{观测 23=>轨迹 1,观测 22=>轨迹 2, 观测 21=>新轨迹}或者{观测 22=>轨迹 1,观测 21=>轨迹 2, 观测 23=>新轨迹},因此产生 2 个假设分支。图 4 右侧是从这 2 个关联假设出发的 三层假设树关系,可以看出随着假设层数的增多,关联假设出现组合爆炸的可能。因此进行 必要的剪枝减少假设空间的数目是必须的步骤。那么如何选择最佳的关联呢?I.J.Cox 采用了2 个步骤来实现。首先,限制假设树的层数为 3 层。其次,是对每个分支的叶节点概率对数 进行求和,最大的分支进行保留,即选择边缘概率最大的那个分支假设作为最后选择的关联。 可以把这种选择方法简单的表示为:

    视觉多目标跟踪算法综述(上)

     

    采用基于均匀分布、泊松分布以及高斯分布的模型,可以高效快速计算选择 k-3 时优化的假设关联。这种基于似然概率对数累加的方法虽然方便迅速,但是存在一个主要的限制, 即假定观测关联符合高斯模型,并且在每一步选择关联假设之后,需要利用 Kalman 滤波更 新轨迹状态。通过对 MHT 基本公式(3-1)的扩展,可以建立不同的概率模型描述这种多假设 关联的全局概率,例如 Kim 等人在 ICCV2015 和 ECCV2018 通过归一化的最小均方差优化算 法引入表观模型来扩展 MHT 算法,取得不错的多行人跟踪结果[2,3]。

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

    如果不限定检测观测为高斯分布,一种采用概率统计的多目标跟踪框架是基于检测可信 度的粒子滤波算法[4]。

    这个算法分为两个步骤:1. 对每一帧的检测结果,利用贪心匹配算法与已有的对象轨迹 进行关联。2. 利用关联结果,计算每个对象的粒子群权重,作为粒子滤波框架中的观察似 然概率。整体的跟踪过程采用粒子滤波框架,如图 5 中所示。

    视觉多目标跟踪算法综述(上)

     

    图 5: 基于检测匹配的联合粒子滤波多目标跟踪算法流程。

    对于每一帧的检测结果(图左)。可以计算与轨迹 的匹配矩阵,本方法采用结合匹配结果设计粒子滤波算法(图中),计算跟踪结果(图右)。

    下面我们详细说明这两步。

    第一步:利用贪心匹配算法关联当前帧检测和已有的对象轨迹。匹配亲和度计算如下:

    视觉多目标跟踪算法综述(上)

     

    视觉多目标跟踪算法综述(上)

     

    计算出匹配亲和度矩阵之后,可以采用二部图匹配的 Hungarian 算法计算匹配结果。 不过作者采用了近似的贪心匹配算法,即首先找到亲和度最大的那个匹配,然后删除这个亲 和度,寻找下一个匹配,依次类推。贪心匹配算法复杂度是线性,大部分情况下,也能得到 最优匹配结果。

    第二步:采用粒子滤波框架,计算每个跟踪对象的粒子权重,计算公式如下:

    视觉多目标跟踪算法综述(上)

     

    视觉多目标跟踪算法综述(上)

     

    (3-5)

    当轨迹 tr 有检测匹配时,po(tr)为 1;否则,他的附近有轨迹对象匹配成功时,取邻域轨 迹的最大匹配高斯密度;如果附近也没有轨迹对象成功匹配,则 po(tr)为 0。

    结合检测可信度的粒子滤波算法对轨迹的初始化采用了感兴趣区域的简单启发式策略。 即,进入图像区域边框时,初始化对象;当连续多帧没有关联到检测时终止跟踪。在一些典 型数据集上,基于检测可信度的粒子滤波算法可以得到不错的结果,如下表:

    视觉多目标跟踪算法综述(上)

     

    表 1: 基于检测可信度粒子滤波的跟踪结果,采用 CLEAR MOT 评测标准进行结果评估。3.3 基于最小代价流优化的多目标跟踪算法

    上述两个算法是基于贝叶斯概率模型的在线多目标跟踪算法。与他们不同,采用最小代 价流优化的多目标跟踪算法是基于确定性优化的离线多目标跟踪算法[6]。

    视觉多目标跟踪算法综述(上)

     

    (3-8)

    视觉多目标跟踪算法综述(上)

     

    视觉多目标跟踪算法综述(上)

     

    仔细观察发现,这里所求解的实际上网络流优化问题中满足代价最小的多个流,如图 6。

    视觉多目标跟踪算法综述(上)

     

    图 6: 最小代价流描述的检测划分方法,以产生全局最优的多目标跟踪算法。图中表示三帧图像中,分别有2, 4, 3 个检测结果时,所产生的网络最小代价流[6]。

    这里还有两个问题,网络流中边的代价怎么计算以及轨迹的数目怎么确定。 第一个问题,边的代价根据跟踪中轨迹生成概率、终止概率、相似概率、误检率计算:

    视觉多目标跟踪算法综述(上)

     

    第二个问题,轨迹数目通过迭代比较的方法确定。注意到检测节点代价 Ci 的值是一个 负数,所以轨迹对应的网络流代价也可能小于 0。因此,通过遍历不同轨迹数目,可以确定 一个全局代价最小的解。这种方式带来算法的低效率,后续很多工作做了相关优化[7, 8]。

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

    不同于之前基于概率模型的在线多目标跟踪算法,Xiang 等人采用了马尔科夫决策过程 来推导每个轨迹的生成,称为 MDP 跟踪算法[9]。这是一种基于机器学习的确定性推导在线 目标跟踪算法。

    作者把目标跟踪看作为状态转移的过程,如图 7。转移的过程用马尔科夫决策过程(MDP)建模。一个马尔科夫决策过程包括下面四个元素:(S, A, T(.),R(.))。其中 S 表示状态集合,A 表示动作集合,T 表示状态转移集合,R 表示奖励函数集合。一个决策是指根据状态 s 确

    定动作 a, 即 π: S↦A。一个对象的跟踪过程包括如下决策过程:

    •  从 Active 状态转移到 Tracked 或者 Inactive 状态:即判断新出现的对象是否是真。
    •  从 Tracked 状态转移到 Tracked 或者 Lost 状态:即判断对象是否是持续跟踪或者暂
    • 时处于丢失状态。
    •  从 Lost 状态转移到 Lost 或者 Tracked 或者 Inactive 状态:即判断丢失对象是否重新被跟踪,被终止,或者继续处于丢失状态。

    视觉多目标跟踪算法综述(上)

     

    图 7: 基于马尔科夫决策过程的在线跟踪流程[9]。作者设计了三个奖励函数来对上述三种决策进行建模:

    第一个奖励函数是:

    视觉多目标跟踪算法综述(上)

     

    即判断新出现的对象是否为真,y(a)=1 时表示转移到跟踪状态,反之转移到终止状态。 这是一个二分类问题,采用 2 类 SVM 模型学习得到。这里用了 5 维特征向量:包括 x-y 坐 标、宽、高和检测的分数。

    第二个奖励函数是:

    视觉多目标跟踪算法综述(上)

     

    这个函数用来判断跟踪对象下一时刻状态是否是出于继续跟踪,还是处于丢失,即跟踪 失败。这里作者用了 5 个历史模板,每个模板和当前图像块做光流匹配,emedFB 表示光流中 心偏差,Omean 表示平均重合率。e0 和 o0 是阈值。

    第三个奖励函数是:

    视觉多目标跟踪算法综述(上)

     

    这个函数用来判断丢失对象是否重新跟踪,或者终止,或者保持丢失状态不变。这里当 丢失状态连续保持超过 Tlost(=50)时,则转向终止,其他情况下通过计算 M 个检测匹配,来判断是否存在最优的匹配使上式(3-14)奖励最大,并大于 0。这里涉及两个问题如何设计特 征以及如何学习参数。这里作者构造了 12 维与模板匹配相关的统计值。而参数的学习采用 强化学习过程,主要思想是在犯错时候更新二类分类器值。

    表 2 中是本算法和其他算法在 MOT2015 测试数据集中运行结果比较,相对其他经典在 线跟踪算法,MDP 算法具有一定的优势。

    视觉多目标跟踪算法综述(上)

     

    表 2: 采用马尔科夫决策过程的多目标在线跟踪算法在 MOT2015 中的评测结果。3.5 基于局部流特征的近似在线多目标跟踪算法

    上面介绍的基于马尔科夫决策的在线多目标跟踪是对于当前帧的图像和检测结果,进行 即时的轨迹状态更新。在另一类在线跟踪方法中,跟踪状态的最终结果与当前帧有一个小的 帧差,这种方法称为近似在线多目标跟踪算法,MHT 算法实际就是一种近似在线多目标跟 踪算法。这里介绍的 NOMT 跟踪算法,是采用能量函数最小化设计的近似在线跟踪,对比MHT 算法,没有高斯分布的假设,因此应用范围更广泛一些。

    NOMT 算法的主要思想是,对于当前时刻 t,往回看帧,在 t 帧和 t-帧之间构造轨迹小 段组(tracklets),利用这些轨迹小段组和之前的跟踪目标进行匹配关联,由于轨迹小段包含了 比单个检测更加丰富的信息,因此这种关联比目标轨迹直接匹配检测集合更加可靠。同时, 此时的匹配包含了帧信息,因此如果 t 帧之前的匹配存在错误,在后续的关联中具有纠正错误的机会,基本的思想如图 8 中所示。

    视觉多目标跟踪算法综述(上)

     

    图 8: 采用近似在线多目标跟踪 NOMT 算法的示意图[10]。对于 t 时刻的关联结果,允许在后续的关联中进 行验证,对于错误的关联可以进行改正,从而增强整体跟踪的准确性。

    视觉多目标跟踪算法综述(上)

     

    其中 x 就是要求的假设对应的下标。找到使 3-15 式最小的 x,就完成了 t 帧的推导。如图 9所示是详细的过程。

    视觉多目标跟踪算法综述(上)

     

    图 9: 采用条件随机场求解跟踪目标与轨迹小段匹配的示意图[10]。对于 t-帧到 t 时刻生成的轨迹小段 T, 生成与跟踪目标 Am*t-1 匹配的候选集合(b),由随机场推导得到优化的关联结果(c),并生成最终结果(d)。

    对应于一般的马尔科夫随机场,公式 3-15 也分为两个部分,第一部分是每个节点自身 的势函数,表示的是一个轨迹小段和跟踪目标匹配的代价,第二部分定义为随机场的边的势 能函数,表示 2 个跟踪目标 m,l 匹配两个轨迹小段时的互斥性。

    这里节点势能函数定义为:

    视觉多目标跟踪算法综述(上)

     

    这个公式包含三项,分别表示轨迹小段中每个检测与跟踪目标的匹配代价,轨迹小段内部每两个检测的匹配代价,以及轨迹小段和跟踪目标之间的表观距离。这里的匹配代价计算 作者采用了基于局部光流的匹配划分计算方法,称为 ALFD 特征。

    边的势能函数定义为:

    视觉多目标跟踪算法综述(上)

     

    这里的函数 d(.f)表示 f 时刻的检测,函数 o 表示重叠率,函数 I 是表示是否同一个检测。 参数 α,β 分别是两种互斥性的权重,显然后者的权重要大很多,论文中作者分别设为(0.5, 100)。定义好能量函数,计算每两个检测之间的 ALFD 特征之后,这个函数就可以求解了。 利用概率图模型中的联合树算法可以帮助求解公式 3-15,找出最优的关联假设。

    下表是 NOMT 算法在 MOT2015 中的跟踪评测结果:

    表 3: 基于近似在线多目标跟踪算法 NOMT 在 MOT2015 上的跟踪结果[10]。相比与过去的传统的在线算法,NOMT 算法的优点是借助了历史信息和时间片段中的轨 迹段信息,因此性能相对较好,但是必须明确的是 NOMT 具有小的时间延迟(=10),但是

    在实际应用中,这个延迟几乎是可以忽略的。

    4. 视觉多目标跟踪算法在线资源

    以上我们讨论了一些非常经典的多目标跟踪算法,这一节我们列举一些开放的多目标跟 踪算法的数据集和资源。相对于单目标跟踪而言,多目标跟踪涉及的问题更多,其数据的标 定和算法评测也更加复杂,因此开放的数据和代码要相对少很多[11]。表 4 列出了多目标跟 踪算法中常见的公共评测数据集和他们的下载地址。

    视觉多目标跟踪算法综述(上)

     

    表 4: 多目标跟踪算法中常用的公共评测数据集。

    其中 KITTI 是自动驾驶平台上车辆、行人等不同目标类型的数据集,包含了跟踪、检测、 分割等多种任务。MOT2015,MOT2016 及 MOT2017 包含了过去常用的一些视频序列及作者 新增加的一些高清视频,是目前主要的多目标跟踪评测数据集。

    表 5 中列出了近年来主要国际会议和期刊论文中开放源码的多目标跟踪算法。需要说明 的是,表 4 和表 5 中只列出了我们所搜集到的资源和代码,未来一定有更多的资源开放出来。 另外其他未引用的常用资源也请读者补充。

    5. 视觉多目标跟踪小结

    相比单目标跟踪问题,多目标跟踪面临更多的子问题,主要的区别在于跟踪对象不再确 定不变,因此必须考虑对象之间的交互,新对象的进入和离开视场对象的跟踪终止。由于解 决这些问题的角度不同,多目标跟踪算法的形式也是各种各样。尽管算法思路相差较大,但 是主要的算法框架和其中的关键部分基本类似。在线多目标跟踪中,基本的算法流程仍然是 基于状态预测更新的框架;而离线多目标跟踪中,基于图模型的构造和求解是主要的框架。 两种类型中,如何有效的设计和学习检测之间的匹配亲和度,或者轨迹与观测的一致性是非 常关键的步骤。深度学习是解决这个问题的非常有效的工具,在最新的多目标跟踪算法中已 经表现出明显的优势,深度学习的进一步应用是多目标跟踪领域发展的必然趋势,在下一篇 文章中,我们将对此进行介绍。

    视觉多目标跟踪算法综述(上)

     

    视觉多目标跟踪算法综述(上)

     

    表 5: 近年来开放代码的多目标跟踪算法及代码地址

    1. [1] D. Reid. An algorithm for tracking multiple targets. IEEE Transactions on Automatic Control, 1979.
    2. [2] C. Kim, F. Li, A. Ciptadi, and J. Rehg. Multiple Hypothesis Tracking Revisited. In ICCV, 2015.
    3. [3] C. Kim, F. Li, and J. M. Rehg, Multi-object Tracking with Neural Gating Using Bilinear LSTM, in ECCV 2018.
    4. [4] M. D. Breitenstein, F. Reichlin, B. Leibe, E. Koller-Meier, and L. Van Gool. Robust tracking-by-detection using a detector
    5. confidence particle filter. In ICCV, 2009.
    6. [5] M. D. Breitenstein, F. Reichlin, B. Leibe, E. K. Meier, and L. V. Gool, Online Multi-Person Tracking-by-Detection from a
    7. Single, Uncalibrated Camera, TPAMI, 2010.
    8. [6] L. Zhang, Y. Li, and R. Nevatia, Global Data Association for Multi-Object Tracking Using Network Flows, in CVPR, 2008.
    9. [7] H. Pirsiavash, D. Ramanan, and C. F. Charless. Globally-optimal greedy algorithms for tracking a variable number of
    10. objects. In CVPR, 2011.
    11. [8] P. Lenz, A. Geiger, and R. Urtasun. FollowMe: Efficient Online Min-Cost Flow Tracking with Bounded Memory and
    12. Computation. In ICCV, 2015.
    13. [9] Y. Xiang, A. Alahi, S. Savarese. Learning to Track: Online Multi-Object Tracking by Decision Making. In ICCV, 2015.
    14. [10] W. Choi. Near-Online Multi-target Tracking with Aggregated Local Flow Descriptor. In ICCV, 2015.
    15. [11] W. Luo, J. Xing, A. Milan, X. Zhang, W. Liu, X. Zhao, and T. Kim,Multiple Object Tracking: A Literature Review.
    16. arXiv:1409.7618 (2014).
    展开全文
  • 视觉多目标跟踪算法综述(上)

    万次阅读 多人点赞 2018-09-11 15:21:47
    目标跟踪是机器视觉中一类被广为研究的重要问题,分为单目标跟踪多目标跟踪。前者跟踪视频画面中的单个目标,后者则同时跟踪视频画面中的个目标,得到这些目标的运动轨迹。 基于视觉的目标自动跟踪在智能监控、...
  • 点上方人工智能算法与Python大数据获取更干货在右上方···设为星标★,第一时间获取资源仅做学术分享,如有侵权,联系删除转载于 :专知视觉多目标跟踪是计算机视觉领域的热点问题,然...
  • 目标跟踪算法综述_卢湖川
  • 视频目标跟踪算法综述
  • 运动目标跟踪算法综述

    千次阅读 2018-06-26 20:43:44
    本文介绍了一般的目标跟踪算法,对几个常用的算法进行对比,并详细介绍了粒子滤波算法和基于轮廓的目标跟踪算法。最后简单介绍了目标遮挡的处理、摄像头目标跟踪和摄像头运动下的目标跟踪。一、一般的目标跟踪算法...
  • 这是中国图像图形学报出的一版关于2019年深度学习目标跟踪算法综述,为PDF格式,全文共28页。大家对近几年深度学习目标跟踪算法有兴趣的可以下载
  • 2017目标跟踪算法综述

    千次阅读 2017-07-31 16:46:35
    2017目标跟踪算法综述 本文所提的跟踪主要指的是单目标跟踪,目标跟踪暂时不作为考虑范围。 本文主要从常用的评价标准,如EAO,EFO,fps等,分析2016-2017年最新出的目标跟踪文章在应用层面的优缺点。 算法原理...
  • 文章目录单目标跟踪知乎综述目标跟踪知乎综述 基于孪生网络的跟踪算法汇总
  • 本文对主流目标跟踪算法进行了综述, 首先, 介绍了目标跟踪中常见的问题, 并由时间顺序对目标跟踪算法进行了分类: 早期的经典跟踪算法、基于核相关滤波的跟踪算法以及基于深度学习的跟踪算法. 接下来, 对每一类中...
  • 目标跟踪算法综述

    2018-10-07 16:10:07
    计算机视觉中,目前有哪些经典的目标跟踪算法? 一、综述和评估基准 1.      PAMI2014:VisualTracking_ An Experimental Survey,代码:...
  • 2018目标跟踪算法综述

    万次阅读 多人点赞 2018-03-30 11:03:15
    相信很来这里的人和我第一次到这里一样,都是想找一种比较好的目标跟踪算法,或者想对目标跟踪这个领域有比较深入的了解,虽然这个问题是经典目标跟踪算法,但事实上,可能我们并不需要那些曾经辉煌但已被拍在沙滩...
  • 目标跟踪算法综述与分析

    千次阅读 多人点赞 2019-03-08 11:19:44
    本人硕士期间研究过10个月左右的目标跟踪算法,刚入门时苦于没人指点,自己每天乱看文章,后来发现看的好多文章都是没有意义的(ps....看了一大堆meanshift,kalman啥的......),做了很无用功,后来逐渐入门。...
  • 目标检测跟踪算法综述

    千次阅读 2019-07-09 16:19:22
    本文介绍了一般的目标跟踪算法,对几个常用的算法进行对比,并详细介绍了粒子滤波算法和基于轮廓的目标跟踪算法。最后简单介绍了目标遮挡的处理、摄像头目标跟踪和摄像头运动下的目标跟踪。 一、一般的目标跟踪...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,535
精华内容 1,814
关键字:

多目标跟踪算法综述