Skip to content

Latest commit

 

History

History
260 lines (129 loc) · 11.1 KB

File metadata and controls

260 lines (129 loc) · 11.1 KB

MOT(Multiple Object Tracking) Survey

多目标跟踪博客 MOT 入门博客

Paper with Code Kaggle 实战 NFL Helmet Tracking pedestrian_track_YoloV5_repo track with cannonical methods

overview

多目标跟踪,一般简称为 MOT(Multiple Object Tracking),也有一些文献称作 MTT(Multiple Target Tracking)。**在事先不知道目标数量的情况下,对视频中的行人、汽车、动物等多个目标进行检测并赋予ID进行轨迹跟踪。**不同的目标拥有不同的 ID,以便实现后续的轨迹预测、精准查找等工作。

  • MOT算法的通常工作流程 ⭐

    1. 给定视频的原始帧,进行目标检测:运行对象检测器以获得对象的边界框
    2. 对于每个检测到的物体,计算出不同的特征,通常是视觉和运动特征
    3. 相似度计算计算两个对象属于同一目标的概率
    4. 数据关联,为每个对象分配数字ID。
  • MOT 存在的问题

    多目标跟踪中即要面对在单目标跟踪中存在的遮挡、变形、运动模糊、拥挤场景、快速运动、光照变化、尺度变化等挑战,还要面对如轨迹的初始化与终止相似目标间的相互干扰等复杂问题。

general survey

embedding learning in MOT

2022_survey_Recent-Advances-in-Embedding-Methods-for-Multi-Object-Tracking-A-Survey.pdf

mainly focus on embedding learning in MOT.

The flow of embedding learning in MOT system are divided into 2 parts: embedding module and association module. Input with multi successive frames to predict the location and track identities(IDs).

related Tasks

  1. SOT(Single-object Tracking, also known as VOT[Visual object Tracking])
  2. VOD(Video object detection)
  3. re-identification(Re-ID)

SOT 单目标跟踪

SOT aims to estimate an unknown visual target trajectory when only an initial state of the target (in a video frame) is available 第一帧给定 bounding box 并进行跟踪

Unlike SOT, initial states of objects are unknown in the MOT task, requiring pre-defined categories for tracking

Dataset

metrics

  • Classicial Metrics

    • FP:False Positive

      第t帧中,跟踪器检测到了的bounding box但是在ground truth中却不存在bounding box的个数

    • FN:False Negative,即真实情况中有,但跟踪算法漏检了。

      指的是在第t帧中,跟踪器漏检了的bounding box但是在ground truth中存在bounding box的个数

    • IDS:ID Switch,目标ID切换的次数。

      fragmentation是在第t帧当中发生的ID分配错误(ID switch)。如果在ground truth第j个轨迹的第t帧之前,跟踪器(tracker)把该轨迹的ID都预测正确了,但是第t+1帧预测错误了,那么ID switch的个数+1

    • Frag

  • CLEAR MOT metrics 06 年提出的 CLEAR MOT 更多衡量的是检测的质量,而不是跟踪的效果

    博客 MOTA 参考

    • MOTA(Multiple Object Tracking Accuracy) 多目标跟踪准确度 ⭐ MOTA给出了一个非常直观的衡量跟踪器在检测物体和保持轨迹时的性能,与物体位置的估计精度无关,是当前 MOT 的主要评估指标

    $$ MOTA = 1 - \frac{\sum_t(FN_t + FP_t + IDSW_t)}{\sum_t GT_t}\\ $$

    FN为False Negative,FP为False Positive,IDSW为ID Switch,GT为Ground Truth 物体的数量。MOTA考虑了tracking中所有帧中对象匹配错误,主要是FN,FP,ID Switch。MOTA取值应小于100,当跟踪器产生的错误超过了场景中的物体,MOTA会为负数。需要注意的是,此处的MOTA以及MOTP是计算所有帧的相关指标再进行平均(既加权平均值),而不是计算每帧的rate然后进行rate的平均。

    • MOTP(Multiple Object Tracking Precision) $$ MOTP = \frac{\sum_{t,i} d_{t,i}}{\sum_t{c_t}} $$ d 为检测目标 i 和给它分配的ground truth之间在所有帧中的平均度量距离,在这里是使用bonding box的overlap rate来进行度量。c为在当前帧匹配成功的数目。MOTP主要量化检测器的定位精度,几乎不包含与跟踪器实际性能相关的信息。
  • ID scores(identification scores) 基于匹配的指标,所以能更好的衡量数据关联的好坏

    • IDP(identification precision), IDR(Recall)

    • ID F1,正确身份标签赋予的检测框与平均ground truth和计算的检测数量的比值。 $$ IDP = \frac{IDTP}{IDTP + IDFP}\ IDR = \frac{IDTP}{IDTP + IDFN} \ IDF1= \frac{2}{1/IDP + 1/IDR} $$

  • MT(Most Tracked),ML(Mostly Lost)

    衡量追踪效果

    • MT:Mostly Tracked,大多数目标被跟踪的轨迹数量。目标被成功跟踪到的轨迹长度与轨迹总长度的比值大于等于80%的轨迹数量。
    • ML:Mostly Lost,大多数目标被跟丢的轨迹数量。目标被成功跟踪到的轨迹长度与轨迹总长度的比值小于等于20%的轨迹数量。
  • FPS:Frames Per Second,每秒处理的帧数

