Ultralytics YOLO27:
Get Started

Xây dựng hệ thống quản lý bãi đỗ xe bằng 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 bằng Ultralytics YOLO26 phát hiện phương tiện theo thời gian thực để theo dõi chỗ đỗ nào đang có xe hoặc còn trống, sau đó báo cáo tình trạng sử dụng hiện tại của bãi. Hệ thống kết hợp khả năng phát hiện đối tượng của YOLO26 với sơ đồ bãi đỗ xe được định nghĩa bằng JSON, giúp bạn giám sát toàn bộ bãi từ một luồng video hoặc camera.



Xem: Cách xây dựng hệ thống quản lý bãi đỗ xe bằng Ultralytics YOLO26 | Phát hiện chỗ trống theo thời gian thực 🚗

Ư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 chỗ đỗ xe và giảm ùn tắc trong toàn bộ bãi.
  • An toàn và bảo mật: Tăng cường an toàn cho 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 phương tiện chạy không tải và lượng khí thải trong 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 về quản lý bãi đỗ xe bằng Ultralytics YOLO26
Góc nhìn từ trên không trong quản lý bãi đỗ xe bằng Ultralytics YOLO26Góc nhìn từ trên cao trong 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#

Giờ đây, việc chọn điểm đã trở nên 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 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 trong bãi đỗ xe để sử dụng cho những bước xử lý tiếp theo.

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

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

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

Thông thường, tkinter được đóng gói sẵn cùng 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à đánh dấu hộp kiểm tcl/tk and IDLE trong Tính năng tùy chọn khi 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, 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 — 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 của 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 đoạn code bên dưới.

Quản lý bãi đỗ xe bằng Ultralytics YOLO
import cv2

from ultralytics import solutions

# Thu nhận video
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Bộ ghi video
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))

# Khởi tạo đối tượng quản lý bãi đỗ xe
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # đường dẫn đến tệp model
    json_file="bounding_boxes.json",  # đường dẫn đến tệp chú thích chỗ đỗ xe
)

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

    results = parkingmanager(im0)

    # print(results)  # truy cập kết quả đầu ra

    video_writer.write(results.plot_im)  # ghi khung hình đã xử lý.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # đóng tất cả cửa sổ đang mở

Các đối số của ParkingManagement#

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

Đối sốKiểuMặc địnhMô tả
modelstrNoneĐường dẫn đến tệp model Ultralytics YOLO.
json_filestrNoneĐường dẫn đến tệp JSON chứa toàn bộ dữ liệu tọa độ chỗ đỗ xe.
line_widthint2Độ dày đường viền của box, keypoint và số đếm mà giải pháp vẽ.
verboseboolTrueBật nhật ký theo từng frame của giải pháp, gồm shape đầu vào, số lượng class và tốc độ xử lý. Bản thân lệnh gọi tracking luôn không ghi nhật ký.

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'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.25Đặt ngưỡng confidence cho các đối tượng được phát hiện; 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ả kết quả dương tính giả.
ioufloat0.7Đặt ngưỡng Intersection over Union (IoU) để lọc các đối tượng phát hiện bị chồng lấn.
classeslistNoneLọc kết quả theo chỉ mục class. Ví dụ: classes=[0, 2, 3] chỉ theo dõi các class được chỉ định.
devicestrNoneChỉ định thiết bị dùng để suy luận (ví dụ: cpu, cuda:0 hoặc 0). Cho phép người dùng chọn CPU, một GPU cụ thể hoặc thiết bị tính toán khác để chạy model.
imgszint or tuple640Kích thước ảnh suy luận mục tiêu: số nguyên cho ảnh vuông hoặc cặp (height, width). Kích thước sẽ được điều chỉnh theo stride của model.
max_detint300Số lượng đối tượng phát hiện tối đa được giữ lại trong mỗi khung hình trước khi theo dõi, giới hạn số đối tượng mà một giải pháp xử lý trong các cảnh dày đặc.
quantizeint or strNoneĐộ chính xác suy luận: 16 (FP16) hoặc 32/unset (FP32) cho model PyTorch và TorchScript khi chạy ngoài CPU; các định dạng khác sử dụng độ chính xác do artifact và runtime của chúng lựa chọn. Thay thế đối số half đã lỗi thời.

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

Đối sốKiểuMặc địnhMô tả
showboolFalseNếu True, hiển thị ả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ử.

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

  • Ultralytics YOLO26 cung cấp khả năng phát hiện phương tiện theo thời gian thực và giám sát cho các hệ thống bãi đỗ 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. Chạy model trên luồng 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 chạy không tải. Để xem toàn bộ quy trình thiết lập, hãy tham khảo quy trình code của hệ thống quản lý bãi đỗ xe.

  • 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à bảo mật: 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 đến môi trường: Giúp giảm phát thải bằng cách giảm thời gian phương tiện chạy không tải. Tìm hiểu thêm về các lợi ích trong mục Ưu điểm của hệ thống quản lý bãi đỗ xe.
  • Việc xác định chỗ đỗ xe bằng Ultralytics YOLO26 rất đơn giản:

    1. Chụp một khung hình từ video hoặc luồng camera.
    2. Dùng code được cung cấp để mở GUI chọn 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 đầy đủ, hãy tham khảo mục chọn điểm ở trên.
  • Thiết lập phụ thuộc nhiều nhất vào từng bãi đỗ xe là json_file: trỏ thiết lập này đến tệp JSON chứa các vùng đỗ xe mà bạn tạo bằng công cụ chú thích điểm để điều chỉnh giải pháp theo 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 bộ phát hiện được huấn luyện tùy chỉnh, giới hạn các lần phát hiện ở những classes phương tiện cụ thể, điều chỉnh các ngưỡng conf và iou, chuyển đổi tracker, dùng line_width để thay đổi tỷ lệ nhãn trên khung hình và thông tin số chỗ đang sử dụng, hoặc chọn device suy luận. Để theo dõi theo vùng có liên quan, hãy xem hướng dẫn đếm đối tượng.

  • Ultralytics YOLO26 được sử dụng trong nhiều ứng dụng thực tế về 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à đã có xe.
    • 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ý lưu lượng giao thông: Giảm thời gian chờ và tình trạng ùn tắc nhờ điều phối giao thông hiệu quả. Bạn có thể xem hình ảnh minh họa các ứng dụng này trong các ứng dụng thực tế.

Bình luận