Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR TRAINING AN ARTIFICIAL NEURAL NETWORK, ARTIFICIAL NEURAL NETWORK, USE OF AN ARTIFICIAL NEURAL NETWORK, CORRESPONDING COMPUTER PROGRAM, MACHINE-READABLE STORAGE MEDIUM AND CORRESPONDING DEVICE
Document Type and Number:
WIPO Patent Application WO/2020/094534
Kind Code:
A1
Abstract:
The invention relates to a method for training an artificial neural network, in particular a convolutional neural network, for determining a path prediction for a vehicle as an output variable in dependence on an initial state of the vehicle, a final state of the vehicle and information about the environment of the vehicle as input variables, the path comprising at least one pose of the vehicle, each pose comprising information regarding a position and information regarding an orientation at the position, comprising the steps: optimizing the artificial neural network, the determination of the information regarding a position and the determination of the information regarding an orientation being jointly optimized in the optimizing step.

Inventors:
SANZENBACHER PAUL (DE)
BANZHAF HOLGER ANDREAS (DE)
BAUMANN ULRICH (DE)
Application Number:
PCT/EP2019/080025
Publication Date:
May 14, 2020
Filing Date:
November 04, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
BOSCH GMBH ROBERT (DE)
International Classes:
G06N3/08; G05D1/00; G05D1/02; G06N3/04
Foreign References:
US20180292825A12018-10-11
CN107697065A2018-02-16
Other References:
BAUMANN ULRICH ET AL: "Predicting Ego-Vehicle Paths from Environmental Observations with a Deep Neural Network", 2018 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), IEEE, 21 May 2018 (2018-05-21) - 25 May 2018 (2018-05-25), pages 1 - 9, XP033403219, DOI: 10.1109/ICRA.2018.8460704
PEREZ-HIGUERAS NOE ET AL: "Learning Human-Aware Path Planning with Fully Convolutional Networks", 2018 IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION (ICRA), IEEE, 21 May 2018 (2018-05-21) - 25 May 2018 (2018-05-25), pages 1 - 5, XP033403328, DOI: 10.1109/ICRA.2018.8460851
PETER WOLF ET AL: "Adaptive Behavior Generation for Autonomous Driving using Deep Reinforcement Learning with Compact Semantic States", ARXIV.ORG, CORNELL UNIVERSITY LIBRARY, 201 OLIN LIBRARY CORNELL UNIVERSITY ITHACA, NY 14853, 10 September 2018 (2018-09-10), XP081189194
BANZHAF HOLGER ET AL: "Hybrid curvature steer: A novel extend function for sampling-based nonholonomic motion planning in tight environments", 2017 IEEE 20TH INTERNATIONAL CONFERENCE ON INTELLIGENT TRANSPORTATION SYSTEMS (ITSC), IEEE, 16 October 2017 (2017-10-16), pages 1 - 8, XP033330418, DOI: 10.1109/ITSC.2017.8317757
HOLGER BANZHAF ET AL: "Learning to Predict Ego-Vehicle Poses for Sampling-Based Nonholonomic Motion Planning", 3 December 2018 (2018-12-03), XP055660122, Retrieved from the Internet [retrieved on 20200124]
AUS N. PEREZ-HIGUERAS ET AL.: "Learning Human-Aware Path Planning with Fully Convolutional Networks", IEEE INTERNATIONAL CONFERENCE ON ROBOTICS AND AUTOMATION, 2018
AUS D. P. KINGMAJ. L. BA: "Adam: A Method for Stochastic Optimization", INTERNATIONAL CONFERENCE ON LEARNING REPRESENTATIONS, 2015
AUS V. BADRINARAYANAN ET AL.: "SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation", ARXIV PREPRINT ARXIV, 2015
AUS M. JORDANA. PEREZ: "Optimal Bidirectional Rapidly-Exploring Random Trees", MIT, TECH. REP., 2013, pages 2013 - 021
Download PDF:
Claims:
1. Verfahren zum Trainieren eines künstlichen neuronalen Netzes,

insbesondere eines Convolutional Neural Networks, zur Bestimmung einer Pfadvorhersage für ein Fahrzeug als Ausgabegröße in Abhängigkeit von einem Ausgangszustand des Fahrzeugs, einem Endzustand des Fahrzeugs und einer Information über die Umgebung des Fahrzeugs als

Eingangsgrößen, wobei der Pfad mindestens eine Pose des Fahrzeugs umfasst, wobei eine Pose eine Information einer Position und eine

Information einer Orientierung an der Position umfasst, mit den Schritten:

Optimieren des künstlichen neuronalen Netzes, wobei im Schritt des Optimierens die Bestimmung der Informationen einer Position und die Bestimmung der Informationen einer Orientierung gemeinsam optimiert werden.

2. Verfahren nach Anspruch 1, wobei im Schritt des Optimierens die

Optimierung in Abhängigkeit von einer vorgegebenen Sequenz an Posen erfolgt.

3. Verfahren nach Anspruch 2, wobei im Schritt des Optimierens zu der

vorgegebenen Sequenz an Posen eine Vielzahl an Ausgangszuständen des Fahrzeugs erzeugt wird, insbesondere wobei die Erzeugung mittels eines Zufallsverfahrens erfolgt.

4. Computerprogramm, welches eingerichtet ist, alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 3 auszuführen.

5. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 4 gespeichert ist.

6. Künstliches neuronales Netz, insbesondere Convolutional Neural Network, zur Bestimmung einer Pfadvorhersage für ein Fahrzeug als Ausgabegröße in Abhängigkeit von einem Ausgangszustand des Fahrzeugs, einem

Endzustand des Fahrzeugs und einer Information über die Umgebung des Fahrzeugs als Eingangsgrößen, wobei der Pfad mindestens eine Pose des Fahrzeugs umfasst, wobei eine Pose eine Information einer Position und eine Information einer Orientierung an der Position umfasst, trainiert mittels eines Verfahrens nach einem der Ansprüche 1 bis x.

