【TensorRT】Yolov5-DeepSORT 目标跟踪

Yolov5-DeepSORT-TensorRT

本项目是 Yolo-DeepSORT 的 C++ 实现,使用 TensorRT 进行推理

🚀🚀🚀 开源地址:Yolov5_DeepSORT_TensorRT,求 star⭐ ~

引言

  • ⚡ 推理速度可达25-30FPS,可以落地部署
  • 🐳 提供了 dockerfile 以快速搭建开发环境,不用浪费时间配置环境了;
  • 📥 下载并使用本文提供的 onnx 文件(见正文),在程序运行时会自动解析 onnx 并序列化出 engine 文件(*.trtmodel)到 workspace 目录下,无需自行转换

我的另一个 PyTorch 版本的实现,含撞线检测,可对行人进行计数,开源地址:Yolov5_Deepsort_Person_Count

一、快速使用

💻 环境配置

参考项目内的 README 使用Docker容器,或参考下方自行配置:

  • python: 3.8
  • cuda: 11.2
  • cudnn: 8.2.2.26
  • tensorRT: 8.0.3.4
  • protobuf: 3.11.4

📥 下载视频&模型

创建工作目录:

mkdir workspace

下载文件到 workspace 目录下:

文件链接
yolov5s.onnx下载 (提取码: tg42)
deepsort.onnx下载 (提取码: iyms)
test.mp4下载 (提取码: vatx)

yolo 的 onnx 导出自 yolov5-6.0,deepsort 的 onnx 导出自 deep_sort_pytorch,可参考脚本 exportOnnx.py

🏃‍ 运行

修改 MakeFile 中的相关头文件和库文件路径(若使用本项目提供的 docker 则不需要),然后执行:

make run

项目运行时将显示推理结果,按 ESC 退出。

目前在 GeForce RTX 2060 上,推理 test.mp4 的速度约为 40 ms/帧,满足实时性要求。

二、文件说明

  • Infer、Yolo 和 DeepSORT 使用接口模式和 RAII 进行封装:

    • infer.h, yolo.h,deepsort.h 仅暴露 create_*推理接口
    • 使用 create_* 创建对象实例,将自动解析 onnx 文件,生成 engine 并加载
  • infer.cpp: 分四个线程,两两之间为生产者-消费者关系:

在这里插入图片描述

三、项目参考

本项目构建过程中参考了以下优秀的开源项目,在此对这些项目的作者表示感谢:

  • https://github.com/GesilaA/deepsort_tensorrt
  • https://github.com/onnx/onnx-tensorrt/tree/release/8.0
  • https://github.com/shouxieai/tensorRT_Pro

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分布式 I/O 系统Modbus TCP 耦合器BL200

BL200 耦合器是一个数据采集和控制系统,基于强大的 32 位微处理器设计,采用 Linux 操作系统,可以快速接入现场 PLC、SCADA 以及 ERP 系统, 内置逻辑控制、边缘计算应用,支持标准 Modbus TCP 服务器通讯,以太…

<数据集>铁轨缺陷检测数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:844张 标注数量(xml文件个数):844 标注数量(txt文件个数):844 标注类别数:3 标注类别名称:[Spalling, Squat, Wheel Burn] 序号类别名称图片数框数1Spalling3315522…

FastAPI 学习之路(五十)WebSockets(六)聊天室完善

我们这次只是对于之前的功能做下优化,顺便利用下之前的操作数据的接口,使用下数据库的练习。 在聊天里会有一个上线的概念。上线要通知大家,下线也要通知大家谁离开了,基于此功能我们完善下代码。 首先,我们的登录用…

亲子母婴行业媒体邀约宣发资源

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 亲子母婴行业是一个综合性的产业,涉及多个领域,包括儿童食品,儿童玩具,服装,洗护,月子中心,母婴护理&a…

Is Temperature the Creativity Parameter of Large Language Models?阅读笔记

最近有小伙伴来问LLM的参数该如何设计,废话不多说来看看paper吧。首先,常见的可以进行调参的几个值有temperature,top-p和top-k。今天这篇文章是关于temperature的。 原文链接:https://arxiv.org/abs/2405.00492 temperature如果…

Google如何构建AlphaFold 3来预测所有生命分子的结构和相互作用

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

硕博电子智能控制器、触摸显示屏在集装箱跨运车上的应用

港口跨运车,又称跨运车或轮胎式龙门吊(RTG),专门用于集装箱码头的装卸和搬运作业,能够迅速完成集装箱在码头前沿、堆场区域以及仓库之间的运输和堆垛,大幅度缩短了装卸周期,提高了港口物流周转效率。 现代跨运车往往配…

