Scopri come funziona il tracciamento degli oggetti nella visione artificiale. Scopri come utilizzare Ultralytics per identificare e monitorare oggetti con ID univoci per l'analisi in tempo reale.
Il tracciamento degli oggetti è un processo dinamico nella visione artificiale (CV) che comporta l'identificazione di entità specifiche in un video e il monitoraggio dei loro movimenti attraverso una sequenza di fotogrammi. A differenza dell'analisi statica delle immagini, che tratta ogni istantanea in modo isolato, il tracciamento introduce la dimensione temporale. Ciò consente ai sistemi di intelligenza artificiale (AI) di assegnare un numero di identificazione univoco (ID) a ciascun elemento rilevato, come un'auto, una persona o un animale, e di mantenere tale identità mentre l'oggetto si muove, cambia orientamento o viene temporaneamente oscurato. Questa capacità è la pietra angolare della comprensione avanzata dei video, consentendo alle macchine di analizzare il comportamento, calcolare le traiettorie e ricavare informazioni utili dalle riprese grezze.
I moderni sistemi di tracciamento utilizzano generalmente un paradigma di "tracciamento tramite rilevamento". Questo flusso di lavoro combina potenti modelli di rilevamento con algoritmi specializzati per associare i rilevamenti nel tempo. Il processo segue tipicamente tre fasi principali:
Sebbene questi termini siano strettamente correlati, svolgono funzioni distinte all'interno della pipeline di machine learning (ML).
La capacità di mantenere l'identità degli oggetti consente complesse applicazioni di inferenza in tempo reale in vari settori industriali.
Ultralytics l'implementazione di un tracciamento ad alte prestazioni. Il track modalità nella libreria
gestisce automaticamente il rilevamento, la previsione del movimento e l'assegnazione dell'ID. L'esempio seguente mostra come utilizzare il
Piattaforma Ultralytics modello YOLO26 compatibile per track in un
video.
from ultralytics import YOLO
# Load the official YOLO26n model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video file or webcam (source=0)
# 'show=True' displays the video with bounding boxes and unique IDs
results = model.track(source="https://ultralytics.com/images/bus.jpg", show=True)
# Access the unique tracking IDs from the results
if results[0].boxes.id is not None:
print(f"Detected Track IDs: {results[0].boxes.id.cpu().numpy()}")
Per comprendere appieno l'ecosistema del tracciamento, è utile esplorare la segmentazione delle istanze, che traccia i contorni precisi a livello di pixel di un oggetto piuttosto che solo un riquadro. Inoltre, le sfide di tracciamento multi-oggetto (MOT) spesso coinvolgono benchmark ampiamente utilizzati come MOTChallenge per valutare l'efficacia degli algoritmi nel gestire scene affollate e occlusioni. Per l'implementazione in ambienti di produzione, gli sviluppatori utilizzano spesso strumenti come NVIDIA o OpenCV per integrare questi modelli in pipeline efficienti.