Lechner, M. (2018). Convolutional neural networks for combined classification and detection of distorted traffic signs : a resource- and performance-efficient approach towards hardware implementations [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2018.38220
Eine zuverlässige Erkennung von Verkehrszeichen in Echtzeit ist eine der Grundvoraussetzungen für sicheres, autonomes Fahren. Künstliche neuronale Netze, sogenannte Convolutional Neural Networks (CNNs), werden erfolgreich für unterschiedlichste Aufgaben in den Bereichen Bildverarbeitung und Objekterkennung eingesetzt. Daher ist es naheliegend, ein CNN auch zur Erkennung von Verkehrszeichen einzusetzen. Aktuelle Umsetzungen erreichen zwar eine hohe Genauigkeit, können aber durch ihre schiere Größe mit mehreren Millionen Parametern nicht auf günstige FGPA Plattformen portiert werden. In dieser Arbeit wird gezeigt, dass auch ein deutlich kleineres und in Bezug auf die benötigen Ressourcen effizienteres Netzwerk 98.34% der Verkehrszeichen richtig zuordnen kann. Das dazu entwickelte CNN hat einen einfachen Aufbau ohne Verzweigungen oder Schleifen und benötigt nur etwa 60,000 Parameter. Zusätzlich wird auf aufwendige Methoden wie Batch Normalization und exponentionelle Nichtlinearitäten (ELU) verzichtet. Um die nötige Trainingszeit des neuronalen Netzes zu reduzieren, werden die einzelnen Updateschritte überwacht und, falls notwendig, angepasst. Außerdem wird in dieser Arbeit der Einfluss von Dropout auf die erreichbare Klassifizierungsgenauigkeit kleiner Netzwerke analysiert. Es zeigt sich, dass ein positiver Effekt zwar vorhanden, die erzielbare Verbesserung aber schwächer ausgeprägt ist als bei größeren CNNs. Durch den Wechsel von Gleitkommaparametern zu binären Parametern kann das entwickelte neuronale Netz auch auf einem ZedBoard implementiert werden. Trotz der beträchtlich gesteigerten Ressourceneffizienz sinkt dieKlassifizierungsgenauigkeit nur um 1.81 Prozentpunkte auf 96.53%. Ein Nachteil des einfachen Aufbaus des Netzwerkes und des verwendeten „Erkennung durch Klassifizierung“ Ansatzes ist, dass in kompletten Bildern nur etwa 80% der Verkehrszeichen erkannt werden. Die Ergebnisse zeigen, dass zur Klassifizierung von Verkehrszeichen mit hoher Genauigkeit kein Netzwerk mit über einer Million Parametern nötig ist. Andererseits zeigt sich auch, dass eine sichere und zuverlässige Erkennung eine komplexere Architektur oder deutlich mehr Parameter benötigt. Dennoch stellt diese Arbeit eine gute Basis für die zukünftige Entwicklung von zuverlässigen und gleichzeitig ressourceneffizienten neuronalen Netzen dar, welche auch auf kostengünstigen FPGA Plattformen implementiert werden können.
de
Precise classification and detection of traffic signs in real-time is one of the non-trivial requirements for safe autonomous driving. Convolutional neural networks (CNNs) are a widely accepted concept for various kinds of image processing and machine vision tasks. Thus, it seems appropriate to use a CNN for detecting and classifying traffic signs. However, state-of-the-art CNNs for traffic sign detection though accurate are resource hungry due to their inherent structure with millions of parameters, and thus, not feasible to fit on low-end FPGA platforms. This work shows that a much smaller, resource- and performance-efficient architecture can achieve a classification accuracy of 98.34% on real-world images. Therefore, the developed CNN has a simple, straight-forward architecture with only 60,000 weights and without using expensive computations like Batch Normalization or Exponential Linear Units (ELU). To reduce the time required for training such a network, step-size control is used as a way of managing the weight updates. Furthermore, this work shows that Dropout can improve the accuracy of a small-scale network, but the effect is smaller compared to larger architectures. Moving to binary weights increases the resource efficiency and allows an implementation on a ZedBoard with an accuracy of 96.53%. However, the simple network architecture in combination with the “detection by classification” approach limits the detection accuracy to approximately 80%. The results demonstrate that it is not necessary to use a CNN with 1e6 and more weights to classify traffic signs with high accuracy. On the other hand, a reliable detection requires a more advanced network architecture. However, this work can be used as a starting point for developing efficient and reliable detection networks with a small hardware footprint to fit on low-cost FPGA platforms.