三种方式实现人车流统计(yolov5+opencv+deepsort+bytetrack+iou)

一、运行环境

1、项目运行环境如下

2、CPU配置

3、GPU配置

如果没有GPU yolov5目标检测时间会比较久

二、编程语言与使用库版本

项目编程语言使用c++,使用的第三方库,onnxruntime-linux-x64-1.12.1,opencv-4.6.0

opencv 官方地址Releases - OpenCV

opencv github地址https://github.com/opencv/opencv/tree/4.10.0

onnxruntime 官方地址https://onnxruntime.ai/

 onnxruntime github 地址GitHub - microsoft/onnxruntime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator

三、 检测模型

 1、项目使用yolov5目标检测模型

yolov5s.pt模型下载  ONNX > CoreML > TFLite">GitHub - ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite

 

 2、使用命令 转换格式

python export.py --weights yolov5s.pt --include torchscript onnx

3、 使用feature.onnx 为特征提取模型

四、编译脚本

1、项目使用cmake 编写

创建文件CMakeLists.txt

cmake_minimum_required(VERSION 3.5)add_definitions(-DPROJECT_PATH="${CMAKE_SOURCE_DIR}") project(DeepSORT LANGUAGES CXX)set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)set(ONNXRUNTIME_DIR ${CMAKE_SOURCE_DIR}/lib/onnxruntime-linux-x64-1.12.1)set(OpenCV_DIR ${CMAKE_SOURCE_DIR}/lib/opencv-4.6.0/install/lib/cmake/opencv4)  # 填入OpenCVConfig.cmakeinclude_directories("${ONNXRUNTIME_DIR}/include")find_package(OpenCV 4 REQUIRED )#message(STATUS "OpenCV_INCLUDE_DIRS: ${OpenCV_INCLUDE_DIRS}") include_directories(${OpenCV_INCLUDE_DIRS}${CMAKE_SOURCE_DIR}/tracker/deepsort/include${CMAKE_SOURCE_DIR}/tracker/bytetrack/include${CMAKE_SOURCE_DIR}/detector/YOLOv5/include${CMAKE_SOURCE_DIR}/include/eigen3${CMAKE_SOURCE_DIR}/tracker/com/include${CMAKE_SOURCE_DIR}/tracker/iou/include)add_executable(DeepSORTdetector/YOLOv5/src/YOLOv5Detector.cpptracker/deepsort/src/Feature

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

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

相关文章

使用Redis优化Java应用的性能

使用Redis优化Java应用的性能 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来探讨如何使用Redis优化Java应用的性能。Redis是一种开源的内存数据结构…

【面试】http

