Ultralytics YOLOv8 für die Geschwindigkeitsschätzung in Computer Vision Projekten

Abirami Vina

5 Minuten lesen

23. Mai 2024

Entdecken Sie, wie das Ultralytics YOLOv8-Modell für die Geschwindigkeitsschätzung in Ihren Computer-Vision-Projekten verwendet werden kann. Probieren Sie es selbst mit einem einfachen Codierungsbeispiel aus.

Wahrscheinlich haben wir alle schon einmal Schilder mit Geschwindigkeitsbegrenzungen auf der Straße gesehen. Einige von uns haben vielleicht sogar schon eine automatische Benachrichtigung über eine Geschwindigkeitsüberschreitung per Post oder E-Mail erhalten. Verkehrsmanagementsysteme mit künstlicher Intelligenz (KI) können dank Computer Vision automatisch Geschwindigkeitsübertretungen anzeigen. Echtzeitaufnahmen von Kameras an Straßenlaternen und auf Autobahnen werden zur Geschwindigkeitsschätzung und zur Erhöhung der Verkehrssicherheit verwendet.

Die Schätzung der Geschwindigkeit ist nicht nur auf die Sicherheit im Straßenverkehr beschränkt. Sie kann im Sport, bei autonomen Fahrzeugen und in verschiedenen anderen Anwendungen eingesetzt werden. In diesem Artikel erläutern wir, wie Sie das Ultralytics YOLOv8-Modell für die Geschwindigkeitsschätzung in Ihren Computer-Vision-Projekten verwenden können. Außerdem gehen wir Schritt für Schritt durch ein Codierungsbeispiel, damit Sie es selbst ausprobieren können. Fangen wir an!

Geschwindigkeitsschätzung erleichtert das Verkehrsmanagement

Nach Angaben der Weltgesundheitsorganisation (WHO) sterben jährlich etwa 1,19 Millionen Menschen bei Verkehrsunfällen, die auf überhöhte Geschwindigkeit zurückzuführen sind. Zusätzlich erleiden 20 bis 50 Millionen weitere Menschen nicht-tödliche Verletzungen, von denen viele zu Behinderungen führen. Die Bedeutung der Verkehrssicherheit kann gar nicht hoch genug eingeschätzt werden, vor allem wenn Geschwindigkeitsmessungen dazu beitragen, Unfälle zu vermeiden, Leben zu retten und unsere Straßen sicher und effizient zu halten. 

Bei der Geschwindigkeitsschätzung mittels Computer Vision werden Objekte in Videobildern erkannt und verfolgt, um zu berechnen, wie schnell sie sich bewegen. Algorithmen wie YOLOv8 können Objekte wie z. B. Fahrzeuge in aufeinanderfolgenden Bildern erkennen und verfolgen. Das System misst die Entfernung, die diese Objekte zurücklegen, indem es kalibrierte Kameras oder Referenzpunkte verwendet, um reale Entfernungen zu messen. Durch die Messung der Zeit, die Objekte für die Bewegung zwischen zwei Punkten benötigen, berechnet das System ihre Geschwindigkeit anhand des Verhältnisses von Entfernung und Zeit.

__wf_reserved_inherit
Abb. 1. Geschwindigkeitsabschätzung mit dem Ultralytics YOLOv8-Modell

Neben der Ergreifung von Temposündern können KI-integrierte Systeme zur Geschwindigkeitsschätzung auch Daten sammeln, um Vorhersagen über den Verkehr zu treffen. Diese Vorhersagen können Verkehrsmanagementaufgaben wie die Optimierung von Signalzeiten und die Ressourcenzuweisung unterstützen. Erkenntnisse über Verkehrsmuster und Stauursachen können zur Planung neuer Straßen genutzt werden, um Verkehrsstaus zu verringern.

Anwendungen der Geschwindigkeitsschätzung in anderen Branchen

Anwendungen zur Geschwindigkeitsschätzung gehen über die Überwachung von Straßen hinaus. Sie kann auch nützlich sein, um die Leistung von Sportlern zu überwachen, autonomen Fahrzeugen zu helfen, die Geschwindigkeit von Objekten in ihrer Umgebung zu verstehen, verdächtiges Verhalten zu erkennen, usw. Überall dort, wo eine Kamera zur Messung der Geschwindigkeit eines Objekts eingesetzt werden kann, kann die Geschwindigkeitsschätzung mit Hilfe von Computer Vision eingesetzt werden. 

