Experience Embedded

Professionelle Schulungen, Beratung und Projektunterstützung

Deep Learning im Fahrzeug

Autor: Dr. Eduard Kromer, iNTENCE automotive electronics GmbH

 

Beitrag - Embedded Software Engineering Kongress 2018

 

Begriffe wie Künstliche Intelligenz, Machine Learning und Deep Learning sind in aller Munde, auch oder gerade wegen der konkreten Anwendungsfälle wie dem autonomen Fahren, der Sprach- und der Gestenerkennung. Was genau hat es damit auf sich und warum gibt es diesen Hype? Und wie funktioniert Machine Learning eigentlich? Was sind interessante Anwendungsfälle im Fahrzeug? Werden die Möglichkeiten überschätzt? Werden die Gefahren übertrieben dargestellt?

Was ist Künstliche Intelligenz / Machine Learning / Deep Learning?

"AI is the science and engineering of making intelligent machines."
John McCarthy [1]

Siehe Abb. 1 (PDF)


Künstliche Intelligenz (KI) ist ein sehr breites Fachgebiet und gleichzeitig ein Oberbegriff für technische Ansätze, die sich mit Wahrnehmen, Schlussfolgern, Lernen und Handeln, also dem Menschen zugeschriebenen intelligenten Handlungen beschäftigen [2]. Machine Learning (ML) ist eine Teildisziplin der KI und beschreibt Methoden, die Maschinen ermöglichen, selbständig Wissen aus Erfahrungen zu generieren, also aus Daten zu lernen, ohne ein formales Regelwerk zu erfordern. Klassische Anwendungen für ML sind Empfehlungssysteme von Amazon / Netflix oder E-Mail-Spamfilter. Deep Learning ist wiederum ein Teilgebiet des ML, das sich dadurch auszeichnet, mit Hilfe von tiefen Neuronalen Netzen komplexe Konzepte lernen zu können, indem es sich diese aus einfacheren Konzepten heraus aufbaut [3].

Wie funktioniert Machine Learning / Deep Learning?

ML ist die Wissenschaft und gleichzeitig die Kunst, Computer so zu programmieren, dass sie aus Daten lernen können. Dabei unterscheidet man im Kern folgende, sich nicht ausschließende Kategorien von ML-Systemen, siehe [4]:

  • Überwachtes, unüberwachtes, halbüberwachtes und verstärkendes Lernen - Fand Überwachung statt beim Training?
  • Online- vs. Batch-Lernen - Können Modelle inkrementell und spontan lernen?
  • Instanz- vs. modellbasiertes Lernen - Wird ein Vorhersagemodell aufgebaut?

Wir konzentrieren uns im Folgenden nur auf überwachtes und unüberwachtes Lernen. Beim überwachten Lernen wird der ML-Algorithmus mit Trainingsdaten versorgt, die gelabelt sind, für die also bereits eine Lösung existiert. Dabei versucht der Algorithmus, eine Klassifizierung (Beispiel: Spam oder nicht Spam anhand des E-Mail-Textes und des Absenders) oder eine Regression (Beispiel: Mietpreis anhand von Lage und Alter einer Wohnung) zu erlernen. Beim unüberwachten Lernen sind die Trainingsdaten nicht mit Labels versehen, und typische Algorithmen aus diesem Bereich versuche,n Cluster in den Daten zu finden (Beispiel: ähnliche User eines Einkaufsportals) oder hochdimensionale Probleme in einem niedrigdimensionaleren Raum einzubetten.

