La gestione delle code Ultralytics YOLOv8 consiste nell'organizzare e controllare le code 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.
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
Gestione delle code alla biglietteria dell'aeroporto Utilizzo Ultralytics YOLOv8
Monitoraggio delle code nella folla Ultralytics YOLOv8
Esempio di gestione delle code con YOLOv8
importcv2fromultralyticsimportYOLOfromultralytics.solutionsimportqueue_managementmodel=YOLO("yolov8n.pt")cap=cv2.VideoCapture("path/to/video/file.mp4")assertcap.isOpened(),"Error reading video file"w,h,fps=(int(cap.get(x))forxin(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=queue_management.QueueManager()queue.set_args(classes_names=model.names,reg_pts=queue_region,line_thickness=3,fontsize=1.0,region_color=(255,144,31))whilecap.isOpened():success,im0=cap.read()ifsuccess:tracks=model.track(im0,show=False,persist=True,verbose=False)out=queue.process_queue(im0,tracks)video_writer.write(im0)ifcv2.waitKey(1)&0xFF==ord('q'):breakcontinueprint("Video frame is empty or video processing has been successfully completed.")breakcap.release()cv2.destroyAllWindows()
importcv2fromultralyticsimportYOLOfromultralytics.solutionsimportqueue_managementmodel=YOLO("yolov8n.pt")cap=cv2.VideoCapture("path/to/video/file.mp4")assertcap.isOpened(),"Error reading video file"w,h,fps=(int(cap.get(x))forxin(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=queue_management.QueueManager()queue.set_args(classes_names=model.names,reg_pts=queue_region,line_thickness=3,fontsize=1.0,region_color=(255,144,31))whilecap.isOpened():success,im0=cap.read()ifsuccess:tracks=model.track(im0,show=False,persist=True,verbose=False,classes=0)# Only person classout=queue.process_queue(im0,tracks)video_writer.write(im0)ifcv2.waitKey(1)&0xFF==ord('q'):breakcontinueprint("Video frame is empty or video processing has been successfully completed.")breakcap.release()cv2.destroyAllWindows()
Argomenti opzionali set_args
Nome
Tipo
Predefinito
Descrizione
view_img
bool
False
Visualizza i fotogrammi con i conteggi
view_queue_counts
bool
True
Visualizza i conteggi della coda solo sul fotogramma video
line_thickness
int
2
Aumenta lo spessore dei riquadri di delimitazione
reg_pts
list
[(20, 400), (1260, 400)]
Punti che definiscono l'area della regione
classes_names
dict
model.model.names
Dizionario dei nomi delle classi
region_color
RGB Color
(255, 0, 255)
Colore dell'oggetto che conta la regione o la linea
track_thickness
int
2
Spessore delle linee di tracciamento
draw_tracks
bool
False
Abilita il disegno delle linee di tracciamento
track_color
RGB Color
(0, 255, 0)
Colore per ogni linea di binari
count_txt_color
RGB Color
(255, 255, 255)
Colore di primo piano per il testo dei conteggi degli oggetti
region_thickness
int
5
Spessore per la regione o la linea del contatore dell'oggetto
fontsize
float
0.6
Dimensione del carattere del testo di conteggio
Argomenti model.track
Nome
Tipo
Predefinito
Descrizione
source
im0
None
directory di origine per le immagini o i video
persist
bool
False
persistenza dei brani tra i fotogrammi
tracker
str
botsort.yaml
Metodo di tracciamento 'bytetrack' o 'botsort'
conf
float
0.3
Soglia di fiducia
iou
float
0.5
Soglia IOU
classes
list
None
filtrare i risultati per classe, ad esempio classi=0 o classi=[0,2,3].
verbose
bool
True
Visualizza i risultati del tracciamento dell'oggetto