7. Künstliches neuronales Netz nach Anspruch 6, wobei die Information über die Position eine diskrete Information ist und das künstliche neuronale Netz derart gestaltet ist, dass die Information einer Position mittels einer

Klassifikation erzielt wird.

8. Künstliches neuronales Netz nach Anspruch 6 oder7, wobei die Information über die Orientierung eine kontinuierliche Information ist und das künstliche neuronale Netz derart gestaltet ist, dass die Information einer Orientierung mittels einer Regression erzielt wird.

9. Künstliches neuronales Netz nach einem der Ansprüche 6 bis 8, wobei die Information einer Orientierung einen Sinusanteil und Cosinusanteil des Einheitskreises umfasst.

10. Verwendung eines künstlichen neuronalen Netzes, insbesondere ein

Convolutional Neural Network, nach einem der Ansprüche 6 bis 9 zur Steuerung eines Fahrzeugs, insbesondere innerhalb für ein komplexes Fahrmanöver, insbesondere für ein Ausweichmanöver und/oder für ein Parkmanöver und/oder für ein Umkehrmanöver mit den Schritten:

Bestimmen einer Pfadvorhersage für das Fahrzeug mittels des künstlichen neuronalen Netzes nach einem der Ansprüche 6 bis 9;

Auswählen einer Position aus der bestimmten Pfadvorhersage;

Erzeugen einer kontinuierlichen Position aus der ausgewählten Position; Bestimmen einer Orientierung an der ausgewählten Position;

Bestimmen einer Pose für das Fahrzeug durch Zusammenführen der erzeugten kontinuierlichen Position und der bestimmten Orientierung;

Steuern des Fahrzeugs in Abhängigkeit der bestimmten Pose.

11. Verwendung nach Anspruch 10, wobei im Schritt des Auswählens der

Position mittels eines Verfahrens der Wahrscheinlichkeitsfunktion ausgewählt wird.

12. Verfahren nach Anspruch 11, wobei im Schritt des Auswählens eine Position nur dann ausgewählt wird, wenn die Wahrscheinlichkeit für die Zugehörigkeit der bestimmten Pfadvorhersage über einem vorbestimmten Schwellenwert liegt, insbesondere wobei der Schwellenwert zwischen 45 % und 55 %, insbesondere bei 50 % liegt.

13. Verwendung nach einem der Ansprüche 10 bis 12, wobei im Schritt

Erzeugens einer kontinuierlichen Position aus einer diskreten Position der bestimmten Pfadvorhersage mittels einer uniformen Verteilung die kontinuierliche Position erzeugt wird.

14. Verwendung nach einem der Ansprüche 10 bis 13, wobei im Schritt des

Bestimmens einer Orientierung die Orientierung mittels eines Verfahrens zur Interpolation, insbesondere zur bilinearen Interpolation, aus der Orientierung der ausgewählten Position bestimmt wird.

15. Computerprogramm, welches eingerichtet ist alle Schritte der Verwendung eines künstlichen neuronalen Netzes nach einem der Ansprüche 6 bis 9 gemäß einem der Ansprüche 10 bis 14 zur Steuerung eines Fahrzeugs auszuführen.

16. Maschinenlesbares Speichermedium, auf dem das Computerprogramm nach Anspruch 16 gespeichert ist

17. Vorrichtung zur Steuerung eines Fahrzeugs, die eingerichtet ist zur Verwendung eines künstlichen neuronalen Netzes nach einem der Ansprüche 6 bis 9 gemäß einem der Ansprüche 10 bis 14.

Description:
Beschreibung

Titel

Verfahren zum Trainieren eines künstlichen neuronalen Netzes, künstliches neuronales Netz, Verwendung eines künstlichen neuronalen Netzes sowie entsprechendes Computerprogramm, maschinenlesbares Speichermedium und entsprechende Vorrichtung

Die vorliegende Erfindung betrifft ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes, künstliches neuronales Netz, Verwendung eines künstlichen neuronalen Netzes sowie entsprechendes Computerprogramm,

maschinenlesbares Speichermedium und entsprechende Vorrichtung ... zur Bestimmung einer Pfadvorhersage für ein Fahrzeug.

Ein bevorzugtes Anwendungsgebiet der vorliegenden Erfindung liegt im Bereich der autonomen Systeme, insbesondere im Bereich des zumindest teilweise automatisierten Fahrens.

Zumindest teilweise automatisiertes Fahren meint, das Steuern eines Fahrzeugs, bei dem die gesamte oder zumindest Teile der Fahraufgabe von

Fahrzeugsystemen übernommen werden. Wird die gesamte Fahraufgabe übernommen so spricht man von einem vollautomatisiert bzw. hochautomatisiert betriebenen Fahrzeug. Das Fahrzeug fährt automatisiert, indem es

beispielsweise den Straßenverlauf, andere Verkehrsteilnehmer oder Hindernisse selbständig erkennt und die entsprechenden Steuerbefehle zumindest teilweise im Fahrzeug berechnet sowie diese an die Aktuatoren im Fahrzeug weiterleitet, wodurch der Fahrverlauf des Fahrzeugs entsprechend beeinflusst wird. Ein menschlicher Fahrer ist bei einem vollautomatisiert bzw. hochautomatisiert betriebenen Fahrzeug nicht mehr an der Fahraufgabe beteiligt. Stand der Technik

Aus N. Perez-Higueras et al.,“Learning Human-Aware Path Planning with Fully Convolutional Networks,” in IEEE International Conference on Robotics and Automation, 2018. ist ein künstliches neuronales Netz zur Bestimmung von zukünftigen Position eines Roboters in Abhängigkeit von einer gegebenen Startposition, einer gegebenen Zielposition und der aktuellen Umgebung des Roboters bekannt.

Aus D. P. Kingma and J. L. Ba,“Adam: A Method for Stochastic Optimization,” in International Conference on Learning Representations, 2015. ist ein Verfahren zur stochastischen Optimierung bekannt.

