Bỏ để qua phần nội dung

Quản lý bãi đậu xe bằng cách sử dụng Ultralytics YOLOv8 🚀

Hệ thống quản lý bãi đậu xe là gì?

Quản lý bãi đậu xe với Ultralytics YOLOv8 Đảm bảo bãi đậu xe hiệu quả và an toàn bằng cách tổ chức không gian và giám sát tính khả dụng. YOLOv8 có thể cải thiện việc quản lý bãi đậu xe thông qua phát hiện xe theo thời gian thực và thông tin chi tiết về công suất đỗ xe.

Ưu điểm của hệ thống quản lý bãi đậu xe?

  • Hiệu quả: Quản lý bãi đậu xe tối ưu hóa việc sử dụng chỗ đậu xe và giảm tắc nghẽn.
  • An toàn và bảo mật: Quản lý bãi đậu xe bằng cách sử dụng YOLOv8 cải thiện sự an toàn của cả người và phương tiện thông qua các biện pháp giám sát và an ninh.
  • Giảm lượng khí thải: Quản lý bãi đậu xe bằng cách sử dụng YOLOv8 Quản lý lưu lượng giao thông để giảm thiểu thời gian nhàn rỗi và khí thải trong bãi đỗ xe.

Ứng dụng trong thế giới thực

Hệ thống quản lý bãi đậu xe Hệ thống quản lý bãi đậu xe
Phân tích bãi đậu xe bằng cách sử dụng Ultralytics YOLOv8 Quản lý bãi đậu xe xem trên cùng bằng cách sử dụng Ultralytics YOLOv8
Parking management Aerial View using Ultralytics YOLOv8 Quản lý bãi đậu xe Xem trên cùng bằng cách sử dụng Ultralytics YOLOv8

Quy trình làm việc mã hệ thống quản lý bãi đậu xe

Lựa chọn điểm

Lựa chọn điểm bây giờ là dễ dàng

Chọn điểm đỗ xe là một nhiệm vụ quan trọng và phức tạp trong hệ thống quản lý bãi đậu xe. Ultralytics Hợp lý hóa quá trình này bằng cách cung cấp một công cụ cho phép bạn xác định các khu vực bãi đậu xe, có thể được sử dụng sau này để xử lý bổ sung.

  • Chụp khung hình từ luồng video hoặc camera nơi bạn muốn quản lý bãi đậu xe.
  • Sử dụng mã được cung cấp để khởi chạy giao diện đồ họa, nơi bạn có thể chọn hình ảnh và bắt đầu phác thảo các khu vực đỗ xe bằng cách nhấp chuột để tạo đa giác.

Kích thước hình ảnh

Kích thước hình ảnh tối đa được hỗ trợ 1920 * 1080

Khe đỗ xe Chú thích Ultralytics YOLOv8

from ultralytics import solutions

solutions.ParkingPtsSelection()
  • Sau khi xác định các khu vực đỗ xe bằng đa giác, hãy nhấp vào save để lưu trữ tệp JSON với dữ liệu trong thư mục làm việc của bạn.

Ultralytics YOLOv8 Bản demo lựa chọn điểm

Python Mã quản lý bãi đậu xe

Quản lý bãi đậu xe bằng cách sử dụng YOLOv8 Ví dụ

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()

Đối số tùy chọn ParkingManagement

Tên Kiểu Mặc định Sự miêu tả
model_path str None Đường dẫn đến YOLOv8 mẫu.
txt_color tuple (0, 0, 0) Bộ màu RGB cho văn bản.
bg_color tuple (255, 255, 255) Bộ màu RGB cho nền.
occupied_region_color tuple (0, 255, 0) Bộ màu RGB cho các khu vực bị chiếm đóng.
available_region_color tuple (0, 0, 255) Bộ màu RGB cho các khu vực có sẵn.
margin int 10 Lề để hiển thị văn bản.

Lập luận model.track

Tên Kiểu Mặc định Sự miêu tả
source im0 None Thư mục nguồn cho hình ảnh hoặc video
persist bool False Các rãnh liên tục giữa các khung hình
tracker str botsort.yaml Phương pháp theo dõi 'bytetrack' hoặc 'botsort'
conf float 0.3 Ngưỡng tin cậy
iou float 0.5 Ngưỡng IOU
classes list None Lọc kết quả theo lớp, tức là lớp = 0 hoặc lớp = [0,2,3]
verbose bool True Hiển thị kết quả theo dõi đối tượng


Created 2024-04-29, Updated 2024-06-10
Authors: glenn-jocher (6), IvorZhu331 (1), RizwanMunawar (3)

Ý kiến