[论文阅读笔记30] (AAAI2024) UCMCTrack: Multi-Object Tracking with Uniform CMC 详细推导


这是群友的一篇工作,之前也没仔细看,正好今天放假,打算读一下论文陶冶情操。

这篇文章的公式比较多,我做一篇笔记解释一下,希望对大家有帮助~

论文地址: https://ojs.aaai.org/index.php/AAAI/article/view/28493

代码: https://github.com/corfyi/UCMCTrack


0. Abstract

在多目标跟踪中,相机不规则运动一直是一个难题,这是因为相机的快速运动会导致目标在画面中的位置发生突变,这样就很难再和过去的轨迹关联起来。一种办法是采用相机运动补偿(Camera Motion Compensation)方法,但是现有的利用CMC的方法速度都是比较慢的。为了解决这个问题,作者提出了一种新的Kalman Filter的方式,即将目标的运动状态与地面联系起来(地面就是画面中真实的地面,我认为这才是这篇论文核心的contribution。就是说,我们用边界框的坐标作为目标的运动特征,其实是有缺陷的,因为这只是目标在相机平面的投影。而目标在world coordinate中的真实位置,往往是更稳定的),并采用映射的Mahalanobis Distance作为IoU的一种替代方案,来度量目标与轨迹的相似性。

阅读这篇文章需要对Kalman Filter在MOT中的形式有基本了解,可以参见OCSORT

Mahalanobis Distance是原始Deep SORT论文中度量相似度的方式,其核心思想是按照Kalman状态向量的相似度衡量。具体参见我的B站讲解DeepSORT解读

可以看到,该方法的效果还是非常好的

1. Introduction

在引言部分,作者主要说明了用IoU metric为什么不行,这是因为相机运动的时候边界框变化会很大,如下图所示:

所以说,依靠相机平面(image plane)进行association是不可靠的,那么就要寻找一种可靠的表示,答案就是ground------把目标投影到真实的ground上,从而更加robust。

此外,过去的CMC方法(比如BoT-SORT)需要在每一帧,都估计前一帧到这一帧的相机运动,或者说计算两帧像素之间的仿射矩阵,这是很耗时的(我的实测,BoT-SORT在用orb算法做仿射矩阵的话,帧率好像只有5~10)。为了配合这一点,类似于ground-aware的Kalman Filter被提出了。该工作在一个序列中只使用一套参数,这样就避免了频繁计算仿射矩阵。

总结起来,核心创新点有两个:

  1. 引入了一种创新的非loU距离测量, 也就是映射的Mahalanobis Distance
  2. 为了应对相机运动的挑战,提出了一种不同于传统相机运动补偿技术的方法,不是逐帧计算视频序列的相机补偿参数,而是在整个序列上均匀地应用相同的补偿参数,大大减少了与相机运动偏差典型相关的计算负担。

2. Methodology

2.1 将坐标投射到3D世界坐标的地面上!

为了更本质地表征目标的运动,作者期望把目标的运动状态投影到地面上。一般来讲边界框的底边是地面,因此将边界框底边对应在地面上的坐标及其变化率作为状态向量:

x = x , y , x ˙ , y ˙ \mathbf{x} =x,y,\\dot{x},\\dot{y} x=x,y,x˙,y˙

根据线性相机模型,地面坐标 x , y x, y x,y和图像平面中的坐标 u , v u,v u,v存在如下关系:

u v 1 = A 1 γ x y 1 \left\\begin{array}{l}u \\\\ v \\\\ 1\\end{array}\\right=\mathbf{A} \frac{1}{\gamma}\left\\begin{array}{l}x \\\\ y \\\\ 1\\end{array}\\right uv1 =Aγ1 xy1

其中 γ \gamma γ是缩放因子, A \mathbf{A} A是投影矩阵。

在Kalman滤波中,我们还应定义状态向量噪声的协方差矩阵和观测(检测)噪声的协方差矩阵。我们假定检测噪声的协方差矩阵与边界框高宽有关,即:

R k u v = ( σ m w k ) 2 0 0 ( σ m h k ) 2 \mathbf{R}_k^{u v}=\left\\begin{array}{cc}\\left(\\sigma_m w_k\\right)\^2 \& 0 \\\\ 0 \& \\left(\\sigma_m h_k\\right)\^2\\end{array}\\right Rkuv=(σmwk)200(σmhk)2

