【论文-目标追踪】BoT-SORT: Robust Associations Multi-Pedestrian Tracking

2023-05-16

基本信息

BoT-SORT: Robust Associations Multi-Pedestrian Tracking

paper code(论文基于YOLOX、代码还增加了YOLOv7)

原repo最近没啥更新,个人更新的代码repo。

使用体验

        1、图稍大一些是真的慢,慢的主要原因是CMC获取帧运动纠正参数时,默认downscale=2时,单帧耗时居然3.6s,不能忍。基本上倍数缩小产生时间指数的变化。所以可以开放GMC中downscale这个参数,本人repo中已更新。

 

思路概述

        作者针对卡尔曼滤波次优估计、相机运动问题和指标权衡问题提出了新的追踪器,并整合到了ByteTrack。卡尔曼部分的优化是直接估计宽高取代原来的宽高比和高,获得更准确的宽度估计和HOTA;对于相机运动引入了相机运动补偿方法,通过纠正像面坐标来减少相机刚性运动的影响;对于常用的线性加权运动和外观代价函数,设计了新的代价函数获取更好的检测正例负例分离,获取更好的MOTA和IDF1。

        工作的主要贡献在于:

  •   添加相机运动补偿特征追踪器和合适的卡尔曼滤波状态矢量等改进以获取更好的框位置,使得tracking-by-detection追踪器显著提升;
  •   提出了简单但有效的IoU和Re-ID余弦距离融合方法,以获取更加鲁棒的关联能力。

1 引言(讲的比较透彻)

        MOT旨在对视频流进行检测并估计多目标的时空轨迹,主要用于自动驾驶、视频监控等。

        当前,tracking-by-detection是MOT任务最有效的范式。tracking-by-detection包含目标检测和追踪两步。追踪通常包含两部分:(1)运动模型并预测未来帧的轨迹框,最常用的是卡尔曼滤波;(2)关联未来帧检测框到轨迹集合。在追踪关联中两种主要途径是:(a)目标位置,例如IoU;(b)目标外观模型,用于解决再识别(Re-ID)。两种途径都被量化成距离并用于解决作为全局分配问题的关联任务。

        很多tracking-by-detection研究都基于SORT、DeepSORT和JDE等方法。这些SORT类方法存在一些局限性(后续展开)。

        多数SORT类算法采用基于匀速模型假设卡尔曼滤波作为运动模型。卡尔曼滤波预测下一帧轨迹位置用于关联,其主要作用是预测遮挡或丢失检测框的轨迹状态

        卡尔曼滤波估计轨迹相较于检测器检测导致了次优的框(个人理解,确实滤波让轨迹整体稳定,并能在一些遮挡等情况下保持住框的位置,但在多数场景尤其是相机非匀速运动或放缩时产生次优估计)。最近的方法中使用卡尔曼滤波估计框的宽高比,这导致了对宽度的不准确估计。

        SORT类基于IoU的方法依赖轨迹预测框的质量。因此,在复杂场景(非匀速运动假设)中,比如相机运动,预测框的正确位置会失败,而导致低重叠度,降低追踪器的效果。为了解决这类问题,作者采用了常规图像配准方法来估计相机运动,并纠正卡尔曼滤波的结果。该方法称为相机运动补偿(Camera Motion Compensation, CMC)。

        SORT类方法中的位置和外观信息可以看做MOTA(衡量追踪器的检测能力)和IDF1(衡量追踪器保持序列正确识别的能力)指标的权衡,即使用IoU有益于MOTA,使用Re-ID有益于IDF1。

        作者针对上面提到的卡尔曼滤波次优估计、相机运动问题和指标权衡问题提出了新的追踪器,并整合到了ByteTrack。工作的主要贡献在于:

  •   添加相机运动补偿特征追踪器和合适的卡尔曼滤波状态矢量等改进以获取更好的框位置,使得tracking-by-detection追踪器显著提升;
  •   提出了简单但有效的IoU和Re-ID余弦距离融合方法,以获取更加鲁棒的关联能力。

