多目标追踪概述

1. 目标跟踪分类

  1. 单目标跟踪:在视频的初始帧画面上框出单个目标,预测后续帧中该目标的大小与位置
  2. 多目标跟踪:追踪多个目标的大小和位置,且每一帧中目标的数量和位置都可能变化

2. 多目标跟踪目前的主要问题

  1. 形态变化:姿态变化是目标跟踪中常见的干扰问题。运动目标发生姿态变化时, 会导致它的特征以及外观模型发生改变, 容易导致跟踪失败。

  2. 尺度变化:尺度的自适应也是目标跟踪中的关键问题。当目标尺度缩小时, 由于跟踪框不能自适应跟踪, 会将很多背景信息包含在内, 导致目标模型的更新错误:当目标尺度增大时, 由于跟踪框不能将目标完全包括在内, 跟踪框内目标信息不全, 也会导致目标模型的更新错误。因此, 实现尺度自适应跟踪是十分必要的。

  3. 遮挡与消失:目标在运动过程中可能出现被遮挡或者短暂的消失情况。当这种情况发生时, 跟踪框容易将遮挡物以及背景信息包含在跟踪框内, 会导致后续帧中的跟踪目标漂移到遮挡物上面。若目标被完全遮挡时, 由于找不到目标的对应模型, 会导致跟踪失败。

  4. 图像模糊:照强度变化, 目标快速运动, 低分辨率等情况会导致图像模型, 尤其是在运动目标与背景相似的情况下更为明显。因此, 选择有效的特征对目标和背景进行区分非常必要。

3. 多目标跟踪概述

多目标追踪算法主要解决的问题是对视频中每一帧画面里我们标定或者想要追踪的目标进行检测并获取在图像中的位置,对每个目标分配一个id,在目标运动过程中,维持每个目标的 id保持不变。在多目标追踪问题中,目标追踪算法需要对视频中每帧图像里的所有目标进行检测,将检测到的新目标与已经分配轨迹的目标进行匹配,如果匹配成功,将归类于已有轨迹的目标中,对没有匹配成功的目标,将其归类为新出现的目标,需要分配一个新的id,对于离开视频区域的目标,将不再对其进行轨迹追踪,并在已有轨迹的集合中将其删除。

4. 多目标跟踪方法分类

目前,多目标追踪算法根据追踪开始时是否需要人工提取特征分为两类:人工手动标记第一帧的方式(Model Free Tracking, MFT)基于目标检测的方式 ( Tracking By Detection TBD)
  MFT的跟踪模式仅能跟踪已标记目标,而TBD的跟踪模式可以自动发现新的目标,移除已消失的目标,更适应如今多目标跟踪算法的应用场景。

在这里插入图片描述

5. 行人多目标跟踪方法研究进展

5.1 基于目标检测的多目标跟踪

基于目标检测的多目标跟踪可以分为在线跟踪(Online)与离线跟踪(Offline)。
因为行人跟踪一般都是基于实时监控的多目标跟踪,因此在线多目标跟踪算法更受学者们的关注。

5.1.1 在线多目标跟踪

  • 在线多目标跟踪:是一种逐帧渐进的跟踪方式,与人眼实时跟踪目标过程类似,首先要对每个运动目标进行识别确认(目标检测),然后对其下一步的行动进行预测(轨迹预测),最终根据目标的运动方向(运动模型)、外观形体(外观模型)等特征与之前的轨迹进行关联(数据关联匹配)。

  • SORT
      SORT算法使用 Faster-RCNN 在视频序列中进行目标检测,获取目标,使用卡尔曼滤波(Kalman Filter)预测下一帧中目标的可能出现的位置信息,并采用的匈牙利算法(Hungarian method)求解每个检测到的新目标的边框与已有轨迹中的目标的所有预测边界框之间计算IOU的成本矩阵, 实现数据关联。该算法复杂度低,框架结构简单,运行速度快,虽然数据关联方面模型较为简单,易受遮挡,但为后续许优秀算法的提出做了铺垫。

  • DeepSORT
      DeepSORT算法SORT 的基础上增加了级联匹配算法(Matching Cascade)表示运动信息的马氏距离和代表外观模型的Re-id 特征,一定程度上减少了目标 ID 的变化,实现了性能的提升,具有实际应用意义。相对 SORT 算法而言,DeepSORT 算法在 MOT16数据集私人检测器的性能表现上,MOTA 值提升幅度不大, 但 ID switch 频率降低了 45%,速度接近实时要求(20 FPS)。

