锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

[论文阅读笔记16]BoT-SORT论文公式推导与代码解读

时间:2022-09-01 11:00:00 gmc功率变送器sineax


论文地址: BoT-SORT: Robust Associations Multi-Pedestrian Tracking
和OCSORT(解读见OCSORT)一样, 都是对Kalman改进滤波器. OCSORT观测(检测器)不可靠Kalman预测方差变大的问题, 平滑轨迹. 而BoT-SORT针对相机运动的问题, 增加相机运动补偿. 也就是说,除了使用Kalman除了预测目标的新位置, 稀疏光流也光流(即提取目标以外的画面中的关键点, 移动两帧之间的图片, 进而补偿Kalman得到的结果)


1. Kalman滤波

Kalman滤波器遵循以下更新步骤和预测步骤:

预测步:
x ^ t ∣ t ? 1 = F t x ^ t ? 1 ∣ t ? 1 B t u t P t ∣ t ? 1 = F t P t ? 1 ∣ t ? 1 F t Q \hat{x}_{t|t-1}=F_t\hat{x}_{t-1|t-1} B_tu_t \\ P_{t|t-1}=F_tP_{t-1|t-1}F_t Q x^tt?1=Ftx^t?1∣t?1 B t utPtt1=FtPt1∣t1Ft+Q

更新步:
x ^ t ∣ t = x ^ t ∣ t − 1 + K t ( z t − H t x ^ t ∣ t − 1 ) K t = P t ∣ t − 1 H t T H t T P t ∣ t − 1 H t + R t P t ∣ t = P t ∣ t − 1 − K t H t P t ∣ t − 1 \hat{x}_{t|t}=\hat{x}_{t|t-1}+K_t(z_t-H_t\hat{x}_{t|t-1})\\ K_t=\frac{P_{t|t-1}H_t^T}{H_t^TP_{t|t-1}H_t+R_t}\\ P_{t|t}=P_{t|t-1}-K_tH_tP_{t|t-1} x^tt=x^tt1+Kt(ztHtx^tt1)Kt=HtTPtt1Ht+RtPtt1HtTPtt=Ptt1KtHtPtt1

其中 Q Q Q, R R R分别为输入(观测)和状态的噪声的协方差矩阵.

2. 状态变量的选择

在SORT中, 状态变量为[中心点, 面积, 高宽比, 速度, 面积变化率], 即 x = [ x c , y c , a , s , x c ˙ , y c ˙ , s ˙ ] x=[x_c, y_c, a ,s, \dot{x_c}, \dot{y_c}, \dot{s}] x=[xc,yc,a,s,xc˙,yc˙,s˙], 从DeepSORT以后, 状态变量基本采用的是 x = [ x c , y c , a , h , x c ˙ , y c ˙ , 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˙].

在BoT-SORT中, 作者简单地将状态变量改成了xywh及其导数, 即: x = [ x c , y c , w , h , x c ˙ , y c ˙ , w ˙ , h ˙ ] x=[x_c, y_c, w, h, \dot{x_c}, \dot{y_c}, \dot{w}, \dot{h}] x=[xc,yc,w,h,xc˙,yc˙,w˙,h˙], 类似地, 观测器的输入变量为 z = [ z x c , z y c , z w , z h ] z=[z_{xc}, z_{yc}, z_w, z_h] z=[zxc,zyc,zw,zh].

论文(1)(2)式

论文(3)(4)式, 关于噪声协方差矩阵的定义暂时没看懂, 看懂后补充

从消融实验的结果看, 按照这种方式更改状态变量MOTA, IDF1和HOTA指标大约有0.1 0.2左右的提升

3. 相机运动补偿

这是BoT-SORT提出的核心思想.

由于相机运动, 可能会造成匹配的不准确. 然而我们缺乏相机运动的先验信息(例如导航等), 因此, 相邻两帧之间的图像配准(image registration)可以近似相机运动在图像二维平面上的投影.

这里可以理解为, 相机运动等同于坐标系的变换, 因此目标的位置, 运动方向等我们需要重新投影到新坐标系中, 因此我们需要求解坐标系的变换矩阵. 如下图所示:

在这里插入图片描述
因此, 利用 RANSAC算法得到平面坐标变化的仿射矩阵, 描述2维平面旋转变化矩阵为 M ∈ R 2 × 2 M\in\mathbb{R}^{2\times 2} MR2×2, 平移变化向量为 T ∈ R 2 T\in\mathbb{R}^{2} TR2, 定义仿射矩阵
A = [ M T ] ∈ R 2 × 3 A = [M \quad T]\in\mathbb{R}^{2\times 3} A=[MT]R2×3

论文(5)式

假定Kalman预测后的结果为 x ^ t ∣ t − 1 = [ x c , y c , w , h , x c ˙ , y c ˙ , w ˙ , h ˙ ] T \hat{x}_{t|t-1}=[x_c, y_c, w, h, \dot{x_c}, \dot{y_c}, \dot{w}, \dot{h}]^T x^tt1=[xc,yc,w,h,xc˙,yc˙,w˙,h˙]T, 我们需要对中心点和高宽都应用仿射变换, 为了用一次矩阵乘法实现, 构造:

M k ∣ k − 1 ′ = d i a g { M , M , M , M } ∈ R 8 × 8 T k ∣ k − 1 ′ = [ T , 0 , 0 , 0 , 0 , 0 , 0 ] ∈ R 8 M'_{k|k-1}=diag\{M, M, M, M\}\in\mathbb{R}^{8\times 8}\\ T'_{k|k-1}=[T ,0, 0, 0, 0, 0, 0]\in\mathbb{R}^{8} Mkk1=diag{ M,M,M,M}R8×8Tk元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章