Conteggio di oggetti in diverse regioni utilizzando Ultralytics YOLO 🚀
Che cos'è il conteggio di oggetti nelle regioni?
Il conteggio di oggetti nelle regioni con Ultralytics YOLO26 comporta la determinazione precisa del numero di oggetti all'interno di aree specificate utilizzando una avanzata computer vision. Questo approccio è utile per ottimizzare i processi, migliorare la sicurezza e aumentare l'efficienza in varie applicazioni.
Watch: Object Counting in Different Regions using Ultralytics YOLO26 | Ultralytics Solutions 🚀
Vantaggi del conteggio di oggetti nelle regioni
- Precisione e accuratezza: Il conteggio di oggetti nelle regioni con una avanzata computer vision garantisce conteggi precisi e accurati, riducendo al minimo gli errori spesso associati al conteggio manuale.
- Miglioramento dell'efficienza: Il conteggio automatizzato degli oggetti migliora l'efficienza operativa, fornendo risultati in tempo reale e ottimizzando i processi in diverse applicazioni.
- Versatilità e applicazione: La versatilità del conteggio di oggetti nelle regioni lo rende applicabile in vari settori, dalla produzione alla sorveglianza fino al monitoraggio del traffico, contribuendo alla sua ampia utilità ed efficacia.
Applicazioni nel mondo reale
| Vendita al dettaglio | Strade del mercato |
|---|---|
![]() | ![]() |
| Conteggio persone in diverse regioni utilizzando Ultralytics YOLO26 | Conteggio folla in diverse regioni utilizzando Ultralytics YOLO26 |
Esempi di utilizzo
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="yolo26n.pt", # model for counting in regions, e.g., yolo26s.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 windowsIl modulo di conteggio per regioni di Ultralytics è disponibile nella nostra sezione esempi. Puoi esplorare questo esempio per la personalizzazione del codice e modificarlo per adattarlo al tuo caso d'uso specifico.
Argomenti di RegionCounter
Ecco una tabella con gli argomenti di RegionCounter:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file modello Ultralytics YOLO. |
region | list | '[(20, 400), (1260, 400)]' | Elenco di punti che definiscono la regione di conteggio. |
La soluzione RegionCounter abilita l'uso dei parametri di tracciamento degli oggetti:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Specifica l'algoritmo di tracciamento da utilizzare, ad esempio bytetrack.yaml o botsort.yaml. |
conf | float | 0.1 | Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono il tracciamento di più oggetti ma potrebbero includere falsi positivi. |
iou | float | 0.7 | Imposta la soglia di Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti. |
classes | list | None | Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate. |
verbose | bool | True | Controlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati. |
device | str | None | Specifica il dispositivo per l'inferenza (ad esempio cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una specifica GPU 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 | int or None | None | Specifica lo spessore della linea dei riquadri di delimitazione. Se None, lo spessore viene regolato automaticamente in base alla dimensione dell'immagine. Fornisce personalizzazione visiva per maggiore chiarezza. |
show_conf | bool | True | Visualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Offre informazioni sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Visualizza le etichette per ogni rilevamento nell'output visivo. Fornisce una comprensione immediata degli oggetti rilevati. |
FAQ
Che cos'è il conteggio di oggetti in regioni specificate utilizzando Ultralytics YOLO26?
Il conteggio di oggetti in regioni specificate con Ultralytics YOLO26 comporta il rilevamento e il conteggio del numero di oggetti all'interno di aree definite utilizzando una avanzata computer vision. 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 su regioni con Ultralytics YOLO26?
Segui questi passaggi per eseguire il conteggio di oggetti in Ultralytics YOLO26:
-
Clona il repository Ultralytics e naviga nella directory:
git clone https://github.com/ultralytics/ultralytics cd ultralytics/examples/YOLOv8-Region-Counter -
Esegui lo script di conteggio per regioni:
python yolov8_region_counter.py --source "path/to/video.mp4" --save-img
Per ulteriori opzioni, visita la sezione Esempi di utilizzo.
Perché dovrei usare Ultralytics YOLO26 per il conteggio di oggetti nelle regioni?
Usare Ultralytics YOLO26 per il conteggio di oggetti nelle regioni offre diversi vantaggi:
- Elaborazione in tempo reale: L'architettura di YOLO26 consente un'inferenza rapida, rendendolo ideale per le applicazioni che richiedono risultati di conteggio immediati.
- Definizione flessibile delle regioni: La soluzione ti permette di definire più regioni personalizzate come poligoni, rettangoli o linee per soddisfare le tue specifiche esigenze di monitoraggio.
- Supporto multi-classe: Conta diversi tipi di oggetti contemporaneamente all'interno delle stesse regioni, fornendo analisi complete.
- Capacità di integrazione: Integralo facilmente con i sistemi esistenti tramite la Python API o l'interfaccia a riga di comando di Ultralytics.
Esplora vantaggi più approfonditi nella sezione Vantaggi.
Quali sono alcune applicazioni reali del conteggio di oggetti nelle regioni?
Il conteggio di oggetti con Ultralytics YOLO26 può essere applicato a numerosi scenari reali:
- Analisi al dettaglio: Conta i clienti in diverse sezioni del negozio per ottimizzare il layout e il personale.
- Gestione del traffico: Monitora il flusso di veicoli in specifici segmenti stradali o incroci.
- Produzione: Traccia i prodotti che si muovono attraverso diverse zone di produzione.
- Operazioni di magazzino: Conta gli articoli in inventario in 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.

