Zum Inhalt springen

Entfernungsberechnung mit Ultralytics YOLO11

Was bedeutet Entfernungsberechnung?

Die Messung des Abstands zwischen zwei Objekten wird als Abstandsberechnung innerhalb eines bestimmten Raums bezeichnet. Im Fall von Ultralytics YOLO11wird der Schwerpunkt des Begrenzungsrahmens verwendet, um den Abstand fĂŒr die vom Benutzer markierten Begrenzungsrahmen zu berechnen.



Beobachten: Entfernungsberechnung mit Ultralytics YOLO11

Bildmaterial

Entfernungsberechnung mit Ultralytics YOLO11
Ultralytics YOLO11 Berechnung der Entfernung

Vorteile der Entfernungsberechnung?

  • PrĂ€zision der Lokalisierung: Verbessert die genaue rĂ€umliche Positionierung bei Computer-Vision-Aufgaben.
  • SchĂ€tzung der GrĂ¶ĂŸe: Ermöglicht die SchĂ€tzung der ObjektgrĂ¶ĂŸe fĂŒr ein besseres kontextuelles VerstĂ€ndnis.
Berechnung der Entfernung
  • Klicken Sie mit der linken Maustaste auf zwei beliebige Bounding Boxes, um den Abstand zu berechnen

Entfernungsberechnung mit YOLO11 Beispiel

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()
Hinweis
  • Rechtsklick der Maus löscht alle gezeichneten Punkte
  • Maus Linksklick kann zum Zeichnen von Punkten verwendet werden
Entfernung ist SchÀtzung
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.

Argumente DistanceCalculation()

Name Type Default Beschreibung
model str None Pfad zu Ultralytics YOLO Modelldatei
line_width int 2 LinienstĂ€rke fĂŒr Begrenzungsrahmen.
show bool False Flagge zur Steuerung, ob der Videostream angezeigt werden soll.

Argumente model.track

Argument Typ Standard Beschreibung
source str None Gibt das Quellverzeichnis fĂŒr Bilder oder Videos an. UnterstĂŒtzt Dateipfade und URLs.
persist bool False Ermöglicht die dauerhafte Verfolgung von Objekten zwischen Einzelbildern, wobei IDs ĂŒber Videosequenzen hinweg beibehalten werden.
tracker str botsort.yaml Gibt den zu verwendenden Verfolgungsalgorithmus an, z. B., bytetrack.yaml oder botsort.yaml.
conf float 0.3 Legt die Konfidenzschwelle fĂŒr Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch zu falsch positiven Ergebnissen fĂŒhren.
iou float 0.5 Legt den Schwellenwert fĂŒr die Überschneidung ĂŒber die Vereinigung (IoU) zum Filtern von ĂŒberlappenden Erkennungen fest.
classes list None Filtert die Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen.
verbose bool True Steuert die Anzeige der Verfolgungsergebnisse und liefert eine visuelle Ausgabe der verfolgten Objekte.

FAQ

Wie berechne ich Entfernungen zwischen Objekten mit Ultralytics YOLO11 ?

So berechnen Sie Entfernungen zwischen Objekten mit Ultralytics YOLO11mĂŒssen Sie die Mittelpunkte der Boundingboxen der erkannten Objekte ermitteln. Dieser Prozess beinhaltet die Initialisierung der DistanceCalculation Klasse von Ultralytics' solutions und verwendet die Tracking-Ausgaben des Modells, um die Entfernungen zu berechnen. Sie können sich auf die Implementierung in der Beispiel fĂŒr Entfernungsberechnung.

Was sind die Vorteile der Entfernungsberechnung mit Ultralytics YOLO11 ?

Die Entfernungsberechnung mit Ultralytics YOLO11 bietet mehrere Vorteile:

  • PrĂ€zision der Lokalisierung: Ermöglicht die genaue rĂ€umliche Positionierung von Objekten.
  • SchĂ€tzung der GrĂ¶ĂŸe: Hilft bei der SchĂ€tzung physischer GrĂ¶ĂŸen und trĂ€gt so zu einem besseren kontextuellen VerstĂ€ndnis bei.
  • SzeneverstĂ€ndnis: Verbessert das 3D-SzenenverstĂ€ndnis und trĂ€gt zu einer besseren Entscheidungsfindung bei Anwendungen wie autonomes Fahren und Überwachung bei.

Kann ich Entfernungsberechnungen in Echtzeit-Videostreams mit Ultralytics YOLO11 durchfĂŒhren?

Ja, Sie können Entfernungsberechnungen in Echtzeit-Videostreams mit Ultralytics YOLO11 durchfĂŒhren. Der Prozess umfasst die Erfassung von Videobildern mit OpenCVLaufen YOLO11 Objekterkennungund die Verwendung der DistanceCalculation um AbstĂ€nde zwischen Objekten in aufeinanderfolgenden Bildern zu berechnen. FĂŒr eine detaillierte Implementierung siehe die Beispiel fĂŒr einen Videostream.

Wie lösche ich Punkte, die wÀhrend der Entfernungsberechnung mit Ultralytics YOLO11 gezeichnet wurden?

Um Punkte zu löschen, die wĂ€hrend der Entfernungsberechnung mit Ultralytics YOLO11 gezeichnet wurden, können Sie einen rechten Mausklick verwenden. Diese Aktion löscht alle von Ihnen gezeichneten Punkte. Weitere Einzelheiten finden Sie im Abschnitt "Hinweise" unter dem Beispiel fĂŒr die Abstandsberechnung.

Was sind die SchlĂŒsselargumente fĂŒr die Initialisierung der Klasse DistanceCalculation in Ultralytics YOLO11 ?

Die wichtigsten Argumente fĂŒr die Initialisierung der DistanceCalculation Klasse in Ultralytics YOLO11 enthalten:

  • model: Pfad der Modelldatei.
  • show: Flagge, die anzeigt, ob der Videostream angezeigt werden soll.
  • line_width: Dicke des Begrenzungsrahmens und der auf dem Bild gezeichneten Linien.

Eine vollstÀndige Liste und Standardwerte finden Sie in den Argumenten von DistanceCalculation.

📅 Created 11 months ago ✏ Updated 29 days ago

Kommentare