Ultralytics YOLO27:

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

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

Hệ thống quản lý bãi đỗ xe được xây dựng với Ultralytics YOLO26 sẽ phát hiện phương tiện theo thời gian thực để theo dõi những chỗ đỗ đang bị chiếm hoặc còn trống, sau đó báo cáo tình trạng sử dụng của bãi theo thời gian thực. Hệ thống kết hợp phát hiện đối tượng của YOLO26 với bố cục bãi đỗ được định nghĩa bằng JSON, cho phép bạn giám sát toàn bộ bãi từ một luồng video hoặc nguồn 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 chỗ đỗ xe và giảm ùn tắc trong toàn bộ bãi.
  • An toàn và An ninh: Cải thiện sự an toàn của người và phương tiện thông qua hoạt động giám sát liên tục.
  • Giảm Phát thải: Quản lý luồng giao thông để giảm thời gian chờ và lượng phát thải trong các bãi đỗ xe.

Ứng dụng thực tế#

Hệ thống Quản lý Bãi đỗ xeHệ thống Quản lý Bãi đỗ xe
Phân tích bãi đỗ xe bằng Ultralytics YOLO26Góc nhìn từ trên cao để quản lý bãi đỗ xe bằng Ultralytics YOLO26
Góc nhìn từ trên không khi quản lý bãi đỗ xe bằng Ultralytics YOLO26Góc nhìn từ trên cao khi quản lý bãi đỗ xe bằng Ultralytics YOLO26

Quy trình Code của Hệ thống Quản lý Bãi đỗ xe#

Việc chọn các điểm giờ đây thật dễ dàng

Việc chọn các điểm đỗ xe là một tác 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ụ "Trình chú thích chỗ đỗ xe", cho phép bạn xác định các khu vực trong bãi đỗ để sử dụng cho những bước xử lý bổ sung sau này.

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

Bước 2: Sử dụng code được cung cấp để khởi chạy giao diện đồ họa, tại đó bạn có thể chọn một 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.

Trình chú thích chỗ đỗ xe Ultralytics YOLO
Bước bổ sung để cài đặt `tkinter`

Thông thường, tkinter được đóng gói sẵn cùng 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 nêu dưới đây:

  • 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à bật hộp kiểm tcl/tk and IDLE trong Tính năng tùy chọn 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 đa giác, hãy nhấp vào save để lưu dữ liệu dưới dạng bounding_boxes.json trong thư mục làm việc — đây là cùng tên tệp mà script quản lý bên dưới sẽ tải.

Bản minh họa chọn điểm với Ultralytics YOLO26

Bước 4: Bây giờ bạn có thể chạy giải pháp quản lý bãi đỗ xe bằng code dưới đây.

Quản lý Bãi đỗ xe bằ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

Các argument của ParkingManagement#

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

Đối sốKiểuMặc địnhMô tả
modelstrNoneĐường dẫn đến file model Ultralytics YOLO.
json_filestrNoneĐường dẫn đến file JSON chứa toàn bộ dữ liệu tọa độ bãi đỗ xe.
line_widthint2Độ dày đường kẻ cho các box, keypoint và số lượng mà solution vẽ.
verboseboolTrueBật log theo từng frame của solution, gồm kích thước input, số lượng class và tốc độ xử lý. Riêng lệnh tracking luôn ở chế độ im lặng.

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

