Neuronale Netze

(Bild: Imagination)

Autonomes Fahren erfordert eine umfassende Auswertung von einer Vielzahl von Sensorsignalen. Die Rohdaten dieser Sensoren sind allerdings ohne eine Verarbeitung nutzlos. Um zu erkennen, was tatsächlich von den Sensoren erfasst wurde, muss man die Daten erst verstehen oder interpretieren.

Der folgende Artikel erläutert die Grundlagen der Interpretation von Sensor-Eingangsdaten und erklärt auf einer konzeptionellen Ebene einige der Algorithmen, die man zur Bildverarbeitung in Anwendungen für autonomes Fahren nutzt. Darüber hinaus beschreibt er die Anforderungen, die solche Anwendungen an herkömmliche Prozessoren stellen, und geht auf neue SoC-IP-Elemente zur Leistungsbeschleunigung für diese Anwendungen ein.

Die „Augen“ des Fahrzeugs

Beim autonomen Fahren müssen Sensor-Eingangssignale erfasst und daraus nützliche Informationen extrahiert werden, aus denen sich eine Karte der Fahrumgebung erstellen lässt. Diese Karte beinhaltet den Erfassungsbereich mit allen ihren passiven Objekten (etwa Gebäude, Brücken und Bäume) und dynamischen Objekten (andere Fahrzeuge, Fußgänger, Radfahrer oder Tiere). Nach der Extraktion dieser Karte und der darin enthaltenen Objekte folgt die Phase der Sensorfusion. Hier fällt das System Entscheidungen über die Interpretation der aus der Szene extrahierten Informationen. Jede fehlerhafte Entscheidung auf der Fusionsebene kann negative Auswirkungen auf den Fahrvorgang haben.

Als letzte Phase folgt die Betätigung: Hier gibt das System entweder eine Meldung an den Fahrer über das Armaturenbrett aus (passive Systeme) oder übernimmt die Kontrolle über Bremsen, Beschleunigen oder Lenken (aktives ADAS). Diese Schritte ermöglichen die Implementation einer Reihe von ADAS- oder autonomen Fahrfunktionen. Zu diesen Funktionen zählen unter anderem adaptive Geschwindigkeitsregelung (Adaptive Cruise Control, ACC), automatische Notbremsung (Automatic Emergency Braking, AEB ), Spurhaltewarnungen, Totwinkelerkennung, Fußgänger-/Radfahrer-Erkennung sowie Fahrer-Überwachungssysteme (Driver Monitoring Systems, DMS).

Die Herausforderung, einem Auto das „Sehen“ im komplexen städtischen Umfeld, auf einer Autobahn oder einer unbeleuchteten Straße unter schlechten Wetterbedingungen beizubringen, umfasst vier Aufgaben: Signalerfassung, Objekterkennung, Klassifizierung und Sensorfusion. Alle diese Aktionen und die Steuerung des Fahrzeugs müssen in Echtzeit erfolgen. Die Art, wie Sensoren die Szenerie erfassen, ist allerdings oft mit Problemen verbunden:

  • Objekte können dem System in unterschiedlichen Sichtwinkeln präsentiert werden.
  • Objekte können nun sehr allgemein klassifiziert sein, obwohl es beispielsweise hunderte von unterschiedlichen Automodellen gibt.
  • Verschiedene Wetterbedingungen wie Schnee, Hagel, extremer Regen und Nebel erschweren die Erfassung.
  • Unterschiedliche Beleuchtungsbedingungen wie Sonnenuntergang oder Dunkelheit können ebenfalls die Signalerfassung beeinträchtigen.
Neuronale Netze

Bild 1: Die verschiedenen Sensor-Typen und ihre Einsatzgebiete in einem Fahrzeug. Imagination

