YOLO Vision 2026:

Создай систему управления парковкой с Ultralytics YOLO26 🚀#

Что такое система управления парковкой?#

Система управления парковкой на базе Ultralytics YOLO26 обнаруживает транспортные средства в реальном времени, чтобы отслеживать, какие парковочные места заняты или свободны, а затем показывает текущую загруженность парковки. Она объединяет обнаружение объектов с помощью YOLO26 с разметкой парковки, заданной в JSON, чтобы ты мог контролировать всю парковку из одного видеопотока или потока с камеры.



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

Преимущества системы управления парковкой#

  • Эффективность: Оптимизирует использование парковочных мест и уменьшает заторы на всей парковке.
  • Безопасность и защищённость: Повышает безопасность людей и транспортных средств благодаря непрерывному видеонаблюдению.
  • Снижение выбросов: Управляет транспортными потоками, чтобы минимизировать время простоя и выбросы на парковках.

Примеры использования в реальном мире#

Система управления парковкойСистема управления парковкой
Аналитика парковки с использованием Ultralytics YOLO26Вид сверху на управление парковкой с использованием Ultralytics YOLO26
Аэрофотосъёмка парковки с использованием Ultralytics YOLO26Вид сверху на управление парковкой с использованием Ultralytics YOLO26

Рабочий процесс с кодом системы управления парковкой#

Теперь выбирать точки стало просто

Выбор парковочных точек — важная и сложная задача в системах управления парковкой. Ultralytics упрощает этот процесс с помощью инструмента "Parking slots annotator", который позволяет задать области парковки для последующей обработки.

Шаг 1: Получи кадр из видео или потока с камеры, где ты хочешь управлять парковкой.

Шаг 2: Используй предоставленный код, чтобы запустить графический интерфейс, выбрать изображение и начать очерчивать парковочные зоны, создавая многоугольники щелчками мыши.

Parking slots annotator Ultralytics YOLO
Дополнительный шаг для установки `tkinter`

Обычно tkinter поставляется вместе с Python. Однако если это не так, ты можешь установить его, выполнив указанные шаги:

  • Linux: (Debian/Ubuntu): sudo apt install python3-tk
  • Fedora: sudo dnf install python3-tkinter
  • Arch: sudo pacman -S tk
  • Windows: Переустанови Python и во время установки установи флажок tcl/tk and IDLE в разделе Optional Features
  • MacOS: Переустанови Python с сайта https://www.python.org/downloads/macos/ или используй brew install python-tk
from ultralytics import solutions

solutions.ParkingPtsSelection()

Шаг 3: После задания парковочных зон с помощью многоугольников нажми save, чтобы сохранить данные как bounding_boxes.json в рабочем каталоге — под тем же именем файла, который приведённый ниже скрипт управления загружает.

Демонстрация выбора точек Ultralytics YOLO26

Шаг 4: Теперь ты можешь запустить решение для управления парковкой с помощью приведённого ниже кода.

Управление парковкой с использованием 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

Аргументы ParkingManagement#

Вот таблица с аргументами ParkingManagement:

АргументТипПо умолчаниюОписание
modelstrNoneПуть к файлу модели Ultralytics YOLO.
json_filestrNoneПуть к JSON-файлу, содержащему все данные о координатах парковки.
line_widthint2Толщина линий для рамок, ключевых точек и счётчиков, которые рисует решение.
verboseboolTrueВключает покадровый журнал решения с указанием формы входных данных, количества классов и скорости обработки. Сам вызов отслеживания всегда выполняется без вывода.

Решение ParkingManagement поддерживает использование нескольких параметров track:

АргументТипПо умолчаниюОписание
trackerstr'botsort.yaml'Определяет используемый алгоритм отслеживания. Встроенные варианты: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.25Задаёт порог уверенности для детекций: более низкие значения позволяют отслеживать больше объектов, но могут включать ложноположительные результаты.
ioufloat0.7Задаёт порог пересечения над объединением (IoU) для фильтрации перекрывающихся детекций.
classeslistNoneФильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
devicestrNoneОпределяет устройство для инференса (например, cpu, cuda:0 или 0). Позволяет выбрать CPU, конкретный GPU или другое вычислительное устройство для выполнения модели.

Кроме того, поддерживаются следующие параметры визуализации:

АргументТипПо умолчаниюОписание
showboolFalseЕсли True, аннотированные изображения или видео отображаются в окне. Это полезно для получения визуальной обратной связи в процессе разработки или тестирования.

Часто задаваемые вопросы#

  • Ultralytics YOLO26 обеспечивает обнаружение транспортных средств в реальном времени и мониторинг для парковочных систем, что оптимизирует использование парковочных мест, уменьшает заторы и повышает безопасность благодаря непрерывному видеонаблюдению. Запуск на потоке с работающей камеры также помогает управлять транспортными потоками и минимизировать время простоя транспортных средств. Полную настройку смотри в рабочем процессе с кодом системы управления парковкой.

  • Использование Ultralytics YOLO26 для умной парковки даёт множество преимуществ:

    • Эффективность: Оптимизирует использование парковочных мест и уменьшает заторы.
    • Безопасность и защищённость: Улучшает видеонаблюдение и обеспечивает безопасность транспортных средств и пешеходов.
    • Воздействие на окружающую среду: Помогает сократить выбросы за счёт уменьшения времени простоя транспортных средств. Узнай больше о преимуществах в разделе «Преимущества системы управления парковкой».
  • Определить парковочные места с Ultralytics YOLO26 очень просто:

    1. Получи кадр из видео или потока с камеры.
    2. Используй предоставленный код, чтобы запустить GUI для выбора изображения и рисования многоугольников, определяющих парковочные места.
    3. Сохрани размеченные данные в формате JSON для дальнейшей обработки. Подробные инструкции смотри в расположенном выше разделе о выборе точек.
  • Наиболее важная для конкретной парковки настройка — json_file: укажи в ней JSON-файл с зонами парковки, созданный с помощью аннотатора точек, чтобы адаптировать решение к новой схеме. Ты также можешь настроить его с помощью других аргументов: указать model для детектора, обученного на собственных данных, ограничить обнаружение определёнными classes транспортных средств, изменить пороги conf и iou, переключить tracker, использовать line_width для изменения масштаба подписей на кадре и индикатора загруженности или выбрать device для инференса. Инструкции по связанному мониторингу на основе зон смотри в руководстве по подсчёту объектов.

  • Ultralytics YOLO26 используется в различных практических сценариях управления парковкой, включая:

    • Обнаружение парковочных мест: Точное определение свободных и занятых мест.
    • Видеонаблюдение: Повышение безопасности благодаря мониторингу в реальном времени.
    • Управление транспортными потоками: Сокращение времени простоя и заторов благодаря эффективному управлению движением. Изображения с примерами этих сценариев доступны в разделе практического применения.

Комментарии