![769e3aacf1c447b2e7d1e40676daa87b.png](https://i-blog.csdnimg.cn/blog_migrate/c9b9370300b5d16af21cde84e9c128c0.jpeg)
1 前言
SORT(SIMPLE ONLINE AND REALTIME TRACKING),从名字上看,就感觉该方法应当很简单。
作者论文提到
Despite only using a rudimentary combination of familiar techniques such as the Kalman Filter and Hungarian algorithm for the tracking components, this approach achieves an accuracy comparable to state-of-the-art online trackers
该算法提出于2016年,作者仅灵活地使用了卡尔曼滤波算法和匈牙利算法的结合,就实现了当时SOTA的表现效果。结果非常amazing呀!
有关卡尔曼滤波算法和匈牙利算法,网上均有相关的博客进行教程,我们这篇文章先推荐几篇不错的教程,后面根据自己的理解,并结合SORT的论文和代码进行详解。
卡尔曼滤波:
英文:
http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/#mathybitswww.bzarg.com中文:
论智:图说卡尔曼滤波,一份通俗易懂的教程zhuanlan.zhihu.com![56a2079d25592315055481fc7c94740a.png](https://i-blog.csdnimg.cn/blog_migrate/c615cea9ba9658be6305f311dd2aa7ea.jpeg)
匈牙利算法:
ZihaoZhao:带你入门多目标跟踪(三)匈牙利算法&KM算法zhuanlan.zhihu.com上面这些文章,都是我入门SORT或者DeepSORT时细读的,个人觉得还不错。
接下来就简单聊聊卡尔曼滤波这个硬骨头,以及他是怎么被用到SORT中的。
2 卡尔曼滤波
在阅读我对卡尔曼滤波的理解前,希望你已经看过上面发过的链接了。
如下图所示(图来源于这儿)。由此可见,卡尔曼滤波主要有两个过程,一个叫做(1)预测,另一个叫做(2)更新。
![fbd4152ade25848da6a30d6f8921d99a.png](https://i-blog.csdnimg.cn/blog_migrate/b1b4aff9dd0623b88811cbd7cfd5bda9.jpeg)
何为预测,何为更新呢?
这里举个例子,一个机器小车在路上走(路不一定平哈),假设他k-1时候的状态是
- (1)当前位置参数
- (2)当前速度参数
我们在后台可以看到这个小车的一些运行参数,比如(速度、加速度、转角等)。那么我们根据这些运行参数来推理时刻k机器小车的状态是可行的。比如这里假设机器小车是均速直线运动的,那么预测的
那么这个预测的状态就是
由于状态信息中,每个变量间可能存在一定的相关性,所以存在一个描述相关性的协方差矩阵