Panoramica sui dataset di tracciamento multi-oggetto#
Il tracciamento multi-oggetto è una componente fondamentale nell'analisi video che identifica gli oggetti e mantiene ID univoci per ogni oggetto rilevato tra i fotogrammi video. Ultralytics YOLO offre potenti funzionalità di tracciamento che possono essere applicate a vari settori, tra cui la videosorveglianza, l'analisi sportiva e il monitoraggio del traffico.
Formato del dataset#
La modalità Track non addestra un tracker né richiede un dataset specifico per il tracker. Addestra un modello di rilevamento, segmentazione, posa o OBB con il formato di dataset standard di quel task, quindi usa i pesi risultanti con model.track() o yolo track. Il tracker selezionato associa le predizioni del modello tra i fotogrammi in fase di inferenza.
Tracker disponibili#
Ultralytics YOLO supporta i seguenti algoritmi di tracciamento:
- 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)Persistenza dei tracciamenti tra i fotogrammi#
Per un tracciamento continuo tra i fotogrammi 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 tracciamento multi-oggetto con Ultralytics YOLO, puoi iniziare utilizzando gli esempi in Python o CLI forniti. Ecco come puoi 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 tracciare oggetti nella sorgente video fornita con specifiche soglie di confidenza (
conf) e Intersection over Union (iou). Per maggiori dettagli, fai riferimento alla documentazione della modalità track.Ultralytics YOLO è un modello di object detection all'avanguardia noto per le sue prestazioni in tempo reale e l'alta accuracy. L'uso di YOLO per il tracciamento di oggetti multipli offre diversi vantaggi:
- Tracciamento in tempo reale: Ottieni un tracciamento efficiente e ad alta velocità ideale per ambienti dinamici.
- Flessibilità con i modelli pre-addestrati: Non è necessario addestrare da zero; usa semplicemente modelli pre-addestrati di rilevamento, segmentazione, posa o OBB.
- Facilità d'uso: La semplice integrazione API sia con Python che con CLI rende la configurazione delle pipeline di tracciamento immediata.
- Documentazione estesa e supporto della community: Ultralytics fornisce una documentazione completa e un forum della community attivo per risolvere problemi e migliorare i tuoi modelli di tracciamento.
Per maggiori dettagli su come configurare e usare YOLO per il tracciamento, visita la nostra guida all'uso di track.
Sì. Addestra un modello di rilevamento, segmentazione, posa o OBB sul tuo dataset personalizzato, quindi passa i suoi pesi a
model.track(). Il tracker stesso viene eseguito durante l'inferenza e non richiede dati di addestramento separati.Dopo aver eseguito un'operazione di tracciamento con Ultralytics YOLO, i risultati includono vari punti dati come gli ID degli oggetti tracciati, le loro bounding box 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 aiuta a tracciarlo tra i fotogrammi.
- Bounding box: Queste indicano la posizione degli oggetti tracciati all'interno del fotogramma.
- Punteggi di confidenza: Questi riflettono la confidenza del modello nel rilevare l'oggetto tracciato.
Per una guida dettagliata su come interpretare e visualizzare questi risultati, fai riferimento alla guida alla gestione dei risultati.
Puoi personalizzare il tracker creando una versione modificata del file di configurazione del tracker. Copia un file di configurazione del tracker esistente da ultralytics/cfg/trackers, modifica i parametri secondo necessità e specifica questo file durante l'esecuzione del tracker:
from ultralytics import YOLO model = YOLO("yolo26n.pt") results = model.track(source="video.mp4", tracker="custom_tracker.yaml")