一、定义 HTTP(超文本传输协议),是一种用于分布式、协作式、超媒体信息系统的应用层协议,它是万维网数据通信的基础。主要特点是无状态(服务器不会保存之前请求的状态)、无连接(服务器处理完请…

探索 C# 中的 LINQ:语法和类型

LINQ(语言集成查询)是 C# 中引入的一项功能,它提供了一种统一的方式来查询来自不同类型数据源(如集合、数组、XML、数据库等)的数据。LINQ 允许开发人员直接在 C# 代码中编写查询,从而更轻松地操作和转换数…

http发展史(http0.9、http1.0、http1.1、http/2、http/3)详解

文章目录 HTTP/0.9HTTP/1.0HTTP/1.1队头阻塞(Head-of-Line Blocking)1. TCP 层的队头阻塞2. HTTP/1.1 的队头阻塞 HTTP/2HTTP/3 HTTP/0.9 发布时间:1991年 特点: 只支持 GET 方法没有 HTTP 头部响应中只有 HTML 内容&#xff0…

七、yolov8图像标注和模型训练(目标检测)

环境配置方法:点这里 环境配置完毕后,需要进行标注工作和训练任务,以下分两个部分进行。 图片标注 1、按照以下的格式,将图片放入images中。(不限制文件夹路径) 2、然后下载labelme标注工具&#xff0…

循环赛日程表

描述 n 2 ^ k个选手 每个选手必须与其他n-1个选手各赛一次每个选手一天赛一次比赛打n-1天 思路 k 3时的解 我们先进行假设:每个选手第一天和自己比,然后分解成4个子问题: (1)14号的第14天,对手1~4号; (2)14号的第58天&a…

VS编译器字体颜色设置

默认颜色不好看,颜色之间代码各个关系之间没有很强关联性所以要设置字体颜色 颜色一步到位版本: 第一步: 第二步: 第三步:One dark Pro 第四步: 等待安装完后重启VS 点击Modify,一段时间结束后选…

IDEA 学习之 打开一个 MAVEN 工程

目录 1. 单体工程2. 多 module 工程3. 多个多 module 工程3.1. 重复 1 步骤3.2. 添加其他多 module 工程 1. 单体工程 2. 多 module 工程 3. 多个多 module 工程 3.1. 重复 1 步骤 3.2. 添加其他多 module 工程

django学习入门系列之第三点《CSS基础样式介绍2》

文章目录 文字对齐方式外边距内边距往期回顾 文字对齐方式 水平对齐方式 text-align: center;垂直对齐方式 /* 注意&#xff0c;这个只能是一行来居中 */ line-height:/*长度*/ ;样例 <!DOCTYPE html> <html lang"en"> <head><meta charset…

docker 环境部署

1.Redis部署 用docker拉取redis镜像 docker pull redis 用docker查看拉取的镜像版本号&#xff0c;这里查到的是 6.2.6 版本 docker inspect redis 通过wget指令下载对应版本的tar包&#xff0c;下载完成后解压 wget https://download.redis.io/releases/redis-6.2.6.tar.gz …

【2023年全国青少年信息素养大赛智能算法挑战赛复赛真题卷】

目录 2023全国青少年信息素养大赛智能算法挑战赛初中组复赛真题 2023全国⻘少年信息素养⼤赛智能算法挑战复赛⼩学组真题 2023全国青少年信息素养大赛智能算法挑战赛初中组复赛真题 1. 修复机器人的对话词库错误 【题目描述】 基于人工智能技术的智能陪伴机器人的语言词库被…

集合注意事项

目录 我们为什么要用到集合中的迭代器 List实现类的循环遍历 Set集合 HashSet TreeSet Map Hashmap Treemap Hashtable map的遍历方式 Collections的一些静态方法 我们为什么要用到集合中的迭代器 List实现类的循环遍历 如图我们对arraylist中加入了三个相同的“a”…

多路h265监控录放开发-(8)通过XCameraWIget类拖拽实现指定播放rtsp和窗口

首先修改xviewer的构造函数&#xff0c;把创建QWiget对象改为XCameraWiget对象&#xff0c;执行XCameraWiget类的构造函数 xcamera_widget.h #pragma once #include <QWidget> class XCameraWidget :public QWidget {Q_OBJECTpublic:XCameraWidget(QWidget* p nullptr)…

第一百一十八节 Java面向对象设计 - Java接口

Java面向对象设计 - Java接口 什么是接口&#xff1f; Java中的接口定义了一个引用类型来创建抽象概念。接口由类实现以提供概念的实现。 在Java 8之前&#xff0c;一个接口只能包含抽象方法。 Java 8允许接口具有实现的静态和默认方法。 接口通过抽象概念定义不相关类之间…

网络安全:Web 安全 面试题.(SQL注入)

网络安全&#xff1a;Web 安全 面试题.&#xff08;SQL注入&#xff09; 网络安全面试是指在招聘过程中,面试官会针对应聘者的网络安全相关知识和技能进行评估和考察。这种面试通常包括以下几个方面&#xff1a; &#xff08;1&#xff09;基础知识:包括网络基础知识、操作系…

BGP路由反射器实验

实验内容: 通过本实验验证bgp路由反射器的规则 1. 从client收到的路由更新,反射到non-client和client,同时发送给EBGP邻居 2. 从non-client收到的路由更新,只反射到client,同时

uniapp使用uviews上传多张图片

uniapp使用uviews上传多张图片&#xff0c;出现获取的图片路径重复了&#xff0c;是因为放在了onchange中了&#xff0c;解决方法 <u-upload :auto-upload"true" :action"action" :header"imgheader" :file-list"fileList"on-remov…

容器之事件盒

代码&#xff1a; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>static void label_const(GtkWidget *eventbox) {static int i 0;static char citem[100];sprintf(citem, &quo…

【Unity学习笔记】第十八 基于物理引擎的日月地系统简单实现

转载请注明出处: https://blog.csdn.net/weixin_44013533/article/details/139701843 作者&#xff1a;CSDN|Ringleader| 目录 目标数学理论资源准备数据准备代码实现Unity准备效果展示注意事项后记 目标 目标&#xff1a;利用Unity的物理引擎实现 “日地月三体系统” 。 效果…

PHP转Go系列 | ThinkPHP与Gin的使用姿势

大家好&#xff0c;我是码农先森。 安装 使用 composer 进行项目的创建。 composer create-project topthink/think thinkphp_demo使用 go mod 初始化项目。 go mod init gin_demo目录 thinkphp_demo 项目目录结构。 thinkphp_demo ├── LICENSE.txt ├── README.md …