Skip to main content

Stima della velocità con Ultralytics YOLO26 🚀

Cos'è la stima della velocità?

La stima della velocità è il processo di calcolo della velocità di movimento di un oggetto all'interno di un dato contesto, spesso impiegato nelle applicazioni di computer vision. Utilizzando Ultralytics YOLO26 puoi ora calcolare la velocità degli oggetti utilizzando object tracking insieme ai dati di distanza e tempo, fondamentali per compiti come il monitoraggio del traffico e la sorveglianza. L'accuratezza della stima della velocità influenza direttamente l'efficienza e l'affidabilità di varie applicazioni, rendendola una componente chiave nell'avanzamento dei sistemi intelligenti e dei processi decisionali in tempo reale.



Watch: Speed Estimation using Ultralytics YOLO26
Dai un'occhiata al nostro blog

Per approfondimenti sulla stima della velocità, consulta il nostro post sul blog: Ultralytics YOLO per la stima della velocità nei progetti di Computer Vision

Vantaggi della stima della velocità

  • Controllo efficiente del traffico: Una stima accurata della velocità aiuta a gestire il flusso del traffico, migliorando la sicurezza e riducendo la congestione sulle strade.
  • Navigazione autonoma precisa: Nei sistemi autonomi come auto a guida autonoma, una stima affidabile della velocità garantisce una navigazione sicura e precisa del veicolo.
  • Sicurezza migliorata della sorveglianza: La stima della velocità nell'analisi della sorveglianza aiuta a identificare comportamenti insoliti o potenziali minacce, migliorando l'efficacia delle misure di sicurezza.

Applicazioni nel mondo reale

TrasportiTrasporti
Stima della velocità su strada con Ultralytics YOLO26Stima della velocità su ponte con Ultralytics YOLO26
Stima della velocità su strada con Ultralytics YOLO26Stima della velocità su ponte con Ultralytics YOLO26
La velocità è una stima

La velocità sarà una stima e potrebbe non essere completamente accurata. Inoltre, la stima può variare in base alle specifiche della telecamera e a fattori correlati.

La stima della velocità con Ultralytics YOLO
# Run a speed example
yolo solutions speed show=True

# Pass a source video
yolo solutions speed source="path/to/video.mp4"

# Adjust meter per pixel value based on camera configuration
yolo solutions speed meter_per_pixel=0.05

SpeedEstimator Argomenti

Ecco una tabella con gli argomenti di SpeedEstimator :

ArgomentoTipoPredefinitoDescrizione
modelstrNonePercorso verso un file di modello Ultralytics YOLO.
fpsfloat30.0Fotogrammi al secondo utilizzati per i calcoli della velocità.
max_histint5Punti storici massimi da tracciare per oggetto per i calcoli di velocità/direzione.
meter_per_pixelfloat0.05Fattore di scala utilizzato per convertire la distanza in pixel in unità del mondo reale.
max_speedint120Limite di velocità massimo nelle sovrapposizioni visive (utilizzato negli avvisi).

Il metodo SpeedEstimator la soluzione consente l'uso di track parametri:

ArgomentoTipoPredefinitoDescrizione
trackerstr'botsort.yaml'Specifica l'algoritmo di tracciamento da utilizzare, ad esempio bytetrack.yaml o botsort.yaml.
conffloat0.1Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare più oggetti ma potrebbero includere falsi positivi.
ioufloat0.7Imposta la Intersection over Union (IoU) soglia per filtrare rilevamenti sovrapposti.
classeslistNoneFiltra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] traccia solo le classi specificate.
verboseboolTrueControlla la visualizzazione dei risultati di tracciamento, fornendo un output visivo degli oggetti tracciati.
devicestrNoneSpecifica il dispositivo per l'inferenza (es. cpu, cuda:0 o 0). Consente agli utenti di scegliere tra CPU, una GPU specifica o altri dispositivi di calcolo per l'esecuzione del modello.

