Geschwindigkeits-Schätzung mit Ultralytics YOLO26 🚀
Was ist Geschwindigkeitsschätzung?
Geschwindigkeitsschätzung ist der Prozess der Berechnung der Bewegungsrate eines Objekts innerhalb eines bestimmten Kontextes, der häufig in Computer Vision-Anwendungen eingesetzt wird. Mit Ultralytics YOLO26 können Sie jetzt die Geschwindigkeit von Objekten mithilfe von Objekt-track in Verbindung mit Distanz- und Zeitdaten berechnen, was für Aufgaben wie Verkehrsüberwachung und -beobachtung entscheidend ist. Die Genauigkeit der Geschwindigkeitsschätzung beeinflusst direkt die Effizienz und Zuverlässigkeit verschiedener Anwendungen und ist somit eine Schlüsselkomponente bei der Weiterentwicklung intelligenter Systeme und Echtzeit-Entscheidungsprozesse.
Ansehen: Geschwindigkeitsschätzung mit Ultralytics YOLO26
Schau dir unseren Blog an
Für tiefere Einblicke in die Geschwindigkeitsschätzung lesen Sie unseren Blogbeitrag: Ultralytics YOLO für die Geschwindigkeitsschätzung in Computer Vision Projekten
Vorteile der Geschwindigkeitsabschätzung
- Effiziente Verkehrssteuerung: Die genaue Geschwindigkeitsschätzung hilft bei der Steuerung des Verkehrsflusses, der Erhöhung der Sicherheit und der Reduzierung von Staus auf den Straßen.
- Präzise autonome Navigation: In autonomen Systemen wie selbstfahrenden Autos gewährleistet eine zuverlässige Geschwindigkeitsschätzung eine sichere und genaue Fahrzeugnavigation.
- Erhöhte Überwachungssicherheit: Die Geschwindigkeitsschätzung in der Überwachungsanalyse hilft, ungewöhnliche Verhaltensweisen oder potenzielle Bedrohungen zu identifizieren und die Effektivität von Sicherheitsmaßnahmen zu verbessern.
Anwendungen in der realen Welt
| Transport | Transport |
|---|---|
![]() | ![]() |
| Geschwindigkeitsschätzung auf der Straße mit Ultralytics YOLO26 | Geschwindigkeitsschätzung auf Brücken mit Ultralytics YOLO26 |
Geschwindigkeit ist eine Schätzung
Die Geschwindigkeit ist eine Schätzung und ist möglicherweise nicht vollständig genau. Zusätzlich kann die Schätzung je nach Kameraspezifikation und verwandten Faktoren variieren.
Geschwindigkeitsschätzung mit 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
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"
# Video writer
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_management.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))
# Initialize speed estimation object
speedestimator = solutions.SpeedEstimator(
show=True, # display the output
model="yolo26n.pt", # path to the YOLO26 model file.
fps=fps, # adjust speed based on frame per second
# max_speed=120, # cap speed to a max value (km/h) to avoid outliers
# max_hist=5, # minimum frames object tracked before computing speed
# meter_per_pixel=0.05, # highly depends on the camera configuration
# classes=[0, 2], # estimate speed of specific classes.
# line_width=2, # adjust the line width for bounding boxes
)
# Process video
while cap.isOpened():
success, im0 = cap.read()
if not success:
print("Video frame is empty or processing is complete.")
break
results = speedestimator(im0)
# print(results) # access the output
video_writer.write(results.plot_im) # write the processed frame.
cap.release()
video_writer.release()
cv2.destroyAllWindows() # destroy all opened windows
SpeedEstimator Argumente
Hier ist eine Tabelle mit den SpeedEstimator Argumente:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
model | str | None | Pfad zu einer Ultralytics YOLO Modelldatei. |
fps | float | 30.0 | Frames pro Sekunde, die für Geschwindigkeitsberechnungen verwendet werden. |
max_hist | int | 5 | Maximale historische Punkte, die pro Objekt zu track sind, für Geschwindigkeits-/Richtungsberechnungen. |
meter_per_pixel | float | 0.05 | Skalierungsfaktor, der für die Umwandlung von Pixelabständen in reale Einheiten verwendet wird. |
max_speed | int | 120 | Maximale Geschwindigkeitsbegrenzung in visuellen Overlays (wird in Warnmeldungen verwendet). |
Die SpeedEstimator Lösung ermöglicht die Verwendung von track Parameter:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Gibt den zu verwendenden Tracking-Algorithmus an, z. B. bytetrack.yaml oder botsort.yaml. |
conf | float | 0.1 | Legt den Konfidenzschwellenwert für Erkennungen fest; niedrigere Werte ermöglichen die Verfolgung von mehr Objekten, können aber auch falsch positive Ergebnisse liefern. |
iou | float | 0.7 | Legt den Intersection over Union (IoU)-Schwellenwert für das Filtern überlappender Detektionen fest. |
classes | list | None | Filtert Ergebnisse nach Klassenindex. Zum Beispiel, classes=[0, 2, 3] verfolgt nur die angegebenen Klassen. |
verbose | bool | True | Steuert die Anzeige der Tracking-Ergebnisse und bietet eine visuelle Ausgabe der verfolgten Objekte. |
device | str | None | Gibt das Gerät für die Inferenz an (z. B. cpu, cuda:0 oder 0). Ermöglicht es Benutzern, zwischen CPU, einer bestimmten GPU oder anderen Rechengeräten für die Modellausführung zu wählen. |
Zusätzlich werden die folgenden Visualisierungsoptionen unterstützt:
| Argument | Typ | Standard | Beschreibung |
|---|---|---|---|
show | bool | False | Wenn Trueaktiviert, werden die annotierten Bilder oder Videos in einem Fenster angezeigt. Nützlich für sofortiges visuelles Feedback während der Entwicklung oder des Testens. |
line_width | int or None | None | Gibt die Linienbreite der Begrenzungsrahmen an. Wenn None, wird die Linienbreite automatisch an die Bildgröße angepasst. Bietet eine visuelle Anpassung für mehr Klarheit. |
show_conf | bool | True | Zeigt den Konfidenzwert für jede Erkennung zusammen mit der Beschriftung an. Gibt Einblick in die Sicherheit des Modells für jede Erkennung. |
show_labels | bool | True | Zeigt Beschriftungen für jede Erkennung in der visuellen Ausgabe an. Ermöglicht ein sofortiges Verständnis der erkannten Objekte. |
FAQ
Wie schätze ich die Objektgeschwindigkeit mit Ultralytics YOLO26?
Die Schätzung der Objektgeschwindigkeit mit Ultralytics YOLO26 beinhaltet die Kombination von Objekterkennung und tracking-Techniken. Zuerst müssen Sie Objekte in jedem Frame mit dem YOLO26-Modell detect. Anschließend track Sie diese Objekte über Frames hinweg, um ihre Bewegung im Laufe der Zeit zu berechnen. Verwenden Sie schließlich die vom Objekt zwischen den Frames zurückgelegte Distanz und die Bildrate, um seine Geschwindigkeit zu schätzen.
Beispiel:
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()
Weitere Informationen finden Sie in unserem offiziellen Blog-Post.
Welche Vorteile bietet die Verwendung von Ultralytics YOLO26 für die Geschwindigkeitsschätzung im Verkehrsmanagement?
Die Verwendung von Ultralytics YOLO26 zur Geschwindigkeitsschätzung bietet erhebliche Vorteile im Verkehrsmanagement:
- Erhöhte Sicherheit: Fahrzeuggeschwindigkeiten genau schätzen, um überhöhte Geschwindigkeiten zu erkennen und die Verkehrssicherheit zu verbessern.
- Echtzeit-Überwachung: Profitieren Sie von der Echtzeit-Objekterkennungsfunktion von YOLO26, um den Verkehrsfluss und Staus effektiv zu überwachen.
- Skalierbarkeit: Stellen Sie das Modell auf verschiedenen Hardware-Setups bereit, von Edge-Geräten bis hin zu Servern, um flexible und skalierbare Lösungen für groß angelegte Implementierungen zu gewährleisten.
Weitere Anwendungsfälle finden Sie unter Vorteile der Geschwindigkeitsschätzung.
Kann YOLO26 in andere KI-Frameworks wie TensorFlow oder PyTorch integriert werden?
Ja, YOLO26 kann in andere KI-Frameworks wie TensorFlow und PyTorch integriert werden. Ultralytics bietet Unterstützung für den Export von YOLO26-Modellen in verschiedene Formate wie ONNX, TensorRT und CoreML, um eine reibungslose Interoperabilität mit anderen ML-Frameworks zu gewährleisten.
So exportieren Sie ein YOLO26-Modell in das ONNX-Format:
yolo export model=yolo26n.pt format=onnx
Erfahren Sie mehr über das Exportieren von Modellen in unserer Anleitung zum Export.
Wie genau ist die Geschwindigkeitsschätzung mit Ultralytics YOLO26?
Die Genauigkeit der Geschwindigkeitsschätzung mit Ultralytics YOLO26 hängt von mehreren Faktoren ab, darunter die Qualität des Objekt-tracking, die Auflösung und Bildrate des Videos sowie Umgebungsbedingungen. Obwohl der Geschwindigkeitsschätzer zuverlässige Schätzungen liefert, ist er aufgrund von Abweichungen in der Frame-Verarbeitungsgeschwindigkeit und Objektverdeckung möglicherweise nicht 100% genau.
Hinweis: Berücksichtigen Sie immer die Fehlerspanne und validieren Sie die Schätzungen nach Möglichkeit mit Ground-Truth-Daten.
Weitere Tipps zur Verbesserung der Genauigkeit finden Sie im Abschnitt Argumente SpeedEstimator Abschnitt.