Hier sind einige Beispiele für die Anwendung von Geschwindigkeitsschätzungen:

  • Die autonomen Autos von Tesla verwenden eine visuelle Geschwindigkeitsschätzung, um Kollisionen zu vermeiden.
  • Computer Vision und Geschwindigkeitsschätzung werden bei den Olympischen Spielen 2024 eingesetzt, um die Leistungsanalyse in Leichtathletikdisziplinen zu verbessern.
  • Intelligente Städte erforschen die Ganganalyse von Fußgängern, um die Gehgeschwindigkeit zu überwachen und die städtische Mobilität und Sicherheit zu erhöhen. Diese Systeme können Autofahrer auf die Anwesenheit von Fußgängern aufmerksam machen und Unfälle verhindern.
  • Systeme zur Überwachung des Tierverhaltens verwenden Geschwindigkeitsschätzungen, um die Bewegungen von Tieren zu verfolgen und Anzeichen von Not oder Krankheit zu erkennen.
__wf_reserved_inherit
Abb. 2. Mit der Geschwindigkeitsschätzung kann die Gehgeschwindigkeit einer Person gemessen werden.

Die Vorteile der Schätzung der Geschwindigkeit mit Hilfe der Computer Vision

Bildverarbeitungsbasierte Systeme zur Geschwindigkeitsschätzung ersetzen herkömmliche sensorgestützte Methoden aufgrund ihrer höheren Genauigkeit, Kosteneffizienz und Flexibilität. Im Gegensatz zu Systemen, die sich auf teure Sensoren wie LiDAR stützen, verwendet Computer Vision Standardkameras zur Überwachung und Analyse der Geschwindigkeit in Echtzeit. Bildverarbeitungslösungen für die Geschwindigkeitsschätzung lassen sich nahtlos in die bestehende Verkehrsinfrastruktur integrieren. Außerdem können diese Systeme für eine Reihe komplexer Aufgaben wie die Identifizierung von Fahrzeugtypen und die Analyse von Verkehrsmustern eingesetzt werden, um den Verkehrsfluss und die Sicherheit insgesamt zu verbessern.

Versuchen Sie es selbst: Geschwindigkeitsabschätzung mit YOLOv8

Nachdem wir nun ein klares Verständnis der Geschwindigkeitsschätzung und ihrer Anwendungen haben, wollen wir uns genauer ansehen, wie Sie die Geschwindigkeitsschätzung durch Code in Ihre Computer-Vision-Projekte integrieren können. Wir werden fahrende Fahrzeuge erkennen und ihre Geschwindigkeit mithilfe des YOLOv8-Modells schätzen.

In diesem Beispiel wird ein Video von Autos auf einer Straße verwendet, das aus dem Internet heruntergeladen wurde. Sie können dasselbe Video oder ein anderes relevantes Video verwenden. Das YOLOv8-Modell identifiziert den Mittelpunkt jedes Fahrzeugs und berechnet seine Geschwindigkeit anhand der Geschwindigkeit, mit der dieser Mittelpunkt eine horizontale Linie im Videobild überquert. 

__wf_reserved_inherit
Abb. 3. Eingangsvideo von Autos auf einer Straße

Bevor wir einsteigen, ist es wichtig zu wissen, dass die Entfernungsberechnung in diesem Fall annähernd ist und auf der euklidischen Entfernung basiert. Die Kamerakalibrierung wird nicht berücksichtigt, so dass die Geschwindigkeitsschätzung möglicherweise nicht ganz genau ist. Außerdem kann die geschätzte Geschwindigkeit je nach der Geschwindigkeit Ihres Grafikprozessors variieren.

Schritt 1: Wir beginnen mit der Installation des Ultralytics-Pakets. Öffnen Sie Ihre Eingabeaufforderung oder Ihr Terminal und führen Sie den unten stehenden Befehl aus.

 

In unserem Ultralytics-Installationshandbuch finden Sie Schritt-für-Schritt-Anweisungen und bewährte Verfahren für den Installationsprozess. Wenn Sie bei der Installation der erforderlichen Pakete für YOLOv8 auf Probleme stoßen, finden Sie in unserem Leitfaden für häufige Probleme Lösungen und hilfreiche Tipps.

Schritt 2: Als Nächstes importieren wir die erforderlichen Bibliotheken. Die OpenCV-Bibliothek wird uns bei der Videoverarbeitung helfen.

Schritt 3: Dann können wir das YOLOv8-Modell laden und die Namen der Klassen abrufen, die das Modell erkennen kann.

Sehen Sie sich alle von uns unterstützten Modelle an, um herauszufinden, welches Modell am besten zu Ihrem Projekt passt.

Schritt 4: In diesem Schritt öffnen wir die Eingabevideodatei mit dem VideoCapture-Modul von OpenCV. Wir extrahieren auch die Breite, Höhe und die Bilder pro Sekunde (fps) des Videos.

