YOLO Vision 2026:

Xây dựng Hệ thống Quản lý Bãi đỗ xe với Ultralytics YOLO26 🚀#

Hệ thống Quản lý Bãi đỗ xe là gì?#

Một hệ thống quản lý bãi đỗ xe được xây dựng bằng Ultralytics YOLO26 phát hiện xe theo thời gian thực để theo dõi không gian đỗ xe nào đang có xe hoặc còn trống, sau đó báo cáo tình trạng sử dụng bãi xe trực tiếp. Hệ thống này kết hợp tính năng object detection của YOLO26 với sơ đồ bãi đỗ xe định nghĩa bằng JSON để bạn có thể giám sát toàn bộ bãi xe từ một luồng video hoặc nguồn cấp dữ liệu camera duy nhất.



Watch: How to Build a Parking Management System with Ultralytics YOLO26 | Real-Time Spot Detection 🚗

Ưu điểm của Hệ thống quản lý bãi đỗ xe#

  • Hiệu quả: Tối ưu hóa việc sử dụng các vị trí đỗ xe và giảm ùn tắc trên khắp bãi đỗ.
  • An toàn và An ninh: Cải thiện sự an toàn cho con người và phương tiện thông qua việc giám sát liên tục.
  • Giảm lượng khí thải: Quản lý lưu lượng giao thông để giảm thiểu thời gian chờ và khí thải trong các bãi đỗ xe.

Các ứng dụng thực tế#

Hệ thống quản lý bãi đỗ xeHệ thống quản lý bãi đỗ xe
Parking lots Analytics Using Ultralytics YOLO26Parking management top view using Ultralytics YOLO26
Quản lý bãi đỗ xe góc nhìn từ trên không sử dụng Ultralytics YOLO26Quản lý bãi đỗ xe góc nhìn từ trên cao sử dụng Ultralytics YOLO26

Quy trình làm việc của mã nguồn Hệ thống quản lý bãi đỗ xe#

Việc lựa chọn các điểm giờ đây đã trở nên dễ dàng

Việc chọn vị trí đỗ xe là một nhiệm vụ quan trọng và phức tạp trong các hệ thống quản lý bãi đỗ xe. Ultralytics đơn giản hóa quy trình này bằng cách cung cấp công cụ "Parking slots annotator" cho phép bạn xác định các khu vực đỗ xe, sau đó có thể được tận dụng để xử lý thêm.

Bước 1: Ghi lại một khung hình từ video hoặc luồng camera nơi bạn muốn quản lý bãi đỗ xe.

Bước 2: Sử dụng mã nguồn được cung cấp để khởi chạy giao diện đồ họa, tại đây bạn có thể chọn một hình ảnh và bắt đầu vẽ các vùng đỗ xe bằng cách nhấp chuột để tạo các đa giác.

Công cụ chú thích vị trí đỗ xe Ultralytics YOLO
Bước bổ sung để cài đặt `tkinter`

Nói chung, tkinter được cài đặt sẵn với Python. Tuy nhiên, nếu chưa có, bạn có thể cài đặt bằng các bước được đánh dấu:

  • Linux: (Debian/Ubuntu): sudo apt install python3-tk
  • Fedora: sudo dnf install python3-tkinter
  • Arch: sudo pacman -S tk
  • Windows: Cài đặt lại Python và chọn hộp kiểm tcl/tk and IDLE trong phần Optional Features trong quá trình cài đặt
  • MacOS: Cài đặt lại Python từ https://www.python.org/downloads/macos/ hoặc brew install python-tk
from ultralytics import solutions

solutions.ParkingPtsSelection()

Bước 3: Sau khi xác định các khu vực đỗ xe bằng các đa giác, hãy nhấp vào save để lưu trữ dữ liệu dưới dạng bounding_boxes.json trong thư mục làm việc của bạn — cùng tên tệp mà tập lệnh quản lý tải bên dưới.

Ultralytics YOLO26 Points Selection Demo

Bước 4: Bây giờ bạn có thể chạy solution quản lý bãi đỗ xe với mã bên dưới.

Quản lý bãi đỗ xe sử dụng Ultralytics YOLO
import cv2

from ultralytics import solutions

