Panoramica sui dataset di Multi-object Tracking

Il Multi-object tracking è un componente critico nell'analisi video che identifica gli oggetti e mantiene ID univoci per ogni oggetto rilevato attraverso i fotogrammi video. Ultralytics YOLO fornisce potenti funzionalità di tracking che possono essere applicate a vari ambiti, tra cui sorveglianza, analisi sportiva e monitoraggio del traffico.

Formato del dataset (Prossimamente)

Il tracking di Ultralytics riutilizza attualmente modelli di rilevamento, segmentazione o posa senza richiedere un addestramento specifico per il tracker. Il supporto nativo per l'addestramento dei tracker è in fase di sviluppo attivo.

Tracker disponibili

Ultralytics YOLO supporta i seguenti algoritmi di tracking:

  • 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("yolo26n.pt")
results = model.track(source="https://youtu.be/LNwODJXcvt4", conf=0.1, iou=0.7, show=True)

Persistenza dei track tra i fotogrammi

Per un tracking continuo attraverso i fotogrammi video, puoi usare il parametro persist=True:

Esempio
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

Come posso usare il Multi-Object Tracking con Ultralytics YOLO?

Per usare 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("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, consulta la documentazione della modalità track.

Quali sono le funzionalità in arrivo per l'addestramento dei tracker in Ultralytics?

Ultralytics migliora continuamente i suoi modelli IA. Una funzionalità in arrivo permetterà l'addestramento di tracker autonomi. Fino ad allora, il Multi-Object Detector sfrutta modelli di rilevamento, segmentazione o Pose pre-addestrati per il tracking senza richiedere un addestramento autonomo. Rimani aggiornato seguendo il nostro blog o controllando le funzionalità in arrivo.

Perché dovrei usare Ultralytics YOLO per il multi-object tracking?

Ultralytics YOLO è un modello di object detection all'avanguardia, noto per le sue prestazioni in tempo reale e l'elevata precisione. Usare YOLO per il multi-object tracking offre diversi vantaggi:

  • Tracking in tempo reale: Ottieni un tracking efficiente e ad alta velocità, ideale per ambienti dinamici.
  • Flessibilità con modelli pre-addestrati: Non c'è bisogno di addestrare da zero; usa semplicemente modelli di rilevamento, segmentazione o Pose pre-addestrati.
  • Facilità d'uso: La semplice integrazione API sia con Python che con CLI rende la configurazione di pipeline di tracking 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 tracking.

Per maggiori dettagli sulla configurazione e sull'uso di YOLO per il tracking, visita la nostra guida all'uso del track.

Posso usare dataset personalizzati per il multi-object tracking con Ultralytics YOLO?

Sì, puoi usare dataset personalizzati per il multi-object tracking con Ultralytics YOLO. Sebbene il supporto per l'addestramento di tracker autonomi sia 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 interpreto 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 su come interpretare questi risultati:

  • ID tracciati: A ogni oggetto viene assegnato un ID univoco, che aiuta a tracciarlo tra i fotogrammi.
  • Bounding box: Questi 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 sull'interpretazione e la visualizzazione di questi risultati, consulta la guida alla gestione dei risultati.

Come posso personalizzare la configurazione del tracker?

Puoi personalizzare il tracker creando una versione modificata del file di configurazione del tracker. Copia un file di configurazione tracker esistente da ultralytics/cfg/trackers, modifica i parametri come necessario 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")

Commenti