无人机航拍露天停车场车位识别数据集|车位占用检测|智能停车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)

🎯 落地应用方向

  1. 智能停车引导:实时统计空闲车位,生成车位分布图,快速引导车主停车
  2. 停车场运营管理:自动统计车位周转率、使用率,优化运营策略
  3. 违规停车监测:识别压线、跨位、非停车区停车,辅助执法取证
  4. 全域巡检监控:无人机定期巡航,覆盖大型露天/园区停车场,无监控死角
  5. 智慧城市交通:接入城市停车平台,实现区域车位资源统筹调度

📌 标签

#无人机停车场数据集 #车位识别 #空闲车位检测 #智能停车 #无人机巡检 #目标检测 #YOLO车位检测 #低空视觉 #智慧停车 #计算机视觉 #深度学习数据集 #车位占用监测 #露天停车场AI

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