Siehe Abb. 2 (PDF


Neuronalen Netze (NN) lernen komplexe Konzepte, indem sie sich diese aus einfacheren Konzepten heraus über verstecke Schichten (sogenannte hidden layer) und mit Hilfe von großen Trainingsdatensätzen aufbauen.

Siehe Abb. 3 (PDF)


Bei sogenannten Convolutional Neural Nets (CNNs) lässt sich dieser Vorgang am Beispiel von Gesichtserkennung folgendermaßen visualisieren:

Siehe Abb. 4 (PDF)

Beim Training von Neuronalen Netzen mit Daten, die mit Labels versehen sind, fließt zunächst Information in Form eines Inputs von der Inputschicht durch die versteckten Schichten bis zur Outputschicht und resultiert in einem Output (forward propagation). Eine Kostenfunktion bestimmt über eine bestimmte Metrik den Abstand zwischen diesem Output und dem echten Label. Der Back-Propagation-Algorithmus erlaubt schließlich den Rückfluss der Information von der Kostenfunktion zurück durch das Netzwerk, um den Gradienten der Kostenfunktion berechnen zu können. Schließlich kann ein Optimierungsalgorithmus, wie der stochastische Gradientenabstieg, diesen Gradienten nutzen, um den nächsten Optimierungsschritt zu bestimmen. Dieses Verfahren wird (im Optimalfall) so lange wiederholt, bis man keine numerische Verbesserung mehr erzielt.      

KI-Anwendungsfälle im Fahrzeug und Gründe für die Automatisierung

Fahrzeugautomatisierung ist aus vielen verschiedenen Gründen notwendig und unvermeidbar. Unter anderem erhöht sie die Sicherheit auf den Straßen, macht geteilte Mobilität effizienter und günstiger und senkt dadurch das Verkehrsaufkommen. Weiterhin erhöht sie den Komfort für die (Mit-)Fahrer und erlaubt diesen, ihre Fahrtzeit sinnvoll zu nutzen.

Moderne Fahrzeuge sind mit zahlreichen Sensoren ausgestattet, und die Anzahl der Sensoren wird auf dem Weg zur Vollautomatisierung weiterwachsen. Künstliche Intelligenz ist der Schlüssel, um Sensordaten der Fahrzeuge und damit den Verkehr in der realen Welt zu verstehen. Dieser ist nämlich zu komplex, um ihn über ein formales Regelwerk erfassen zu können. Damit ist KI der Schlüssel zum autonomen Fahren.

Auf dem Weg zu den Autonomiestufen 4 (Hochautomatisierung) und 5 (Vollautomatisierung) müssen noch Hindernisse überwunden werden, aber bereits jetzt, für die Autonomiestufen 2 (Teilautomatisierung) und 3 (Bedingungsautomatisierung), zeigt Deep Learning sein großes Potential. Für Sensorik im Auto, die nach außen gerichtet ist, können Neuronale Netze Verkehrsobjekte (Verkehrsteilnehmer, Verkehrszeichen etc.) und Fahrbahnmarkierungen erkennen und sogar vollständige Instanz-Segmentierungen vornehmen

Siehe Abb. 5 und 6 (PDF


Darüber hinaus sind sie in der Lage, Bewegungen und Bewegungsrichtungen (z.B. von Fußgängern) zu erkennen und unterstützen dadurch bei der Manöverplanung.

Zusätzlich zu den Informationen über das Geschehen außerhalb des Fahrzeugs kommen Informationen über den Fahrer hinzu und erhöhen so die Sicherheit und gleichzeitig den Komfort des Fahrers. Über die frühzeitige Erkennung des Fahrers bereits vor dem Einsteigen ins Fahrzeug (z.B. über Gesichtserkennung mit CNNs) kann das Fahrzeug individuelle, auf den Fahrer angepasste Einstellungen vornehmen. Es können z.B. die Sitz-, die Spiegel-, die Klimaanlageneinstellungen und vieles mehr noch vor dem Einsteigen des Fahrers vorgenommen werden, sobald dieser erkannt wurde und sich dem Auto nähert. Wenn die Sensorik erkennt, dass der Fahrer sich dem Kofferraum nähert und etwas trägt, könnte dieser automatisch geöffnet werden.  

Innerhalb des Fahrzeugs sorgen dann Neuronale Netze dafür, dass Kopfbewegungen, die Blickrichtung und explizit die Augen des Fahrers erkannt und getrackt werden können, um die Müdigkeit und die Aufmerksamkeit des Fahrers zu erfassen und so die Sicherheit aller Verkehrsteilnehmer zu erhöhen.

Siehe Abb. 7 (PDF)

Für die Kommunikation mit dem Fahrzeug sorgen Neuronale Netze in Form von Sprach- und/oder Gestenerkennung sowohl für ein verbessertes Nutzererlebnis als auch für zusätzliche Sicherheit, da der Fahrer sich bei qualitativ hochwertigen Lösungen in diesem Bereich besser auf den Verkehr konzentrieren kann als bei klassischen Bedienkonzepten.

Schließlich kann durch die Sensorik im Auto und die Objekt- und Bewegungserkennung über Neuronale Netze ein sicheres Aussteigen des Fahrers am Zielort gewährleistet werden. Fahrradfahrer oder andere Fahrzeuge, die den Fahrer beim Aussteigen gefährden könnten oder selbst gefährdet wären, werden rechtzeitig erkannt, und der Fahrer wird rechtzeitig gewarnt.

Hindernisse auf dem Weg zur Vollautomatisierung

Trotz der vielen Durchbrüche im Computer Vision Bereich durch Deep Learning gibt es immer noch viele Hürden, die überwunden werden müssen auf dem Weg zu einer Künstlichen Intelligenz, die Vollautomatisierung beim Fahrzeug ermöglichen kann. Neuronale Netze sind sehr problemspezifisch, begehen immer noch Fehler, die Menschen nicht passieren würden, und lassen sich teilweise leicht austricksen.

Siehe Abb. 8 (PDF


Weiterhin brauchen Neuronale Netze deutlich mehr Daten als ein Mensch, um ein bestimmtes Konzept zu lernen. Die Erstellung von gelabelten Datensätzen für das Training dieser Netze ist teilweise immer noch sehr aufwändig und erschwert den Fortschritt.

Abkürzungsverzeichnis

AI: Artificial Intelligence

KI: Künstliche Intelligenz

ML: Machine Learning

DL: Deep Learning

NN: Neuronales Netz

CNN: Convolutional Neural Net

Abbildungsverzeichnis

Abb 1: Differenzierung der Begriffe Künstliche Intelligenz / Machine Learning / Deep Learning; Quelle: https://blogs.nvidia.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep-learning-ai/

Abb 2: Überwachtes vs. unüberwachtes Lernen; Quelle: http://beta.cambridgespark.com/courses/jpm/01-module.html

Abb 3: Neuronales Netz mit drei versteckten Schichten; Quelle: https://www.rsipvision.com/exploring-deep-learning/

Abb 4: Neuronales Netz lernt, was menschliche Gesichter ausmacht; Quelle: https://wangjieshu.com/2017/12/23/symbol-vs-connectionism-a-closing-gap-in-artificial-intelligence/

Abb 5: Objekterkennung durch Neuronale Netze; Quelle: Fraunhofer IAIS

Abb 6: Instanz-Segmentierung; Quelle: https://bair.berkeley.edu/blog/2018/05/30/bdd/

Abb 7: Blickrichtungs- und Aufmerksamkeitserkennung mit NNs; Quelle: http://www.i6.in.tum.de/pub/Main/TeachingWs2017ContextPredictionSeminar/Introduction_Session.pdf

Abb 8: Toaster Problem; Quelle: https://arxiv.org/pdf/1712.09665.pdf

Literatur- und Quellenverzeichnis

[1] http://www-formal.stanford.edu/jmc/whatisai.pdf

[2] Stuart Russel and Peter Norvig, Artificial Intelligence – A Modern Approach, Prentice Hall, 2010

[3] https://www.deeplearningbook.org

[4] Aurélien Géron, Hands-On Machine Learning with Scikit-Learn & TensorFlow, O'Reilly, 2017 

Autor

Herr Dr. Eduard Kromer ist technischer Projektleiter für Deep Learning und Künstliche Intelligenz bei der iNTENCE automotive electronics GmbH. Er hat an der Justus-Liebig-Universität Gießen in Mathematik promoviert, an der Princeton University geforscht und war Postdoc am Department of Statistics der UC Berkeley. Er bringt jahrelange Erfahrung in maschinellem Lernen mit und zu seinen Interessensgebieten gehören Künstliche Intelligenz, Deep Learning und Computer Vision.

Email: e.kromer@intence.de

 

Beitrag als PDF downloaden


Unsere Trainings & Coachings

Wollen Sie sich auf den aktuellen Stand der Technik bringen?

Dann informieren Sie sich hier zu Schulungen/ Seminaren/ Trainings/ Workshops und individuellen Coachings von MircoConsult zum System- und Hardwareentwicklung.

 

Training & Coaching zu den weiteren Themen unseren Portfolios finden Sie hier.


Fachwissen

Wertvolles Fachwissen zum Thema System- und Hardwareentwicklung steht hier für Sie zum kostenfreien Download bereit.

Zu den Fachinformationen

 
Fachwissen zu weiteren Themen unseren Portfolios finden Sie hier.