Inoltre, sono supportate le seguenti opzioni di visualizzazione:

ArgomentoTipoPredefinitoDescrizione
showboolFalseSe True, visualizza le immagini o i video annotati in una finestra. Utile per un feedback visivo immediato durante lo sviluppo o il test.
line_widthint or NoneNoneSpecifica lo spessore della linea dei riquadri di delimitazione. Se None, lo spessore della linea viene regolato automaticamente in base alla dimensione dell'immagine. Fornisce una personalizzazione visiva per la chiarezza.
show_confboolTrueVisualizza il punteggio di confidenza per ogni rilevamento insieme all'etichetta. Fornisce informazioni sulla certezza del modello per ogni rilevamento.
show_labelsboolTrueVisualizza le etichette per ogni rilevamento nell'output visivo. Fornisce una comprensione immediata degli oggetti rilevati.

FAQ

Come stimo la velocità degli oggetti utilizzando Ultralytics YOLO26?

Stimare la velocità degli oggetti con Ultralytics YOLO26 comporta la combinazione di object detection e tecniche di tracciamento. Per prima cosa, devi rilevare gli oggetti in ogni fotogramma utilizzando il modello YOLO26. Quindi, traccia questi oggetti tra i fotogrammi per calcolare il loro movimento nel tempo. Infine, utilizza la distanza percorsa dall'oggetto tra i fotogrammi e il frame rate per stimarne la velocità.

Esempio:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("speed_estimation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Initialize SpeedEstimator
speedestimator = solutions.SpeedEstimator(
    model="yolo26n.pt",
    show=True,
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = speedestimator(im0)
    video_writer.write(results.plot_im)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

Per ulteriori dettagli, consulta il nostro post ufficiale sul blog.

Quali sono i vantaggi dell'utilizzo di Ultralytics YOLO26 per la stima della velocità nella gestione del traffico?

L'utilizzo di Ultralytics YOLO26 per la stima della velocità offre vantaggi significativi nella gestione del traffico:

  • Sicurezza migliorata: Stima accuratamente la velocità dei veicoli per rilevare gli eccessi di velocità e migliorare la sicurezza stradale.
  • Monitoraggio in tempo reale: Approfitta della capacità di rilevamento oggetti in tempo reale di YOLO26 per monitorare efficacemente il flusso del traffico e la congestione.
  • Scalabilità: Distribuisci il modello su varie configurazioni hardware, da dispositivi edge ai server, garantendo soluzioni flessibili e scalabili per implementazioni su larga scala.

Per altre applicazioni, vedi vantaggi della stima della velocità.

YOLO26 può essere integrato con altri framework di IA come TensorFlow o PyTorch?

Sì, YOLO26 può essere integrato con altri framework di IA come TensorFlow e PyTorch. Ultralytics fornisce supporto per l'esportazione dei modelli YOLO26 in vari formati come ONNX, TensorRT, e CoreML, garantendo un'interoperabilità fluida con altri framework di ML.

Per esportare un modello YOLO26 in formato ONNX:

yolo export model=yolo26n.pt format=onnx

Scopri di più sull'esportazione dei modelli nella nostra guida all'esportazione.

Quanto è accurata la stima della velocità utilizzando Ultralytics YOLO26?

Il metodo precisione dell'accuratezza della stima della velocità utilizzando Ultralytics YOLO26 dipende da diversi fattori, tra cui la qualità del tracciamento degli oggetti, la risoluzione e il frame rate del video, e variabili ambientali. Sebbene lo stimatore di velocità fornisca stime affidabili, potrebbe non essere accurato al 100% a causa di varianze nella velocità di elaborazione dei fotogrammi e nell'occlusione degli oggetti.

Nota: Considera sempre il margine di errore e convalida le stime con dati di verità (ground truth) quando possibile.

Per ulteriori suggerimenti sul miglioramento dell'accuratezza, consulta la sezione SpeedEstimatorArgomenti.

Commenti