停车位识别数据集 图片数量12416张YOLO,xml和txt标签都有; 2类类别:space-empty,space-occupied;

YOLO停车位识别 图片数量12416张,xml和txt标签都有; 2类类别:space-empty,space-occupied;

用于yolo,Python,目标检测,机器学习,人工智能,深度学习,停车场空位检测,停车场空位识别,智慧停车场
包含从监控摄像头帧中提取的 12,416 张停车场图像。有晴天、阴天和雨天的图像,并且停车位被标记为已占用或空置
停车位识别数据集介绍
数据集名称
YOLO停车位识别数据集 (YOLO Parking Space Detection Dataset)
数据集概述
本数据集是一个专门用于训练和评估停车位识别模型的数据集,特别适用于基于YOLO(You Only Look Once)系列的目标检测任务。数据集包含12,416张高分辨率的停车场图像,这些图像从监控摄像头帧中提取,并且涵盖了不同天气条件下的场景(晴天、阴天和雨天)。每张图像都标注了停车位的状态,分为“空闲”(space-empty)和“已占用”(space-occupied)两类。数据集提供了XML和TXT两种格式的标注文件,方便用户根据需要选择。
数据集特点
- 大规模:包含12,416张高分辨率图像,适合深度学习模型的训练。
- 多样化天气条件:图像涵盖晴天、阴天和雨天等多种天气条件,提高了模型的鲁棒性。
- 详细标注:每张图像都有详细的标注信息,包括停车位的位置和状态(空闲或已占用)。
- 多种标注格式:提供XML和TXT两种标注格式,便于不同工具和框架的使用。
- 适用广泛:适用于目标检测、机器学习、人工智能、深度学习等领域的研究和应用,特别是停车场空位检测和智慧停车场系统。
数据集结构
parking_space_detection_dataset/
├── images/ # 图像文件
│ ├── 00001.jpg # 示例图像
│ ├── 00002.jpg
│ └── ...
├── labels_xml/ # XML标注文件
│ ├── 00001.xml # 示例标注
│ ├── 00002.xml
│ └── ...
├── labels_txt/ # TXT标注文件
│ ├── 00001.txt # 示例标注
│ ├── 00002.txt
│ └── ...
├── data.yaml # 类别描述文件
└── README.md # 数据集说明
数据集内容
-
images/- 功能:存放图像文件。
- 内容:
- 12,416张高分辨率的停车场图像,涵盖不同天气条件下的场景。
-
labels_xml/- 功能:存放XML格式的标注文件。
- 内容:
- 每张图像对应的XML标注文件,包含停车位的位置和状态信息。
-
labels_txt/- 功能:存放TXT格式的标注文件。
- 内容:
- 每张图像对应的TXT标注文件,适用于YOLO系列模型的训练。
-
data.yaml- 功能:定义数据集的类别和其他相关信息。
- 内容:
train: ./images/train val: ./images/val nc: 2 names: ['space-empty', 'space-occupied']
-
README.md- 功能:数据集的详细说明文档。
- 内容:
- 数据集的来源和用途。
- 数据集的结构和内容。
- 如何使用数据集进行模型训练和评估。
- 其他注意事项和建议。
使用说明
-
环境准备
- 安装依赖库:
pip install -r requirements.txt - 确保安装了YOLOv8所需的库,例如
ultralytics。
- 安装依赖库:
-
数据集路径设置
- 将数据集解压到项目目录下,确保路径正确。
-
转换标注格式(可选)
- 如果需要将XML标注转换为YOLO格式的TXT标注,可以使用以下脚本:
import os import xml.etree.ElementTree as ET from PIL import Imagedef convert_xml_to_yolo(xml_path, image_path, output_path):tree = ET.parse(xml_path)root = tree.getroot()image = Image.open(image_path)width, height = image.sizewith open(output_path, 'w') as f:for obj in root.findall('object'):name = obj.find('name').textbbox = obj.find('bndbox')xmin = int(bbox.find('xmin').text)ymin = int(bbox.find('ymin').text)xmax = int(bbox.find('xmax').text)ymax = int(bbox.find('ymax').text)x_center = (xmin + xmax) / 2.0 / widthy_center = (ymin + ymax) / 2.0 / heightw = (xmax - xmin) / widthh = (ymax - ymin) / heightif name == 'space-empty':class_id = 0elif name == 'space-occupied':class_id = 1else:continuef.write(f"{class_id} {x_center} {y_center} {w} {h}\n")# 批量转换 for filename in os.listdir('labels_xml'):if filename.endswith('.xml'):xml_path = os.path.join('labels_xml', filename)image_path = os.path.join('images', filename.replace('.xml', '.jpg'))output_path = os.path.join('labels_txt', filename.replace('.xml', '.txt'))convert_xml_to_yolo(xml_path, image_path, output_path)
- 如果需要将XML标注转换为YOLO格式的TXT标注,可以使用以下脚本:
-
划分数据集
- 可以使用
train_test_split函数来划分训练集和验证集:import os import random from sklearn.model_selection import train_test_splitimages = [f for f in os.listdir('images') if f.endswith('.jpg')] train_images, val_images = train_test_split(images, test_size=0.2, random_state=42)with open('train.txt', 'w') as f:for img in train_images:f.write(f'./images/{img}\n')with open('val.txt', 'w') as f:for img in val_images:f.write(f'./images/{img}\n')
- 可以使用
-
训练模型
- 使用YOLOv8或其他目标检测模型进行训练。以下是一个示例命令:
python train.py --data data.yaml --weights yolov8n.pt --epochs 100 --img 640 --batch 16
- 使用YOLOv8或其他目标检测模型进行训练。以下是一个示例命令:
-
验证模型
- 使用验证集进行模型验证: Bash
深色版本
python val.py --data data.yaml --weights runs/train/exp/weights/best.pt --img 640 --batch 16
- 使用验证集进行模型验证: Bash
-
推理模型
- 使用训练好的模型进行推理: Bash
深色版本
python detect.py --source test_images/ --weights runs/train/exp/weights/best.pt --img 640 --conf 0.5
- 使用训练好的模型进行推理: Bash
注意事项
- 数据格式:确保输入的数据格式正确,特别是图像和标注文件的格式。
- 超参数调整:根据实际情况调整学习率、批大小等超参数,以获得最佳训练效果。
- 硬件要求:建议使用GPU进行训练,以加快训练速度。如果没有足够的计算资源,可以考虑使用云服务提供商的GPU实例。
- 平衡数据:注意数据集中各类别之间的不平衡问题,可以通过过采样、欠采样或使用类别权重等方式来解决。
通过上述步骤,你可以成功地使用这个高质量的停车位识别数据集进行模型训练和评估。这个数据集不仅适用于学术研究,还可以应用于实际的智慧停车场系统中,帮助提升停车场管理的效率和用户体验。希望这个数据集能帮助你更好地理解和应用最新的目标检测技术。
相关文章:
停车位识别数据集 图片数量12416张YOLO,xml和txt标签都有; 2类类别:space-empty,space-occupied;
YOLO停车位识别 图片数量12416张,xml和txt标签都有; 2类类别:space-empty,space-occupied; 用于yolo,Python,目标检测,机器学习,人工智能,深度学习࿰…...
MySQL 创建子账号
1. 使用 root 账号登录 MySQL 使用 root 账号登录 MySQL,登录成功如图所示: 新建一个 MySQL 子账号,新建子账号命令如下: 命令 : CREATE USER testlocalhost IDENTIFIED BY 123456;若出现如下图所示,则表示新建 MySQL…...
代码随想录 106. 岛屿的周长
106. 岛屿的周长 #include<bits/stdc.h> using namespace std;int main(){int n, m;cin >> n >> m;vector<vector<int>> mp(n, vector<int>(m, 0));for (int i 0; i < n; i){for (int j 0; j < m; j){cin >> mp[i][j];}}in…...
阿里云融合认证中的App端一键登录能力
在如今的移动互联网环境中,App端的一键登录功能逐渐成为提升用户体验的关键。用户不再需要繁琐的注册流程或输入短信验证码,一键即可通过手机号码完成登录。而阿里云融合认证中,一键登录能力为移动应用提供了一个简单、便捷且安全的用户身份验…...
基于YOLO11/v10/v8/v5深度学习的安检X光危险品检测与识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…...
vue-插槽作用域实用场景
vue-插槽作用域实用场景 1.插槽1.1 自定义列表渲染1.2 数据表格组件1.3 树形组件1.4 表单验证组件1.5 无限滚动组件 1.插槽 插槽感觉知道有这个东西,但是挺少用过的,每次看到基本都会再去看一遍用法和概念。但是在项目里,自己还是没有用到过…...
Prometheus+Grafana 监控 K8S Ingress-Ningx Controller
文章目录 一、prometheus中添加ingress-nginx的服务发现配置二、ingress-nginx controller的service添加端口暴露监控指标三、grafana添加ingress-nginx controller的监控模版 ingress-nginx默认是没有开启监控指标的,需要我们在ingress-nginx controller的svc里面开…...
如何在Visual Studio 2019中创建.Net Core WPF工程
如何在Visual Studio 2019中创建.Net Core WPF工程 打开Visual Studio 2019,选择Create a new project 选择WPF App(.Net Core) 输入项目名称和位置,单击Create 这样我们就创建好了一个WPF工程 工程文件说明 Dependencies 当前项目所使用的依赖库&…...
自然语言处理(NLP)论文数量的十年趋势:2014-2024
引言 近年来,自然语言处理(NLP)已成为人工智能(AI)和数据科学领域中的关键技术之一。随着数据规模的不断扩大和计算能力的提升,NLP技术从学术研究走向了广泛的实际应用。通过观察过去十年(2014…...
.net core API中使用LiteDB
LiteDB介绍 LiteDB 是一个小巧、快速和轻量级的 .NET NoSQL 嵌入式数据库。 无服务器的 NoSQL 文档存储简单的 API,类似于 MongoDB100% 的 C# 代码支持 .NET 4.5 / NETStandard 1.3/2.0,以单个 DLL(不到 450KB)形式提供线程安全…...
YOLO_V8分割
YOLO_V8分割 YOLO安装 pip install ultralytics YOLO的数据集转化看csdn 数据标注EIseg EIseg这块,正常安装就好,但是numpy和各类包都容易有冲突,python版本装第一点 数据标注过程中,记得把JSON和COCO都点上,把自…...
根据请求错误的状态码判断代理配置问题
SafeLine,中文名 “雷池”,是一款简单好用, 效果突出的 Web 应用防火墙(WAF),可以保护 Web 服务不受黑客攻击。 雷池通过过滤和监控 Web 应用与互联网之间的 HTTP 流量来保护 Web 服务。可以保护 Web 服务免受 SQL 注入、XSS、 代码注入、命…...
Python 网络爬虫高阶用法
网络爬虫成为了自动化数据抓取的核心工具。Python 拥有强大的第三方库支持,在网络爬虫领域的应用尤为广泛。本文将深入探讨 Python 网络爬虫的高阶用法,包括处理反爬虫机制、动态网页抓取、分布式爬虫以及并发和异步爬虫等技术。以下内容结合最新技术发展…...
芯片Tapeout前GDS Review | Calibre中如何切出gds中指定区域版图?
在SoC芯片实现阶段我们会用到很多模拟IP,IO。对于这类模拟IP相关的电源连接,ESD保护电路连接,信号线连接都需要跟IP Vendor进行Review。但芯片整体版图涉及商业机密,我们不希望整个芯片的版图被各大vendor看到,因此我们…...
43 | 单例模式(下):如何设计实现一个集群环境下的分布式单例模式?
上两篇文章中,我们针对单例模式,讲解了单例的应用场景、几种常见的代码实现和存在的问题,并粗略给出了替换单例模式的方法,比如工厂模式、IOC 容器。今天,我们再进一步扩展延伸一下,一块讨论一下下面这几个…...
PHP如何解决异常处理
在PHP中,异常处理是通过使用try、catch、throw以及finally这几个关键字来实现的。以下是一个简单的介绍和示例: 异常处理的基本步骤 抛出异常: 使用throw关键字抛出一个异常对象。异常对象通常是Exception类或其子类的实例。 捕获异常&…...
C++ socket编程(3)
前面文章,介绍了一个简单socket通讯Demo, 客户端和服务器进行简单的交互。两个代码都很简单,如果情况一复杂,就会出错。这节我们把代码完善一下,实现一个客户端输入,发送,服务器echo的交互。本文…...
Collection-LinkedList源码解析
文章目录 概述LinkedList实现底层数据结构构造函数getFirst(), getLast()removeFirst(), removeLast(), remove(e), remove(index)add()addAll()clear()Positional Access 方法查找操作 概述 LinkedList同时实现了List接口和Deque接口,也就是说它既可以看作一个顺序…...
vue判断对象数组里是否有重复数据
TOCvue判断对象数组里是否有重复数据 try {//通过产品编码赛选出新的数组 在比较let names this.goodsJson.map(item > item["productCode"]);let nameSet new Set(names)if (nameSet.size ! names.length) {this.$message({message: 警告!产品选项…...
CSS 3D转换
在 CSS 中,除了可以对页面中的元素进行 2D 转换外,您也可以对象元素进行 3D转换(将页面看作是一个三维空间来对页面中的元素进行移动、旋转、缩放和倾斜等操作)。与 2D 转换相同,3D 转换同样不会影响周围的元素&#x…...
告别浏览器标签混乱:5分钟搭建高效Gmail桌面邮件中心
告别浏览器标签混乱:5分钟搭建高效Gmail桌面邮件中心 【免费下载链接】gmail-desktop :postbox: Gmail desktop app for macOS, Windows & Linux (formerly Gmail Desktop) 项目地址: https://gitcode.com/gh_mirrors/gm/gmail-desktop 厌倦了在浏览器标…...
ContextMenuManager:3分钟彻底清理Windows右键菜单的免费神器
ContextMenuManager:3分钟彻底清理Windows右键菜单的免费神器 【免费下载链接】ContextMenuManager 🖱️ 纯粹的Windows右键菜单管理程序 项目地址: https://gitcode.com/gh_mirrors/co/ContextMenuManager 你是否经常在Windows右键菜单中迷失方向…...
Linux环境下KingbaseES(人大金仓)数据库的自动化部署与配置实践
1. 为什么需要自动化部署KingbaseES? 第一次手动部署KingbaseES数据库的经历让我记忆犹新。那天我在机房折腾了整整6个小时,光是反复输入各种命令就让人抓狂,更别提中间因为权限问题重装了三次。相信很多DBA同行都有过类似的痛苦体验——手动…...
新手首次使用 Taotoken 从注册到完成第一个 API 调用的完整指南
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 新手首次使用 Taotoken 从注册到完成第一个 API 调用的完整指南 本文旨在为初次接触 Taotoken 的开发者提供一份清晰的入门指引。我…...
数字IC设计八股:面试题合集
锁存器的结构-DFF的结构-建立保持时间-亚稳态-STA-CDC。 亚稳态的成因,危害,解决方法。 建立保持时间的计算,违例的Fix,流片前和流片后。还有复位的Recovery Removal time。 CDC的解决方法。 低功耗常见设计方法,动态-静态功耗计算和分析。例如两种情况对比功耗大小。…...
Arm Compiler 6.19嵌入式开发工具链解析
1. Arm Compiler for Embedded 6.19版本深度解析Arm Compiler for Embedded 6.19是Arm公司于2022年10月12日发布的嵌入式C/C编译工具链。作为一款专为裸机软件、固件和实时操作系统(RTOS)应用开发设计的工具链,它提供了对Arm架构最新特性的支持。需要注意的是&#…...
告别Keil幻想!为什么MSP430F5529开发我最终选择了CCS(附完整driverlib库配置流程)
从Keil到CCS:MSP430F5529开发工具链的理性抉择与技术实践 第一次接触MSP430F5529时,我下意识地打开了熟悉的Keil MDK。毕竟在STM32的世界里,Keil几乎是我的第二开发环境。但当我尝试导入TI官方例程时,一连串的报错让我意识到——这…...
基于WiFi与OPC协议的可穿戴LED灯光同步系统设计与实现
1. 项目概述:打造你的无线光影秀发想象一下,你亲手制作的LED帽子、发光外套,甚至是手中的光绘道具,都能随着你电脑屏幕上的音乐可视化效果或视频内容同步闪烁、流动。无需复杂的编程,只需一个简单的播放指令࿰…...
FOC如何控制速度力矩大小,以及无感FOC检测电角度的方法
FOC 控制电机,本质就一句话: 通过控制三相电流,让定子磁场始终在“最合适的角度”拉着/推着转子转。 更工程一点说: 速度靠速度环调节,扭矩靠 q 轴电流 Iq 调节,电角度靠编码器/霍尔/无感估算得到。 1. …...
2026届最火的降重复率工具横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于学术写作范畴之内,维普降AI已然变成众多学者以及毕业生所聚焦关注的重点。伴随…...
