目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid

这篇具有很好参考价值的文章主要介绍了目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本篇文章供自己学习回顾,其中错误希望指出!
先把目标跟踪中涉及到的名词抛出来:
1、卡尔曼滤波、
2、匈牙利匹配:https://blog.csdn.net/DeepCBW/article/details/124740092
3、马氏距离、
4、欧氏距离、
5、级联匹配、
6、代价矩阵

一、6个名词的概念理解;

二、要想彻底理解Deepsort,先要把sort彻底理解;

sort过程比较简单,先搬个图:
目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid
基于上图展开对sort的理解攻势:
1、给定视频原始帧(假设第一帧就有目标框);
2、运行目标检测器进行检测,获取目标检测框,分配初始轨迹;
3、轨迹卡尔曼滤波预测
4、使用匈牙利算法将预测后的tracks和当前帧中的detecions进行匹配(IOU匹配);
5、卡尔曼滤波更新;
上述过程应该只有4这个过程承上启下,理解模糊。以下进行详细解释:
匈牙利算法 解决的是一个分配问题,在 MOT 主要步骤中的计算相似度的,得到了前后两帧的相似度矩阵。匈牙利算法就是通过求解这个相似度矩阵(iou),从而解决前后两帧真正匹配的目标。这部分 sklearn 库有对应的函数 linear_assignment 来进行求解。

SORT 算法中是通过前后两帧 IoU 来构建相似度矩阵,所以 SORT 计算速度非常快。

Detections 是通过目标检测器得到的目标框,Tracks是一段轨迹。核心是匹配的过程与卡尔曼滤波的预测和更新过程。

匈牙利的详细过程参考:https://zhuanlan.zhihu.com/p/459758723
https://zhuanlan.zhihu.com/p/90835266

三、6个部分在Deepsort中,是如何进行目标跟踪的;

目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid
DeepSORT的优化主要就是基于匈牙利算法里的这个代价矩阵。它在IOU Match之前做了一次额外的级联匹配,利用了reid外观特征马氏距离
级联匹配的具体过程如下图:
目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid
由上图可以看到,Cost Matrix 代价矩阵 是由以下两部分组成:
1、马氏距离 Mahalanobis Distance和余弦距离 Cosine Distance计算相似度矩阵,得到代价矩阵
2、门控矩阵,用于限制代价矩阵中过大的值。
接下来详细讲解由相似度矩阵和门控矩阵怎样计算出来代价矩阵:
(1) 马氏距离
看追踪和检测的Bbox的状态向量的前四维度 cx,cy,r,h的接近程度。通常来说上下帧之间移动距离不会相差太远,所以坐标越接近就越可能是同一个目标。
如何衡量两者之间的距离呢,第一反应可能就是欧式距离了。
但是,cx,cy,h是像素级的数值,而 r 宽高比 是一个比例,可能是零点几的数值,所以四者之间数量级不一样有差距,而且他们之间也不是相互独立的,存在相关性(比如r和h)。直接用欧氏距离进行计算的话不合适。
DeepSORT采取马氏距离来计算,用马氏距离就需要提供cx,cy,r,h的协方差矩阵(在卡尔曼滤波中,卡尔曼滤波的测量方程,测量空间的协方差矩阵,卡尔曼更新过程中把协方差矩阵提供给数据关联),所以,协方差是干嘛的?就是用来求取马氏距离的;协方差代表什么?表示目标位置信息的不确定性,由8x8的对角矩阵表示,矩阵中数字越大则表明不确定性越大,可以以任意值初始化。马氏距离通过计算检测位置和平均追踪位置之间的标准差将状态测量的不确定性进行了考虑。
马氏距离相似度度量计算公式:
目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid
(2) 余弦距离
目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid
(3)代价矩阵
目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid
但注意也不是完全没用了,主要是通过阈值矩阵(Gate Matrix)对代价矩阵(Cost Matrix)做了一次阈值限制。

接下来就是数据关联,由上面的代价矩阵进行匈牙利匹配。

匈牙利匹配的详细过程码完代码再回来总结,解决为什么是三部分。

参考:
https://zhuanlan.zhihu.com/p/133678626
https://zhuanlan.zhihu.com/p/97449724
https://blog.csdn.net/libo1004/article/details/115261950
https://blog.csdn.net/weixin_41761357/article/details/107375761文章来源地址https://www.toymoban.com/news/detail-447592.html

到了这里,关于目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【状态估计】基于卡尔曼滤波器和扩展卡尔曼滤波器用于 INS/GNSS 导航、目标跟踪和地形参考导航研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果  2.1 算例1 ​ 2.2 算例2  2.3 算例3 🎉3 参

    2024年02月11日
    浏览(52)
  • 基于EKF扩展卡尔曼滤波的传感器网络目标跟踪matlab仿真

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 MATLAB2022a         随着传感器网络技术的不断发展,目标跟踪作为其核心应用之一,在军事、民用等领域中得到了广泛的关注。扩展卡尔曼滤波(EKF)作为一种有效的非线性滤

    2024年02月22日
    浏览(77)
  • 基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪

    完整代码和数据下载链接:基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88738577 卡尔曼滤波原理 RBF的定义 RBF理论 易错及常见问题 RBF应用实例,基于rbf的空调功率预测 代码 结果分析

    2024年02月02日
    浏览(49)
  • 【MATLAB源码-第106期】基于matlab的SAR雷达系统仿真,实现雷达目标跟踪功能,使用卡尔曼滤波算法。

    1. 雷达系统参数设定:    - 工作频率:选择一个适合的工作频率,例如X波段(8-12 GHz)。    - 脉冲重复频率(PRF):设定一个适当的PRF,确保雷达覆盖所需的范围。    - 天线增益和波束宽度:根据目标探测的需求确定天线的增益和波束宽度。 2. 目标和环境模拟:

    2024年01月16日
    浏览(58)
  • 线性卡尔曼跟踪融合滤波算法(Matlab仿真)

            卡尔曼滤波的原理和理论在CSDN已有很多文章,这里不再赘述,仅分享个人的理解和Matlab仿真代码。         假设目标的状态为X =  [x, y, vx, vy],符合匀速直线运动目标,也即                  其中F为状态转移矩阵,                  在匀速直线(const velo

    2024年01月17日
    浏览(43)
  • 使用 TensorRT、卡尔曼滤波器和 SORT 算法进行实时对象检测和跟踪:第 2 部分将模型转换为 TensorRT 并进行推理

    在本博客文章系列的第 1 部分中,我们展示了如何使用 mmdetection 框架训练对象检测模型并在 BDD100K 数据集上对其进行微调。在第 2 部分中,我们将介绍将模型转换为 TensorRT 并在 Nvidia GPU 上执行推理的过程。 在本博客文章系列的第 2 部分中,我们将讨论以下主题: 将模型转换

    2024年02月15日
    浏览(49)
  • 卡尔曼滤波简介 —— 一维卡尔曼滤波

            在本章中,我们将在一个维度上推导出卡尔曼滤波。本章的主要目标是简单直观地解释卡尔曼滤波的概念,而不使用可能看起来复杂和令人困惑的数学工具。         我们将逐步推进卡尔曼滤波方程。         在本章中,我们推导出没有过程噪声的卡尔曼

    2024年02月09日
    浏览(42)
  • 【状态估计】卡尔曼滤波器、扩展卡尔曼滤波器、双卡尔曼滤波器和平方根卡尔曼滤波器研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 本文包括

    2024年02月08日
    浏览(48)
  • 卡尔曼滤波(KF)和扩展卡尔曼滤波(EKF)相应推导

    从上个世纪卡尔曼滤波理论被提出,卡尔曼滤波在控制论与信息论的连接上做出了卓越的贡献。为了得出准确的下一时刻状态真值,我们常常使用卡尔曼滤波、扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波等等方法,这些方法在姿态解算、轨迹规划等方面有着很多用途。卡尔

    2024年02月03日
    浏览(66)
  • 卡尔曼滤波理论小释之卡尔曼增益

    卡尔曼增益是卡尔曼滤波理论中的一个核心概念。一般教材里面是这么给出它的公式的: 图1  卡尔曼增益 直觉上容易理解,所谓的增益是指每次融合数据后不确定性的变化程度。如果融合了新的数据后不确定性降低了,那么这个增益就是正面的,有助于提高预测的准确度。

    2024年02月05日
    浏览(85)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包