其是一个 2 × 2 2 \times 2 2×2的矩阵, σ m \sigma_m σm是一个超参数,表示缩放因子, k k k表示第 k k k个检测,相应地, w k , h k w_k,h_k wk,hk就是边界框的宽和高。

但是 R k u v \mathbf{R}_k^{u v} Rkuv是图像平面上的观测噪声的协方差矩阵,我们现在要把坐标投影到地面,那么地面坐标噪声的协方差矩阵 R \mathbf{R} R怎么办呢?

对于线性相机模型,如果已知相机的内参(由焦距、中心点等组成) K i \mathbf{K}_i Ki和外参(描述相机位姿变化的旋转矩阵与平移矩阵组成) K o \mathbf{K}_o Ko, 那么,从图像平面到3D世界坐标的转换方程为:

γ 0 u v 1 = K i K o x y z 1 \gamma_0\left\\begin{array}{l}u \\\\ v \\\\ 1\\end{array}\\right=\mathbf{K}_i \mathbf{K}_o\left\\begin{array}{l}x \\\\ y \\\\ z \\\\ 1\\end{array}\\right γ0 uv1 =KiKo xyz1

我们令 K i K o = θ i , j 3 × 4 \mathbf{K}_i \mathbf{K}o=\\theta_{i,j}{3\times 4} KiKo=θi,j3×4, 并且假设地面为 X Y XY XY平面,也即坐标 z = z 0 z=z_0 z=z0为恒定值,则方程可以改写为

γ 0 u v 1 = θ 11 θ 12 θ 13 θ 14 θ 21 θ 22 θ 23 θ 24 θ 31 θ 32 θ 33 θ 34 x y z 0 1 \gamma_0\left\\begin{array}{l}u \\\\ v \\\\ 1\\end{array}\\right=\left\\begin{array}{llll}\\theta_{11} \& \\theta_{12} \& \\theta_{13} \& \\theta_{14} \\\\ \\theta_{21} \& \\theta_{22} \& \\theta_{23} \& \\theta_{24} \\\\ \\theta_{31} \& \\theta_{32} \& \\theta_{33} \& \\theta_{34}\\end{array}\\right\left\\begin{array}{l}x \\\\ y \\\\ z_0 \\\\ 1\\end{array}\\right γ0 uv1 = θ11θ21θ31θ12θ22θ32θ13θ23θ33θ14θ24θ34 xyz01

= θ 11 θ 12 θ 13 z 0 + θ 14 θ 21 θ 22 θ 23 z 0 + θ 24 θ 31 θ 32 θ 33 z 0 + θ 34 1 γ x y 1 =\left\\begin{array}{ccc}\\theta_{11} \& \\theta_{12} \& \\theta_{13} z_0+\\theta_{14} \\\\ \\theta_{21} \& \\theta_{22} \& \\theta_{23} z_0+\\theta_{24} \\\\ \\theta_{31} \& \\theta_{32} \& \\theta_{33} z_0+\\theta_{34}\\end{array}\\right \frac{1}{\gamma}\left\\begin{array}{l}x \\\\ y \\\\ 1\\end{array}\\right = θ11θ21θ31θ12θ22θ32θ13z0+θ14θ23z0+θ24θ33z0+θ34 γ1 xy1

经过这种变形之后, γ ≠ γ 0 \gamma \ne \gamma_0 γ=γ0,但总之是个常数,所以我们就先这么表示。

比较上式和 u v 1 = A 1 γ x y 1 \left\\begin{array}{l}u \\\\ v \\\\ 1\\end{array}\\right=\mathbf{A} \frac{1}{\gamma}\left\\begin{array}{l}x \\\\ y \\\\ 1\\end{array}\\right uv1 =Aγ1 xy1

我们得到

