Vai al contenuto

Gestione delle code con Ultralytics YOLO11 🚀

Che cos'è la gestione delle code?

La gestione delle code Ultralytics YOLO11 prevede l'organizzazione e il controllo di file di persone o veicoli per ridurre i tempi di attesa e migliorare l'efficienza. Si tratta di ottimizzare le code per migliorare la soddisfazione dei clienti e le prestazioni del sistema in vari contesti come la vendita al dettaglio, le banche, gli aeroporti e le strutture sanitarie.



Guarda: Come implementare la gestione delle code con Ultralytics YOLO11 | Aeroporto e stazione della metropolitana

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 un miglioramento dei livelli di soddisfazione, poiché i clienti 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
Gestione delle code alla biglietteria dell'aeroporto con Ultralytics YOLO11 Monitoraggio delle code nella folla Ultralytics YOLO11
Gestione delle code alla biglietteria dell'aeroporto Utilizzo Ultralytics YOLO11 Monitoraggio delle code nella folla Ultralytics YOLO11

Esempio di gestione delle code con 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, 400), (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, 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()

Argomenti QueueManager

Nome Tipo Predefinito Descrizione
model str None Percorso del file del modello Ultralytics YOLO
region list [(20, 400), (1260, 400)] Elenco dei punti che definiscono la regione della coda.
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 Specifica la directory di origine delle immagini o dei video. Supporta percorsi di file e URL.
persist bool False Consente il tracciamento persistente degli oggetti tra i fotogrammi, mantenendo gli ID tra le sequenze video.
tracker str botsort.yaml Specifica l'algoritmo di tracciamento da utilizzare, ad es, bytetrack.yaml o botsort.yaml.
conf float 0.3 Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare un maggior numero di oggetti, ma possono includere falsi positivi.
iou float 0.5 Imposta la soglia Intersection over Union (IoU) per il filtraggio dei rilevamenti sovrapposti.
classes list None Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] tiene traccia solo delle classi specificate.
verbose bool True Controlla la visualizzazione dei risultati del tracciamento, fornendo un output visivo degli oggetti tracciati.

FAQ

Come si può utilizzare Ultralytics YOLO11 per la gestione delle code in tempo reale?

Per utilizzare Ultralytics YOLO11 per la gestione delle code in tempo reale, si può procedere come segue:

  1. Caricare il modello YOLO11 con YOLO("yolo11n.pt").
  2. Acquisire il feed video utilizzando cv2.VideoCapture.
  3. Definire la regione di interesse (ROI) per la gestione delle code.
  4. Elaborare 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, 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()

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

Quali sono i principali vantaggi dell'utilizzo di Ultralytics YOLO11 per la gestione delle code?

L'uso di Ultralytics YOLO11 per la gestione delle code offre diversi vantaggi:

  • Riduzione dei tempi di attesa: Organizza in modo efficiente le code, riducendo i tempi di attesa dei clienti e aumentandone la soddisfazione.
  • Miglioramento dell'efficienza: Analizza i dati delle 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, esplorate le nostre soluzioni di Queue Management.

Perché scegliere Ultralytics YOLO11 rispetto a concorrenti come TensorFlow o Detectron2 per la gestione delle code?

Ultralytics YOLO11 presenta diversi vantaggi rispetto a TensorFlow e Detectron2 per la gestione delle code:

  • Prestazioni in tempo reale: YOLO11 è noto per le sue capacità di rilevamento in tempo reale, che offrono una maggiore velocità di elaborazione.
  • Facilità d'uso: Ultralytics offre un'esperienza di facile utilizzo, dalla formazione all'implementazione, tramite Ultralytics HUB.
  • Modelli preaddestrati: Accesso a una serie di modelli preaddestrati, per ridurre 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.

Scoprite come iniziare con Ultralytics YOLO.

Ultralytics YOLO11 è in grado di gestire più tipi di code, come ad esempio negli aeroporti e nella vendita al dettaglio?

Sì, Ultralytics YOLO11 può gestire vari tipi di code, comprese quelle degli aeroporti e degli ambienti di vendita al dettaglio. Configurando il QueueManager con regioni e impostazioni specifiche, YOLO11 può adattarsi a diversi layout e densità delle code.

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 ulteriori informazioni sulle diverse applicazioni, consultate la nostra sezione Applicazioni del mondo reale.

Quali sono le applicazioni reali di Ultralytics YOLO11 nella gestione delle code?

Ultralytics YOLO11 è utilizzato in diverse applicazioni reali per la gestione delle code:

  • Vendita al dettaglio: Controlla 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ù, consultate il nostro blog sulla gestione delle code nel mondo reale.

📅C reato 8 mesi fa ✏️ Aggiornato 17 giorni fa

Commenti