Alle diese Szenarien sind zu berücksichtigen, um ein genaues Bild des Geschehens rund um das Fahrzeug und ihrer möglichen Auswirkungen auf das Fahrzeug zu erhalten. Eine ungenaue Signalerfassung kann zu falsch-positiven Erkennungen, Unfällen und womöglich Todesopfern führen, wenn das Fahrzeug eine falsche Entscheidung trifft. Bild 1 zeigt die zahlreichen Sensoren rund um das Fahrzeug, die als „Auge“ dienen. Jeder von ihnen bildet die Basis für eine oder mehrere Funktionen und bietet zusätzliche Redundanz für eine Gegenprüfung und Validierung von Entscheidungen. Vor allem aber hat jeder dieser Sensortypen spezifische Vorteile.

Lidarsysteme

Lidarsensoren messen die Entfernung zu einem Objekt, also zu einem anderen Fahrzeug oder einer Person, und berechnen diese aus der Laufzeit eines Lichtpulses vom Sensor zu diesem Objekt und zurück. Meist montiert man einen Lidarsensor auf dem Fahrzeugdach; dort liefert er eine dreidimensionale 360°-Ansicht aller Objekte, denen das Fahrzeug ausweichen sollte. Aktuelle Systeme sind oft sehr teuer (bis zu 100.000 US-Dollar). Allerdings liefern erste Unternehmen bereits relativ kostengünstige Systeme zu Preisen ab weniger als 1000 US-Dollar.

Das Lidarsystem „sieht“ eine sehr detaillierte Abbildung (Punktwolke) aller Objekte in der Umgebung. Diese Technik hat ihre Grenzen – man sollte sie zusammen mit Kameras oder Ähnlichem einsetzen. So lässt sich sicherstellen, dass Objekte wie Verkehrsschilder erkannt und entsprechend interpretiert werden.

Radarsysteme

Für Radarsysteme gibt es zwei Arten von Sensoren. Der erste Typ eignet sich für den Nahbereich und arbeitet mit einer Frequenz von 22 GHz, der andere unterstützt den Fernbereich mit einer Frequenz von 77 GHz. Die Radartechnik eignet sich am besten zur Messung von Bewegungen. Sie nutzt Funkwellen zur Ermittlung der Geschwindigkeit, der Entfernung und des Lagewinkels von Objekten. Zwar kann Radar Winkel weniger genau messen als Lidar, es kann aber unter beliebigen Wetterbedingungen arbeiten und Reflexionen nutzen, um hinter Hindernisse zu sehen. Ein weiterer Unterschied zwischen Radar und Lidar besteht darin, dass Radar wesentlich weniger Daten benutzt. Im Moment verwenden autonom fahrender Prototypen sowohl Radar wie auch Lidar für eine „Gegenprüfung“ der gesehenen Objekte und zur Vorhersage von Bewegungen für bessere Genauigkeit.

In einer städtischen Verkehrssituation gibt es statische Objekte wie Wände, Häuser und Bordsteine, deren Konturen sich im Verlauf der Zeit ändern, während sich das Fahrzeug entlang der Straße bewegt. Dazu kommen Menschen, die den Raum an Kreuzungen oder zwischen den einzelnen Fahrzeugen zusammen mit dem autonomen Fahrzeug nutzen. Menschen lassen sich nur schwer vorhersagen; daher sind gewisse Lernvorgänge über das Maß der Unvorhersehbarkeit menschlicher Bewegungen erforderlich. So könnte die Kamera beispielsweise eine große Person und zwei kleinere erkennen und diese als Familiengruppe deuten. Im nächsten Schritt geht es dann etwa darum, das Alter der kleineren Personen ermitteln und in ein Verhaltensmuster für Personen dieses Alters einzuordnen.

Kamerasysteme

