Vai al contenuto

Calcolo della distanza con Ultralytics YOLO11

Che cos'è il calcolo della distanza?

La misurazione dello spazio tra due oggetti è nota come calcolo della distanza all'interno di uno spazio specifico. Nel caso di Ultralytics YOLO11il centroide del rettangolo di selezione viene utilizzato per calcolare la distanza dei rettangoli di selezione evidenziati dall'utente.



Guarda: Calcolo della distanza con Ultralytics YOLO11

Immagini

Calcolo della distanza con Ultralytics YOLO11
Ultralytics YOLO11 Calcolo della distanza

Vantaggi del calcolo della distanza?

  • Precisione di localizzazione: Migliora l'accuratezza del posizionamento spaziale nelle attività di visione computerizzata.
  • Stima delle dimensioni: Consente di stimare le dimensioni degli oggetti per una migliore comprensione del contesto.
Calcolo della distanza
  • Fare clic su due caselle di delimitazione qualsiasi con il tasto sinistro del mouse per calcolare la distanza.

Calcolo della distanza con YOLO11 Esempio

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init distance-calculation obj
distance = solutions.DistanceCalculation(model="yolo11n.pt", show=True)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = distance.calculate(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
Nota
  • Facendo clic con il tasto destro del mouse si cancellano tutti i punti disegnati
  • Il clic sinistro del mouse può essere utilizzato per disegnare punti
La distanza è una stima
Distance will be an estimate and may not be fully accurate, as it is calculated using 2-dimensional data, which lacks information about the object's depth.

Argomenti DistanceCalculation()

Name Type Default Descrizione
model str None Percorso del file del modello Ultralytics YOLO
line_width int 2 Spessore delle linee per i riquadri di delimitazione.
show bool False Flag per controllare se visualizzare il flusso video.

Argomenti model.track

Argomento Tipo Predefinito Descrizione
source str None Specifica la directory di origine delle immagini o dei video. Supporta percorsi di file e URL.
persist bool False Consente il tracciamento persistente degli oggetti tra i fotogrammi, mantenendo gli ID tra le sequenze video.
tracker str botsort.yaml Specifica l'algoritmo di tracciamento da utilizzare, ad es, bytetrack.yaml o botsort.yaml.
conf float 0.3 Imposta la soglia di confidenza per i rilevamenti; valori più bassi consentono di tracciare un maggior numero di oggetti, ma possono includere falsi positivi.
iou float 0.5 Imposta la soglia Intersection over Union (IoU) per il filtraggio dei rilevamenti sovrapposti.
classes list None Filtra i risultati per indice di classe. Ad esempio, classes=[0, 2, 3] tiene traccia solo delle classi specificate.
verbose bool True Controlla la visualizzazione dei risultati del tracciamento, fornendo un output visivo degli oggetti tracciati.

FAQ

Come si calcolano le distanze tra gli oggetti utilizzando Ultralytics YOLO11 ?

Per calcolare le distanze tra gli oggetti utilizzando Ultralytics YOLO11è necessario identificare i centroidi del rettangolo di selezione degli oggetti rilevati. Questo processo comporta l'inizializzazione dei parametri DistanceCalculation da Ultralytics' solutions e utilizzando le uscite di tracciamento del modello per calcolare le distanze. Si può fare riferimento all'implementazione nel file esempio di calcolo della distanza.

Quali sono i vantaggi dell'utilizzo del calcolo della distanza con Ultralytics YOLO11 ?

L'utilizzo del calcolo della distanza con Ultralytics YOLO11 offre diversi vantaggi:

  • Precisione di localizzazione: Fornisce un posizionamento spaziale preciso per gli oggetti.
  • Stima delle dimensioni: Aiuta a stimare le dimensioni fisiche, contribuendo a una migliore comprensione del contesto.
  • Comprensione della scena: Migliora la comprensione della scena 3D, favorendo un migliore processo decisionale in applicazioni come la guida autonoma e la sorveglianza.

È possibile eseguire il calcolo della distanza nei flussi video in tempo reale con Ultralytics YOLO11 ?

Sì, è possibile eseguire il calcolo della distanza nei flussi video in tempo reale con Ultralytics YOLO11 . Il processo prevede l'acquisizione di fotogrammi video utilizzando OpenCV, corsa YOLO11 rilevamento degli oggettie utilizzando l'opzione DistanceCalculation per calcolare le distanze tra gli oggetti in fotogrammi successivi. Per un'implementazione dettagliata, vedere il file esempio di flusso video.

Come si eliminano i punti tracciati durante il calcolo della distanza utilizzando Ultralytics YOLO11 ?

Per cancellare i punti disegnati durante il calcolo della distanza con Ultralytics YOLO11 , è possibile fare clic con il tasto destro del mouse. Questa azione cancellerà tutti i punti disegnati. Per maggiori dettagli, consultare la sezione delle note sotto l'esempio di calcolo della distanza.

Quali sono gli argomenti chiave per inizializzare la classe DistanceCalculation in Ultralytics YOLO11 ?

Gli argomenti chiave per l'inizializzazione del file DistanceCalculation in Ultralytics YOLO11 includono:

  • model: Percorso del file del modello.
  • show: Flag per indicare se il flusso video deve essere visualizzato.
  • line_width: Spessore del rettangolo di selezione e delle linee disegnate sull'immagine.

Per un elenco esaustivo e per i valori predefiniti, vedere gli argomenti di DistanceCalculation.

📅C reato 11 mesi fa ✏️ Aggiornato 1 mese fa

Commenti