智慧交通day02-车流量检测实现02:多目标追踪

简介: 多目标跟踪,即MOT(Multi-Object Tracking),也就是在一段视频中同时跟踪多个目标。MOT主要应用在安防监控和自动驾驶等领域中。

1.多目标跟踪分类


多目标跟踪,即MOT(Multi-Object Tracking),也就是在一段视频中同时跟踪多个目标。MOT主要应用在安防监控和自动驾驶等领域中。


2b6920ebe38b478fa78ef5cb3424def8.png

826e12ad680446d5ba92fc03eab741a3.png


1.1 初始化方法


多目标跟踪,即MOT(Multi-Object Tracking)问题中并不是所有目标都会在第一帧出现,也并不是所有目标都会出现在每一帧。那如何对出现的目标进行初始化,可以作为跟踪算法的分类表针。常见的初始化方法分为两大类,一个是Detection-Based-Tracking(DBT),一个是Detection-Free-Tracking(DFT)。下图比较形象地说明了两类算法的区别。


1901eca2ea89424ebcfe5865bfc55253.png


  • DBT


DBT的方式就是典型的tracking-by-detection模式,即先检测目标,然后将目标关联进入跟踪轨迹中。那么就存在两个问题,第一,该跟踪方式非常依赖目标检测器的性能,第二,目标检测的实质是分类和回归,即该跟踪方式只能针对特定的目标类型,如:行人、车辆、动物。DBT则是目前业界研究的主流。


  • DFT


DFT是单目标跟踪领域的常用初始化方法,即每当新目标出现时,人为告诉算法新目标的位置,这样做的好处是target free,坏处就是过程比较麻烦,存在过多的交互,所以DBT相对来说更受欢迎。


1.2 处理模式


多目标跟踪,即MOT(Multi-Object Tracking)也存在着不同的处理模式,Online和Offline两大类,其主要区别在于是否用到了后续帧的信息。下图形象解释了Online与Offline跟踪的区别。


cb76de185a084bb8928e405ff9055bb4.png


  • Online Tracking


Online Tracking是对视频帧逐帧进行处理,当前帧的跟踪仅利用过去的信息。


  • Offline Tracking


Offline Tracking利用前后视频帧的信息对当前帧进行目标跟踪,这种方式只适用于视频,如果应用于摄像头,则会有滞后效应,通常采用时间窗方式进行处理,以节省内存和加速。


2.运动模型


为了简化多目标跟踪的难度,我们引入运动模型类简化求解过程,运动模型捕捉目标的动态行为它估计目标在未来帧中的潜在位置,从而减少搜索空间。在大多数情况下,假设目标在现实中是平缓运动的,那么在图像空间也是如此。对于车辆的运动,大致可分为线性和非线性两种运动:


  • 线性运动:线性运动模型是目前最主流的模型,即假设目标的运动属性平稳(速度,加速度,位置);


  • 非线性运动:虽然线性运动模型比较常用,但由于存在它解决不了的问题,非线性运动模型随之诞生。它可以使tracklets间运动相似度计算得更加准确。


3.跟踪方法


多目标跟踪中基于神经网络的算法,端到端的算法并不多,主要还在实验室的刷榜阶段,模型复杂,速度慢,追踪结果也不好,主要给介绍以下两种主流的算法:


b95bc4024695425ebf20f9ad0e2f60a3.png


3.1 基于Kalman和KM算法的后端优化算法


该类算法能达到实时性,但依赖于检测算法效果要好,特征区分要好(输出最终结果的好坏依赖于较强的检测算法,而基于卡尔曼加匈牙利匹配的追踪算法作用在于能够输出检测目标的id,其次能保证追踪算法的实时性),这样追踪效果会好,id切换少,其代表性的算法是SORT/DeepSORT。


241d360152b84dc5beef645121aed984.png


SORT 是一种实用的多目标跟踪算法,引入了线性速度模型与卡尔曼滤波来进行位置预测,在无合适匹配检测框的情况下,使用运动模型来预测物体的位置。


匈牙利算法是一种寻找二分图的最大匹配的算法,在多目标跟踪问题中可以简单理解为寻找前后两帧的若干目标的匹配最优解的一种算法。


卡尔曼滤波可以看作是一种运动模型,用来对目标的轨迹进行预测,并且使用确信度较高的跟踪结果进行预测结果的修正。


多目标追踪一般接在目标检测后。在工业界目标检测采用比较多的是YOLO检测网络,单阶段式,速度快,精度不差,部署在NV的平台帧率可以达到30fps以上。


所以要实现目标检测代码和多目标追踪代码集成的任务,需要将两者的框架统一。即先实现目标检测网络,检测的输出结果主要是将检测框的位置信息输入到多目标追踪算法中。


3.2 基于多线程的单目标跟踪的多目标跟踪算法


这类算法特点是跟踪效果会很好,因为其为每一类物体都单独分配了一个跟踪器。但该算法对目标尺度变化要求较大,参数调试需要合理,同时该算法极耗cpu资源,实时性不高,代表算法是利用KCF进行目标跟踪。


多目标追踪本质上是多个目标同时运动的问题,所以有提出将单目标跟踪器引入到多目标追踪的问题,为每一个目标分配一个跟踪器,然后间接地使用匹配算法来修正那些跟踪失败或新出现的目标。代表性的单目标跟踪算法为核相关滤波算法(KCF),在精度和速度上能够同时达到很高的水平,是当时单目标跟踪最优秀的算法之一,后来的很多单目标跟踪算法都是基于此做的改进。


