跳至内容

使用Ultralytics YOLOv8 🚀 进行停车管理

什么是停车场管理系统?

停车场管理 Ultralytics YOLOv8YOLOv8 可通过实时车辆检测和对停车场占用率的深入了解,改善停车场管理。

停车场管理系统的优势?

  • 效率:停车场管理可优化停车位的使用,减少拥堵。
  • 安全保障:使用YOLOv8 进行停车管理,可通过监控和安保措施提高人员和车辆的安全。
  • 减少排放:停车场管理使用YOLOv8 管理交通流,最大限度地减少停车场的闲置时间和排放。

真实世界的应用

停车场管理系统 停车场管理系统
停车场分析 使用Ultralytics YOLOv8 使用停车场管理俯视图Ultralytics YOLOv8
使用停车场管理鸟瞰图Ultralytics YOLOv8 使用停车场管理顶视图Ultralytics YOLOv8

停车场管理系统代码工作流程

选点

轻松选点

在停车场管理系统中,选择停车点是一项关键而复杂的任务。Ultralytics 提供的工具可让您定义停车场区域,并在以后进行其他处理时加以利用,从而简化了这一过程。

  • 从要管理停车场的视频或摄像机流中捕捉一帧。
  • 使用提供的代码启动一个图形界面,在该界面中,您可以选择一幅图像,然后通过鼠标点击来创建多边形,开始勾画停车区域。

图像大小

支持的最大图像尺寸为 1920 * 1080

停车位注释器Ultralytics YOLOv8

from ultralytics import solutions

solutions.ParkingPtsSelection()
  • 用多边形定义停车区域后,点击 save 将包含数据的 JSON 文件存储在工作目录中。

Ultralytics YOLOv8 选点演示

Python 停车场管理守则

停车场管理使用YOLOv8 示例

import cv2

from ultralytics import solutions

# Path to json file, that created with above point selection app
polygon_json_path = "bounding_boxes.json"

# Video capture
cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Video writer
video_writer = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize parking management object
management = solutions.ParkingManagement(model_path="yolov8n.pt")

while cap.isOpened():
    ret, im0 = cap.read()
    if not ret:
        break

    json_data = management.parking_regions_extraction(polygon_json_path)
    results = management.model.track(im0, persist=True, show=False)

    if results[0].boxes.id is not None:
        boxes = results[0].boxes.xyxy.cpu().tolist()
        clss = results[0].boxes.cls.cpu().tolist()
        management.process_data(json_data, im0, boxes, clss)

    management.display_frames(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

可选参数 ParkingManagement

名称 类型 默认值 说明
model_path str None 通往YOLOv8 模型的路径。
txt_color tuple (0, 0, 0) 文本的 RGB 颜色元组。
bg_color tuple (255, 255, 255) 背景的 RGB 颜色元组。
occupied_region_color tuple (0, 255, 0) 占用区域的 RGB 颜色元组。
available_region_color tuple (0, 0, 255) 可用区域的 RGB 颜色元组。
margin int 10 文本显示边距。

论据 model.track

名称 类型 默认值 说明
source im0 None 图像或视频的源目录
persist bool False 帧与帧之间的持久轨迹
tracker str botsort.yaml 跟踪方法 "bytetrack "或 "botsort
conf float 0.3 置信度阈值
iou float 0.5 借据阈值
classes list None 按类别筛选结果,即 classes=0,或 classes=[0,2,3]
verbose bool True 显示物体跟踪结果

常见问题

Ultralytics YOLOv8 如何加强停车管理系统?

Ultralytics YOLOv8 通过提供实时车辆检测和监控,大大增强了停车场管理系统。这样就能优化停车位的使用,减少拥堵,并通过持续监控提高安全性。停车场管理系统可实现高效的交通流,最大限度地减少停车场的空闲时间和废气排放,从而促进环境的可持续发展。更多详情,请参阅停车场管理代码工作流程

使用Ultralytics YOLOv8 进行智能停车有什么好处?

使用Ultralytics YOLOv8 进行智能停车可带来诸多好处:

  • 效率:优化停车位的使用,减少拥堵。
  • 安全保障:加强监控,确保车辆和行人的安全。
  • 环境影响:最大限度地减少车辆空转时间,有助于减少废气排放。有关这些优势的更多详情,请点击此处

如何使用Ultralytics YOLOv8 定义停车位?

使用Ultralytics YOLOv8 可以直接定义停车位:

  1. 从视频或相机数据流中捕捉帧。
  2. 使用提供的代码启动图形用户界面,选择图像并绘制多边形来定义停车位。
  3. 以 JSON 格式保存标注数据,以便进一步处理。有关全面说明,请查看点的选择部分。

我能否定制YOLOv8 模型以满足特定的停车管理需求?

是的,Ultralytics YOLOv8 允许根据具体的停车管理需求进行定制。您可以调整参数,如 占用和可用区域颜色文本显示的边距等等。利用 ParkingManagement 类的 可选参数此外,您还可以根据自己的特殊要求定制型号,确保最大的效率和效益。

Ultralytics YOLOv8 在停车场管理方面有哪些实际应用?

Ultralytics YOLOv8 可用于停车场管理的各种实际应用,包括

  • 停车位检测:准确识别可用车位和占用车位。
  • 监控:通过实时监控加强安全。
  • 交通流量管理:通过高效的交通管理减少空闲时间和拥堵。展示这些应用的图片可在实际应用中找到。


创建于 2024-04-29,更新于 2024-07-05
作者:glenn-jocher(7)、IvorZhu331(1)、RizwanMunawar(3)

评论