Paper with Code Kaggle 实战 NFL Helmet Tracking pedestrian_track_YoloV5_repo track with cannonical methods
多目标跟踪,一般简称为 MOT(Multiple Object Tracking),也有一些文献称作 MTT(Multiple Target Tracking)。**在事先不知道目标数量的情况下,对视频中的行人、汽车、动物等多个目标进行检测并赋予ID进行轨迹跟踪。**不同的目标拥有不同的 ID,以便实现后续的轨迹预测、精准查找等工作。
-
MOT算法的通常工作流程 ⭐
- 给定视频的原始帧,进行目标检测:运行对象检测器以获得对象的边界框
- 对于每个检测到的物体,计算出不同的特征,通常是视觉和运动特征
- 相似度计算计算两个对象属于同一目标的概率
- 数据关联,为每个对象分配数字ID。
-
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).
- SOT(Single-object Tracking, also known as VOT[Visual object Tracking])
- VOD(Video object detection)
- 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
-
MOTChallenge
行人追踪数据集,最常用的数据集
-
DanceTrack
-
车辆轨迹数据集 集合博客
-
有视频 & 轨迹 & 时刻速度 ⭐
-
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(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,每秒处理的帧数
初步理解,需要达到的要求:读完至少知道这两篇论文各哪有几个小节(精确到二级标题),主要部件是哪些。
先对视频序列的每一帧进行目标检测,根据包围框对目标进行裁剪,得到图像中的所有目标。然后,转化为前后两帧之间的目标关联问题,通过IoU、外观等构建相似度矩阵,并通过匈牙利算法、贪婪算法等方法进行求解。
SORT 使用 Faster-RCNN 进行目标检测(只考虑行人类别),之后流程整体可以拆分为两个部分,分别是匈牙利算法(Hungarian algorithm) 匹配过程和卡尔曼滤波(Kalman Filter)。论文的实验发现,目标跟踪质量的好坏与检测算法的性能有很大的关系
- 关键步骤:轨迹卡尔曼滤波预测→ 使用匈牙利算法将预测后的tracks和当前帧中的detecions进行匹配(IOU匹配) → 卡尔曼滤波更新
**SORT的问题:**ID-switch很高,即同一个人的ID会变化。
卡尔曼滤波(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.
-
匈牙利算法:解决的是一个二分图分配问题(Assignment Problem),即如何分配使成本最小。
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)
- 加入外观信息,借用了ReID领域模型来提取外观特征(即标题中的Deep Association Metric),减少了ID switch的次数
- 匹配机制从原来的基于IOU成本矩阵的匹配变成了级联匹配+IOU匹配
长时间遮挡中,卡尔曼滤波的 prediction 会发散,不确定性增加,而这样不确定性强的track的马氏距离反而更容易竞争到detection匹配。 按照遮挡时间 n 从小到大给 track 分配匹配的优先级
github repo 2022_VSTAM_Video-Sparse-Transformer-With-Attention-GuidedMemory-for-Video-Object-Detection.pdf