这是群友的一篇工作,之前也没仔细看,正好今天放假,打算读一下论文陶冶情操。
这篇文章的公式比较多,我做一篇笔记解释一下,希望对大家有帮助~
论文地址: 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被提出了。该工作在一个序列中只使用一套参数,这样就避免了频繁计算仿射矩阵。
总结起来,核心创新点有两个:
- 引入了一种创新的非loU距离测量, 也就是映射的Mahalanobis Distance
- 为了应对相机运动的挑战,提出了一种不同于传统相机运动补偿技术的方法,不是逐帧计算视频序列的相机补偿参数,而是在整个序列上均匀地应用相同的补偿参数,大大减少了与相机运动偏差典型相关的计算负担。
2. Methodology
2.1 将坐标投射到3D世界坐标的地面上!
为了更本质地表征目标的运动,作者期望把目标的运动状态投影到地面上。一般来讲边界框的底边是地面,因此将边界框底边对应在地面上的坐标及其变化率作为状态向量:
根据线性相机模型,地面坐标和图像平面中的坐标存在如下关系:
其中是缩放因子,是投影矩阵。
在Kalman滤波中,我们还应定义状态向量噪声的协方差矩阵和观测(检测)噪声的协方差矩阵。我们假定检测噪声的协方差矩阵与边界框高宽有关,即:
其是一个的矩阵,是一个超参数,表示缩放因子,表示第个检测,相应地,就是边界框的宽和高。
但是是图像平面上的观测噪声的协方差矩阵,我们现在要把坐标投影到地面,那么地面坐标噪声的协方差矩阵怎么办呢?
对于线性相机模型,如果已知相机的内参(由焦距、中心点等组成)和外参(描述相机位姿变化的旋转矩阵与平移矩阵组成), 那么,从图像平面到3D世界坐标的转换方程为:
我们令, 并且假设地面为平面,也即坐标为恒定值,则方程可以改写为
经过这种变形之后,,但总之是个常数,所以我们就先这么表示。
比较上式和
我们得到
现在我们知道的协方差矩阵,要求的,那么要找出和的关系。有:
我们记
则
我们接下来简化这个方程组,因为我们发现最后一个方程不含变量,因此这个方程组其实不是满秩的。
为表示方便,令
这其实就是论文里的(19)式
接下来,我们把上式两边对时间t求导,得到
整理后,有
对于第一个式子,容易发现, 并将带入,则
所以
同理,我们也可以得到
当然,, 因此将上面两式子表示成矩阵:
如果向量的协方差矩阵为, , 则的协方差矩阵为
根据上面的定理,这里
所以地面投影观测的协方差矩阵为
这样第一个创新点就讲完了,也就是在将图像平面坐标映射到世界坐标后,协方差矩阵是怎么做的,这样Kalman的形式就能够精确确定了。
2.2 投影到地面后的马氏距离计算
DeepSORT采用马氏距离对状态向量的相似度进行计算,这里采用了相似的方式。
首先计算观测值与预测值的差:
注意上面的量都是投射到地面之后的
随后计算残差的协方差矩阵:
其中为状态向量的协方差矩阵
距离为:
比DeepSORT多了一个项. 我们知道行列式意义是矩阵张成形状的体积,我猜测在这里应该起到一个罚项的作用
用图解释就是下面这样, 意思就是在IoU=0的情况下, 普通的马氏距离是不行的, 因为线性模型本身就失效了, 而map到地面之后就可以:
2.3 处理噪声补偿
这部分的意思是, 当相机运动的时候, 恒定速度假设失效, 因此不妨搞一个非线性模型, 来对状态向量的噪声的协方差矩阵进行修正.
作者假设, 非线性运动的时候, 速度和时间成正比, 因此距离和时间二次方成正比:
其中表示强度
那么, 噪声的更新矩阵:
因此, 原本的状态向量噪声的协方差矩阵为, 修正后为
版权声明:本文为博主作者:此心安处是吾乡_原创文章,版权归属原作者,如果侵权,请联系我们删除!
原文链接:https://blog.csdn.net/wjpwjpwjp0831/article/details/137369570