Đối sốKiểuMặc địnhMô tả
trackerstr'botsort.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.25Thiết lập ngưỡng độ tin cậy cho các detection; giá trị thấp hơn cho phép theo dõi nhiều đối tượng hơn nhưng có thể bao gồm các false positive.
ioufloat0.7Thiết lập ngưỡng Intersection over Union (IoU) để lọc các detection chồng lấn.
classeslistNoneLọc kết quả theo chỉ số class. Ví dụ, classes=[0, 2, 3] chỉ theo dõi các class được chỉ định.
devicestrNoneChỉ định thiết bị dùng cho inference (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng lựa chọn giữa CPU, một GPU cụ thể hoặc các thiết bị tính toán khác để thực thi model.
imgszint or tuple640Kích thước ảnh inference mục tiêu: một số nguyên cho ảnh vuông hoặc một cặp (height, width). Các hình dạng được điều chỉnh theo stride của model.
max_detint300Số lượng detection tối đa được giữ lại trên mỗi frame trước khi tracking, giới hạn các đối tượng mà một solution xử lý trong các scene đông đúc.
quantizeint or strNoneĐộ chính xác inference: 16 (FP16) hoặc 32/không thiết lập (FP32) đối với các model PyTorch và TorchScript; các định dạng khác tính toán ở độ chính xác mà artifact và runtime của chúng chọn. Thay thế cờ half đã bị loại bỏ.

Ngoài ra, các tùy chọn trực quan hóa sau cũng được hỗ trợ:

Đối sốKiểuMặc địnhMô tả
showboolFalseNếu True, hiển thị image hoặc video đã được annotate 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 development hoặc testing.

FAQ#

  • Ultralytics YOLO26 cung cấp khả năng phát hiện phương tiện theo thời gian thực và chức năng giám sát cho các hệ thống đỗ xe, giúp tối ưu hóa việc sử dụng chỗ đỗ, giảm ùn tắc và cải thiện an toàn thông qua hoạt động giám sát liên tục. Việc chạy model trên nguồn camera trực tiếp cũng giúp quản lý luồng giao thông và giảm thời gian phương tiện ở trạng thái không hoạt động. Để xem hướng dẫn thiết lập đầy đủ, hãy tham khảo quy trình code 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 chỗ đỗ xe và giảm ùn tắc.
    • An toàn và An ninh: Tăng cường giám sát và đảm bảo an toàn cho phương tiện cũng như người đi bộ.
    • Tác động Môi trường: Giúp giảm lượng phát thải bằng cách hạn chế thời gian phương tiện ở trạng thái không hoạt động. Khám phá thêm các lợi ích trong phần Ưu điểm của Hệ thống Quản lý Bãi đỗ xe.
  • Việc xác định các chỗ đỗ xe với Ultralytics YOLO26 rất đơn giản:

    1. Chụp một khung hình từ video hoặc luồng camera.
    2. Sử dụng code được cung cấp để khởi chạy GUI, chọn một hình ảnh và vẽ các đa giác nhằm xác định chỗ đỗ xe.
    3. Lưu dữ liệu đã gắn nhãn ở định dạng JSON để xử lý thêm. Để xem hướng dẫn toàn diện, hãy tham khảo phần chọn điểm ở trên.
  • Thiết lập cụ thể nhất cho từng bãi là json_file: trỏ thiết lập này đến JSON chứa các vùng đỗ xe mà bạn tạo bằng trình chú thích điểm để điều chỉnh giải pháp cho một bố cục mới. Bạn có thể tùy chỉnh thêm thông qua các đối số khác — đặt model thành detector được huấn luyện tùy chỉnh, giới hạn các detection ở những classes phương tiện cụ thể, điều chỉnh các ngưỡng confiou, chuyển đổi tracker, sử dụng line_width để thay đổi tỷ lệ nhãn trên khung hình và thông tin sử dụng chỗ đỗ, hoặc chọn device cho quá trình inference. Để xem hoạt động giám sát dựa trên vùng liên quan, hãy tham khảo hướng dẫn đếm đối tượng.

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

    • Phát hiện Chỗ đỗ xe: Xác định chính xác các chỗ đỗ còn trống và đang bị chiếm.
    • Giám sát: Tăng cường an ninh thông qua hoạt động giám sát theo thời gian thực.
    • Quản lý Luồng giao thông: Giảm thời gian chờ 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 xem trong các ứng dụng thực tế.

Bình luận