Panoramica dei dataset per il tracking multi-oggetto#
Il tracking multi-oggetto è un componente fondamentale dell'analisi video: identifica gli oggetti e mantiene ID univoci per ogni oggetto rilevato tra i fotogrammi del video. Ultralytics YOLO offre potenti funzionalità di tracking applicabili a vari ambiti, tra cui videosorveglianza, analisi sportive e monitoraggio del traffico.
Formato del dataset#
La modalità Track non addestra un tracker e non richiede un dataset specifico per il tracking. Addestra un modello di rilevamento, segmentazione, posa o OBB utilizzando il formato standard del dataset per quell'attività, quindi usa i pesi risultanti con model.track() o yolo track. Il tracker selezionato associa le predizioni del modello tra i fotogrammi durante l'inferenza.
Tracker disponibili#
Ultralytics YOLO supporta i seguenti algoritmi di tracking:
- BoT-SORT - Usa
botsort.yamlper abilitare questo tracker - ByteTrack - Usa
bytetrack.yamlper abilitare questo tracker - OC-SORT - Usa
ocsort.yamlper abilitare questo tracker - Deep OC-SORT - Usa
deepocsort.yamlper abilitare questo tracker - FastTracker - Usa
fasttrack.yamlper abilitare questo tracker - TrackTrack - Usa
tracktrack.yamlper abilitare 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)Mantenimento delle tracce tra i fotogrammi#
Per eseguire il tracking continuo tra i fotogrammi del video, puoi usare il parametro persist=True:
import cv2
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("yolo26n.pt")
# Open the video file
cap = cv2.VideoCapture("path/to/video.mp4")
while cap.isOpened():
success, frame = cap.read()
if success:
# Run tracking with persistence between frames
results = model.track(frame, persist=True)
# Visualize the results
annotated_frame = results[0].plot()
cv2.imshow("Tracking", annotated_frame)
if cv2.waitKey(1) & 0xFF == ord("q"):
break
else:
break
cap.release()
cv2.destroyAllWindows()FAQ#
Per usare il tracking multi-oggetto con Ultralytics YOLO, puoi iniziare con gli esempi Python o CLI forniti. Ecco come iniziare:
Esempiofrom ultralytics import YOLO model = YOLO("yolo26n.pt") # Load the YOLO26 model 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 eseguire il tracking degli oggetti nella sorgente video indicata, con soglie specifiche di confidenza (
conf) e Intersezione sull'unione (iou). Per ulteriori dettagli, consulta la documentazione sulla modalità Track.Ultralytics YOLO è un modello di rilevamento degli oggetti all'avanguardia, noto per le sue prestazioni in tempo reale e l'elevata accuratezza. Usare YOLO per il tracking multi-oggetto offre diversi vantaggi:
- Tracking in tempo reale: ottieni un tracking efficiente e ad alta velocità, ideale per gli ambienti dinamici.
- Flessibilità con i modelli pretrained: non è necessario addestrare un modello da zero; usa semplicemente modelli pretrained di rilevamento, segmentazione, posa o OBB.
- Facilità d'uso: la semplice integrazione dell'API con Python e CLI rende immediata la configurazione delle pipeline di tracking.
- Documentazione completa e supporto della community: Ultralytics offre una documentazione esaustiva e un forum della community attivo per risolvere i problemi e migliorare i tuoi modelli di tracking.
Per ulteriori dettagli sulla configurazione e sull'uso di YOLO per il tracking, visita 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 tracking con Ultralytics YOLO, i risultati includono vari dati, come gli ID degli oggetti tracciati, i relativi riquadri di delimitazione e i punteggi di confidenza. Ecco una breve panoramica su come interpretare questi risultati:
- ID tracciati: a ogni oggetto viene assegnato un ID univoco, che ne facilita il tracking tra i fotogrammi.
- Riquadri di delimitazione: indicano la posizione degli oggetti tracciati all'interno del fotogramma.
- Punteggi di confidenza: riflettono il livello di confidenza del modello nel rilevamento dell'oggetto tracciato.
Per indicazioni dettagliate sull'interpretazione e la visualizzazione di questi risultati, consulta la guida alla gestione dei risultati.
Puoi personalizzare il tracker creando una versione modificata del file di configurazione del tracker. Copia un file di configurazione esistente dalla cartella 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")