Inseguimento di più oggetti (MOT)
Esplorare il Multi-Object Tracking (MOT): track e re-identificare gli oggetti nei fotogrammi video con YOLO11, filtri di Kalman, corrispondenza di aspetto e moderna associazione di dati.
L'inseguimento di più oggetti (Multi-Object Tracking, MOT) è un'attività fondamentale nella
computer vision che prevede il rilevamento di più
entità distinte all'interno di un flusso video e di mantenere la loro identità unica in fotogrammi consecutivi. Mentre
rilevamento standard degli oggetti identifica ciò che è
in una singola immagine statica, il MOT introduce una dimensione temporale, rispondendo alla domanda su dove si muovono determinati oggetti nel tempo.
oggetti specifici si muovono nel tempo. Assegnando un numero di identificazione (ID) persistente a ogni istanza rilevata, MOT permette ai sistemi di analizzare le traiettorie, le
di analizzare le traiettorie, comprendere le interazioni e contare gli oggetti unici, rendendolo un componente fondamentale delle moderne applicazioni di comprensione video.
moderne applicazioni di comprensione video.
La meccanica dei sistemi di tracciamento
La maggior parte dei sistemi MOT all'avanguardia, compresi quelli alimentati da
YOLO11operano secondo il paradigma del "tracking-by-detection".
per il rilevamento". Questo flusso di lavoro separa il processo in fasi distinte che si ripetono per ogni fotogramma del video per garantire un'elevata precisione e continuità.
precisione e continuità.
-
Rilevamento: Il sistema utilizza innanzitutto un modello ad alte prestazioni per individuare gli oggetti di interesse,
generando caselle di delimitazione e
punteggi di confidenza.
-
Previsione del movimento: Per associare i rilevamenti tra i vari fotogrammi, algoritmi come il filtro di
filtro di Kalman stimano la posizione futura di un
di un oggetto in base alla sua velocità e posizione passata. Questo crea una
stima dello stato che restringe l'area di ricerca per il fotogramma successivo.
fotogramma successivo.
-
Associazione dei dati: Il sistema associa i nuovi rilevamenti alle tracce esistenti. Le tecniche di ottimizzazione
come l'algoritmo ungherese risolvono questo problema di
problema di assegnazione minimizzando il costo dell'abbinamento, spesso calcolando l'Intersezione su Unione (IoU) tra le tracce.
Intersezione su Unione (IoU) tra la traccia prevista e il nuovo rilevamento.
la track prevista e il nuovo rilevamento.
-
Re-identificazione (ReID): In scenari in cui gli oggetti si incrociano o vengono temporaneamente nascosti - un fenomeno noto come
fenomeno noto come occlusione, i tracker
tracker avanzati utilizzano le incorporazioni visive per riconoscere l'oggetto
quando riappare, impedendo il cambio di ID.
MOT e termini correlati di visione artificiale
È importante distinguere il MOT da concetti simili per selezionare la tecnologia appropriata per un caso d'uso specifico.
-
rispetto al rilevamento di oggetti: Il rilevamento considera ogni fotogramma come un evento indipendente. Se un veicolo appare in
due fotogrammi consecutivi, un rilevatore vede due istanze separate di "auto". Al contrario,
il rilevamento degli oggetti mette in relazione queste istanze,
riconoscendole come lo stesso veicolo che si muove nel tempo.
-
vs. Single-Object Tracking (SOT): SOT si concentra sul seguire un obiettivo specifico inizializzato dall'utente, spesso ignorando tutte le altre attività.
utente, spesso ignorando tutte le altre attività. Il MOT è più complesso in quanto deve detect, track e gestire autonomamente un numero sconosciuto e fluttuante di oggetti che entrano ed escono dalla scena.
un numero sconosciuto e fluttuante di oggetti che entrano ed escono dalla scena, richiedendo una robusta logica di gestione della memoria.
logica di gestione della memoria.
Applicazioni nel mondo reale
La capacità di track più oggetti simultaneamente è alla base dell'innovazione in diversi settori, convertendo i dati video grezzi in
dati video grezzi in intuizioni
modelli predittivi.
-
Trasporto intelligente: Nel campo dell'IA nel settore automobilistico
AI nel settore automobilistico, il MOT è fondamentale per
guida autonoma e il monitoraggio del traffico. Consente ai sistemi di eseguire
stima della velocità calcolando la distanza percorsa da un
veicolo nel tempo e aiuta a prevedere potenziali collisioni monitorando le traiettorie di pedoni e ciclisti.
ciclisti.
-
Analitica del commercio al dettaglio: I negozi "Brick-and-mortar" sfruttano
L'intelligenza artificiale nella vendita al dettaglio per comprendere il comportamento dei clienti. Applicando
applicando l'intelligenza artificiale per il conteggio preciso degli oggetti,
i retailer possono misurare il traffico pedonale, analizzare i tempi di permanenza in corsie specifiche e ottimizzare la gestione delle code per migliorare lo shopping.
gestione delle code per migliorare l'esperienza
esperienza di acquisto.
-
Analisi sportiva: Gli allenatori e gli analisti utilizzano il MOT per track giocatori e la palla durante le partite. Questi dati
dati facilitano l'analisi avanzata della stima della posa, aiutando le squadre a capire
a comprendere le formazioni, la stanchezza dei giocatori e le dinamiche di gioco in scenari di
scenari di inferenza in tempo reale.
Implementare il tracciamento con Python
Il ultralytics semplifica la complessità di MOT, integrando potenti tracker come
SORTEGGIAMENTO e
ByteTrack direttamente nella pipeline di predizione
pipeline. Questi tracker possono essere scambiati facilmente tramite gli argomenti.
L'esempio seguente mostra come caricare un modello YOLO11 preaddestrato e applicare il tracciamento a un file video:
from ultralytics import YOLO
# Load an official YOLO11 model pretrained on COCO
model = YOLO("yolo11n.pt")
# Perform tracking on a video file
# 'persist=True' ensures IDs are maintained between frames
# 'tracker' allows selection of algorithms like 'bytetrack.yaml' or 'botsort.yaml'
results = model.track(source="traffic_analysis.mp4", persist=True, tracker="bytetrack.yaml")
# Visualize the results
for result in results:
result.show()
Questo codice gestisce l'intera pipeline, dal rilevamento all'assegnazione dell'ID, consentendo agli sviluppatori di concentrarsi sulla logica di alto livello, come il conteggio delle regioni o il comportamento.
logica di alto livello, come il conteggio delle regioni o l'analisi
analisi comportamentale. Per ulteriori personalizzazioni, consultare la documentazione
della modalità di tracciamento.