Conteggio degli oggetti in diverse regioni utilizzando Ultralytics YOLO 🚀
Cos'è il conteggio degli oggetti nelle regioni?
Il conteggio degli oggetti in regioni con Ultralytics YOLO11 comporta la determinazione precisa del numero di oggetti all'interno di aree specificate utilizzando computer vision avanzata. Questo approccio è prezioso per ottimizzare i processi, migliorare la sicurezza e aumentare l'efficienza in varie applicazioni.
Guarda: Conteggio degli oggetti in diverse regioni utilizzando Ultralytics YOLO11 | Soluzioni Ultralytics 🚀
Vantaggi del conteggio degli oggetti nelle regioni?
- Precisione e Accuratezza: Il conteggio degli oggetti in regioni con computer vision avanzata garantisce conteggi precisi e accurati, riducendo al minimo gli errori spesso associati al conteggio manuale.
- Miglioramento dell'efficienza: Il conteggio automatico degli oggetti migliora l'efficienza operativa, fornendo risultati in tempo reale e semplificando i processi in diverse applicazioni.
- Versatilità e applicazione: La versatilità del conteggio degli oggetti nelle regioni lo rende applicabile in vari domini, dalla produzione e sorveglianza al monitoraggio del traffico, contribuendo alla sua diffusa utilità ed efficacia.
Applicazioni nel mondo reale
Vendita al dettaglio | Strade del mercato |
---|---|
![]() |
![]() |
Conteggio delle persone in diverse regioni utilizzando Ultralytics YOLO11 | Conteggio della folla in diverse regioni utilizzando Ultralytics YOLO11 |
Esempi di utilizzo
Conteggio delle regioni utilizzando Ultralytics YOLO
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Pass region as list
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
# Pass region as dictionary
region_points = {
"region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
"region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
}
# 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("region_counting.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize region counter object
regioncounter = solutions.RegionCounter(
show=True, # display the frame
region=region_points, # pass region points
model="yolo11n.pt", # model for counting in regions i.e yolo11s.pt
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = regioncounter(im0)
# print(results) # access the output
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
Codice di esempio Ultralytics
Il modulo di conteggio delle regioni di Ultralytics è disponibile nella nostra sezione degli esempi. Puoi esplorare questo esempio per la personalizzazione del codice e modificarlo per adattarlo al tuo caso d'uso specifico.
RegionCounter
Argomenti
Ecco una tabella con i RegionCounter
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 RegionCounter
solution consente l'utilizzo di parametri di object tracking:
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 supportate le seguenti impostazioni 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. |
FAQ
Cos'è il conteggio degli oggetti in regioni specifiche utilizzando Ultralytics YOLO11?
Il conteggio degli oggetti in regioni specifiche con Ultralytics YOLO11 implica il rilevamento e il conteggio del numero di oggetti all'interno di aree definite utilizzando la computer vision avanzata. Questo metodo preciso migliora l'efficienza e l'accuratezza in varie applicazioni come la produzione, la sorveglianza e il monitoraggio del traffico.
Come posso eseguire lo script di conteggio oggetti basato sulla regione con Ultralytics YOLO11?
Segui questi passaggi per eseguire il conteggio degli oggetti in Ultralytics YOLO11:
-
Clona il repository Ultralytics e vai alla directory:
git clone https://github.com/ultralytics/ultralytics cd ultralytics/examples/YOLOv8-Region-Counter
-
Esegui lo script di conteggio delle regioni:
python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
Per ulteriori opzioni, visitare la sezione Esempi di utilizzo.
Perché dovrei usare Ultralytics YOLO11 per il conteggio di oggetti in regioni?
L'utilizzo di Ultralytics YOLO11 per il conteggio degli oggetti nelle regioni offre diversi vantaggi:
- Elaborazione in tempo reale: L'architettura di YOLO11 consente un'inferenza rapida, rendendolo ideale per applicazioni che richiedono risultati di conteggio immediati.
- Definizione flessibile delle regioni: La soluzione consente di definire più regioni personalizzate come poligoni, rettangoli o linee per soddisfare le specifiche esigenze di monitoraggio.
- Supporto multi-classe: Conta simultaneamente diversi tipi di oggetti all'interno delle stesse regioni, fornendo analisi complete.
- Funzionalità di integrazione: Si integra facilmente con i sistemi esistenti tramite l'API python di Ultralytics o l'interfaccia a riga di comando.
Esplora i vantaggi più approfonditi nella sezione Vantaggi.
Quali sono alcune applicazioni reali del conteggio di oggetti nelle regioni?
Il conteggio degli oggetti con Ultralytics YOLO11 può essere applicato a numerosi scenari del mondo reale:
- Retail Analytics: Conta i clienti in diverse sezioni del negozio per ottimizzare la disposizione e l'organico.
- Gestione del traffico: Monitora il flusso di veicoli in specifici segmenti stradali o incroci.
- Produzione: Traccia i prodotti che si spostano attraverso diverse zone di produzione.
- Operazioni di magazzino: Conta gli articoli di inventario nelle aree di stoccaggio designate.
- Sicurezza Pubblica: Monitora la densità della folla in zone specifiche durante gli eventi.
Esplora altri esempi nella sezione Applicazioni nel mondo reale e nella soluzione TrackZone per ulteriori funzionalità di monitoraggio basate su zone.