Bootstrap

基于YOLOv9的智能驾驶辅助检测系统【python源码+UI界面+数据集+模型+语音报警+安装说明】

往期精品导航

基于YOLOv9的脑肿瘤区域检测智慧课堂基于YOLOv8的学生上课行为检测
基于YOLOv9+pyside的安检仪x光危险物物品检测(有ui)基于YOLOv9的PCB板缺陷检测
基于YOLOv9的线路绝缘子缺陷检测【python源码+UI界面+数据集+模型+语音报警+安装说明】基于YOLOv9的道路状况检测【python源码+UI界面+数据集+模型+语音报警+安装说明】
yolo目标检测数据集合集基于YOLOv9的停车场空闲车位检测【python源码+UI界面+数据集+模型+语音报警+安装说明】
基于YOLOv9的30种植物病害检测【python源码+UI界面+数据集+模型+语音报警+安装说明】基于YOLOv9的跌倒检测系统【python源码+UI界面+数据集+模型+语音报警+安装说明】

在这里插入图片描述

前言

基于YOLO的无人驾驶辅助系统,能够实时检测前方行驶道路状况,语音播报前方路口交通状况,如红灯、绿灯、左转红灯、行人等,辅助司机完成驾驶。

本文介绍了一种基于YOLOv9的智能驾驶辅助系统。
在这里插入图片描述
可检测 “biker”: “骑自行车的人”, “car”: “汽车”, “pedestrian”: “行人”, “trafficLight”: “红绿灯”, “trafficLight-Green”: “绿灯”, “trafficLight-GreenLeft”: “左转绿灯”, “trafficLight-Red”: “红灯”, “trafficLight-RedLeft”: “左转红灯”, “trafficLight-Yellow”: “黄灯”, “trafficLight-YellowLeft”: “左转黄灯”, “truck”: "卡车"等11种目标。

数据集大小15000张左右,已按照yolo个数划分好训练集、验证集和测试集

一、软件核心功能介绍及效果演示

1.1 软件主要功能

  1. 支持图片、图片批量、视频文件、本地摄像头、网络摄像头进行检测
  2. 界面实时显示检测结果、类别数量、目标数量、FPS等
  3. 支持图片、视频、摄像头等检测结果保存,自动保存到文件夹中
  4. 支持语音报警,检测到目标时,自动进行语音播报
  5. 支持自定义IOU阈值、置信度阈值的参数

1.2 界面参数说明

image-20240708170527986

  1. 上传图片或视频文件进行检测
  2. 调用本地摄像头检测检测
  3. 上传图片文件夹,批量对图片进行检测
  4. 通过Rtsp协议,调用网络摄像头进行检测
  5. 显示检测结果目标类别数量
  6. 显示检测结果目标数量
  7. 显示帧率,当使用GPU加速时,可实现实时检测
  8. 切换不同的模型
  9. 调整IOU阈值,当检测结果中IOU超过阈值,才能显示
  10. 调整置信度阈值,当检测结果中置信度超过阈值,才能显示
  11. 调整延迟时间
  12. 调整绘制线条宽度
  13. 开启/关闭报警功能,开启后,每隔10s对检测结果进行语音播报,默认播报内容“请注意,前方xx”, 支持diy音频
  14. 开启/关闭保存功能,将图片、视频、摄像头结果自动保存在runs/detect/exp文件夹中
  15. 保存页面中当前帧的检测结果。

1.3 视频演示

基于YOLOv9的智能驾驶辅助检测系统【python源码+UI界面+数据集+模型+语音报警+安装说明】

二、如何实现

如何实现一个基于YOLO的目标检测系统,一般来说,首先得有显卡,不然没有办法训练模型。之后我们要准备数据集,然后下载yolo官方提供的开源代码,训练模型,最后需要制作一个交互式页面,能够使用训练好的模型,下面我将围绕这几部分,讲解如何自己制作一个基于YOLO的目标检测系统。

2.1 环境配置

正所谓工欲善其事,必先利其器。运行这样的一个系统,我们首先要有对应的环境支持。GPU对于模型训练是必须要,ubuntu环境下可以通过nvidia-smi查看自己的GPU。如果没有显卡,那么可以直接放弃训练模型这一步骤了,可以在网上搜搜有没有其他人训练好的模型,拿过来直接用。
在这里插入图片描述
确认有GPU之后,就可以配置环境了,怎么配置这里不在叙述,项目中提供了完整的配置说明文件,当然网上能够找到很多类似的教程,这里简单列举了下,可以作为参考

史上最详细yolov5环境配置搭建+配置所需文件

YOLOv5数据集的文件结构和文件格式以及标注工具LabelImg的说明文档

2.2 数据集

训练模型之前,需要准备数据集,数据集的获取方式有很多,网上也有很多开源的数据集。对于找不到的数据集,也可以采用自己标注的方式,通过labelimg工具可以实现,下面是labelimg工具的使用说明。

YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集
在这里插入图片描述
标注好的数据集,我们要将其保存为固定的格式才能用于训练,比如yolo格式、voc格式,这两种格式之间也是能够通过程序进行转换的,如

yolov8-制作数据集,数据集格式转换(yolo格式-voc格式)附完整代码
在这里插入图片描述
这里要确保图片名称和对应的labels文件名称要保持一致

2.3 训练模型

目前最新版本的yolo已经跟新到了yolov10, 下面列举几种常用的官方地址

yolov5yolov8yolov9yolov10

官方代码中一般都提供了使用说明,我们只需要将代码以及相应的预训练权重文件下载下来,然后按照使用说明进行训练就可以了。

需要修改的地方有两个,一个是数据集的配置文件
在这里插入图片描述

2.4 交互式页面设计

一般大家使用的都是pyqt页面,可以通过Qt Designer工具进行页面设计,下面式该工具的使用教程

Pycharm中使用PyQt实现UI界面设计

PyQt5 - 使用 Qt 设计器

设计好页面后,即可对进行编程,实现需要的功能。

完整项目链接

基于YOLOv9的智能驾驶辅助检测系统【python源码+UI界面+数据集+模型+语音报警+安装说明】

;