Управление очередью с помощью Ultralytics YOLO11 🚀
Что такое управление очередью?
Управление очередью с помощью Ultralytics YOLO11 включает в себя организацию и контроль очередей людей или транспортных средств для сокращения времени ожидания и повышения эффективности. Речь идет об оптимизации очередей для повышения удовлетворенности клиентов и производительности системы в различных сферах, таких как розничная торговля, банки, аэропорты и медицинские учреждения.
Смотреть: Как реализовать управление очередью с помощью Ultralytics YOLO11 | Аэропорт и станция метро.
Преимущества управления очередью?
- Сокращение времени ожидания: Системы управления очередью эффективно организуют очереди, минимизируя время ожидания для клиентов. Это приводит к повышению уровня удовлетворенности, поскольку клиенты тратят меньше времени на ожидание и больше времени на работу с продуктами или услугами.
- Повышение эффективности: Внедрение системы управления очередями позволяет предприятиям более эффективно распределять ресурсы. Анализируя данные об очередях и оптимизируя распределение персонала, предприятия могут оптимизировать работу, сократить расходы и повысить общую производительность.
Применение в реальном мире
Логистика | Розничная торговля |
---|---|
Управление очередью в билетной кассе аэропорта Использование Ultralytics YOLO11 | Мониторинг очередей в толпе Ultralytics YOLO11 |
Управление очередью с помощью YOLO11 Пример
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, 400), (1080, 360), (20, 360)] # Define queue region points
# queue_region = [(20, 400), (1080, 400), (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 для управления очередью в режиме реального времени, выполните следующие действия:
- Загрузите модель YOLO11 с помощью
YOLO("yolo11n.pt")
. - Захват видеосигнала с помощью
cv2.VideoCapture
. - Определите область интересов (ROI) для управления очередью.
- Обрабатывайте кадры для обнаружения объектов и управления очередями.
Вот минимальный пример:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
queue_region = [(20, 400), (1080, 400), (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 используется в различных реальных приложениях для управления очередями:
- Розничная торговля: Контролирует очереди на кассах, чтобы сократить время ожидания и повысить удовлетворенность клиентов.
- Аэропорты: Управляет очередями на билетных кассах и пунктах контроля безопасности, обеспечивая бесперебойную работу с пассажирами.
- Здравоохранение: Оптимизация потока пациентов в клиниках и больницах.
- Банки: Повышение качества обслуживания клиентов за счет эффективного управления очередями в банках.
Ознакомьтесь с нашим блогом об управлении очередями в реальном мире, чтобы узнать больше.