Aus V. Badrinarayanan et al.,“SegNet: A Deep Convolutional Encoder-Decoder Architecture for Image Segmentation,” arXiv preprint arXiv: 1511.00561, 2015. ist SegNet, ein künstliches neuronales Netz der Art Convolutional Neural Network gemäß der Encoder-Decoder-Architektur zur semantischen Segmentierung bekannt.

Aus M. Jordan and A. Perez,“Optimal Bidirectional Rapidly-Exploring Random Trees,” MIT, Tech. Rep., 2013, TR 2013-021. ist der“Sample”-basierte

Bewegungsplaner“Bidirectional RRT* (BiRRT*) bekannt.

Mittels künstlichen neuronalen Netzen ist es möglich in Abhängigkeit von einer Startposition eines Fahrzeugs, einer Endposition eines Fahrzeugs und einer Information über die Umgebung des Fahrzeugs eine Pfadvorhersage des Fahrzeugs von der Startposition zu der Endposition zu bestimmen.

Die bekannten künstlichen neuronalen Netze geben die Pfadvorhersage als Ausgabegröße in Form pixelbasierter Matrizen aus. Jeder Pixel der Matrix repräsentiert eine diskrete Position der Umgebung der Karte. Das künstliche neuronale Netz löst dabei eine Klassifizierungsaufgabe, die jedem Pixel der Ausgabe eine Klasse zuordnet. Die Klasse beschreibt dabei die Zugehörigkeit des Pixels zu dem vorhergesagten Pfad des Fahrzeugs von der Startposition zu der Endposition bzw. die Nicht-Zugehörigkeit des jeweiligen Pixels zu der Pfadvorhersage.

Offenbarung der Erfindung Vor diesem Hintergrund schlägt die vorliegende Erfindung ein künstliches neuronales Netz zur Bestimmung Pfadvorhersage eines Fahrzeugs als

Ausgabegröße in Abhängigkeit von einem Startzustand des Fahrzeugs, einem Endzustand des Fahrzeugs und einer Information über die Umgebung des Fahrzeugs als Eingangsgrößen, wobei die Pfadvorhersage eine Pose des

Fahrzeugs umfasst, wobei eine Pose eine Information einer Position und eine Information einer Orientierung an der Position umfasst.

Der zentrale Unterschied der Pfadvorhersage des künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung ist, dass die Pfadvorhersage zusätzlich zu der

Vorhersage zu der Position bzw. den Positionen des Fahrzeugs auch eine Vorhersage zu der Orientierung bzw. den Orientierungen des Fahrzeugs an der jeweiligen Position bzw. den jeweiligen Positionen macht. Diese zusätzliche Information ist vorteilhaft bei der Bewegungsplanung des

Fahrzeugs aus dem Startzustand in den Endzustand. Besonders vorteilhaft ist diese zusätzliche Information bei der Bewegungsplanung bei komplexen

Fahrmanövern, insbesondere bei Ausweichmanövern bzw. bei Parkmanövern bzw. bei Umkehrmanöver.

Unter einem Zustand des Fahrzeugs ist vorliegend eine Information über die Pose, d.h. über die Position und die Orientierung sowie über die Geschwindigkeit des Fahrzeugs an der Position zu verstehen.

Der Startzustand ist der Zustand des Fahrzeugs von dem aus die Bestimmung des Pfades gemäß der vorliegenden Erfindung erfolgen soll.

Das künstliche neuronale Netz kann in der Art der Convolutional Neural Networks (CNN) ausgestaltet sein. Die Ausgestaltung des künstlichen neuronalen Netzes als Convolutional Neural

Network (CNN) eignet sich besonders, da sich diese Art der künstlichen neuronalen Netze besonders gut für die Verarbeitung von hoch-dimensionalen Eingangsgrößen und der Bestimmung von multimodalen Positionsverteilungen für ein Fahrzeug eignen und sie daher auf die multimodale Pfadvorhersage gegeben einer hochdimensionalen Umfeldrepräsentation trainiert werden können.

Gemäß einer Ausführungsform des künstlichen neuronalen Netzes umfasst die Information einer Orientierung einen Sinusanteil und einen Cosinusanteil des Einheitskreises.

Die Darstellung der Orientierung mittels Sinus- und Cosinusanteilen bietet mehrere Vorteile. Zunächst stellt eine Orientierung mit einem Sinus- und einem Cosinusanteil von jeweils Null einen ungültigen Wert im Einheitskreis dar. Diese Information kann gemäß der vorliegenden Erfindung dazu genutzt werden, zu kodieren, dass sich die Orientierung auf eine Position bezieht, die nicht Teil des vorhergesagten Pfades ist. Ferner kann eine Ermittlung der Resultierenden aus den Sinus- und Cosinusanteilen als Konfidenzmaß interpretiert werden, das angibt, ob eine Information über die Orientierung vorhanden ist. Da im

Einheitskreis gilt, sin 2 (0) + sin 2 (0) = 1, kann bei der Ausgabe des Netzes genau dies überprüft werden. Ergibt die quadrierte Addition der vorhergesagten Sinus- uns Cosinusanteile stark von 1 abweichende Werte, lässt sich vermuten, dass die Orientierungsvorhersagen der der Position durch das Netz nicht eindeutig getroffen werden können. D.h. die Vorhersagend es Netzes sind an dieser Position mit einer hohen Unsicherheit belegt.

Nach einer Ausführungsform des künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung wird der Zustand (Startzustand, Endzustand) eines Fahrzeugs in den Eingabe- bzw. Ausgabegrößen mittels einer Matrix

repräsentiert wird, die die gleiche Auflösung hat wie die Information über die Umgebung des Fahrzeugs. Die Information über die Position des Fahrzeugs wird anhand der entsprechenden Zelle in der Matrix repräsentiert. Die Zelle enthält einen Wert, der die Geschwindigkeit des Fahrzeugs in dem Zustand

