Object Tracking
Scoprite il tracciamento degli oggetti con Ultralytics! Imparate a track movimento, il comportamento e le interazioni nei video utilizzando i modelli YOLO per le applicazioni in tempo reale.
Il tracciamento degli oggetti è un'attività fondamentale nella
computer vision (CV) che prevede l'identificazione di
specifiche entità all'interno di una sequenza video e di monitorare il loro movimento attraverso fotogrammi consecutivi. A differenza dell'analisi statica delle immagini
statica, questo processo introduce una dimensione temporale, consentendo ai sistemi di mantenere un'identità unica per ogni
elemento rilevato mentre attraversa una scena. Assegnando un numero di identificazione (ID) persistente a ogni entità,
modelli di intelligenza artificiale (AI) possono
analizzare le traiettorie, calcolare le velocità e comprendere le interazioni nel tempo. Questa capacità è essenziale per
trasformare i dati video grezzi in informazioni utili, e costituisce la spina dorsale per i sistemi avanzati di comprensione
sistemi di comprensione video avanzati.
Meccanismi fondamentali di tracciamento
I moderni sistemi di tracciamento operano in genere secondo un paradigma di "tracciamento per rilevamento". Questo flusso di lavoro inizia
un modello di rilevamento degli oggetti, come il
allo stato dell'arte YOLO11che individua gli oggetti in ogni singolo
ogni singolo fotogramma. Una volta che gli oggetti sono stati rilevati e localizzati con
bounding box, subentra l'algoritmo di tracciamento per
di rilevamento con i tracciati esistenti nei fotogrammi precedenti.
Il processo prevede generalmente tre fasi critiche:
-
Previsione del movimento: Algoritmi come il
filtro di Kalman (KF) utilizzano la posizione e la velocità passate dell'oggetto per stimare
posizione e velocità dell'oggetto per stimare la posizione in cui probabilmente apparirà nel fotogramma successivo. Questa previsione restringe l'area di ricerca
ricerca, migliorando significativamente l'efficienza computazionale.
-
Associazione dei dati: Il sistema associa gli oggetti appena rilevati alle tracce esistenti utilizzando metodi di ottimizzazione
metodi di ottimizzazione come l'algoritmo ungherese. Questa fase
si basa su metriche come
Intersezione rispetto all'Unione (IoU) per la
sovrapposizione spaziale o la somiglianza delle caratteristiche visive.
-
Mantenimento dell'identità: Tracker sofisticati, come
ByteTrack e
BoT-SORT, gestiscono scenari complessi in cui gli oggetti
oggetti si incrociano o sono temporaneamente nascosti dietro ostacoli (occlusione). Utilizzando
l'estrazione di caratteristiche e l'apprendimento profondo
embeddings, il sistema è in grado di identificare nuovamente un oggetto anche dopo la sua ricomparsa, evitando il "cambio di ID".
Tracciamento oggetti vs. Rilevamento oggetti
Anche se questi termini vengono spesso citati insieme, hanno scopi distinti nella pipeline di
apprendimento automatico (ML).
-
Il rilevamento degli oggetti risponde alla domanda: "Cosa è presente in questa immagine e dove?". Tratta ogni fotogramma come un evento
tratta ogni fotogramma come un evento indipendente, fornendo etichette di classe e punteggi di confidenza
e i punteggi di confidenza senza memoria del passato.
-
L'Object Tracking risponde alla domanda "Dove sta andando questo specifico oggetto?". Collega i rilevamenti nel tempo
nel tempo, consentendo al sistema di riconoscere che un'auto nel fotogramma 10 è lo stesso veicolo del fotogramma 100. Questa distinzione è fondamentale per le applicazioni che richiedono un'analisi del traffico.
Questa distinzione è fondamentale per le applicazioni che richiedono
di modellazione predittiva del comportamento.
Applicazioni nel mondo reale
La capacità di seguire gli oggetti in modo affidabile sta trasformando diversi settori industriali consentendo
di inferenza in tempo reale in ambienti dinamici.
-
Sistemi di trasporto intelligenti: Nel regno dei veicoli autonomi
veicoli autonomi, la localizzazione è
non è negoziabile. Le auto a guida autonoma devono track pedoni, ciclisti e altri veicoli per prevedere le loro posizioni future ed evitare le collisioni.
posizioni future ed evitare le collisioni. Questo spesso comporta la fusione di dati provenienti da telecamere e
sensori LiDAR per mantenere la precisione in varie condizioni atmosferiche.
-
Analitica del commercio al dettaglio: I negozi di mattoni e malta utilizzano l'IA nel retail per mappare i viaggi dei clienti.
AI nella vendita al dettaglio per mappare i percorsi dei clienti. Tracciando
di movimento, i retailer possono generare heatmap dei corridoi più frequentati, analizzare i tempi di permanenza e ottimizzare il layout del negozio.
layout dei negozi. Questi dati aiutano a gestire in modo efficiente
gestione delle code e il posizionamento dell'inventario.
-
Analisi sportiva: Le squadre professionistiche sfruttano il tracking per analizzare le prestazioni dei giocatori. Combinando
con la stima della posa, gli allenatori possono valutare la
biomeccanica, velocità e formazioni di squadra, fornendo un vantaggio competitivo attraverso una strategia basata sui dati.
Implementare il tracciamento con Python
L'implementazione di un tracciamento ad alte prestazioni è semplice con l'opzione ultralytics pacchetto. Il seguente
esempio mostra come caricare un pacchetto pre-addestrato.
Modello YOLO11
e track oggetti in un file video. Il track gestisce automaticamente il rilevamento e l'assegnazione dell'ID.
from ultralytics import YOLO
# Load the official YOLO11 nano model
model = YOLO("yolo11n.pt")
# Track objects in a video source (use '0' for webcam)
# The 'show=True' argument visualizes the tracking IDs in real-time
results = model.track(source="https://supervision.roboflow.com/assets/", show=True)
# Print the unique IDs detected in the first frame
if results[0].boxes.id is not None:
print(f"Tracked IDs: {results[0].boxes.id.cpu().numpy()}")
Concetti correlati
Per comprendere appieno le sfumature del tracking, è utile comprendere
l'inseguimento di più oggetti (Multi-Object Tracking, MOT), che
che si concentra in particolare sulla gestione di più bersagli contemporaneamente in scene affollate. Inoltre, il tracciamento è spesso
con la segmentazione dell'istanza per track
contorni precisi dell'oggetto piuttosto che i semplici riquadri di delimitazione, offrendo un livello di granularità più elevato per compiti come l'imaging medico o la manipolazione robotica.
imaging medico o la manipolazione robotica.