2 相关工作

        随着检测器的快速发展,也促进了MOT的进步。更强大的检测器降低了对复杂追踪器的需求。所以tracking-by-detection追踪器主要关注提升关联效果,同时探索深度学习趋势。

        运动模型。多数最近的tracking-by-detection算法都基于运动模型。基于匀速运动模型假设的卡尔曼滤波是主要选择。很多研究使用更高级的卡尔曼滤波变体,例如NSA-卡尔曼滤波,引入了检测得分。相机运动导致的目标非线性运动会导致错误的卡尔曼滤波预测。因此,很多研究采用了相机运动补偿来对齐帧,通过使用最大化增强相关系数(Enhanced Correlation Coeffificient, ECC)或特征匹配(例如ORB)来进行图像配准。

        外观模型与再识别。基于深度外观提示的目标辨别与再识别逐渐流行,但在某些场景(拥挤场景下部分遮挡的行人)达不到要求。独立的基于外观的追踪器通过裁剪检测框并提取深度外观特征使用额外的深度神经网络。其需要高推理计算成本。最近,多个联合追踪器提出联合训练检测和其他部分,例如运动、嵌入和关联模型。其主要优势在于低计算成本与相当的性能。

        近来,多个研究采用外观信息,并仅用高性能检测器和运动信息取得了高速和SOTA表现。尤其是ByteTrack利用了低分检测框在高分检测框关联后做了二次关联。