A = = θ 11 θ 12 θ 13 z 0 + θ 14 θ 21 θ 22 θ 23 z 0 + θ 24 θ 31 θ 32 θ 33 z 0 + θ 34 \mathbf{A}==\left\\begin{array}{ccc}\\theta_{11} \& \\theta_{12} \& \\theta_{13} z_0+\\theta_{14} \\\\ \\theta_{21} \& \\theta_{22} \& \\theta_{23} z_0+\\theta_{24} \\\\ \\theta_{31} \& \\theta_{32} \& \\theta_{33} z_0+\\theta_{34}\\end{array}\\right A== θ11θ21θ31θ12θ22θ32θ13z0+θ14θ23z0+θ24θ33z0+θ34

现在我们知道 u , v u,v u,v的协方差矩阵,要求 x , y x,y x,y的,那么要找出 x , y x,y x,y u , v u,v u,v的关系。有:

x y 1 = γ A − 1 u v 1 \left\\begin{array}{l}x \\\\ y \\\\ 1\\end{array}\\right=\gamma \mathbf{A}^{-1} \left\\begin{array}{l}u \\\\ v \\\\ 1\\end{array}\\right xy1 =γA−1 uv1

我们记

A − 1 = a 11 a 12 a 13 a 21 a 22 a 33 a 31 a 32 a 33 \mathbf{A}^{-1}=\left\\begin{array}{lll}a_{11} \& a_{12} \& a_{13} \\\\ a_{21} \& a_{22} \& a_{33} \\\\ a_{31} \& a_{32} \& a_{33}\\end{array}\\right A−1= a11a21a31a12a22a32a13a33a33

x = γ ( a 11 u + a 12 v + a 13 ) y = γ ( a 21 u + a 22 v + a 23 ) 1 = γ ( a 31 u + a 32 v + a 33 ) x = \gamma (a_{11}u + a_{12}v + a_{13}) \\ y = \gamma (a_{21}u + a_{22}v + a_{23}) \\ 1 = \gamma (a_{31}u + a_{32}v + a_{33}) x=γ(a11u+a12v+a13)y=γ(a21u+a22v+a23)1=γ(a31u+a32v+a33)

我们接下来简化这个方程组,因为我们发现最后一个方程不含变量 x , y x,y x,y,因此这个方程组其实不是满秩的。

为表示方便,令

b 1 = ( a 11 u + a 12 v + a 13 ) b 2 = ( a 21 u + a 22 v + a 23 ) b 3 = ( a 31 u + a 32 v + a 33 ) b_1 = (a_{11}u + a_{12}v + a_{13}) \\ b_2 = (a_{21}u + a_{22}v + a_{23}) \\ b_3 = (a_{31}u + a_{32}v + a_{33}) b1=(a11u+a12v+a13)b2=(a21u+a22v+a23)b3=(a31u+a32v+a33)

这其实就是论文里的(19)式
b = A − 1 u v 1 = b 1 b 2 b 3 b=\mathbf{A}^{-1}\left\\begin{array}{l}u \\\\ v \\\\ 1\\end{array}\\right=\left\\begin{array}{l}b_1 \\\\ b_2 \\\\ b_3\\end{array}\\right b=A−1 uv1 = b1b2b3

接下来,我们把上式两边对时间t求导,得到

d x = a 11 ( d γ u + d u γ ) + a 12 ( d γ v + d v γ ) + a 13 d γ d y = a 21 ( d γ u + d u γ ) + a 22 ( d γ v + d v γ ) + a 23 d γ 0 = a 31 ( d γ u + d u γ ) + a 32 ( d γ v + d v γ ) + a 33 d γ dx = a_{11}(d\gamma u+du\gamma) + a_{12}(d\gamma v+dv\gamma)+a_{13}d\gamma \\ dy = a_{21}(d\gamma u+du\gamma) + a_{22}(d\gamma v+dv\gamma)+a_{23}d\gamma \\ 0=a_{31}(d\gamma u+du\gamma) + a_{32}(d\gamma v+dv\gamma)+a_{33}d\gamma dx=a11(dγu+duγ)+a12(dγv+dvγ)+a13dγdy=a21(dγu+duγ)+a22(dγv+dvγ)+a23dγ0=a31(dγu+duγ)+a32(dγv+dvγ)+a33dγ

整理后,有

