Esplora il Multi-Object Tracking (MOT) nella visione artificiale. Scopri come detect track utilizzando Ultralytics per la guida autonoma, la vendita al dettaglio e altro ancora.
Il Multi-Object Tracking (MOT) è un'attività dinamica nell'ambito della visione artificiale (CV) che comporta il rilevamento di più entità distinte all'interno di un flusso video e il mantenimento delle loro identità nel tempo. A differenza del rilevamento standard degli oggetti, che tratta ogni fotogramma come un' istantanea isolata, il MOT introduce una dimensione temporale nell' intelligenza artificiale (AI). Assegnando un numero di identificazione univoco (ID) a ciascuna istanza rilevata, come un pedone specifico in una folla o un veicolo su un'autostrada, gli algoritmi MOT consentono ai sistemi di tracciare traiettorie, analizzare comportamenti e comprendere interazioni. Questa capacità è fondamentale per la moderna comprensione dei video e consente alle macchine di percepire la continuità in un ambiente in evoluzione.
La maggior parte dei sistemi di tracciamento contemporanei opera secondo un paradigma di "tracciamento tramite rilevamento". Questo approccio separa il processo in due fasi principali: identificare ciò che si trova nell'inquadratura e poi associare tali risultati a oggetti noti del passato.
Sebbene la terminologia sia simile, il Multi-Object Tracking (MOT) differisce in modo significativo dal Single Object Tracking (SOT). Il SOT si concentra sul seguire un bersaglio specifico inizializzato nel primo fotogramma, spesso ignorando tutte le altre entità. Al contrario, il MOT deve gestire un numero sconosciuto e variabile di bersagli che possono entrare o uscire dalla scena in qualsiasi momento. Ciò rende il MOT più impegnativo dal punto di vista computazionale, poiché richiede una logica robusta per gestire track e la fine track e le complesse interazioni tra più corpi in movimento.
La capacità di track entità contemporaneamente stimola l'innovazione in diversi settori industriali di rilievo.
Ultralytics l'implementazione del tracciamento con modelli all'avanguardia. Il
track() Il metodo integra perfettamente la logica di rilevamento e tracciamento, supportando algoritmi come
ByteTrack e
SORTEGGIAMENTO. L'esempio riportato di seguito mostra come
tracciare i veicoli in un video utilizzando il metodo consigliato
Modello YOLO26.
from ultralytics import YOLO
# Load the official YOLO26 small model
model = YOLO("yolo26s.pt")
# Track objects in a video file (or use '0' for webcam)
# The 'persist=True' argument keeps track IDs consistent between frames
results = model.track(source="traffic_analysis.mp4", show=True, persist=True)
# Print the IDs of objects tracked in the first frame
if results[0].boxes.id is not None:
print(f"Tracked IDs: {results[0].boxes.id.int().tolist()}")
Nonostante i progressi, il MOT rimane un campo difficile. L'occlusione è una delle principali difficoltà: quando gli oggetti si incrociano o si nascondono dietro ostacoli, mantenere l'identità è complesso. Scene affollate, come una maratona affollata o uno stormo di uccelli, mettono alla prova i limiti degli algoritmi di associazione dei dati. Inoltre, mantenere velocità di inferenza in tempo reale durante l'elaborazione di flussi video ad alta risoluzione richiede architetture di modelli efficienti e spesso hardware specializzato come i dispositivi NVIDIA .
Per affrontare queste sfide, i ricercatori stanno esplorando approcci di deep learning end-to-end che unificano il rilevamento e il tracciamento in un'unica rete, oltre a sfruttare Ultralytics per annotare set di dati complessi e addestrare robusti modelli personalizzati.