BoT-SORT

BoT-SORT: Robust Association Multi-Pedestrian Tracking[1]

作者是来自Tel-Aviv大学的Nir Aharon等人。论文引用[1]: Aharon, Nir et al. “BoT-SORT: Robust Associations Multi-Pedestrian Tracking.” ArXiv abs/2206.14651 (2022): n. pag.

Time

  • 2022.Jul

Key Words

  • IoU-ReID cosine-distance fusion
  • 一句话来说:用了CMC和IoU-ReID fusion来更近association.

总结

  1. 多目标跟踪的目标是检测和跟踪场景中的所有目标,同时每个目标保持一个唯一的id。本文中,作者提出了一个新的SOTA的tracker,能够结合motion和appearance information,还有camera-motion compensation和一个更精确的kalman filter state vector。
  1. 多目标跟踪旨在检测估计视频流中的多个目标的时空轨迹。MOT是一个多个应用的基础问题。当前,tracking-by-detection是最有效的MOT的范式。tracking-by-detection包含了一个目标检测的阶段,然后是跟踪阶段。跟踪阶段通常有两个主要部分:motion model和state estimation,用于预测后续帧中的tracklets的bboxes。kalman filter是这个任务的常用的选择;将新的frame detections和当前的tracks进行关联。有两个先进的方法用于处理关联任务:一个是目标的定位;主要是预测的tracklet bbox和detection box之间的IoU。另一个是目标外观模型和reid任务。两个方法都量化成distances,将关联任务作为全局分配问题进行解决。

  2. 很多最近的工作是基于SORT, DeepSORT, JDE的思路,大多数的SORT-like的算法,采用卡尔曼滤波器,有一个恒速模型假设作为运动模型。KF用于预测下一帧中的tracklet bbox,用于和detection bbox进行关联和遮挡或漏检情况下预测tracklet state。

  3. KF 状态估计作为tracker的输出,导致次优的bbox shape。相比于目标检测器驱动的detections。大多数的最近的方法用KF的状态特性,尝试估计box的apsect ratio而不是width,导致不精确的尺寸估计。SORT类型的IoU方法主要依赖于tracklet的预测框的质量。因此,在大多数的复杂场景中,预测正确的bbox的位置可能会失败,因为相机的运动,导致两个相关的bboxes之间的low overlap,最后导致tracker的低性能。通过采用传统的图像注册来估计相机运动和纠正KF来克服这个问题。将这个表示为 Camera Motion Compensation(CMC)。 本文的工作贡献如下:

    • 展示了通过增加改进,例如相机运动补偿特征tracker和一个合适的KF state vector用于更好的box 定位。tracking-by-detection trackers得到了显著地提高。
    • 展示了一个简单有效的方式用于IoU和ReID余弦距离融合,用于更好地detections和tracklets之间的关联。
  4. 随着目标检测 进步,很多检测器有更高的性能。tracking-by-detection trackers主要关注于提高数据关联

  5. Motion Models:最近的tracking-by-detection的算法是基于motion models的。最近,有恒速模型假设的KF是用于建模目标运动的流行的选择。很多研究用KF的更先进的变体,例如NSA-Kalman filter,将detection scores融合到KF中。很多复杂的场景包括相机运动,可能导致目标的非线性运动,造成不准确的KF预测。因此,很多研究人员采用Camera Motion Compensation(CMC) by aligning frames via image registration using the Enhanced Correlation Coefficient(ECC) maximazation or matching features such as ORB.

  6. 外观模型和ReID: 通过深度外观cues对目标进行判别和reid也是流行的,但是在很多情况下是不行的,特别是场景拥挤。最近,一些joint trackers被提出了,用于联合训练detection和一些其它的components,例如motion, embedding和 association model。这些Tracker的主要的好处是它们的很低的计算成本和类似的性能。

  7. 近期,一些研究抛弃了外观信息,只依赖于高性能的检测器和运动信息,能够实现high running speed和SOTA的性能。在ByteTrack中,利用了low score detection boxes。

  8. BoT-SORT-ReID是 BoT-SORT的扩展,包括一个reid的模块

    • Kalman filter: 为了在图像平面建模目标的运动,广泛采用一个有恒速模型的离散卡尔曼滤波器。在SORT中,state vector是seven-tuple,\(\boldsymbol{x}=[x_{c},y_{c},s,a,\dot{x_{c}},\dot{y_{c}},\dot{s}]^{\top}\)\((x_c,y_c)\) 是图像平面中目标中心的2D坐标。\(s\) 是bbox 的面积,\(a\) 是bbox的aspect ratio。在最近的tracker中,state vector变成了一个eight-tuple,\(\boldsymbol{x}=[x_{c},y_{c},a,h,\dot{x_{c}},\dot{y_{c}},\dot{a},\dot{h}]^{\top}\)。$$,然而,作者通过实验发现,直接估计bbox的width和height会效果更好。因此,将KF的state vector定义为:

    \[\begin{aligned} \boldsymbol{x}_{k} & =[x_{c}(k),y_{c}(k),w(k),h(k), \\ & \dot{x_{c}}(k),\dot{y_{c}}(k),\dot{w}(k),\dot{h}(k)]^{\top} \end{aligned}\]

    measure vector定义为:

    \[\boldsymbol{z}_k= \begin{bmatrix} z_{x_c}(k),z_{y_c}(k),z_w(k),z_h(k) \end{bmatrix}^\top\]

    matrices Q,R 在SORT中是时间独立的,过程噪声协方差 \(Q_k\) 和 测量噪声协方差 \(R_k\) 被修改了:

    \[\begin{aligned} \boldsymbol{Q}_{k}=diag\big((\sigma_{p}\hat{w}_{k-1|k-1})^{2},(\sigma_{p}\hat{h}_{k-1|k-1})^{2}, \\ (\sigma_{p}\hat{w}_{k-1|k-1})^{2},(\sigma_{p}\hat{h}_{k-1|k-1})^{2}, \\ (\sigma_{v}\hat{w}_{k-1|k-1})^{2},(\sigma_{v}\hat{h}_{k-1|k-1})^{2}, \\ (\sigma_{v}\hat{w}_{k-1|k-1})^{2},(\sigma_{v}\hat{h}_{k-1|k-1})^{2}) \\ R_{k}=diag\big((\sigma_{m}\hat{w}_{k|k-1})^{2},(\sigma_{m}\hat{h}_{k|k-1})^{2}, \\ (\sigma_{m}\hat{w}_{k|k-1})^{2},(\sigma_{m}\hat{h}_{k|k-1})^{2}) \end{aligned}\]

    • Camera Motion Compensation(CMC):tracking-by-detection trackers严重依赖于预测的tracklets bbox和detected ones的重叠。在动态相机场景中,图像平面的bbox location会剧烈变化,导致ID switches或者漏检。在静态相机场景中,Trackers会受到震动或者漂移的影响。在MOT20中,视频中的运动模式可以总结为刚体运动和目标的非刚体运动。当缺乏相机运动的额外的数据的时候,两个相邻帧之间的图像配准是相机在图像平面上的刚性运动投影的一个很好的近似。我们采用了OpenCV实现的视频稳定化模块中的全局运动补偿技术,该技术使用了仿射变换。图像配准适用于显示背景运动。首先图像keypoints的提取,随后使用稀疏光流进行特征跟踪,并结合基于平移的局部异常值剔除。affine matrix是通过RANSAC解决的。使用稀疏配准技术可以根据检测结果忽略场景中的动态物体,从而有可能更准确地估计背景运动。将k-1帧的预测的bbox的coordinate system转换到下一帧k的coordinate system中。变换矩阵的平移部分只影响bbox的中心位置,然而,其它部分影响所有的state vector和噪声矩阵。相机运动纠正的步骤通过下列方程进行:

    \[A_{k-1}^k= \begin{bmatrix} M_{2x2}|T_{2x1} \end{bmatrix}= \begin{bmatrix} a_{11}a_{12}a_{13} \\ a_{21}a_{22}a_{23} \end{bmatrix}\]

    \[\tilde{M}_{k-1}^{k}= \begin{bmatrix} M & 0 & 0 & 0 \\ 0 & M & 0 & 0 \\ 0 & 0 & M & 0 \\ 0 & 0 & 0 & M \end{bmatrix},\tilde{\boldsymbol{T}}_{k-1}^{k}= \begin{bmatrix} a_{13} \\ a_{23} \\ 0 \\ 0 \\ \vdots \\ 0 \end{bmatrix}\]

    \[\hat{\boldsymbol{x}}_{k|k-1}^{\prime}=\tilde{M}_{k-1}^{k}\hat{\boldsymbol{x}}_{k|k-1}+\tilde{\boldsymbol{T}}_{k-1}^{k} \\ P_{k|k-1}^{\prime}=\tilde{M}_{k-1}^{k}P_{k|k-1}\tilde{M}_{k-1}^{k^{\top}}\]

    \(M \in \mathbf{R^{2 \times 2}}\) 是仿射矩阵A的一部分,包含尺度和旋转。 \(T\) 包含translation部分。

    在速度较快的场景中,state vector的correction 包括速度,是重要的。当相机相对于帧率变化较慢的时候。通过应用这个方法,tracker对相机运动更加鲁棒。

    • IoU-ReID Fusion:将外观特征集成到tracker中,为了提取ReID特征,采用更强的baseline。采用EMA机制用于更新匹配的tracklets 外观状态 \(e^k_i\) for 第k帧的第i个tracklet。

    \[e_i^k=\alpha e_i^{k-1}+(1-\alpha)f_i^k\]

    \(f^k_i\) 是当前匹配的detection的外观embedding。 \(\alpha\) = 0.9 是动量。因为外观特征容易受拥挤、遮挡和模糊目标的影响,为了保持正确的特征向量,仅考虑高置信度的detection。对于averaged tracklet appearance state \(e^k_i\) 和 新的detection embedding vector \(f^k_j\) 之间的匹配,用余弦相似度进行测量。作者决定抛弃常见的外观cost \(A_{\alpha}\) 和运动cost \(A_m\) 之间的加权求和用于计算cost matrix \(C\)\(\lambda\) 通常设为 0.8。

    作者开发了一个新的方法,用于结合motion和外观信息,例如IoU distance matrix和 cosine distance matrix。首先,低余弦相似度或距离较远的候选者会在 IoU(交并比)得分方面被拒绝。然后,用matrices中的每个元素的最小值作为cost matrix C的最后的value。IoU-ReID 融合的pipeline表述如下:

    \[\hat{d}_{i,j}^{cos}= \begin{cases} 0.5\cdot d_{i,j}^{cos},(d_{i,j}^{cos}<\theta_{emb})\wedge(d_{i,j}^{iou}<\theta_{iou}) \\ 1,\mathrm{otherwise} & \end{cases} \\ C_{i,j}=min\{d_{i,j}^{iou},\hat{d}_{i,j}^{cos}\}\]

    \(C_{i,j}\) 是cost matrix C的 \((i,j)\) 的元素。 \(d^{iou}_{i,j}\) 是第i个预测的bbox和第j个detection bbox之间的IoU,表示motion cost。\(d^{cos}_{i,j}\) 是average tracklet appearance descriptor i 和新的 detection descriptor j 之间的余弦距离。 \(\theta_{iou}\) 是proximity 阈值,设为0.5。用于拒绝不相似的tracklets和detections。 \(\theta_{emb}\) 是appearance 阈值,用于分离positive association of tracklet appearance states 和detections embedding vectors from the negative ones。将 \(\theta_{emb}\) 设为0.25。高置信度的detections的线性分配问题,例如第一个关联步骤,是用匈牙利算法基于cost matrix C进行解决的。

  9. 结论:本文中,提出了一个用了MOT bag-of-tricks用于鲁棒关联的、增强的多目标跟踪器,称之为BoT-SORT,这个方法和它的组件能够很好地集成到其它的tracking-by-detection的tracker中,另外,一个新的MOT investigation tool, -cMOTA引入了,希望这个工作能够帮助推动MOT的研究。

BoT SORT pipeline \(Fig.1^{[1]}\) BoT-SORT-ReID tracker pipeline的overview。online tracking region是tracker的主要部分,后处理region是可选的。