无人机航拍露天停车场车位识别数据集|车位占用检测|智能停车AI训练集 停车场智能巡检数据集|空闲车位识别|低空视觉车位状态检测样本库 无人机车位监测数据集|智慧停车管理|目标检测深度学习模型数据
·
无人机航拍露天停车场车位识别数据集|车位占用检测|智能停车AI训练集
停车场智能巡检数据集|空闲车位识别|低空视觉车位状态检测样本库
无人机车位监测数据集|智慧停车管理|目标检测深度学习模型数据
城市停车供需矛盾持续加剧,露天停车场普遍存在车位统计难、引导效率低、人工成本高、违规停车难监管等痛点。传统地感、摄像头方案部署复杂、扩展性差,而无人机巡检具备全域覆盖、灵活机动、成本低等优势。但航拍视角下车位密集、目标偏小、阴影与遮挡干扰强,通用数据集难以适配真实场景。本文按 GitHub 开源项目规范,完整开放无人机停车场车位专用检测数据集,配套 YOLO 训练、推理、统计全流程工程代码,开箱即用,快速落地智能停车管理系统。
📁 项目总览
- 项目领域:计算机视觉|目标检测|智慧停车|无人机低空巡检
- 核心任务:无人机航拍视角下车辆检测 + 空闲车位识别
- 数据规模:913 张高清航拍图像,单数据集完整结构
- 标注类别:car(车辆)、free(空闲车位)2大类精准标注
- 配套资源:数据集文件 + 训练完成的检测模型,开箱即用
- 格式支持:图像 JPG/PNG + 标注 YOLO TXT / VOC XML
- 适配算法:YOLOv5/v7/v8/v10/v11 全系列,轻量到高精度全覆盖
- 应用场景:车位实时统计、空闲车位引导、违规停车监测、停车场运营优化
🧾 数据集核心信息
| 信息项 | 详情 |
|---|---|
| 任务类型 | 计算机视觉 · 目标检测 |
| 标注类别 | car(车辆)、free(空闲车位) |
| 数据总量 | 913 张无人机露天停车场航拍图像 |
| 数据格式 | 图像文件 + 模型配置文件,支持直接上传测试 |
| 场景特点 | 高空俯视、车位密集、阴影遮挡、多光照环境 |
| 配套资源 | 完整数据集文件 + 预训练模型,降低开发成本 |

✨ 核心优势
- 场景高度聚焦:专为露天停车场设计,无无关类别干扰,模型收敛更快
- 标注极简实用:仅车辆/空闲车位两类,精准匹配停车管理核心需求
- 工程化就绪:自带数据集与预训练模型,无需从零训练,快速上线
- 航拍视角适配:高空俯视样本,贴合无人机真实巡检航线与高度
- 规模适中高效:913 张样本兼顾训练效果与算力成本,泛化能力稳定