Detection-based-Tracking

初步理解,需要达到的要求:读完至少知道这两篇论文各哪有几个小节(精确到二级标题),主要部件是哪些。

先对视频序列的每一帧进行目标检测,根据包围框对目标进行裁剪,得到图像中的所有目标。然后,转化为前后两帧之间的目标关联问题,通过IoU、外观等构建相似度矩阵,并通过匈牙利算法、贪婪算法等方法进行求解。

YoloV5

博客参考

SORT

博客参考 2017_SORT_SIMPLE-ONLINE-AND-REALTIME-TRACKING.pdf

MOT_framework_SORT.jpg

SORT 使用 Faster-RCNN 进行目标检测(只考虑行人类别),之后流程整体可以拆分为两个部分,分别是匈牙利算法(Hungarian algorithm) 匹配过程和卡尔曼滤波(Kalman Filter)。论文的实验发现,目标跟踪质量的好坏与检测算法的性能有很大的关系

  • 关键步骤:轨迹卡尔曼滤波预测→ 使用匈牙利算法将预测后的tracks和当前帧中的detecions进行匹配(IOU匹配) → 卡尔曼滤波更新

**SORT的问题:**ID-switch很高,即同一个人的ID会变化。

Kalman Filter

Youtube tutorial How a Kalman filter works, in pictures

卡尔曼滤波(Kalman filter)是一种高效的自回归滤波器,它能在存在诸多不确定性情况的组合信息中估计动态系统的状态。

**目标检测器存在噪声的影响,检测结果不一定准确。**为了得到当前 t 时刻的 bounding box 准确预测,使用 Kalman Filter 算法,结合观测值(0 ~ t-1 时刻的检测结果)和预测值 (t 时刻的检测结果),预测最优的估计值。

SORT中共使用了7个参数,用来描述检测框的状态

  • Estimation Model

    The state of each target which is representation and the motion model used to propagate a target’s identity into the next frame $$ x = \left[ \matrix{u, v, s, r, \dot{u}, \dot{v}, \dot{s}}\right] ^T $$ u,v 为 target center 的 horizontal, vertical pixel location; s,r 为 bbox 的面积,bbox 的长宽比

    SORT中将卡尔曼滤波器用于检测框运动的预测,那么描述一个检测框需要以下四个状态 u,v,s,r。

    假设一个物体在不同帧中检测框的长宽比不变,是个常数,所以变化量只考虑上面 横坐标的变化速度,纵坐标的变化速度,检测框的大小(论文中叫做scale或者area)的变化速度。因此用 7 个变量描述检测框的状态

    • aspect ratio 宽长比

      Aspect ratio is the ratio of the width and the height of a four-sided shape like a TV screen or a photograph.

Hungarian Algorithm

MOT 中理解匈牙利算法博客 博客参考

匈牙利算法:解决的是一个二分图分配问题(Assignment Problem),即如何分配使成本最小。

DeepSORT

2017_DeepSORT_Simple-Online-and-Realtime-Tracking-with-a-Deep-Association-Metric.pdf github repo Kalman Filter in DeepSORT 博客参考 博客参考

SORT 当物体发生遮挡的时候,特别容易丢失自己的ID。Deepsort算法在sort算法的基础上增加了级联匹配(Matching Cascade)和新轨迹的确认(confirmed)

  1. 加入外观信息,借用了ReID领域模型来提取外观特征(即标题中的Deep Association Metric),减少了ID switch的次数
  2. 匹配机制从原来的基于IOU成本矩阵的匹配变成了级联匹配+IOU匹配

DeepSORT_framework.png

Matching Cascade

长时间遮挡中,卡尔曼滤波的 prediction 会发散,不确定性增加,而这样不确定性强的track的马氏距离反而更容易竞争到detection匹配。 按照遮挡时间 n 从小到大给 track 分配匹配的优先级

$$ Velocity = \frac{pixel_length}{frame_num * 1/FPS} * realtity_scale $$

VSTAM

github repo 2022_VSTAM_Video-Sparse-Transformer-With-Attention-GuidedMemory-for-Video-Object-Detection.pdf

CSRT

opencv 库中的目标跟踪算法