repräsentiert. Die der Positionszelle angrenzenden Zellen enthalten Werte, die die Orientierung des Fahrzeugs repräsentieren. Dabei kann die Orientierung als Sinus- und Cosinusanteile des Einheitskreises repräsentiert werden.

Ein weiterer Aspekt der vorliegenden Erfindung ist ein Verfahren zum Trainieren eines künstlichen neuronalen Netzes zur Bestimmung einer Pfadvorhersage für ein Fahrzeug als Ausgabegröße in Abhängigkeit von einem Startzustand des Fahrzeugs, einem Endzustand des Fahrzeugs und einer Information über die Umgebung des Fahrzeugs als Eingangsgrößen, wobei der Pfad mindestens eine Pose des Fahrzeugs umfasst, wobei eine Pose eine Information einer Position und eine Information einer Orientierung an der Position umfasst.

Das künstliche neuronale Netz kann in der Art der Convolutional Neural Networks (CNN) ausgestaltet sein.

Der Kern des Trainingsverfahrens der vorliegenden Erfindung liegt darin, dass im Schritt des Optimierens die Optimierung der Bestimmung der Information über die Position und der Bestimmung der Information über die Orientierung an der Position gemeinsam erfolgt.

Dieser Aspekt der Erfindung basiert auf der Erkenntnis, dass die Bestimmung der zukünftigen Position als Klassifizierungsaufgabe erfolgen kann und die

Bestimmung der zukünftigen Orientierung an der Position als

Regressionsaufgabe erfolgen kann.

Dazu ist es erforderlich, dass die jeweiligen Informationen in geeigneter Form dargestellt werden. Während die Darstellung der zukünftigen Position des Fahrzeugs in Form einer Klassifikation erfolgen kann, die angibt, ob eine Position der Ausgabegröße Teil des befahrbaren Pfades ist oder nicht, erfolgt die

Darstellung der zukünftigen Orientierung an der Position in Form von

kontinuierlichen Sinus- und Cosinusanteilen des Einheitskreises.

Diese Darstellung weist den Vorteil auf, dass die Orientierung nicht mittels eines segmentierten Einheitskreises erfolgt. Da dies zur Folge hätte, dass für jedes vorgesehene Segment des Einheitskreises eine Klassifizierungsaufgabe zu lösen wäre. Dies würde zu einem exponentiellen Wachstum der Dimension der Ausgabegröße (Ausgabetensor) führen und damit zu einer enormen Erhöhung der erforderlichen Berechnungsressourcen führen.

Ferner bietet sich die Darstellung als Sinus- und Cosinusanteile an, da der im Einheitskreis ungültige Wert Sinusanteil = 0 und Cosinusanteil = 0 dazu verwendet werden kann, Zellen mit unbekannter Orientierung zu markieren, da diese nicht auf dem vorhergesagten Pfad liegen (eine Orientierungsinformation liegt nur dem vorhergesagten Pfad vor).

Ein Nachteil des Erlernens der Orientierung durch eine Regression anstatt einer Klassifikation ist, dass es dadurch nicht möglich ist, pixelweise, multimodale Orientierungen des Fahrzeugs zu bestimmen. D.h. für eine bestimmte Position mehr als eine mögliche Orientierung zu bestimmen. Tatsächlich handelt es sich dabei um seltene Einzelfälle. In der Praxis ist eine bestimmte Orientierung je bestimmter Position ausreichend. Dem steht die Vermeidung des exponentiellen Wachstums der Ausgabe gegenüber.

Gemäß einer Ausführungsform des Trainingsverfahrens der vorliegenden Erfindung erfolgt im Schritt des Optimierens die Optimierung mittels eines stochastischen Optimierungsalgorithmus.

Gemäß einer Ausführungsform des Trainingsverfahrens der vorliegenden Erfindung erfolgt im Schritt des Optimierens die Optimierung in Abhängigkeit von einer vorgegebenen Sequenz an Posen.

Unter einer Pose ist vorliegend eine Information über eine Position und die Information über eine Orientierung an dieser Position zu verstehen. Eine

Sequenz an Posen ist somit ein Pfad inklusive der jeweiligen Orientierung an den Positionen des Pfads. Alternativ zu einer Sequenz an Posen kann auch eine Trajektorie verwendet werden. Eine Trajektorie umfasst eine Sequenz von Posen bzw. aus einer gegebenen Trajektorie ist eine Sequenz an Posen ableitbar.

Ferner umfasst eine Trajektorie eine Zeitinformation. Somit kann aus einer Trajektorie eine Geschwindigkeitsinformation abgeleitet werden.

Gemäß einer Ausführungsform des Trainingsverfahrens der vorliegenden Erfindung wird im Schritt des Optimierens zu der vorgegebenen Sequenz an Posen eine Vielzahl von unterschiedlichen Startzuständen des Fahrzeugs auf der zu befahrenden Stecke erzeugt. Unter einem Zustand des Fahrzeugs ist vorliegend eine Information über die Pose, d.h. über die Position und die Orientierung sowie über die Geschwindigkeit des Fahrzeugs an der Position zu verstehen.

Der Startzustand ist der Zustand des Fahrzeugs von dem aus die Bestimmung des Pfades gemäß der vorliegenden Erfindung erfolgen soll.

Durch die Vielzahl an Startzuständen für eine vorgegebene Sequenz an Posen bzw. Trajektorie ist es möglich auf einfache Art und Weise den

Trainingsdatensatz zu erweitern ohne eine entsprechende Anzahl an Sequenzen an Posen bzw. Trajektorien vorzuhalten bzw. aufzuzeichnen.

Diese Erweiterungsmethode zwingt das zu trainierende künstliche neuronale Netz seine Bestimmung des Pfades aufgrund der zusätzlichen Trainingsdaten bzw. sich verändernden Informationen über das Umfeld entsprechend

