⌈ 传知代码 ⌋ 高速公路车辆速度检测软件

💛前情提要💛

本文是传知代码平台中的相关前沿知识与技术的分享~

接下来我们即将进入一个全新的空间,对技术有一个全新的视角~

本文所涉及所有资源均在传知代码平台可获取

以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦!!!

以下内容干货满满,跟上步伐吧~


📌导航小助手📌

  • 💡本章重点
  • 🍞一. 概述
  • 🍞二. 演示效果
  • 🍞三. 核心逻辑
  • 🍞四. 使用方式
  • 🍞五.部署方式
  • 🫓总结


💡本章重点

  • 高速公路车辆速度检测软件

🍞一. 概述

这个项目旨在利用无人机视角监测和记录高速公路上车辆的速度和加速度,从而提供了一种有效的交通监控和数据收集解决方案。通过整合计算机视觉技术和机器学习算法,可以实现对车辆行驶情况的实时跟踪和分析。

首先,在图像上运行YOLOv8检测器来识别车辆,并利用Bytetrack跟踪器进行车辆的跟踪。跟踪结果被更新到注册模块中,用于后续的数据处理和记录。然后通SG滤波器对数据进行平滑处理,求出每隔0.1s的车辆速度加速度。最终,将跟踪到的车辆信息保存到Excel文件中,以供后续分析和使用。

总的来说,这个项目利用了先进的计算机视觉技术和机器学习算法,实现了对高速公路车辆行驶情况的实时监测和数据记录。通过无人机视角,可以获取更广阔的视野和更全面的信息,为交通管理和道路安全提供了有力的支持和帮助。


🍞二. 演示效果

在这里插入图片描述


🍞三. 核心逻辑

软件中关于各个组件及参数配置的定义,项目总共分为检测器、跟踪器和注册表三个部分,检测器把检测的结果输出给跟踪器进行跟踪,跟踪器把跟踪信息传输给注册表,再由注册表进行平滑、计算速度等后处理。可以根据自己需要调整参数。

class APP:def __init__(self, yolo_path, save_path, intercoord, roi):self.detector_opt = {'class_names': self.classes, 'n_classes': 3, 'conf_threshold': 0.05, 'iou_thresh': 0.3, 'size': self.size, 'roi': roi}self.tracker_opt = {'track_thresh': 0.35, 'track_buffer': 15, 'match_thresh': 0.6, 'frame_rate': 30,'aspect_ratio_thresh': 1.6, 'min_box_area': 10, 'mot20': False,'class_names': self.classes, 'n_classes': 2, 'iou_thresh': 0.3}self.register_opt = {'dt': 0.1, 'fps': 30, 'x': intercoord['center_x'], 'y': intercoord['center_y'], 'rotation': intercoord['rotation'],'scale': intercoord['scale'], 'roi': roi, 'save_path': save_path}self.detector = YOLOv8(yolo_path, self.detector_opt)self.tracker = MCOCSort(class_names=self.tracker_opt['class_names'],det_thresh=self.tracker_opt['track_thresh'],iou_thresh=self.tracker_opt['iou_thresh'],max_age=self.tracker_opt['track_buffer'])self.register = Register(self.register_opt)

🍞四. 使用方式

  • 环境搭建
pip install -r requirements.txt
  • 下载权重文件

🍞五.部署方式

  • 开始运行软件
python main.py
  • 选择视频路径

在这里插入图片描述

  • 标注参考距离

    • 点击标定参考线,在图中标出长度,起点按住左键,光标移动到终点时,松开左键。回车进行确认。

    • 在直线真实距离一栏中填入参考线真实长度。

在这里插入图片描述

  • 标定ROI(感兴趣区域)

    • 点击标定ROI,左键确定边界点,右键取消上一个边界点,回车进行确认。

在这里插入图片描述

  • 坐标系标定

    • 填入目标坐标系在图像坐标系下的X、Y位移以及X轴转角。
  • 应用

    • 点击应用后,再点击确认按钮,检测随即开始。

