-
Die Erfindung betrifft ein computerimplementiertes Verfahren und ein Computerprogramm zum Entkoppeln von Ausführzeitpunkten von Datenverarbeitungsprozessen eines Umfeldwahrnehmungssystems. Ferner betrifft die Erfindung ein Umfeldwahrnehmungssystem eines Fahrsystems.
-
Sensorfusion ist ein Forschungsgebiet der Robotik, umfassend autonome Fahrsysteme. Die Fusion von Tiefen- und Farbinformationen, beispielsweise aus Lidar-Sensoren und Kamerabildern, wird dabei oft betrachtet.
-
Bekannt sind verschiedene Fusionsverfahren wie Early-, Middle-, und Late-Fusion. Beispielsweise offenbart Xu, Danfei, Dragomir Anguelov, and Ashesh Jain. „Pointfusion: Deep sensor fusion for 3d bounding box estimation.“ Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018 ein Verfahren, in dem Informationen aus mehreren Sensoren in einem künstlichen neuronalen Netzwerk verarbeitet werden. Ein Problem dabei ist die Grundannahme, dass Kamera- und Lidar Daten synchronisiert zur Verfügung stehen und folglich die Verarbeitung basierend auf Daten durchgeführt werden kann, die parallel und in gleicher Frequenz aufgenommen werden. Diese Annahme impliziert, dass die Verarbeitung immer auf Basis des Sensors durchgeführt wird, welcher mit einer geringeren Frequenz aufzeichnet. Beispielsweise wurde im KITTI Datensatz, siehe Geiger, Andreas, et al. „Vision meets robotics: The kitti dataset.“ The International Journal of Robotics Research 32.11 (2013): 1231-1237 eine Aufzeichnung der Daten in 10 Hz vorgenommen, entsprechend der Lidar-Rate, obwohl die Kameras eine deutlich höhere Datenfrequenz zulassen würden. Dadurch gehen potenziell wichtige Informationen der Umfeldwahrnehmung, auch Umfeldperzeption genannt, verloren. Darüber hinaus ist die exakte zeitliche Synchronisierung mehrerer Sensoren eine große technische Herausforderung insbesondere in deterministischen Echtzeitsystemen.
-
Alternativ werden in der Praxis Kamera und Lidar mit separaten neuronalen Netzen oder anderen Algorithmen verarbeitet und anschließend mit einem weiteren Algorithmus, künstliches neuronales Netzwerk oder klassischer Algorithmus möglich, kombiniert. Ein Problem dabei ist, dass ein Gradientenfluss zwischen Fusion und Input-Daten hier nicht mehr möglich ist.
-
Existierende Algorithmen zur Sensorfusion von Kamera-Lidar-Daten können entweder nicht end-to-end trainiert werden oder benötigen für Training und Inferenz synchronisierte Daten.
-
Aufgabe der Erfindung war es, eine Sensorfusion mit neuronalen Netzen bereitzustellen, in welcher unterschiedliche Datenfrequenzen möglich sind und welche gleichzeitig end-to-end trainierbar ist.
-
Die Gegenstände der Ansprüche 1, 7 und 8 lösen jeweils diese Aufgabe.
-
Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Definitionen, den Unteransprüchen, der Zeichnung und der Beschreibung bevorzugter Ausführungsbeispiele.
-
Nach einem Aspekt stellt die Erfindung ein computerimplementiertes Verfahren bereit zum Entkoppeln von Ausführzeitpunkten von Datenverarbeitungsprozessen eines Umfeldwahrnehmungssystems. Das Verfahren umfasst die Schritte
- • Erhalten von ersten Daten eines ersten Umfeldwahrnehmungssensors in einer ersten Frequenz und Erhalten von zweiten Daten eines zweiten Umfeldwahrnehmungssensors in einer zweiten Frequenz;
- • Prozessieren der ersten Daten mit einem ersten Umfeldwahrnehmungsalgorithmus, sobald die ersten Daten jeweils verfügbar sind, und Erhalten von ersten Umfeldmerkmalen und Prozessieren der zweiten Daten mit einem zweiten Umfeldwahrnehmungsalgorithmus, sobald die zweiten Daten jeweils verfügbar sind, und Erhalten von zweiten Umfeldmerkmalen;
- • Zwischenspeichern der ersten Umfeldmerkmale zusammen mit Zeitstempeln der jeweiligen ersten Daten, aus denen die ersten Umfeldmerkmale erhalten wurden, in einem ersten Zwischenspeicher, der jeweils die ersten Umfeldmerkmale einer ersten Anzahl der ersten Daten umfasst, und Zwischenspeichern der zweiten Umfeldmerkmale zusammen mit Zeitstempeln der jeweiligen zweiten Daten, aus denen die zweiten Umfeldmerkmale erhalten wurden, in einem zweiten Zwischenspeicher, der jeweils die zweiten Umfeldmerkmale einer zweiten Anzahl der zweiten Daten umfasst;
- • Prozessieren eines dritten Umfeldwahrnehmungsalgorithmus in einer dritten Frequenz entkoppelt von der ersten und zweiten Frequenz mit den Daten desjenigen Zwischenspeichers, der in dem jeweiligen Ausführungszeitpunkt des dritten Umfeldwahrnehmungsalgorithmus verfügbar ist.
-
Nach einem weiteren Aspekt stellt die Erfindung ein Computerprogramm bereit zum Entkoppeln von Ausführzeitpunkten von Datenverarbeitungsprozessen eines Umfeldwahrnehmungssystems. Das Computerprogramm umfasst Befehle, die einen Computer veranlassen, die Schritte des erfindungsgemäßen Verfahrens auszuführen, wenn das Computerprogramm von dem Computer ausgeführt wird.
-
Die Befehle des erfindungsgemäßen Computerprogramms umfassen Maschinenbefehle, Quelltext oder Objektcode geschrieben in Assemblersprache, einer objektorientierten Programmiersprache, beispielsweise C++, oder in einer prozeduralen Programmiersprache, beispielsweise C. Das Computerprogramm ist nach einem Aspekt der Erfindung ein Hardware unabhängiges Anwendungsprogramm, das beispielsweise über einen Datenträger oder ein Datenträgersignal, nach einem Aspekt mittels Software Over The Air Technologie, für eine beliebige Hardware bereitgestellt wird, beispielsweise über eine Middleware. Nach einem weiteren Aspekt ist das Computerprogramm ein Hardware abhängiges Programm, beispielsweise eine Firmware eines Steuermoduls eines autonomen Fahrsystems. Der Datenträger umfasst flüchtige Speicher, beispielsweise RAM, DRAM, SRAM, und nichtflüchtige Speicher, beispielsweise ROM, Flash-EEPROM. Die Datenträger sind beispielsweise Flash-Speicherkarten, USB-Sticks. Nach einem Aspekt der Erfindung wird der Datenträger an ein In/Out System eines Fahrsystems, beispielsweise eines Mikrocontrollers, des Fahrsystems angeschlossen und überträgt das Computerprogramm in den Mikrocontroller.
-
Durch Ausführung des Verfahrens, des Computerprogramms, Einlesen des Datenträgers und/oder Übertragen, Empfangen und Verarbeiten des Datenträgersignals wird eine End-To-End trainierbare Sensorfusion ohne Sensorsynchronisation realisiert.
-
Nach einem weiteren Aspekt stellt die Erfindung ein Umfeldwahrnehmungssystem eines Fahrsystems bereit. Das Umfeldwahrnehmungssystem umfasst wenigstens einen ersten und einen zweiten Umfeldwahrnehmungssensor und wenigstens eine anwendungsspezifische Hardwareeinheit. Die anwendungsspezifische Hardwareeinheit umfasst wenigstens eine erste Schnittstelle zu dem ersten Umfeldwahrnehmungssensor und eine zweite Schnittstelle zu dem zweiten Umfeldwahrnehmungssensor. Die anwendungsspezifische Hardwareeinheit ist konfiguriert, das erfindungsgemäße und/oder das erfindungsgemäße Computerprogramm auszuführen und ein Umfeld des Fahrsystems aus einer entkoppelten Sensorfusion wahrzunehmen.
-
Fahrsystem bezeichnet die Komponenten und Funktionalitäten eines Fahrzeuges auf Systemebene als auch das Fahrzeug als solches. Nach einem Aspekt ist das Fahrsystem ein autonomes Fahrsystem. Autonomes Fahrsystem bezeichnet die Komponenten und Funktionalitäten eines autonom betreibbaren Fahrzeuges, beispielsweise hoch- oder vollautomatisiert, auf Systemebene als auch das autonom betriebene Fahrzeug als solches. Die Erfindung kann sowohl im manuellen als auch im automatisierten Zustand eingesetzt werden.
-
Das Umfeldwahrnehmungssystem nimmt das Umfeld, die Umgebung, wahr. Basierend auf dieser Wahrnehmung plant das Fahrsystem die Bewegung eines Ego-Fahrzeuges und prädiziert die Bewegungen weiterer Objekte, beispielsweise Fremd-Fahrzeugen. Basierend auf dieser Planung und Prädiktion bestimmt das Fahrsystem Regel- und/oder Steuersignale für Aktuatoren des Ego-Fahrzeuges zur Längs- und oder Querführung. Das Umfeldwahrnehmungssystem kann statische und/oder dynamische Objekte erkennen, klassifizieren, lokalisieren und/oder diese über die Zeit verfolgen, auch tracking genannt. Das Umfeldwahrnehmungssystem umfasst Software- und Hardwaremodule. Die Softwaremodule umfassen Umfeldwahrnehmungsalgorithmen umfassend Erkennungs-, Klassifizierungs-, Lokalisierungs- und/oder Trackingalgorithmen für einzelne Umfelderfassungssensoren und/oder für Datenfusion. Die Algorithmen umfassen nach einem Aspekt Maschinenlernmodelle, beispielsweise künstliche neuronale Netzwerke für Objekterkennung, beispielsweise Faltungsnetzwerke oder Transformernetzwerke. Die Hardwaremodule umfassen Umfelderfassungssensoren, beispielsweise Kamera-, Lidar-, Radar-, Ultraschall-, Infrarot-, Akustik-, Geruchs-, GPS- und/oder Inertialsensoren, und integrierte Schaltungselemente und Schaltkreise, beispielsweise ICs, ASICs, FPGAs, CPUs, GPUs, systems on chips oder Hochleistungscomputer zur Signalverarbeitung. Die integrierte Schaltungselemente und Schaltkreise, beispielsweise ICs, ASICs, FPGAs, CPUs, GPUs, systems on chips oder Hochleistungscomputer zur Signalverarbeitung bilden die anwendungsspezifische Hardwareeinheit des Umfeldwahrnehmungssystem und die anwendungsspezifische Hardwareeinheit des eingebetteten Systems.
-
Die Größe der Zwischenspeicher, auch Datenbuffer genannt, ist beispielsweise auf die extrahierten Umfeldmerkmale der letzten fünf Sensorinputs festgelegt. Nach einem Aspekt der Erfindung ist der erste Datenbuffer gleich dem zweiten Datenbuffer, das heißt es gibt nur einen Datenbuffer.
-
Die Zeitstempel ermöglichen eine zeitliche Einordnung der Daten für den dritten Umfeldwahrnehmungsalgorithmus.
-
Nach einem Aspekt werden die ersten Daten von einem ersten Umfeldwahrnehmungssensor einer ersten Sensortechnologie und die zweite Daten von einem zweiten Umfeldwahrnehmungssensor einer zweiten, von der ersten verschiedenen Sensortechnologie erhalten werden. Die erste und zweite Sensortechnologie umfassen optische Sensoren, Radarsensoren, Infrarotsensoren, Ultraschallsensoren, Akustiksensoren und Geruchssensoren. Die Sensortechnologien unterscheiden sich unter anderem in der Frequenz, in der Daten aufgenommen werden können. Die Erfindung hat den Vorteil, dass die Daten erhalten mit den unterschiedlichen Sensortechnologien nicht synchronisiert werden müssen. Erfindungsgemäß erfolgt eine entkoppelte Sensorfusion.
-
Nach einem weiteren Aspekt ist der erste Umfeldwahrnehmungssensor ein Kamerasensor und der zweite Umfeldwahrnehmungssensor ein Lidarsensor. Der Kamerasensor erhält beispielsweise 30 Bilder, auch Frames, genannt, pro Sekunde, das heißt nimmt Daten in einer Frequenz von 30 Hz auf. Der Lidarsensor erhält beispielsweise 10 Frames pro Sekunde, das heißt nimmt Daten in einer Frequenz von 10 Hz. Der dritte Umfeldwahrnehmungsalgorithmus prozessiert die Daten beispielsweise mit einer Frequenz von 20 Hz. Mittels der Zwischenspeicher und des dritten Umfeldwahrnehmungsalgorithmus müssen die Daten damit nicht in der Frequenz des Lidarsensors aufgenommen werden, da eine Synchronisation entfällt durch die erfindungsgemäße Entkopplung. Es können mehr Daten der Umfeldwahrnehmung, insbesondere mehr Kameradaten, ausgewertet werden.
-
Nach einem weiteren Aspekt umfassen der erste und/oder der zweite Umfeldwahrnehmungsalgorithmus jeweils Sensor spezifische Maschinenlernalgorithmen, umfassend künstliche neuronale Netzwerke. Für den Fall, dass der erste Umfeldwahrnehmungssensor ein Kamerasensor ist, umfasst der erste Umfeldwahrnehmungsalgorithmus beispielsweise ein vortrainiertes Faltungsnetzwerk, das Pixeldaten einliest und verarbeitet. Für den Fall, dass der zweite Umfeldwahrnehmungssensor ein Lidarsensor ist, umfasst der zweite Umfeldwahrnehmungsalgorithmus beispielsweise ein künstliches neuronales Netzwerk, das Punktewolken einlesen und verarbeiten kann, beispielsweise PointNet. Das jeweilige künstliche neuronale Netzwerk speist die jeweiligen Daten vorwärts sobald die Daten jeweils bereitstehen. Für den ersten und zweiten Umfeldwahrnehmungsalgorithmus können bekannte künstliche neuronale Netzwerke zur Merkmalsextraktion aus den jeweiligen Sensordaten eingesetzt werden.
-
Nach einem weiteren Aspekt umfasst der dritte Umfeldwahrnehmungsalgorithmus einen Maschinenlernalgorithmus, umfassend ein künstliches neuronales Netzwerk. Das künstliche neuronale Netzwerk des dritten Maschinenlernalgorithmus löst die Downstream-Aufgabe und ist in seiner Ausführungsfrequenz entkoppelt von dem ersten und zweiten Umfeldwahrnehmungsalgorithmus.
-
Nach einem weiteren Aspekt wird durch Interpolation zwischen gekennzeichneten ersten und gekennzeichneten zweiten Daten ein gekennzeichnetes Top-View-Umfeldmodell generiert und das Umfeldwahrnehmungssystem wird basierend auf dem Top-View-Umfeldmodell End-To-End trainiert. Eine Herausforderung, welche der erfindungsgemäße entkoppelte Aufbau der Perzeption mit sich bringt, ist dass das Kennzeichnen oder Labelling der Daten nicht mehr wie üblich auf Frame-Basis basieren kann, zum Beispiel 3D Bounding Boxes und/oder Objekte in der Pointcloud. Vielmehr muss die tatsächliche Verkehrssituation gelabelt werden. Die Grundlage hierfür bildet das Top-View Umfeldmodell. Dieses kann beispielsweise durch Interpolation zwischen gelabelten Frames aus Kamera und Lidar generiert werden. Damit wird eine Synchronisation umgangen und gleichzeitig ein End-To-End trainierbarer Umfeldwahrnehmungsalgorithmus, insbesondere ein End-To-End trainierbares künstliches neuronales Netzwerk, bereitgestellt.
-
Die Erfindung wird in dem folgenden Ausführungsbeispiel verdeutlicht. 1 zeigt ein Ausführungsbeispiel eines erfindungsgemäßen Verfahrens, das mit einem Ausführungsbeispiel eines Umfeldwahrnehmungssystems 1 durchgeführt wird.
-
Das Umfeldwahrnehmungssystem 1 umfasst wenigstens einen ersten Umfeldwahrnehmungssensors 11, beispielsweise einen Kamerasensor, der erste Daten 10 in einer ersten Frequenz, beispielsweise 30 Frames pro Sekunde, ausgibt. Ferner umfasst das Umfeldwahrnehmungssystem 1 einen zweiten Umfeldwahrnehmungssensor 21, beispielsweise einen Lidarsensor, der zweite Daten 20 in einer zweiten Frequenz, beispielsweise 10 Frames pro Sekunde, ausgibt. In einem Verfahrensschritt V1 werden die ersten Daten 10 und die zweiten Daten 20 erhalten.
-
In einem Verfahrensschritt V2 werden die der ersten Daten 10 mit einem ersten Umfeldwahrnehmungsalgorithmus 12 prozessiert, sobald die ersten Daten 10 jeweils verfügbar sind. Der erste Umfeldwahrnehmungsalgorithmus ist beispielsweise ein künstliches neuronales Netzwerk, das Pixeldaten des Kamerasensors einliest und erste Umfeldmerkmale 13, beispielsweise erkannte Fremd-Fahrzeuge 3 und/oder Spurmarkierungen, extrahiert. Die zweiten Daten 20 werden mit einem zweiten Umfeldwahrnehmungsalgorithmus 22 prozessiert, sobald die zweiten Daten 20 jeweils verfügbar sind. Der zweite Umfeldwahrnehmungsalgorithmus ist beispielsweise ein künstliches neuronales Netzwerk, das Daten in Form von Punktwolken des Lidarsensors einliest und zweite Umfeldmerkmale 14 umfassend Tiefeninformationen extrahiert.
-
In einem Verfahrensschritt V3 werden die ersten Umfeldmerkmale 13 zusammen mit Zeitstempeln in einem ersten Zwischenspeicher 14 zwischengespeichert. Der erste Zwischenspeicher 14 umfasst die ersten Umfeldmerkmale 13 einer ersten Anzahl der ersten Daten 10. Die erste Anzahl ist beispielsweise gleich fünf. Die zweiten Umfeldmerkmale 23 werden zusammen mit Zeitstempeln in einem zweiten Zwischenspeicher 24 zwischengespeichert. Der zweite Zwischenspeicher 24 umfasst die zweiten Umfeldmerkmale 23 einer zweiten Anzahl der zweiten Daten 20. Die zweite Anzahl ist beispielsweise gleich der ersten Anzahl.
-
In einem Verfahrensschritt V4 wird ein dritter Umfeldwahrnehmungsalgorithmus 30 in einer dritten Frequenz, entkoppelt von der ersten und zweiten Frequenz, mit den Daten desjenigen Zwischenspeichers 14, 24 prozessiert, der in dem jeweiligen Ausführungszeitpunkt des dritten Umfeldwahrnehmungsalgorithmus 30 verfügbar ist.
-
Anstatt wie im bekannten Stand der Technik die Daten 10, 20 der unterschiedlichen Sensoren 11, 21 zu synchronisieren und dann gemeinsam zu evaluieren, wird jeweils ein sensorspezifisches Netz 12, 22 evaluiert, sobald Daten 10, 20 eines Sensors 11, 21 verfügbar sind. Die extrahierten Merkmale 13, 23 dieser Netze 12, 22 werden in einem Datenbuffer 14, 24 abgelegt. Die Größe des Datenbuffers 14, 24 muss festgelegt werden und kann beispielsweise die extrahierten Merkmale 13, 23 der letzten fünf Sensorinputs enthalten. Darüber hinaus wird zu jedem Datenbuffer 14, 24 ein Zeitstempel abgelegt, um eine zeitliche Einordnung für das Netz 30.
-
Das neuronale Netz 30 ist entkoppelt von der Datenfrequenz und wird in einem vorher festgelegten, regelmäßigen Intervall, beispielsweise 20 Frames pro Sekunde, evaluiert. Der Input für dieses Netzwerk 30 ist jeweils der zur Evaluationszeit verfügbare Datenbuffer 14, 24 inklusive Zeitstempel.
-
Eine Herausforderung, welche dieser Aufbau der Perzeption mit sich bringt, ist dass das Labelling der Daten nicht mehr wie üblich auf Frame-Basis basieren kann, beispielsweise 3D Bounding Boxes und/oder Objekte in der Pointcloud. Vielmehr muss die tatsächliche Verkehrssituation gelabelt werden, siehe Top-View-Umfeldmodell 31 umfassend ein Ego-Fahrzeug 2 und drei Fremd-Fahrzeuge 3. Die Objekte werden in dem Top-View-Umfeldmodell 31 entsprechend als Ego-Fahrtzeug 2 und Fremd-Fahrzeug 3 gelabelt. Damit wird eine Entkopplung von Ausführungszeitpunkten der verschiedenen Netze 12, 22 erreicht und damit eine Synchronisation der Daten 10, 20 umgangen. Gleichzeitig bleibt das Netzwerk 12, 22, 30 End-To-End trainierbar.
-
Bezugszeichenliste
-
- 1
- Umfeldwahrnehmungssystem
- 2
- Ego-Fahrzeug
- 3
- Fremd-Fahrzeug
- 10
- erste Daten
- 11
- erster Umfeldwahrnehmungssensor
- 12
- erster Umfeldwahrnehmungsalgorithmus
- 13
- erste Umfeldmerkmale
- 14
- erster Zwischenspeicher
- 20
- zweite Daten
- 21
- zweiter Umfeldwahrnehmungssensor
- 22
- zweiter Umfeldwahrnehmungsalgorithmus
- 23
- zweite Umfeldmerkmale
- 24
- zweiter Zwischenspeicher
- 30
- dritte Umfeldwahrnehmungsalgorithmus
- 31
- Top-View-Umfeldmodell
- V1-V4
- Verfahrensschritte