Link to this sectionConteggio oggetti con Ultralytics YOLO26#
Link to this sectionChe cos'è il conteggio degli oggetti?#
Il conteggio degli oggetti con Ultralytics YOLO26 comporta l'identificazione e il conteggio accurati di oggetti specifici in video e flussi video. YOLO26 eccelle nelle applicazioni in tempo reale, fornendo un conteggio efficiente e preciso per vari scenari come l'analisi della folla e la videosorveglianza, grazie ai suoi algoritmi all'avanguardia e alle capacità di deep learning.
Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀
Link to this sectionVantaggi del conteggio degli oggetti#
- Ottimizzazione delle risorse: Il conteggio degli oggetti facilita una gestione efficiente delle risorse fornendo conteggi accurati, ottimizzando l'allocazione delle risorse in applicazioni come la gestione dell'inventario.
- Sicurezza avanzata: Il conteggio degli oggetti migliora la sicurezza e la sorveglianza monitorando e contando accuratamente le entità, supportando la rilevazione delle minacce in modo proattivo.
- Processo decisionale informato: Il conteggio degli oggetti offre informazioni preziose per il processo decisionale, ottimizzando i processi nel commercio al dettaglio, nella gestione del traffico e in molti altri ambiti.
Link to this sectionApplicazioni nel mondo reale#
| Logistica | Acquacoltura |
|---|---|
![]() | ![]() |
| Conteggio pacchetti su nastro trasportatore con Ultralytics YOLO26 | Conteggio pesci in mare con Ultralytics YOLO26 |
# Run a counting example
yolo solutions count show=True
# Pass a source video
yolo solutions count source="path/to/video.mp4"
# Pass region coordinates
yolo solutions count region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"L'argomento region accetta due punti (per una linea) o un poligono con tre o più punti. Definisci le coordinate nell'ordine in cui devono essere collegate in modo che il contatore sappia esattamente dove si verificano le entrate e le uscite.
Link to this sectionArgomenti di ObjectCounter#
Ecco una tabella con gli argomenti di ObjectCounter:
| Argomento | Tipo | Predefinito | Descrizione |
|---|---|---|---|
model | str | None | Percorso verso un file del modello Ultralytics YOLO. |
show_in | bool | True | Flag per controllare se visualizzare i conteggi in ingresso sul flusso video. |
show_out | bool | True | Flag per controllare se visualizzare i conteggi in uscita sul flusso video. |
region | list | '[(20, 400), (1260, 400)]' | Lista di punti che definiscono la regione di conteggio. |
La soluzione ObjectCounter consente l'uso di diversi argomenti track:
| 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 di tracciare più oggetti ma possono 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 GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello. |
Inoltre, sono supportati gli argomenti di visualizzazione elencati di seguito:
| 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 la larghezza della linea dei bounding box. Se None, la larghezza della linea viene regolata automaticamente in base alla dimensione dell'immagine. Fornisce personalizzazione visiva per chiarezza. |
show_conf | bool | True | Mostra il punteggio di confidenza per ogni rilevamento accanto all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento. |
show_labels | bool | True | Mostra le etichette per ogni rilevamento nell'output visivo. Offre una comprensione immediata degli oggetti rilevati. |
Link to this sectionFAQ#
Link to this sectionCome posso contare gli oggetti in un video utilizzando Ultralytics YOLO26?#
Per contare gli oggetti in un video usando Ultralytics YOLO26, puoi seguire questi passaggi:
- Importa le librerie necessarie (
cv2,ultralytics). - Definisci la regione di conteggio (ad esempio, un poligono, una linea, ecc.).
- Configura l'acquisizione video e inizializza il contatore di oggetti.
- Elabora ogni frame per tracciare gli oggetti e contarli all'interno della regione definita.
Ecco un semplice esempio per il conteggio in una regione:
import cv2
from ultralytics import solutions
def count_objects_in_region(video_path, output_video_path, model_path):
"""Count objects in a specific region within a video."""
cap = cv2.VideoCapture(video_path)
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 = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(show=True, region=region_points, model=model_path)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = counter(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
count_objects_in_region("path/to/video.mp4", "output_video.avi", "yolo26n.pt")Per configurazioni e opzioni più avanzate, consulta la soluzione RegionCounter per contare gli oggetti in più regioni contemporaneamente.
Link to this sectionQuali sono i vantaggi dell'utilizzo di Ultralytics YOLO26 per il conteggio degli oggetti?#
Utilizzare Ultralytics YOLO26 per il conteggio degli oggetti offre diversi vantaggi:
- Ottimizzazione delle risorse: Facilita una gestione efficiente delle risorse fornendo conteggi accurati, aiutando a ottimizzare l'allocazione delle risorse in settori come la gestione dell'inventario.
- Sicurezza avanzata: Migliora la sicurezza e la sorveglianza monitorando e contando accuratamente le entità, supportando la rilevazione proattiva delle minacce e i sistemi di sicurezza.
- Processo decisionale informato: Offre informazioni preziose per il processo decisionale, ottimizzando i processi in ambiti come il commercio al dettaglio, la gestione del traffico e altro ancora.
- Elaborazione in tempo reale: L'architettura di YOLO26 abilita l'inferenza in tempo reale, rendendolo adatto per flussi video live e applicazioni sensibili al fattore tempo.
Per esempi di implementazione e applicazioni pratiche, esplora la soluzione TrackZone per il tracciamento di oggetti in zone specifiche.
Link to this sectionCome posso contare classi specifiche di oggetti usando Ultralytics YOLO26?#
Per contare classi specifiche di oggetti usando Ultralytics YOLO26, devi specificare le classi a cui sei interessato durante la fase di tracciamento. Di seguito è riportato un esempio in Python:
import cv2
from ultralytics import solutions
def count_specific_classes(video_path, output_video_path, model_path, classes_to_count):
"""Count specific classes of objects in a video."""
cap = cv2.VideoCapture(video_path)
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 = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
line_points = [(20, 400), (1080, 400)]
counter = solutions.ObjectCounter(show=True, region=line_points, model=model_path, classes=classes_to_count)
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = counter(im0)
video_writer.write(results.plot_im)
cap.release()
video_writer.release()
cv2.destroyAllWindows()
count_specific_classes("path/to/video.mp4", "output_specific_classes.avi", "yolo26n.pt", [0, 2])In questo esempio, classes_to_count=[0, 2] significa che conta gli oggetti delle classi 0 e 2 (ad esempio, persona e auto nel dataset COCO). Puoi trovare maggiori informazioni sugli indici delle classi nella documentazione del dataset COCO.
Link to this sectionPerché dovrei usare YOLO26 rispetto ad altri modelli di rilevamento oggetti per applicazioni in tempo reale?#
Ultralytics YOLO26 offre diversi vantaggi rispetto ad altri modelli di rilevamento oggetti come Faster R-CNN, SSD e le versioni precedenti di YOLO:
- Velocità ed efficienza: YOLO26 offre capacità di elaborazione in tempo reale, rendendolo ideale per applicazioni che richiedono un'inferenza ad alta velocità, come la videosorveglianza e la guida autonoma.
- Accuratezza: Fornisce un'accuratezza all'avanguardia per le attività di rilevamento e tracciamento degli oggetti, riducendo il numero di falsi positivi e migliorando l'affidabilità complessiva del sistema.
- Facilità di integrazione: YOLO26 offre un'integrazione perfetta con varie piattaforme e dispositivi, inclusi quelli mobili e edge, il che è cruciale per le moderne applicazioni di IA.
- Flessibilità: Supporta varie attività come il rilevamento, la segmentazione e il tracciamento di oggetti con modelli configurabili per soddisfare i requisiti specifici di ogni caso d'uso.
Dai un'occhiata alla Documentazione di YOLO26 di Ultralytics per un approfondimento sulle sue caratteristiche e sui confronti delle prestazioni.
Link to this sectionPosso usare YOLO26 per applicazioni avanzate come l'analisi della folla e la gestione del traffico?#
Sì, Ultralytics YOLO26 è perfettamente adatto per applicazioni avanzate come l'analisi della folla e la gestione del traffico grazie alle sue capacità di rilevamento in tempo reale, alla scalabilità e alla flessibilità di integrazione. Le sue funzionalità avanzate consentono il tracciamento, il conteggio e la classificazione accurata degli oggetti in ambienti dinamici. Esempi di casi d'uso includono:
- Analisi della folla: Monitora e gestisci grandi assembramenti, garantendo la sicurezza e ottimizzando il flusso della folla con il conteggio basato su regioni.
- Gestione del traffico: Traccia e conta i veicoli, analizza i modelli di traffico e gestisci la congestione in tempo reale con capacità di stima della velocità.
- Analisi retail: Analizza i modelli di movimento dei clienti e le interazioni con i prodotti per ottimizzare il layout dei negozi e migliorare l'esperienza del cliente.
- Automazione industriale: Conta i prodotti sui nastri trasportatori e monitora le linee di produzione per il controllo qualità e i miglioramenti dell'efficienza.
Per applicazioni più specializzate, esplora le Soluzioni Ultralytics per un set completo di strumenti progettati per le sfide di visione artificiale del mondo reale.