实际应用过程中会为每个目标分配一个KCF跟踪器并采用多线程的方式组织这些跟踪器。同时因为实际硬件条件的限制,不可能提供强大的计算力资源,会采用检测器与跟踪器交替进行的跟踪策略。由于检测的帧率不高,使得跟踪的维持效果出现滞后或框飘的现象较为严重,实用性不大。


总结:


1.多目标跟踪,即MOT(Multi-Object Tracking),在一段视频中同时跟踪多个目标


  • 基于初始化方法:


  • DBT:基于检测的目标跟踪方法
  • DFT:每当新目标出现时,人为告诉算法新目标的位置


  • 基于处理模型的方法:


  • 离线处理:利用前后视频帧的信息对当前帧进行目标跟踪
  • 在线处理:对视频帧逐帧进行处理,当前帧的跟踪仅利用过去的信息


  • 运动模型


线性运动(常用)和非线性运动


  • 常用算法:


  • 基于Kalman和KM算法的后端优化算法


  • 和基于多线程的单目标跟踪的多目标跟踪算法
目录
相关文章
|
并行计算
最新YOLOv8(2023年8月版本)安装配置!一条龙傻瓜式安装,遇到问题评论区提问
最近需要使用YOLOv8,百度了一下现在网上大多数教程都是比较早期的教程,很多文件已经大不相同,于是我根据官方readme文档,总结了一套安装方法,只需要按照本教程,复制每一段代码,按照教程配置好相应文件即可直接使用。
10415 2
|
6月前
|
人工智能 自动驾驶 计算机视觉
CVPR 2024 目标检测!开放词汇
YOLO-World是CVPR 2024提出的一种实时开放词汇目标检测模型,首次将YOLO的高速特性与开放词汇识别能力结合。它无需微调即可通过文本提示检测任意物体,支持零样本推理,兼具高精度与灵活性,适用于机器人、自动驾驶等实时感知场景,标志着目标检测迈向通用化新阶段。
505 0
CVPR 2024 目标检测!开放词汇
|
5月前
|
算法 5G 定位技术
UWB定位技术原理:亚米级定位的实现逻辑详解
UWB(超宽带)技术通过纳秒级窄脉冲实现亚米级高精度定位,具备抗干扰、穿透性强、低功耗等优势。其核心原理基于飞行时间(TOF)、到达时间差(TDOA)和双向测距(TWR),结合多基站协同与算法优化,广泛应用于工业、医疗等高精度场景,并与蓝牙融合形成互补方案。如果您想进一步了解定位的案例,欢迎关注、评论留言~也可搜索lbs智能定位。
|
8月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
1412 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
传感器 人工智能 算法
AI计算机视觉笔记二十七:YOLOV8实现目标追踪
本文介绍了使用YOLOv8实现人员检测与追踪的方法。通过为每个人员分配唯一ID,实现持续追踪,并可统计人数,适用于小区或办公楼出入管理。首先解释了目标检测与追踪的区别,接着详细描述了使用匈牙利算法和卡尔曼滤波实现目标关联的过程。文章提供了基于IOU实现追踪的具体步骤,包括环境搭建、模型加载及追踪逻辑实现。通过示例代码展示了如何使用YOLOv8进行实时视频处理,并实现人员追踪功能。测试结果显示,该方法在实际场景中具有较好的应用潜力。
2515 4
|
人工智能 自然语言处理 数据挖掘
从行业痛点到AI前沿:揭秘AGI时代企业培训的终极之选
近几年接触到的各类培训合作方越来越多,从国际咨询巨头、互联网科技培训平台,到本土独角兽型的专业培训公司;从专攻新技术与创新场景的培训团队,到深谙传统行业痛点的咨询顾问。作为一名在央企、国企、上市公司人力资源培训条线深耕多年的HR负责人,深知在这片竞争激烈的培训服务蓝海中,寻找高质、高效的合作伙伴并不简单,因为企业培训的逻辑正在悄然改变。
|
XML JavaScript 数据格式
什么是 DOM?
DOM,即文档对象模型,是W3C制定的访问HTML和XML文档的标准,允许程序动态访问和更新文档的内容、结构和样式。它分为核心DOM、XML DOM和HTML DOM三部分,分别针对不同类型的文档提供标准化的操作接口。
|
算法 计算机视觉
数字图像处理OpenCV——实验三 图像分割实验
实验三 图像分割实验 实验项目名称:图像分割实验 (1) 进一步理解图像的阈值分割方法和边缘检测方法的原理。 (2) 掌握图像基本全局阈值方法和最大类间方差法(otsu法)的原理并编程实现。 (3) 编程实现图像的边缘检测。 编程实现图像阈值分割(基本全局阈值方法和otsu法)和边缘检测。 图像的二值化处理图像分割中的一个主要内容,就是将图像上的点的灰度置为0或255,也就是讲整个图像呈现出明显的黑白效果。用I表示原图,R表示二值化后的图,则二值化的过程可以用以下公式表示: thr表示选取的阈值。二值化的过
771 0
数字图像处理OpenCV——实验三 图像分割实验
|
Ubuntu Linux
Ubuntu 16.04下无法安装.deb的解决方法
希望以上策略能有效协助您克服在Ubuntu 16.04中安装.deb文件时遇到的挑战。
850 0
|
机器学习/深度学习 算法 计算机视觉
多目标跟踪算法(最近邻NN)(全局最近邻GNN)(概率数据关联PDA)(联合概率数据关联JPDA)的学习
多目标跟踪算法(最近邻NN)(全局最近邻GNN)(概率数据关联PDA)(联合概率数据关联JPDA)的学习
多目标跟踪算法(最近邻NN)(全局最近邻GNN)(概率数据关联PDA)(联合概率数据关联JPDA)的学习