5.1.2 离线多目标跟踪

离线多目标跟踪:输入是一段完整的视频,并已获得了目标检测结果。与在线多目标跟踪算法逐帧渐进方式不同的是,离线多目标跟踪可获取全局信息后再进行匹配关联。

  • POI 算法
      POI 算法是一种离线多目标跟踪算法,结合了目标检测和基于深度学习的外观特征。基本思路 :在每一帧的输入上,用检测算法检测行人的位置,然后利用行人检测框的外观特征进行前后帧行人框的匹配,从而实现对行人的跟踪。

  • IOU 算法
      IOU 算法是一种离线多目标追踪算法。该算法指出,随着目标检测算法精度的不断提高,当检测精度与视频帧率较高时,可以结合简单的目标检测算法与 IOU,再通过设定阈值来判断前景与背景即可完成目标跟踪任务。即在高帧率(25 FPS)、高精度的目标检测算法情况下,结合检测与时间步长间的空间重叠完成跟踪。该算法优缺点明显,但由于未引入任何帧间信息、运动模型、外观模型,漏检和错检问题难以解决,若出现频繁遮挡、目标形变的情况,会导致 ID频繁切换,且极其依赖目标检测算法的性能。

  • LMP算法
      LMP算法的提出虽距今已有一段时间,但在 MOT16数据集上表现仍出色。该算法主要针对遮挡影响及行人重识别展开。LMP 算法提出一种新结构,结合深度网络中提取的整体表示特征和从最先进的姿态估计模型中抽取的身体姿态进行判断,从而提高准确率。主要创新点在于 :数据关联方面,LMP 算法是在最小代价多分割问题(MP)基础上改进的,将数据的关联匹配看作一种基于图的分解、聚类问题。通过设置一个基于边的目标函数来选择能最大化相同目标和不同目标概率的分量对,从而完成行人重识别的任务并改善遮挡影响,有效降低 IDs。经实验验证,LMP 算法在 2016 数据集私人检测器上性能名列前茅,MOTA 可达 71.0。

5.2 基于人工手动标记第一帧的方式的多目标跟踪

  1. 光流法:对目标对象提取特征后,在下一帧图像中通过计算该目标特征的光流匹配点,统计分析后得到目标对象的位置。
    光流法用于目标跟踪的原理:
  • (1)对一个连续的视频帧序列进行处理;
  • (2)针对每一个视频序列,利用一定的目标检测方法,检测可能出现的前景目标;
  • (3)如果某一帧出现了前景目标,找到其具有代表性的关键特征点(可以随机产生,也可以利用角点来做特征点);
  • (4)对之后的任意两个相邻视频帧而言,寻找上一帧中出现的关键特征点在当前帧中的最佳位置,从而得到前景目标在当前帧中的位置坐标;
  • (5)如此迭代进行,便可实现目标的跟踪
  1. 粒子滤波算法:粒子滤波(Particle Filter)方法是一种基于粒子分布统计的方法,以跟踪为例,首先对跟踪目标进行建模,并定义一种相似度度量确定粒子与目标的匹配程度。在目标搜索的过程中,它会按照一定的分布(比如均匀分布或高斯分布)撒一些粒子,统计这些粒子的相似度,确定目标可能的位置。在这些位置上,下一帧加入更多新的粒子,确保在更大概率上跟踪上目标。

  2. Meanshift 方法:Meanshift 方法是一种基于概率密度分布的跟踪方法,使目标的搜索一直沿着概率梯度上升的方向,迭代收敛到概率密度分布的局部峰值上。首先 Meanshift 会对目标进行建模,比如利用目标的颜色分布来描述目标,然后计算目标在下一帧图像上的概率分布,从而迭代得到局部最密集的区域。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/703412.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做了个很牛的网站,可以搜索网站的网站到底有多好用?

