【传知代码】高速公路车辆速度检测软件-论文复现

简介: 该项目是高速公路车辆速度检测软件,融合了无人机、计算机视觉(YOLOv8)和机器学习,用于交通监控和数据收集。它通过无人机航拍获取车辆信息,使用Bytetrack进行跟踪,SG滤波器处理数据,计算速度和加速度,并将数据存储在Excel中。软件包含检测器、跟踪器和注册表组件,可在Pycharm环境中运行。部署时需配置相关依赖,通过主程序`main.py`启动,用户需标定参考距离、ROI和坐标系。随着技术进步,此类系统有望在交通管理中发挥更大作用。参考文献包括YOLOv8和ByteTrack的相关研究。源码和详情见原文链接。
本文涉及的源码可从高速公路车辆速度检测软件该文章下方附件获取

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

image.png

概述

高速公路车辆速度检测软件这个项目是一个结合了无人机技术和计算机视觉以及机器学习算法的交通监控和数据收集系统。通过无人机获取的航拍视角,能够监测高速公路上车辆的速度和加速度,为交通管理和道路安全提供重要的数据支持。以下是项目的主要技术要点:

  1. 计算机视觉技术:使用如YOLOv8这样的检测器来从图像中识别车辆。YOLO(You Only Look Once)是一种实时目标检测系统,可以快速准确地在图像中定位和识别多个目标。
  2. 车辆跟踪:通过Bytetrack等跟踪器对识别出的车辆进行追踪。这样可以维持对每辆车行驶状态的连续观察,即使在它们进入和离开视野时也不会丢失信息。
  3. 数据处理:跟踪结果会更新到一个注册模块中,然后通过SG滤波器(可能是卡尔曼滤波器或其变种)对数据进行平滑处理,从而计算出车辆的速度和加速度。
  4. 数据记录:最后将收集到的数据保存到Excel文件中,以便于后续的分析和使用。
  5. 无人机应用:无人机的使用提供了一个从空中俯瞰的视角,这有助于克服传统地面视角可能遇到的遮挡问题,同时能覆盖更广阔的区域并提供更全面的数据。
  6. 技术发展:随着技术的发展,基于计算机视觉的方法在交通信息采集方面提供了强大的技术支持,而轻便、高效、智能的无人机在交通数据采集中的应用越来越广泛。

原理介绍

使用YOLOv8和BYTETrack进行车辆速度检测的过程涉及以下几个关键步骤:

  1. 对象检测:利用YOLOv8模型对视频帧进行迭代,识别出每一帧中的车辆。YOLOv8是一个高效的实时目标检测系统,能够同时检测多个目标,并且可以针对特定场景或车辆类型进行训练以提高检测的准确性。
  2. 对象跟踪:一旦车辆被检测到,就使用BYTETrack跟踪器对车辆进行追踪。这有助于即使在车辆进入或离开视野时,也能维持对它们的观察,从而不会丢失信息。
  3. 速度估计:在对象跟踪的基础上,可以通过分析车辆在连续帧之间的位置变化来估计它们的速度。这通常涉及到计算车辆通过预定距离所需时间的方法。

此外,为了提高速度估计的准确性,可以使用SG滤波器(可能是卡尔曼滤波器或其他平滑滤波器)对数据进行平滑处理,减少噪声和偶然误差的影响。最终,所有跟踪到的车辆信息,包括它们的速度和加速度数据,都可以保存到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)

环境配置

Pycharm编译器

根据requirements.txt完成相关依赖配置

下载权重文件:请阅读附件中README.md的这一部分。

部署方式

详细过程的项目源码可从高速公路车辆速度检测软件文章下方附件获取

1)开始运行软件

python main.py

2)选择视频路径

image-20240516153229053.png

3)标注参考距离

  • 点击标定参考线,在图中标出长度,起点按住左键,光标移动到终点时,松开左键。回车进行确认。
  • 直线真实距离一栏中填入参考线真实长度。

image-20240516153318293.png

4) 标定ROI(感兴趣区域)

