-
Die Erfindung betrifft ein Verfahren und ein System zur Bestimmung einer Parklücke und einer Zielposition eines Fahrzeugs in der Parklücke mittels eines neuronalen Netzes.
-
Aus dem Stand der Technik sind Verfahren zur Bestimmung einer Parklücke und einer Zielposition eines Fahrzeugs in der Parklücke bekannt. Basierend auf den durch eine Sensorik ermittelten Umgebungsinformationen wird zunächst ein Umgebungsmodell gebildet. Anschließend wird basierend auf diesem Umgebungsmodell die Szene interpretiert, eine Parklücke detektiert und die Zielposition des Fahrzeugs in der Parklücke festgelegt. Dabei kommen komplexe Algorithmen zum Einsatz, die eine Vielzahl von Wenn-Dann-Abfragen und Look-up-Tabellen verwenden.
-
Problematisch bei den bekannten Verfahren ist, dass der Softwarecode, der das Verfahren zur Bestimmung der Parklücke bzw. der Zielposition des Fahrzeugs implementiert, aufgrund der Vielzahl und häufig unterschiedlichen Kundenanforderungen sehr komplex ist und damit schwer wartbar bzw. erweiterbar ist. Zudem können die bekannten Verfahren nicht sämtliche Parksituationen in zufriedenstellender Weise handhaben.
-
Ausgehend hiervon ist es Aufgabe der Erfindung, ein Verfahren zur Bestimmung einer Parklücke und einer Zielposition eines Fahrzeugs in der Parklücke anzugeben, das komplexe Programmstrukturen vermeidet und eine zuverlässige und zufriedenstellende Parklückendetektion bzw. Bestimmung der Zielposition des Fahrzeugs ermöglicht.
-
Die Aufgabe wird durch ein Verfahren mit den Merkmalen des unabhängigen Patentanspruchs 1 gelöst. Bevorzugte Ausführungsformen sind Gegenstand der Unteransprüche. Ein System zur Bestimmung einer Parklücke und einer Zielposition eines Fahrzeugs ist Gegenstand des nebengeordneten Patentanspruchs 12.
-
Gemäß einem ersten Aspekt bezieht sich die Erfindung auf ein Verfahren zur Bestimmung einer Parklücke und einer Zielposition eines Fahrzeugs mittels eines neuronalen Netzes. Das Verfahren weist die folgenden Schritte auf:
- Zunächst wird eine Szene im Umgebungsbereich eines Fahrzeugs mittels einer Sensorik erfasst und es werden Umgebungsinformationen bereitgestellt. Die Sensorik kann jegliche Sensorarten aufweisen, die zur Umgebungserfassung einsetzbar sind, beispielsweise Ultraschallsensoren, Radarsensoren, LIDAR-Sensoren, Kameras etc. Die Umgebungsinformationen sind beispielsweise zweidimensionale Daten, in denen die durch die Sensorik erfassten Detektionen kartiert sind.
-
Anschließend wird eine Rasterkarte der Szene mit einer Vielzahl von Zellen basierend auf den Umgebungsinformationen erzeugt. Die Zellen der Rasterkarte weisen jeweils Informationen auf, ob der mit der Zelle korrespondierende Umgebungsbereich von einem Objekt belegt ist oder nicht. Die Rasterkarte bildet damit quasi ein digitales Bild und die Zellen bilden die Pixel des Bildes, wobei die Pixel Belegungsinformationen aufweisen, beispielsweise „0“ für nicht belegt und „1“ für belegt. Die Zellen können vorzugsweise auch weitere Informationen enthalten, beispielsweise Höheninformationen zu den detektierten Objekten, die Dichte und/oder Intensität der am Sensor empfangenen Reflektionen etc. Die Dichte der am Sensor empfangenen Reflektionen kann angeben, wie viele Merkmalspunkte (engl. feature points) in eine gewisse Zelle fallen.
-
Die Intensität der am Sensor empfangenen Reflektionen kann die Signalstärke der empfangenen Reflektion angeben, die wiederum von dem Material und/oder der Oberflächenbeschaffenheit des reflektierenden Objekts abhängt.
-
Die Rasterkarte wird anschließend an ein neuronales Netz übermittelt, Das neuronale Netz ist dazu trainiert, basierend auf der Rasterkarte Informationen zu einem Parklückenbegrenzungsrahmen und Informationen zu einer Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen bereitzustellen.
-
Der technische Vorteil des erfindungsgemäßen Verfahrens besteht darin, dass durch das neuronale Netz eine zuverlässige und zufriedenstellende Parklückendetektion bzw. Bestimmung der Zielposition des Fahrzeugs erreicht wird. Zudem können durch den Einsatz des neuronalen Netzes mehrere Softwarekomponenten des Standes der Technik zugleich ersetzt werden, und zwar die Softwarekomponente zur Interpretation der Szene und die Softwarekomponente zur Berechnung der Zielposition.
-
Gemäß einem Ausführungsbeispiel weisen die Zellen der Rasterkarte Informationen auf, die angeben, ob die jeweilige Zelle mit einem Objekt belegt ist, das höher oder niedriger ist als ein festgelegter Schwellwert. Damit können dem neuronalen Netz zusätzlich Informationen zur Verfügung gestellt werden, welche Höhe das Objekt aufweist bzw. in welche Höhenklasse (hoch bzw. niedrig in Bezug auf einen vorgegebenen Schwellwert) das Objekt einzugruppieren ist, wodurch die Parklückenerkennung entscheidend verbessert wird, da beispielsweise hohe Objekte wie Fahrzeuge etc. von niedrigen Objekten wie beispielsweise Randsteinen unterscheidbar sind.
-
Gemäß einem Ausführungsbeispiel weisen die Zellen der Rasterkarte Informationen zur Dichte und/oder Intensität der am Sensor empfangenen Reflektionen auf. Diese Informationen können dazu dienen, die Zellen zu gewichten, und zwar derart, dass diejenigen Zellen, die eine höhere Dichte und/oder Intensität aufweisen, durch das neuronale Netz stärker gewichtet werden als diejenigen, die eine geringere Dichte und/oder Intensität aufweisen.
-
Gemäß einem Ausführungsbeispiel weist das neuronale Netz mehrere Abschnitte auf, und zwar einen ersten Abschnitt, mittels dem eine Erkennung von Strukturen von den in der Rasterkarte enthaltenen Objekten erfolgt, einen zweiten Abschnitt, mittels dem ein oder mehrere für die Parklückendetektion relevante Bereiche ermittelt werden und einen dritten Abschnitt, der den zumindest einen für die Parklückendetektion relevanten Bereich empfängt und der innerhalb dem zumindest einen für die Parklückendetektion relevanten Bereich Informationen zu einem Parklückenbegrenzungsrahmen und Informationen zu einer Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen ermittelt. Damit weist das neuronale Netz eine Fast R-CNN-Architektur bzw. Faster R-CNN-Architektur auf, die eine hohe Effizienz und Detektionsgenauigkeit bei Parksituationen bietet.
-
Gemäß einem Ausführungsbeispiel weist der erste Abschnitt ein faltendes neuronales Netz (auch convolutional neural network, CNN, genannt) mit mehreren Schichten auf, wobei die Schichten jeweils ein Convolutional Layer (d.h. eine Faltungsschicht) und ein Pooling Layer (d.h. eine Pooling-Schicht bzw. Bündelungsschicht) aufweisen und wobei jede Schicht eine Feature Map (auch Aktivierungskarte bzw. Merkmalskarte genannt) als Ausgangsinformation bereitstellt. Die Schichten des faltenden neuronalen Netzes sind dazu ausgebildet, unterschiedlich komplexe Merkmale der in der Rasterkarte enthaltenen Informationen zu erkennen und in der Feature Map auszugeben. Damit werden durch die unterschiedlichen Feature Maps Ausgangsinformationen mit unterschiedlicher Komplexität bereitgestellt.
-
Gemäß einem Ausführungsbeispiel werden die Ausgangsinformationen des jeweiligen Convolutional Layers durch eine Aktivierungsfunktion modifiziert. Die Aktivierungsfunktion kann insbesondere eine ReLU-Aktivierungsfunktion sein. Dadurch kann die Recheneffizienz und Konvergenzfähigkeit des neuronalen Netzes gesteigert werden.
-
Gemäß einem Ausführungsbeispiel umfasst der zweite Abschnitt einen selektiven Suchalgorithmus oder ein Faltungsnetzwerk, die zum Erkennen und Auswählen von einem oder mehreren Ausschnitten in den Feature Maps ausgebildet sind, die von den jeweiligen Schichten des faltenden neuronalen Netzes des ersten Abschnitts bereitgestellt werden und einen oder mehrere relevante Bereiche zur Erkennung von Parklücken enthalten. Damit werden durch den zweiten Abschnitt des neuronalen Netzes in den Feature Maps diejenigen Bereiche erkannt, die eine Relevanz für die Parklückendetektion haben. Ein solcher Bereich kann beispielsweise eine Parklücke mit den diese Parklücke begrenzenden Objekten sein.
-
Gemäß einem Ausführungsbeispiel empfängt der selektive Suchalgorithmus oder das Faltungsnetzwerk mehrere Feature Maps aus unterschiedlichen Schichten des faltenden neuronalen Netzes des ersten Abschnitts. Basierend auf den Gesamtinformationen, die in den Feature Maps enthalten sind, werden ein oder mehrere relevante Bereiche für die Erkennung von Parklücken bestimmt. In anderen Worten werden damit Informationen aus mehreren bzw. sämtlichen Feature Maps dazu verwendet, relevante Bereiche für die Erkennung von Parklücken zu bestimmen.
-
Gemäß einem Ausführungsbeispiel weist der dritte Abschnitt zumindest ein erstes Fully-Connected Layer auf. Der dritte Abschnitt erzeugt zumindest einen Ausschnitt der Feature Maps, die durch den ersten Abschnitt des neuronalen Netzes bereitgestellt werden, basierend auf dem vom zweiten Abschnitt bereitgestellten zumindest einen relevanten Bereich. Dieser zumindest eine Ausschnitt der Feature Maps wird durch das zumindest eine erste Fully-Connected Layer weiterverarbeitet. Damit werden in dem dritten Abschnitt die in den Feature Maps enthaltenen Informationen auf die für die Parklückenerkennung relevanten Bereiche reduziert und weiterverarbeitet.
-
Gemäß einem Ausführungsbeispiel umfasst der dritte Abschnitt ein Pooling Layer, das den zumindest einen Ausschnitt der Feature Maps erzeugt. Der zumindest eine Ausschnitt weist dabei eine vordefinierte Größe auf. Vorzugsweise werden durch das Pooling Layer mehrere Ausschnitte bereitgestellt, die unabhängig von der Größe der relevanten Bereiche, die zu der Erzeugung der Ausschnitte geführt haben, die gleiche Größe aufweisen. Aufgrund der gleichen Größe der Ausschnitte ist es möglich, die Weiterverarbeitung der Informationen zu vereinfachen. Insbesondere können alle Ausschnitte gleichzeitig weiterverarbeitet werden.
-
Gemäß einem Ausführungsbeispiel weist der dritte Abschnitt zumindest ein zweites Fully-Connected Layer zur Berechnung des Parklückenbegrenzungsrahmens und zumindest ein drittes Fully-Connected Layer zur Berechnung der Zielposition des Fahrzeugs auf, wobei das zweite und das dritte Fully-Connected Layer mit dem zumindest einen ersten Fully-Connected Layer verbunden sind und Ausgangsinformationen von diesem empfangen.
-
Gemäß einem Ausführungsbeispiel werden durch den ersten und/oder zweiten Abschnitt mehrere unterschiedliche Teilinformationen bereitgestellt. Diese unterschiedlichen Teilinformationen werden parallel durch mehrere dritte Abschnitte des neuronalen Netzes verarbeitet. Insbesondere können Informationen aus unterschiedlichen Feature Maps, die von dem ersten Abschnitt generiert werden, in unterschiedlichen dritten Abschnitten des neuronalen Netzes weiterverarbeitet werden. Die dadurch erzeugten Ausgangsinformationen können anschließend in einem weiteren Informationsverarbeitungsschritt zusammengefasst werden, um die Informationen zu einem Parklückenbegrenzungsrahmen und Informationen zu einer Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen bereitzustellen.
-
Gemäß einem weiteren Aspekt betrifft die Erfindung ein System zur Bestimmung einer Parklücke und einer Zielposition eines Fahrzeugs mittels eines neuronalen Netzes. Das System ist mit einer Sensorik gekoppelt, die zur Erfassung einer Szene im Umgebungsbereich des Fahrzeugs und zum Bereitstellen von Umgebungsinformationen ausgebildet ist. Das System weist eine Recheneinheit auf, die zum Erzeugen einer Rasterkarte der Szene mit einer Vielzahl von Zellen basierend auf den Umgebungsinformationen ausgebildet ist. Die Zellen der Rasterkarte weisen jeweils Informationen auf, ob der mit der Zelle korrespondierende Umgebungsbereich von einem Objekt belegt ist oder nicht. Das neuronale Netz ist dazu trainiert, basierend auf der Rasterkarte Informationen zu einem Parklückenbegrenzungsrahmen und Informationen zu einer Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen zu ermitteln.
-
Der technische Vorteil des erfindungsgemäßen Systems besteht darin, dass durch das neuronale Netz eine zuverlässige und zufriedenstellende Parklückendetektion bzw. Bestimmung der Zielposition des Fahrzeugs erreicht wird. Zudem kann durch das neuronale Netz eine datengetriebene Bestimmung des Parklückenbegrenzungsrahmens bzw. der Zielposition des Fahrzeugs erfolgen anstelle dafür eine komplexe geometrische Algorithmik zu verwenden.
-
Gemäß einem Ausführungsbeispiel des Systems weist das neuronale Netz mehrere Abschnitte auf, und zwar einen ersten Abschnitt, der zur Erkennung von Strukturen von den in der Rasterkarte enthaltenen Umgebungsobjekten ausgebildet ist, einen zweiten Abschnitt, der zur Ermittlung eines oder mehrerer für die Parklückendetektion relevanter Bereiche ausgebildet ist und einen dritten Abschnitt, der zum Empfang des zumindest einen für die Parklückendetektion relevanten Bereichs und zur Ermittlung von Informationen zu einem Parklückenbegrenzungsrahmen und von Informationen zu einer Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen innerhalb dem zumindest einen für die Parklückendetektion relevanten Bereich ausgebildet ist. Damit weist das neuronale Netz eine Fast R-CNN-Architektur bzw. Faster R-CNN-Architektur auf, die eine hohe Effizienz und Detektionsgenauigkeit bei Parksituationen bieten.
-
Gemäß einem Ausführungsbeispiel des Systems umfasst der zweite Abschnitt einen selektiven Suchalgorithmus oder ein Faltungsnetzwerk, die zum Erkennen und Auswählen von einem oder mehreren Ausschnitten in den Feature Maps ausgebildet sind, die von den jeweiligen Schichten eines faltenden neuronalen Netzes des ersten Abschnitts bereitgestellt werden und einen oder mehrere relevante Bereiche zur Erkennung von Parklücken enthalten. Damit werden durch den zweiten Abschnitt des neuronalen Netzes in den Feature Maps diejenigen Bereiche erkannt, die eine Relevanz für die Parklückendetektion haben. Ein solcher Bereich kann beispielsweise eine Parklücke mit den diese Parklücke begrenzenden Objekten sein.
-
Gemäß einem Ausführungsbeispiel des Systems ist der selektive Suchalgorithmus oder das Faltungsnetzwerk zum Empfang mehrerer Feature Maps aus unterschiedlichen Schichten des faltenden neuronalen Netzes des ersten Abschnitts und zur Bestimmung eines oder mehrerer relevanter Bereiche für die Erkennung von Parklücken basierend auf den Gesamtinformationen, die in den Feature Maps enthalten sind, ausgebildet. In anderen Worten werden damit Informationen aus mehreren bzw. sämtlichen Feature Maps dazu verwendet, relevante Bereiche für die Erkennung von Parklücken zu bestimmen.
-
Gemäß einem Ausführungsbeispiel des Systems weist der dritte Abschnitt zumindest ein erstes Fully-Connected Layer auf. Zumindest ein Ausschnitt der Feature Maps, die durch den ersten Abschnitt des neuronalen Netzes bereitgestellt werden, wird basierend auf dem vom zweiten Abschnitt bereitgestellten zumindest einen relevanten Bereich erzeugt. Dieser zumindest eine Ausschnitt der Feature Maps wird durch das zumindest eine erste Fully-Connected Layer weiterverarbeitet.
-
Gemäß einem Ausführungsbeispiel des Systems weist der dritte Abschnitt zumindest ein zweites Fully-Connected Layer zur Berechnung des Parklückenbegrenzungsrahmens und zumindest ein drittes Fully-Connected Layer zur Berechnung der Zielposition des Fahrzeugs auf. Das zweite und das dritte Fully-Connected Layer sind mit dem zumindest einen ersten Fully-Connected Layer verbunden und empfangen Ausgangsinformationen von diesem.
-
Die Ausdrücke „näherungsweise“, „im Wesentlichen“ oder „etwa“ bedeuten im Sinne der Erfindung Abweichungen vom jeweils exakten Wert um +/- 10%, bevorzugt um +/- 5% und/oder Abweichungen in Form von für die Funktion unbedeutenden Änderungen.
-
Weiterbildungen, Vorteile und Anwendungsmöglichkeiten der Erfindung ergeben sich auch aus der nachfolgenden Beschreibung von Ausführungsbeispielen und aus den Figuren. Dabei sind alle beschriebenen und/oder bildlich dargestellten Merkmale für sich oder in beliebiger Kombination grundsätzlich Gegenstand der Erfindung, unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbeziehung. Auch wird der Inhalt der Ansprüche zu einem Bestandteil der Beschreibung gemacht.
-
Die Erfindung wird im Folgenden anhand der Figuren an Ausführungsbeispielen näher erläutert. Es zeigen:
- 1 beispielhaft eine schematische Draufsichtdarstellung auf ein Fahrzeug mit einer Sensorik und einer mit dieser Sensorik verbundenen Recheneinheit;
- 2 beispielhaft eine schematische Darstellung einer Rasterkarte, die eine Parksituation illustriert und in der ein für die Parklückenerkennung relevanter Bereich, ein Parklückenbegrenzungsrahmen und eine Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen skizziert sind;
- 3 beispielhaft eine schematische Darstellung eines faltenden neuronalen Netzes mit mehreren Schichten;
- 4 beispielhaft eine schematische Darstellung eines neuronalen Netzes, das zur Bestimmung eines Parklückenbegrenzungsrahmens und einer Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen ausgebildet ist; und
- 5 beispielhaft ein Blockdiagramm, das die Abläufe eines Verfahrens zur Bestimmung eines Parklückenbegrenzungsrahmens und einer Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen veranschaulicht.
-
1 zeigt beispielhaft und grob schematisch ein Fahrzeug 1. Das Fahrzeug 1 weist eine Sensorik umfassend eine Vielzahl von einzelnen um das Fahrzeug herum verteilte Sensoren auf, mittels denen eine Umgebungserfassung möglich ist. Die Sensoren können beispielsweise Ultraschallsensoren, zumindest eine Kamera, zumindest einen Radarsensor und/oder zumindest einen LIDAR-Sensor umfassen.
-
Die Sensorik 2 ist mit zumindest einer Recheneinheit R gekoppelt, mittels der das nachfolgend beschriebene Verfahren zur Erfassung einer Parklücke und einer Zielposition eines Fahrzeugs in der Parklücke vollzogen wird. Insbesondere ist in der Recheneinheit R ein neuronales Netz 4 implementiert, mittels dem Informationen zu einem Parklückenbegrenzungsrahmen P und Informationen zu einer Zielposition Z des Fahrzeugs 1 in dem Parklückenbegrenzungsrahmen P bestimmbar sind.
-
Die Sensorik 2 des Fahrzeugs 1 stellt Umgebungsinformationen zu einer Szene im Umgebungsbereich des Fahrzeugs 1 bereit. Damit das neuronale Netz 4 die Umgebungsinformationen schnell und in effizienter Weise (bezogen auf die Rechenressourcen) verarbeiten kann, wird eine Rasterkarte 3 erzeugt, die die Szene abbildet. 2 zeigt beispielhaft und schematisch eine Rasterkarte 3 mit einer eine Parksituation bildenden Szene.
-
Die Rasterkarte 3 ist beispielsweise eine zweidimensionale, diskretisierte Darstellung der Szene. Sie weist eine Vielzahl von Zellen 3.1 auf, die jeweils einem Umgebungsbereich zugeordnet sind. Jeder Zelle ist eine digitale Information zugeordnet, die angibt, ob die Zelle 3.1 mit einem Objekt belegt ist oder nicht. Für den Fall, dass die Sensorik Umgebungsinformationen bereitstellt, die eine Höhenklassifizierung der Objekte aufweisen, kann die Zelle zudem Informationen aufweisen, welche Höhenklasse der Abschnitt des Objekts, der in die jeweilige Zelle fällt, aufweist. So kann beispielsweise die Zelle Informationen aufweisen, ob es sich bei dem Objekt um ein hohes oder ein niedriges Objekt (hoch/niedrig in Bezug auf einen Höhenschwellwert) handelt.
-
In der Rasterkarte 3 gemäß 2 sind zwei Linien eingezeichnet, die durch die Sensorik 2 erkannte Konturen von Objekten O1, O2 skizzieren.
-
Das neuronale Netz 4 ermittelt einen für die Parklückendetektion relevanten Bereich B1, der die beiden Objekte 01,02 zumindest teilweise beinhaltet. Zudem zeigt 2 auch einen Parklückenbegrenzungsrahmen P und eine Zielposition Z des Fahrzeugs 1 im Parklückenbegrenzungsrahmen P, wobei der Parklückenbegrenzungsrahmen P und die Zielposition Z des Fahrzeugs 1 an der Ausgangsschnittstelle des neuronalen Netzes 4 ausgegeben werden. Zu dem Parklückenbegrenzungsrahmen P und/oder der Zielposition Z ermittelt das neuronale Netz 4 vorzugsweise auch jeweils einen Winkel, der die Ausrichtung des Parklückenbegrenzungsrahmens P bzw. der Zielposition Z in der Szene angibt.
-
Wie in 4 gezeigt, weist das neuronale Netz 4 mehrere Abschnitte auf, die zur Bestimmung der Lage und Größe des Parklückenbegrenzungsrahmens P und zur Lage der Zielposition Z des Fahrzeugs 1 in diesem Parklückenbegrenzungsrahmen P beitragen. Das neuronale Netz 4 bildet insbesondere ein sog. Fast R-CNN bzw. Faster R-CNN, wobei R-CNN ein sog. Region Based Convolutional Neural Network ist.
-
Insbesondere weist das neuronale Netz 4 einen ersten Abschnitt 4.1 auf, der ein faltendes neuronales Netz 5 (engl. convolutional neural network, CNN) umfasst. Ein mit dem ersten Abschnitt 4.1 verbundener, zweiter Abschnitt 4.2 weist Mittel zur Bestimmung von Bereichen auf, die für die Parklückendetektion relevant sind. In 2 ist ein solcher Bereich mit B1 gekennzeichnet. Ein solcher Bereich zeichnet sich insbesondere dadurch aus, dass dieser zumindest eine Parklücke aufweist, die seitlich durch ein oder mehrere Objekte begrenzt ist. Ein mit dem ersten und zweiten Abschnitt 4.1, 4.2 verbundener dritter Abschnitt 4.3 des neuronalen Netzes 4 weist Mittel zur Ermittlung der Lage und Größe des Parklückenbegrenzungsrahmens P und zur Lage der Zielposition Z des Fahrzeugs 1 in diesem Parklückenbegrenzungsrahmen P auf.
-
3 zeigt ein beispielhaft und schematisch ein faltendes neuronales Netz 5, das im ersten Abschnitt des neuronalen Netzes 4 zum Einsatz kommen kann.
-
Das faltende neuronale Netz 5 empfängt an dessen Eingang die Rasterkarte 3. Das faltende neuronale Netz 5 weist mehrere Schichten 5.1, 5.2 auf. Im gezeigten Ausführungsbeispiel sind lediglich zwei Schichten vorgesehen. Es sei darauf hingewiesen, dass das faltende neuronale Netz 5 auch mehr als zwei Schichten 5.1, 5.2 aufweisen kann, je nachdem, welches Level von Strukturen erkannt werden sollen.
-
Jede Schicht 5.1 weist zumindest ein convolutional layer CL und ein Max-Pooling Layer MPL auf. Das convolutional layer CL weist einen Filter (sog. Kernels) auf, um Merkmale in den Informationen der Rasterkarte 3 zu detektieren. Durch die geschichtete Anordnung mehrerer convolutional layer CL lassen sich zunehmend komplexere Strukturen in der Szene erkennen. So kann beispielsweise ein erstes convolutional layer CLGrundstrukturen wie beispielsweise horizontale, vertikale oder schräg verlaufende Kanten erkennen. Basierend darauf kann ein zweites convolutional layer CL, das in Informationsflußrichtung auf das erste convolutional layer CLfolgt, Muster wie beispielsweise Kurven, Rechtecke oder Kreise erkennen. Ein ggf. drittes convolutional layer CL, das in Informationsflußrichtung auf das zweite convolutional layer CL folgt, kann basierend auf diesen Informationen beispielsweise dann komplexere Strukturen wie beispielsweise Fahrzeuge, Lücken zwischen Objekten etc. erkennen.
-
Beispielsweise folgt in jeder Schicht 5.1, 5.2 auf ein convolutional layer CL jeweils ein Max-Pooling Layer MPL. Das Max-Pooling Layer MPL dient dazu, die Informationen, die von der nachfolgenden Schicht verarbeitet werden, zu reduzieren, um dem Kernel der nachfolgenden Schicht es zu ermöglichen, eine zoomartige Perspektive auf die Szene zu geben, die schon auf detektierte Merkmale reduziert wurde. Beispielsweise reduziert der jeweilige Max-Pooling Layer MPL die Informationen um den Skalierungsfaktor β, d.h. das convolutional layer der ersten Schicht 5.1 weist beispielsweise die Dimension I * w auf, die gleich der Dimension der Rasterkarte 3 ist und liefert n
1 feature maps, wohingegen das convolutional layer der zweiten Schicht 5.2 die Dimension
aufweist und n
2 feature maps liefert.
-
Die convolutional layer CL nutzen vorzugsweise eine Aktivierungsfunktion, beispielsweise ein ReLU-Aktivierungsfunktion der Form:
-
4 zeigt die Gesamtstruktur des neuronalen Netzes 4. Der Informationsfluss ist hierbei in 4 von unten nach oben, wie durch die Pfeile angedeutet.
-
Eine Rasterkarte 3, die die diskretisierten Umgebungsinformationen enthält, wird an das faltende neuronale Netz 5 übermittelst, das, wie vorher beschrieben, mehrere Schichten 5.1, 5.2 aufweist und basierend auf diesen Schichten 5.1, 5.2 mehrere feature maps als Ausgangsinformationen erzeugt.
-
Die Abschnitte 4.1 bis 4.3 des neuronalen Netzes 4 sind ebenso in 4 skizziert, wobei das faltende neuronale Netz 5 in dem ersten Abschnitt 4.1 liegt. Das faltende neuronale Netz 5 übermittelt die feature maps zum einen an den zweiten Abschnitt 4.2, zum anderen an den dritten Abschnitt 4.3 des neuronalen Netzes 4.
-
Der zweite Abschnitt 4.2 des neuronalen Netzes 4 implementiert einen selektiven Suchalgorithmus oder weist ein weiteres faltendes neuronales Netz auf, auch als regional proposal network (RPN) bezeichnet. Der selektive Suchalgorithmus bzw. das regional proposal network sind dazu ausgebildet, in den jeweiligen feature maps, die durch das faltende neuronale Netz 5 generiert werden, zu untersuchende Bereiche festzulegen (sog. regions of interest ROI). Zu untersuchende Bereiche sind diejenigen Bereiche in den feature maps, in denen zu beparkende Bereiche zu erwarten sind. Das regional proposal network ist beispielsweise ein mittels gelabelten Trainingsdaten vortrainiertes Faltungsnetzwerk, das dazu angepasst ist, beparkbare Bereiche zu erkennen. Die Trainingsdaten weisen beispielsweise Parkplatz-Szenen auf, in denen Bereiche, die ein oder mehrere Objekte mit daran anschließender oder dazwischen eingeschlossener Freifläche, die eine Parklücke sein könnte, als Label gekennzeichnet sind. Durch das Training mit diesen Daten kann das regional proposal network dazu trainiert werden, für eine Beparkung zu untersuchende Bereiche zu erkennen.
-
Die zu untersuchenden Bereiche und die feature maps werden anschließend an den dritten Abschnitt 4.3 des neuronalen Netzes 4 übertragen. Vorzugsweise sind die in 4 in dem dritten Abschnitt 4.3 gezeigten Bestandteile des neuronalen Netzes 4 mehrfach vorgesehen, und zwar für jede feature map, die von dem faltenden neuronalen Netz 5 generiert wird, jeweils einmal. Dadurch kann zunächst basierend auf jedem feature map getrennt ein Parklückenbegrenzungsrahmen P und eine Zielposition Z des Fahrzeugs 1 im Parklückenbegrenzungsrahmen P bestimmt werden, wobei diese Informationen anschließend miteinander verknüpft und dadurch ein finaler Parklückenbegrenzungsrahmen P und eine finale Zielposition Z des Fahrzeugs 1 in diesem finalen Parklückenbegrenzungsrahmen P festgelegt werden.
-
Im Folgenden wird die Informationsverarbeitung anhand einer einzelnen feature map beschrieben. Die Informationsverarbeitung der weiteren feature maps erfolgt in gleicher Weise.
-
Eine von dem faltenden neuronalen Netz 5 erzeugte feature map wird mit dem zumindest einen zu untersuchenden Bereich, der von dem regional proposal network oder dem selektiven Suchalgorithmus bereitgestellt wird, verknüpft. Damit werden innerhalb der feature map ein oder mehrere relevante Bereiche B1, B2, B3 festgelegt, die in den zumindest einen zu untersuchenden Bereich fallen. In anderen Worten wird durch die Verknüpfung der feature map und dem zumindest einen zu untersuchenden Bereich zumindest ein Ausschnitt A1, A2, A3 der Feature map festgelegt, wie dies in 4 in dem unteren Bereich des Abschnitts 4.3 angedeutet ist.
-
Anschließend erfolgt ein sog. Region of Interest (Rol) Pooling durch ein pooling layer 7. Dabei wird beispielsweise eine Max-Pooling-Operation dazu verwendet, zu jedem zu untersuchenden Bereich eine Teil-feature map (Ausschnitte A1, A2, A3) zu erzeugen. Die Teil-feature maps weisen dabei jeweils die gleiche Größe auf, d.h. auch bei nicht gleichgroßen Ausschnitten der originären feature map stellt das pooling layer 7 Teil-feature maps bereit, die alle die gleiche Größe haben.
-
Diese Teil-feature maps werden anschließend an ein erstes fully connected layer 6 weitergeleitet, das die in den Teil-feature maps vorhandenen Informationen weiterverarbeitet.
-
Die von dem fully connected layer 6 bereitgestellten Informationen werden anschließend parallel an ein zweites fully connected layer 8 und ein drittes fully connected layer 9 übertragen. Das zweite fully connected layer 8 ist beispielsweise dazu trainiert, den Parklückenbegrenzungsrahmen P zu einer detektierten Parklücke zu bestimmen. Das dritte fully connected layer 8 ist beispielsweise dazu trainiert, die Zielposition des Fahrzeugs 1 in dem Parklückenbegrenzungsrahmen P bzw. der Parklücke zu bestimmen. Diese Informationen werden anschließend durch das zweite und dritte fully connected layer 8, 9 ausgegeben.
-
Das neuronale Netz 4 stellt beispielsweise die Informationen zu dem Parklückenbegrenzungsrahmen P und der Zielposition Z des Fahrzeugs 1 wie folgt bereit. Die Zielposition Z des Fahrzeugs 1 in einer Parklücke wird beispielsweise durch einen Vektor mit den folgenden Werten ausgegeben:
wobei beispielsweise durch die Koordinaten t
x und t
y eine Ecke des Fahrzeugs definiert wird oder ein Offset dieser Fahrzeugecke zu dem Parklückenbegrenzungsrahmen P angegeben wird und t
Θ die Ausrichtung des Fahrzeugs in der Parklücke bzw. relativ zur Ausrichtung des Parklückenbegrenzungsrahmens P angibt.
-
Der Parklückenbegrenzungsrahmen P wird beispielsweise durch einen Vektor mit den folgenden Werten ausgegeben:
wobei beispielsweise durch die Koordinaten b
x und b
y eine Ecke des Parklückenbegrenzungsrahmens P definiert wird, durch die Werte b
l und b
w die Länge und Breite des Parklückenbegrenzungsrahmens P definiert wird und b
Θ die Ausrichtung des Parklückenbegrenzungsrahmens P in der Rasterkarte 3 angibt.
-
Es versteht sich, dass diese Informationen für jeden detektierten Parklückenbegrenzungsrahmen P bzw. für jede Zielposition Z des Fahrzeugs 1 separat bereitgestellt werden.
-
Das Training des neuronalen Netzes 4 erfolgt mittels Trainingsdaten, das gelabelte Parksituationsszenen aufweist, wobei die Labels jeweils die vorgenannten Ausgangsinformationen des neuronalen Netzes 4 angeben, d.h. die Zielposition Z und Ausrichtung des Fahrzeugs 1 in der Parklücke und die Position, Größe und Ausrichtung des Parklückenbegrenzungsrahmens P.
-
Während des Trainings des neuronalen Netzes 4 wird versucht, die Parameter bzw. Gewichte des neuronalen Netzes 4 derart zu wählen, dass die von dem neuronalen Netz 4 bereitgestellten Informationen bestmöglich den in den Trainingsdaten angegebenen Labels entsprechen.
-
Wie oben ausgeführt, stellt das neuronale Netz 4 zwei Ausgangsinformationen bereit, und zwar Informationen zum Parklückenbegrenzungsrahmen P und zur Zielposition Z des Fahrzeugs 1.
-
Das Training des neuronalen Netzes 4 erfolgt derart, dass eine Minimierung des Gesamtfehlers aus der vom neuronalen Netz 4 bestimmten Informationen zum Parklückenbegrenzungsrahmen P und zur Zielposition Z im Vergleich zu den Trainingsdaten erfolgt. Zusätzlich können Validierungsdaten vorhanden sein, die nicht als Trainingsdaten sondern für die Validierung des Trainings verwendet werden. Durch die Validierungsdaten kann ermittelt werden, wann das Training des neuronalen Netzes 4 zu einer hinreichenden Güte geführt hat. Dadurch kann die Trainingszeit reduziert und ein Overfitting des neuronalen Netzes 4 verhindert werden, so dass das neuronale Netz 4 zu allgemeineren, d.h. weniger eingeschränken Lösungen führt.
-
Hierzu wird ein auf der Minimierung des Multi-Task-Loss L basierendes Verfahren verwendet, das sowohl den Loss (Verlust) aufgrund des Fehlers bei der Bestimmung des Parklückenbegrenzungsrahmens P als auch den Loss (Verlust) aufgrund des Fehlers bei der Bestimmung der Zielposition Z berücksichtigt. Da es sich hierbei um ein Regressionsproblem handelt, wird der Verlust auch als regression lost bezeichnet.
-
Der Gesamtverlust L ist wie folgt definiert:
wobei t
k über den Vektor [t
x t
y t
Θ] die Lage und Ausrichtung der Zielposition Z des Fahrzeugs 1 für die k-te Parklücke t, u
k über den Vektor [u
x u
y u
Θ] die Lage und Ausrichtung der Zielposition Z des Fahrzeugs 1 für die k-te Parklücke in den Trainingsdaten, b
k über den Vektor [b
x b
y b
l b
w b
Θ] die Lage, Größe und Ausrichtung des Parklückenbegrenzungsrahmens P für die k-te Parklücke und v
k über den Vektor [v
x v
y v
l v
w v
Θ] die Lage, Größe und Ausrichtung des Parklückenbegrenzungsrahmens P für die k-te Parklücke in den Trainingsdaten definieren. L
Z (t
k, u
k) ist damit der Loss, der aus dem Unterschied der Informationen zur Zielposition Z des Fahrzeugs 1 im Vergleich zu den Trainingsdaten resultiert und L
P (b
k, v
k) ist der Loss, der aus dem Unterschied der Informationen zum Parklückenbegrenzungsrahmen P relativ zu den Trainingsdaten resultiert.
-
Die Berechnung der Losses L
Z (t
k, u
k) und L
P (b
k, v
k) kann wie folgt erfolgen:
-
Dabei ist die Funktion smooth
L1 eine modifizierte Verlustfunktion, die eine Mischung aus Absolutabstand und quadratischem Abstand ermöglicht. Sie ist wie folgt definiert:
-
5 zeigt ein Diagramm, das die Schritte des Verfahrens zur Bestimmung einer Parklücke und einer Zielposition eines Fahrzeugs in der Parklücke mittels eines neuronalen Netzes veranschaulicht.
-
Zunächst wird eine Szene im Umgebungsbereich eines Fahrzeugs mittels einer Sensorik erfasst und es werden Umgebungsinformationen bereitgestellt (S10).
-
Anschließend wird eine Rasterkarte der Szene mit einer Vielzahl von Zellen basierend auf den Umgebungsinformationen erzeugt, wobei die Zellen der Rasterkarte jeweils Informationen aufweisen, ob der mit der Zelle korrespondierende Umgebungsbereich von einem Objekt belegt ist oder nicht (S11).
-
Zuletzt wird die Rasterkarte an ein neuronales Netz übermittelt, wobei das neuronale Netz dazu trainiert ist, basierend auf der Rasterkarte Informationen zu einem Parklückenbegrenzungsrahmen und Informationen zu einer Zielposition des Fahrzeugs in dem Parklückenbegrenzungsrahmen bereitzustellen (S12).
-
Die Erfindung wurde voranstehend an Ausführungsbeispielen beschrieben. Es versteht sich, dass zahlreiche Änderungen sowie Abwandlungen möglich sind, ohne dass dadurch der durch die Patentansprüche definierte Schutzbereich verlassen wird.
-
Bezugszeichenliste
-
- 1
- Fahrzeug
- 2
- Sensorik
- 3
- Rasterkarte
- 3.1
- Zellen
- 4
- neuronales Netz
- 4.1
- erster Abschnitt
- 4.2
- zweiter Abschnitt
- 4.3
- dritter Abschnitt
- 5
- faltendes neuronale Netz
- 5.1, 5.2
- Schicht
- 6
- erstes fully-connected layer
- 7
- pooling layer
- 8
- zweites fully-connected layer
- 9
- drittes fully-connected layer
- A1, A2, A3
- Ausschnitt
- B1, B2, B3
- relevanter Bereich
- CL
- convolutional Layer
- MPL
- Max-pooling layer
- 01,02
- Objekt
- P
- Parklückenbegrenzungsrahmen
- R
- Recheneinheit
- Z
- Zielposition des Fahrzeugs