BoT-SORT 论文笔记及思考

BoT-SORT: Robust Associations Multi-Pedestrian Tracking

BoT-SORT论文链接
参考文章

最近新出的霸榜的多目标跟踪BoT-SORT论文在MOTChallenge数据集上得出的结果排名第一(state-of-the-art),其中指标实现了 80.5% MOTA、80.2% IDF1 和 65.0% HOTA。

MOT指标参考

论文秉持一贯的风格使用 Tracking-by-detection 作为MOT任务,使用当前最先进的检测器YOLOX作为检测任务,在ByteTrack的基础上更新很多作者自己的想法。

一、修改卡尔曼滤波(KF)中的状态向量及其他矩阵参数

起初SORT中KF状态向量为7元组组成:在这里插入图片描述,其中x,y为中心值,s为边界框比例(面积),a为边界框的纵横比(w/h)。

而DeepSort中KF状态向量改为8元组:在这里插入图片描述,a依然为边界框的纵横比,只是将第四维改成的边界框的高度h预测。

论文中修改KF状态向量为如下形式:在这里插入图片描述,将宽高比改成了预测宽度w,是因为作者发现在真实预测的过程中预测框总是不将行人完全包括进去,而正确的预测宽高能更好的匹配行人框,对跟踪匹配中的IOU也有很大的改善。
论文中截取的图
在这里插入图片描述
另外根据状态向量修改初始化的矩阵参数(过程噪声、测量噪声)以满足总体修改预测。

二、相机运动补偿(Camera Motion Compensation)

由于KF是匀速线性运动模型,对于跟踪非线性来说会产生不适配的问题,作者提出使用传统的方法Global motion compensation (GMC),使用OpenCV中的提取图像关键点技术对背景提取特征描述子(类似ORB、SIFT、SURF),并且通过特征点进行稀疏光流跟踪来使用RANSAC计算并获取背景运动的仿射变换矩阵,以此通过前后帧的运动信息生成仿射变换矩阵来预测行人边界框,称为运动补偿,仿射变换矩阵平移部分只会影响中心点位置,而其它的影响状态向量和噪声矩阵。
由此作者给出了运动校正的等式方程:
在这里插入图片描述
对于在跟踪中加入运动补偿后的效果其实是可想而知的,作者实验也贴了图,实际过程中,KF在预测的时候,假如目标运动过快或者过慢的情况可能会出现预测的滞后与提前,而在运动匹配的过程中iou匹配其实会显得比较困难,因为不管预测框是滞后或提前总是会造成与检测框的重合度不高的情况,这就给MOT带来了极大的挑战,况且不说运动模糊的情况。
在这里插入图片描述
三、IOU+ReID的融合机制
使用FastReID库中ResNest50作为backbone,BoT(SBS)作为基线训练reid网络,网络训练使用默认的参数,从FastReID项目中可以找到,使用的分辨率为128x384的输入分辨率,损失函数使用了经典的TripletLoss,总共迭代60个epoch训练出强有力的ReID网络提取特征。并且采用指数移动平均(EMA)来更新第k帧中第i个预测框的轨迹状态,在拥挤以及遮挡的场景中检测得分低的表示特征不可靠,并不会用来做特征匹配。

并且有提出使用IOU+ReID融合机制的策略来进行匹配,使用下面公式作为匹配输出:
在这里插入图片描述
作者使用设置iou阈值为0.5,余弦相似度阈值为0.2作为匹配的限制。
在这里插入图片描述

作者最后提到可能对于使用场景的不同,对于GMC来说大图会产生耗时较大的问题,可以采用多线程的方式来抵消平衡这一部分耗时,不过博主觉得在嵌入式端的话使用的分辨率一般不会太大,毕竟板端的耗时太大会影响整个跟踪的性能。

另外作者也使用到了一些匹配小技巧,在跟踪中经常发生,由于目标的遮挡以及未匹配会导致预测的梯度弥散效应,导致预测框的形变发生,而这里可以做一些基础的策略来保持,作者未提出只是给了相关文献,大概能知道为了保持此预测框在目标出现是尽可能的匹配上连接之前的轨迹,类似ByteTrack策略,在低得分的检测框出现的时候依然使用IOU去做匹配,以保持轨迹的连续性。

而且作者说自己其实也不清楚是为什么使得MOT的一些指标有提升的,猜想可能是因为KF的状态向量W参数的预测修改使得预测框与检测框拟合,匹配更好导致的。这一点我觉得还是很有用的,对于预测框大小的拟合能做到与检测框类似相差不大的情况下,iou匹配是可以起到很鲁棒的作用。

实用性:
个人认为这篇论文还是有很多实用参考价值的,因为其中的运动过程中丢失目标是跟踪过程中时常发生的,对于KF中的状态修改可以直接影响预测的匹配,对于运动补偿对于实践可能会稍微困难点,但值得一试!!!

  • 7
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
BoT-SORT是发表于2022年的先进的多目标跟踪算法,它结合了运动和外观信息、相机运动补偿和更准确的卡尔曼滤波状态向量,并把这些改进集成到ByteTrack,从而在MOTA、IDF1和HOTA性能指标上超过了ByteTrack,增强了目标跟踪的鲁棒性,比较适用于存在相机运动的场景。YOLOv8代码中已集成了BoT-SORT。本课程使用YOLOv8和BoT-SORT对视频中的行人、车辆做多目标跟踪计数与越界识别,开展YOLOv8目标检测和BoT-SORT目标跟踪强强联手的应用。课程分别在Windows和Ubuntu系统上做项目演示,并对BoT-SORT原理和代码做详细解读(使用PyCharm单步调试讲解)。课程包括:基础篇、实践篇、原理篇和代码解析篇。Ÿ  基础篇包括多目标跟踪任务介绍、常用数据集和评估指标;Ÿ  实践篇包括Win10和Ubuntu系统上的YOLOv8+BoT-SORT的多目标跟踪计数与越界识别具体的实践操作步骤演示;Ÿ  原理篇中讲解了马氏距离、匈牙利算法、卡尔曼滤波器、SORT、DeepSORTBoT-SORT目标跟踪算法的原理,并解读了BoT-SORT论文;Ÿ  代码解析篇中使用PyCharm单步调试对BoT-SORT的代码逐个文件进行讲解。课程提供代码解析文档。相关课程:《YOLOv8+ByteTrack多目标跟踪(行人车辆计数与越界识别)》https://edu.csdn.net/course/detail/38901《YOLOv8+DeepSORT目标跟踪(行人车辆计数与越界识别)》 https://edu.csdn.net/course/detail/38870《YOLOv5+DeepSORT目标跟踪与计数精讲》https://edu.csdn.net/course/detail/32669 

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值