Deep OC SORT

Deep OC-SORT: Multi-Pedestrian Tracking by Adaptive Re-Identification[1]

作者是来自CMU的Gerard Maggiolino, Adnan Ahmad, Jinkun Cao, Kris Kitani.论文引用[1]:Maggiolino, Gerard et al. “Deep OC-Sort: Multi-Pedestrian Tracking by Adaptive Re-Identification.” 2023 IEEE International Conference on Image Processing (ICIP) (2023): 3025-3029.

Time

  • 2023.Feb

Key Words

  • Kalman filter
  • adding appearance cues to motion-based object association
  • camera motion compensation
  • introduce visual appearance to OC-SORT

动机

  1. 基于运动的关联 for MOT在最近的一些检测器中,重新占了主导地位。尽管如此,在启发式的、缺乏对特征退化的robustness的模型之外,很少工作考虑到吸收外观cues。本文中,作者提出了一个新的方式,来利用目标的外观,自适应地将外观匹配(appearance matching)集成到现有的基于motion的高性能的方法中。

总结

  1. 随着目标检测器和基于motion的关联算法的成功,有效地将visual appearance和motion-based matching 集成起来仍然是没有探索的。strong embedding models中的bounding box-level的visual features仍然包含因为occlusion、motion blur、相似外观的物体造成的噪声。提出了一个动态地、自适应地、启发式的模型,来在单个阶段中集成visual appearance和motion-based cues for object association。除此之外,还结合了camera motion compensation,通过complement object-centric motion model提高了性能。

  2. Motion-based MOT:现在的很多端到端的models仍然不如经典的motion model-based tracking algorithms。卡尔曼滤波是tracking-by-detection的基础,在这个line上,SORT用一个线性的motion假设、通过IoU来关联tracks。ByteTrack通过在关联中利用low-confidence candidates来解决missing predictions的问题,实现了很好地效果,平衡了检测质量和tracking confidence。最近的OC-SORT提高了robustness of tracking in non-linear motion场景,减小了object occlusion或者消失的影响,通过直接依赖于detections。

  3. Appearance-based MOT: Visual identification是一个直接的cue来关联targets。 DeepSORT是一个最早的用深度特征进行目标关联的。通过端到端的训练一个discriminative appearance model,来集成视觉信息,提高了性能。Transformer的兴起,目标关联通过query matching进行model。然而,但目标有相似的外观或者遇到occlusion的时候,效果并不好,比那些简单的利用很强的detector的motion association的方法差一些。也有一些尝试:将appearance cues 加入到motion-based methods。

  4. Deep OC-SORT的三个module:

    • Camera Motion Compensation(CMC): OC-SORT高度依赖detection quality,引入CMC更精确地定位物体。给定一个scale rotation matrix \(M_t = s_tR_t\),和一个translation \(T_t\),分别将它们用在OC-SORT的三个components上。

      • OOS + CMC. KF从线性的interpolated path更新,starting at the last known measurement. 最后一个known measurement是\([x_c,y_c,a,s]\),bbox的中心通过 \(c \leftarrow M_tc +T_t\)变换得到,so that the path is interpolated starting from the camera corrected measurement.

      • OCM + CMC. \(p_1,p_2\)为bbox的左上和右下的角点,OCM用最后的\(\Delta t =3\) bboxes来计算 bbox的角速度,在每个timestep t, 进行变换\(p_i \leftarrow M_tp_i + T_i\) to bbox,这个是从 \(t - \Delta t\)\(t\) during OCM。

      • OCR + CMC。对于OCR中的最后一个看到的bbox position, 在每个timestep t, 用 \(p_i \leftarrow M_tp_i + T_t\) 来调整位置 under CMC。对于OC-SORT,Kalman state is \(\mathbf{x}=[x_{c},y_{c},a,s,\dot{x_{c}},\dot{y_{c}},\dot{a}].\),用CMC来纠正Kalman state:

      \[\left.\left\{\begin{matrix}\mathbf{x}[0:2]\leftarrow M_t\mathbf{x}[0:2]+T_t,\\\mathbf{x}[4:6]\leftarrow M_t\mathbf{x}[4:6],\\P[0:2,0:2]\leftarrow M_tP[0:2,0:2]M_t^T,\\P[4:6,4:6]\leftarrow M_tP[4:6,4:6]M_t^T.\end{matrix}\right.\right.\]

    • Dynamic Appearance:在之前的工作中,用于描述tracklet的deep visual embedding是通过Exponetial Moving Average(EMA) of deep detection embeddings frame by frame来提供的,这个要求一个weighting factor \(\alpha\) 来调整 historical和currnet time steps的visual embedding的 ratio。作者提出,基于detector confidence修改 \(\alpha\),这个灵活的 \(\alpha\) 仅用高质量的detections,将appearance information集成到track's model里。标准的EMA公式如下:

    \[\mathbf{e}_t=\alpha\mathbf{e}_{t-1}+(1-\alpha)\mathbf{e}^{\mathrm{new}}\] \(e_t\) 为tracklet's appearance embedding at time \(t\), \(e^{new}\)是加入到model中的matched detction的appearance。作者将 \(\alpha_t\)替换了\(\alpha\),公式如下:

    \[\mathop{\alpha}_{t}=\alpha_{f}+(1-\alpha_{f})(1-\frac{s_{\mathrm{det}}-\sigma}{1-\sigma}),\]

    \(s_det\) 是detector confidence,\(\sigma\) 是 detection confidence threshold to filter noisy detections。\(\alpha_f = 0.95\)

    • Adaptive weighting:adaptive weighting基于appearacne embeddings的discrinimativeness来增加appearance features的weight。通过标准的余弦相似度arcoss track and box embeddings 导致一个 \(M \times N\) appearance costs matrix, \(A_c\)\(M, N\)分别是tracks和detections的数量。通常和IoU cost matrix结合起来。\(C = I_c + a_w A_c\)

    提出了一个方法,来提高individual track-box scores based on discriminativeness,将 \(w_b(m,n)\)加到全局 \(a_w\)里,公式如下: \[z_{\mathrm{diff}}^{\mathrm{det}}(A_{c},n)=\operatorname*{min}(\operatorname*{max}_{i}A_{c}[i,n]-\operatorname*{max}_{j\neq i}A_{c}[j,n],\epsilon),\\z_{\mathrm{diff}}^{\mathrm{track}}(A_{c},m)=\operatorname*{min}(\operatorname*{max}_{i}A_{c}[m,i]-\operatorname*{max}_{j\neq i}A_{c}[m,j],\epsilon),\]

    其中,\(\tau_m\)表示一个track,当它与一个box有很高的相似度的分数时,增加appearance weight over row \(A_c[m,:]\)\(d_n\)表示一个detection,如果其与一个track相联系,进行同样的操作 over columns of \(A_c\)\(z_diff\)来measure box-track pairs的discriminativeness,表示at a row or a column的higheset 和second-highest values之间的difference. \(\epsilon\)是一个超参数,

    \[w_{b}(m,n)=\begin{bmatrix}z_{\mathrm{diff}}^{\mathrm{track}}(A_{c},m)+z_{\mathrm{diff}}^{\mathrm{det}}(A_{c},n)\end{bmatrix}/2,\]

    选择基于第一和第二高的scores,而不是概率分布metrics like KL divergence 来measure discriminativeness。一个true positive appearance match is indicated by one high score having a large distance from the next best match. 最后的cost matrix \(C\) 如下: \[C[m,n]=\mathrm{IoU}[m,n]+[a_{w}+w_{b}(m,n)] A_{c}[m,n].\]

  5. 本文的工作是基于最近的基于卡尔曼滤波的OC-SORT算法,是SORT的扩展,SORT依赖于目标追踪的线性运动假设,利用卡尔曼滤波将目标检测器的predictions和motion model 通过IoU的position estimates。当视频的帧率很高的时候,线性运动假设对于目标在临近视频帧的移位是有效的。然而,当追踪的目标在occlusion的时候,消失了,在卡尔曼滤波的时候, missed measurement会导致error加重,OC-SORT提出了三个模块,来解决motion model based error: **OCM(observation-centric momentum), OCR(observation-centric recovery), OOS(observation-centric online smoothing)。集成了OC-SORT的总体框架,包括匈牙利算法来关联matches from a cost matrix.

Illustration