今天给大家推荐的网站叫做:毒蘑菇 - 搜索 毒蘑菇搜索,顾名思义呢,搜索的功能比较好用,大家上网的时候总是需要记住网站的地址,即使你知道网站的名称,也得跳转到百度然后在搜索,有时候百度上那么…

天哪!还有这些逆天的fofa​语句?(二)

接上文 天哪!还有这些逆天的fofa语句? 再分享几条,个人觉得比较有意思的fofa语句。 情侣飞行器 之前写过文章的,有兴趣的师傅可以试着翻翻以前的文章去破解密码 fofa语句:"static/js/index.d2dcdf5b.js"…

sql-labs第46关(order by盲注脚本)

一、环境 网上有自己找 二、解释 order by 注入我们看他的true和false来进行注入出来 二、实操 让我们用sort 看看源码 最终我们的id是放到order by后面了 如果我们直接用列去排序 ?sortusername/password username: password: 可以看到顺序是不…

一个39岁程序员的自白,大龄程序员的出路在哪里?

一个39岁程序员的自白,大龄程序员的出路在哪里? 大龄程序员,最悲惨的,可能是但凡你发个贴,下面就会有类似这种人来怼你 本文来自知乎一个大龄程序员老哥(白圣君)的自白,涤生哥已经经…

JAVA集合进阶(Set、Map集合)

一、Set系列集合 1.1 认识Set集合的特点 Set集合是属于Collection体系下的另一个分支&#xff0c;它的特点如下图所示 下面我们用代码简单演示一下&#xff0c;每一种Set集合的特点。 //Set<Integer> set new HashSet<>(); //无序、无索引、不重复 //Set<…

【架构】GPU架构总结

文章目录 GPU架构GPU渲染内存架构Streaming Multiprocessor(SM)CUDA CoreTensor CoreRT CoreCPU-GPU异构系统GPU资源管理模型 GPU架构演进G80 架构Fermi 架构Maxwell架构Tesla架构Pascal架构Volta 架构Turing架构Ampere 架构Hopper架构 参考文献 GPU架构 主要组成包括&#xf…

外汇天眼:掌握这个方法,你也能成为交易高手!

在金融市场这个大潮中&#xff0c;外汇交易因其高杠杆、24小时交易等特点吸引着无数交易者。然而成功的交易并非易事&#xff0c;对于投资者来说&#xff0c;外汇交易市场是一个复杂且多变的市场&#xff0c;要在外汇市场中获得成功就需要扎实的外汇金融基础知识和独特的策略&a…

压力测试工具Jmeter的下载与使用

1、进入官网下载Jmeter https://jmeter.apache.org/ 国内镜像&#xff08;下载的慢的话可以用国内镜像下载&#xff09; https://mirrors.cloud.tencent.com/apache/jmeter/binaries/ 2、跳转到下载页面 3、根据不同系统下载相应版本的Jmeter压缩包&#xff0c;Linux系统下载…

医院LIS(全称Laboratory Information Management System)系统源码

目录 一、医院LIS系统概况 二、医院LIS系统建设必要性 三、为什么要使用LIS系统 四、技术框架 &#xff08;1&#xff09;总体框架 &#xff08;2&#xff09;技术细节 &#xff08;3&#xff09;LIS主要功能模块 五、LIS系统优势 &#xff08;1&#xff09;客户/用户…

LeetCode_Java_环形链表(题目+思路+代码)

141.环形链表 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使用整数 pos 来表示链表尾连接到链表中的位…

49.仿简道云公式函数实战-文本函数-Ip

1. Ip函数 获取当前用户的ip地址 注意是Ipv4的地址 2. 函数用法 IP() 3. 函数示例 获取当前用户的ip地址IP() 4. 代码实战 首先我们在function包下创建text包&#xff0c;在text包下创建IpFunction类&#xff0c;代码如下&#xff1a; package com.ql.util.express.sel…

