美文网首页
多目标跟踪之SORT,deep-SORT

多目标跟踪之SORT,deep-SORT

作者: 霜冷长河wzq | 来源:发表于2021-02-28 17:17 被阅读0次

与单目标跟踪不同,多目标跟踪是会产生新目标进入与旧目标消失。在单目标跟踪中,我们往往会使用给定的初始框,在后续视频帧中对初始框内的物体进行位置预测。而多目标跟踪算法,大部分都是不考虑初始框的。

在多目标跟踪领域,常用的跟踪策略是TBD(Tracking-by-Detection,主流)和DFT(Detection-Free Tracking)。TBD,也可叫DBT(Detection-Based-Tracking)。即在每一帧进行目标检测,再利用目标检测的结果来进行目标跟踪,这一步我们一般称之为数据关联(Data Assoiation)。

跟踪也可分为Online和offliine。在Online跟踪中,我们只能使用当前帧及之前帧的信息来进行当前帧的跟踪。而在Offline跟踪中则没有了这个限制,我们对每一帧的预测,都可以使用整个视频的信息,这样更容易获得一个全局最优解。

多目标跟踪中常见名词

  • Trajectory(轨迹):一条轨迹对应这一个目标在一个时间段内的位置序列
  • Tracklet(轨迹段):形成Trajectory过程中的轨迹片段。完整的Trajectory是由属于同一物理目标的Tracklets构成的。
  • ID switch(ID切换):又称ID sw.。对于同一个目标,由于跟踪算法误判,导致其ID发生切换的次数称为ID sw.。跟踪算法中理想的ID switch应该为0。

多目标跟踪数据标签格式
<frame>, <id>, <bb_left>, <bb_top>, <bb_width>, <bb_height>, <conf>, <x>, <y>, <z>
其中二维情况下,x,y,z设为-1,表示忽略;三维情况下,bbox忽略。

与MOT相关的方向

SORT

目标状态x=[u,v,s(面积),r(长宽比,假设不变),\hat{u},\hat{v},\hat{s}].

在进行目标跟踪时仅仅使用了检测框的位置和大小进行目标的运动估计和数据关联,没有使用任何被跟踪目标的外观特征或者任何的重识别的算法,所以当目标跟丢时,就找不回来,只能通过检测去重新更新ID。
为了解决动作预测和数据关联,使用了两个十分高效的算法卡尔曼滤波和匈牙利算法。

  • 卡尔曼滤波:将预测值和测量值进行结合,对系统状态进行最优估计的算法。
  • 匈牙利算法(KM算法):假设有N个人和N个任务,每个任务可以任意分配给不同的人,已知每个人完成每个任务要花费的代价不尽相同,合理分配使得总的代价最小。代价矩阵用预测和检测的框之间的IOU。

流程:检测器得到detecions,卡尔曼滤波预测→ 计算代价矩阵→ 使用匈牙利算法将预测后的tracks和当前帧中的detecions进行IOU匹配 → 卡尔曼滤波更新。

轨迹创建:检测的目标与其他轨迹的IOU都低于阈值。
轨迹删除:T_{lost}帧没检测出,则删除。

deepSORT:

目标状态[u,v,r,h,x^*,y^*,r^*,h^*], 即bounding box的位置和大小,以及对应的速度信息。

基于外观信息和马氏距离的代价矩阵
马氏距离,表示第j个detection和第i条轨迹之间的运动匹配度,S_i表示由卡尔曼计算的协方差矩阵。

外观信息,r_j表示特征描述子,|r_j|=1.R_i存放了第i个轨迹的100个特征描述子。计算第j个detection和第i条轨迹之间的最小余弦距离。

级联匹配





T_n表示在最近的n帧没有与检测结果匹配上。由小到大对消失时间相同的轨迹进行匹配,保证了对最近出现的轨迹赋予最大的优先权。
最后,使用之前SORT算法中的IOU关联去匹配n=1的unconfirmed(在连续若干帧(论文中是3帧)中是否连续匹配成功,是的话则认为是新轨迹产生,标注为'confirmed')和unmatched的轨迹。
级联匹配

参考论文:
SORT:https://arxiv.org/pdf/1602.00763.pdf
deepSORT:https://arxiv.org/pdf/1703.07402.pdf
参考文章:
https://zhuanlan.zhihu.com/p/97449724?from_voters_page=true
https://zhuanlan.zhihu.com/p/59148865
https://blog.csdn.net/cdknight_happy/article/details/79731981
参考代码:
https://github.com/abewley/sort
https://github.com/nwojke/deep_sort

相关文章

  • 多目标跟踪之SORT,deep-SORT

    与单目标跟踪不同,多目标跟踪是会产生新目标进入与旧目标消失。在单目标跟踪中,我们往往会使用给定的初始框,在后续视频...

  • Deep SORT多目标跟踪算法代码解析

    Deep SORT是多目标跟踪(Multi-Object Tracking)中常用到的一种算法,是一个Detect...

  • MOTS:多目标跟踪和分割论文翻译

    MOTS:多目标跟踪和分割论文翻译 摘要: 本文将目前流行的多目标跟踪技术扩展到多目标跟踪与分割技术(MOTS)。...

  • 【多目标跟踪】AI产品经理CV通识(三)

    多目标跟踪(MOT, Multiple Object Tracking) 多目标跟踪是CV领域一个热门方向,广泛应...

  • Dlib多目标跟踪

    原文链接昨天PyImageSearch博主Adrian Rosebrock新发博客,使用Dlib计算机视觉库开发多...

  • 多目标跟踪-20170410

    做多目标跟踪需要了解的: 1、外观模型(Appearance model) 相关滤波器+HOG 基于深度学习的滤波...

  • 多目标跟踪综述

    在博客园 “一只有恒心的小菜鸟” 找来多目标跟踪的综述,很棒,太受用了,学习一下! 其他blog 多目标跟踪的评价...

  • 复杂场景粒子滤波目标跟踪技术

    年份:2015 这本书给我映像最深的是经过粒子改造后将单目标跟踪的方法也适用于多目标跟踪。

  • 案例分析

    宙斯盾案例: 【案例简述】:美国宙斯盾军舰使用相控阵雷达系统来进行多目标探测,多目标跟踪;同时监控400个目标,自...

  • 基于kalman的多目标跟踪处理之概述

    对于一个MLB的职业捕手来说,接到一个高空球似乎是很简单的,因为只需要关注这一个球的运动轨迹。但是,倘若该职业捕手...

网友评论

      本文标题:多目标跟踪之SORT,deep-SORT

      本文链接:https://www.haomeiwen.com/subject/qovrfltx.html