泛微e-cology WorkflowServiceXml SQL注入漏洞(POC)

漏洞描述: 泛微 e-cology 是泛微公司开发的协同管理应用平台。泛微 e-cology v10.64.1的/services/接口默认对内网暴露,用于服务调用,未经身份认证的攻击者可向 /services/WorkflowServiceXml 接口发送恶意的SOAP请求进行SQL注入,…

xiuno兔兔超级SEO插件(精简版)

xiuno论坛是一个一款轻论坛产品的论坛,但是对于这个论坛基本上都是用插件实现,一个论坛怎么能离开网站seo,本篇分享一个超级seo插件,自动sitemap、主动提交、自动Ping提交。 插件下载:tt_seo.zip

【Linux】线程——线程互斥的概念、锁的概念、互斥锁的使用、死锁、可重入和线程安全、线程同步、条件变量的概念和使用

文章目录 Linux线程4. 线程互斥4.1 线程互斥的概念4.2 锁的概念4.2.1 互斥锁的概念4.2.2 互斥锁的使用4.2.3 死锁4.2.4 可重入和线程安全 5. 线程同步5.1 条件变量的概念5.2 条件变量的使用 Linux线程 4. 线程互斥 我们之前使用了线程函数实现了多线程的简单计算模拟器。 可以…

python 循环优化

python循环是非常耗时的,所以遇到比较大的数组就要对循环做优化,代码: for i in range(pred_density_up.shape[0]):for j in range(pred_density_up.shape[1]):if pred_density_up[i][j] > 0.1:points.append([j , i ])上面的循环是最长见…

【 香橙派 AIpro评测】烧系统运行部署LLMS大模型跑开源yolov5物体检测并体验Jupyter Lab AI 应用样例(新手入门)

文章目录 一、引言⭐1.1下载镜像烧系统⭐1.2开发板初始化系统配置远程登陆💖 远程ssh💖查看ubuntu桌面💖 远程向日葵 二、部署LLMS大模型&yolov5物体检测⭐2.1 快速启动LLMS大模型💖拉取代码💖下载mode数据&#x…

nginx代理缓存

在服务器架构中,反向代理服务器除了能够起到反向代理的作用之外,还可以缓存一些资源,加速客户端访问,nginx的ngx_http_proxy_module模块不仅包含了反向代理的功能还包含了缓存功能。 1、定义代理缓存规则 参数详解: p…

esplice老项目(非maven)导入idea问题

解决导入idea显示不正常 老项目导入idea后,显示为如下所示: 显示的不太正常,正常显示为下面这个样子: 解决 非老项目 idea的项目中所有的文件全部变成了.java(已解决) 老项目 以下内容参考:idea导入项目后java文…

Word创建多级列表的样式

Word创建多级列表的样式 要求结果方法创建样式修改样式设置段落创建快捷键 关联多级列表 要求 创建自定义的三级列表样式,要求标题均为黑体,小四字号,1.5倍行距,有快捷键。 结果 方法 在样式中创建三个样式。 创建样式 录入名…

【入门级】docker

开头处生动的描述一下”码头工人”吧:小鲸鱼(登记处Registry:比如docker hub官方)背着好多集装箱(仓库repository:存放各种各样的镜像,一般存放的是一类镜像,这一类镜像中通过tag 版…

kubernetes k8s Deployment 控制器配置管理 k8s 红蓝部署 金丝雀发布

目录 1、Deployment控制器:概念、原理解读 1.1 Deployment概述 1.2 Deployment工作原理:如何管理rs和Pod? 2、Deployment资源清单文件编写技巧 3、Deployment使用案例:创建一个web站点 4、Deployment管理pod:扩…

邮箱验证码功能开发

该文章用于记录怎么进行邮箱验证码开发。 总所周知,我们在某些网站进行注册的适合总是会遇到什么填写邮箱,邮箱接收验证码,验证通过后才可以继续注册,那么这个功能是怎么实现的呢? 一,准备工作 1.1 邮箱…

贪心算法(2024/7/16)

1合并区间 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 1: 输入:inter…

朴素模式匹配算法与KMP算法(非重点)

目录 一. 朴素模式匹配算法1.1 什么是字符串的匹配模式1.2 朴素模式匹配算法1.3 通过数组下标实现朴素模式匹配算法 二. KMP算法2.1 算法分析2.2 用代码实现(只会出现在选择题,考察代码的概率不大) 三. 手算next数组四. KMP算法的进一步优化4…