Kameras haben sich zur Basis der meisten kostengünstigen ADAS-Lösungen entwickelt; bei Bedarf lassen Sie sich mit Radar und Lidar verknüpfen. Kameragestützte Sensoren eignen sich am besten zur Objektklassifizierung sowie zur Interpretation von Texturen. Schon die preisgünstigsten und gängigsten Sensorkameras können massive Datenmengen generieren. Dies macht die Datenverarbeitung zu einer rechenintensiven und algorithmisch komplexen Aufgabe, wobei das System eine große Daten-Bandbreite besitzen muss. Anders als Lidar und Radar können Kameras Farben erfassen, wodurch sie sich am besten zur Interpretation einer Szene eignen.

Neuronale Netze

Bild 2: Die Kamera-Bildextraktion liefert einen Satz von klassifizierten Objekten. Autonomous Vision Group

Als Ergebnis liefert die Kamera-Bildextraktion einen Satz von klassifizierten Objekten: Auto, Lastwagen, Person, Radfahrer samt einem Begrenzungsrahmen und einem Vektor für Geschwindigkeit und Bewegungsrichtung (Bild 2). Nach der Bilderfassung durch den Kamerasensor übernimmt das zentrale Prozessor-Element die Interpretation und Deutung der Szenerie samt Objekterkennung und -klassifizierung. Für diese Aufgabe nutzen die meisten Unternehmen neuronale Netze (Convolutional Neural Networks, CNNs), da sich diese auf CPUs, DSPs oder GPU-Recheneinheiten ausführen lassen.

Neuronale Netze integrieren

Die Geschichte von CNNs ist noch relativ jung; sie reicht nur zurück bis in die 1980er Jahre, wobei weitere Ergänzungen und Erweiterungen kontinuierlich vorgenommen wurden. CNNs sind aus algorithmischer Sicht die effizienteste Methode der Bildverarbeitung, die in ihrem Kern mit maschinellem Lernen (ML) arbeitet.

Deep Learning (DL) ist eine Art von maschinellem Lernen. Der Begriff kommt von den vielen, tief im Netzwerk verborgenen Verarbeitungsschichten, deren Zahl im zwei- bis dreistelligen Bereich liegt. CNNs leisten beispielsweise Hervorragendes bei der Bilderkennung und -klassifizierung und nutzen Dutzende bis zu hunderten verborgener Schichten. Jede dieser Schichten kann jeweils etwas Komplexeres erkennen. Dabei reichen die Fähigkeiten vom Erlernen einer Kantenerkennung auf einer Ebene bis zum Erlernen der Erkennung von bildspezifischen Formen auf tieferen Ebenen. Die Leistung von DL-Netzen wird mit zunehmenden Mengen an bereitgestellten Trainingsdaten immer besser.

Künstliche neuronale Netze (Artificial Neural Networks, ANNs oder verkürzt NNs) basieren ähnlich wie CNNs auf Computer-gestützten Netzen aus Prozessoren, die so konzipiert sind, dass sie ähnlich wie das menschliche Gehirn arbeiten. ANNs nutzen unterschiedliche Schichten der mathematischen Verarbeitung, um im Lauf der Zeit empfangenen Daten immer besser zu verstehen; dabei kann es sich um Bilder über Sprache bis zu Text und noch mehr handeln. Für eine korrekte Funktion muss man NNs trainieren, indem man sie mit massiven Datenmengen füttert. Bei einem CNN könnte man dies für eine Bildklassifizierung machen.

Im Fall eines Verkehrszeichen-Erkennungssystems muss man hunderttausende, wenn nicht sogar Millionen von Bildern von Verkehrszeichen in unterschiedlichen Winkeln, Entfernungen, Belichtungen, Farben und Formen durch das System laufen lassen. Dabei entsteht ein Satz von Koeffizienten für die unterschiedlichen Knoten/Schichten des CNN, die dann die Identifikation eines bestimmten Verkehrszeichens ermöglichen. Anschließend folgt eine Inferenz-Stufe, die aus den am Sensor ankommenden Daten schließt, ob es sich um ein Verkehrszeichen handelt oder nicht. Das neuronale Netzwerk lernt anfänglich durch ein Offline-Training, und kann dann in Echtzeit durch Inferenz (Schlussfolgerung) weiter lernen. Das Trainieren eines Netzwerks für hohe Genauigkeit erfordert erhebliche Rechenleistung und wird oft in Datenzentren auf großen GPU-Arrays durchgeführt.