Schritt 5: Hier initialisieren wir den Video Writer, um unsere endgültigen Ergebnisse der Geschwindigkeitsschätzung zu speichern. Die ausgegebene Videodatei wird als "speed_estimation.avi" gespeichert.

Schritt6: Als nächstes können wir die Linienpunkte für die Geschwindigkeitsschätzung festlegen. Für unser Eingabevideo wird diese Linie horizontal in der Mitte des Bildes platziert. Sie können mit den Werten herumspielen, um die Linie je nach Eingabevideo an der am besten geeigneten Stelle zu platzieren.

Schritt 7: Nun können wir das Geschwindigkeitsschätzungsobjekt mit den definierten Linienpunkten und Klassennamen initialisieren.

Schritt 8: Der Kern des Skripts verarbeitet das Video Bild für Bild. Wir lesen jedes Bild und erkennen und verfolgen Objekte. Die Geschwindigkeit der verfolgten Objekte wird geschätzt, und das kommentierte Bild wird in das Ausgabevideo geschrieben.

Schritt 9: Zum Schluss geben wir die Videoaufnahme- und Writer-Objekte frei und schließen alle OpenCV-Fenster.

Schritt 10: Speichern Sie Ihr Skript. Wenn Sie mit einem Terminal oder einer Eingabeaufforderung arbeiten, führen Sie das Skript mit dem folgenden Befehl aus:

Wenn Ihr Code erfolgreich ausgeführt wird, sieht Ihre Ausgabedatei wie folgt aus.

__wf_reserved_inherit
Abb. 4. Die Ausgabe der Geschwindigkeitsschätzung mit YOLOv8.


Die Herausforderungen der bildgestützten Geschwindigkeitsschätzung

Es ist auch wichtig, die Herausforderungen zu verstehen, die mit der Implementierung einer Geschwindigkeitsschätzung mit Hilfe von Computer Vision verbunden sind. Ungünstige Wetterbedingungen wie Regen, Nebel oder Schnee können dem System Probleme bereiten, da sie die Sicht auf die Straße behindern können. Ebenso können Verdeckungen durch andere Fahrzeuge oder Objekte es diesen Systemen erschweren, die Geschwindigkeit eines Zielfahrzeugs genau zu verfolgen und zu schätzen. Schlechte Lichtverhältnisse, die Schatten oder Blendung durch die Sonne verursachen, können die Geschwindigkeitsschätzung ebenfalls erschweren.

Eine weitere Herausforderung ist die Rechenleistung. Um die Geschwindigkeit in Echtzeit abschätzen zu können, müssen wir eine Menge visueller Daten von hochwertigen Verkehrskameras verarbeiten. Ihre Lösung erfordert möglicherweise teure Hardware, um all dies zu verarbeiten und sicherzustellen, dass alles schnell und ohne Verzögerungen funktioniert.

Und dann ist da noch die Frage des Datenschutzes. Die von diesen Systemen gesammelten Daten können Details über das Fahrzeug einer Person wie Marke, Modell und Kennzeichen enthalten, die ohne deren Zustimmung erfasst werden. Einige moderne HD-Kameras können sogar Bilder von den Insassen im Auto aufnehmen. Eine solche Datenerfassung kann ernste ethische und rechtliche Fragen aufwerfen, die mit äußerster Sorgfalt behandelt werden müssen.

Mit Vollgas in die Zukunft

Die Verwendung des Ultralytics YOLOv8-Modells für die Geschwindigkeitsschätzung bietet eine flexible und effiziente Lösung für viele Anwendungen. Obwohl es Herausforderungen gibt, wie z. B. die Genauigkeit unter schwierigen Bedingungen und die Berücksichtigung von Datenschutzfragen, sind die Vorteile vielfältig. Computervision-gestützte Geschwindigkeitsschätzungen sind im Vergleich zu älteren Methoden kostengünstiger, anpassungsfähiger und präziser. Sie ist in verschiedenen Bereichen wie Verkehr, Sport, Überwachung und selbstfahrende Autos nützlich. Mit all diesen Vorteilen und Anwendungen ist sie dazu bestimmt, ein wichtiger Bestandteil zukünftiger intelligenter Systeme zu werden.

Interessiert an AI? Verbinden Sie sich mit unserer Community! Entdecken Sie unser GitHub-Repository, um mehr darüber zu erfahren, wie wir KI einsetzen, um innovative Lösungen in verschiedenen Branchen wie dem Gesundheitswesen und der Landwirtschaft zu entwickeln. Arbeiten Sie mit uns zusammen, entwickeln Sie Innovationen und lernen Sie mit uns! 🚀

Lassen Sie uns gemeinsam die Zukunft
der KI gestalten!

Beginnen Sie Ihre Reise in die Zukunft des maschinellen Lernens

Kostenloser Start
Link in die Zwischenablage kopiert