点击标定ROI,左键确定边界点,右键取消上一个边界点,回车进行确认。
image-20240516153343122.png

5)坐标系标定
填入目标坐标系在图像坐标系下的XY位移以及X轴转角

6)应用

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

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

小结

随着人工智能、大数据等技术的不断发展,车辆速度检测技术也将迎来新的发展机遇。我们可以将这些先进技术应用于车辆速度检测软件中,实现更智能、更高效的交通管理。例如,通过机器学习算法对车速数据进行挖掘和分析,可以预测交通拥堵、事故风险等情况,为交通管理部门提供决策支持。同时,我们还可以将车辆速度检测软件与其他智能交通系统相结合,实现更全面的交通监控和管理。

参考文献

@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}
}
相关文章
|
1月前
|
SQL 安全 网络协议
威胁检测与分析--云图大师
云图大师是一款专注于威胁检测与分析的工具,应对多种网络威胁,如计算机病毒、流氓安全软件、特洛伊木马、广告软件、间谍软件、蠕虫、DDoS攻击等。它利用云端数据收集系统和核心情报提取技术,提供高覆盖率和准确性的情报。云图核心功能包括内网威胁发现、SOC/SIEM系统能力增强、公网访问IP风险识别、企业资产管理和安全事件关联分析。适用于日常运营、重大场景保障和实战化攻防演练,助力提升网络安全防护和应急响应能力。
|
1月前
|
监控 安全 自动驾驶
基于python的室内老人实时摔倒智能监测系统-跌倒检测系统(康复训练检测+代码)
基于python的室内老人实时摔倒智能监测系统-跌倒检测系统(康复训练检测+代码)
130 1
|
1月前
|
传感器 机器学习/深度学习 编解码
一文全览 | 2023最新环视自动驾驶3D检测综述!
一文全览 | 2023最新环视自动驾驶3D检测综述!
83 1
|
9月前
|
人工智能 算法 C#
基于Aidlux平台的工业视觉缺陷检测
工业视觉缺陷检测是一种利用计算机视觉技术,对工业制品进行自动化检测,以识别和分类可能存在的缺陷的方法。它是现代工业生产中的重要环节,可以大大提高生产效率,降低产品缺陷率,提高产品质量。
|
1月前
|
监控 安全
针对化工材料的分析以及检测服务
化工材料分析检测是确保化工产品质量和安全的重要环节。通过科学的分析检测手段,可以对化工材料的成分、结构、性能等进行全面评估,为产品研发、生产和使用提供有力支持。 在化工材料分析检测过程中,我们采用先进的仪器设备和严格的检测标准,确保检测结果的准确性和可靠性。我们的专业团队具备丰富的经验和专业知识,能够为客户提供全方位的技术支持和服务。 无论是原材料的质量控制、产品研发的配方优化,还是生产过程的质量监控,我们都能够为您提供准确、快速的分析检测服务。我们致力于为客户提供高质量的检测报告,帮助客户解决技术难题,提高产品质量和竞争力。 选择我们的化工材料分析检测服务,您将获得专业、可靠的技术支持,为您
|
1月前
|
运维 算法 数据处理
|
编解码 vr&ar 计算机视觉
CenterNet++ | CenterNet携手CornerNet终于杀回来了,实时高精度检测值得拥有!(二)
CenterNet++ | CenterNet携手CornerNet终于杀回来了,实时高精度检测值得拥有!(二)
149 0
|
机器学习/深度学习 编解码 算法
CenterNet++ | CenterNet携手CornerNet终于杀回来了,实时高精度检测值得拥有!(一)
CenterNet++ | CenterNet携手CornerNet终于杀回来了,实时高精度检测值得拥有!(一)
109 0
|
机器学习/深度学习 算法 数据可视化
项目实践 | 行人跟踪与摔倒检测报警(文末获取完整源码)
项目实践 | 行人跟踪与摔倒检测报警(文末获取完整源码)
150 0
|
算法 数据格式
DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测(毕业设计)
DeepSORT算法实现车辆和行人跟踪计数和是否道路违规检测(毕业设计)
152 0

热门文章

最新文章