Neuronale Netze, die Verkehrsregeln schützen



Verstöße gegen Verkehrsregeln (SDA) durch Fahrer bergen betriebliche, Reputations- und rechtliche Risiken für Organisationen.



Zuvor wurden Videoaufnahmen von offiziellen Fahrzeugen analysiert, um Verstöße zu identifizieren. Dies ist ein routinemäßiger und zeitaufwändiger Vorgang, da sehr große Videovolumina manuell verarbeitet wurden. Es wurde beschlossen, diesen Prozess zu automatisieren und ein Modell zur Erkennung von Verkehrsverstößen zu erstellen, um eine risikoorientierte Videoauswahl zu bilden.



Zunächst wurde beschlossen, nach solchen groben Verkehrsverstößen wie dem Überqueren einer doppelten durchgezogenen Linie und dem Fahren an einer roten Ampel zu suchen.



Zur Bildsegmentierung und Erkennung von Straßenmarkierungen wurde ein Faltungsnetzwerk der U-Net-Architektur verwendet. Diese Architektur ist eine Folge von Faltungs- und Pooling-Schichten, die zuerst die räumliche Auflösung des Bildes verringern und dann erhöhen, nachdem sie zuvor die Bilder mit den Daten kombiniert und durch andere Faltungsschichten geleitet haben.



Zum Trainieren des Modells wurde ein Trainingsdatensatz benötigt. Leider bestanden alle gefundenen Datensätze von Open Access aus Fotos von Straßen, die nicht aus Russland stammten. Die Ergebnisse des Trainings des Modells auf fremden Straßen waren enttäuschend: Das Modell weigerte sich oft einfach, unsere inländischen Straßenmarkierungen als Markierungen wahrzunehmen. Aus diesem Grund wurde beschlossen, unabhängig ein Trainingsmuster zu erstellen. Aus dem Video der Rekorder wurden etwa 1.500 Screenshots geschnitten, und das Straßenbett wurde mit dem Supervise.ly-Dienst darauf markiert (Abb. 1).







Das auf einem solchen Datensatz trainierte Modell konnte Straßenmarkierungen auf unseren Videos von Rekordern erkennen. Das neuronale Netzwerk findet durchgezogene Linien im Video und approximiert sie, wenn sie mindestens eine vorgegebene Anzahl von Pixeln enthalten (so dass zufällige Linien, diskontinuierliche oder nicht durchgezogene, nicht berücksichtigt werden), zu einer geraden Linie, die unser Auto nicht mehr kreuzen sollte.







Abbildung 2 zeigt, wie U-Net funktioniert: Oben ist die Originalaufzeichnung von der Windschutzscheibe, unten ein Beispiel für das neuronale Netz, wobei die grünen Bereiche die Straßenmarkierungsmaske und die dünnen roten Linien die Annäherung an die Linienmarkierungen darstellen.



Das Modell zeigte bei der Verarbeitung der meisten Videos von Rekordern eine sehr gute Leistung. Es ist jedoch zu beachten, dass bei der Analyse einer schneebedeckten Straße oder eines im Dunkeln aufgenommenen Videos Schwierigkeiten auftraten - in einigen Fällen sind die Markierungen einfach nicht sichtbar.



Um das Vorhandensein von Ampeln und Autos festzustellen, wurde ein vorab trainiertes neuronales Netzwerk Darknet + Yolo v3 verwendet. Dieses neuronale Netzwerk ist eine verbesserte Version der YOLO-Architektur, die für You Only Look Once steht. Das Hauptmerkmal von YOLO v3 ist, dass es drei Ausgabeebenen hat, von denen jede Objekte unterschiedlicher Größe erkennt.



Das Hauptmerkmal dieser Architektur im Vergleich zu anderen ist, dass die meisten Systeme das neuronale Netzwerk mehrmals auf verschiedene Teile des Bildes anwenden, und in YOLO wird das neuronale Netzwerk auf einmal und einmal auf das gesamte Bild angewendet. Das Netzwerk unterteilt das Bild in eine Art Raster und sagt Begrenzungsrahmen (Parallelepipeds, Begrenzung der gefundenen Objekte) und die Wahrscheinlichkeit voraus, dass es diese gewünschten Objekte für jeden Bereich gibt.



Die Vorteile dieses Ansatzes bestehen darin, dass YOLO beim Betrachten des gesamten Bildes den Kontext des Bildes beim Erkennen und Erkennen eines Objekts berücksichtigt. Auch YOLO hat klare Leistungsvorteile: Es ist tausendmal schneller als R-CNN und mehrere hundertmal schneller als Fast R-CNN.







Ein Beispiel für den YOLO-Betrieb ist in Abbildung 3 dargestellt. Die Bildanalyse wird Frame für Frame durchgeführt. Alle gefundenen roten Ampeln werden vom neuronalen Netzwerk korrekt erkannt.



Das Training von zwei ganzen neuronalen Netzen erfordert einen ausreichend leistungsfähigen Computer, insbesondere im Hinblick auf eine Grafikkarte GPU-Berechnungen werden verwendet. Wir haben einen Core i7-Prozessor der achten Generation, eine nvidia gtx1080-Grafikkarte und 32 GB RAM verwendet. Solche Systemmerkmale reichten für die Projektumsetzung völlig aus.



Basierend auf den Ergebnissen der Verwendung von Modellen zur Erkennung von Verkehrsverstößen können wir sagen, dass es ein erfolgreiches Projekt war. Die Eingabe in das Skript war ein Video vom Auto-Recorder für einen Monat mit einer Gesamtdauer von 7 Stunden 11 Minuten, die Zeit der Modellinferenz (Verarbeitung eingehender Videos) betrug 25 Minuten. Am Ende der Verarbeitung aller Videodateien wurden 112 Fragmente von 8 Sekunden (insgesamt 15 Minuten) geschnitten, von denen fast 7 Stunden eingespart wurden. Verstöße konnten leicht identifiziert werden.

Sie können Ihre Fragen an die E-Mail-Adresse senden .



All Articles