# Video capture
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
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 = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize parking management object
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # path to model file
    json_file="bounding_boxes.json",  # path to parking annotations file
)

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

    results = parkingmanager(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Đối số ParkingManagement#

Dưới đây là bảng chứa các đối số của ParkingManagement:

Đối sốLoạiMặc địnhMô tả
modelstrNoneĐường dẫn đến tệp model Ultralytics YOLO.
json_filestrNoneĐường dẫn đến tệp JSON chứa tất cả dữ liệu tọa độ bãi đỗ xe.

Giải pháp ParkingManagement cho phép sử dụng một số tham số track:

Đối sốLoạiMặc địnhMô tả
trackerstr'tracktrack.yaml'Chỉ định thuật toán theo dõi cần sử dụng. Các tùy chọn tích hợp sẵn: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Thiết lập ngưỡng tin cậy cho các phát hiện; các giá trị thấp hơn cho phép nhiều đối tượng được theo dõi hơn nhưng có thể bao gồm các kết quả dương tính giả.
ioufloat0.7Đặt ngưỡng Intersection over Union (IoU) để lọc các phát hiện trùng lặp.
classeslistNoneLọc kết quả theo chỉ mục lớp. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các lớp được chỉ định.
verboseboolTrueKiểm soát việc hiển thị kết quả theo dõi, cung cấp đầu ra trực quan của các đối tượng được theo dõi.
devicestrNoneChỉ định thiết bị để suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng lựa chọn giữa CPU, GPU cụ thể hoặc các thiết bị tính toán khác để thực thi mô hình.

Hơn nữa, các tùy chọn trực quan hóa sau đây cũng được hỗ trợ:

Đối sốLoạiMặc địnhMô tả
showboolFalseNếu là True, hiển thị các hình ảnh hoặc video đã được chú thích trong một cửa sổ. Hữu ích để nhận phản hồi trực quan ngay lập tức trong quá trình phát triển hoặc kiểm thử.
line_widthint or NoneNoneChỉ định độ dày đường viền của các hộp bao. Nếu là None, độ dày đường viền được tự động điều chỉnh dựa trên kích thước ảnh. Cung cấp khả năng tùy chỉnh trực quan để dễ quan sát.

Câu hỏi thường gặp#

  • Ultralytics YOLO26 cung cấp khả năng vehicle detection thời gian thực và giám sát cho các hệ thống đỗ xe, giúp tối ưu hóa việc sử dụng không gian đỗ xe, giảm tình trạng ùn tắc và nâng cao an toàn thông qua việc giám sát liên tục. Chạy tính năng này trên nguồn cấp dữ liệu camera trực tiếp cũng giúp quản lý luồng giao thông và giảm thiểu thời gian xe chạy không tải. Để cài đặt đầy đủ, hãy xem quy trình mã quản lý bãi đỗ xe.

  • Sử dụng Ultralytics YOLO26 cho bãi đỗ xe thông minh mang lại nhiều lợi ích:

    • Hiệu quả: Tối ưu hóa việc sử dụng không gian đỗ xe và giảm ùn tắc.
    • An toàn và Bảo mật: Tăng cường giám sát và đảm bảo an toàn cho phương tiện và người đi bộ.
    • Tác động đến môi trường: Giúp giảm lượng khí thải bằng cách thiểu tối đa thời gian xe chạy không tải. Khám phá thêm lợi ích trong phần Lợi ích của Hệ thống Quản lý Bãi đỗ xe.
  • Việc xác định các vị trí đỗ xe rất đơn giản với Ultralytics YOLO26:

    1. Ghi lại một khung hình từ video hoặc luồng camera.
    2. Sử dụng mã nguồn được cung cấp để khởi chạy giao diện GUI nhằm chọn hình ảnh và vẽ các đa giác để xác định vị trí đỗ xe.
    3. Lưu dữ liệu đã dán nhãn dưới định dạng JSON để xử lý thêm. Để có hướng dẫn đầy đủ, hãy xem phần chọn điểm ở trên.
  • Cài đặt đặc trưng nhất cho bãi xe là json_file: trỏ cài đặt này vào JSON vùng đỗ xe mà bạn tạo bằng points annotator để thích ứng giải pháp với một bố cục mới. Bạn có thể tùy chỉnh thêm thông qua các tham số khác — đặt model thành một bộ phát hiện được huấn luyện tùy chỉnh, giới hạn việc phát hiện ở các classes xe cụ thể, điều chỉnh ngưỡng confiou, chuyển đổi tracker, sử dụng line_width để điều chỉnh tỷ lệ nhãn trên khung hình và số liệu hiển thị mức độ lấp đầy, hoặc chọn inference device. Để theo dõi dựa trên khu vực liên quan, hãy xem hướng dẫn object counting.

  • Ultralytics YOLO26 được sử dụng trong nhiều ứng dụng thực tế để quản lý bãi đỗ xe, bao gồm:

    • Phát hiện vị trí đỗ xe: Xác định chính xác các vị trí trống và đã chiếm.
    • Giám sát: Tăng cường an ninh thông qua giám sát theo thời gian thực.
    • Quản lý luồng giao thông: Giảm thời gian xe chạy không tải và ùn tắc bằng cách xử lý giao thông hiệu quả. Hình ảnh minh họa các ứng dụng này có thể được tìm thấy trong các ứng dụng thực tế.

Bình luận