论文标题:BoT-SORT: Robust Associations Multi-Pedestrian Tracking
论文地址:https://arxiv.org/pdf/2206.14651.pdf
论文代码:https://github.com/NirAharon/BOT-SORT
本文是以ByteTack为基线,通过分析近期较为流程的track-by-detection范式的“SORT-LIKE”类算法(SORT,DeepSORT,JDE)的局限性,设计较为妥当的解决方式,以此来提升MOT的性能指标。
起初,在SORT中的卡尔曼滤波的状态参数有7位x=[xc,yc,s,a,xc˙,yc˙,s˙]x=[x_c,y_c,s,a,\dot{x_c},\dot{y_c},\dot{s}]x=[xc,yc,s,a,xc˙,yc˙,s˙],其中s表示边界框的比例(面积),a表示边界框的宽高比。在DeepSORT中卡尔曼滤波的状态参数有8位x=[xc,yc,a,h,xc˙,yc˙,a˙,h˙]x=[x_c,y_c,a,h,\dot{x_c},\dot{y_c},\dot{a},\dot{h}]x=[xc,yc,a,h,xc˙,yc˙,a˙,h˙],将边界框比例s换成了边界框的高。但是作者通过实验发现,即使使用DeepSORT中的状态参数,但是预测出来的边界框,任然有些问题。如下图:
通过上图可以发现,在DeepSORT使用的状态参数下预测出来的bounding box框不能完整的将目标框住(蓝色虚线框),如此一来,在使用 IOU 进行数据关联的时候,可能就会出现问题。因此作者将卡尔曼滤波器的状态参数设置为xk=[xc(k),yc(k),w(k),h(k),xc(k)˙,yc(k)˙,w(k)˙,h(k)˙]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)}]xk=[xc(k),yc(k),w(k),h(k),xc(k)˙,yc(k)˙,w(k)˙,h(k)˙]。
既然卡尔曼滤波器的状态参数修改了,那么对应的也需要修改初始化的参数矩阵(过程噪声、测量噪声)以满足整体的修改预测。
track-by-detection范式的跟踪器严重依赖于预测轨迹的边界框和检测到的边界框之间的重叠。在动态相机情况下,图像平面中的边界框位置可能会发生显著变化,这可能会导致 ID 切换或假阴性增加,如下图所示。
静态相机场景中的跟踪器也可能因振动或漂移引起的运动而受到影响,就像在 MOT20 中一样,在非常拥挤的场景中,ID 切换可能是一个真正的问题。视频中的运动模式可以概括为刚体运动,来自相机姿态的变化,以及物体的非刚体运动。由于缺乏关于相机运动的额外数据(例如导航、IMU 等)或相机内参,2个相邻帧之间的图像配准是相机刚性运动在图像平面上投影的良好近似。
作者提出使用传统的方式 Global motion compensation (GMC) ,用OpenCV中的提取图像关键点技术对背景提取特征描述子(类似ORG、SIFT、SURF),并且通过特征点进行稀疏光流跟踪来使用RANSAC计算并获取背景运动的仿射变换矩阵,以此通过前后帧的运动信息生成仿射变换矩阵来预测行人边界框,称为运动补偿,仿射变换矩阵平移部分只会影响中心点位置,而其它的影响状态向量和噪声矩阵。由此作者给出了运动校正的等式方程:
个人认为与其说是融合,不如说是如何选择,也就是说在什么样的情况下选择使用IOU来进行数据关联,什么情况下使用Re-ID来进行数据的关联。作者的思想其实很简单,就从IOU距离和余弦相似度距离二者中选择最小的那个,只不过余弦相似度值要先进行一步处理。公式如下:
BoT-SORT 论文笔记及思考
屠榜多目标跟踪!BoT-SORT:稳健的关联多行人跟踪
本人能力有效,对文章理解可能不够透彻,有问题欢迎指正!