YOLOv9 实现多目标跟踪

YOLOv9项目结合了YOLOv9的快速目标检测能力和DeepSORT的稳定跟踪能力,实现了对视频流中多个对象的实时、准确检测和跟踪。在具体应用中,该项目能够对视频中的行人、车辆或其他物体进行实时定位、识别和持续跟踪,即使在复杂环境、对象互相遮挡或出现短暂消失的情况下也能保持较好的跟踪性能。这样的技术在智能监控、自动驾驶、无人机导航、体育赛事分析等多个领域都有着广泛的应用潜力。

安装:

1.克隆此存储库:

cd YOLOv9_DeepSORT

2.创造新环境 使用conda

conda env create -f conda.yml conda activate yolov9-deepsort

使用点

python3 -m virtualenv -p python3.11 yolov9-deepsort source yolov9-deepsort/bin/activate pip install -r requirements.txt

3.克隆 YOLOv9 存储库:

pip install -r requirements.txt mv ../object_tracking.py ../yolov9

4.下载模型重量

mkdir weights

用法

  1. 准备视频文件:

    • 将视频文件放置在所需位置。
    • 更新video视频文件路径中的标志或将其设置为0使用网络摄像头作为输入。
  2. 下载YOLOv9模型:

    • 确保对应的模型权重可用。
  3. 配置输出视频:

    • 更新output代码中的标志以指定输出视频文件的路径和文件名。
  4. 设置置信度阈值:

    • 调整conf代码中的标志以设置对象检测的置信度阈值。置信度低于此阈值的对象将被过滤掉。
  5. 如果您想检测并跟踪视频中的某些对象

    • 修改class_id代码中的flag,指定检测的类ID。该标志的默认值设置为 None。如果您只想检测和跟踪人员,请将其设置为 0,或参考 coco.names 文件了解其他选项。
  6. 如果您想在跟踪时模糊某些对象

    • 修改bulr_id代码中的flag,指定检测的类ID。该标志的默认值设置为 None。
  7. 运行代码:

    用法

  8. 准备视频文件:

    • 将视频文件放置在所需位置。
    • 更新video视频文件路径中的标志或将其设置为0使用网络摄像头作为输入。
  9. 下载YOLOv9模型:

    • 确保对应的模型权重可用。​ (YOLOv9-S/YOLOv9-M/ YOLOv9-C / YOLOv9-E ) ​
  10. 配置输出视频:

    • 更新output代码中的标志以指定输出视频文件的路径和文件名。
  11. 设置置信度阈值:

    • 调整conf代码中的标志以设置对象检测的置信度阈值。置信度低于此阈值的对象将被过滤掉。
  12. 如果您想检测并跟踪视频中的某些对象

    • 修改class_id代码中的flag,指定检测的类ID。该标志的默认值设置为 None。如果您只想检测和跟踪人员,请将其设置为 0,或参考 coco.names 文件了解其他选项。
  13. 如果您想在跟踪时模糊某些对象

    • 修改bulr_id代码中的flag,指定检测的类ID。该标志的默认值设置为 None。
  14. 运行代码:

# Run object tracking
python object_tracking.py --video ./data/test.mp4 --output ./output/output.mp4# Run object tracking on webcam (set video flag to 0)
python object_tracking.py --video 0 --output ./output/webcam.mp4# Run person tracking (set class_id flag to 0 for person)
python object_tracking.py --video ./data/test.mp4 --output ./output/output.mp4 --class_id 0

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

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

相关文章

上海市青少年算法2024年3月月赛(丙组)试题解析

T1 最近的数字 内存限制: 256 Mb 时间限制: 1000 ms 题目描述 给定两个正整数 n 与 d ,请找到所有最接近 n 且是 d 的倍数的整数。 输入格式 第一行:单个整数表示 n 第二行:单个整数表示 d 输出格式 若干行:每行一个整数,表示满足要求的答案,若有多个数字满足要求,则…

QT布局管理和空间提升为和空间间隔

QHBoxLayout:按照水平方向从左到右布局; QVBoxLayout:按照竖直方向从上到下布局; QGridLayout:在一个网格中进行布局,类似于HTML的table; 基本布局管理类包括:QBoxLayout、QGridL…

python面试题(36~50)

36、如何取一个整数的绝对值? 这可以通过abs函数来实现。 abs(2) #> 2 abs(-2) #> 2 37、如何将两个列表组合成一个元组列表? 可以使用zip函数将列表组合成一个元组列表。这不仅仅限于使用两个列表。也适合3个或更多列表的情况。 a [a,b,c] b [1,2,3] [(k,v) fo…

已解决:guava报错,由jar包冲突引起

maven项目中引用了最新版的谷歌guava包 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>33.1.0-jre</version> </dependency> 编译没问题,然后运行时报错 java.lang.NoSuchMetho…

6.RGB转YCbcr

1.方法 RGB转灰度有很多种方式   1.将RGB中任意分量拿出来当做灰度值。   2.取RGB三通道的均值来当灰度值。   3.将RGB转YUV(YCbCr)然后取Y分量作为灰度值。   其余的几种实现方式较为简单&#xff0c;这里不做介绍。重点实现RGB转YCbCr。 1.1 YUV(YCbCr)格式 Y表示亮…

【鸿蒙HarmonyOS开发笔记】使用媒体查询(mediaquery)实现不同设备响应式布局

概述 媒体查询作为响应式设计的核心&#xff0c;在移动设备上应用十分广泛。媒体查询可根据不同设备类型或同设备不同状态修改应用的样式。媒体查询常用于下面两种场景&#xff1a; 针对设备和应用的属性信息&#xff08;比如显示区域、深浅色、分辨率&#xff09;&#xff0…

单片机之串口通信