anzupassen (Bspw. kann sich durch eine geänderte Startposition der von den Sensoren des Fahrzeugs erfasste bzw. erfassbare Umgebung ändern.) Dies führt so insgesamt zu einer verbesserten Optimierung des künstlichen neuronalen Netzes durch die adaptive Anpassung der Vorhersagen an sich verändernde Umgebungsinformationen.

Die Erzeugung der Vielzahl an Startzustände kann mittels eines

Zufallsverfahrens erfolgen.

Ein weiterer Aspekt der vorliegenden Erfindung ist die Verwendung eines künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung zur Steuerung eines Fahrzeugs.

Die Verwendung umfasst die nachstehenden Schritte.

Ermitteln einer Pfadvorhersage für das Fahrzeug mittels des künstlichen neuronalen Netzes. Für diesen Schritt können dem zuvor trainierten künstlichen neuronale Netz als Eingangsgrößen ein Startzustand des Fahrzeugs, ein

Endzustand des Fahrzeugs und eine Information über die Umgebung des Fahrzeugs zugeführt werden. Das künstliche neuronale Netz kann als

Ausgangsgröße eine Information über einen Pfad des Fahrzeugs bereitstellen.

Auswählen einer Position aus der ermittelten Pfadvorhersage. Für diesen Schritt kann aus der ermittelten Pfadvorhersage für das Fahrzeug mindestens eine Position ausgewählt werden. Die Auswahl der Position kann dabei so erfolgen, dass aus der Ausgabegröße des künstlichen neuronalen Netzes, die bspw. einen Tensor umfasst, aus einer Matrix des Tensors eine Zelle ausgewählt wird, die im dem vorgesagten Pfad des Fahrzeugs zugeordnet wurde. Denkbar ist auch die Auswahl mindestens einer Zelle, die eine diskrete Position repräsentiert.

Erzeugen einer kontinuierlichen Position abhängig von der bestimmten Zelle. Dieser Schritt basiert auf der Erkenntnis, dass die Zellen des vorhergesagten Pfads lediglich diskrete Positionsangaben darstellen, die einen der Auflösung entsprechenden Bereich der Umgebung des Fahrzeugs darstellen. Bspw. einen Bereich von 60 cm x 60 cm. Zum einen wird durch die Kontinuisierung der diskreten Position der gesamte Wertebereich an möglichen Positionen abgedeckt. Zum anderen lässt sich durch die Kontinuisierung der diskreten Position die Steuerung auf einfache Weise vereinfachen.

Bestimmen einer Orientierung an der ausgewählten Position bzw. aus der korrespondierenden Zelle. Dieser Schritt basiert auf der Erkenntnis, dass die Ausgabe des künstlichen neuronalen Netzes neben den Positionen, die zu dem ermittelten Pfad des Fahrzeugs gehören auch entsprechende Orientierungen an den jeweiligen Positionen ermittelt hat. D.h. zu jeder Zelle existiert eine

Information über die Position des Fahrzeugs und eine Information über die Orientierung des Fahrzeugs. In Abhängigkeit von der ausgewählten Zelle für die Position kann die zugehörige Orientierung des Fahrzeugs ausgewählt werden. Die Bestimmung der Orientierung kann dabei so erfolgen, dass aus der

Ausgabegröße des künstlichen neuronalen Netzes, die bspw. einen Tensor umfasst, aus einer Matrix bzw. Matrizen des Tensors eine bzw. mehrere Zellen ausgewählt werden, die korrespondierende Zellen zu der ausgewählten Position darstellen. Bestimmen einer Pose für das Fahrzeug durch Zusammenführen der erzeugten kontinuierlichen Position und der bestimmten Orientierung. Für diesen Schritt wird die kontinuisierte Position und die bestimmte Orientierung des Fahrzeugs zu einer Pose für die Steuerung des Fahrzeugs zusammengeführt.

Steuern des Fahrzeugs in Abhängigkeit der bestimmten Pose. Für diesen Schritt können die bestimmten Posen einem Bewegungsplaner zugeführt werden. Ein geeigneter Bewegungsplaner ist der Bidirectional RRT* (BiRRT*).

Unter Steuern des Fahrzeugs kann vorliegend verstanden werden einen

Bewegungsplan für das Fahrzeug in Abhängigkeit der bestimmten Pose zu berechnen und darauf basierend die Fahrzeugsysteme derart anzusteuern, dass das Fahrzeug im Wesentlichen dem berechneten Bewegungsplan folgt.

Bei der Verwendung kann als künstliches neuronales Netz ein Convolutional Neural Network eingesetzt werden.

Der Einsatz eines Convolutional Neural Network (CNN) als künstliches neuronales Netz eignet sich besonders, da sich diese Art der künstlichen neuronalen Netze besonders gut für die Verarbeitung von hoch-dimensionalen Eingangsgrößen und der Bestimmung von multimodalen Positionsverteilungen für ein Fahrzeug eignen und sie daher auf die multimodale Pfadvorhersage gegeben einer hochdimensionalen Umfeldrepräsentation trainiert werden können.

Die Verwendung des künstlichen neuronalen Netzes eignet sich für komplexe Fahrmanöver wie bspw. Einparkmanöver, Umkehrmanöver oder

Ausweichmanöver.

Nach einer Ausführungsform der Verwendung gemäß der vorliegenden Erfindung wird im Schritt des Auswählens die Pose mittels eines Verfahrens der

Wahrscheinlichkeitsfunktion ausgewählt. Im Schritt des Auswählens kann eine Pose nur dann ausgewählt werden, wenn die Wahrscheinlichkeit für die Zugehörigkeit des ermittelten Pfads über einem vorbestimmten Schwellenwert liegt.

Der Schwellenwert kann an die praktischen und tatsächlichen Erfordernisse angepasst werden. Ziel des Schwellenwerts ist es die Ausgabe des künstlichen neuronalen Netzes derart weiter zu verwenden, dass lediglich die Teile der Pfadvorhersage verwendet werden, die mit für die praktischen und tatsächlichen Erfordernisse erforderlichen Wahrscheinlichkeit zu dem zu befahrenden Teil der Umgebung gehören. Der Schwellenwert kann zwischen 45 % und 55 % liegen. Der Schwellenwert kann bei 50 % liegen.

