往期精品导航
基于YOLOv9的脑肿瘤区域检测 | 智慧课堂基于YOLOv8的学生上课行为检测 |
---|---|
基于YOLOv9+pyside的安检仪x光危险物物品检测(有ui) | 基于YOLOv9的PCB板缺陷检测 |
基于YOLOv9的线路绝缘子缺陷检测【python源码+UI界面+数据集+模型+语音报警+安装说明】 | 基于YOLOv9的道路状况检测【python源码+UI界面+数据集+模型+语音报警+安装说明】 |
yolo目标检测数据集合集 |
前言
停车场空闲车位检测是智能停车管理系统中的关键组成部分,负责识别和分析停车场内每个车位的占用状态,确保车辆能够高效地找到空闲车位。
本文介绍了一种基于YOLOv9的停车场空闲车位检测系统。
可检测有车车位和无车车位两种类别
训练集8691张、验证集2483张、测试集1242张
一、软件核心功能介绍及效果演示
1.1 软件主要功能
- 支持图片、图片批量、视频文件、本地摄像头、网络摄像头进行检测
- 界面实时显示检测结果、类别数量、目标数量、FPS等
- 支持图片、视频、摄像头等检测结果保存,自动保存到文件夹中
- 支持语音报警,检测到目标时,自动进行语音播报
- 支持自定义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数据集的文件结构和文件格式以及标注工具LabelImg的说明文档
2.2 数据集
训练模型之前,需要准备数据集,数据集的获取方式有很多,网上也有很多开源的数据集。对于找不到的数据集,也可以采用自己标注的方式,通过labelimg工具可以实现,下面是labelimg工具的使用说明。
YOLOv5入门实践(2)——手把手教你利用labelimg标注数据集
标注好的数据集,我们要将其保存为固定的格式才能用于训练,比如yolo格式、voc格式,这两种格式之间也是能够通过程序进行转换的,如
yolov8-制作数据集,数据集格式转换(yolo格式-voc格式)附完整代码
以yolo格式数据集为例,介绍下数据集的结构
这里要确保图片名称和对应的labels文件名称要保持一致
2.3 训练模型
目前最新版本的yolo已经跟新到了yolov10, 下面列举几种常用的官方地址
yolov5 、yolov8、 yolov9、 yolov10
官方代码中一般都提供了使用说明,我们只需要将代码以及相应的预训练权重文件下载下来,然后按照使用说明进行训练就可以了。
需要修改的地方有两个,一个是数据集的配置文件
2.4 交互式页面设计
一般大家使用的都是pyqt页面,可以通过Qt Designer工具进行页面设计,下面式该工具的使用教程
设计好页面后,即可对进行编程,实现需要的功能。