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 Utilizzo Ultralytics YOLO11 | Monitoraggio delle code nella folla Ultralytics YOLO11 |
Esempio di gestione delle code con 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, 404), (1080, 360), (20, 360)] # Define queue region points
# queue_region = [(20, 400), (1080, 404), (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:
- Caricare il modello YOLO11 con
YOLO("yolo11n.pt")
. - Acquisire il feed video utilizzando
cv2.VideoCapture
. - Definire la regione di interesse (ROI) per la gestione delle code.
- 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, 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 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.