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
Quản lý bãi đậu xe Aeriel View 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

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

from ultralytics.solutions.parking_management import ParkingPtsSelection, tk
root = tk.Tk()
ParkingPtsSelection(root)
root.mainloop()
  • 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.solutions.parking_management import ParkingManagement

# 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 = 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ả
occupied_region_color RGB Color (0, 255, 0) Chỗ đậu xe chiếm màu khu vực
available_region_color RGB Color (0, 0, 255) Chỗ đậu xe có sẵn màu khu vực
margin int 10 Khoảng cách giữa hiển thị văn bản cho nhiều lớp
txt_color RGB Color (255, 255, 255) Màu nền trước cho văn bản đếm đối tượng
bg_color RGB Color (255, 255, 255) Hình chữ nhật phía sau màu nền 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


Đã tạo 2024-04-29, Cập nhật 2024-05-01
Tác giả: RizwanMunawar (2)

Ý kiến