Ultralytics YOLO27:
Get Started

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

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

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



Смотри: Как создать систему управления парковкой с Ultralytics YOLO26 | Обнаружение свободных мест в реальном времени 🚗

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

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

Применение в реальном мире#

Система управления парковкойСистема управления парковкой
Аналитика парковок с помощью Ultralytics YOLO26Управление парковкой, вид сверху, с помощью Ultralytics YOLO26
Управление парковкой, вид с воздуха, с помощью Ultralytics YOLO26Управление парковкой, вид сверху, с помощью Ultralytics YOLO26

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

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

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

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

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

Разметчик парковочных мест 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 в разделе «Дополнительные компоненты».
  • 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

# Захват видео
cap = cv2.VideoCapture("path/to/video.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 = cv2.VideoWriter("parking management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Инициализация объекта управления парковкой
parkingmanager = solutions.ParkingManagement(
    model="yolo26n.pt",  # путь к файлу модели
    json_file="bounding_boxes.json",  # путь к файлу с разметкой парковки
)

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

    results = parkingmanager(im0)

    # print(results)  # доступ к результату

    video_writer.write(results.plot_im)  # запись обработанного кадра.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # закрытие всех открытых окон

Аргументы ParkingManagement#

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

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

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

АргументТипПо умолчаниюОписание
trackerstr'tracktrack.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 или другое вычислительное устройство для выполнения модели.
imgszint or tuple640Целевой размер изображения для инференса: целое число для квадратного изображения или пара (height, width). Размеры корректируются с учётом шага модели.
max_detint300Максимальное количество обнаружений, сохраняемых в каждом кадре перед отслеживанием; ограничивает число объектов, обрабатываемых решением в насыщенных сценах.
quantizeint or strNoneТочность инференса: 16 (FP16) или 32/unset (FP32) для моделей PyTorch и TorchScript не на CPU; для других форматов точность определяется артефактом модели и средой выполнения. Заменяет устаревший аргумент half.

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

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

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

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

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

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

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

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

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

Комментарии