Перейти к содержанию

Управление очередью с помощью Ultralytics YOLO11 🚀

Что такое управление очередью?

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



Смотреть: Как реализовать управление очередью с помощью Ultralytics YOLO11 | Аэропорт и станция метро.

Преимущества управления очередью?

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

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

Логистика Розничная торговля
Управление очередью в билетной кассе аэропорта с помощью Ultralytics YOLO11 Мониторинг очередей в толпе с использованием Ultralytics YOLO11
Управление очередью в билетной кассе аэропорта Использование Ultralytics YOLO11 Мониторинг очередей в толпе Ultralytics YOLO11

Управление очередью с помощью YOLO11 Пример

# Run a queue example
yolo solutions queue show=True

# Pass a source video
yolo solutions queue source="path/to/video/file.mp4"

# Pass queue coordinates
yolo solutions queue region=[(20, 400), (1080, 404), (1080, 360), (20, 360)]
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("Path/to/video/file.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
video_writer = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Define queue region points
queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]  # Define queue region points
# queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360), (20, 400)]  # Define queue polygon points

# Init Queue Manager
queue = solutions.QueueManager(
    show=True,  # Display the output
    model="yolo11n.pt",  # Path to the YOLO11 model file
    region=queue_region,  # Pass queue region points
    # classes=[0, 2],  # If you want to count specific classes i.e person and car with COCO pretrained model.
    # line_width=2,  # Adjust the line width for bounding boxes and text display
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if success:
        out = queue.process_queue(im0)
        video_writer.write(im0)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break
        continue

    print("Video frame is empty or video processing has been successfully completed.")
    break

cap.release()
cv2.destroyAllWindows()

Аргументы QueueManager

Имя Тип По умолчанию Описание
model str None Путь к файлу модели Ultralytics YOLO
region list [(20, 400), (1260, 400)] Список точек, определяющих область очереди.
line_width int 2 Толщина линий для ограничительных рамок.
show bool False Флаг для контроля отображения видеопотока.

Аргументы model.track

Аргумент Тип По умолчанию Описание
source str None Указывает исходный каталог для изображений или видео. Поддерживаются пути к файлам и URL-адреса.
persist bool False Обеспечивает постоянное отслеживание объектов между кадрами, сохраняя идентификаторы во всех видеопоследовательностях.
tracker str botsort.yaml Указывает используемый алгоритм отслеживания, например, bytetrack.yaml или botsort.yaml.
conf float 0.3 Устанавливает порог доверия для обнаружений; более низкие значения позволяют отслеживать больше объектов, но могут включать ложные срабатывания.
iou float 0.5 Устанавливает порог пересечения над объединением (IoU) для фильтрации перекрывающихся обнаружений.
classes list None Фильтрует результаты по индексу класса. Например, classes=[0, 2, 3] отслеживает только указанные классы.
verbose bool True Управляет отображением результатов отслеживания, обеспечивая визуальный вывод отслеживаемых объектов.

ЧАСТО ЗАДАВАЕМЫЕ ВОПРОСЫ

Как использовать Ultralytics YOLO11 для управления очередью в режиме реального времени?

Чтобы использовать Ultralytics YOLO11 для управления очередью в режиме реального времени, выполните следующие действия:

  1. Загрузите модель YOLO11 с помощью YOLO("yolo11n.pt").
  2. Захват видеосигнала с помощью cv2.VideoCapture.
  3. Определите область интересов (ROI) для управления очередью.
  4. Обрабатывайте кадры для обнаружения объектов и управления очередями.

Вот минимальный пример:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

queue = solutions.QueueManager(
    model="yolo11n.pt",
    region=queue_region,
    line_width=3,
)

while cap.isOpened():
    success, im0 = cap.read()
    if success:
        out = queue.process_queue(im0)
        cv2.imshow("Queue Management", im0)
        if cv2.waitKey(1) & 0xFF == ord("q"):
            break

cap.release()
cv2.destroyAllWindows()

Использование Ultralytics HUB может упростить этот процесс, предоставляя удобную платформу для развертывания и управления решением для управления очередями.

Каковы основные преимущества использования Ultralytics YOLO11 для управления очередью?

Использование Ultralytics YOLO11 для управления очередями дает несколько преимуществ:

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

Для получения более подробной информации ознакомьтесь с нашими решениями по управлению очередью.

Почему я должен выбрать Ultralytics YOLO11 вместо таких конкурентов, как TensorFlow или Detectron2 для управления очередью?

Ultralytics YOLO11 имеет ряд преимуществ перед TensorFlow и Detectron2 для управления очередями:

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

Узнайте, как начать работу с Ultralytics YOLO.

Может ли Ultralytics YOLO11 работать с несколькими типами очередей, например, в аэропортах и розничной торговле?

Да, Ultralytics YOLO11 может управлять различными типами очередей, в том числе в аэропортах и розничной торговле. Настроив QueueManager на определенные регионы и параметры, YOLO11 может адаптироваться к различным схемам расположения и плотности очередей.

Пример для аэропортов:

queue_region_airport = [(50, 600), (1200, 600), (1200, 550), (50, 550)]
queue_airport = solutions.QueueManager(
    model="yolo11n.pt",
    region=queue_region_airport,
    line_width=3,
)

Более подробную информацию о различных областях применения вы найдете в нашем разделе "Реальные области применения".

Каковы некоторые реальные применения Ultralytics YOLO11 в управлении очередями?

Ultralytics YOLO11 используется в различных реальных приложениях для управления очередями:

  • Розничная торговля: Контролирует очереди на кассах, чтобы сократить время ожидания и повысить удовлетворенность клиентов.
  • Аэропорты: Управляет очередями на билетных кассах и пунктах контроля безопасности, обеспечивая бесперебойную работу с пассажирами.
  • Здравоохранение: Оптимизация потока пациентов в клиниках и больницах.
  • Банки: Повышение качества обслуживания клиентов за счет эффективного управления очередями в банках.

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

📅 Создано 7 месяцев назад ✏️ Обновлено 10 дней назад

Комментарии