3 方法

        作者提出了对tracking-by-detection追踪的三方面改进,并集成到ByteTrack中,提供了两个SOTA追踪器BoT-SORT和BoT-SORT-ReID,后者对前者扩展了识别模块。算法流程图如下(红框是主要改进处):

 3.1 卡尔曼滤波

        像面目标运动模型常用匀速运动模型假设的离散卡尔曼滤波。在SORT中,状态矢量是7元组[x,y,s,a,x',y',s'],其中(x,y)是目标中心坐标,s是框的scale(area,即面积),a是框边界的宽高比,'为各自的变化值。最近一些追踪器(例如DeepSORT)的状态矢量采用8元组[x,y,a,h,x',y',a',h']。然而作者实验发现直接使用宽和高比使用宽高比效果更好。因此作者采用的状态矢量是[x,y,w,h,x',y',w',h'],即公式1。下面的公式中xk为轨迹预测的状态矢量(卡尔曼滤波中的均值),zk为结合检测框更新后的状态矢量(卡尔曼滤波中的均值),Qk是轨迹预测的噪声矩阵(卡尔曼滤波中的协方差),Rk是更新后的噪声矩阵(卡尔曼滤波中的协方差)。(关于卡尔曼滤波在SORT中的应用了解更多可以参考目标跟踪初探(DeepSORT)_there2belief的博客-CSDN博客)。对于Q、R,在SORT中是时间独立的,而在DeepSORT中建议与估计元素和测量元素有关,也即时间依赖的。公式3、4中的Qk、Rk是更新过的。

         在跟踪丢失时,长程预测可能导致框产生形变(个人理解为宽高比形变)。后面的消融实验表明卡尔曼滤波的修改产生更高的HOTA。作者表示HOTA的提升原因并不明晰,假定为对框宽度更准确的估计产生的,就像下图。

 3.2 相机运动补偿(CMC)

         Tracking-by-detection追踪器严重依赖轨迹预测框和检测框的重叠度。在动态相机时,像面框位置会发生急剧的变化,而导致ID转换(ID switch)或错误的负例。静态相机由于风的影响产生的振动和漂移也会产生类似的问题。在MOT20中更密集的场景下ID switch问题更加严重。视频运动模式可被总结为刚性运动(相机姿态变化)和目标(行人)的非刚性运动。在缺少相机运动的额外信息(导航、IMU等)或相机内在矩阵时,基于邻近帧的图像配准来投影相机刚性运动到像面是一种很好的近似。作者采用了OpenCV实现中相机稳定性模块的全局运动补偿(global motion compensation,GMC)技术。这种图像配准方法适于揭示背景运动。首先,在用于带基于转换局部异常值拒绝特征追踪的稀疏光流之后提取图像关键点(extraction of image keypoints take place followed by sparse optical flow for feature tracking with translation-based local outlier rejection.)。仿射矩阵A使用RANSAC求解。稀疏配准技术的使用提升了更加准确估计背景运动的潜力。

        使用仿射矩阵A可以将预测框从k-1帧坐标系转换到k帧坐标系。转换矩阵(transformation matrix)的翻译部分(translation part)仅影响边界框的中心位置(不理解),而其他部分影响所有的状态矢量和噪音矩阵。相机运动校正步骤如下公式所示:

其中,M是2*2的包含仿射矩阵A的比例和旋转部分。x和x'分别是做相机运动补偿前后的卡尔曼滤波预测的状态矩阵。P和P' 分别是做相机运动补偿前后的卡尔曼滤波预测的协方差矩阵。然后,使用x',P'进行卡尔曼滤波的更新步骤。

         在高速运动场景中,状态矢量中的元素需要全部校正,包括速度项。而当相机变化相对帧率较慢时,校正公式8可以省略。通过采用这种方法,使得追踪器对相机运动更加鲁棒。

        在对相机刚性运动补偿后,并基于运动目标轻微变化的假设下。对于高帧率应用中检测丢失的情况,在卡尔曼滤波阶段进行追踪外推可以获取更加连续的轨迹,同时更高的MOTA。

3.3 IoU - Re-ID融合

        Re-ID特征提取采用了FastReID库的BoT(SBS)基准,其使用ResNeSt50作为骨干网络。作者采用指数移动平均(exponential moving average,EMA)机制来更新匹配的轨迹外观状态e。

 其中,f是当前关联检测的外观嵌入,动量项a=0.9。由于外观特征很容易受到拥挤、遮挡和模糊目标的扰动破坏,作者仅使用高置信度的框。对于轨迹外观状态e与新检测嵌入特征f的关联,采用余弦相似性度量。作者抛弃了常用对外观代价和运动代价的加权平均获取总体代价矩阵的方式,如下:

 权重因子lambda一般设为0.98。

        作者法阵了一种新的运动(IoU距离矩阵)和外观(余弦距离矩阵)信息合并的方法。首先将低余弦相似性或距离(IoU)远的候选删除。然后使用每个元素的最小者。

        其中,C是代价矩阵。diou是IoU距离,代表运动代价。 dcos是外观信息的余弦距离(代价)。d'是新的外观代价。最后,代价矩阵C的线性分配问题,在第一次关联中,使用匈牙利算法。

 4 实验

4.1 实验设置

        数据集。采用了和基准ByteTrack相同的数据集。在消融实验中,使用了MOT17每个视频的前半部分做训练集,后半部分做验证集。

        指标。主流指标CLEAR metrics 包括: MOTA, IDF1 和 HOTA等。

        实现细节。检测器使用ByteTrack中已训练的YOLOX-X模型。特征提取训练了FastReID的SBS-50模型。类似于ByteTrack,检测框得分阈值0.6,代价阈值0.2,30帧的轨迹保持周期。执行最大间隔为 20 的线性轨迹插值以补偿地面真值中的不完美。

4.2 消融实验

        成分分析。对比基准ByteTrack逐步增加改进,表中看主要的提升体现在CMC和Re-ID。

         Re-ID分析。分析不限于Re-ID,包含了对IoU、Re-ID、Masking代价的单独和综合使用。仅使用IoU就有不错的表现,作者的方法最优。

         在线和离线。很多应用需要对事件进行回顾性的分析。这种情况下使用离线方法,例如global-link(StrongSORT中),可以显著提升效果。本文关注在线处理,因此使用了ByteTrack中的简单线性轨迹插值。

4.3 基准测试

        使用MOTChallenge测评服务器测试MOT17和MOT20。MOD17的结果如下,BoT-SORT的MOTA最高,BoT-SORT-ReID的IDF1和HOTA最高。

4.4 局限性

        局限性包括:在动态密集目标场景中,相机运动估计可能会失败。错误的相机运动会导致追踪器异常。大图像做全局运动计算需要耗时。可以采用多线程计算GMC以减少延迟。深度特征提取也有耗时,仅用于高置信度框的提取来减少消耗,或者将特征提取合并到检测头中。

5 结论

        结论有点简单,即SOTA和易于集成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【论文-目标追踪】BoT-SORT: Robust Associations Multi-Pedestrian Tracking 的相关文章

随机推荐