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 dettaglioStrade del mercato
Conteggio persone in diverse regioni utilizzando Ultralytics YOLO26Conteggio folla in diverse regioni utilizzando Ultralytics YOLO26
Conteggio persone in diverse regioni utilizzando Ultralytics YOLO26Conteggio folla in diverse regioni utilizzando Ultralytics YOLO26

Esempi di utilizzo

Conteggio per 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="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 windows
Codice di esempio Ultralytics

Il 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:

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso verso un file modello Ultralytics YOLO.
regionlist'[(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:

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracciamento da utilizzare, ad esempio bytetrack.yaml o botsort.yaml.
conffloat0.1Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono il tracciamento di più oggetti ma potrebbero includere falsi positivi.
ioufloat0.7Imposta la soglia di Intersection over Union (IoU) per filtrare i rilevamenti sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
verboseboolTrueControlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati.
devicestrNoneSpecifica 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:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test.
line_widthint or NoneNoneSpecifica 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_confboolTrueVisualizza il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Offre informazioni sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueVisualizza 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:

  1. Clona il repository Ultralytics e naviga nella directory:

    git clone https://github.com/ultralytics/ultralytics
    cd ultralytics/examples/YOLOv8-Region-Counter
  2. 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:

  1. Elaborazione in tempo reale: L'architettura di YOLO26 consente un'inferenza rapida, rendendolo ideale per le applicazioni che richiedono risultati di conteggio immediati.
  2. 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.
  3. Supporto multi-classe: Conta diversi tipi di oggetti contemporaneamente all'interno delle stesse regioni, fornendo analisi complete.
  4. 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.

Commenti