Vai al contenuto

Queue Management using Ultralytics YOLO11 🚀

Che cos'è la gestione delle code?

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.



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

Vantaggi della gestione delle code?

  • Riduzione dei tempi di attesa: I sistemi di gestione delle code organizzano in modo efficiente le code, riducendo al minimo i tempi di attesa dei clienti. Questo porta a migliorare i livelli di soddisfazione dei clienti, che passano meno tempo ad aspettare e più tempo a interagire con i prodotti o i servizi.
  • Maggiore efficienza: L'implementazione della gestione delle code consente alle aziende di allocare le risorse in modo più efficace. Analizzando i dati sulle code e ottimizzando l'impiego del personale, le aziende possono snellire le operazioni, ridurre i costi e migliorare la produttività complessiva.

Applicazioni nel mondo reale

Logistica Vendita al dettaglio
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()

Argomenti QueueManager

Nome Tipo Predefinito Descrizione
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 Spessore delle linee per i riquadri di delimitazione.
show bool False Flag per controllare se visualizzare il flusso video.

Argomenti model.track

Argomento Tipo Predefinito Descrizione
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 o 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.

DOMANDE FREQUENTI

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. Cattura il feed video utilizzando cv2.VideoCapture.
  3. Definisci la regione di interesse (ROI) per la gestione delle code.
  4. Elabora i frame per rilevare gli oggetti e gestire le code.

Ecco un esempio minimo:

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

L'utilizzo di Ultralytics HUB può semplificare questo processo, fornendo una piattaforma di facile utilizzo per l'implementazione e la gestione della tua soluzione di gestione delle code.

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

Using Ultralytics YOLO11 for queue management offers several benefits:

  • Riduzione dei tempi di attesa: Organizza in modo efficiente le code, riducendo i tempi di attesa dei clienti e aumentandone la soddisfazione.
  • Migliorare l'efficienza: Analizza i dati sulle code per ottimizzare l'impiego del personale e le operazioni, riducendo così i costi.
  • Avvisi in tempo reale: Fornisce notifiche in tempo reale per le code lunghe, consentendo un intervento rapido.
  • Scalabilità: Facilmente scalabile in ambienti diversi come la vendita al dettaglio, gli aeroporti e la sanità.

Per maggiori dettagli, esplora le nostre soluzioni di Queue Management.

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'uso: Ultralytics offre un'esperienza facile da usare, dalla formazione all'implementazione, tramite Ultralytics HUB.
  • Modelli preaddestrati: Accesso a una serie di modelli preaddestrati, che riducono al minimo il tempo necessario per la configurazione.
  • Supporto della comunità: L'ampia documentazione e il supporto attivo della comunità facilitano la risoluzione dei problemi.

Scopri come iniziare a lavorare con 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.

Esempio per gli aeroporti:

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

Per maggiori informazioni sulle diverse applicazioni, consulta la nostra sezione Applicazioni del mondo reale.

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

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

  • Vendita al dettaglio: Monitora le linee di cassa per ridurre i tempi di attesa e migliorare la soddisfazione dei clienti.
  • Aeroporti: Gestisce le code alle biglietterie e ai controlli di sicurezza per rendere più agevole l'esperienza dei passeggeri.
  • Assistenza sanitaria: Ottimizza il flusso dei pazienti in cliniche e ospedali.
  • Banche: Migliora il servizio ai clienti gestendo in modo efficiente le code nelle banche.

Per saperne di più, consulta il nostro blog sulla gestione delle code nel mondo reale.


📅 Created 6 months ago ✏️ Updated 1 day ago

Commenti