{ d x = γ ( a 11 d u + a 12 d v ) + b 1 d γ d y = γ ( a 21 d u + a 22 d v ) + b 2 d γ d γ = − ( 1 b 3 ) 2 ( a 31 d u + a 32 d v ) \left\{\begin{array}{l}d x=\gamma\left(a_{11} d u+a_{12} d v\right)+b_1 d \gamma \\ d y=\gamma\left(a_{21} d u+a_{22} d v\right)+b_2 d \gamma \\ d \gamma=-\left(\frac{1}{b_3}\right)^2\left(a_{31} d u+a_{32} d v\right)\end{array}\right. ⎩ ⎨ ⎧dx=γ(a11du+a12dv)+b1dγdy=γ(a21du+a22dv)+b2dγdγ=−(b31)2(a31du+a32dv)

对于第一个式子,容易发现 b 1 = b 3 x b_1=b_3 x b1=b3x, 并将 d γ d\gamma dγ带入,则

b 1 d γ = b 3 x d γ = − ( 1 b 3 ) x ( a 31 d u + a 32 d ) b_1 d \gamma=b_3x d\gamma =-(\frac{1}{b_3})x(a_{31} d u+a_{32} d ) b1dγ=b3xdγ=−(b31)x(a31du+a32d)

所以

d x = d u ( γ a 11 − a 31 1 b 3 x ) + d v ( γ a 12 − a 32 1 b 3 x ) dx = du(\gamma a_{11}-a_{31}\frac{1}{b_3}x)+dv(\gamma a_{12} -a_{32}\frac{1}{b_3}x ) dx=du(γa11−a31b31x)+dv(γa12−a32b31x)

同理,我们也可以得到

d y = d u ( γ a 21 − a 31 1 b 3 x ) + d v ( γ a 22 − a 32 1 b 3 x ) dy = du(\gamma a_{21}-a_{31}\frac{1}{b_3}x)+dv(\gamma a_{22} -a_{32}\frac{1}{b_3}x ) dy=du(γa21−a31b31x)+dv(γa22−a32b31x)

当然, γ = 1 / b 3 \gamma = 1/b_3 γ=1/b3, 因此将上面两式子表示成矩阵:

d x d y \] = \[ γ a 11 − a 31 γ x γ a 12 − a 32 γ x γ a 21 − a 31 γ y γ a 22 − a 32 γ y \] \[ d u d v \] \\left\[\\begin{array}{l}d x \\\\ d y\\end{array}\\right\]=\\left\[\\begin{array}{cc}\\gamma a_{11}-a_{31} \\gamma x \& \\gamma a_{12}-a_{32} \\gamma x \\\\ \\gamma a_{21}-a_{31} \\gamma y \& \\gamma a_{22}-a_{32} \\gamma y\\end{array}\\right\]\\left\[\\begin{array}{l}d u \\\\ d v\\end{array}\\right\] \[dxdy\]=\[γa11−a31γxγa21−a31γyγa12−a32γxγa22−a32γy\]\[dudv

如果向量 x x x的协方差矩阵为 R R R, y = F x y=Fx y=Fx, 则 y y y的协方差矩阵为 F R F T FRF^T FRFT

根据上面的定理,这里

F = γ a 11 − a 31 γ x γ a 12 − a 32 γ x γ a 21 − a 31 γ y γ a 22 − a 32 γ y F = \left\\begin{array}{cc}\\gamma a_{11}-a_{31} \\gamma x \& \\gamma a_{12}-a_{32} \\gamma x \\\\ \\gamma a_{21}-a_{31} \\gamma y \& \\gamma a_{22}-a_{32} \\gamma y\\end{array}\\right F=γa11−a31γxγa21−a31γyγa12−a32γxγa22−a32γy

所以地面投影观测的协方差矩阵为

R = F R k u v F T \mathbf{R} = F\mathbf{R}_k^{u v} F^T R=FRkuvFT

这样第一个创新点就讲完了,也就是在将图像平面坐标映射到世界坐标后,协方差矩阵是怎么做的,这样Kalman的形式就能够精确确定了。

2.2 投影到地面后的马氏距离计算

DeepSORT采用马氏距离对状态向量的相似度进行计算,这里采用了相似的方式。

首先计算观测值与预测值的差:

ϵ = z − H x ^ \epsilon=\mathbf{z}-\mathbf{H} \hat{\mathbf{x}} ϵ=z−Hx^

注意上面的量都是投射到地面之后的

随后计算残差的协方差矩阵:

S = H P H T + R k \mathbf{S}= \mathbf{H}\mathbf{P}\mathbf{H}^T+\mathbf{R}_k S=HPHT+Rk

其中 P \mathbf{P} P为状态向量的协方差矩阵

距离为:

D = ϵ S ϵ − 1 + ln ⁡ det ⁡ S D = \epsilon \mathbf{S} \epsilon^{-1}+\ln \mathbf{\det S} D=ϵSϵ−1+lndetS

比DeepSORT多了一个 ln ⁡ det ⁡ S \ln \mathbf{\det S} lndetS项. 我们知道行列式意义是矩阵张成形状的体积,我猜测在这里应该起到一个罚项的作用

用图解释就是下面这样, 意思就是在IoU=0的情况下, 普通的马氏距离是不行的, 因为线性模型本身就失效了, 而map到地面之后就可以:

2.3 处理噪声补偿

这部分的意思是, 当相机运动的时候, 恒定速度假设失效, 因此不妨搞一个非线性模型, 来对状态向量的噪声的协方差矩阵进行修正.

作者假设, 非线性运动的时候, 速度和时间成正比, 因此距离和时间二次方成正比:

Δ x = 1 / 2 σ Δ t 2 Δ v = σ Δ t \Delta x = 1/2 \sigma \Delta t^2 \\ \Delta v = \sigma \Delta t Δx=1/2σΔt2Δv=σΔt

其中 σ \sigma σ表示强度

那么, 噪声 σ x , σ y \\sigma_x, \\sigma_y σx,σy的更新矩阵:

G = 1 / 2 Δ t 2 0 Δ t 0 0 1 / 2 Δ t 2 0 Δ t G = \left\\begin{array}{cc}1/2 \\Delta t\^2 \& 0 \\\\ \\Delta t \& 0 \\\\ 0 \& 1/2 \\Delta t\^2 \\\\ 0 \& \\Delta t \\end{array}\\right G= 1/2Δt2Δt00001/2Δt2Δt

σ x , σ y \] = G \[ σ x , σ y \] \[\\sigma_x, \\sigma_y\]=G\[\\sigma_x, \\sigma_y\] \[σx,σy\]=G\[σx,σy

因此, 原本的状态向量噪声的协方差矩阵为 d i a g ( σ x , σ y ) diag (\sigma_x, \sigma_y) diag(σx,σy), 修正后为

Q k = G d i a g ( σ x , σ y ) G T Q_k=Gdiag (\sigma_x, \sigma_y)G^T Qk=Gdiag(σx,σy)GT

相关推荐
Raink老师3 小时前
【AI面试临阵磨枪-79】实时数据 RAG:订单、商家、物流、天气、动态库存
人工智能·面试·职场和发展
脑极体3 小时前
点亮星河AI+鸿蒙,一座艺术场馆的日神觉醒
人工智能·华为·harmonyos
Cosolar3 小时前
Chroma向量库面试学习指南
数据库·人工智能·面试·职场和发展·数据库架构
BUG指挥官3 小时前
Claude Code的自动化编程
人工智能
意图共鸣4 小时前
意图共鸣科技《认知智能白皮书》——感知与执行分离:认知架构(CA)如何重塑大模型底层结构
人工智能·架构
等一个人的@4 小时前
让数据自己开口:数睿通智库新增智能问数模块
人工智能·自然语言处理
ZGi.ai4 小时前
人工审查节点:让自动化工作流多一步人工把关
运维·人工智能·自动化·人机协同·智能体工作流·人工审查
王莎莎-MinerU4 小时前
MinerU 深度技术解析:从架构原理到生产部署的全面指南
css·人工智能·自然语言处理·架构·ocr·个人开发
盘古信息IMS4 小时前
盘古信息IMS V6 8.0重磅发布:以薪火AI数智平台点燃离散制造数智化引擎
大数据·人工智能·制造
weilaieqi15 小时前
从音响制造到AI家庭娱乐生态:不见不散AI智能K歌音响亮相第二十届深圳国际金融博览会
人工智能·制造·娱乐