deepsort算法 & 卡尔曼滤波 & 匈牙利算法

目标追踪最核心的两个算法就是卡尔曼滤波和匈牙利算法算法。

卡尔曼滤波:根据当前帧中的轨迹预测下一帧的轨迹。
匈牙利算法:将预测的目标位置与检测到的目标位置进行匹配,实现对目标的准确跟踪。

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第1张图片

Sort算法


Sort算法分为以下几个步骤:
1.卡尔曼滤波预测轨迹
2.利用匈牙利算法匹配当前帧 目标检测(Detection) 的结果以及步骤一中卡尔曼滤波预测的轨迹进行匹配 (IOU匹配)
3.若匹配成功,卡尔曼滤波进行更新,若匹配失败则直接删除。

Deep Sort算法

Deep Sort算法是在Sort算法基础上进行了一系列的优化,其中最重要的优化就是增加了级联匹配。主要步骤如下:
1.卡尔曼滤波预测轨迹
2.利用匈牙利算法匹配当前帧 目标检测(Detection) 的结果以及步骤一中卡尔曼滤波预测的轨迹进行匹配 (级联匹配 + IOU匹配)
3.卡尔曼滤波进行更新

https://blog.csdn.net/qq_43591839/article/details/126008607

多目标追踪

随着目标的移动,是不是同一个人。是不是之前那个目标。
如果目标突然不见了,等它再出现,要判断他是不是之前识别的人,id不能变。
deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第2张图片
既要得到每一帧检测结果
也要看看当前每一帧还是不是之前的人。

卡尔曼滤波

必须是一帧一帧的,不是当前是第一帧,下次是第5帧。

卡尔曼滤波的初始值

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第3张图片

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第4张图片
预测值和估计值都有误差,卡尔曼滤波就是想办法综合预测值和预测值得到更优的结果。
deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第5张图片
deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第6张图片

如何实现跟踪?

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第7张图片
从当前帧 的绿框开始,来预测下一帧绿框移动的位置,即蓝框。如果预测框与真实框接近,那么他们就是同一个人。

当下一帧一个观众突然冲出来,遮挡住2号球员,那么预测值发现预测与真实的位置相差较远,那么就把真实框,设置为新的人,赋予新的id.

怎么从当前位置对下一个位置预测?

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第8张图片

估计阶段

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第9张图片
卡尔曼滤波的预测有两个部分,上面是对状态的更新。
下面是关系的更新。Q是噪音矩阵,关系中也有不可控的因素。比如今天跟女朋友好好的,明天就翻脸了,不知道为啥。

更新阶段

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第10张图片
K是卡尔曼增益,也是权重项。

追踪问题中需要考虑的状态:

状态包括:位置,速度,协方差矩阵。

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第11张图片

位置和速度

位置用 中心点坐标(cx,cy),r=h/w,h 表示。(cx,cy,r,h) 
速度包括xywh四个方向的速度。(vx,vy,vr,vh)
(cx,cy,r,h,vx,vy,vr,vh)

协方差矩阵

描述多个变量的关系,此时每个变量跟自己和其它变量的关系。

补充:

协方差

协方差是衡量两个变量共同变化程度的一个值。
1.当协方差为正,表示两个变量变化一致。当一个变量增加,另一个也会增加。
2.当协方差为负,表示两个变量变化相反,一个增,一个会减。
3.当为0时,表示两个变量没有线性关系。 

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第12张图片

协方差矩阵与相关性分析

https://zhuanlan.zhihu.com/p/434086112

匈牙利算法

用于解决匹配问题,到底匹配到谁。

完成匹配的同时最小化代价矩阵。当前帧检测到的目标该匹配到前面哪个目标。

有时候并不是最优的,而是尽可能多的分配。

小例子

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第13张图片
就是看怎么分配代价矩阵最小。

比如第一个分配第一个任务,第三个人分培第二个任务,第二个人分配第三个任务。

在目标追踪中

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第14张图片
匹配的例子:
https://www.bilibili.com/video/BV1Ws4y1d7BL/?p=8&spm_id_from=pageDriver&vd_source=ebc47f36e62b223817b8e0edff181613

如何构建代价矩阵呢?

deepsort算法 & 卡尔曼滤波 & 匈牙利算法_第15张图片
外观匹配是对框内的目标提取特征,与预测的框看是否匹配

你可能感兴趣的:(动手学深度学习(计算机视觉篇),算法,计算机视觉,人工智能)