YOLO Vision 2026:

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

Persistenza dei tracciamenti tra i fotogrammi#

Per un tracciamento continuo tra 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#

  • Per usare il tracciamento multi-oggetto con Ultralytics YOLO, puoi iniziare utilizzando gli esempi in 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, 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")

Commenti