-
GEBIET DER TECHNIK
-
Die Offenbarung betrifft im Allgemeinen Fahrzeugsensoren und insbesondere ein System und ein Verfahren, das ein oder mehrere neuronale Netze zur Radarklassifizierung und/oder Radarpunktwolkensegmentierung verwendet.
-
ALLGEMEINER STAND DER TECHNIK
-
Verschiedene Sensoren können Daten bereitstellen, um Objekte in einem ein Fahrzeug umgebenden Bereich der physischen, d. h. realen Welt, zu identifizieren. Beispielsweise können Sensoren, wie etwa Videokameras, Lidar-, Radar-, Ultraschallsensoren usw., Daten zum Identifizieren eines Objekts bereitstellen. Ein Fahrzeugcomputer kann die Daten von den Sensoren empfangen, während er ein Fahrzeug in der Umgebung betreibt.
-
KURZDARSTELLUNG
-
Ein System beinhaltet einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei auf dem Speicher Anweisungen gespeichert sind, die durch den Prozessor ausgeführt werden können, um Punktwolkendaten zu empfangen. Die Anweisungen beinhalten ferner Anweisungen zum Generieren einer Vielzahl von Merkmalskarten auf Grundlage der Punktwolkendaten, wobei jede Merkmalskarte der Vielzahl von Merkmalskarten einem Parameter der Punktwolkendaten entspricht. Die Anweisungen beinhalten ferner Anweisungen zum Aggregieren der Vielzahl von Merkmalskarten zu einer aggregierten Merkmalskarte. Die Anweisungen beinhalten ferner Anweisungen, um über ein vorwärtsgekoppeltes neuronales Netz mindestens eine von einer Segmentierungsausgabe oder einer Klassifizierungsausgabe auf Grundlage der aggregierten Merkmalskarte zu erzeugen.
-
Bei anderen Merkmalen umfasst das vorwärtsgekoppelte neuronale Netz ein mehrschichtiges Perzeptron.
-
Bei anderen Merkmalen beinhalten die Anweisungen ferner Anweisungen zum Betreiben eines Fahrzeugs auf Grundlage von mindestens einer von der Segmentierungsausgabe oder der Klassifizierungsausgabe.
-
Bei anderen Merkmalen umfassen die Punktwolkendaten Radarpunktwolkendaten, die von einem Fahrzeugradarsensor bereitgestellt werden.
-
Bei anderen Merkmalen umfassen die Radarpunktwolkendaten Radarpunktwolkendaten, die einem einzelnen Radarzyklus entsprechen.
-
Bei anderen Merkmalen beinhalten die Anweisungen ferner Anweisungen, um eine erste Sliding-Kernel-Operation auf die Radarpunktwolkendaten anzuwenden, um eine erste Merkmalskarte zu erzeugen, und eine zweite Sliding-Kernel-Operation auf die Radarpunktwolkendaten anzuwenden, um eine zweite Merkmalskarte zu erzeugen, wobei sich die zweite Merkmalskarte von der ersten Merkmalskarte unterscheidet.
-
Bei anderen Merkmalen werden ein Kernel einer ersten Sliding-Kernel-Operation auf Grundlage einer physischen Größe eines ersten Fahrzeugs bestimmt und ein Kernel einer zweiten Sliding-Kernel-Operation auf Grundlage einer physischen Größe eines zweiten Fahrzeugs bestimmt, wobei sich das zweite Fahrzeug von dem ersten Fahrzeug unterscheidet.
-
Bei anderen Merkmalen beinhalten die Anweisungen ferner Anweisungen zum Abflachen der aggregierten Merkmalskarte; und Verketten der abgeflachten aggregierten Merkmalskarte mit den Punktwolkendaten.
-
Bei anderen Merkmalen wird die Vielzahl der Merkmalskarten zu der aggregierten Merkmalskarte bei einer maximalen Pooling-Schicht aggregiert.
-
Bei anderen Merkmalen wird jedem Punkt innerhalb der Punktwolkendaten eine Objektkennung innerhalb der durch das vorwärtsgekoppelte neuronale Netz ausgegebenen Segmentierung zugeordnet.
-
Ein Verfahren beinhaltet ein Empfangen von Punktwolkendaten. Das Verfahren beinhaltet ferner ein Generieren einer Vielzahl von Merkmalskarten auf Grundlage der Punktwolkendaten, wobei jede Merkmalskarte der Vielzahl von Merkmalskarten einem Parameter der Punktwolkendaten entspricht. Das Verfahren beinhaltet ferner ein Aggregieren der Vielzahl von Merkmalskarten zu einer aggregierten Merkmalskarte. Das Verfahren beinhaltet ferner ein Erzeugen, über ein vorwärtsgekoppeltes neuronales Netz, mindestens einer von einer Segmentierungsausgabe oder einer Klassifizierungsausgabe auf Grundlage der aggregierten Merkmalskarte.
-
Bei anderen Merkmalen umfasst das vorwärtsgekoppelte neuronale Netz ein mehrschichtiges Perzeptron.
-
Bei anderen Merkmalen beinhaltet das Verfahren ferner Anweisungen zum Betreiben eines Fahrzeugs auf Grundlage von mindestens einer von der Segmentierungsausgabe oder der Klassifizierungsausgabe.
-
Bei anderen Merkmalen umfassen die Punktwolkendaten Radarpunktwolkendaten, die von einem Fahrzeugradarsensor bereitgestellt werden.
-
Bei anderen Merkmalen umfassen die Radarpunktwolkendaten Radarpunktwolkendaten, die einem einzelnen Radarzyklus entsprechen.
-
Bei anderen Merkmalen beinhaltet das Verfahren ferner ein Anwenden einer ersten Sliding-Kernel-Operation auf die Radarpunktwolkendaten, um eine erste Merkmalskarte zu erzeugen, und ein Anwenden einer zweiten Sliding-Kernel-Operation auf die Radarpunktwolkendaten, um eine zweite Merkmalskarte zu erzeugen, wobei sich die zweite Merkmalskarte von der ersten Merkmalskarte unterscheidet.
-
Bei anderen Merkmalen werden ein Kernel einer ersten Sliding-Kernel-Operation auf Grundlage einer physischen Gröl e eines ersten Fahrzeugs bestimmt und ein Kernel einer zweiten Sliding-Kernel-Operation auf Grundlage einer physischen Größe eines zweiten Fahrzeugs bestimmt, wobei sich das zweite Fahrzeug von dem ersten Fahrzeug unterscheidet.
-
Bei anderen Merkmalen beinhaltet das Verfahren ferner ein Abflachen der aggregierten Merkmalskarte und ein Verketten der abgeflachten aggregierten Merkmalskarte mit den Punktwolkendaten.
-
Bei anderen Merkmalen wird die Vielzahl der Merkmalskarten zu der aggregierten Merkmalskarte bei einer maximalen Pooling-Schicht aggregiert.
-
Bei anderen Merkmalen wird jedem Punkt innerhalb der Punktwolkendaten eine Objektkennung innerhalb der durch das vorwärtsgekoppelte neuronale Netz ausgegebenen Segmentierung zugeordnet.
-
Figurenliste
-
- 1 ist ein Blockschema, das ein beispielhaftes Fahrzeugsteuersystem für ein Fahrzeug veranschaulicht.
- 2 ist eine Darstellung eines beispielhaften Servers in dem System.
- 3 ist eine Darstellung eines beispielhaften tiefen neuronalen Netzes.
- 4 ist ein Blockschema des tiefen neuronalen Netzes.
- 5 ist eine Darstellung, die eine beispielhafte Sliding-Kernel-Operation des tiefen neuronalen Netzes veranschaulicht.
- 6 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erzeugen einer Objektklassifizierung auf Grundlage von Punktwolkendaten veranschaulicht.
- 7 ist ein Ablaufdiagramm, das einen beispielhaften Prozess zum Erzeugen einer semantischen Ausgabe auf Grundlage von Punktwolkendaten veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG
-
Automobilradare können für Anwendungen im Zusammenhang mit Advanced Driver-Assistance Systems (ADAS) verwendet werden, wie etwa Abstandsregeltempomat (ACC), Toter-Winkel-Assistenz (CTA) usw. Die vorliegende Offenbarung betrifft ein System und ein Verfahren, das ein oder mehrere neuronale Netze für eine Radarklassifizierungs- und/oder Radarpunktwolkensegmentierungsausgabe verwendet, die verwendet werden können, um Objekte wie etwa Motorräder oder andere Fahrzeuge zu erkennen. Ein oder mehrere Fahrzeugsteuersysteme können die Radarklassifizierung und/oder Radarpunktwolkensegmentierung verwenden, um eine oder mehrere Fahrzeugoperationen zu steuern, etwa eine Fahrzeuggeschwindigkeit modifizieren, ein Fahrzeugmanöver durchführen und dergleichen.
-
1 veranschaulicht ein beispielhaftes Fahrzeugsteuersystem 100, das einen Fahrzeugcomputer 110 beinhaltet, der dazu programmiert ist, Punktwolkendaten als Eingabe zu empfangen und die Punktwolkendaten zu klassifizieren und/oder zu segmentieren. Die Punktwolkendaten können auf Messungen eines Sensors 115 basieren. In einer beispielhaften Umsetzung umfasst der Sensor 115 ein Radar, das dem Computer 110 Radarpunktwolkendaten bereitstellt. In einigen Umsetzungen entsprechen die Radarpunktwolkendaten Daten aus einem einzelnen Radarzyklus. In einigen Umsetzungen entsprechen die Radarpunktwolkendaten Daten aus einem mehrfachen Radarzyklus. Wie vorliegend ausführlicher beschrieben, klassifiziert der Computer 110 ein Cluster von Radarpunkten innerhalb der Radarpunktwolke und/oder segmentiert die Radarpunktwolke, klassifiziert z. B. Radarpunkte in eine Klasse.
-
Um an dieser Stelle auf 1 Bezug zu nehmen, beinhaltet das Fahrzeug 105 den Fahrzeugcomputer 110, Sensoren 115, Aktoren 120 zum Betätigen verschiedener Fahrzeugkomponenten 125 und ein Fahrzeugkommunikationsmodul 130. Das Kommunikationsmodul 130 ermöglicht es dem Fahrzeugcomputer 110, mit einem Server 140 und/oder einer Benutzervorrichtung 145 zu kommunizieren, z. B. über ein Nachrichten- oder Rundfunkprotokoll, wie etwa dedizierte Nahbereichskommunikation (Dedicated Short Range Communications - DSRC), Mobilfunk, und/oder ein anderes Protokoll, das die Kommunikation von Fahrzeug zu Fahrzeug, von Fahrzeug zu Infrastruktur, von Fahrzeug zu Cloud oder dergleichen und/oder über ein Paketnetzwerk 135 unterstützen kann.
-
Der Fahrzeugcomputer 110 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien und speichert durch den Fahrzeugcomputer 110 ausführbare Anweisungen zum Durchführen verschiedener Vorgänge, einschließlich der in dieser Schrift offenbarten.
-
Der Fahrzeugcomputer 110 kann das Fahrzeug 105 in einem autonomen, einem halbautonomen oder einem nichtautonomen (oder manuellen) Modus betreiben. Für die Zwecke dieser Offenbarung ist ein autonomer Modus als einer definiert, bei dem jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105 durch den Fahrzeugcomputer 110 gesteuert wird; in einem halbautonomen Modus steuert der Fahrzeugcomputer 110 eines oder zwei von Antrieb, Bremsung und Lenkung des Fahrzeugs 105; in einem nicht autonomen Modus steuert ein menschlicher Fahrzeugführer jedes von Antrieb, Bremsung und Lenkung des Fahrzeugs 105.
-
Der Fahrzeugcomputer 110 kann eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Steuerung der Beschleunigung des Fahrzeugs 105 durch Steuern eines oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Getriebe, Steuerung der Klimaanlage, Innen- und/oder Aul enbeleuchtung, Hupe, Türen usw. des Fahrzeugs 105 zu betreiben sowie um zu bestimmen, ob und wann der Fahrzeugcomputer 110 derartige Vorgänge anstelle eines menschlichen Fahrzeugführers steuern soll.
-
Der Fahrzeugcomputer 110 kann mehr als einen Prozessor beinhalten, z. B. in elektronischen Steuereinheiten (ECUs) oder dergleichen eingeschlossen, die in dem Fahrzeug 105 eingeschlossen sind, um verschiedene Fahrzeugkomponenten 125 zu überwachen und/oder zu steuern, z. B. eine Getriebesteuerung, eine Bremssteuerung, eine Lenksteuerung usw., oder kommunikativ an diese gekoppelt sein, z. B. über ein Kommunikationsnetz des Fahrzeugs, wie etwa einen Kommunikationsbus, wie nachfolgend näher beschrieben. Der Fahrzeugcomputer 110 ist im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetz, das einen Bus in dem Fahrzeug 105 beinhalten kann, wie etwa ein Controller Area Network (CAN) oder dergleichen, und/oder in anderen drahtgebundenen und/oder drahtlosen Mechanismen eingerichtet.
-
Der Fahrzeugcomputer 110 kann über das Netz 105 des Fahrzeugs Nachrichten an verschiedene Vorrichtungen in dem Fahrzeug 105 übermitteln und/oder Nachrichten (z. B. CAN-Nachrichten) von den verschiedenen Vorrichtungen, z. B. den Sensoren 115, einem Aktor 120, ECUs usw., empfangen. Alternativ oder zusätzlich kann das Fahrzeugkommunikationsnetz in Fällen, in denen der Fahrzeugcomputer 110 tatsächlich eine Vielzahl von Vorrichtungen umfasst, zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als der Fahrzeugcomputer 110 dargestellt sind. Ferner können, wie nachfolgend erwähnt, verschiedene Steuerungen und/oder Sensoren 115 Daten über das Fahrzeugkommunikationsnetz an dem Fahrzeugcomputer 110 bereitstellen.
-
Die Sensoren 115 des Fahrzeugs 105 können eine Vielfalt von Vorrichtungen einschliel en, die bekanntermal en Daten an dem Fahrzeugcomputer 110 bereitstellen. Beispielsweise können die Sensoren 115 (einen) Light-Detection-and-Ranging-Sensor(en) (LIDAR-Sensor(en)) 115 usw. einschliel en, der/die auf einem Verdeck des Fahrzeugs 105, hinter einer Windschutzscheibe des Fahrzeugs 105, um das Fahrzeug 105 herum usw. angeordnet ist/sind und relative Standorte, Größen und Formen von Objekten bereitstellt/bereitstellen, die das Fahrzeug 105 umgeben. Als ein weiteres Beispiel können ein oder mehrere Radarsensoren 115, die an Stoßfängern des Fahrzeugs 105 befestigt sind, Daten bereitstellen, um Standorte der Objekte bezogen auf den Standort des Fahrzeugs 105 bereitzustellen. Die Sensoren 115 können ferner alternativ oder zusätzlich zum Beispiel (einen) Kamerasensor(en) 115 einschließen, z. B. eine Frontkamera, Seitenkamera usw., der/die Bilder von einem das Fahrzeug 105 umgebenden Bereich bereitstellt/bereitstellen. Im Zusammenhang mit dieser Offenbarung ist ein Objekt ein physischer, d. h. materieller, Gegenstand, der eine Masse aufweist und der durch physikalische Phänomene (z. B. Licht oder andere elektromagnetische Wellen oder Schall usw.), die durch Sensoren 115 erfasst werden können, dargestellt werden kann. Somit fallen das Fahrzeug 105 sowie weitere Gegenstände, einschließlich der nachfolgend erörterten, unter die Definition von „Objekt“ in dieser Schrift.
-
Der Fahrzeugcomputer 110 ist dazu programmiert, Daten von einem oder mehreren Sensoren 115 im Wesentlichen kontinuierlich, periodisch und/oder auf Anweisung eines Servers 140 usw. zu empfangen. Die Daten können zum Beispiel einen Standort des Fahrzeugs 105 beinhalten. Standortdaten geben einen Punkt oder Punkte auf einer Bodenfläche an und können in einer bekannten Form vorliegen, z. B. Geokoordinaten, wie etwa Längengrad- und Breitengradkoordinaten, die über ein Navigationssystem erhalten wurden, wie bekannt, welches das globale Positionierungsbestimmungssystem (GPS) verwendet. Zusätzlich oder alternativ können die Daten eines Standort eines Objekts, z. B. eines Fahrzeugs, einer Stange, eines Schildes, eines Bordsteins, eines Fahrrads usw., in Bezug auf das Fahrzeug 105 beinhalten. Als ein Beispiel können die Daten Bilddaten des das Fahrzeug 105 umgebenden Bereichs sein. Bei Bilddaten in dieser Schrift handelt es sich um digitale Bilddaten, die z. B. Pixel mit Intensitäts- und Farbwerten umfassen und durch Kamerasensoren 115 erfasst werden können. Die Sensoren 115 können an einer beliebigen geeigneten Stelle in oder an dem Fahrzeug 105 montiert sein, z. B. an einem Stoßfänger des Fahrzeugs 105, an einem Dach des Fahrzeugs 105 usw., um Bilder der Umgebung um das Fahrzeug 105 zu sammeln.
-
Die Aktoren 120 des Fahrzeugs 105 sind über Schaltungen, Chips oder andere elektronische und/oder mechanische Komponenten umgesetzt, die verschiedene Fahrzeugteilsysteme gemäl zweckmäßigen Steuersignalen betätigen können, wie es bekannt ist. Die Aktoren 120 können verwendet werden, um Komponenten 125, einschließlich einer Bremsung, Beschleunigung und Lenkung eines Fahrzeugs 105, zu steuern.
-
Im Zusammenhang mit der vorliegenden Offenbarung handelt es sich bei einer Fahrzeugkomponente 125 um eine oder mehrere Hardwarekomponenten, die dazu ausgelegt sind, eine(n) mechanische(n) oder elektromechanische(n) Funktion oder Vorgang durchzuführen - wie etwa das Fahrzeug 105 zu bewegen, das Fahrzeug 105 abzubremsen oder anzuhalten, das Fahrzeug 105 zu lenken usw. Nicht einschränkende Beispiele für Komponenten 125 schliel en Folgendes ein: eine Antriebskomponente (die z. B. eine Brennkraftmaschine und/oder einen Elektromotor usw. einschliel t), eine Getriebekomponente, eine Lenkkomponente (die z. B. eines oder mehrere von einem Lenkrad, einer Zahnstange usw. einschliel en kann), eine Aufhängungskomponente (die z. B. einen oder mehrere von einem Stoßdämpfer, z. B. einen Dämpfer oder eine Strebe, eine Buchse, eine Feder, einen Steuerarm, ein Kugelgelenk, ein Gestänge usw. einschliel en kann), eine Bremskomponente, eine Einparkhilfekomponente, eine Komponente für adaptive Geschwindigkeitsregelung, eine Komponente zum adaptiven Lenken, ein oder mehrere passive Rückhaltesysteme (z. B. Airbags), einen beweglichen Sitz usw.
-
Des Weiteren kann der Fahrzeugcomputer 110 konfiguriert sein, um über ein Fahrzeugzu-Fahrzeug-Kommunikationsmodul 130 oder eine Schnittstelle mit Vorrichtungen außerhalb des Fahrzeugs 105, z. B. über eine Fahrzeug-zu-Fahrzeug(V2V)- oder eine Fahrzeug-zu-Infrastruktur(V2X)-Drahtloskommunikation (Mobilfunk und/oder DSRC usw.), mit einem anderen Fahrzeug und/oder mit anderen Computern (üblicherweise über direkte Funkfrequenzkommunikation) zu kommunizieren. Das Kommunikationsmodul 130 könnte einen Mechanismus oder mehrere Mechanismen beinhalten, wie etwa einen Sendeempfänger, durch welche die Computer 110 der Fahrzeuge 105 kommunizieren können, einschliel lich einer beliebigen gewünschten Kombination aus drahtlosen (z. B. Mobilfunk-, Drahtlos-, Satelliten-, Mikrowellen- und Funkfrequenz-)Kommunikationsmechanismen und einer beliebigen gewünschten Netztopologie (oder -topologien, wenn eine Vielzahl von Kommunikationsmechanismen genutzt wird). Beispielhafte über das Kommunikationsmodul 130 bereitgestellte Kommunikationen sind Mobilfunk, Bluetooth, IEEE 802.11, dedizierte Nahbereichskommunikation (dedicated short range communications - DSRC) und/oder Weitverkehrsnetze (Wide Area Networks - WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Das Netzwerk 135 stellt einen oder mehrere Mechanismen dar, durch welche ein Fahrzeugcomputer 110 mit entfernen Rechenvorrichtungen, z. B. dem Server 140, einem anderen Fahrzeugcomputer usw., kommunizieren kann. Demnach kann es sich bei dem Netzwerk 135 um einen oder mehrere von verschiedenen verdrahteten oder drahtlosen Kommunikationsmechanismen handeln, einschließlich einer beliebigen gewünschten Kombination aus verdrahteten (z. B. Kabel oder Glasfaser) und/oder drahtlosen (z. B. Mobilfunk, drahtlos, Satellit, Mikrowelle und Funkfrequenz-) Kommunikationsmechanismen und einer beliebigen gewünschten Netzwerktopologie (oder Topologien, wenn mehrere Kommunikationsmechanismen verwendet werden). Beispielhafte Kommunikationsnetzwerke beinhalten drahtlose Kommunikationsnetzwerke (z. B. unter Verwendung von Bluetooth®, Bluetooth® Low Energy (BLE), IEEE 802.11, Fahrzeug-Fahrzeug (V2V), wie etwa dedizierte Nahbereichskommunikation (DSRC) usw.), lokale Netzwerke (LAN) und/oder Weitverkehrsnetzwerke (WAN), einschließlich des Internets, die Datenkommunikationsdienste bereitstellen.
-
Ein Server 140 ist ein Computer, der sich außerhalb eines Fahrzeugs 105 befindet und üblicherweise von diesem entfernt ist. Der Server 140 beinhaltet einen zweiten Prozessor und einen zweiten Speicher, wie sie bekannt sind. Der zweite Speicher beinhaltet eine oder mehrere Arten computerlesbarer Medien, und darauf sind Anweisungen gespeichert, die durch den zweiten Prozessor zum Durchführen verschiedener Operationen ausführbar sind, was die in dieser Schrift beschriebenen. Beispielsweise kann der Server 140 ein Cloud-basierter Server sein. Ferner kann auf den Server 140 über das Netzwerk 135, z. B. das Internet oder ein anderes Weitverkehrsnetzwerk, zugegriffen werden.
-
2 ist ein Blockschema eines beispielhaften Servers 145. Der Server 145 beinhaltet einen Computer 235 und ein Kommunikationsmodul 240. Der Computer 235 beinhaltet einen Prozessor und einen Speicher. Der Speicher beinhaltet eine oder mehrere Formen computerlesbarer Medien, und darauf sind Anweisungen gespeichert, die durch den Computer 235 zum Durchführen verschiedener Operationen, einschließlich der in dieser Schrift offenbarten, ausführbar sind. Das Kommunikationsmodul 240 ermöglicht, dass der Computer 235 mit anderen Vorrichtungen, wie etwa dem Fahrzeug 105, kommuniziert.
-
3 ist eine schematische Darstellung eines beispielhaften tiefen neuronalen Netzes (Deep Neural Network - DNN) 300. Das DNN 300 kann für die vorliegend beschriebenen neuronalen Netze repräsentativ sein. Das DNN 300 beinhaltet mehrere Knoten 305, und die Knoten 305 sind derart angeordnet, dass das DNN 300 eine Eingabeschicht, eine oder mehrere verborgene Schichten und eine Ausgabeschicht beinhaltet. Jede Schicht des DNN 400 kann eine Vielzahl von Knoten 305 beinhalten. Während 3 drei (3) verborgene Schichten veranschaulicht, versteht es sich, dass das DNN 300 zusätzliche oder weniger verborgene Schichten beinhalten kann. Die Eingabe- und Ausgabeschichten können auch mehr als einen (1) Knoten 305 beinhalten.
-
Die Knoten 305 werden gelegentlich als künstliche Neuronen 305 bezeichnet, da sie derart gestatet sind, biologische, z. B. menschliche, Neuronen nachzuahmen. Ein Satz von Eingaben (durch die Pfeile dargestellt) an jedem Neuron 305 wird jeweils mit den entsprechenden Gewichtungen multipliziert. Die gewichteten Eingaben können dann in einer Eingabefunktion summiert werden, um eine Nettoeingabe bereitzustellen, die möglicherweise um einen Bias angepasst ist. Die Nettoeingabe kann dann an der Aktivierungsfunktion bereitgestellt werden, die wiederum eine Ausgabe an einem verbundenen Neuron 305 bereitstellt. Bei der Aktivierungsfunktion kann es sich um eine Vielfalt von geeigneten Funktionen handeln, die üblicherweise auf Grundlage einer empirischen Analyse ausgewählt werden. Wie durch die Pfeile in 3 veranschaulicht, können die Ausgaben des Neurons 305 dann zur Aufnahme in einen Satz von Eingaben für ein oder mehrere Neuronen 305 in einer nächsten Schicht bereitgestellt werden.
-
Das DNN 300 kann dazu trainiert werden, Daten als Eingabe anzunehmen und eine Ausgabe auf Grundlage der Eingabe zu generieren. Das DNN 300 kann mit Ground-Truth-Daten trainiert werden, d. h. Daten über eine reale Bedingung oder einen realen Zustand. Beispielsweise kann das DNN 300 durch einen Prozessor mit Ground-Truth-Daten trainiert oder mit zusätzlichen Daten aktualisiert werden. Die Gewichtungen können zum Beispiel unter Verwendung einer Gauß-Verteilung initialisiert werden, und eine Verzerrung für jeden Knoten 305 kann auf null gesetzt werden. Das Trainieren des DNN 300 kann eine Aktualisierung von Gewichtungen und einem Bias durch geeignete Techniken beinhalten, wie etwa eine Rückpropagierung mit Optimierungen. Zu Ground-Truth-Daten können Daten zählen, die Objekte innerhalb einer Punktwolke klassifizieren und/oder identifizieren.
-
4 veranschaulicht ein beispielhaftes DNN 300 gemäl einer beispielhaften Umsetzung der vorliegenden Offenbarung. Das DNN 300 empfängt die Punktwolkendaten, wie etwa die Radarpunktwolkendaten. Eine oder mehrere Sliding-Kernel-Operationen werden an den Punktwolkendaten vorgenommen. 4 veranschaulicht drei (3) verschiedene Sliding-Kernel-Operationen 405, 410, 415, die an den Punktwolkendaten vorgenommen werden, um drei (3) entsprechende Merkmalskarten 420, 425, 430 zu erzeugen. Die Sliding-Kernel-Operationen 405, 410, 415 stellen Filter dar, die auf alle Punktwolkendaten angewendet werden, um spezifische Merkmale aus den Punktwolkendaten zu extrahieren, und die Merkmalskarten 420, 425, 430 stellen verschiedene Merkmale dar, die über die jeweiligen Sliding-Kernel-Operationen 405, 410, 415 extrahiert wurden. Beispielsweise können die Sliding-Kernel-Operationen 405, 410, 415 eine Operation darstellen, bei der die Wolkenpunktdaten auf Grundlage von gewichteten Werten verarbeitet werden und ein Ausgabewert, z. B. Merkmale, durch Multiplizieren von Wolkenpunktdaten mit den gewichteten Werten und Addieren der multiplizierten Gesamtwerte insgesamt erhalten wird. In einer beispielhaften Umsetzung können die Sliding-Kernel-Operation 405 Merkmale der Radarpunktwolke, die einem Standortparameter entsprechen, filtern, die Sliding-Kernel-Operation 410 Merkmale der Radarpunktwolke filtern, welche einem Radarquerschnitts(RCS)-Parameter entsprechen, und die Sliding-Kernel-Operation 415 Merkmale der Radarpunktwolke filtern, die einem Doppler-Parameter entsprechen. Es sind zwar nur drei (3) Sliding-Kernel-Operationen und Merkmalskarten dargestellt, doch versteht es sich, dass das DNN 300 zusätzliche oder weniger Sliding-Kernel-Operationen und Merkmalskarten beinhalten kann. Der Kernel der Sliding-Kernel-Operation 405, 410, 415 basiert auf einer physischen Größe eines Objekts, das von Interesse ist. In einer beispielhaften Umsetzung basieren die verschiedenen Kernel der Sliding-Kernel-Operation 405, 410, 415 auf der physischen Größe eines interessierenden Fahrzeugs, die durch den Radarsensor 115 erfasst werden soll. Beispielsweise können ein Kernel einer ersten Sliding-Kernel-Operation auf Grundlage der physischen Größe eines Motorrads bestimmt werden und ein Kernel einer zweiten Sliding-Kernel-Operation auf Grundlage der physischen Größe einer Limousine oder eines Busses bestimmt werden.
-
Die Merkmalskarten 420, 425, 430 werden einer Pooling-Schicht 435 bereitgestellt. Die Pooling-Schicht 435 kann eine Downsampling-Operation an den empfangenen Merkmalskarten 420, 425, 430 durchführen. Beispielsweise kann die Pooling-Schicht 435 eine Maximum-Pooling-Schicht (Max-Pooling-Schicht) umfassen, welche die Downsampling-Operation durch Unterteilen der Eingabe in rechteckige Pooling-Regionen durchführt und den Maximalwert jeder Region berechnet, um eine aggregierte Merkmalskarte 440 zu erzeugen. Die Pooling-Schicht 435 kann auf alle empfangenen Merkmalskarten 420, 425, 430 angewendet werden, um die aggregierte Merkmalskarte 440 zu erzeugen.
-
Die aggregierte Merkmalskarte 440 kann einem ersten mehrschichtigen vorwärtsgekoppelten Netz (FNN) 445 zur Objektklassifizierung bereitgestellt werden. Das erste FNN 445 kann ein trainiertes FNN sein, das dazu programmiert ist, eine Objektklassifizierung auf Grundlage der aggregierten Merkmalskarte 440 auszugeben. Beispielsweise klassifiziert das erste FNN 445 auf Grundlage der Merkmale innerhalb der aggregierten Merkmalskarte 440 ein oder mehrere Objekte, die durch einen oder mehrere Radarsensoren 115 erfasst werden. Das erste FNN 445 kann zum Beispiel ein erfasstes Objekt als eine bestimmte Fahrzeugart wie etwa ein Motorrad, eine Limousine, einen Bus oder dergleichen klassifizieren.
-
Die aggregierte Merkmalskarte 440 kann auch einer Abflachungsschicht 450 bereitgestellt werden. Die Abflachungsschicht 450 wandelt die aggregierte Merkmalskarte 440 in Matrixform zu Verarbeitungszwecken in eine einzelne Wertespalte um. Die Punktwolkendaten können mit den Daten der abgeflachten aggregierten Merkmalskarte verkettet werden, um einen verketteten Vektor zu bilden, der die Daten der abgeflachten aggregierten Merkmalskarte und die Punktwolkendaten beinhaltet. Der verkettete Vektor wird als Eingabe in ein zweites FNN 455 bereitgestellt, das segmentierte Punktwolkendaten ausgibt. Beispielsweise kann jeder Punkt in der Punktwolke in eine Klasse von Objekten klassifiziert werden, z. B. per semantischer Segmentierung, die durch den Radarsensor 115 erfasst werden. Beispielsweise kann jeder Radarpunkt einer Objektkennung zugeordnet werden. In einer oder mehreren Umsetzungen umfassen die FNNs 445, 455 mehrschichtige Perzeptronen (MLPs).
-
5 veranschaulicht eine beispielhafte Sliding-Kernel-Operation gemäl der vorliegenden Offenbarung. Ein Kernel 505-1, z. B. ein Filter, beginnt an einer 0-ten Position der empfangenen Punktwolkendaten und durchstreift die Punktwolkendaten horizontal und vertikal, bewegt sich also durch diese, um ein Beispiel zu nennen. Die horizontale und vertikale Durchstreifung des Kernels 505 wird durch die Reichweite (Längsausdehnung) und Querreichweite (Auflösung) des durch das Fahrzeug 105 verwendeten Radarsensors 115 bestimmt. Der Kernel 505-2 stellt eine Position des Kernels 505-2 an Position i dar, wobei i eine ganze Zahl ist, und der Kernel 505-3 stellt eine Position des Kernels 505-3 an einer Position j dar, wobei j eine andere ganze Zahl als i ist. Der Punkt 510 stellt einen Punkt innerhalb der Punktwolkendaten dar. In einer oder mehreren beispielhaften Umsetzungen kann der Punkt 510 einen Radarpunkt darstellen, der durch den Radarsensor 115 gemessen wird. In dieser Umsetzung kann der Radarpunkt 510 einen Parameter darstellen, der mit dem Radarpunkt 510 in Verbindung steht. Der Parameter kann mindestens einen von einem Standortparameter, einem Radarquerschnitts(RCS)-Parameter und/oder einem Doppler-Parameter umfassen.
-
6 ist ein Ablaufdiagramm eines beispielhaften Prozesses 600 zum Erzeugen einer Ausgabe, die eine Objektklassifizierung angibt. Blöcke des Prozesses 600 können durch den Computer 110 oder den Computer 235 ausgeführt werden. Der Prozess 600 beginnt bei Block 605, bei dem eine Bestimmung erfolgt, ob Punktwolkendaten empfangen werden. In einer beispielhaften Umsetzung empfängt das DNN 300 eine Radarpunktwolke von einem Radarsensor 115. Wenn die Radarpunktwolke nicht empfangen worden ist, kehrt der Prozess 600 zu Block 605 zurück.
-
Andernfalls werden bei Block 610 eine oder mehrere Sliding-Kernel-Operationen 405, 410, 415 auf die Punktwolkendaten angewendet, um entsprechende Merkmalskarten 420, 425, 430 zu erzeugen. Die Sliding-Kernel-Operationen 405, 410, 415 können parallel auf die Punktwolkendaten angewendet werden, um Merkmalskarten 420, 425, 430 zu erzeugen. Beispielsweise werden unterschiedliche Sliding-Kernel-Operationen 405, 410, 415 auf die Radarpunktwolkendaten auf Basis von Daten pro Radarzyklus angewendet. Bei Block 615 werden die Merkmalskarten 420, 425, 430 einer Pooling-Schicht 440 bereitgestellt, um eine aggregierte Merkmalskarte zu erzeugen. Die aggregierte Merkmalskarte wird einem ersten trainierten MLP 445 zur Objektklassifizierung bei Block 620 bereitgestellt. Bei Block 625 steuert der Computer 110 eine oder mehrere Operationen des Fahrzeugs 105 auf Grundlage der Obj ektklassifizierung.
-
7 ist ein Ablaufdiagramm eines beispielhaften Prozesses 700 zum Erzeugen einer Klassenkennung für einen oder mehrere Punkte innerhalb einer Punktwolke. Blöcke des Prozesses 700 können durch den Computer 110 oder den Computer 235 ausgeführt werden. Der Prozess 700 beginnt bei Block 705, bei dem eine Bestimmung erfolgt, ob Punktwolkendaten empfangen worden sind. In einer beispielhaften Umsetzung empfängt das DNN 300 eine Radarpunktwolke von einem Radarsensor 115. Wenn die Radarpunktwolke nicht empfangen worden ist, kehrt der Prozess 700 zu Block 605 zurück.
-
Andernfalls werden bei Block 710 eine oder mehrere Sliding-Kernel-Operationen 405, 410, 415 auf die Punktwolkendaten angewendet, um entsprechende Merkmalskarten 420, 425, 430 zu erzeugen. Bei Block 715 werden die Merkmalskarten einer Pooling-Schicht 435 bereitgestellt, um eine aggregierte Merkmalskarte zu erzeugen. Die aggregierte Merkmalskarte wird bei Block 720 bei einer Abflachungsschicht 450 abgeflacht. Bei Block 725 werden die abgeflachten Punktwolkendaten mit den Daten der abgeflachten aggregierten Merkmalskarte verkettet, um einen verketteten Vektor zu bilden. Bei Block 730 bestimmt ein zweiter MLP 455 eine Objektkennung für jeden Punkt innerhalb der Punktwolke. Bei Block 735 steuert der Computer 110 eine oder mehrere Operationen des Fahrzeugs 105 auf Grundlage der Obj ektkennung(en).
-
Im hier verwendeten Sinne bedeutet der Ausdruck „im Wesentlichen“, dass eine Form, eine Struktur, ein Messwert, eine Menge, eine Zeit usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Herstellung, Datenübertragung, Berechnungszeit usw. von einer bzw. einem genauen beschriebenen Geometrie, Entfernung, Messwert, Menge, Zeit usw. abweichen kann.
-
Im Allgemeinen können die beschriebenen Rechensysteme und/oder -vorrichtungen ein beliebiges aus einer Reihe von Computerbetriebssystemen einsetzen, einschließlich unter anderem Versionen und/oder Varianten der Anwendung Ford Sync®, der Middleware AppLink/Smart Device Link, des Betriebssystems Microsoft Automotive®, des Betriebssystems Microsoft Windows®, des Betriebssystems Unix (z. B. des Betriebssystems Solaris®, vertrieben durch die Oracle Corporation in Redwood Shores, Kalifornien), des Betriebssystems AIX UNIX, vertrieben durch International Business Machines in Armonk, New York, des Betriebssystems Linux, der Betriebssysteme Mac OSX und iOS, vertrieben durch die Apple Inc. in Cupertino, Kalifornien, des BlackBerry OS, vertrieben durch die Blackberry, Ltd. in Waterloo, Kanada, und des Betriebssystems Android, entwickelt durch die Google, Inc. und die Open Handset Alliance, oder QNX® CAR Platform for Infotainment, angeboten durch QNX Software Systems. Beispiele für Rechenvorrichtungen schliel en unter anderem ein: einen ersten Bordcomputer, einen Computerarbeitsplatz, einen Server, einen Desktop-, Notebook-, Laptop- oder Handheld-Computer oder ein anderes Rechensystem und/oder eine andere Rechenvorrichtung.
-
Computer und Rechenvorrichtungen beinhalten im Allgemeinen computerausführbare Anweisungen, wobei die Anweisungen durch eine oder mehrere Rechenvorrichtungen ausgeführt werden können, wie etwa durch die vorstehend aufgeführten. Computerausführbare Anweisungen können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Reihe von Programmiersprachen und/oder -technologien erstellt werden, was entweder für sich oder in Kombination Java™, C, C++, Matlab, Simulink, Stateflow, Visual Basic, Java Script, Perl, HTML usw. beinhaltet, ohne darauf beschränkt zu sein. Einige dieser Anwendungen können auf einer virtuellen Maschine, wie etwa der Java Virtual Machine, der Dalvik Virtual Machine oder dergleichen, kompiliert und ausgeführt werden. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Anweisungen, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Anweisungen aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Anweisungen und andere Daten können unter Verwendung einer Vielfalt von computerlesbaren Medien gespeichert und übermitteln werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw., gespeichert ist.
-
Ein Speicher kann ein computerlesbares Medium (auch als prozessorlesbares Medium bezeichnet) beinhalten, das ein beliebiges nicht transitorisches (z. B. materielles) Medium beinhaltet, das am Bereitstellen von Daten (z. B. Anweisungen) beteiligt ist, die durch einen Computer (z. B. durch einen Prozessor eines Computers) ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nicht flüchtiger Medien und flüchtiger Medien. Zu nichtflüchtigen Medien können zum Beispiel Bild- und Magnetplatten und sonstige dauerhafte Speicher gehören. Flüchtige Medien können zum Beispiel einen dynamischen Direktzugriffsspeicher (DRAM) beinhalten, der in der Regel einen Hauptspeicher darstellt. Derartige Anweisungen können durch ein oder mehrere Übertragungsmedien übertragen werden, einschließlich Koaxialkabeln, Kupferdraht und Glasfaser, einschließlich der Drähte, aus denen ein Systembus besteht, der mit einem Prozessor einer ECU gekoppelt ist. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel Folgendes: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer ausgelesen werden kann.
-
Datenbanken, Datendepots oder andere Datenspeicher, die in dieser Schrift beschrieben sind, können verschiedene Arten von Mechanismen zum Speichern von, Zugreifen auf und Abrufen von verschiedenen Arten von Daten beinhalten, einschließlich einer hierarchischen Datenbank, eines Satzes von Dateien in einem Dateisystem, einer Anwendungsdatenbank in einem anwendereigenen Format, eines relationalen Datenbankverwaltungssystems (RDBMS) usw. Jeder derartige Datenspeicher ist im Allgemeinen in einer Rechenvorrichtung beinhaltet, die ein Computerbetriebssystem einsetzt, wie etwa eines der vorangehend erwähnten, und es wird auf eine oder mehrere von vielfältigen Weisen über ein Netz darauf zugegriffen. Auf ein Dateisystem kann von einem Computerbetriebssystem zugegriffen werden, und es kann in verschiedenen Formaten gespeicherte Dateien beinhalten. Ein RDBMS setzt im Allgemeinen die Structured Query Language (SQL) zusätzlich zu einer Sprache zum Erzeugen, Speichern, Editieren und Ausführen gespeicherter Prozeduren ein, wie etwa die vorangehend erwähnte PL/SQL-Sprache.
-
In einigen Beispielen können Systemelemente als computerlesbare Anweisungen (z. B. Software) auf einer oder mehreren Rechenvorrichtungen (z. B. Servern, Personal Computern usw.) umgesetzt sein, die auf diesen zugeordneten computerlesbaren Medien (z. B. Platten, Speichern usw.) gespeichert sind. Ein Computerprogrammprodukt kann derartige auf computerlesbaren Medien gespeicherte Anweisungen zum Ausführen der in dieser Schrift beschriebenen Funktionen umfassen.
-
Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren, Heuristiken usw. versteht es sich, dass die Schritte derartiger Prozesse usw. zwar als gemäl einer gewissen geordneten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden können, dass die beschriebenen Schritte in einer Reihenfolge durchgeführt werden, die von der in dieser Schrift beschriebenen Reihenfolge abweicht. Es versteht sich ferner, dass gewisse Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder gewisse in dieser Schrift beschriebene Schritte weggelassen werden können. Anders ausgedrückt, dienen die Beschreibungen von Prozessen in dieser Schrift dem Zwecke der Veranschaulichung gewisser Ausführungsformen und sollten keinesfalls dahingehend ausgelegt werden, dass sie die Ansprüche einschränken.
-
Dementsprechend versteht es sich, dass die vorangehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Die Adjektive „erster“ und „zweiter“ werden in der gesamten Schrift als Identifikatoren verwendet und sollen keine Bedeutung oder Reihenfolge andeuten. Viele Ausführungsformen und Anwendungen, bei denen es sich nicht um die bereitgestellten Beispiele handelt, werden dem Fachmann beim Lesen der vorangehenden Beschreibung ersichtlich. Der Umfang der Erfindung sollte nicht unter Bezugnahme auf die vorangehende Beschreibung festgelegt werden, sondern unter Bezugnahme auf die beigefügten Ansprüche in Zusammenhang mit dem vollständigen Umfang von Äquivalenten, zu denen solche Ansprüche berechtigen. Es wird vorweggenommen und ist beabsichtigt, dass es hinsichtlich der in dieser Schrift behandelten Fachgebiete künftige Entwicklungen geben wird und dass die offenbarten Systeme und Verfahren in derartige künftigen Ausführungsformen einbezogen werden. Insgesamt versteht es sich, dass die Erfindung modifiziert und variiert werden kann und lediglich durch die folgenden Ansprüche eingeschränkt ist.
-
Allen in den Ansprüchen verwendeten Ausdrücken soll ihre eindeutige und gewöhnliche Bedeutung zukommen, wie sie für den Fachmann verständlich ist, sofern in dieser Schrift keine ausdrückliche Angabe des Gegenteils erfolgt. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Anspruch nicht eine ausdrückliche gegenteilige Einschränkung enthält.
-
Gemäl der vorliegenden Erfindung ist ein System bereitgestellt, aufweisend einen Computer, der einen Prozessor und einen Speicher beinhaltet, wobei der Speicher Anweisungen speichert, die durch den Prozessor zu Folgendem ausführbar sind: Empfangen von Punktwolkendaten; Erzeugen einer Vielzahl von Merkmalskarten auf Grundlage der Punktwolkendaten, wobei jede Merkmalskarte der Vielzahl von Merkmalskarten einem Parameter der Punktwolkendaten entspricht; Aggregieren der Vielzahl von Merkmalskarten zu einer aggregierten Merkmalskarte; und Erzeugen von mindestens einer von einer Segmentierungsausgabe oder einer Klassifizierungsausgabe auf Grundlage der aggregierten Merkmalskarte über ein vorwärtsgekoppeltes neuronales Netz.
-
Gemäl einer Ausführungsform umfasst das vorwärtsgekoppelte neuronale Netz ein mehrschichtiges Perzeptron.
-
Gemäl einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Betreiben eines Fahrzeugs auf Grundlage von mindestens einer von der Segmentierungsausgabe oder der Klassifizierungsausgabe.
-
Gemäl einer Ausführungsform umfassen die Punktwolkendaten Radarpunktwolkendaten, die von einem Fahrzeugradarsensor bereitgestellt werden.
-
Gemäß einer Ausführungsform umfassen die Radarpunktwolkendaten Radarpunktwolkendaten, die einem einzelnen Radarzyklus entsprechen.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Anwenden einer ersten Sliding-Kernel-Operation auf die Radarpunktwolkendaten, um eine erste Merkmalskarte zu erzeugen; und zum Anwenden einer zweiten Sliding-Kernel-Operation auf die Radarpunktwolkendaten, um eine zweite Merkmalskarte zu erzeugen, wobei sich die zweite Merkmalskarte von der ersten Merkmalskarte unterscheidet.
-
Gemäß einer Ausführungsform wird ein Kernel einer ersten Sliding-Kernel-Operation auf Grundlage einer physischen Größe eines ersten Fahrzeugs bestimmt und ein Kernel einer zweiten Sliding-Kernel-Operation auf Grundlage einer physischen Größe eines zweiten Fahrzeugs bestimmt, wobei sich das zweite Fahrzeug von dem ersten Fahrzeug unterscheidet.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen ferner Anweisungen zum Abflachen der aggregierten Merkmalskarte; und Verketten der abgeflachten aggregierten Merkmalskarte mit den Punktwolkendaten.
-
Gemäß einer Ausführungsform wird die Vielzahl der Merkmalskarten zu der aggregierten Merkmalskarte bei einer maximalen Pooling-Schicht aggregiert.
-
Gemäß einer Ausführungsform wird jedem Punkt innerhalb der Punktwolkendaten eine Objektkennung innerhalb der durch das vorwärtsgekoppelte neuronale Netz ausgegebenen Segmentierung zugeordnet.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren: Empfangen von Punktwolkendaten; Erzeugen einer Vielzahl von Merkmalskarten auf Grundlage der Punktwolkendaten, wobei jede Merkmalskarte der Vielzahl von Merkmalskarten einem Parameter der Punktwolkendaten entspricht; Aggregieren der Vielzahl von Merkmalskarten zu einer aggregierten Merkmalskarte; und Erzeugen von mindestens einer von einer Segmentierungsausgabe oder einer Klassifizierungsausgabe auf Grundlage der aggregierten Merkmalskarte über ein vorwärtsgekoppeltes neuronales Netz.
-
In einem Aspekt der Erfindung umfasst das vorwärtsgekoppelte neuronale Netz ein mehrschichtiges Perzeptron.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren ein Betreiben eines Fahrzeugs auf Grundlage von mindestens einer von der Segmentierungsausgabe oder der Klassifizierungsausgabe.
-
In einem Aspekt der Erfindung umfassen die Punktwolkendaten Radarpunktwolkendaten, die von einem Fahrzeugradarsensor bereitgestellt werden.
-
In einem Aspekt der Erfindung umfassen die Radarpunktwolkendaten Radarpunktwolkendaten, die einem einzelnen Radarzyklus entsprechen.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren ein Anwenden einer ersten Sliding-Kernel-Operation auf die Radarpunktwolkendaten, um eine erste Merkmalskarte zu erzeugen; und ein Anwenden einer zweiten Sliding-Kernel-Operation auf die Radarpunktwolkendaten, um eine zweite Merkmalskarte zu erzeugen, wobei sich die zweite Merkmalskarte von der ersten Merkmalskarte unterscheidet.
-
In einem Aspekt der Erfindung wird ein Kernel einer erster Sliding-Kernel-Operation auf Grundlage einer physischen Größe eines ersten Fahrzeugs bestimmt und ein Kernel einer zweiten Sliding-Kernel-Operation auf Grundlage einer physischen Größe eines zweiten Fahrzeugs bestimmt, wobei sich das zweite Fahrzeug von dem ersten Fahrzeug unterscheidet.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren ein Abflachen der aggregierten Merkmalskarte; und ein Verketten der abgeflachten aggregierten Merkmalskarte mit den Punktwolkendaten.
-
In einem Aspekt der Erfindung wird die Vielzahl der Merkmalskarten zu der aggregierten Merkmalskarte bei einer maximalen Pooling-Schicht aggregiert.
-
In einem Aspekt der Erfindung wird jedem Punkt innerhalb der Punktwolkendaten eine Objektkennung innerhalb der Segmentierungsausgabe zugeordnet.