目录 串口介绍 通信的基本概念 并行通信和串行通信 同步通信和异步通信 串行异步通信方式 串行同步通信方式 通信协议 单片机常见通信接口 串行通信三种模式 串口参数 传输速度 ​串口的连接 电平标准 串行口的组成 串口数据缓冲寄存器 串行口控制寄存器 串口…

MTK8781安卓核心板_MT8781(Helio G99)核心板性能参数

MT8781安卓核心板搭载了八核CPU&#xff0c;其中包括两个主频高达2.2GHz的高性能Arm Cortex-A76处理器。这一处理器采用了台积电6纳米级芯片生产工艺&#xff0c;以及先进的3D图形功能的高性能Arm Mali G57级GPU。通过超快LPDDR4X内存和UFS 2.2存储供电&#xff0c;不仅提高了游…

【设计模式】中介者模式的应用

文章目录 1.概述2.中介者模式的适用场景2.1.用户界面事件2.2.分布式架构多模块通信 3.总结 1.概述 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为型设计模式&#xff0c;它用于解决对象间复杂、过度耦合的问题。当多个对象&#xff08;一般是两个以上的对象&…

vue跨域iframe自适应高度

前言 项目使用iframe引入百度页面&#xff0c;要做iframe自适应宽高。 开始 如果可以约定好&#xff0c;用postmessage传过来页面高度&#xff0c;那就可以直接设置了。 如果未约定传送页面高度&#xff0c;可以自行获取。 本例中&#xff1a; 1、由于跨域iframe加载较慢&am…

el-tree 树形控件

<el-tree :indent"5" // 相邻级节点间的水平缩进&#xff0c;单位为像素:props"defaultProps" ref"tree" :data"leftList":default-expanded-keys"defaultExpandedArr" // 设置默认展开指定节点 存储默认选中节点对应的…

|行业洞察·汽车|《2024新能源汽车行业及营销趋势报告-20页》

报告的主要内容解读&#xff1a; 新能源汽车行业概述及品牌分布&#xff1a; 近年来&#xff0c;中国新能源汽车销量增速高&#xff0c;市场占有率快速提升&#xff0c;成为汽车行业的重要增量。新能源汽车消费者趋向年轻化、女性化和高端化&#xff0c;对高科技、新体验有较高…

Android Studio控制台输出中文乱码问题

控制台乱码现象 安卓在调试阶段&#xff0c;需要查看app运行时的输出信息、出错提示信息。 乱码&#xff0c;会极大的阻碍开发者前进的信心&#xff0c;不能及时的根据提示信息定位问题&#xff0c;因此我们需要查看没有乱码的打印信息。 解决步骤&#xff1a; step1: 找到st…

STM32看似无法唤醒的一种异常现象分析

1. 引言 STM32 G0 系列产品具有丰富的外设和强大的处理性能以及良好的低功耗特性&#xff0c;被广泛用于各类工业产品中&#xff0c;包括一些需要低功耗需求的应用。 2. 问题描述 用户使用 STM32G0B1 作为汽车多媒体音响控制器的控制芯片&#xff0c;用来作为收音机频道存贮…

【漏洞复现】chatgpt pictureproxy.php SSRF漏洞(CVE-2024-27564)

0x01 漏洞概述 ChatGPT pictureproxy.php接口存在服务器端请求伪造 漏洞&#xff08;SSRF&#xff09; &#xff0c;未授权的攻击者可以通过将构建的 URL 注入 url参数来强制应用程序发出任意请求。 0x02 测绘语句 fofa: icon_hash"-1999760920" 0x03 漏洞复现 G…

gstreamer udp rtp发送本地视频文件

要使用 GStreamer 通过 RTP 发送本地媒体&#xff0c;您需要创建一个管道来读取媒体文件&#xff0c;根据需要对其进行编码&#xff0c;然后通过 RTP 发送。 以下是发送音频和视频文件的示例&#xff1a; 通过 RTP 发送本地音频文件&#xff1a; gst-launch-1.0 -v filesrc loc…

云渲染中途停止渲染会保存渲染结果吗?

在数字创作领域&#xff0c;云渲染已经逐渐成为了设计师们常用的渲染工具。然而&#xff0c;很多对云渲染功能不熟的用户来说&#xff0c;一些基础的操作疑问仍然困扰着他们。例如&#xff0c;自己用的云渲染中途停止渲染会不会保存渲染结果&#xff1f; 关于这个问题&#xf…

前后端分离开发【Yapi平台】【Swagger注解自动生成接口文档平台】

前后端分离开发 介绍开发流程Yapi&#xff08;api接口文档编写平台&#xff09;介绍 Swagger使用方式1). 导入knife4j的maven坐标2). 导入knife4j相关配置类3). 设置静态资源映射4). 在LoginCheckFilter中设置不需要处理的请求路径 查看接口文档常用注解注解介绍 当前项目中&am…

洲际酒店集团持续夯实领航之势 以新高度、新策略、新方向助推行业高质量发展

“ 旅、遇&#xff0c;正当时”&#xff0c;洲际酒店集团大中华区酒店巡展圆满落幕 2024年3月28日&#xff0c;中国上海 —— 作为最早进入中国市场的国际酒店管理集团之一&#xff0c;洲际酒店集团坚守“在中国&#xff0c;为中国”的承诺&#xff0c;以行业领跑者之势&#…

22.计算机中的数据存储

文章目录 一、计算机中的数据存储二、十进制1、十进制加法2、十进制减法 三、什么是二进制&#xff1f;二进制的运算过程 四、常见的进制五、计算机为什么要用二进制存储数据&#xff1f;六、进制之间的转换1、任意进制转十进制1&#xff09;二进制101转十进制8421快速转换法 2…