Panoramica dei set di dati per il tracciamento multi-oggetto
Il tracciamento multi-oggetto è una componente critica nell'analisi video che identifica gli oggetti e mantiene ID univoci per ciascun oggetto rilevato nei fotogrammi video. Ultralytics YOLO fornisce potenti funzionalità di tracciamento che possono essere applicate a vari domini, tra cui la sorveglianza, l'analisi sportiva e il monitoraggio del traffico.
Formato del Dataset (Prossimamente)
Il rilevatore multi-oggetto non necessita di addestramento autonomo e supporta direttamente i modelli pre-addestrati di rilevamento, segmentazione o posa. Il supporto per l'addestramento dei soli tracker sarà disponibile a breve.
Tracker disponibili
Ultralytics YOLO supporta i seguenti algoritmi di tracciamento:
- BoT-SORT - Usa
botsort.yaml
per abilitare questo tracker (predefinito) - ByteTrack - Usa
bytetrack.yaml
per abilitare questo tracker
Utilizzo
Esempio
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
yolo track model=yolo11n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.3, iou=0.5 show
Mantenimento delle tracce tra i frame
Per il tracciamento continuo attraverso i fotogrammi video, puoi utilizzare il persist=True
parametro:
Esempio
import cv2
from ultralytics import YOLO
# Load the YOLO model
model = YOLO("yolo11n.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
Come posso usare il Multi-Object Tracking con Ultralytics YOLO?
Per utilizzare il Multi-Object Tracking con Ultralytics YOLO, puoi iniziare utilizzando gli esempi python o CLI forniti. Ecco come puoi iniziare:
Esempio
from ultralytics import YOLO
model = YOLO("yolo11n.pt") # Load the YOLO11 model
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.3, iou=0.5, show=True)
yolo track model=yolo11n.pt source="https://youtu.be/LNwODJXcvt4" conf=0.3 iou=0.5 show
Questi comandi caricano il modello YOLO11 e lo utilizzano per tracciare gli oggetti nella sorgente video specificata con una confidenza specifica (conf
) e Intersezione sull'Unione (iou
) soglie. Per maggiori dettagli, fare riferimento al Documentazione sulla modalità track.
Quali sono le prossime funzionalità per l'addestramento dei tracker in Ultralytics?
Ultralytics migliora continuamente i suoi modelli di intelligenza artificiale. Una prossima funzionalità abiliterà l'addestramento di tracker standalone. Fino ad allora, Multi-Object Detector sfrutta modelli pre-addestrati di rilevamento, segmentazione o posa per il tracciamento senza richiedere un addestramento standalone. Rimani aggiornato seguendo il nostro blog o controllando le prossime funzionalità.
Perché dovrei usare Ultralytics YOLO per il tracking multi-oggetto?
Ultralytics YOLO è un modello di object detection all'avanguardia, noto per le sue prestazioni in tempo reale e l'elevata precisione. L'utilizzo di YOLO per il multi-object tracking offre diversi vantaggi:
- Tracciamento in tempo reale: Ottieni un tracciamento efficiente e ad alta velocità, ideale per ambienti dinamici.
- Flessibilità con modelli pre-addestrati: Non è necessario addestrare da zero; è sufficiente utilizzare modelli di rilevamento, segmentazione o posa pre-addestrati.
- Facilità d'uso: La semplice integrazione dell'API con python e CLI rende semplice l'impostazione delle pipeline di tracking.
- Documentazione completa e supporto della community: Ultralytics fornisce una documentazione esaustiva e un forum attivo della community per risolvere i problemi e migliorare i tuoi modelli di tracking.
Per maggiori dettagli sulla configurazione e l'utilizzo di YOLO per il tracking, visita la nostra guida all'utilizzo del tracking.
Posso utilizzare set di dati personalizzati per il tracciamento multi-oggetto con Ultralytics YOLO?
Sì, puoi usare dataset personalizzati per il tracking multi-oggetto con Ultralytics YOLO. Mentre il supporto per l'addestramento di tracker standalone è una funzionalità in arrivo, puoi già usare modelli pre-addestrati sui tuoi dataset personalizzati. Prepara i tuoi dataset nel formato appropriato compatibile con YOLO e segui la documentazione per integrarli.
Come posso interpretare i risultati del modello di tracking Ultralytics YOLO?
Dopo aver eseguito un lavoro di tracking con Ultralytics YOLO, i risultati includono vari punti dati come gli ID degli oggetti tracciati, i loro bounding box e i punteggi di confidenza. Ecco una breve panoramica di come interpretare questi risultati:
- ID tracciati: A ogni oggetto viene assegnato un ID univoco, che aiuta a tracciarlo attraverso i fotogrammi.
- Bounding box: Questi indicano la posizione degli oggetti tracciati all'interno del frame.
- Punteggi di confidenza: Riflettono la fiducia del modello nel rilevare l'oggetto tracciato.
Per una guida dettagliata sull'interpretazione e la visualizzazione di questi risultati, consultare la guida alla gestione dei risultati.
Come posso personalizzare la configurazione del tracker?
È possibile personalizzare il tracker creando una versione modificata del file di configurazione del tracker. Copiare un file di configurazione del tracker esistente da ultralytics/cfg/trackers, modificare i parametri in base alle esigenze e specificare questo file quando si esegue il tracker:
from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.track(source="video.mp4", tracker="custom_tracker.yaml")