!注意:软件会进行两次检测,第二次检测主要是进行平滑处理和重识别。

参考文献

@article{yolov8,  title={YOLOv8: Ultralytics Real-time Object Detection with YOLOv8},  author={Jocher, Glenn},year={2023},  url={https://github.com/ultralytics/ultralytics} 
}@article{zhang2022bytetrack,title={ByteTrack: Multi-Object Tracking by Associating Every Detection Box},author={Zhang, Yifu and Sun, Peize and Jiang, Yi and Yu, Dongdong and Weng, Fucheng and Yuan, Zehuan and Luo, Ping and Liu, Wenyu and Wang, Xinggang},booktitle={Proceedings of the European Conference on Computer Vision (ECCV)},year={2022}
}

🫓总结

综上,我们基本了解了“一项全新的技术啦” 🍭 ~~

恭喜你的内功又双叒叕得到了提高!!!

感谢你们的阅读😆

后续还会继续更新💓,欢迎持续关注📌哟~

💫如果有错误❌,欢迎指正呀💫

✨如果觉得收获满满,可以点点赞👍支持一下哟~✨

【传知科技 – 了解更多新知识】

在这里插入图片描述

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

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

相关文章

【NumPy】全面解析NumPy的where函数:高效条件操作指南

🧑 博主简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

哈希冲突的常见解决方法【附C++代码】

在C中,哈希表是一种常用的数据结构,用于实现快速的插入、删除和查找操作。 哈希表的核心在于哈希函数,它将输入的关键字转换为一个数组索引。然而,不同的关键字可能映射到相同的索引,这种情况称为哈希冲突。 有效地解…

走进全球LED显示龙头艾比森,深挖逆势增长43%的数智化逻辑

在大环境不景气的情况下,有一家智能制造企业在2023年营收40亿,同比增长高达43%,海外营收增长约 46%,并且连续12年单品牌出口额第一。 这就是全球LED显示龙头艾比森。 5月9日,纷享销客带领近70位企业高管走进纷享销客…

使用Nginx将服务器目录、文件共享出来

1.配置映射路径,加入映射目录 location /abc/ { autoindex on; autoindex_localtime on; charset utf-8; alias /usr/mydir/; } 2.重载Nginx配置 nginx -s reload 3.访问 http://XXX.XXX.XXX.XXX/abc/ 即可 注: 如果…

短视频再度重逢:四川京之华锦信息技术公司

短视频再度重逢 在数字化时代的浪潮中,短视频以其独特的魅力迅速崛起,成为现代人生活中不可或缺的一部分。而当我们谈论起短视频,我们不仅仅是在谈论一种娱乐方式,更是在谈论一种情感的载体,一种回忆的媒介。今天&…

PHP8.0 match函数

match 表达式是 PHP 8.0 引入的一个新的控制结构,它提供了一种简洁且更强大的方式来进行条件匹配。与 switch 语句相比,match 表达式具有以下优势: 返回值:match 是一个表达式,它会返回一个值。严格比较:m…

MyBatis系统学习篇 - MyBatis逆向工程

MyBatis的逆向工程是指根据数据库表结构自动生成对应的Java实体类、Mapper接口和XML映射文件的过程。逆向工程可以帮助开发人员快速生成与数据库表对应的代码,减少手动编写重复代码的工作量。 我们在MyBatis中通过逆向工具来帮我简化繁琐的搭建框架,减少…

iOS推送证书过期处理

苹果推送证书的有效期都是一年,将要过期的时候,苹果官方会发邮件提醒。 一、过期 在电脑上找到并打开其它->钥匙串访问; 我的证书可以看到各个App的推送证书,如果过期了,显示红色X 二、重新创建 1、登陆apple开…

如何解决三层单点故障

我给他整成下面这样行不行呀 一个pc的默认网关只有一个,pc1配置的是1.1,那么路由坏了,他还是给1.1发送数据,冗余的那个也没用上呀 用VRRP(虚拟路由冗余协议)解决以上问题 那光把这个R1和R2虚拟成一个R3&…

android usb转串口

Android USB通信(host转串口)_android usb 实现串口通信-CSDN博客

Windows内核函数 - 文件的读操作

DDK提供了文件读操作的内核函数,其函数声明如下: NTSTATUS ZwWriteFile(IN HANDLE FileHandle,IN HANDLE Event,IN PIO_APC_ROUTINE ApcRoutine,IN PVOID ApcContext,out PIO_STATUS_BLOCK IoStatusBlock,IN PVOID Buffer,IN ULONG Length,IN PLARGE_IN…

windows 执行node报错 800A1391

在项目下执行node -v的时候,抛了这个错误,一开始没发现有啥问题 现在一看,这个报错里的node怎么是个文件... 出现这个问题,是因为项目下,有个同名的文件叫node.js,搞得windows一时不知道是想打开node.js文…

代码随想录算法训练营Day51 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组

代码随想录算法训练营Day51 | 300.最长递增子序列 674. 最长连续递增序列 718. 最长重复子数组 LeetCode 300.最长递增子序列 题目链接:LeetCode 300.最长递增子序列 思路: 选取最长子序列,并收集 class Solution { public:int lengthOfL…

通过提示工程将化学知识整合到大型语言模型中

在当今快速发展的人工智能领域,大型语言模型(LLMs)正成为科学研究的新兴工具。这些模型以其卓越的语言处理能力和零样本推理而闻名,为解决传统科学问题提供了全新的途径。然而,LLMs在特定科学领域的应用面临挑战&#…

第四十六天 | 279.完全平方数 139.单词拆分

题目:279.完全平方数 本题比较简单,几天没做背包但是这道题很快ac了 尝试解答: 题目类型:给定一个背包容量,求装满背包的最少物品数,且每个物品可以放多次,完全背包 1.dp[j]数组含义&#xff…

如何选择适合自己需求的扬州独立服务器方案?

在互联网时代,独立服务器是网络建设的重要组成部分。选择适合自己需求的扬州独立服务器方案至关重要。下面,我们将介绍如何选择合适的扬州独立服务器,并推荐莱卡云(Lcayun)服务器商。 明确需求 要明确自己的需求是什…

大型央企国企信创化与数字化转型规划实施方案(71页PPT)

方案介绍: 随着全球信息技术的迅猛发展,数字化转型已成为企业提升竞争力、实现可持续发展的必经之路。作为国家经济的重要支柱,大型央企国企在信创化与数字化转型方面承载着重要的责任和使命。本方案旨在通过系统性的规划和实施,…

rpc理解

rpc 远程过程调用 rpc与http的区别 1.性能高 2.使用复杂 3.可扩展性高 4 跨语言支持 5.可以使用服务发现,负载均衡,熔断降级 rpc远程调用,必须传输数据,需要序列化。 序列化有多种方式: jdk原生序列化&#xff0c…

Discourse 使用 DiscourseConnect 来进行用户数据同步

我们都知道 Discourse 的用户管理和设置都高度依赖电子邮件。 如果 Discourse 没有设置电子邮件 SMTP 的话,作为管理员是没有办法对用户邮箱进行修改并且通过验证的。 可以采取的办法是通过 Discourse 的 DiscourseConnect 来进行用户同步。 根据官方的说法&…

C++语法|虚函数与多态详细讲解(四)|哪些函数不能实现成虚函数和虚析构函数的理解

系列汇总讲解,请移步: C语法|虚函数与多态详细讲解系列(包含多重继承内容) 文章目录 哪些函数不能成为虚函数虚析构函数什么时候把基类的析构函数必须是线程虚函数 哪些函数不能成为虚函数 要回答这个问题&#xff0c…