📂 标准目录结构
drone-parking-det/
├── images/ # 停车场航拍图像
│ ├── train/
│ ├── val/
│ └── test/
├── labels/ # YOLO格式标注文件
│ ├── train/
│ └── val/
├── scripts/ # 工具脚本
│ ├── split_dataset.py # 数据集划分
│ ├── voc2yolo.py # 标注格式转换
│ └── vis_label.py # 标注可视化校验
├── data.yaml # YOLO数据集配置
├── train.py # 模型训练脚本
├── predict.py # 车位状态推理脚本
├── count_parking.py # 车位统计脚本
├── README.md # 项目说明文档
└── model.pt # 预训练权重文件
🧪 深度学习实战代码
1. data.yaml
# 场景注释:无人机露天停车场·车位占用/空闲检测配置
# 车位密集、小目标多,建议 imgsz=640,降低conf减少漏检
path: ./drone-parking-det
train: images/train
val: images/val
test: images/test
nc: 2 # 车辆、空闲车位2个类别
names: ['car', 'free'] # 标注名称映射
# 车位检测调参经验:
# 1. imgsz=640 提升小车位与远距离目标召回
# 2. 开启hsv增强,适应阴影、逆光、地面反光
# 3. conf=0.25,iou=0.45,平衡精度与召回率
2. train.py
from ultralytics import YOLO
# 场景注释:无人机停车场训练·密集车位+阴影遮挡优化
if __name__ == "__main__":
# 轻量模型适合机载端/边缘设备部署
model = YOLO("yolov8s.pt")
model.train(
data="data.yaml",
epochs=100, # 样本量适中,100轮保证收敛
imgsz=640, # 航拍高分辨率输入
batch=16,
device=0,
patience=10, # 早停防过拟合
lr0=0.01,
lrf=0.01,
momentum=0.937,
weight_decay=0.0005,
warmup_epochs=3,
cos_lr=True,
augment=True, # 开启数据增强
hsv_h=0.015,
hsv_s=0.7,
hsv_v=0.4, # 亮度增强适配阴影
close_mosaic=10,
name="parking_slot_det"
)
3. predict.py
from ultralytics import YOLO
import cv2
# 场景注释:无人机巡检推理·输出车辆/空闲车位检测结果
def parking_predict():
# 加载训练好的车位检测模型
model = YOLO("./runs/detect/parking_slot_det/weights/best.pt")
# 单张航拍图推理
img_path = "drone_parking.jpg"
results = model.predict(
source=img_path,
conf=0.25,
iou=0.45,
agnostic_nms=True # 类别无关NMS,抑制密集框误检
)
# 保存可视化结果
res_img = results[0].plot()
cv2.imwrite("parking_result.jpg", res_img)
# 视频/实时流推理(巡检常用)
# model.predict(source="drone_flight.mp4", save=True, stream=True)
if __name__ == "__main__":
parking_predict()
4. count_parking.py(车位自动统计)
from ultralytics import YOLO
# 场景注释:停车场核心功能·自动统计总车位、已占、空闲数量
def count_parking_status():
model = YOLO("model.pt")
img_path = "drone_parking.jpg"
results = model.predict(source=img_path)
car_count = 0
free_count = 0
for result in results:
for box in result.boxes:
cls_id = int(box.cls)
if cls_id == 0:
car_count += 1
elif cls_id == 1:
free_count += 1
print(f"🚗 已占用车位:{car_count}")
print(f"🅿️ 空闲车位:{free_count}")
print(f"📊 总车位:{car_count + free_count}")
if __name__ == "__main__":
count_parking_status()
5. voc2yolo.py
import os
import xml.etree.ElementTree as ET
from pathlib import Path
# 场景注释:VOC转YOLO,适配停车场车位标注,保证小目标框归一化准确
def voc_to_yolo(voc_dir, yolo_dir, class_names):
os.makedirs(yolo_dir, exist_ok=True)
for xml_file in Path(voc_dir).glob("*.xml"):
tree = ET.parse(xml_file)
root = tree.getroot()
img_w = int(root.find("size/width").text)
img_h = int(root.find("size/height").text)
txt_path = os.path.join(yolo_dir, f"{xml_file.stem}.txt")
with open(txt_path, "w") as f:
for obj in root.findall("object"):
cls_name = obj.find("name").text
if cls_name not in class_names:
continue
cls_id = class_names.index(cls_name)
bndbox = obj.find("bndbox")
xmin = float(bndbox.find("xmin").text)
ymin = float(bndbox.find("ymin").text)
xmax = float(bndbox.find("xmax").text)
ymax = float(bndbox.find("ymax").text)
# YOLO归一化坐标
cx = (xmin + xmax) / 2 / img_w
cy = (ymin + ymax) / 2 / img_h
w = (xmax - xmin) / img_w
h = (ymax - ymin) / img_h
f.write(f"{cls_id} {cx:.6f} {cy:.6f} {w:.6f} {h:.6f}\n")
if __name__ == "__main__":
classes = ["car", "free"]
voc_to_yolo("./labels/voc", "./labels/yolo", classes)
🎯 落地应用方向
- 智能停车引导:实时统计空闲车位,生成车位分布图,快速引导车主停车
- 停车场运营管理:自动统计车位周转率、使用率,优化运营策略
- 违规停车监测:识别压线、跨位、非停车区停车,辅助执法取证
- 全域巡检监控:无人机定期巡航,覆盖大型露天/园区停车场,无监控死角
- 智慧城市交通:接入城市停车平台,实现区域车位资源统筹调度
📌 标签
#无人机停车场数据集 #车位识别 #空闲车位检测 #智能停车 #无人机巡检 #目标检测 #YOLO车位检测 #低空视觉 #智慧停车 #计算机视觉 #深度学习数据集 #车位占用监测 #露天停车场AI
更多推荐




所有评论(0)