Zur Implementation von konvolutionalen neuronalen Netzen hat Imagination mit der Serie 2NX eine Reihe von Hardware-Beschleunigern entwickelt. Diese Beschleuniger bieten geringere Chipfläche, eine gegenüber GPU-Berechnungslösungen erheblich höhere Rechenleistung sowie verringerte Verlustleistung.

Für CNN optimierte Hardware

Die sehr niedrige Leistungsaufnahme des 2NX ist eine Konsequenz aus den Erfahrungen der Imagination-Designer bei der Entwicklung mobiler Plattformen. Eine weitere Besonderheit ist die flexible Unterstützung für unterschiedliche Bittiefen, die sich individuell pro Schicht definieren lassen. Im Allgemeinen trainiert man ein neuronales Netzwerk mit voller 32-Bit Präzision. Würde man dies für die Inferenz-Funktion tun, so würde das eine sehr große Bandbreite sowie sehr viel Energie benötigen und den Rahmen eines Mobil-Einsatzes sprengen. In anderen Worten: Selbst wenn man die Rechenleistung zur Ausführung dieses Schrittes hätte, würde dies die Batterielaufzeit erheblich belasten.

Neuronale Netze

Bild 3: Beispiel einer Implementation von variablen Gewichtungen und Datenauflösungen für das 2NX-System. Imagination

Zur Lösung dieses Problems kann man im 2NX die Bittiefe sowohl für die Gewichtung wie auch für die Daten variieren (Bild 3). Dies gewährleistet hohe Inferenz-Genauigkeit bei zugleich deutlich verringerten Bandbreiten-Anforderungen und ermöglicht als Folge eine deutliche Senkung des Energiebedarfs. 2NX unterstützt Bittiefen von 16 Bit (wie beim Automotive-Einsatz erforderlich) bis hinab zu 4 Bit und sämtliche Werte dazwischen.

Anders als bei anderen Lösungen löst Imagination die Reduktion der Bittiefe nicht mit einem primitiven „Brute Force“-Konzept. Die Bittiefe lässt sich für Gewichtungen und Daten separat für jedes Layer festlegen, und ermöglicht dem Entwickler eine umfassende Optimierung der Leistung seiner Netze. Zur Wahrung der Genauigkeit bleibt die Bittiefe intern unverändert. Im Ergebnis ermöglicht dies eine höhere Leistung bei geringerer Bandbreite und kleinerem Energiebedarf.

Im praktischen Einsatz benötigt der 2NX gegenüber konkurrierenden Lösungen nur 25 Prozent der Bandbreite. In Einsätzen, bei denen eine Senkung der Auflösung von 8 auf 4 Bits zulässig ist, verringert sich der Leistungsverbrauch des 2NX um 31 Prozent – bei einem Verlust an Genauigkeit von weniger als ein Prozent.

Eck-DATEN

Die Implementation eines vollständig autonomen Fahrbetriebs erfordert ein zunehmendes Maß an spezialisierter Datenverarbeitung. Der Fähigkeit des „Sehens“ sind Autos mit Einführung von neuronalen Netzen (CNN) einen großen Schritt näher gekommen. Imagination überträgt die Verarbeitung von CNN-Algorithmen jetzt von GPU-Recheneinheiten auf die 2NX-Beschleuniger-Familie, die bessere Energieeffizienz, höhere Leistung und geringeren Flächenbedarf bietet.

Bryce Johnstone

Marketing-Direktor Automotive bei Imagination Technologies

(ku)

Sie möchten gerne weiterlesen?