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 |
---|
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.