Das Vorsehen eines solchen Schwellenwerts führt dazu, dass der

Bewegungsplaner für die Bewegungsplanung nur Bereiche der Umgebung des Fahrzeugs berücksichtigt, die mit hoher bzw. überwiegender Wahrscheinlichkeit zu befahrende Bereiche darstellen.

Nach einer Ausführungsform der Verwendung gemäß der vorliegenden Erfindung wird im Schritt Erzeugens einer kontinuierlichen Position aus einer diskreten Position des ermittelten Pfads mittels einer uniformen Verteilung die

kontinuierliche Position erzeugt.

Diese Ausführungsform weist den Vorteil auf, dass die diskreten Positionen, die durch das künstliche neuronale Netz bestimmt wurden, in eine kontinuierliche Positionsangabe umgewandelt werden. Dies führt zu einer Gesamtabdeckung des möglichen Wertebereichs der Positionen innerhalb einer Zelle, da die diskreten Positionssamples je nach Auflösung der Eingangs- bzw.

Ausgangsgrößen einen nicht unerheblichen Bereich der Umgebung des

Fahrzeugs abdecken. Bspw. umfasst eine Zelle einen Bereich von 60 cm x 60 cm je nach Parametrierung der Eingabedaten.

Nach einer Ausführungsform der Verwendung gemäß der vorliegenden Erfindung wird im Schritt des Bestimmens einer Orientierung die Orientierung mittels eines Verfahrens zur Interpolation, insbesondere zur bilinearen Interpolation, aus der Orientierung an dem Zellmittelpunkt zur kontinuierlichen gesampelten Position durch die Orientierung der angrenzenden Zellen bestimmt.

Diese Ausführungsform weist den Vorteil auf, dass die Orientierungsangabe genauer zu der Positionsangabe passt. Gerade in dem Zusammenhang, dass die Positionssamples diskrete Positionsangaben darstelle und für jede

Positionsangabe eine Orientierungsangabe vorliegt, führt eine Interpolation der Orientierungsangabe dazu, dass die Orientierungsangabe besser zur jeweiligen Positionsangabe passt. Der Vorteil dieses Merkmals tritt insbesondere dann hervor, wenn die diskrete Positionsangabe in eine kontinuierliche

Positionsangabe umgewandelt wurde.

Ein weiterer Aspekt der vorliegenden Erfindung ist ein Computerprogramm, das zur Verwendung eines künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung zur Steuerung eines Fahrzeugs eingerichtet ist.

Gerade die Kombination von klassischen Bewegungsplanungsverfahren mit Verfahren des maschinellen Lernens, insbesondere durch den Einsatz von künstlichen neuronalen Netzen, hilft das Dilemma zu lösen auf schnelle Art und Weise sichere Trajektorien für die Steuerung eines Fahrzeugs auch in komplexen Manövern.

Nachstehend werden Ausführungsformen der vorliegenden Erfindung anhand von Zeichnungen erläutert.

Es zeigen:

Fig. 1 ein Ablaufdiagramm einer Ausführungsform des Verfahrens zum Trainieren eines künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung;

Fig. 2 eine schematische Darstellung eines künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung;

Fig. 3 ein Ablaufdiagramm einer Ausführungsform des Verfahrens zum Steuern eines Fahrzeugs gemäß der vorliegenden Erfindung. Figur 1 zeigt ein Ablaufdiagramm einer Ausführungsform des Verfahrens zum Trainieren eines künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung.

Das mit dem vorliegenden Trainingsverfahren zu trainierende künstliche neuronale Netzwerk ist geeignet zur Bestimmung eines Pfads eines Fahrzeugs als Ausgabegröße in Abhängigkeit von einem Ausgangszustand des Fahrzeugs, einem Endzustand des Fahrzeugs und einer Information über die Umgebung des Fahrzeugs als Eingangsgröße, wobei der Pfad mindestens eine Pose des Fahrzeugs umfasst, wobei eine Pose eine diskrete Information einer Position und eine kontinuierliche Information einer Orientierung an der Position umfasst.

Im Schritt 101 erfolgt die Optimierung des künstlichen neuronalen Netzes. Beim Optimieren werden die Bestimmung der diskreten Informationen und die

Bestimmung der kontinuierlichen Informationen, also Klassifikation der möglichen Positionen und Regression der dazugehörigen Fahrzeugorientierungen gemeinsam optimiert.

Die Optimierung bzw. das Training des künstlichen neuronalen Netzes kann Ende zu Ende mittels aufgenommenen Trajektorien erfolgen. Die Trajektorien können dabei von aufgezeichneten realen Manöverfahrten stammen. Ferner ist es denkbar Manöverfahrten in geeigneten Simulatoren zu simulieren und die Trajektorien der Simulation zu entnehmen.

Die Parameter des künstlichen neuronalen Netzes können durch die Anwendung eines Verfahrens zur stochastischen Optimierung und der Verlustfunktion wobei c eine Zelle der Ausgabe des künstlichen neuronalen Netzes bezeichnet, der erste Term zellweise der Verlust der Kreuzentropie L CE (c) der

Klassifizierungsaufgabe, der zweite Term zellweise die mittlere quadratische Abweichung L MSE (c) der Regressionsaufgabe und der letzte Term den L2 Regularisierungsverlust der Gewichte -w e W mit dem Skalierungsfaktor 1 beschreibt.

Dadurch, dass in der Verlustfunktion sowohl der Verlust der Kreuzentropie der Klassifizierungsaufgabe als auch die mittlere quadratische Abweichung der Regressionsaufgabe gemeinsam berücksichtigt werden, erfolgt die

erfindungsgemäße gemeinsame Optimierung.

