Gestione delle code tramite Ultralytics YOLO11 🚀
Cos'è la gestione delle code?
La gestione delle code tramite Ultralytics YOLO11 comporta l'organizzazione e il controllo delle 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 del cliente e le prestazioni del sistema in vari contesti come negozi al dettaglio, banche, aeroporti e strutture sanitarie.
Guarda: Come implementare la gestione delle code con Ultralytics YOLO11 | Aeroporto e stazione della metropolitana
Vantaggi della Gestione delle Code
- Tempi di attesa ridotti: I sistemi di gestione delle code organizzano efficientemente le code, riducendo al minimo i tempi di attesa per i clienti. Ciò porta a un miglioramento dei livelli di soddisfazione poiché i clienti trascorrono meno tempo ad aspettare e più tempo a interagire con prodotti o servizi.
- Maggiore Efficienza: L'implementazione della gestione delle code consente alle aziende di allocare le risorse in modo più efficace. Analizzando i dati delle code e ottimizzando l'impiego del personale, le aziende possono snellire le operazioni, ridurre i costi e migliorare la produttività complessiva.
- Informazioni in tempo reale: La gestione delle code basata su YOLO11 fornisce dati istantanei sulla lunghezza delle code e sui tempi di attesa, consentendo ai manager di prendere decisioni informate rapidamente.
- Esperienza cliente migliorata: Riducendo la frustrazione associata alle lunghe attese, le aziende possono migliorare significativamente la soddisfazione e la fidelizzazione dei clienti.
Applicazioni nel mondo reale
Logistica | Vendita al dettaglio |
---|---|
![]() |
![]() |
Gestione delle code al banco dei biglietti dell'aeroporto utilizzando Ultralytics YOLO11 | Monitoraggio delle code nella folla Ultralytics YOLO11 |
Gestione code con Ultralytics YOLO
# Run a queue example
yolo solutions queue show=True
# Pass a source video
yolo solutions queue source="path/to/video.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.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
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))
# Define queue points
queue_region = [(20, 400), (1080, 400), (1080, 360), (20, 360)] # region points
# queue_region = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)] # polygon points
# Initialize queue manager object
queuemanager = solutions.QueueManager(
show=True, # display the output
model="yolo11n.pt", # path to the YOLO11 model file
region=queue_region, # pass queue region points
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = queuemanager(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
QueueManager
Argomenti
Ecco una tabella con i QueueManager
argomenti:
Argomento | 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 di conteggio. |
Il QueueManagement
solution supporta anche alcuni track
argomenti:
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Specifica l'algoritmo di tracking da utilizzare, ad esempio: bytetrack.yaml oppure botsort.yaml . |
conf |
float |
0.3 |
Imposta la soglia di confidenza per i rilevamenti; valori inferiori consentono di tracciare più oggetti, ma potrebbero includere falsi positivi. |
iou |
float |
0.5 |
Imposta la soglia Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes |
list |
None |
Filtra i risultati per indice di classe. Per esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose |
bool |
True |
Controlla la visualizzazione dei risultati del tracking, fornendo un output visivo degli oggetti tracciati. |
device |
str |
None |
Specifica il dispositivo per l'inferenza (ad esempio, cpu , cuda:0 oppure 0 ). Consente agli utenti di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
Inoltre, sono disponibili i seguenti parametri di visualizzazione:
Argomento | Tipo | Predefinito | Descrizione |
---|---|---|---|
show |
bool |
False |
Se True , visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test. |
line_width |
None or int |
None |
Specifica lo spessore della linea dei riquadri di delimitazione. Se None , lo spessore della linea viene regolato automaticamente in base alle dimensioni dell'immagine, fornendo una personalizzazione visiva per una maggiore chiarezza. |
show_conf |
bool |
True |
Visualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta, offrendo una panoramica sulla certezza del modello per ogni rilevamento. |
show_labels |
bool |
True |
Mostra le etichette per ogni rilevamento nell'output visivo, fornendo una comprensione immediata degli oggetti rilevati. |
Strategie di implementazione
Quando si implementa la gestione delle code con YOLO11, considerare queste best practice:
- Posizionamento strategico delle telecamere: Posiziona le telecamere in modo da catturare l'intera area della coda senza ostruzioni.
- Definisci Regioni di Coda Appropriate: Imposta attentamente i confini della coda in base alla disposizione fisica del tuo spazio.
- Regolare la confidenza di rilevamento: Ottimizzare la soglia di confidenza in base alle condizioni di illuminazione e alla densità della folla.
- Integrazione con i sistemi esistenti: Connetti la tua soluzione di gestione delle code con la segnaletica digitale o i sistemi di notifica del personale per risposte automatizzate.
FAQ
Come posso usare Ultralytics YOLO11 per la gestione delle code in tempo reale?
Per utilizzare Ultralytics YOLO11 per la gestione delle code in tempo reale, puoi seguire questi passaggi:
- Carica il modello YOLO11 con
YOLO("yolo11n.pt")
. - Acquisisci il feed video utilizzando
cv2.VideoCapture
. - Definire la regione di interesse (ROI) per la gestione delle code.
- Elabora i fotogrammi 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)]
queuemanager = solutions.QueueManager(
model="yolo11n.pt",
region=queue_region,
line_width=3,
show=True,
)
while cap.isOpened():
success, im0 = cap.read()
if success:
results = queuemanager(im0)
cap.release()
cv2.destroyAllWindows()
Sfruttare Ultralytics HUB può semplificare questo processo fornendo una piattaforma intuitiva per la distribuzione e la gestione della tua soluzione di gestione delle code.
Quali sono i principali vantaggi dell'utilizzo di Ultralytics YOLO11 per la gestione delle code?
L'utilizzo di Ultralytics YOLO11 per la gestione delle code offre diversi vantaggi:
- Tempi di attesa in picchiata: Organizza in modo efficiente le code, riducendo i tempi di attesa dei clienti e aumentando 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 diversi ambienti come negozi, aeroporti e sanità.
Per maggiori dettagli, esplora le nostre soluzioni di Gestione delle code.
Perché dovrei 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, offrendo velocità di elaborazione più elevate.
- Facilità d'uso: Ultralytics offre un'esperienza user-friendly, dal training all'implementazione, tramite Ultralytics HUB.
- Modelli pre-addestrati: Accesso a una vasta gamma di modelli pre-addestrati, riducendo al minimo il tempo necessario per la configurazione.
- Supporto della community: L'ampia documentazione e il supporto attivo della community semplificano la risoluzione dei problemi.
Scopri come iniziare con Ultralytics YOLO.
Ultralytics YOLO11 è in grado di gestire più tipi di code, come negli aeroporti e nella vendita al dettaglio?
Sì, Ultralytics YOLO11 può gestire vari tipi di code, comprese quelle negli aeroporti e negli ambienti di vendita al dettaglio. Configurando QueueManager con regioni e impostazioni specifiche, YOLO11 può adattarsi a diversi layout e densità di code.
Esempio per 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 nel mondo reale.
Quali sono alcune applicazioni reali di Ultralytics YOLO11 nella gestione delle code?
Ultralytics YOLO11 viene utilizzato in diverse applicazioni reali per la gestione delle code:
- Vendita al dettaglio: Monitora le code alle casse per ridurre i tempi di attesa e migliorare la soddisfazione del cliente.
- Aeroporti: Gestisce le code ai banchi dei biglietti e ai punti di controllo di sicurezza per un'esperienza passeggeri più fluida.
- Assistenza sanitaria: Ottimizza il flusso di pazienti in cliniche e ospedali.
- Banche: Migliora il servizio clienti gestendo le code in modo efficiente nelle banche.
Consulta il nostro blog sulla gestione delle code nel mondo reale per saperne di più su come la computer vision sta trasformando il monitoraggio delle code in vari settori.