-
Die Erfindung betrifft ein computerimplementiertes Verfahren, eine entsprechend betreibbare Prozessorschaltung und ein Computerprogramm zum Prozessieren von aus einem Umgebungssensor empfangenen Messpunkten, insbesondere Radar-Messpunkten, für eine Objektdetektion sowie entsprechend ausgestattetes Kraftfahrzeug.
-
Durch einen Umgebungssensor, insbesondere einen Radar oder einen Lidar, können Reflexionsereignisse erfasst werden, die sich in einer Umgebung des Umgebungssensors an Objekten ereignen, wie beispielsweise in der Umgebung befindlichen Kraftfahrzeugen und/oder Infrastrukturelementen (wie beispielsweise Straßenschildern oder Leitplanken). Ein erfasstes Reflexionsereignis stellt einen Messpunkt dar, dessen Messdaten beispielsweise Koordinaten beschreiben können, beispielsweise x-, y-Koordinaten in einer horizontalen Referenzebene, wenn der Umgebungssensor die Umgebung horizontal abtastet, oder auch x-, y-, z-Koordinaten des Raums. Jedem Messpunkt kann zusätzlich zu seinem Reflexionsort (beschrieben durch die Koordinaten) zumindest ein weiteres Reflexionsmerkmal beschreiben, wie beispielsweise eine Relativgeschwindigkeit bezüglich des Umgebungssensors und/oder der Umgebung und/oder eine Reflexionsstärke.
-
Die Menge der Messpunkte ergibt eine Punktwolke. Mit jedem Messzyklus kann durch den Umgebungssensor eine neue Punktewolke bereitgestellt werden.
-
Aus den Messpunkten der Punktwolke kann mittels einer Objektdetektion extrahiert oder erkannt werden, welches Objekt oder welche mehreren Objekte sich in der Umgebung befinden. Hierzu können die Messpunkte mittels eines für eine solche Objektdetektion trainierten künstlichen neuronalen Netzwerks verarbeitet werden. Die Objektdetektion kann insbesondere eine an sich bekannte semantische Segmentierung und/oder eine Objektklassifizierung vorsehen.
-
Ein dafür geeignetes künstliches neuronales Netzwerk kann mehrere Netzwerkschichten (Layers) organisiert sein, die jeweils eine Mehrzahl von Perzeptronen umfasst, die wiederum (bis auf die Eingangsschicht, Input Layer) mit den Perzeptronen der jeweils vorgeschalteten Netzwerkschicht über Gewichtungswerte vernetzt oder gekoppelt sind. Mittels eines Trainingsalgorithmus, beispielsweise des Backpropagation-Algorithmus, kann durch Vorgabe von sogenannten gelabelten Trainingsdaten das Einstellen der Gewichtungswerte derart erfolgen, dass das künstliche neuronale Netzwerk aus einer Punktwolke aus Messpunkten, also den Messpunkten eines Messzyklus, ein Detektionsergebnis erzeugt, welches das zumindest eine detektierte Objekt beschreibt.
-
Verwendet man als Umgebungssensor einen Radar oder einen Lidar, so können die einzelnen Messpunkte selbst dann, wenn sie unmittelbar nacheinander aufgenommen werden und/oder aus Sicht des Umgebungssensors nur einen geringeren Raumwinkel auseinanderliegen, dennoch große geometrische Abstände aufweisen, weil beispielsweise ein Messpunkt ein Reflexionsereignis an einem Kraftfahrzeug und ein daneben liegender Messpunkt am Kraftfahrzeug vorbei ein Reflexionsereignis an einer weiter entfernten Oberfläche, beispielsweise einem Haus, beschreiben kann. Solche nur lose verknüpfte Messpunkte beschreiben jedes Objekt zusätzlich mit nur wenigen Messpunkten, was auch als „sparse“ bezeichnet wird. Um dennoch zusammengehörige Messpunkte ein und demselben Objekt zuordnen zu können, sollte das Design des künstlichen neuronalen Netzwerks dahingehend angepasst oder optimiert werden können, dass eine solche Sparseness kompensiert werden kann und/oder sie das Detektionsergebnis nicht oder nur geringfügig beeinträchtigt.
-
Ein weiterer Aspekt beim Betrieb eines künstlich neuronalen Netzwerks betrifft die Werte, die durch die einzelnen Netzwerkschichten beim Verarbeiten der Messpunkte als Merkmalswerte von Merkmalsvektoren erzeugt werden, wenn für die einzelne Reflexionsorte Zwischenergebnisse in den inneren Netzwerkschichten (Zwischenschichten) des Netzwerk beziehungsweise ein finales Detektionsergebnis in der Ausgabe-Netzwerkschicht (Output Layer) als Endergebnis ausgegeben werden. Während also an der Eingangs-Netzwerkschicht die Messpunkte mit den Koordinaten und den gemessenen Reflexionsmerkmalen eingegeben werden, werden aus diesen gemessenen Merkmalswerten der Messpunkte durch die Netzwerkschichten andere Merkmalswerte extrahiert oder berechnet, bis schließlich an der Ausgabe-Netzwerkschicht des künstlichen neuronalen Netzwerks als Detektionsergebnis ein Merkmalsvektor ausgegeben werden kann, in welchem beschrieben ist, welcher Messpunkt welchem Objekt zugeordnet ist, beispielsweise welcher Objektklasse (Kraftfahrzeug, Fußgänger, stationäre Infrastruktur, um nur Beispiele zu nennen) der Messpunkt angehört. Um solche Merkmalswerte in den Zwischenschichten und/oder der Ausgabe-Netzwerkschicht in einem vorbestimmten Wertebereich zu halten, kann zwischen Netzwerkschichten und/oder an der Ausgabe-Netzwerkschicht eine Transformationsschicht vorgesehen sein, welche die Merkmalswerte der Merkmalsvektoren beispielsweise in einen Wertebereich von 0 bis 1 abbildet und hierdurch sogenannte Pseudo-Wahrscheinlichkeitsangaben erzeugt. Aus dem Stand der Technik ist bekannt, dass für eine solche Transformation in ein gewünschtes Werteintervall die Funktion softmax () verwendet werden kann. Diese Funktion setzt alle Merkmalswerte einer Netzwerkschicht in Relation zueinander, sodass jeder Merkmalswert von seinem Betrag her Einfluss auf jeden transformierten Merkmalswert bei der Skalierung oder Transformation mittels der Softmax-Funktion ausübt. Dies hat sich im Zusammenhang mit der Verarbeitung von Messpunkten, die auch geometrisch unzusammenhängend sein können, wie beispielsweise Messpunkte von einem Kraftfahrzeug einerseits und Messpunkte eines stationären Infrastrukturobjekts andererseits, als nachteilig erwiesen, weil das Detektionsergebnis zu den Messpunkten eines Objekts durch Merkmalswerte eines Detektionsergebnisses eines anderen Objekts beeinträchtigt oder zumindest beeinflusst werden kann.
-
Eine Verarbeitung von Messpunkten aus einem Umgebungssensor im Zusammenhang mit einer Objektdetektion für eine automatisierte Fahrfunktion ist in der wissenschaftlichen Veröffentlichung von Liu et al. (Jianan Liu, Weiyi Xiong, Liping Bai, Yuxuan Xia, Tao Huang, „Deep Instance Segmentation with Automotive Radar Detection Points", arXiv:2110.01775v6 [cs.CV] 18 Apr 2022) bekannt.
-
Der Erfindung liegt die Aufgabe zugrunde, für eine Objektdetektion von Objekten in einer Umgebung eines Umgebungssensors, insbesondere in einer Umgebung eines Kraftfahrzeugs mit einem solchen Umgebungssensor, Messpunkte zu prozessieren, von denen jeder ein Reflexionsereignis an einem jeweiligen Reflexionsort angibt oder beschreibt oder charakterisiert.
-
Die Aufgabe wird durch die Gegenstände der unabhängigen Patentansprüche gelöst. Vorteilhafte Weiterentwicklungen der Erfindung sind durch die abhängigen Patentansprüche, die folgende Beschreibung sowie die Figuren beschrieben.
-
Als eine Lösung umfasst die Erfindung ein computerimplementiertes Verfahren zum Prozessieren von Messpunkten, wie sie in der beschriebenen Weise aus einem Umgebungssensor empfangen werden können. Das Verfahren kann beispielsweise mittels einer Prozessorschaltung ausgeführt werden. Das Verfahren kann beispielsweise in einem Kraftfahrzeug implementiert sein.
-
Jeder Messpunkt kann in der beschriebenen Weise ein Reflexionsereignis beschreiben, also beispielsweise eine Reflexion einer von dem Umgebungssensor ausgesandten Radarstrahlung und/oder eines vom Umgebungssensor ausgesandten Lichtstrahls. Durch den Messpunkt wird das Reflexionsereignis insbesondere in Bezug auf die Koordinaten eines Reflexionsorts beschrieben, also eine Angabe, wo relativ zum Umgebungssensor sich das Reflexionsereignis in der Umgebung ereignet hat. Ein Reflexionsort kann als ein Punkt pi beschrieben werden, wobei der Punkt p den Index i aufweist und der Index i die jeweils betrachteten oder verwendeten Messpunkte indiziert oder beschreibt. Der Messpunkt kann durch Messdaten vorgegeben sein, beispielsweise digitale Wertangaben. In an sich bekannter Weise werden bei dem Verfahren die Messpunkte in einem für eine Objektdetektion, insbesondere eine semantische Segmentierung, trainierten künstlichen neuronalen Netzwerk durch dessen Netzwerkschichten des neuronalen Netzwerks verarbeitet. Das Netzwerk umfasst somit zumindest ein Multilayer-Perceptron.
-
Nicht jede der Netzwerkschichten muss dabei eine Verarbeitung der jeweiligen Merkmalswerte aller Reflexionsorte vorsehen, sondern in an sich bekannter Weise kann eine Encoder-Decoder-Struktur vorgesehen sein, durch welche zunächst im Encoder-Teil die Anzahl der berücksichtigten Reflexionsorte schichtweise oder schrittweise mittels eine sogenannten Downsampling (Auswahl einer reduzierten Anzahl an Reflexionsorten) reduziert wird und anschließend aus dem sogenannten Bottleneck, d.h. der Verbindung zwischen Encoder-Teil und Decoder-Teil, durch den Decoder-Teil die im Bottleneck bereitgestellten Merkmalsvektoren der dort noch berücksichtigten Reflexionsorte wieder mittels eines sogenannten Upsampling schichtweise auf alle verfügbaren Reflexionsorte ausgeweitet oder verallgemeinert werden. Deshalb ist im Folgenden zu einer Netzwerkschicht immer von den von dieser Netzwerkschicht verarbeiteten Reflexionsorten die Rede, also die in der jeweiligen Netzwerkschicht berücksichtigten Merkmale nur dieser Reflexionsort werden verarbeitet.
-
In der schichtweisen Verarbeitung im künstlichen neuronalen Netzwerk wird durch zumindest eine der Netzwerkschichten zu denjenigen der von dieser Netzwerkschicht verarbeiteten Reflexionsorte pi, pj (mit j einem weiteren Index) ein jeweiliger Merkmalsvektor Vi, Vj erzeugt. Ein solcher Merkmalsvektor gibt Merkmalswerte von durch das künstliche neuronale Netzwerk extrahierten Merkmalen des jeweiligen Reflexionsorts an, wie es an sich im Zusammenhang mit dem Training eines künstlichen neuronalen Netzwerks bekannt ist.
-
Die Merkmalsvektoren werden mittels einer der besagten Netzwerkschicht nachgeschalteten Transformationsschicht zu einem jeweiligen Ausgabevektor Oj für den jeweiligen Reflexionsort pj zusammengefasst. Es wird jeweils ein Ausgabevektor für jeden der von dieser Netzwerkschicht berücksichtigten Reflexionsorte erzeugt. Jeder von der Netzwerkschicht berücksichtigte Reflexionsort erhält also einen Ausgabevektor, der aber aus mehreren der von der Netzwerkschicht erzeugten Merkmalsvektoren (jeweils ein Merkmalsvektor Vj pro berücksichtigtem Reflexionsort pj) gebildet wird. Dies erfolgt, indem durch die Transformationsschicht für den jeweiligen Reflexionsort pj in einer vorgegebenen geografischen lokalen Umgebung NI um diesen Reflexionsort pj ermittelt wird, welcher derjenigen von der der Transformationsschicht vorgeschalteten Netzwerkschicht berücksichtigten Reflexionsorte innerhalb dieser lokalen Umgebung NI liegt. Es geht um eine geographische oder geometrische Betrachtung der Abstände in der Umgebung. Natürlich liegt der eigene Reflexionsort pj, zu welchem der Ausgabevektor Oj erzeugt werden muss, immer in dieser Umgebung NI (mit Abstand 0 zu sich selbst). Allerdings können auch weitere Reflexionsorte pi in dieser lokalen Umgebung NI liegen, deren Merkmalsvektoren Vi dann ebenfalls für den Ausgabevektor Oj berücksichtigt werden. Ausgehend von dem immer in der Umgebung liegenden Reflexionsort pj werden Paare aus diesem Reflexionsort pj und dem jeweiligen weiteren Reflexionsort pi innerhalb der Umgebung NI gebildet. Es findet also eine paarweise Betrachtung statt, indem jeweils ein Paar i,j aus einerseits dem Reflexionsort pj, für den der Ausgabevektor Oj berechnet wird, und andererseits dem jeweiligen Reflexionsort pi innerhalb der lokalen Umgebung NI berücksichtigt wird und auch für dieses Paar i,j ein jeweiliger Skalierungswert ai,j gebildet wird. Dieser Skalierungswert ist abhängig von einem jeweiligen Abstandswert Aij der Reflexionsorte pi, pj dieses Paares i,j. Soll also zu einem Reflexionsort pj ein Ausgabevektor Oj ermittelt werden, so werden alle Reflexionsorte pi innerhalb der lokalen Umgebung NI ermittelt, woraus sich die Paare i,j der Indizes von Reflexionsorten pi, pj ergeben, die in einem Abstandswert Aij zueinander angeordnet sind.
-
Dieser Abstandswert Aij wird mittels einer unimodalen Funktion auf einen Wert innerhalb eines vorgegebenen Werteintervalls, beispielsweise auf ein Werteintervall von 0 bis 1 abgebildet (0 und 1 können eingeschlossen oder ausgeschlossen sein). Eine unimodale Funktion ist eine stetige Funktion mit genau einem Maximum, die einerseits des Maximums streng monoton wachsend zu dem Maximum hin und auf der anderen Seite des Maximums streng monoton fallend vom Maximum weg geformt. Nach dem Wert ∞ (Unendlich) hin kann eine unimodale Funktion einem Grenzwert asymptotisch entgegenstreben, beispielsweise dem Wert 0, oder den Grenzwert annehmen.
-
Das Maximum kann beispielsweise bei dem Wert 1 liegen. Insgesamt kann somit die unimodale Funktion derart skaliert oder konfiguriert werden, dass sie Eingangswerte oder ihren Wertebereich in das vorgegebene Werteintervall abbildet, z.B. in das Intervall [0,1]. Das Maximum oder die sogenannte Mode der unimodalen Funktion ist dabei für den Abstandswert 0 vorgesehen. Je näher also ein Reflexionsort p
i an den Reflexionsort p
j liegt, für welchen der Ausgabevektor O
j bereitgestellt oder ermittelt werden soll, desto größer ist der Abstandswert A
i,j. Der Ausgabevektor O
j wird dann für den jeweiligen Reflexionsort p
j als Summe der mit dem jeweiligen Skalierungswert a
i,j multiplikativ gewichteten Merkmalsvektoren V
i der innerhalb der lokalen Umgebung N
I liegenden Reflexionsorte berechnet, und die für die Reflexionsorte ermittelten Ausgabevektoren O
j werden an die jeweils nachgeordnete Netzwerkschicht übergeben. Mit anderen Worten ergibt sich also die folgende Berechnung für die Skalierungswerte und den Ausgabevektor:
wobei N
I hier eine Beschreibung der lokalen Umgebung als Menge der zugehörigen Reflexionsorte p
i notiert ist.
-
Durch die Erfindung ergibt sich der Vorteil, dass die Skalierungswerte ai,j nur von solchen Reflexionsorten beeinflusst oder abhängig gebildet werden, die sich in der lokalen Umgebung NI befinden, also durch Festlegen eines geometrischen Ausmaßes der lokalen Umgebung. Diese lokale Umgebung um den jeweiligen Reflexionsort kann beispielsweise als Kreis mit einem Radius in einem Bereich von 50 cm bis 15 m, vom Fachmann dahingehend begrenzt werden, dass außerhalb dieser lokalen Umgebung liegende Reflexionsorte keinen Einfluss auf den Skalierungswert haben. Somit können also geometrisch nicht zusammenhängende oder weiter auseinanderliegende Reflexionsorte in dem künstlichen neuronalen Netzwerk auch unabhängig voneinander verarbeitet werden und somit die Objektdetektion für unterschiedliche Raumbereiche der Umgebung in dem künstlichen neuronalen Netzwerk unabhängig voneinander oder mit verringertem oder vermiedenem Einfluss auf einander berechnet werden.
-
Die Erfindung umfasst auch Weiterentwicklungen, durch die sich zusätzliche Vorteile ergeben.
-
Allgemein kann gemäß der Erfindung die Transformationsschicht mit ihrer unimodalen Funktion zwischen zwei Netzwerkschichten eines künstlichen neuronalen Netzwerks somit angeordnet werden.
-
Gemäß einer Weiterentwicklung ist die besagte unimodale Funktion eine Gaußfunktion, das heißt, es wird die Gaußfunktion auf den Abstandswert Aij angewendet, was im Folgenden notiert ist als Gaussian (Aij). Insbesondere kann eine Gaußfunktion verwendet werden, deren Maximalwert oder Maximum den Wert 1 aufweist. Die Verwendung der Gaußfunktion weist den zusätzlichen Vorteil auf, dass sie eine numerisch günstige mathematische Ableitung für ein Training des künstlichen neuronalen Netzwerks hat, insbesondere für die Verwendung des Backpropagation-Algorithmus, der auf diese mathematische Ableitung angewiesen ist. Eine alternative unimodale Funktion steht mit der linearen Dreiecksfunktion zur Verfügung, wie sie im Ausführungsbeispiel illustriert ist. Wird eine unimodale Funktion verwendet, die betragsmäßig immer kleinere Werte ausgibt, je größer der Abstandswert Aij ist, so kann die jeweilige „lokale Umgebung“ auch alle in der jeweiligen Netzwerkschicht berücksichtigten Reflexionsorte PI umfassen, da der Ausschluss der weiter entfernten Reflexionsorte durch die kleinen Ausgabewerte der unimodalen Funktion (insbesondere Skalierungswerte kleiner als 0,1 oder kleiner als 0,01 außerhalb des besagten Radius) implizit erfolgt. Die Erfindung kann somit auch ohne eine explizite Verwendung der lokalen Umgebung NI realisiert werden.
-
Wie bereits beschrieben, werden die jeweiligen Skalierungswerte ai,j für den jeweiligen Reflexionsort pj, für welchen der Ausgabevektor Oj benötigt wird, unabhängig von den Reflexionsorten außerhalb der für diesen Reflexionsort zugrunde gelegen lokalen Umgebung NI berechnet. Mit anderen Worten werden nur solche Reflexionsorte berücksichtigt, die sich innerhalb der lokalen Umgebung befinden, sodass Merkmalswerte an solchen Reflexionsorten, die außerhalb der lokalen Umgebung liegen, keinen Einfluss auf den Ausgabevektor Oj haben. Hierdurch wird vermieden, dass sich der beschriebene gegenseitige Einfluss von Objekten auf die Objekterkennung ergeben könnte.
-
Gemäß einer Weiterentwicklung wird der für die Berechnung des jeweiligen Skalierungswerts ai,j ermittelte jeweilige Abstandswert Aij aus einem geometrischen Abstandmaß rij der Reflexionsorte des jeweiligen Paares erzeugt. Mit anderen Worten ist der Abstandswert umso kleiner, je kleiner auch der geometrische Abstand oder das geometrische Abstandmaß der zugehörigen Reflexionsorte pi, pj ist.
-
Für eine unimodale Funktion, welche einen Skalar als Eingangswert benötigt, kann auf eine solche Differenz von Ortsvektoren der Reflexionsorte auch eine Betragsfunktion oder allgemein eine Vektor-Norm angewendet werden.
-
Gemäß einer Weiterentwicklung werden durch die jeweilige Netzwerkschicht, die der Transformationsschicht vorgelagert oder vorgeschaltet ist, zusammen mit dem besagten jeweiligen Merkmalsvektor V auch Kennungsvektoren Q, K des Reflexionsorts berechnet. Für die Berechnung des Merkmalsvektors V und der Kennungsvektoren Q, K kann jeweils in bekannter Weise in der Netzwerkschicht eine jeweilige Gewichtungsmatrix WV, WQ, WK der Perzeptronengewichte gegeben sein. Ein von der Netzwerkschicht empfangener Eingangsvektor Xi wird dann verarbeitet als Vi = Wv · Xi, Qi = WQ · Xi, Ki = Wk · Xi, mit dem Operator · in diesen Gleichungen als Matrix-Multiplikation. Die Werte der Gewichtungsmatrizen ergeben sich in bekannter Weise aus dem Training. Der Eingangsvektor Xi ist der jeweils an einer Eingangsseite der Transformationsschicht verfügbare jeweilige Merkmalsvektors, der zu dem jeweils aktuell betrachteten Reflexionsort pi betrachtet wird. Je nachdem, wo der Fachmann die Transformationsschicht in einem von ihm entworfenen Netzwerks anordnet, kann es sich also um unterschiedliche Eingangsvektoren handeln.
-
Der für den jeweiligen Skalierungswert ai,j ermittelte jeweilige Abstandswert Aij wird aus einem Unterschiedsmaß f(Qi, Ki) der Kennungsvektoren Q, K der Reflexionsorte des jeweiligen Paares erzeugt. Dieses Unterschiedsmaß f kann beispielsweise als Skalarprodukt oder als Differenz dieser Kennungsvektoren berechnet sein. Eine andere Bezeichnung für den Kennungsvektor Q ist auch Query oder Anfrage und für den Kennungsvektor K ist Key oder Schlüssel. Eine Form von deren Berechnung kann auch dem Stand der Technik entnommen werden.
-
Insgesamt kann der jeweilige Skalierungswert a
i,j in der folgenden Weise berechnet werden:
-
Hierdurch sind in vorteilhafterweise sowohl der geometrische Abstand als auch das Unterschiedsmaß der Kennungsvektoren berücksichtigt.
-
Gemäß einer Weiterentwicklung werden die besagten Messpunkte aus einem Umgebungssensor empfangen, und der jeweilige Messpunkt weist als Merkmalswerte in einem Merkmalsvektor auf, in welchem die Koordinaten Xi, yi des Reflexionsorts pi sowie zumindest ein Reflexionsmerkmal, insbesondere eine Relativgeschwindigkeit vi des jeweiligen Objekts, an welchem das Reflexionsereignis stattfand, bezüglich des Umgebungsvektors und/oder einen Detektionsquerschnitt σi des Messpunkts an. Anhand des Detektionsquerschnitts kann beispielsweise auf eine Reflexionseigenschaft des Objekts am Reflexionsort rückgeschlossen werden. Somit werden mittels des künstlichen neuronalen Netzwerks Sensordaten eines Umgebungssensors verarbeitet, der die Sensordaten als Messpunkte, also als Punktwolke aus Messpunkten, bereitstellt.
-
Insbesondere ist vorgesehen, dass der Umgebungsvektor einen Radar oder ein LiDAR ist, für die sich in der beschriebenen Weise die Sparse-Punktwolke ergeben kann, sodass hier die Trennung mittels der unimodalen Funktion besonders vorteilhaft zum Tragen kommt.
-
Wie bereits ausgeführt, kann ein künstliches neuronales Netzwerk in einer Encoder-Decoder-Struktur angeordnet sein, das heißt, im Encoder-Teil werden stufenweise jeweils weniger Ortspunkte oder Reflexionsorte betrachtet, für die aber der jeweilige Merkmalsvektor stufenweise immer mehr Merkmalswerte aufweist. Im daran angeschlossenen Decoder-Teil werden dann zu den nicht beachteten oder im Encoder-Teil weggefallenen Reflexionsorten die entsprechenden Merkmalswerte interpoliert oder ergänzt, sodass an der Ausgangsschicht des Decoder-Teils wieder für alle Reflexionsorte ein Merkmalsvektor als Detektionsergebnis verfügbar ist.
-
Um die von einer Netzwerkschicht verarbeiteten Reflexionsorte oder die von dieser berücksichtigten Reflexionsorte im Encoder-Teil reduzieren zu können, sieht eine Weiterentwicklung vor, dass zwischen zumindest zwei der Netzwerkschichten jeweils ein Downsamplingmodul bereitgestellt ist, welches eine Anzahl der für die nachgeschaltete Netzwerkschicht bereitgestellten Reflexionsorte beziehungsweise die für die nachgeschaltete Netzwerkschicht bereitgestellten Merkmalsvektoren solcher Reflexionsorte (jeweils ein Merkmalsvektor pro Reflexionsort), reduziert. Zu den bereitzustellenden oder weiter zu berücksichtigenden Reflexionsorten wird eine jeweilige den Reflexionsort p
i umgebende lokale Umgebung N
d (Downsampling-Umgebung) vorgegeben. Aus den Merkmalsvektoren X
j der von in der lokalen Umgebung N
d liegenden und von der vorgeschalteten Netzwerkschicht bereitgestellten Reflexionsorten wird eine gewichteten Summe
kombiniert. Für jeden in der nachgeschalteten Netzwerkschicht zu berücksichtigenden Reflexionsort p
i wird eine eigene lokale Umgebung N
d und ein daraus resultierender summierter Merkmalsvektor Y
i erzeugt. Somit ergibt sich als Merkmalsvektor Y
i des jeweiligen von der nachgeschalteten Netzwerkschicht zu berücksichtigenden Reflexionsorts p
i ein Merkmalsvektor, der eine gewichtete Summe derjenigen Merkmalsvektoren X
j ist, die sich in der lokalen Umgebung N
d befanden beziehungsweise befinden. Der Merkmalsvektor X
j kann beispielsweise der besagte Ausgabevektor O
j sein oder, wenn noch weitere Zwischenschichten mit Perceptronen vorgesehen sind, wie es für ein Training des künstlichen neuronalen Netzwerks günstig sein kann, kann es sich auch um einen aus den Ausgabevektoren O
j mittels dieser weiteren Netzwerkschichten erzeugten Merkmalsvektor handeln.
-
Das beschriebene Downsamplingmodul weist den Vorteil auf, dass eine Anzahl zu berücksichtigender oder bereitzustellender Reflexionsorte, die für die nachfolgende Schicht fest vorgegeben werden kann und dann zu diesen Reflexionsorten die Informationen all derjenigen weggelassenen oder wegfallenden Reflexionsorten einbezogen werden kann, die sich in der lokalen Umgebung Nd, also beispielsweise innerhalb eines vorgegebenen geografischen oder geometrischen Abstand befinden, berücksichtigt werden.
-
Um geeignete Reflexionsorte auszuwählen, deren Merkmalsvektor Yi bei dem Downsamplingmodul an die nachgeschaltete Netzwerkschicht weiterzuleiten ist oder für die Merkmalsvektoren Yi bereitzustellen sind, sieht eine Weiterentwicklung vor, dass diese aus den von der vorgeschalteten Netzwerkschicht bereitgestellten Reflexionsorte mittels eines Farthest-Point-Sampling FPS ausgewählt wird. Es wird also eine solche Punktmenge ausgewählt, für sich ein Abstand der ausgewählten Reflexionsorte untereinander maximiert. Die Anzahl der auszuwählenden Reflexionsorte kann von Fachmann vorgegeben werden. Sie kann z.B. jeweils eine Halbierung der berücksichtigten Reflexionsorte vorsehen. Durch das FPS ergibt sich der Vorteil, dass eine gleichmäßige Abdeckung des von der Punktwolke umfassten Volumens oder des von der Punktwolke aller Messpunkte umfassten Bereichs erreicht wird.
-
Die beschriebenen Gewichtungswerte ci,j für die Berechnung des Merkmalsvektors Yi beim Downsamplingmodul werden gemäß einer Weiterentwicklung als eine Funktion des bereits beschriebenen geometrischen Abstandsmaßes rij der Reflexionsorte berechnet, für welche der Gewichtungswert cij vorgesehen ist. Das Abstandmaß rij kann beispielsweise die Vektordifferenz der Ortsvektoren der Reflexionsorte sein, also pj - pi, um nur ein Beispiel zu nennen. Für die Berechnung der Gewichtungswerte können auch die Merkmalsvektoren verwendet werden. Sollen sowohl die Merkmalsvektoren Xj als auch das Abstandmaß rij verwendet werden, so können diese Vektoren beispielsweise konkateniert werden, um gemeinsam verarbeitet werden zu können. Beispielsweise kann eine gemeinsame Verarbeitung auf der Grundlage eines künstlichen neuronalen Netzwerks und/oder einer Gewichtungsmatrix zum Kombinieren der Werte erfolgen.
-
Um dann beispielsweise in dem künstlichen neuronalen Netzwerk ab dem Flaschenhals ein Upsampling zu ermöglichen, also einen Decoding-Teil zu implementieren, sieht eine Weiterentwicklung vor, dass zwischen zumindest zwei der Netzwerkschichten jeweils ein Upsamplingmodul bereitgestellt ist, welches eine Anzahl der für die nachgeschaltete Netzwerkschicht zu berücksichtigenden Reflexionsorte p
s vergrößert, indem zu diesen bereitzustellenden Reflexionsorten p
s eine jeweilige den Reflexionsort umgebende lokale Umgebung N
u vorgegeben wird und Merkmalsvektoren X
i der von in der lokalen Umgebung N
u liegenden und von der vorgeschalteten Netzwerkschicht bereitgestellten Reflexionsorte p
j zu einer gewichteten Summe
kombiniert werden und zu einem Merkmalsvektor X
s des zu berücksichtigenden Reflexionsortes p
s addiert werden, X
s + Y
s des jeweiligen von der nachgeschalteten Netzwerkschicht zu berücksichtigen Reflexionsort p
s verwendet wird, wobei eine Menge der zu berücksichtigen Reflexionsorte p
s durch eine Skip-Verbindung aus einer vorgeschalteten Netzwerkschicht eines Downsamplingmoduls vorgegeben wird. Die Gewichtungswerte c
s,j können wie die Gewichtungswerte c
i,j berechnet sein.
-
Mit anderen Worten können die Reflexionsorte beziehungsweise deren Merkmalsvektoren, die beim Downsampling nicht weiter berücksichtigt werden, über die Skip-Verbindung an diesem jeweiligen Upsamplingmodul bereitgestellt werden, das die Anzahl der berücksichtigten Reflexionsorte wieder vergrößern soll. Somit ergeben sich die zu berücksichtigenden Reflexionsorte ps, an welchen das Upsampling durchgeführt werden soll. Mit anderen Worten werden stets nur reale durch Messpunkte beschriebene Reflexionsorte verwendet, also keine interpolierten Reflexionsorte. Deren Merkmalsvektor Xs, wie er sich über die Skip-Verbindung aus den vorgelagerten Netzwerkschichten ergibt, kann dann um den berechneten Merkmalsvektor Ys ergänzt werden, was durch eine Addition erfolgen kann. Somit wird also aus Sicht der über die Skip-Verbindung übertragenen Reflexionsorte in deren lokaler Umgebung Nu „eingesammelt“ oder berücksichtigt, welche Merkmalsvektoren Xj von aus der vorgeschalteten Netzwerkschicht bereitgestellten oder berücksichtigten Reflexionsorten zur Verfügung steht.
-
Das Downsamplingmodul und das Upsamplingmodul stellen jeweils eigenständige Erfindungen dar, die unabhängig von einer Transformationsschicht mit unimodaler Funktion verwendet werden können.
-
Wie bereits ausgeführt, kann die jeweilige lokale Umgebung NI, Nu, Nd durch einen geometrischen Abstand oder Radius um den jeweiligen Reflexionsort definiert sein. Hierbei kann es aber vorkommen, dass darin sich in einer Messung nicht zwangsweise ein anderer Reflexionsort befinden muss. Um sicherzustellen, dass stets mehrere Reflexionsorte in der lokalen Umgebung berücksichtigt werden, insbesondere eine vorgebbare Anzahl k, sieht eine Weiterentwicklung vor, dass die lokale Umgebung jeweils mittels eines kNN-Algorithmus (kNN - k-nearest neighbors) ermittelt wird. Somit ist die Größe der lokalen Umgebung adaptiv abhängig von der Anzahl und Lage der verfügbaren Reflexionsorte, was eine robuste Objektdetektion ermöglicht. Die Anzahl k kann in einem Bereich von 2 bis 200 liegen, um nur Beispiele zu nennen.
-
Die Erfindung schließt nicht aus, dass zwischen den beschriebenen Netzwerkschichten und/oder Transformationsschichten und/oder Downsamplingmodulen und/oder Upsamplingmodulen jeweils zumindest eine weitere Netzwerkschicht, insbesondere sogenannte FCL (fully connected layer) bereitgestellt werden, um beispielsweise einen Trainingseffekt begünstigen zu können. Was hier als „Netzwerkschicht“ kann also auch mehrere Schichten von Perceptronen umfassen, also einen Netzwerkblock.
-
Für Anwendungsfälle oder Anwendungssituationen, die sich bei dem Verfahren ergeben können und die hier nicht explizit beschrieben sind, kann vorgesehen sein, dass gemäß dem Verfahren eine Fehlermeldung und/oder eine Aufforderung zur Eingabe einer Nutzerrückmeldung ausgegeben und/oder eine Standardeinstellung und/oder ein vorbestimmter Initialzustand eingestellt wird.
-
Um das Verfahren durchzuführen, sieht eine Lösung der Erfindung ein Computerprogramm vor, welches Programminstruktionen oder Befehle umfasst, die bei der Ausführung des Computerprogramms durch einen Computer oder eine Prozessorschaltung diese veranlassen, ein durch die Ausführungsform beschriebenes Verfahren auszuführen. Das Speichermedium kann z.B. zumindest teilweise als ein nicht-flüchtiger Datenspeicher (z.B. als eine Flash-Speicher und/oder als SSD - solid state drive) und/oder zumindest teilweise als ein flüchtiger Datenspeicher (z.B. als ein RAM - random access memory) bereitgestellt sein. Das Speichermedium kann in der Prozessorschaltung in deren Datenspeicher angeordnet sein. Das Speichermedium kann aber auch beispielsweise als sogenannter Appstore-Server im Internet betrieben sein. Durch den Computer oder Computerverbund kann eine Prozessorschaltung mit zumindest einem Mikroprozessor bereitgestellt sein. Der Programmcode können als Binärcode oder Assembler und/oder als Quellcode einer Programmiersprache (z.B. C) und/oder als Programmskript (z.B. Python) bereitgestellt sein.
-
Um das Verfahren auszuführen, sieht die Erfindung als eine Lösung die Prozessorschaltung vor, die dazu eingerichtet ist, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Die Prozessorschaltung kann hierzu zumindest einen Mikroprozessor und/oder zumindest einen Mikrocontroller und/oder zumindest einen FPGA (Field Programmable Gate Array) und/oder zumindest einen DSP (Digital Signal Processor) aufweisen. Des Weiteren kann die Prozessorschaltung Programmcode aufweisen, der dazu eingerichtet ist, bei Ausführen durch die Prozessorschaltung die Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen. Der Programmcode kann in einem Datenspeicher der Prozessorschaltung gespeichert sein. Die Prozessorschaltung der Prozessorschaltung kann z.B. zumindest eine Schaltungsplatine und/oder zumindest ein SoC (System on Chip) aufweisen.
-
Wie bereits ausgeführt, handelt es sich bei dem Verfahren insbesondere um eine Objektdetektion, wie sie in einem Kraftfahrzeug vorteilhaft verwendet werden kann. Aus diesem Grund umfasst eine weitere Lösung der Erfindung ein Kraftfahrzeug, welches den besagten Umgebungssensor aufweist, der dazu eingerichtet ist, Reflexionsereignisse in einer Umgebung des Kraftfahrzeugs als jeweilige Messpunkte zu erzeugen oder zu beschreiben, also Sensordaten oder Messdaten zu dem jeweiligen Messpunkt bereitzustellen, sodass sich die beschriebene Punktwolke ergibt. Eine mit dem Umgebungssensor gekoppelte Prozessorschaltung weist Programminstruktionen auf, welche bei deren Ausführen durch die Prozessorschaltung diese veranlassen, eine Ausführungsform des erfindungsgemäßen Verfahrens durchzuführen und hierdurch anhand der Messpunkte ein Detektionsergebnis betreffend zumindest ein in der Umgebung detektiertes Objekt zu erzeugen. Das Detektionsergebnis kann durch Detektionsdaten beschrieben sein, die beispielsweise einen Merkmalsvektor oder Ausgabevektor einer Ausgabeschicht des künstlichen neuronalen Netzwerks beschreiben oder darstellen. Insbesondere kann vorgesehen sein, auf die Punktwolke oder die Messpunkte eine semantische Segmentierung als Objektdetektion auszuführen, das heißt für jeden Messpunkt zu entscheiden, welcher der von dem künstlichen neuronalen Netzwerk detektierbaren oder erkennbaren Objektklassen der Messpunkt angehört oder als zugehörig anzusehen ist. Mit der Prozessorschaltung kann eine automatisierte Fahrfunktion gekoppelt sein, also insbesondere ein entsprechendes Steuergerät mit einer solchen automatisierten Fahrfunktion, welche dazu eingerichtet ist, eine bezüglich des zumindest einen detektierten Objekts kollisionsfreie Fahrtrajektorie zu planen, also das Kraftfahrzeug um dieses zumindest eine detektierte Objekt herumzuführen. Zusätzlich oder alternativ dazu kann die Fahrtrajektorie derart geplant sein, dass sie sich an dem zumindest einen Objekt ausrichtet oder orientiert, wies dies beispielsweise bei einer automatisierten Spurhalteassistenz als Fahrfunktion vorgesehen sein kann, wobei dann die detektierten Objekte Fahrbahnmarkierungen sind. Des Weiteren ist die automatisierte Fahrfunktion dazu eingerichtet, das Kraftfahrzeug entlang der geplanten Fahrtrajektorie automatisiert zu führen, also selbsttätig ohne ein Zutun eines Fahrers eine Längsführung und/oder eine Querführung des Kraftfahrzeugs gemäß der geplanten Fahrtrajektorie durchzuführen.
-
Das erfindungsgemäße Kraftfahrzeug ist bevorzugt als Kraftwagen, insbesondere als Personenkraftwagen oder Lastkraftwagen, oder als Personenbus oder Motorrad ausgestaltet.
-
Die Erfindung umfasst auch die Kombinationen der Merkmale der beschriebenen Ausführungsformen. Die Erfindung umfasst also auch Realisierungen, die jeweils eine Kombination der Merkmale mehrerer der beschriebenen Ausführungsformen aufweisen, sofern die Ausführungsformen nicht als sich gegenseitig ausschließend beschrieben wurden.
-
Im Folgenden sind Ausführungsbeispiele der Erfindung beschrieben. Hierzu zeigt:
- 1 eine schematische Darstellung einer Ausführungsform des erfindungsgemäßen Kraftfahrzeugs;
- 2 ein Diagramm zur Veranschaulichung einer Transformationsschicht;
- 3 ein Diagramm zur Veranschaulichung eines Downsamplingmoduls;
- 4 ein Diagramm zur Veranschaulichung eines Upsamplingmoduls;
- 5 eine Skizze zur Veranschaulichung eines Detektionsergebnisses;
- 6 ein Diagramm zur Veranschaulichung eines Gauß-Tranformerblocks, wie er in 1 dargestellt ist; und
- 7 eine Skizze zur Veranschaulichung von lokalen Umgebungen.
-
Bei den im Folgenden erläuterten Ausführungsbeispielen handelt es sich um bevorzugte Ausführungsformen der Erfindung. Bei den Ausführungsbeispielen stellen die beschriebenen Komponenten der Ausführungsformen jeweils einzelne, unabhängig voneinander zu betrachtende Merkmale der Erfindung dar, welche die Erfindung jeweils auch unabhängig voneinander weiterbilden. Daher soll die Offenbarung auch andere als die dargestellten Kombinationen der Merkmale der Ausführungsformen umfassen. Des Weiteren sind die beschriebenen Ausführungsformen auch durch weitere der bereits beschriebenen Merkmale der Erfindung ergänzbar.
-
In den Figuren bezeichnen gleiche Bezugszeichen jeweils funktionsgleiche Elemente.
-
1 zeigt ein Kraftfahrzeug 10, bei dem es sich um einen Kraftwagen, insbesondere einen Personenkraftwagen oder Lastkraftwagen, handeln kann. Das Kraftfahrzeug 10 kann durch eine automatisierte Fahrfunktion 11 automatisiert oder selbsttätig durch eine Umgebung 12 fahren oder geführt werden. Die Fahrfunktion 11 kann hierzu eine Fahrtrajektorie 13 berechnen oder planen, anhand welcher die Fahrfunktion 11 Steuersignale oder Steuerbefehle 14 für einen Aktuatorik 15 des Kraftfahrzeugs 10 erzeugen kann. Die Aktuatorik 15 kann für einen Längsführung (Beschleunigen und/oder Bremsen) und/oder eine Querführung (Lenken) des Kraftfahrzeugs 10 vorgesehen sein. Die Aktuatorik 15 kann hierzu beispielsweise ein Motorsteuergerät und/oder eine Bremsanlage und/oder eine motorisierte Lenkung umfassen.
-
Die Fahrtrajektorie 13 kann von der Fahrfunktion 11 derart geplant sein, dass die Fahrfunktion 11 das Kraftfahrzeug 10 kollisionsfrei an Objekten 16, beispielsweise anderen Verkehrsteilnehmern und/oder statischen Infrastrukturkomponenten eines Straßennetzes des Kraftfahrzeugs, entlang- oder vorbeiführen kann. Hierzu kann die Fahrfunktion 11 mit Ergebnisdaten eines Detektionsergebnisses 17 in Bezug auf die Objekte 16 in der Umgebung 12 versorgt oder ausgestattet werden. Das Detektionsergebnis 17 kann durch eine Prozessorschaltung 18 auf der Grundlage einer Objektdetektion 19 für die Objekte 16 in der Umgebung 12 ermittelt werden. Für die Objektdetektion 19 kann die Prozessorschaltung 18 ein künstliches neuronales Netzwerk 20 betreiben. Das Netzwerk 20 kann das Detektionsergebnis 17 als Ausgabewerte oder Berechnungsergebnis OUT (N, C) erzeugen.
-
Als Eingabewerte IN(N, D) kann dem Netzwerk 20 eine Punktwolke 21 aus Messpunkten 22 vorgegeben oder eingegeben werden, die aus einem Messzyklus stammen. Solch ein Messzyklus kann wiederholt oder periodisch durch einen Umgebungssensor 23 ausgeführt werden, bei dem es sich beispielsweise um einen Radar oder LiDAR handeln kann. Der Umgebungssensor 23 kann eine elektromagnetische Strahlung 24 in die Umgebung 12 ausstrahlen. Ereignet sich ein Reflexionsereignis 26 an einem Objekt 16 in der Umgebung 12, wird reflektierte Strahlung zum Umgebungssensor 23 hin reflektiert, der das Reflexionsereignis 26 als Messpunkt 22 mit entsprechenden Sensordaten oder Messdaten 27 signalisieren kann. Ein jeweiliger Messpunkt 22 kann einen Reflexionsort p, also Koordinaten x, y relativ zum Umgebungssensor 23 z.B. in einer horizontalen Ebene (z.B. dem Boden), und zumindest ein Reflexionsmerkmal, beispielsweise eine relative Geschwindigkeit v des Objekts bezüglich des Umgebungssensors 23 und/oder einen Messstreuwert σ signalisieren. Insgesamt kann jeder Messpunkt 22 eine Anzahl D an Messwerten als Merkmalswerte enthalten. In 1 ist symbolisiert, dass insgesamt N Messpunkte 22 in der jeweiligen Punktwolke 21 umfasst sind. Die Anzahl D kann 4 betragen, wenn es sich um die besagten Koordinaten x, y in einer horizontalen Bezugsebene des Umgebungssensors 23 sowie die Relativgeschwindigkeit v und die Streuung σ handelt. Für jeden der N Reflexionsorte kann also ein Merkmalsvektor Xi der beispielhaften Länge D=4 mit den besagten Merkmalswerten x, y, v, σ bereitgestellt werden.
-
Dies Merkmalswerte der N Messpunkte 22, d.h. deren einzelne Merkmalsvektoren der Länge D können beispielsweise zu einem Gesamtvektor konkateniert werden, der als Eingabevektor dem neuronalen Netzwerk 20 bereitgestellt werden kann. Trotz der Konkatenierung zu einem Gesamtvektor kann eine Verarbeitung der Merkmalswerte in an sich bekannter Weise nach Reflexionsort getrennt und/oder paarweise jeweils auf zwei Reflexionsorte bezogen erfolgen.
-
In dem neuronalen Netzwerk 20 können mehrere Netzwerkschichten aus Perzeptronen vorgesehen sein. Die jeweilige Dimension der Netzwerkschichten ist jeweils in Klammern angegeben, wobei in Bezug auf die Anzahl D der Merkmalswerte pro Messpunkt 22 angegeben ist, wie in einem Encoder-Teil 30 die Anzahl der berücksichtigten Reflexionsorte 25 von N auf N/16 schichtweise reduziert wird und in einem Decoder-Teil 31 wieder pro Netzwerkschicht oder in Netzwerkschichten die berücksichtigte Anzahl an Reflexionsorten 25 von N/16 auf N schichtweise wieder erhöht wird. An einer Ausgabeschicht 32 können Netzwerkschichten dann die insgesamt N Messpunkte 22 auf eine Klasse C aus eine Anzahl nclasses abbilden, sodass sich als Detektionsergebnis 17 für jeden Messpunkt 22 eine Angabe einer Klasse C ergibt, die in der beschriebenen Weise angeben kann, ob es sich beispielsweise um einen Fußgänger oder ein Kraftfahrzeug oder eine stationäre Infrastruktur handelt. Da zu jedem Messpunkt 22 auch dessen Koordinaten des Reflexionsorts 25 angegeben sind, kann hierdurch für die Fahrfunktion 11 eine Karte der Umgebung 12 bereitgestellt werden.
-
In dem Netzwerk 20 können nach der Eingabeschicht 33 Transformationsblöcke 34 vorgesehen sein, die hier als Gauß-Transformationsblöcke GTB bezeichnet sind, von denen jeder einen Aufbau aufweisen kann, wie er im Zusammenhang mit 6 erläutert ist. 6 zeigt, dass in einem Transformationsblock 34 jeweils zwischen zwei Teilnetzwerken 36, beispielsweise den besagten FCL, eine Transformationsschicht 37 vorgesehen sein kann, die im Weiteren in Zusammenhang mit 2 erläutert werden wird. Die Teilnetzwerken 36 sind auch als lineare Schichten „lin.“ bezeichnet. Es handelt sich jeweils um ein Teilnetzwerk, das als MLP (multilayer perceptron) oder als einzelne Netzwerkschicht ausgestaltet sein kann.
-
Weiter ist in 1 dargestellt, wie zwischen den Transformationsblöcken 34 im Encoder-Teil 30 Downsamplingmodule ADS bereitgestellt sein können, die hier als attentive downsampling ADS bezeichnet sind.
-
Die Downsamplingmodule ADS werden im Zusammenhang mit 3 näher erläutert. Durch sie kann die Anzahl der in den nachfolgenden Netzwerkschichten verarbeiteten oder berücksichtigten Messpunkte 22 in der dargestellten Weise reduziert werden.
-
Im Decoder-Teil 31 können entsprechende Upsamplingmodule AUS vorgesehen sein, die im Zusammenhang mit 4 näher erläutert werden. Ein Upsamplingmodul wird hier auch als attentive upsampling AUS bezeichnet. Durch das Upsamplingmodul AUS kann jeweils die Anzahl der berücksichtigten Messpunkte 22 in der dargestellten Weise vergrößert werden. Wie bereits ausgeführt, sind die Angaben jeweils zum einen die Anzahl der berücksichtigten Messpunkte und zum anderen die Anzahl der Merkmalswerte pro Messpunkt.
-
Um vom Encoder-Teil 30 in den Decoder-Teil 31 die Informationen über die Reflexionsorte 25 der Messpunkte 22 zu übertragen, kann eine entsprechende Menge Ps der Reflexionsorte 25 über eine Skip-Verbindung 39 an die Upsamplingmodule AUS übertragen werden.
-
2 veranschaulicht die Transformationsschicht 37, wie sie in 6 im Gauß-Transformationsblock GTB dargestellt ist. Wie in 1 dargestellt, befindet sich ein jeweiliger Gauß-Transformationsblock GTB zwischen zwei Samplingmodulen, also entweder einem Downsamplingmodul ADS oder einem Upsamplingmodul AUS. An einer Eingangsseite 40 empfängt die Transformationsschicht 37 aus der ihr vorgeschalteten linearen Verarbeitung in den Teilnetzwerken 36 eine Menge PI an berücksichtigten oder zu verarbeitenden Messpunkten PI, wobei für jeden der berücksichtigten Messpunkte aus der Menge PI aktuelle, durch die schichtweise Verarbeitung verfügbare Merkmalsvektoren XI und der Reflexionsort 25 als Reflexionsortkoordinaten des Reflexionsorts pI angegeben sind. Dargestellt ist des Weiteren, dass nicht-berücksichtigte Messpunkte (deren Merkmalsvektoren und ihre Koordinaten der Reflexionsorte pi) über die Skip-Verbindung 39 weitergeleitet werden können.
-
In der Transformationsschicht 37 kann mittels eines FCL (fully connected layer) eine Gewichtungsmatrix Wqkv eintrainiert sein, durch welche ein Merkmalsvektor V und zwei Kennungsvektoren Q, K berechnet werden. Es kann sich um eine Zusammenfassen der bereits beschriebenen einzelnen Matrizen WV, WQ, WK Somit stehen für jeden Reflexionsort pi der Merkmalsvektor Vi und die Kennungsvektoren Qi und Ki bereit. Der Index i soll hier jeweils auf einen der aus der Menge PI entnommenen Reflexionsorte indizieren, wobei in der beschriebenen Weise allgemein pI die durch die Netzwerkschicht I berücksichtigen Reflexionsorte anzusehen ist.
-
Durch eine Positionscodierung 42 kann aus der paarweisen Betrachtung aller berücksichtigten Reflexionsorte pI jeweils für ein Paar i, j, also Reflexionsorte pi, pj, das Abstandmaß rij berechnet werden. Aus jeweils einem Paar i, j der Kennungsvektoren, beispielsweise jeweils einem Kennungsvektor Q und einem Kennungsvektor K, kann ein Unterschiedsmaß f (Qi, Kj) (Indizes i und j) beispielsweise als Differenz der Merkmalsvektoren in der dargestellten Weise berechnet werden. Daraus kann insgesamt ein Abstandswert Aij berechnet werden, der mittels einer unimodalen Funktion 44, beispielsweise der dargestellten Gaußfunktion auf ein vorbestimmtes Werteintervall 45 abgebildet sein kann, beispielsweise auf die Werte von 0 bis 1. In 2 ist eine alternative unimodale Funktion 44, nämlich eine lineare multimodale Funktion, die erwähnte Dreiecksfunktion, veranschaulicht.
-
Welche Paare 50 an Reflexionsorten betrachtet werden, ist anhand von 7 veranschaulicht. 7 veranschaulicht, dass für die in 2 dargestellten Netzwerkschicht I (I ist der Index der jeweils betrachteten Netzwerkschicht) und einen für eine nachgeschaltete Netzwerkschicht I+1 benötigten Reflexionsort pj eine lokale Umgebung n definiert werden kann. Dies legt fest, dass nur die darin geografisch in der Umgebung 12 angeordneten Reflexionsorte 25, das heißt die zugehörigen Messwerte mit ihren Koordinaten und den Merkmalswerten, wie sie sich in der jeweiligen Netzwerkschicht I darstellen oder zur Verfügung gestellt werden, betrachtet werden. Nur die Indizes i, j der Messpunkte dieser Reflexionsorte 25 innerhalb der Umgebung n werden berücksichtigt. Eine solche Umgebung n kann beispielsweise mittels des Algorithmus kNN ermittelt werden. Somit ergibt sich die Menge der Indizes i, j für die Paare 50, für die (siehe 2) ein mittels der unimodalen Funktion 44 ein Skalierungswert ai,j ermittelt wird. In einer Aggregation 51 kann in der beschriebenen Weise der Ausgabevektor Oj berechnet werden, der mit dem zugehörigen Reflexionsort pj dann einen Merkmalsvektor für die nachfolgende lineare Schicht (siehe 6) darstellt.
-
Diese Verarbeitung kann beispielsweise basierend auf einer Matrixnotation oder einer Matriximplementierung für alle in der jeweiligen Netzwerkschicht zu berücksichtigenden Reflexionsorte implementiert sein.
-
3 veranschaulicht ein Downsamplingmodul ADS, das ebenfalls die Merkmalsvektoren XI und die zugehörigen Reflexionsorte pI aus der gemäß 2 vorgeschalteten Netzwerkschicht empfängt.
-
Mittels eines FCL kann eine Verarbeitung der Merkmalsvektoren XI erfolgen, wie sie sich durch das Training des Netzwerks 20 ergibt. Für eine Auswahl von Reflexionsorten pI, auf welche durch das Downsampling des Downsamplingmoduls ADS die Zahl der betrachteten Reflexionsorte in der Ausgabemenge der Merkmalsvektoren PI+1 reduziert werden soll, kann ein Farthest-Point-Sampling 53 verwendet werden, welches eine geometrische Betrachtung der Reflexionsorte 25 in der Umgebung durchführt, wie es an sich bekannt ist. Um jeden ausgewählten Reflexionsort kann dann mittels des kNN-Algorithmus wieder eine Umgebung N definiert werden, wie es in 7 veranschaulicht ist.
-
Die Anzahl der mittels des FPS 53 auszuwählenden Reflexionsorte kann beispielsweise jeweils die Hälfte der bisher berücksichtigten Reflexionsorte sein. Die Koordinaten der jeweils ausgewählten Reflexionsorte und deren zugehöriger Merkmalsvektor XI können in einer Vektorkonkatenierung 60 zu einem verlängerten oder vergrößerten Vektor kombiniert werden, der dann mittels einer trainierten FCL verarbeitet werden kann. Das Ergebnis kann mittels einer Normierungsfunktion normiert werden, wie sie an sich aus dem Stand der Technik bekannt ist.
-
Hieraus können sich Skalierungswerte cj ergeben, die durch eine Aggregation 62 zu dem Ausgabevektor oder Merkmalsvektor Yi als Summe der gewichteten Merkmalsvektoren Xj gewichtet aufsummiert werden können. Mittels einer nachgeschalteten FCL kann eine weitere Verarbeitung der Merkmalswerte erfolgen. Sie kann gemäß R. Xiong, Y. Yang, D. He, K. Zheng, S. Zheng, C. Xing, H. Zhang, Y. Lan, L. Wang, and T. Liu. On layer normalization in the transformer architecture. In Proc. of the Int. Conf. on Machine Learning (ICML), 2020 ausgestaltet werden.
-
4 veranschaulicht in entsprechender Weise ein Upsamplingmodul AUS. Aus der vorgeschalteten Netzwerkschicht kann die Menge PI der berücksichtigten Reflexionsorte der vorgeschalteten Netzwerkschicht empfangen werden, das heißt es ergeben sich entsprechende Merkmalsvektoren XI pro Reflexionsort pI. Aus der Skip-Verbindung 39 kann die Menge Ps der Reflexionsorte ps vorgegeben sein, für die in der nachfolgenden Netzwerkschicht oder nachgeschalteten Netzwerkschicht I+1 Merkmalsvektoren benötigt werden, um die Menge PI+1 der Reflexionsorte bereitzustellen, die in der nachgeschalteten Netzwerkschicht berücksichtigt werden sollen.
-
Für jeden zu berücksichtigenden Reflexionsort ps kann, wie in 7 veranschaulicht, mittels des kNN-Algorithmus die lokale Umgebung N der nächste Nachbar ermittelt werden. Die Anzahl k kann jeweils beispielsweise in einem Bereich von 2 bis 200 liegen.
-
Dann kann aus der Menge PI eine Auswahl der entsprechenden Reflexionsorte pI in der beschriebenen Weise erfolgen. Mittels eines FCL können die entsprechenden zu diesen ausgewählten Reflexionsorten pI gehörenden Merkmalsvektoren XI verarbeitet werden, wobei das FCL wieder in der beschriebenen Weise trainiert ist. Durch eine Vektorkonkatenierung 60 können die Koordinaten als Abstandswert rij zu dem jeweils betrachteten Reflexionsort ps ermittelt werden. Durch die Vektorkonkatenierung 60 können die Merkmalsvektoren XI nach ihrer Verarbeitung zusammen mit den Abstandswerten Rij kombiniert werden und mittels eines trainierten FCL und der beschriebenen Normierung 61 verarbeitet werden. Hierdurch ergeben sich Skalierungswerte cij für jedes betrachtete Paar. In der Aggregation 62 können dann Ausgabevektoren Yi als gewichtete Summe innerhalb der lokalen Umgebung Nu des Upsampling des jeweiligen Reflexionsorts ps ermittelt werden. Die aus der Skip-Verbindung 39 empfangenen Merkmalsvektoren Xs des Reflexionsorts ps können in einer Vektorsummation 70 kombiniert werden, was dann eine nachgeschalteten Netzwerkschicht FCL für eine Weiterverarbeitung übergeben werden kann. Es kann für die FCL die im Zusammenhang mit dem Downsampling beschriebene Ausgestaltung gewählt werden. Hieraus ergeben sich dann die Merkmalsvektoren für die zu berücksichtigenden Reflexionsorte ps.
-
5 veranschaulicht, wie in der Umgebung 12 zu einzelnen Objekten 16, die durch Messpunkte 32 des Umgebungssensors beschrieben oder erfasst wurden, eine jeweilige Klassenanhabe C1 bis C4 zugeordnet werden kann. Zusätzlich sind die Relativpositionen bezüglich des Umgebungssensors und damit bezüglich des Kraftfahrzeugs aus den Messpunkten 32 bekannt, sodass eine Verortung oder Relativposition der Objekte 16 zusammen mit ihrer Klassenangabe C der Fahrfunktion bereitgestellt werden kann. Diese kann dann in der beschriebenen Weise die Trajektorie 13 für eine kollisionsfreie Fahrt des Kraftfahrzeugs in der Umgebung 12 planen und das Kraftfahrzeug durch Erzeugen der Steuerbefehle 14 für die Aktuatorik 15 in der Umgebung 12 gemäß der Fahrtrajektorie 13 führen.
-
Das Abstandmaß r
ij kann beispielsweise die Differenz der Reflexionsorte oder der Koordinaten oder Vektoren der Reflexionsorte sein.
wobi N
x die jeweils betrachtete Umgbung (I,d,u) sein kann, die durch die Indizes oder IDs der ausgewählten oder darin liegenden Reflexionsorte beschrieben ist.
-
Folgende Veröffentlichungen zeigen beispielhafte Implementierungen und Frameworks, in welche die beschriebene Transformationsschicht bzw. das beschriebene Downsampling und Upsampling integriert werden können:
- H. Zhao, J. Jia, and V. Koltun. Exploring self-attention for image recognition. In Proc. of the IEEE/CVF Conf. on Computer Vision and Pattern Recognition (CVPR), 2020 und
- H. Zhao, L. Jiang, J. Jia, P.H. Torr, and V. Koltun. Point transformer. In Proc. of the IEEE/CVF Intl. Conf. on Computer Vision (ICCV), 2021 und
- A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A.N. Gomez, L. Kaiser, and I. Polosukhin. Attention is all you need. Advances in Neural Information Processing Systems (NIPS), 30, 2017 und
- K. Wu, H. Peng, M. Chen, J. Fu, and H. Chao. Rethinking and improving relative position encoding for vision transformer. Proc. of the IEEE/CVF Intl. Conf. on Computer Vision (ICCV), 2021, wobei die Funktion softmax() durch die hier beschriebene Funktion Gaussian() ersetzt werden kann, und B. Yang, S. Wang, A. Markham, and N. Trigoni. Robust attentional aggregation of deep feature sets for multi-view 3d reconstruction. Intl. Journal of Computer Vision (IJCV), 128, 2020.
-
Die Funktion Gaussian() kann definiert werden als Gaussian(x) = exp(-x2/2).
-
Insgesamt zeigen die Beispiele, wie eine Gauß-basierter Transformationsschicht für Radar-Merkmale in einem künstlichen neuronalen Netzwerk bereitgestellt werden kann.