论文:Observation-Centric SORT: Rethinking SORT for Robust Multi-Object Tracking(CVPR2022)
代码:https://github.com/noahcao/OC_SORT
动机
作者指出SORT中的三个问题:
- 状态噪声的敏感性。从数学上理解,SORT的状态中有x和y方向的速度,速度的方差与(Delta t)^2成反比,时间间隔越小,速度的方差越大。从直观理解,在高帧率视频的连续帧之间,物体位移的噪声可能与实际物体位移的大小均为一两个像素,位移的微小误差会带来速度的剧烈变化。
- 误差累积。如果目标在每帧都有观测,那状态误差还能被及时纠正;而如果缺乏T段时间的观测,估计出的位置的误差delta_{u_{t T}} sim mathcal{N}left(0,2 T^{2} sigma_{u}^{2}right)方差与T^2成正比。
- 以估计为中心。上述两点问题揭示出的核心问题就是,SORT中的KF以估计为中心,观测只用于修正估计。而在有遮挡情况下,利用了外观信息的神经网络生成的观测应该比KF估计更重要。
方法
提出三个创新点打包解决上述问题,OOS(以观测为中心的在线平滑)、OCM(以观测为中心的动量)、OCR(以观测为中心的恢复)
- OOS(Observation-centric Online Smoothing) 在一个轨迹从失去观测到再次被关联时,把丢失期间看作匀速直线运动建立虚拟轨迹,用虚拟轨迹重新更新丢失期间的kalman滤波器参数,这样就不会有误差累积。注意OOS只更新滤波器参数,而不会更改之前输出的轨迹结果。OOS与贝叶斯平滑在动机和操作上均不同:贝叶斯平滑是作用于轨迹结果,而没有更新KF参数。
- OCM( Observation-Centric Momentum) 在建立关联时的代价矩阵时,不仅考虑iou,还加了运动方向(即动量V)的一致性。这里的动量是轨迹的方向和由轨迹的历史检测和新检测形成的方向,这里计算方向时需要选择一个时间差,附录中证明了时间差越大得到的动量方差越小,但是也不能选的过大,以满足线性运动假设,所以需要一个权衡。
- OCR(Observation-Centric Recovery) 由于检测器不可靠、物体遮挡等原因,轨迹会中断。作者提出OCR来处理物体停止或被遮挡一段时间的情况:一旦一条轨迹在正常关联阶段之后仍然没有被跟踪,我们尝试将这条轨迹的最后一次观测与新到来的时间步上的观测进行关联。
实验结果
作者提出的三个创新点对HOTA和IDF1有一定的提升,对MOTA几乎没有提升
线性插值的后处理对提点很有用,插值的最大间隔设置为了20帧。表中的GPR为使用了RBF核的高斯过程回归。
以下是OC-SORT与其他先进方法在MOT17、MOT20、DanceTrack测试集上的对比: