【计算机视觉+Tensorflow】SORT目标跟踪算法的讲解(图文解释 超详细)

觉得有帮助请点赞关注收藏~~~

一、目标跟踪简介


目标跟踪算法可以进行轨迹特征的分析和提取,以弥补目标检测的不足;有效地去除误检,提高检测精度,为进一步的行为分析提供基础。例如,在自动驾驶系统中,目标跟踪算法要对运动的车、行人等目标进行跟踪,根据运动轨迹对它们在未来的位置、速度等信息作出预判。

跟踪就是在视频的不同帧中定位某一目标,从算法的设计角度来说分为两个阶段

1:预测第S帧图像中目标A 目标B 在第S+N帧图像中可能出现的位置 即候选区域

2:第S+N帧的候选区域是否为第S帧图像中目标A 目标B 如果是则跟踪成功

二、SORT目标跟踪算法

对于多目标的SORT算法,目标跟踪算法是将各帧的目标检测结果分别赋予跟踪序号的过程,在不同视频帧出现的同一目标需要赋予相同的跟踪序号,算法流程图如下

下面对算法流程中介绍的卡尔曼滤波器和匈牙利算法进行详细介绍

1:卡尔曼滤波器

卡尔曼滤波器不需要存储大量的历史数据,只需要保留系统前一时刻的状态,根据系统的状态空间向量模型准确预测当前状态,该算法计算量小,在速度上占有优势,而且是一个纯时域的滤波器,占用内存小,在实际工程上应用广泛,是解决实时性问题的理想选择

卡尔曼滤波器流程分为两个步骤:状态预测和状态更新。卡尔曼滤波器首先要计算系统状态的先验估计,利用前一时刻系统的状态估计值,计算当前时刻系统状态和误差协方差的预测值,当前时刻的观测值进入系统后,融入新的观测值和先验估计构造后验估计,对模型进行更新,从而更加准确地预测系统下一时刻状态估计

在大多数情况下,同一个目标的运动状态在较短时间可以近似为匀速直线运动,采用线性的卡尔曼滤波器依据中心坐标、尺寸大小比例以及对下一帧的预测信息等为每个目标建立运动模型,进而对下一帧目标的位置进行估计来加快目标跟踪的计算速度 

三、基于匈牙利算法的数据关联

匈牙利算法是一种组合优化算法,用于求解指派问题,例如把N项任务分配给N个人时,列出所有组合情况的总薪酬开销可求最小值,但是当任务数和人数变大时,难以列出所有的分配情况,可利用匈牙利算法进行任务分配,实现最合理的资源配置

目标跟踪的主要任务之一就是将视频中不同帧的目标进行匹配,如下图所示,卡尔曼滤波器预测得到目标跟踪框之后,计算出目标跟踪框和目标检测框之间的相交度,即上一帧预测得到的跟踪框与当前帧中的检测框之间的交集面积与并集面积的比值,利用匈牙利匹配算法对检测框与预测框的相交度组成的状态关联矩阵进行指派,实现目标检测结果与跟踪序列之间的匹配

匈牙利算法步骤如下

1:给定N个目标检测框分配N个目标跟踪框,可以用一个N×N的开销矩阵来表示这一指派问题

2:对开销矩阵的各行进行操作 找出每一行中值最小的元素,然后把该行所有元素都减去这一最小值

3:对开销矩阵的各列进行操作,找出每一列中值最小的元素,然后把该列所有元素都减去这一最小值

4:用尽量少的横线或者竖线覆盖矩阵中的所有0

5:从第4步中未被覆盖的元素中找到最小值,然后把所有元素都减去这一最小值 给直线交叉点的元素加上这一最小值,被覆盖元素的最小值实际上是完成所有任务过程中不可避免的开销,这一步的作用是增加开销矩阵中0的个数,使得任务更易分配

6:重复第三步和第四步 直到所有任务都被分配 

创作不易 觉得有帮助请点赞关注收藏~~~


 

  • 16
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Yolov7 deepsort是一个基于深度学习的目标跟踪算法,结合了YOLOv7目标检测和DeepSORT目标跟踪两个模型的优势。YOLOv7可以实时地检测图像或视频中的目标,并返回它们的位置和类别,而DeepSORT则可以跟踪这些目标并为它们分配一个唯一的ID号码,以确保它们在整个过程中都被正确地识别和跟踪。 Yolov7 deepsort的主要优点是它可以快速而准确地检测和跟踪多个目标,即使目标在图像中移动或遮挡也可以进行可靠的跟踪。这种算法在视频监控、自动驾驶和机器人等领域有广泛的应用。 ### 回答2: Yolov7 deepsort是一种先进的目标跟踪算法,结合了Yolov7物体检测和DeepSORT目标跟踪的方法。Yolov7是一种基于深度学习的实时目标检测算法,能够迅速准确地识别图像或视频中的多个目标。 与传统的目标跟踪算法相比,Yolov7 deepsort具有许多优势。首先,它不仅可以实现高效的实时目标检测,还能对这些目标进行跟踪并提供目标的ID信息。其次,通过利用深度学习的特征提取技术,Yolov7 deepsort能够更好地对目标进行分类和区分。同时,DeepSORT算法能够通过建立目标轨迹模型和使用卡尔曼滤波器来实现对目标的更加准确的跟踪。 Yolov7 deepsort的工作流程如下:首先,Yolov7用于进行实时目标检测,它会输出检测到的目标的类别和位置信息。然后,DeepSORT算法根据这些目标进行目标跟踪,每个目标都会被分配一个唯一的ID。该算法会根据目标的位置、速度和加速度等信息进行目标的预测和更新,从而实现对目标的连续跟踪。 Yolov7 deepsort在很多实际应用中都取得了很好的效果。例如,在交通监控领域,它可以实时准确地跟踪多个交通工具,提供交通流量统计和违规车辆检测等功能。在智能安防领域,它可以用于实时监测危险区域,并实现对可疑人员或物体的快速跟踪。 总而言之,Yolov7 deepsort是一种强大的目标跟踪算法,能够实时准确地识别和跟踪多个目标,在多个应用领域具有广泛的应用前景。 ### 回答3: Yolov7 DeepSort是一种目标跟踪算法,它结合了Yolov7目标检测和DeepSort目标跟踪两个部分。Yolov7是一种基于深度学习的目标检测算法,能够准确地检测出图像中的目标物体,并给出其位置和类别信息。DeepSort是一种多目标跟踪算法,能够在视频序列中追踪多个目标物体,并为每个目标物体分配唯一的标识符。Yolov7 DeepSort综合了这两个算法的优点,可以实现实时的目标检测和跟踪任务。 Yolov7 DeepSort的工作流程如下:首先,Yolov7用于对输入的图像帧进行目标检测,识别出图像中的多个目标物体以及它们的位置。其次,DeepSort使用卡尔曼滤波器和匈牙利算法来对目标进行跟踪,从而建立目标的轨迹。DeepSort使用外观特征和运动信息来进行目标的匹配,可以较好地应对目标的遮挡、形变和运动模式的变化。最后,Yolov7 DeepSort输出带有目标位置和唯一标识符的跟踪结果,维持物体的标识符跨越视频帧,实现目标的稳定跟踪。 Yolov7 DeepSort在实时目标跟踪领域具有广泛的应用,例如视频监控、自动驾驶和行人追踪等。由于其高效和准确的性能,它能够实时处理复杂的场景,跟踪多个目标物体,并且能够处理目标的形变和遮挡等困难情况。通过结合目标检测和跟踪能力,Yolov7 DeepSort提供了一种较好的解决方案,可以满足实时目标跟踪任务的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

showswoller

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值