Die Bestimmungseigenschaften des Modells können durch die zwei nachstehend erläuterten Metriken ermittelt werden.

Die erste Metrik misst die Nähe von N bestimmten Posen zur vorgegebenen Trajektorie (eng. ground truth trajectory) x t e c durch die

Ermittlung der mittleren Pfadabweichung D gemäß wobei d(-) den Abstand zwischen einer Pose der Trajektorie und einer bestimmten Pose beschreibt. Die Berechnung erfolgt dabei mittels einer gewichteten Summe der Euklidischen Distanz und der Winkelabweichung gemäß wobei den unterschiedlichen Einheiten der beiden Terme dadurch Rechnung getragen werden kann, dass die Gewichte w pos und entsprechend angepasst werden. Bspw. auf w pos = 0,35 und -m g — 0,65 gesetzt werden.

Die zweite Metrik misst den maximalen Bestimmungsabstand G mittels den nachstehend erläuterten zwei Schritten. (1) Jede bestimmte Pose wird auf die vorgegebene Trajektorie abgebildet und (2) es wird die maximale Länge bestimmt, die nicht von einer bestimmten Pose abgedeckt wird. Die Abbildung des ersten Schritts kann wie folgt beschrieben werden wobei \ die Referenzpose der bestimmten Pose L auf der vorgegebenen

Trajektorie ist. Die Referenzposen werden gemäß ihrer Bogenlänge zu einer geordneten Liste jrejf zusammengefasst. Der maximale Bestimmungsabstand

G e [0, 1] bestimmt sich dann wie nachstehend angegeben nach wobei die Länge der vorgegebenen Trajektorie s T beträgt.

In künstlichen neuronalen Netzen bei denen die annotierten (eng. labeled) Eingabegrößen (hier: grids) keine Pfadinformation enthalten, d.h. für den zukünftigen Pfad des Fahrzeugs irrelevante Positionen darstellen, kann eine Hochskalierung der relevanten Zellen mit den Funktonen f CE (c) und i WSg (c) erfolgen, wenn die Funktionen die nachstehenden Abbildungen beschreiben wobei y CE und MS£ Hyperparameter des Modells und \ c eine Indikatorfunktion ist, die 1 annimmt, wenn der zukünftige Pfad die Zelle c kreuzt, ansonsten 0 annimmt.

Im Rahmen der Optimierung können auch die Hyperparameter des Modells optimiert werden. Grundsätzlich können alle Hyperparameter des Modells optimiert werden.

In Versuchen wurde festgestellt, dass bereits gute Ergebnisse erzielt werden können, wenn nur eine Teilmenge der Hyperparameter optimiert wird. So kann die Dämpfung der exponentiellen Lernrate trd und der Skalierungsfaktor 2 der L2 Regularisierung auf trd = 0,01 nach 10 6 Iterationen und 2 = 0,003 festgelegt werden. Die weiteren drei Hyperparameter die Lernrate Ir sowie y CE und y MSE können in einem zweischrittigen Ansatz optimiert werden. Im ersten Schritt wird die Lernrate Ir variiert während y CE und y MSE konstant auf dem Wert 25 gehalten werden. Im zweiten Schritt wird die Lernrate Ir auf ihrem zuvor ermittelten Bestwert gehalten, y und y MSE zu optimieren.

Dem Fachmann ist dabei klar, dass die im vorherigen Abschnitt vorgeschlagenen Größen für die Hyperparameter stark von den verwendeten künstlichen neuronalen Netzen und insbesondere von deren Implementierung auf entsprechenden Rechenressourcen abhängt. Und daher vorliegend lediglich beispielhaft aufgeführt werden.

Fig. 2 zeigt eine schematische Darstellung eines künstlichen neuronalen Netzes 2 gemäß der vorliegenden Erfindung. Bei dem dargestellten künstlichen neuronalen Netz 2 handelt es sich um ein Convolutional Neural Network (CNN) realisiert nach der Encoder-Decoder-Architektur. Das dargestellte CNN basiert auf dem SegNet zur semantischen Segmentierung.

Die semantische Segmentierung wird typischerweise auf Bilder angewendet.

Eine Darstellung der Bilder wird als Eingangstensor einem entsprechend trainierten künstlichen neuronalen Netz zugeführt. Bei einer semantischen Segmentierung werden im Bild erkannte Objekte pixelgenau im Bild markiert. Die Objektklasse wird entsprechend für jeden Pixel des Bildes ausgegeben.

Das dargestellte künstliche neuronale Netz nimmt 5 Matrizen (bzw. Grids) als Eingangstensor auf. Diese Matrizen umfassen Informationen über die Umgebung des Fahrzeugs. Das sind bspw. Informationen über statische Hindernisse, unbekannte bzw. nicht erfassbare Bereich, ein Teil des bisher zurückgelegten Pfades sowie den Start- und (geplanten) Endzustand des Fahrzeugs. Der Endzustand hängt dabei von dem bevorstehenden Manöver ab. Handelt es sich bspw. um ein Parkmanöver, dann kann der Endzustand den eingeparkten Zustand des Fahrzeugs beschreiben. Handelt es sich bspw. um ein Umkehr oder Ausweichmanöver, dann kann der Endzustand den Zustand des Fahrzeugs nach dem Umkehren bzw. dem Ausweichen beschreiben.

Unter einem Zustand des Fahrzeugs kann vorliegend die Position des

Fahrzeugs, die Orientierung des Fahrzeugs an der Position sowie die

Geschwindigkeit des Fahrzeugs an der Position verstanden werden. Beim Durchlaufen des CNN 2 wird der Eingangstensor zunächst durch einen Encoder 201, durch ein Kontextmodul 202, und anschließend durch einen Decoder 203 geführt. Im Encoder 201 wird der Eingangstensor 21 in seiner räumlichen Dimension reduziert und gleichzeitig in seine Tiefe erhöht (Anstieg der Feature-Maps). Das Kontextmodul 202 erhöht die Tiefe des Netzes, indem es die räumliche Dimension des Tensors beibehält, allerdings zusätzliche Feature- Maps berechnet. Im Decoder 203 wird der gefaltete Tensor bis auf seine

