deep-sort 算法

基于深度学习的多目标跟踪算法的几种改进方向,其中有一种便是将深度表观特征应用到多目标跟踪问题中,deep-sort多目标跟踪算法便是这类算法中较为常用的一个。deep-sort 是在 sort 目标跟踪的基础上引入了表观特征提取网络,该网络是在行人重识别数据集上离线训练得到的,在目标跟踪过程中提取目标的表观特征进行最近邻匹配,这样可以有效的改善遮挡情况下的目标追踪效果。
算法可以分为四个核心部分,轨迹处理和状态估计、相关性度量、级联匹配、深度特征描述器。轨迹处理和状态估计部分的算法和 sort 算法类似,主要分为运动状态估计和目标创建与移除。deep-sort 算法通过(u,v,gama,h,x1,y1,gama1,h1), 这八个参数描述目标的运动状态,其中 (u,v) 为目标锚点框的中心坐标,gama是目标锚点框的长宽比,h 表示目标锚点框的高度,其余四个变量为目标对应在图像坐标种的运动信息。通过一个基于常量速度模型和线性观测模型的标准卡尔曼滤波器对目标的运动状态进行预测,预测的结果为(u,v,gama,h)。设置一个阈值Amax,设置一个计数器ak 表
示第 k 个追踪目标最后一次出现到当前帧所间隔的帧数,每次目标出现都将刷新计数器,即将计数器置为 0,若ak>Amax则,目标 k 追踪结束。若目标匹配过程中,有目标始终无法与已存在路径相匹配,则认为该目标可能为新出现的目标,如果接下来的 3 帧都连续检测到了该目标,则该目标将被认定为新出现的跟踪目标,并以此目标为起始目标生成新的跟踪路径,否则不生成新的跟踪路径。
Deep-sort 多目标跟踪算法在相似性度量方面不仅考虑了目标的运动特征信息,还引入了目标表观特征信息的度量。其中运动特征度量算法是,通过对已存在的路径中最后一帧的目标运动状态使用卡尔曼滤波器,预测得到下一帧中的目标可能存在的位置,然后将预测值和检测值之间的马氏距离来度量当前帧中检测到的目标和已有路径的运动特征信息的关联度。计算公式如上式所示。其中dj表示第 j 个检测框的位置,yi表示第 i 个路径通过卡尔曼滤波器预测出来的位置, Si为检测位置与平均追踪位置之间的协方差矩阵。马氏距离通过计算检测位置和平均追踪位置之间的标准差将状态测量的不确定性考虑在内。若d(i,j)<t,则 j 检测框与 i 路径匹配成功。其中阈值 t=9.4877。
由于在图像空间中卡尔曼滤波器的运动状态预测结果较为粗糙,特别是在相机处于运动状态下,马氏距离的惯量方法将会失效,使得跟踪的目标频繁发生跟丢或错跟的情况。因此 deep-sort 特别引入了第二种相似性度量方法,对当前帧中每个检测到的对象dj 都求一个特征向量ri,限制||ri||=1,对每条路径中关联成功的目标保存最近 100 帧的特征向量,然后将当前帧中所检测到的目标的特征向量与每个路径中保存的 100 帧的特征向量分别计算最小余弦距离,若检测框与路径的特征向量的余弦距离小于一个特定的阈值,则认为该检测到的目标与该路径关联成功,公式表达如下式。
则最终检测目标与路径的相似性度量如上式所示,其中lamda为两种度量的权重,对于短期的预测和匹配基于卡尔曼滤波器的位置度量的匹配效果好,若有长期遮挡的情况,则表观特征的度量的表现效果较强,若存在相机运动的情况则可设置lamda=0,即只通过表观特征来进行匹配。匹配度度量矩阵将通过级联匹配算法对目标和路径进行匹配,得到最终的目标跟踪路径结果。其中表观特征提取网络是一个在行人重识别数据上训练的残差网络模型,网络最终输出 128 维的归一化的特征,模型结构如下表 所示。
(0)

相关推荐