Bootstrap

基于YOLOv9的停车场空闲车位检测【python源码+UI界面+数据集+模型+语音报警+安装说明】

往期精品导航

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

在这里插入图片描述
在这里插入图片描述

前言

停车场空闲车位检测是智能停车管理系统中的关键组成部分,负责识别和分析停车场内每个车位的占用状态,确保车辆能够高效地找到空闲车位。

本文介绍了一种基于YOLOv9的停车场空闲车位检测系统。

可检测有车车位和无车车位两种类别

训练集8691张、验证集2483张、测试集1242张

在这里插入图片描述

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

1.1 软件主要功能

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

1.2 界面参数说明

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

1.3 视频演示

视频暂未录制

二、如何实现

如何实现一个基于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格式)附完整代码
在这里插入图片描述
以yolo格式数据集为例,介绍下数据集的结构
在这里插入图片描述
这里要确保图片名称和对应的labels文件名称要保持一致

2.3 训练模型

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

yolov5yolov8yolov9yolov10

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

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

2.4 交互式页面设计

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

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

PyQt5 - 使用 Qt 设计器

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

完整项目链接

基于YOLOv9的停车场空闲车位检测【python源码+UI界面+数据集+模型+语音报警+安装说明】

;