Ursprungsgröße aufgefaltet und als Ausgangstensor 22 ausgegeben. Dies erfolgt durch abwechselnde Blöcke bestehend aus Faltungsschichten (eng.

convolutional layer) 23, Pooling-Schichten (eng. pooling layer) 24 und Unpooling- Schichten (eng. unpooling layer) 25. Die Faltungsschichten 23 können dabei einen 3x3 Kern (eng. kernel) und eine Schrittweite (eng. stride) von 1 aufweisen. Die Pooling-Schichten 24 können einen 2x2 Kern und die Unpooling-Schichten 25 einen 2x2 Kern aufweisen. Auf jede Faltungsschicht 23, mit Ausnahme der letzten, können eine Stapelnormalisierung (eng. Batch Normalization) und eine ReLU Aktivierung (eng. ReLU activation) folgen.

Das dargestellte CNN 2 gibt 4 Matrizen mit der gleichen Auflösung wie die des Eingangstensors 21 als Ausgabetensor 22 aus. Zwei der Matrizen enthalten die Ergebnisse der Klassifizierungsaufgabe. D.h. sie beinhalten eine pixelweise Information, ob ein Pixel zu dem zukünftigen Pfad gehört oder nicht. Die zwei anderen Matrizen enthalten die Ergebnisse der Regressionsaufgabe. D.h. sie beinhalten eine pixelweise Information über die Orientierung des Fahrzeugs an der jeweiligen Position, wobei die eine der Matrizen den Sinusanteil der

Orientierung des Fahrzeugs und die andere der Matrizen den Cosinusanteil der Orientierung beinhaltet. Ein Sinus- und Cosinusanteil von 0 an einem Pixel stellt an sich einen ungültigen Wert im Einheitskreis dar, kann dagegen genutzt werden, um zu kodieren, dass der Pixel nicht teil eines bestimmten Pfades ist.

Figur 3 zeigt ein Ablaufdiagramm einer Ausführungsform des Verfahrens zum Steuern eines Fahrzeugs gemäß der vorliegenden Erfindung.

In Schritt 301 erfolgt eine Pfadvorhersage mittels eines künstlichen neuronalen Netzes gemäß der vorliegenden Erfindung. Für diesen Schritt können dem zuvor trainierten künstlichen neuronale Netz als Eingangsgrößen ein Startzustand des Fahrzeugs, ein Endzustand des Fahrzeugs und eine Information über die

Umgebung des Fahrzeugs zugeführt werden. Das künstliche neuronale Netz kann als Ausgangsgröße eine Information über einen Pfad des Fahrzeugs bereitstellen.

In Schritt 302 wird eine diskrete Position aus der bestimmten Pfadvorhersage ausgewählt. Für diesen Schritt kann aus der Pfadvorhersage für das Fahrzeug mindestens eine Pose ausgewählt werden. Denkbar ist auch die Auswahl mindestens einer Zelle, die eine diskrete Position repräsentiert.

In Schritt 303 wird eine kontinuierliche Position an der ausgewählten Position erzeugt. Dieser Schritt basiert auf der Erkenntnis, dass die Zellen des

vorhergesagten Pfads lediglich diskrete Positionsangaben darstellen, die einen der Auflösung entsprechenden Bereich der Umgebung des Fahrzeugs darstellen. Bspw. einen Bereich von 60 cm x 60 cm. Zum einen wird durch die

Kontinuisierung der diskreten Position der gesamte Wertebereich an möglichen Positionen abgedeckt. Zum anderen lässt sich durch die Kontinuisierung der diskreten Position die Steuerung auf einfache Weise vereinfachen.

In Schritt 304 wird eine Orientierung an der ausgewählten Position bestimmt. Dieser Schritt basiert auf der Erkenntnis, dass die Ausgabe des künstlichen neuronalen Netzes neben den Positionen, die zu dem ermittelten Pfad des Fahrzeugs gehören auch entsprechende Orientierungen an den jeweiligen Positionen ermittelt hat. D.h. zu jeder Zelle existiert eine Information über die Position des Fahrzeugs und eine Information über die Orientierung des

Fahrzeugs. In Abhängigkeit von der ausgewählten Zelle für die Position kann die zugehörige Orientierung des Fahrzeugs ausgewählt werden.

Gemäß einer Ausführungsform kann für die bestimmte Orientierung eine bilineare Interpolation in Bezug von der erzeugten kontinuierlichen Position durchgeführt werden.

In Schritt 305 wird eine Pose zur Steuerung des Fahrzeugs durch

Zusammenführen der erzeugten kontinuierlichen Position und der bestimmten Orientierung bestimmt. Für diesen Schritt kann die kontinuisierte Position und die bestimmte Orientierung des Fahrzeugs zu einer Pose für die Steuerung des Fahrzeugs zusammengeführt. Gemäß einer Ausführungsform wird die kontinuisierte Information einer Position des Fahrzeugs mit der bilinear interpolierten Information einer Orientierung des Fahrzeugs zusammengeführt und bildet die Pose zu Steuerung des Fahrzeugs.

In Schritt 306 wird das Fahrzeug in Abhängigkeit von der bestimmten Pose gesteuert. Für diesen Schritt können die bestimmten Posen einem

Bewegungsplaner zugeführt werden. Ein geeigneter Bewegungsplaner ist der Bidirectional RRT* (BiRRT*).

Die Steuerung des Fahrzeugs kann dabei derart erfolgen, dass die bestimmte Pose bei der Berechnung eines Bewegungsplans für das Fahrzeug berücksichtigt wird. Die Steuerung des Fahrzeugs kann dann derart erfolgen, dass die

Fahrzeugsysteme derart angesteuert werden, dass das Fahrzeug im

Wesentlichen dem berechneten Bewegungsplan folgt.