Ultralytics YOLO27:
Get Started

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.yaml per attivare questo tracker
  • ByteTrack - Usa bytetrack.yaml per attivare questo tracker
  • OC-SORT - Usa ocsort.yaml per attivare questo tracker
  • Deep OC-SORT - Usa deepocsort.yaml per attivare questo tracker
  • FastTracker - Usa fasttrack.yaml per attivare questo tracker
  • TrackTrack - Usa tracktrack.yaml per attivare questo tracker (predefinito)

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)

Mantenere il tracciamento tra i fotogrammi#

Per continuare il tracciamento nei diversi fotogrammi di un video, puoi usare il parametro persist=True:

Esempio
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:

    Esempio
    from 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")

Commenti