Skip to content

Queue Management using Ultralytics YOLO11 🚀

Qu'est-ce que la gestion des files d'attente ?

Queue management using Ultralytics YOLO11 involves organizing and controlling lines of people or vehicles to reduce wait times and enhance efficiency. It's about optimizing queues to improve customer satisfaction and system performance in various settings like retail, banks, airports, and healthcare facilities.



Regarde : How to Implement Queue Management with Ultralytics YOLO11 | Airport and Metro Station

Avantages de la gestion des files d'attente ?

  • RĂ©duction des temps d'attente : Les systèmes de gestion des files d'attente organisent efficacement les files d'attente, minimisant ainsi les temps d'attente pour les clients. Cela permet d'amĂ©liorer le niveau de satisfaction car les clients passent moins de temps Ă  attendre et plus de temps Ă  s'occuper des produits ou des services.
  • EfficacitĂ© accrue : La mise en Ĺ“uvre de la gestion des files d'attente permet aux entreprises d'allouer les ressources plus efficacement. En analysant les donnĂ©es relatives aux files d'attente et en optimisant le dĂ©ploiement du personnel, les entreprises peuvent rationaliser les opĂ©rations, rĂ©duire les coĂ»ts et amĂ©liorer la productivitĂ© globale.

Applications dans le monde réel

Logistique Vente au détail
Queue management at airport ticket counter using Ultralytics YOLO11 Queue monitoring in crowd using Ultralytics YOLO11
Queue management at airport ticket counter Using Ultralytics YOLO11 Queue monitoring in crowd Ultralytics YOLO11

Queue Management using YOLO11 Example

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 = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

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

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()
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 = cv2.VideoWriter("queue_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

queue_region = [(20, 400), (1080, 404), (1080, 360), (20, 360)]

queue = solutions.QueueManager(
    model="yolo11n.pt",
    classes=3,
)

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()

Arguments QueueManager

Nom Type DĂ©faut Description
model str None Path to Ultralytics YOLO Model File
region list [(20, 400), (1260, 400)] List of points defining the queue region.
line_width int 2 Épaisseur du trait pour les boîtes de délimitation.
show bool False Drapeau permettant de contrôler l'affichage ou non du flux vidéo.

Arguments model.track

Argument Type DĂ©faut Description
source str None Specifies the source directory for images or videos. Supports file paths and URLs.
persist bool False Enables persistent tracking of objects between frames, maintaining IDs across video sequences.
tracker str botsort.yaml Specifies the tracking algorithm to use, e.g., bytetrack.yaml ou botsort.yaml.
conf float 0.3 Sets the confidence threshold for detections; lower values allow more objects to be tracked but may include false positives.
iou float 0.5 Sets the Intersection over Union (IoU) threshold for filtering overlapping detections.
classes list None Filters results by class index. For example, classes=[0, 2, 3] only tracks the specified classes.
verbose bool True Controls the display of tracking results, providing a visual output of tracked objects.

FAQ

How can I use Ultralytics YOLO11 for real-time queue management?

To use Ultralytics YOLO11 for real-time queue management, you can follow these steps:

  1. Load the YOLO11 model with YOLO("yolo11n.pt").
  2. Capture le flux vidéo à l'aide de cv2.VideoCapture.
  3. Définis la région d'intérêt (ROI) pour la gestion des files d'attente.
  4. Traite les trames pour détecter les objets et gérer les files d'attente.

Voici un exemple minimal :

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()

Tirer parti de Ultralytics HUB peut rationaliser ce processus en fournissant une plateforme conviviale pour le déploiement et la gestion de ta solution de gestion des files d'attente.

What are the key advantages of using Ultralytics YOLO11 for queue management?

Using Ultralytics YOLO11 for queue management offers several benefits:

  • Des temps d'attente en chute libre : Organise efficacement les files d'attente, rĂ©duisant ainsi le temps d'attente des clients et augmentant leur satisfaction.
  • AmĂ©liorer l'efficacitĂ© : Analyse les donnĂ©es des files d'attente pour optimiser le dĂ©ploiement du personnel et les opĂ©rations, rĂ©duisant ainsi les coĂ»ts.
  • Alertes en temps rĂ©el : Fournit des notifications en temps rĂ©el pour les longues files d'attente, ce qui permet une intervention rapide.
  • ÉvolutivitĂ© : Facilement extensible dans diffĂ©rents environnements tels que la vente au dĂ©tail, les aĂ©roports et les soins de santĂ©.

Pour plus de détails, explore nos solutions de gestion des files d'attente.

Why should I choose Ultralytics YOLO11 over competitors like TensorFlow or Detectron2 for queue management?

Ultralytics YOLO11 has several advantages over TensorFlow and Detectron2 for queue management:

  • Real-time Performance: YOLO11 is known for its real-time detection capabilities, offering faster processing speeds.
  • FacilitĂ© d'utilisation : Ultralytics offre une expĂ©rience conviviale, de la formation au dĂ©ploiement, via Ultralytics HUB.
  • Modèles prĂ©formĂ©s : Accès Ă  une gamme de modèles prĂ©-entraĂ®nĂ©s, ce qui minimise le temps nĂ©cessaire Ă  la configuration.
  • Soutien de la communautĂ© : Une documentation complète et un soutien actif de la communautĂ© facilitent la rĂ©solution des problèmes.

Apprends à démarrer avec Ultralytics YOLO.

Can Ultralytics YOLO11 handle multiple types of queues, such as in airports and retail?

Yes, Ultralytics YOLO11 can manage various types of queues, including those in airports and retail environments. By configuring the QueueManager with specific regions and settings, YOLO11 can adapt to different queue layouts and densities.

Exemple pour les aéroports :

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,
)

Pour plus d'informations sur les diverses applications, consulte notre section Applications du monde réel.

What are some real-world applications of Ultralytics YOLO11 in queue management?

Ultralytics YOLO11 is used in various real-world applications for queue management:

  • Vente au dĂ©tail : Surveille les lignes de caisse pour rĂ©duire les temps d'attente et amĂ©liorer la satisfaction des clients.
  • AĂ©roports : Gère les files d'attente aux guichets et aux points de contrĂ´le de sĂ©curitĂ© pour une expĂ©rience plus fluide des passagers.
  • SantĂ© : Optimise le flux de patients dans les cliniques et les hĂ´pitaux.
  • Banques : AmĂ©liore le service Ă  la clientèle en gĂ©rant efficacement les files d'attente dans les banques.

Consulte notre blog sur la gestion des files d'attente dans le monde réel pour en savoir plus.


📅 Created 6 months ago ✏️ Updated 5 days ago

Commentaires