Suchen

Automotive

Softwaretechnik für pilotiertes Fahren

Seite: 2/4

Firmen zum Thema

2. Ein Blick auf relevante Softwaretechnologien

Um mit hochkomplexen Verkehrssituationen umgehen zu können, werden Fahrzeuge mit kognitiven Fähigkeiten benötigt. Auf Basis von hinterlegtem und gelerntem Wissen plus der intelligenten Interpretation des Umfelds ist das Fahrzeug selbstständig in der Lage, autonom und entsprechend der Situation die richtigen Entscheidungen zu treffen. Dabei werden Konzepte und Ansätze aus dem Bereich der Künstlichen Intelligenz eine zentrale Rolle spielen.

Zusätzlich werden die Fahrzeuge über ein zentrales IT-Backend so miteinander vernetzt, dass quasi in Echtzeit Informationen untereinander ausgetauscht oder auch gezielt abgerufen werden können. Diese Technologie ermöglicht eine Art Schwarmintelligenz, also das Teilen und Nutzen komplexer Informationen in einer großen Gruppe. So profitiert ein einzelnes Auto von den Erkenntnissen vieler.

Bildergalerie

Bildergalerie mit 14 Bildern

In den nächsten Unterkapiteln wird auf diese Punkte nun näher eingegangen.

2.1 Künstliche Intelligenz

Künstliche Intelligenz (KI) ist ein Bereich der Informatik mit dem Ziel, Softwaresysteme zu entwickeln, die sich ähnlich zu einer menschlichen Intelligenz verhalten. Es existieren einige Teilgebiete, z. B. wissensbasierte Systeme, Natural Language Processing, Robotik, maschinelles Lernen, u.v.m. Bei maschinellem Lernen beispielsweise lernt ein System aus bestehenden/historischen Daten oder Beispielen. Die Algorithmen sind nach der sogenannten Trainingsphase in der Lage, auf Basis der erlernten Muster zu verallgemeinern und können somit in vergleichbaren Situationen angewendet werden.

Eine spezielle Ausprägung dieser Ansätze sind neuronale Netze. Sie basieren auf einer sehr vereinfachten Nachbildung der Struktur und Funktionsweise des menschlichen Gehirns. Wesentliche mathematische Elemente sind Neuronen, die als Knotenpunkte fungieren und dabei Informationen je nach Eingangsdaten und anschließender Aktivierung weitergeben, sowie Synapsen. Sie stellen eine gewichtete Verbindung zwischen den Neuronen dar. Abbildung 3 in der Bildergalerie zeigt ein einfaches neuronales Netz mit zwei Hidden Layern.

Die Neuronen werden zusätzlich noch in unterschiedlichen Schichten angeordnet – Eingangsschicht (Input Layer), verdeckte Schichten (Hidden Layer), Ausgangsschicht (Output Layer) – und verdichten die Eingangsdaten zu immer „höherem“ Wissen, bis letztendlich in der Ausgangsschicht ein Ergebnis vorliegt. Dabei gibt es eine Vielzahl an unterschiedlichen Typen (wie etwa Feed-Forward-Netze, rekurrente Netze) und Architekturen (Anzahl der Hidden Layer, fully connected layers, shortcut connections) mit einer Vielzahl an mathematischen Modellen für die Neuronen.

Unter dem derzeit sehr populärem Begriff Deep Learning verbergen sich tiefe neuronale Netze mit einer sehr großen Anzahl an Neuronen und einigen verdeckten Schichten. So wurden in jüngster Vergangenheit vielversprechende Fortschritte bei der Bildklassifikation, Objekterkennung, Bildsegmentierung und dem Bildverstehen erzielt. Diese Methoden legen die Grundsteine für die weitere Implementierung von intelligenten pilotierten Fahrfunktionen. Als konkrete Ausprägung für den Anwendungsfall Bildklassifikation sei exemplarisch ein Convolutional Neural Network (CNN) aufgeführt. Abbildung 4 in der Bildergalerie stellt den Aufbau und die Architektur schematisch dar.

Bei diesen tiefen neuronalen Netzen wird das Eingangsbild, z. B. von einer Fahrzeugkamera, auf Basis einer gelernten Matrix gefaltet (Konvolution), um so bestimmte Eigenschaften (features) zu extrahieren und zu kombinieren. Diese werden in separaten Zwischenbildern (feature maps) abgelegt, und im sogenannten pooling layer wird die Dimension der feature maps mit Hilfe bestimmter Verfahren reduziert. Dieser Aufbau wiederholt sich nun N-mal, bis letztendlich mit Hilfe von fully connected layern die Informationen weiter verdichtet und eine Wahrscheinlichkeit für die entsprechende Klasse – in diesem Fall „Fahrzeug“ – ermittelt werden kann.

Abbildung 5 in der Bildergalerie zeigt beispielhaft die gelernten Faltungsmatrizen und die daraus entstandenen feature maps für das AlexNet – Conv-Layer1:

  • Anzahl der Layer: 5 convolutional layers, 3 fully connected layers
  • 650.000 Neuronen, 60 Millionen Parameter

Für das pilotierte Fahren ist eine Bildklassifikation jedoch bei weitem nicht ausreichend. Das Bild muss interpretiert und vom Softwaresystem komplett „verstanden“ werden, um eine komplexe Verkehrssituation beurteilen und eine Handlung ableiten zu können. Hierzu werden Verfahren aus dem Bereich der Bildsegmentierung angewendet, welche ebenfalls u.a. auf dem CNN-Ansatz basieren. Damit lässt sich jedes Pixel im Bild einer bestimmten Klasse zuordnen, beispielsweise Fahrzeuge, Parkplätze, Fußgänger, usw.

Die Berechnung von tiefen neuronalen Netzen lässt sich sehr gut parallelisieren, weshalb entsprechende Hardwarearchitekturen zum Einsatz kommen, unter anderem Graphics Processing Units (GPUs). Existierende Deep Learning Frameworks wie Caffe nutzen die CUDA (Compute Unified Device Architecture)- oder OpenCL (Open Computing Language)-Schnittstelle, um parallele Berechnungen auf GPUs durchzuführen. Dies trifft natürlich für das Training als auch für die Anwendung in einer Applikation zu.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de (ID: 44546837)