Panoramica dei dataset per il tracciamento di più oggetti#
Il tracciamento di più oggetti è un elemento fondamentale dell'analisi video: identifica gli oggetti e mantiene un ID univoco per ciascun oggetto rilevato nei diversi fotogrammi. Ultralytics YOLO offre potenti funzionalità di tracciamento, applicabili a vari ambiti, tra cui sorveglianza, analisi sportiva e monitoraggio del traffico.
Formato del dataset#
La modalità Track non addestra un tracker e non richiede un dataset specifico per il tracker. Addestra un modello di rilevamento, segmentazione, posa o OBB usando il formato standard del dataset per quella specifica attività, quindi usa i pesi risultanti con model.track() o yolo track. In fase di inferenza, il tracker selezionato associa le predizioni del modello nei diversi fotogrammi.
Tracker disponibili#
Ultralytics YOLO supporta i seguenti algoritmi di tracciamento:
- BoT-SORT - Usa
botsort.yamlper attivare questo tracker - ByteTrack - Usa
bytetrack.yamlper attivare questo tracker - OC-SORT - Usa
ocsort.yamlper attivare questo tracker - Deep OC-SORT - Usa
deepocsort.yamlper attivare questo tracker - FastTracker - Usa
fasttrack.yamlper attivare questo tracker - TrackTrack - Usa
tracktrack.yamlper attivare questo tracker (predefinito)
Utilizzo#
from ultralytics import YOLO
model = YOLO("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Mantenere il tracciamento tra i fotogrammi#
Per continuare il tracciamento nei diversi fotogrammi di un video, puoi usare il parametro persist=True:
import cv2
from ultralytics import YOLO
# Carica il modello YOLO
model = YOLO("yolo26n.pt")
# Apri il file video
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# Esegui il tracciamento mantenendo lo stato tra i fotogrammi
results = model.track(frame, persist=True)
# Visualizza i risultati
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()Domande frequenti#
Per usare il tracciamento di più oggetti con Ultralytics YOLO, puoi iniziare dagli esempi forniti per Python o CLI. Ecco come cominciare:
Esempiofrom ultralytics import YOLO model = YOLO("yolo26n.pt") # Carica il modello YOLO26 results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)Questi comandi caricano il modello YOLO26 e lo usano per tracciare gli oggetti nel video indicato, con soglie specifiche di confidenza (
conf) e Intersection over Union (iou). Per ulteriori dettagli, consulta la documentazione della modalità Track.Ultralytics YOLO è un modello all'avanguardia per il rilevamento degli oggetti, noto per le prestazioni in tempo reale e l'elevata accuratezza. Usare YOLO per il tracciamento di più oggetti offre diversi vantaggi:
- Tracciamento in tempo reale: ottieni un tracciamento efficiente e ad alta velocità, ideale per gli ambienti dinamici.
- Flessibilità con modelli preaddestrati: non serve addestrare da zero; usa semplicemente modelli preaddestrati di rilevamento, segmentazione, posa o OBB.
- Facilità d'uso: l'integrazione semplice tramite API con Python e CLI rende immediata la configurazione delle pipeline di tracciamento.
- Documentazione completa e supporto della community: Ultralytics offre una documentazione esaustiva e un forum della community attivo per aiutarti a risolvere i problemi e migliorare i tuoi modelli di tracciamento.
Per ulteriori dettagli sulla configurazione e sull'uso di YOLO per il tracciamento, consulta la nostra guida all'uso della modalità Track.
Sì. Addestra un modello di rilevamento, segmentazione, posa o OBB sul tuo dataset personalizzato, quindi passa i relativi pesi a
model.track(). Il tracker viene eseguito durante l'inferenza e non richiede dati di addestramento separati.Dopo aver eseguito un'attività di tracciamento con Ultralytics YOLO, i risultati includono vari dati, come gli ID degli oggetti tracciati, i relativi bounding box e i punteggi di confidenza. Ecco una breve panoramica su come interpretare questi risultati:
- ID degli oggetti tracciati: a ogni oggetto viene assegnato un ID univoco, che aiuta a seguirlo nei diversi fotogrammi.
- Bounding box: indicano la posizione degli oggetti tracciati nel fotogramma.
- Punteggi di confidenza: indicano il livello di sicurezza del modello nel rilevamento dell'oggetto tracciato.
Per istruzioni dettagliate su come interpretare e visualizzare questi risultati, consulta la guida alla gestione dei risultati.
Puoi personalizzare il tracker creando una versione modificata del file di configurazione. Copia un file di configurazione esistente del tracker da ultralytics/cfg/trackers, modifica i parametri secondo necessità e specifica questo file quando esegui il tracker:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")