如何使用Lychee+cpolar搭建本地私人图床并实现远程访问存储图片

文章目录 1.前言2. Lychee网站搭建2.1. Lychee下载和安装2.2 Lychee网页测试2.3 cpolar的安装和注册 3.本地网页发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 图床作为图片集中存放的服务网站&#xff0c;可以看做是云存储的一部分&#xff0c;既可…

EAP-TLS实验之Ubuntu20.04环境搭建配置(FreeRADIUS3.0)(二)

上篇文章简要介绍了freeradius的搭建及配置&#xff0c;在最后数据库连接阶段还没进行测试验证&#xff0c;今天继续。 修改相关文件 1 radiusd.conf 打开762行注释&#xff08;&#xff04;INCLUDE mods-enabled/sql&#xff09;&#xff1b; 2 sites-available/default …

【大数据】Flink SQL 语法篇(四):Group 聚合、Over 聚合

Flink SQL 语法篇&#xff08;四&#xff09;&#xff1a;Group 聚合、Over 聚合 1.Group 聚合1.1 基础概念1.2 窗口聚合和 Group 聚合1.3 SQL 语义1.4 Group 聚合支持 Grouping sets、Rollup、Cube 2.Over 聚合2.1 时间区间聚合2.2 行数聚合 1.Group 聚合 1.1 基础概念 Grou…

DevOps 周期的 6 个 C

中型到大型软件开发项目涉及许多人员、多个团队、资源、工具和开发阶段。它们都需要以某种方式进行管理和简化&#xff0c;不仅可以获得所需的产品&#xff0c;而且还要确保将来在不断变化的环境下易于管理和维护。组织通常遵循许多项目管理模型和技术。DevOps 是其中之一&…

家用超声波清洗机哪个好?四款高评分超声波清洗机分享

超声波清洗机可以说是眼镜党家中必备的一款超声波清洗机&#xff0c;毕竟它能高效的帮我们解决清洗眼镜的烦恼&#xff0c;也可以帮我们清洗家中其他的一些物品。很多朋友因为各种原因没有时间清洗眼镜以及家中的小物件物品&#xff0c;长时间下来一次物品或者是眼镜上就会堆积…

卷积神经网络 CNN

目录 卷积网络与传统网络的区别 参数共享 卷积神经网络整体架构 卷积操作的作用 卷积核的定义 卷积特征值计算方法 卷积层涉及的参数 边缘填充 ​编辑 卷积结果计算 池化层 整体网格架构 VGG网络架构 残差网络Resnet 卷积网络与传统网络的区别 卷积神经网络&#x…

50.仿简道云公式函数实战-文本函数-ISEMPTY

1. ISEMPTY函数 判断值是否为空字符串、空对象或者空数组。 支持使用 ISEMPTY 函数的字段有&#xff1a;单行文本、多行文本、数字、日期时间、单选按钮组、复选框组、下拉框、下拉复选框、地址、定位、成员字段、部门字段、微信昵称、微信 OpenID、扩展字段。 2. 函数用法 …

API保障——电子商务安全性与稳定性设计

在这次深入探讨中&#xff0c;我们将深入了解API设计&#xff0c;从基础知识开始&#xff0c;逐步进阶到定义出色API的最佳实践。 作为开发者&#xff0c;你可能对许多这些概念很熟悉&#xff0c;但我将提供详细的解释&#xff0c;以加深你的理解。 ​ API设计&#xff1a;电…

Android Jni的介绍和简单Demo实现

Android Jni的介绍和简单Demo实现 文章目录 Android Jni的介绍和简单Demo实现一、JNI的简单介绍JNINDKJni的开发背景&#xff1a;**JNI在 Android 开发里的主要应用场景&#xff1a;** 二、JNI的简单Demo1、Demo主要界面和效果展示2、CMake编译加载文件add_library 指令的加载库…