DE102020209985A1 - Vorrichtung und Verfahren zum Ermitteln einer Umfeldinformation - Google Patents

Vorrichtung und Verfahren zum Ermitteln einer Umfeldinformation Download PDF

Info

Publication number
DE102020209985A1
DE102020209985A1 DE102020209985.5A DE102020209985A DE102020209985A1 DE 102020209985 A1 DE102020209985 A1 DE 102020209985A1 DE 102020209985 A DE102020209985 A DE 102020209985A DE 102020209985 A1 DE102020209985 A1 DE 102020209985A1
Authority
DE
Germany
Prior art keywords
data
neural networks
surroundings
neural network
results
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102020209985.5A
Other languages
English (en)
Inventor
Marlon Ramon Ewert
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102020209985.5A priority Critical patent/DE102020209985A1/de
Publication of DE102020209985A1 publication Critical patent/DE102020209985A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

Vorrichtung und Verfahren zum Betreiben einer Vorrichtung (100) zum Ermitteln einer Umfeldinformation aus Umfeldsensordaten (D), aufweisend die Schritte: Zuführen von wenigstens ersten Daten (D1) der Umfeldsensordaten (D) an ein erstes neuronales Netz (10a);Zuführen von weiteren Daten (D2... Dn) der Umfeldsensordaten (D) an ein weiteres neuronales Netz (10b... 10n);paralleles Ermitteln von Ergebnissen anhand der ersten und weiteren Daten (D1... Dn) der Umfeldsensordaten (D) mittels der neuronalen Netze (10a... 10n), wobei die neuronalen Netze in getrennten Bearbeitungseinheiten ausgeführt werden; undErmitteln einer Umfeldinformation anhand der Ergebnisse.

Description

  • Die Erfindung betrifft eine Vorrichtung und ein Verfahren zum Ermitteln einer Umfeldinformation aus Umfeldsensordaten. Zudem betrifft die Erfindung ein Training eines neuronalen Netzes und ein Computerprogrammprodukt.
  • Stand der Technik
  • US 2019/0012548 A1 offenbart ein prozessor-implementiertes Verfahren für ein Fahrzeug zum Erkennen von Objekten mit mehrfachen On-Board-Sensiertasks im selben Netzwerk unter Verwendung von Deep-Learning Algorithmen.
  • Offenbarung der Erfindung
  • Aufgaben der Erfindung sind das Bereitstellen einer verbesserten Vorrichtung, eines verbesserten Verfahrens zum Ermitteln einer Umfeldinformation aus Umfeldsensordaten und eines verbesserten Trainings eines neuronalen Netzes.
  • Die Aufgaben der Erfindung werden mit den unabhängigen Ansprüchen gelöst.
  • Es wird eine Vorrichtung zum Ermitteln einer Umfeldinformation unter Verwendung von Umfeldsensordaten bereitgestellt. Die Vorrichtung weist eine erste Bearbeitungseinheit auf, die mit einem ersten neuronalen Netz aus ersten Daten der Umfeldsensordaten erste Ergebnisse ermittelt. Zudem weist die Vorrichtung wenigstens eine weitere Bearbeitungseinheit auf, die mit einem weiteren neuronalen Netz aus weiteren Daten der Umfeldsensordaten weitere Ergebnisse ermittelt. Die erste und die weitere Bearbeitungseinheit verarbeiten die ersten und die weiteren Daten wenigstens zeitweise parallel.
  • Zudem ist eine Ermittlungseinrichtung vorgesehen, die eingerichtet ist, anhand der Ergebnisse der neuronalen Netze eine Umfeldinformation zu ermitteln. Die ersten und die weiteren Daten können identische Daten sein. Zudem können die ersten und die weiteren Daten verschiedene Daten sein.
  • Dadurch wird eine Parallelisierung der Auswertung der Daten mithilfe der zwei neuronalen Netze erreicht. Auf diese Weise können die neuronalen Netze verschiedene Ergebnisse liefern und/oder das gleiche oder ähnliche Ergebnisse mit verschiedenen Wahrscheinlichkeiten. Beispielsweise könne die zwei neuronalen Netze ein gleiches Objekt mit unterschiedlichen Wahrscheinlichkeiten ermitteln. Zudem wird durch die zwei Bearbeitungseinrichtungen das parallele Betreiben der zwei Netze ermöglicht. Weiterhin sind die zwei Bearbeitungseinheiten unabhängig voneinander. Dadurch wird eine größere Wahrscheinlichkeit für eine korrekte Ausführung wenigstens eines neuronalen Netzes erreicht. Somit wird eine größere Fehlersicherheit erreicht. Mithilfe einer Ermittlungseinrichtung werden die zwei Ergebnisse der zwei neuronalen Netze ausgewertet und eine Umfeldinformation erhalten. Die Ermittlungseinrichtung kann aufgrund der zwei Ergebnisse eine verbesserte Umfeldinformation ermitteln. Beispielsweise können die zwei Ergebnisse miteinander verglichen und somit plausibilisiert werden. Somit kann von der Ermittlungseinrichtung eine fehlerhafte Umfeldinformation erkannt werden. Zudem kann die Ermittlungseinrichtung anhand der zwei Ergebnisse eine kombinierte Umfeldinformation ermitteln. Beispielsweise kann ein Mittelwert aus den zwei Ergebnissen der zwei neuronalen Netze gebildet werden und als Umfeldinformation ausgegeben werden. Abhängig von der gewählten Ausführung können auch mehr als zwei neuronale Netze verwendet werden. Die Umfeldinformation kann z.B. ausgegeben oder zur Steuerung einer Funktion eines Fahrzeuges verwendet werden. Dadurch kann vorteilhaft eine sichere Fahrfunktion eines automatisierten Fahrzeugs unterstützt werden. Die Bearbeitungseinheiten und/oder die Ermittlungseinrichtung und/oder die neuronalen Netze können in Hardware und/oder Software realisiert sein.
  • In einer Ausführung sind die neuronalen Netze identisch ausgebildet. Dadurch wird ein einfacher Aufbau erreicht.
  • In einer Ausführung sind die neuronalen Netze unterschiedlich ausgebildet. Beispielsweise können sich die Netze in der Struktur, d.h. in der Anzahl der Neuronen und/oder in der Anzahl der Ebenen der Neuronen und/oder in der Art und Weise der Verbindungen der Neuronen unterscheiden. Zudem können die Netze verschieden Neuronen aufweisen, die sich insbesondere in Aktivierungsfunktionen und/oder Gewichtungen der Neuronen unterscheiden. Auf diese Weise können die Daten vorteilhaft ausgewertet und verbesserte Umfeldinformationen ermittelt werden. Die verschiedenen Gewichtungen können durch verschiedene Trainingsarten der Netze erreicht werden. Durch die unterschiedliche Ausführung der neuronalen Netze kann eine breitere Auswertung der Daten mit besseren Ergebnissen für eine Umfeldinformation und/oder eine höhere Wahrscheinlichkeit für eine Umfeldinformation erreicht werden.
  • In einer Ausführung sind die Daten zeitlich nacheinander erfasste Umfeldsensorbilder, die mit wenigstens einem Umfeldsensor erfasst wurden bzw. die von einem Umfeldsensor erfasst wurden. Unter einem Umfeldsensorbild werden die Daten verstanden, die der Umfeldsensor bei einem Messvorgang aufnimmt. Das Umfeldsensorbild kann einen Messwert oder eine Vielzahl von Messwerten aufweisen. Insbesondere kann ein Umfeldsensorbild ein zwei- oder dreidimensionales Messwerteobjekt darstellen. Die zeitlich nacheinander erfassten Umfeldsensorbilder können abwechselnd dem ersten und dem weiteren neuronalen Netz zugeführt werden. Bei zwei neuronalen Netzen wird jedes zweite Umfeldsensorbild von dem gleichen Netz verarbeitet. Bei drei neuronalen Netzen wird jedes dritte Umfeldsensorbild vom gleichen neuronalen Netz verarbeitet. Auf diese Weise können große Menge von Umfeldsensordaten schnell wenigstens teilweise parallel verarbeitet werden.
  • In einer Ausführung stellen die ersten und weiteren Daten jeweils einen Teilbereich eines Umfeldsensorbildes dar. Die Teilbereiche der Umfeldsensorbilder können abwechselnd dem ersten und dem weiteren neuronalen Netz zugeführt werden. Dadurch kann ein Umfeldsensorbild schnell mithilfe von wenigstens zwei parallel arbeitenden neuronalen Netzen verarbeitet werden. Somit wird insgesamt auch für mehrere Umfeldsensorbilder eine schnellere Verarbeitung erreicht.
  • Bei zwei neuronalen Netzen kann ein Umfeldsensorbild in zwei oder mehr Teilbereiche unterteilt werden. Bei drei neuronalen Netzen kann ein Umfeldsensorbild in drei Teilbereiche oder mehr unterteilt werden. Bei zwei neuronalen Netzen wird jeder zweite Teilbereich eines Umfeldsensorbildes von dem gleichen Netz verarbeitet. Bei drei neuronalen Netzen wird jeder dritte Teilbereich eines Umfeldsensorbildes vom gleichen neuronalen Netz verarbeitet. Auf diese Weise können große Menge von Umfeldsensordaten schnell parallel verarbeitet werden. Die Einteilung der Teilbereiche eines Umfeldsensorbildes kann in Abhängigkeit von der Anzahl der neuronalen Netze so gewählt werden, dass jeweils das gleiche neuronale Netz immer den gleichen Teilbereich eines Umfeldsensorbildes verarbeitet. Es können jedoch auch andere Einteilungen getroffen werden.
  • In einer Ausführung ist die Ermittlungseinrichtung ausgebildet, um die Ergebnisse der neuronalen Netze miteinander zu kombinieren und/oder miteinander zu plausibilisieren, um eine Umfeldinformation zu erhalten. Somit kann eine verbesserte Umfeldinformation ermittelt werden.
  • In einer Ausführung sind die erste und die weitere Bearbeitungseinheit als getrennte Prozessorkerne und/oder als getrennte Threads ausgebildet. Auf diese Weise wird eine schnelle parallele Ausführung der wenigstens zwei Netze ermöglicht, wobei zudem die Ausführungen der Netze unabhängig voneinander sind. Somit kann ein Fehler oder ein Problem bei einem Netz das zweite Netz nicht beeinflussen. Fällt ein Netz aus, kann die Ermittlungseinheit die Umfeldinformation trotzdem noch anhand des anderen Netzes ermitteln.
  • In einer Ausführung steuert die Vorrichtung unter Berücksichtigung der Umfeldinformation eine Funktion eines Fahrzeuges oder gibt eine Information unter Berücksichtigung der Umfeldinformation, insbesondere die Umfeldinformation selbst aus.
  • Es wird ein Verfahren zum Betreiben einer Vorrichtung zum Ermitteln einer Umfeldinformation aus Umfeldsensordaten vorgeschlagen, aufweisend die Schritte:
    • - Zuführen von wenigstens ersten Daten der Umfeldsensordaten an ein erstes neuronales Netz;
    • - Zuführen von weiteren Daten der Umfeldsensordaten an ein weiteres neuronales Netz;
    • - paralleles Ermitteln von Ergebnissen anhand der ersten und weiteren Daten der Umfeldsensordaten mittels der neuronalen Netze, wobei die neuronalen Netze in getrennten Bearbeitungseinheiten ausgeführt werden; und
    • - Ermitteln einer Umfeldinformation anhand der Ergebnisse der neuronalen Netze.
  • In einer Ausführung werden die neuronalen Netze von verschiedenen Prozessorkernen und/oder von verschiedenen Threads ausgeführt werden. Die die neuronalen Netze können identisch ausgebildet sein. Zudem können die neuronalen Netze eine unterschiedliche Struktur aufweisen und/oder die neuronalen Netze Neuronen mit unterschiedlichen Aktivierungsfunktionen und/oder unterschiedlichen Gewichten aufweisen.
  • Die Daten können zeitlich nacheinander erfasste Umfeldsensorbilder wenigstens eines Umfeldsensors darstellen. Die zeitlich nacheinander erfassten Umfeldsensorbilder werden abwechselnd dem ersten und dem weiteren neuronalen Netz zugeführt.
  • Die ersten und weiteren Daten können jeweils einen Teilbereich eines Umfeldsensorbildes darstellen, wobei die Teilbereiche der Umfeldsensorbilder abwechselnd an das erste und das weitere neuronale Netze zugeführt werden.
  • Es wird ein Verfahren zum Trainieren eines neuronalen Netzes vorgeschlagen, wobei das neuronale Netz mit Testdaten trainiert wird, wobei die Testdaten nur einen Teilbereich eines Umfeldsensorbildes oder einen Teilbereich einer Serie von zeitlich nacheinander aufgenommenen Umfeldsensorbildern darstellen. Als Ziel des Trainings wird ein vorgegebenes Ergebnis verwendet. Beispielsweise kann als Ergebnis das Ermitteln einer vorgegebenen Umfeldinformation sein. Beispielsweise kann als Ergebnis ein Erkennen eines Objektes oder eines vorgegebenen Objektes verwendet werden. Zudem kann ein zweites neuronales Netz mit einem zweiten Teilbereich des Umfeldsensorbildes oder mit einem zweiten Teilbereich einer Serie von zeitlich nacheinander aufgenommenen Umfeldsensorbildern trainiert werden. Als Ziel des Trainings kann das gleiche Ziel wie für das erste Netz oder ein anderes Ziel verwendet werden. Die trainierten neuronalen Netze werden nach dem Training verwendet, um die Teilbereiche eines Umfeldsensorbilder oder Teilbereiche einer Serie von zeitlich nacheinander aufgenommenen Umfeldsensorbildern auszuwerten, mit denen sie trainiert wurden. Z. B. Beispiel verarbeitet das erste neuronale Netz den ersten Teilbereich des Umfeldsensorbildes und das zweite neuronale Netz den zweiten Teilbereich des Umfeldsensorbildes verarbeitet. In einem weiteren Beispiel mit einer Serie von zeitlich nacheinander von einem Umfeldsensor aufgenommenen Umfeldsensorbildern verarbeitet das erste neuronale Netz das erste, das dritte, das fünfte usw. aufgenommene Umfeldsensorbild der Serie von aufgenommenen Umfeldsensorbildern. Das zweite neuronale Netz verarbeitet das zweite, des vierte, das sechste usw. aufgenommenen Umfeldsensorbild der Serie von aufgenommenen Umfeldsensorbildern. Somit wird ein besseres Training der Netze in Bezug auf den späteren Einsatzzweck der Netze erreicht. Bei drei oder mehr parallel arbeitenden neuronalen Netzen kann das Umfeldsensorbild in drei Teilbereiche unterteilt werden, die entsprechend von den drei neuronalen Netzen verarbeitet werden. Bei drei oder mehr parallel arbeitenden neuronalen Netzen kann die Serie von zeitlich nacheinander aufgenommenen Umfeldsensorbildern in drei Teilbereiche der Serie unterteilt werden, die entsprechend von den drei neuronalen Netzen verarbeitet werden. Dabei wird das erste, das vierte, das siebte usw. aufgenommene Umfeldsensorbild der Serie der aufgenommenen Umfeldsensorbilder vom ersten neuronalen Netz, das zweite, das fünfte, das achte usw. aufgenommene Umfeldsensorbild der Serie der aufgenommenen Umfeldsensorbilder vom zweiten neuronalen Netz, und das dritte, das sechste, das neunte usw. aufgenommene Umfeldsensorbild der Serie der aufgenommenen Umfeldsensorbilder vom dritten neuronalen Netz verarbeitet.
  • Gemäß einem dritten Aspekt wird die Aufgabe gelöst mit einem Computerprogrammprodukt umfassend Befehle, die bei der Ausführung des Computerprogramms durch einen Computer diesen veranlasst, das vorgeschlagene Verfahren auszuführen oder das auf einem maschinenlesbaren Speichermedium gespeichert ist.
  • Weitere vorteilhafte Weiterbildungen der Vorrichtung zeichnen sich dadurch aus, dass die neuronalen Netze auf wenigstens einem aus Folgendem ausgeführt werden: CPU mit wenigstens einem Prozessorkern, Grafikkarte, neuronale Prozessoreinheit. Vorteilhaft können auf diese Weise unterschiedliche technische Möglichkeiten zur Ausführung der neuronalen Netze genutzt werden.
  • Die Erfindung wird im Folgenden mit weiteren Merkmalen und Vorteilen anhand von mehreren Figuren detailliert beschrieben. Gleiche oder funktionsgleiche Elemente haben dabei gleiche Bezugszeichen.
  • Offenbarte Verfahrensmerkmale ergeben sich analog aus entsprechenden offenbarten Vorrichtungsmerkmalen und umgekehrt. Dies bedeutet insbesondere, dass sich Merkmale, technische Vorteile und Ausführungen betreffend die Vorrichtung in analoger Weise aus entsprechenden Ausführungen, Merkmalen und Vorteilen betreffend das Verfahren zum Betreiben einer Vorrichtung zum Erkennen eines Objekts aus Umfeldsensordaten ergeben und umgekehrt.
  • In den Figuren zeigen:
    • 1 ein prinzipielles Blockschaltbild einer Ausführungsform einer vorgeschlagenen Vorrichtung;
    • 2 einen prinzipiellen Ablauf eines vorgeschlagenen Verfahrens zum Trainieren von neuronalen Netzen der vorgeschlagenen Vorrichtung;
    • 3 einen prinzipiellen Ablauf eines weiteren vorgeschlagenen Verfahrens zum Trainieren von neuronalen Netzen der vorgeschlagenen Vorrichtung; und
    • 4 einen prinzipiellen Ablauf eines mit der Vorrichtung durchführbaren Verfahrens zum Erkennen eines Objekts aus Umfeldsensordaten.
  • Beschreibung von Ausführungsformen
  • Unter einem automatisierten Fahrzeug wird im Zusammenhang mit der vorliegenden Erfindung ein voll- oder teilautomatisiertes oder ein voll- oder teilautonomes Fahrzeug verstanden.
  • Ein Kerngedanke der Erfindung ist es, eine Vorrichtung bereitzustellen, mit der eine verbesserte Ermittlung einer Umfeldinformation möglich ist. Beispielsweise kann als Umfeldinformation das Erkennen eines Objektes und/oder das Ermitteln einer Lage des Objektes und/oder eine Entfernung des Objektes relativ zu einem Umfeldsensor aus Umfeldsensordaten ermittelt werden.
  • Die im Folgenden genannten neuronale Netze können in Hard-/ und/oder Software realisiert sein. Die neuronalen Netze wurden mit entsprechenden Lernverfahren trainiert, um Umfeldsensordaten zu verarbeiten und ein vorgegebenes Ergebnis, insbesondere eine vorgegebene Umfeldinformation aus den Umfeldsensordaten zu ermitteln.
  • In Fahrzeugen und insbesondere in teilautonom oder autonom sich bewegenden Fahrzeugen kommt eine Vielzahl von Umfeldsensoren zur Anwendung. Die Umfeldsensoren werden beispielsweise verwendet, Umfeldinformationen im Bereich des Fahrzeuges zu ermitteln. Beispielsweise kann als Umfeldinformation ein Objekte, eine relative Lage des Objektes zum Fahrzeug, eine Bewegungsrichtung des Objektes, eine Geschwindigkeit des Fahrzeuges usw. ermittelt werden. Anschließend kann basierend auf wenigstens einer Umfeldinformation z.B. eine Trajektorienplanung für die Führung des Fahrzeuges und/oder sowie eine Steuerung einer Funktion des Fahrzeuges und/oder eine Ausgabe einer Information z.B. einer Umfeldinformation durchgeführt werden. Die Ausgabe kann an Insassen des Fahrzeuges oder an ein anderes Fahrzeug oder an einen entfernt vom Fahrzeug angeordneten Computer durchgeführt werden. Die Funktion des Fahrzeuges wird durch eine Ansteuerung einer Fahrzeugaktuatorik durchgeführt. Beispielsweise kann eine Lenkung, ein Antrieb und/oder eine Bremse des Fahrzeuges basierend auf der ermittelten Umfeldinformation beeinflusst werden. Zudem kann eine Information über das Umfeld des Fahrzeuges ausgegeben und/oder abgespeichert werden.
  • Die Datenverarbeitung der Umfeldsensordaten erfolgt mit Hilfe von neuronalen Netzen, die aus den Umfeldsensordaten wenigstens eines Umfeldsensors eine Umfeldinformation, insbesondere ein Objekt, eine relative Lage des Objektes zum Fahrzeug, eine Bewegungsrichtung des Objektes, eine Geschwindigkeit des Objektes usw. ermitteln. Zudem können die neuronalen Netze noch ausgebildet sein, um eine Zuverlässigkeit über die Richtigkeit der Umfeldinformation zu ermitteln. Die neuronalen Netze sind mithilfe von Trainingsdaten darauf trainiert worden, die gewünschten Umfeldinformationen zu ermitteln. Die neuronalen Netze sind z.B. in der Lage, die Umfeldinformation, insbesondere vorgegebene Objekte mithilfe einer bestimmten Zuverlässigkeit zu erkennen (z.B. mit mehr als 90%).
  • Vorgeschlagen werden eine Vorrichtung und ein Verfahren zum parallelen Auswerten von Umfeldsensordaten mit Hilfe von wenigstens zwei neuronalen Netzen. Dabei besteht ein Kerngedanke insbesondere darin, die Verarbeitung von Umfeldsensordaten mithilfe von neuronalen Netzen durch eine parallele Auswertung von unterschiedlichen Umfeldsensordaten zu verbessern. Die Umfeldsensordaten werden auf identischen oder unterschiedlichen neuronalen Netzen parallel auf unterschiedlichen Prozessorkernen oder unterschiedlichen Threads ausgewertet. Jeder Thread oder Prozessorkern wird zum Ausführen eines der genannten neuronalen Netze genutzt wird. Anschließend werden die Ergebnisse der neuronalen Netze zu einem Gesamtergebnis plausibilisiert und/oder miteinander kombiniert. Die Vorrichtung und das Verfahren können in einem Fahrzeug oder für ein Fahrzeug eingesetzt werden. Das Fahrzeug kann ein teilautonomes oder autonomes Fahrzeug sein.
  • Als Prozessorkern wird der zentrale Teil eines Rechenwerkes oder eines Mikroprozessors bezeichnet. Viele moderne Prozessoren verfügen über mehrere Prozessorkerne. Ein Prozessorkern kann wenigstens eine arithmetisch-logische Einheit (ALU), d.h. Schaltungsblöcke für logische und Ganzzahl-Operationen, Rechenregister und wesentliche Teile eines Steuerwerkes wie Adress-Dekoder zum Verwalten und ggf. Weiterzählen von Speicheradressen sowie zum Laden und Speichern von Werten von Speicheradressen in Register bzw. umgekehrt, einen Instruktions-Dekoder zum Verschalten von Registern als Inputs und Outputs mit Funktionsblöcken der ALU aufweisen, um den aktuellen Befehl durchzuführen.
  • Unter einem Thread wird ein sequentieller Abarbeitungslauf innerhalb eines Prozesses (Programmes) verstanden, der sich mit wenigstens einem weiteren Thread des zugehörigen Prozesses eine Reihe von Betriebsmitteln teilt wie z.B. ein Codesegment, ein Datensegment, verwendete Dateideskriptoren (ggf. im Datensegment). Threads innerhalb des gleichen Prozesses können verschiedenen Prozessoren zugeordnet sein. Jeder Thread kann einen eigenen sogenannten Threadkontext besitzen, der einen unabhängigen Registersatz inkl. Instruction Pointer, einen eigenen Stapel (Stack), jedoch meist im gemeinsamen Prozess-Adressraum, aufweist. Als Besonderheit kann es Betriebsmittel geben, die nur von dem erzeugenden Thread benutzt werden können oder dürfen. Andere Betriebsmittel werden von den Threads gemeinsam verwendet. Durch die gemeinsame Nutzung von Betriebsmitteln kann es auch zu Konflikten kommen. Diese müssen durch den Einsatz von Synchronisationsmechanismen aufgelöst werden. Da Threads, die demselben Prozess zugeordnet sind, den gleichen Adressraum verwenden, ist eine Kommunikation zwischen diesen Threads von vornherein sehr einfach möglich (vgl. mit Interprozesskommunikation bei Prozessen). Jeder Thread ist für die Ausführung einer bestimmten Aufgabe verantwortlich. Die Ausführungsstränge der Programmfunktionen können damit in überschaubare Einheiten aufgeteilt werden sowie umfangreiche Aufgaben auf mehrere Prozessorkerne verteilt werden.
  • Beispielsweise kann ein Prozessor wenigstens zwei Prozessorkerne aufweisen und/oder der Prozessor kann mithilfe eines Computerprogramms zwei verschiedene Threads wenigstens teilweise zeitlich parallel ausführen. Zudem können auch zwei Prozessoren vorgesehen sein, die zwei Threads wenigstens teilweise zeitlich parallel ausführen können. Auf diese Weise können wenigstens zwei neuronale Netze parallel zur Auswertung der Umfeldsensordaten betrieben werden. Die Umfeldsensordaten können gleichzeitig oder zeitlich versetzt in die wenigstens zweineuronalen Netze eingespeist werden.
  • Wird der die Umfeldsensordaten bereitstellende Umfeldsensor beispielsweise mit einer Messrate von 50 Hz betrieben, bedeutet dies, dass alle 20 ms ein neues Umfeldsensorbild generiert wird. Bei diesem Beispiel können die Daten des Umfeldsensors jeweils gleichzeitig an das erste und an das zweite neuronale Netz übermittelt werden. Zudem können die Umfeldsensordaten abwechselnd dem ersten und dem weiteren neuronalen Netz übermittelt werden. Dabei können in diesem Beispiel die Umfeldsensorbilder abwechselnd den zwei neuronalen Netzen jeweils mit einer Datenrate von 25 Hz zugeführt werden. Die Umfeldsensordaten werden dabei mit 50 Hz im Wechsel jeweils einem Thread bzw. Prozessorkern oder einem Prozessor zugeführt.
  • Werden beispielsweise ein erstes, ein zweites und ein drittes Umfeldsensorbild zeitlich nacheinander vom Umfeldsensor aufgenommen, dann kann beispielsweise ein erster Prozessorkern oder erster Thread ein erstes Umfeldsensorbild mithilfe des ersten neuronalen Netzes und ein zweiter Prozessorkern oder ein zweiter Thread mithilfe des zweiten neuronalen Netzes ein zweites Umfeldsensorbild auswerten, während das dritte Umfeldsensorbild wieder vom ersten Prozessorkern oder dem ersten Thread ausgewertet wird, usw.
  • In diesem Beispiel wird somit nur jedes zweite Umfeldsensorbild vom neuronalen Netz des ersten Threads bzw. des ersten Prozessorkerns verarbeitet und das jeweils darauffolgende jeweils zweite Umfeldsensorbild vom weiteren neuronalen Netz des zweiten Threads bzw. des zweiten Prozessorkerns. Im Ergebnis bedeutet dies, dass die Verarbeitung der Daten des Umfeldsensors auf den beiden Threads oder Prozessorkernen jeweils zyklisch um 20 ms versetzt ist.
  • Die vorgenannten Anzahlen an Threads bzw. Prozessorkernen ist hierbei lediglich exemplarisch zu sehen, das vorgeschlagene Verfahren lässt sich in der Praxis vorteilhaft bis zu einem gewissen Grad beliebig skalieren.
  • Gemäß diesem Verfahren können mithilfe der zwei neuronalen Netze mit jeweils leicht unterschiedlichen Daten des Umfeldsensors eine Verbesserung der Verarbeitung der Umfeldsensordaten erreicht werden. Insbesondere kann eine Verbesserung der Ergebnissse der neuronalen Netze erreicht werden. Beispielsweise kann eine Erkennungsgenauigkeit von Objekten im Umfeld des Fahrzeugs gesteigert werden. Die Ergebnisse der wenigstens zwei neuronalen Netze können gegeneinander plausibilisiert und/oder zu einem Gesamtergebnis kombiniert werden.
  • Wird beispielsweise ein bestimmtes Objekt mittels des ersten neuronalen Netzes mit einer Wahrscheinlichkeit von beispielsweise 80% erkannt, während das gleiche Objekt mittels des zweiten neuronalen Netzes mit einer Wahrscheinlichkeit von 90% erkannt wird, kann in diesem Fall die Objektwahrscheinlichkeit insgesamt als ein Mittelwert von 85% an eine nachgelagerte Verarbeitungseinrichtung 30 ausgegeben werden. Die Kombinationsauswertung der erkannten Objekte kann beispielsweise über ein eigenes nachgelagertes neuronales Netz erfolgen, wobei die Ergebnisse der beiden neuronalen Netze zu einem Gesamtergebnis kombiniert werden. Die Kombination der Ergebnisse kann z.B. über eine Mittelwertbildung, eine Medianbildung, eine Kalmanfilterung usw. erfolgen.
  • Auch eine Plausibilisierung der Ergebnisse der wenigstens zwei neuronalen Netze der unterschiedlichen Threads bzw. Prozessorkerne ist denkbar. Weicht beispielsweise die Wahrscheinlichkeit einer Objekterkennung der zwei neuronalen Netze mehr als einen Schwellwert voneinander ab (beispielsweise um 30%), so kann entweder das schlechtere Ergebnis verworfen werden und dem besseren Ergebnis des jeweils anderen neuronalen Netzes vertraut werden. Alternativ können aber auch beide Ergebnisse als unplausibel verworfen werden. In diesem Fall kann eine nachgelagerte Verarbeitungseinrichtung 30 entweder nur das jeweils bessere Ergebnis eines bestimmten neuronalen Netzes eines bestimmten Threads oder Prozessorkerns verwenden, oder eine Kombination der Ergebnisse (siehe oben), oder eines der Ergebnisse.
  • 1 zeigt ein Blockschaltbild einer vorgeschlagenen Vorrichtung 100 zur Ermittlung einer Umfeldinformation, insbesondere einer Objekterkennung aus Umfeldsensordaten D. Bei den Umfeldsensordaten D kann es sich z.B. um Kameradaten, Radardaten, Lidardaten, Ultraschallsensordaten, Positionsdaten von Objekten usw. handeln, die von wenigstens einem passiven und/oder aktiven Umfeldsensor 1 insbesondere eines Fahrzeugs generiert und bereitgestellt werden. Der Umfeldsensor 1 kann z.B. eine Kamera, eine Radarvorrichtung, eine Lidarvorrichtung, usw. sein, der die Umfeldsensordaten D erfasst. Die Umfeldsensordaten werden in Form von Teildaten D1... Dn zur weiteren Verarbeitung durch nachgelagerte neuronale Netze 10a... 10n bereitstellt. Dabei werden einem ersten neuronalen Netz 10a erste Teildaten D1, einem zweiten neuronalen Netz 10b zweite Teildaten D2 und einem n-ten neuronalen Netz 10n n-te Teildaten Dn zugeführt.
  • Ergebnisse E1, E2, En der neuronalen Netze werden einer Ermittlungseinrichtung 20 zugeführt, die ein Filtern, Plausibilisieren, Verwerfen von Ausreißern, usw. der Ergebnisse E1... En durchführt. Danach erfolgt eine Verknüpfung bzw. eine Zuführung an eine nachgeschaltete Verarbeitungseinrichtung 30. Mittels der Ermittlungseinrichtung 20 kann z.B. eine Plausibilisierung, eine Mittelwertbildung, eine Medianbildung, eine Kalmanfilterung usw. der Ergebnisse E1... En durchgeführt werden.
  • Es handelt sich somit um eine Vorrichtung 100 mit mehreren neuronale Netzen 10a...10n, die Daten von wenigstens einem Umfeldsensor verarbeiten. Die neuronalen Netze werden jeweils von verschiedenen Bearbeitungseinheiten ausgeführt. Die Bearbeitungseinheiten können in Hardware und/oder Software realisiert sein. Die Bearbeitungseinheiten sind beispielsweise zwei verschiedene Prozessoren und/oder Prozessorkerne eines Prozessors und/oder zwei verschiedene Threads, die von einem oder mehreren Prozessorkernen ausgeführt werden. Die Daten können den neuronalen Netzen in einer festgelegten Reihenfolge zugeführt werden. Beispielsweise können die Daten, beispielsweise die Umfeldsensorbilder in der Reihenfolge, in der die Umfeldsensorbilder erfasst werden, den neuronalen Netzen zugeführt werden. Das erste Umfeldsensorbild wird dem ersten neuronalen Netz, das zweite Umfeldsensorbild wird dem zweiten neuronalen Netz usw. und das n-te Umfeldsensorbild wird dem n-ten neuronalen Netz zugeführt. Anschließend wird das nächste erfasst Umfeldsensorbild wieder dem ersten neuronalen Netz zugeführt wird, usw. Auf diese Weise beträgt die Laufzeit für die Ausführung der neuronalen Netze 10a... 10n die Frequenz, mit der der Umfeldsensor die Daten erfasst und an die neuronalen Netze übermittelt, mal der Anzahl n der neuronalen Netze 10a... 10n.
  • Bei vier parallel geschalteten neuronalen Netzen 10a... 10d werden Teildaten D1...D4 nacheinander in die neuronalen Netze 10a... 10d eingespeist. Die Umfeldsensorbilder werden auf diese Weise nacheinander in die vier neuronalen Netze 10a... 10d eingespeist, wobei danach wieder ein neuer Zyklus durchgeführt wird.
  • Die Ermittlungseinrichtung 20 kann die Ergebnisse E1... En der neuronalen Netze 10a... 10n auf folgende Arten verarbeiten:
    1. (i) Plausibilisierung der Ergebnisse
    2. (ii) Kombination der Ergebnisse zu einer Umfeldinformation
    3. (iii) Plausibilisierung und Kombination der Ergebnisse
  • Die Ergebnisse E1... En repräsentieren mittels der neuronalen Netze 10a... 10n ermittelte vorgegebene Umfeldinformationen wie z.B. erkannte Objekte, erkannte Objekte mit Objektwahrscheinlichkeit, Objekttyp, Entfernung zum Umfeldsensor, Geschwindigkeit des Objektes, Bewegungsrichtung des Objektes usw.
  • Die nachgelagerte Verarbeitungseinrichtung 30 kann z.B. als ein elektronisches Steuergerät insbesondere für eine Trajektorienplanung eines Fahrzeuges und/oder eine Aktuatorsteuerung eines Fahrzeuges und/oder Ausgabe einer Umfeldinformation ausgebildet sein. Die Verarbeitungseinrichtung kann in einem Fahrzeug oder entfernt von dem Fahrzeug angeordnet sein kann.
  • Eine technische Realisierung der vorgeschlagenen Vorrichtung 100 und des vorgeschlagenen Verfahrens kann wie folgt erfolgen:
    • Auf einer CPU. Dabei erfolgt eine Ausführung der neuronalen Netze 10a...10n mittels eines einzelnen Prozessorkerns oder mittels mehrerer Prozessorkerne.
      1. a) Alternativ ist es möglich, die neuronalen Netze 10a... 10n auf einer Grafikkarte (engl. graphics processing unit, GPU) auszuführen. Dabei kann auch eine verteilte Ausführung der neuronalen Netze 10a... 10n oder Teile davon auf verschiedene Prozessorkerne der GPU vorgesehen sein, was eine parallele Ausführung der neuronalen Netze 10a... 10n erlaubt. Zudem können die neuronalen Netze in getrennten Threads in einem oder mehreren Prozessorkernen ausgeführt werden.
      2. b) Auf einer NPU (engl. neuromorphic processing unit), wobei mittels der NPU eine Ausführung der neuronalen Netze 10a... 10n in Software und/oder in Hardware vorgesehen sein kann. Diese elektronischen Hardwarebausteine sind vorteilhaft für eine Ausführung von neuronalen Netzen optimiert.
      3. c) Auf einem Mikrocontroller. Dadurch ist eine parallele oder sequentielle Ausführung der neuronalen Netze 10a... 10n unterstützt.
  • Auf die genannten Arten ist eine vielfältige Ausführungsführungsmöglichkeit der neuronalen Netze 10a... 10n unterstützt. In allen Ausführungen können die neuronalen Netze in getrennten Threads in einem oder mehreren Prozessorkernen ausgeführt werden.
  • 2 zeigt ein prinzipielles Trainingsszenario für die in der Vorrichtung 100 eingesetzten neuronalen Netze 10a... 10n.
  • Eine Trainingsdatenbank 40 stellt Trainingsdaten T1...Tn bereit. In einem ersten Lernschritt 50 werden erste Trainingsdaten T1 zum Trainieren des ersten neuronalen Netzes 10a verwendet. Das erste neuronale Netz wird in der Weise trainiert, d.h. Gewichtungen des neuronalen Netzes so lange verändert, bis das Ergebnis E1 des ersten neuronalen Netzes einem vorgegebenen Ergebnis entspricht. Als vorgegebenes Ergebnis wird eine Umfeldinformation z.B. eine Objekterkennung benutzt. Während des Trainings wird das vom ersten neuronalen Netzwerk ausgegebene erste Ergebnis E1 in einem Schritt 51 mit dem vorgegebenen Ergebnis z.B. in einem Soll-Istwert-Vergleich unterzogen. Falls dieser Soll-Istwert-Vergleich ergibt, dass das ausgegebene Ergebnis E1 des ersten neuronalen Netzes weniger als eine vorgegebene Abweichung von dem vorgegebenen Ergebnis abweicht, d.h. ein definierter Schwellwert bereits unterschritten ist, dann ist das erste neuronale Netz ausreichend trainiert. Anschließend wird zu einem zweiten Schritt 52 verzweigt. Andernfalls wird iterativ solange das erste neuronale Netz 10a weiter trainiert, bis das ausgegebene Ergebnis E1 des ersten neuronalen Netzes weniger als die vorgegebene Abweichung von dem vorgegebenen Ergebnis abweicht.
  • Im zweiten Schritt 52 wird das zweite neuronale Netz 10b mit zweiten Trainingsdaten T2 trainiert so lange trainiert, bis das ausgegebene zweite Ergebnis E2 des zweiten neuronalen Netzes weniger als eine vorgegebene Abweichung von einem vorgegebenen zweiten Ergebnis abweicht. Als vorgegebenes zweites Ergebnis wird eine zweite Umfeldinformation, z.B. eine Objekterkennung benutzt.
  • In einem Schritt 53 erfolgt ein Soll-Istwert-Vergleich des Ergebnisses E2 aus Schritt 52. Falls dieser Soll-Istwert-Vergleich ergibt, dass ein definierter Schwellwert für einen Unterschied zwischen dem zweiten Ergebnis E2 des zweiten neuronalen Netzes und dem zweiten vorgegebenen Ergebnis unterschritten ist, wird zu einem weiteren, insbesondere einem n-ten Lernschritt 54 verzweigt, in welchem das Training des n-ten neuronalen Netzes 10n mit Trainingsdaten Tn durchgeführt wird. Andernfalls wird in Schritt 52 iterativ solange das zweite neuronale Netz 10b weiter trainiert, bis ein zweiter Schwellwert für einen Unterschied zwischen dem zweiten Ergebnis E2 des zweiten neuronalen Netzes und dem zweiten vorgegebenen Ergebnis in einem Soll-Istwert-Vergleich in Schritt 53 kleiner als ein definierter Schwellwert ist.
  • In einem Schritt 55 erfolgt ein Soll-Istwert-Vergleich des n-ten Ergebnisses En des n-ten neuronalen Netzes aus Schritt 54 mit dem n-ten vorgegebenen Ergebnis. Falls dieser Soll-Istwert-Vergleich ergibt, dass ein definierter n-ter Schwellwert für einen Unterschied zwischen dem n-ten Ergebnis En des n-ten neuronalen Netzes und dem n-ten vorgegebenen Ergebnis unterschritten ist, wird zu Schritt 50 verzweigt, bei dem das Training des ersten neuronalen Netzes 10a mit den Trainingsdaten T1 erneut begonnen wird. Andernfalls wird iterativ das n-te Netz 10n solange weitertrainiert, bis ein Schwellwert des Ergebnisses En in einem Soll-Istwert-Vergleich in Schritt 55 kleiner als ein definierter Schwellwert ist. Danach sind die neuronalen Netze trainiert.
  • Die ersten bis n-ten Testdaten können identisch oder unterschiedlich ausgebildet sein. Das erste bis n-te vorgegebene Ergebnis können identisch oder unterschiedlich sein. Das erste bis n-te neuronale Netz können eine identische Netzstruktur oder unterschiedliche Netzstrukturen aufweisen. Unter einer Netzstruktur werden die Eingänge, die Netzknoten, die Ausgänge und die Verbindungen zwischen den Eingängen, den Netzknoten und den Ausgängen verstanden.
  • Beispielsweise sind die ersten bis n-ten Trainingsdaten Umfeldsensorbilder. Das erste bis n-te neuronale Netz können mit den gleichen Umfeldsensorbildern trainiert werden. Zudem können die Umfeldsensorbilder der Trainingsdaten T1... Tn in jedem Lernschritt um eins versetzt in das jeweilige zu trainierende neuronale Netz eingespeist werden. Im Ergebnis können das erste bis n-te neuronale Netz das Ausgeben eines gewünschten Ergebnisses in der gleichen Art und Weise erlernen wie in einem späteren Einsatz. Beispielsweise können als Testdaten in der gleichen Weise zeitlich versetzt aufgenommene Umfeldsensorbilder verwendet werden, wie im späteren Einsatz. Zudem können die zeitlich versetzt aufgenommenen Testdaten in der gleichen Weise den neuronalen Netzen zugeführt werden wie im späteren Einsatz. Somit kann das Training der neuronalen Netze in der gleichen Weise erfolgen wie der spätere Einsatz der neuronalen Netze zur Ermittlung vorgegebener Ergebnisse wie es in der operativen Phase in der Vorrichtung 100 vorgesehen ist.
  • In einer zweiten, nicht in Figuren dargestellten Ausführungsform der vorgeschlagenen Vorrichtung 100 werden nicht, wie im Fall von 1 exakt gleiche neuronale Netze 10a... 10b auf unterschiedlichen Threads und/oder Prozessorkernen parallel ausgeführt, sondern unterschiedliche neuronale Netze 10a... 10n. Z.B. werden die neuronale Netze mit jeweils unterschiedlichen Trainingsdaten T1...Tn mit gleichem Lernziel, d.h. gleicher vorgegebener Erwartungswert z.B. Objekterkennung trainiert wurden. Dadurch weisen die neuronalen Netze zwar die gleiche Struktur auf, unterscheiden sich aber in der Funktion wenigstens eines Verbindungsknotens (Neuron) des neuronalen Netzes, insbesondere in den Verstärkungsgewichten und/oder in den Aktivierungsfunktionen wenigstens eines Verbindungsknotens (Neuron). Auch in dieser Ausführungsform der neuronalen Netze der Vorrichtung 100 können die parallel betriebenen neuronalen Netze 10a... 10n mit zeitlich versetzten Teildaten D1... Dn der Umfeldsensordaten D gespeist werden. Die Ergebnisse der einzelnen neuronalen Netze können somit unterschiedlich sein. Die neuronalen Netze können in n-Zyklen versetzt ausgeführt werden, wobei n die Anzahl der neuronalen Netze 10a... 10n darstellt. Auch in diesem Fall werden die Ergebnisse der neuronalen Netze von der Ermittlungseinrichtung 20 verwendet, um eine Umfeldinformation zu ermitteln. Die Ermittlungseinrichtung führt wenigstens eine der folgenden Funktionen mit den Ergebnissen der neuronalen Netze durch: Filtern, Plausibilisieren, Verwerfen von Ausreißern, ein Kombinieren, eine Mittelwertbildung, eine Medianbildung, und/oder eine Kalmanfilterung der Ergebnisse E1... En, um eine Umfeldinformation zu ermitteln.
  • Auf diese Weise entstehen unabhängige Berechnungspfade mit ähnlichen Ergebnissen, die von der Ermittlungseinrichtung 20 gegeneinander plausibilisiert und/oder zu einer Umgebungsinformation kombiniert werden können.
  • Auf diese Weise können die trainierten neuronalen Netze 10a... 10n leicht unterschiedlich ausgebildet werden, wodurch eine größere Sicherheit bei der Plausibilisierung der Ergebnisse der neuronalen Netze ermöglichen kann.
  • Die neuronalen Netze 10a...10n können sich auch z.B. in der Anzahl der Neuronen (Verbindungsknoten) und/oder der Schichten und/oder der Anzahl der Verbindungen zwischen den Neuronen der neuronalen Netze 10a... 10n unterscheiden. Entsprechend können die neuronalen Netze 10a... 10n unterschiedliche Schichttiefen, d.h. unterschiedliche Schichten von Neuronen aufweisen, wodurch sich auch die Ergebnisse der neuronalen Netze trotz gleicher Eingangsdaten unterscheiden können. Im Ergebnis kann z.B. das parallele zweite neuronale Netz 10b die Umfeldsensordaten D ähnlich dem ersten neuronalen Netz 10a verarbeiten, allerdings mit einer geringeren Genauigkeit und/oder geringeren Auflösung des Ergebnisses, beispielsweise einer Objekterkennung.
  • In 3 ist schematisch ein weiteres Training der neuronalen Netze 10a... 10ndargestellt:
    • Man erkennt, dass Trainingsdaten T1 eines ersten Trainingsdatensatzes TD1 in einem Schritt 60 zum Trainieren eines ersten neuronalen Netzes 10a verwendet werden. In einem Schritt 61 erfolgt ein Vergleich des Ergebnisses E1 des ersten neuronalen Netzes mit einem vorgegebenen ersten Ergebnis. Aus diesem Soll-Istwert-Vergleich wird der Unterschied zwischen dem ersten Ergebnis E1 und dem vorgegebenen ersten Ergebnis ermittelt und mit einem definierten Schwellwert verglichen. Solange im Laufe des Trainings der definierte Schwellwert nicht unterschritten ist, wird weiterhin auf Schritt 60 verzweigt und weiter trainiert.
  • Sobald im Laufe des Trainings der definierte Schwellwert unterschritten ist, wird das Training des ersten neuronalen Netzes 10a beendet. In analoger Weise erfolgt in den Schritten 62, 63 bzw. 64, 65 das Training der zweiten bis n-ten neuronalen Netze 10b... 10n mit Trainingsdaten T2...Tn von Trainingsdatensätzen TD2...TDn. Die Trainingsdaten T2...Tn der Trainingsdatensätzen TD2...TDn und/oder die Trainingsdatensätze sind beispielsweise unterschiedlich ausgebildet.
  • In einem Beispiel können die Trainingsdatensätze eine Serie von zeitlich nacheinander von einem Umfeldsensor aufgenommenen Umfeldsensorbildern aufweisen. Dabei kann der erste Trainingsdatensatz das erste, das dritte, das fünfte usw. aufgenommene Umfeldsensorbild der Serie von aufgenommenen Umfeldsensorbildern aufweisen. Der zweite Trainingsdatensatz kann das zweite, des vierte, das sechste usw. aufgenommenen Umfeldsensorbild der Serie von aufgenommenen Umfeldsensorbildern aufweisen. Somit wird ein besseres Training der Netze in Bezug auf den späteren Einsatzzweck der Netze erreicht.
  • In einem weiteren Beispiel können als Trainingsdaten Teilbereiche von Umfeldsensorbildern aufweisen. Beispielsweise können Umfeldsensorbilder jeweils in drei Teilbereiche unterteilt werden. Ein erster Trainingsdatensatz kann jeweils den ersten Teilbereich von Umfeldsensorbildern aufweisen. Ein zweiter Trainingsdatensatz kann jeweils den zweiten Teilbereich von Umfeldsensorbildern aufweisen. Ein dritter Trainingsdatensatz kann jeweils den dritten Teilbereich von Umfeldsensorbildern aufweisen. Somit werden die neuronalen Netze mit den Trainingsdaten trainiert, die sie später im Einsatz auch verarbeiten.
  • Im Ergebnis sind auf diese Weise somit die Trainingsvorgänge der einzelnen neuronalen Netze 10a... 10n jeweils in sich abgeschlossen und aufgrund der verschiedenen Trainingsdaten voneinander unabhängig, wodurch die trainierten neuronalen Netze 10a... 10n geringfügig unterschiedlich ausgebildet sind und für den Einsatz in der zweiten Ausführungsform der Vorrichtung 100 bereitstehen. Somit können Neuronen der verschiedenen neuronalen Netze mit gleicher Struktur verschiedene Gewichte erlernt haben.
  • In einer dritten, nicht in Figuren dargestellten Ausführungsform der vorgeschlagenen Vorrichtung 100 werden nicht einzelne Umfeldsensorbilder im Wechsel auf die neuronalen Netze 10a... 10n verteilt, sondern Teile von Umfeldsensorbildern bzw. Ausschnitte von Umfeldsensorbildern. Dies bedeutet, dass beispielsweise ein erster definierter Bereich eines Umfeldsensorbildes, z.B. ein erstes Halbbild eines Umfeldsensorbildes mithilfe eines ersten neuronalen Netzes 10a verarbeitet wird, während ein zweiter definierter Bereich eines Umfeldsensorbildes, z.B. ein zweites Halbbild des Umfeldsensorbilds von dem zweiten neuronalen Netz verarbeitet wird. Beispielsweise kann eine linke Hälfte eines Umfeldsensorbildes eines ersten Umfeldsensors von einem ersten neuronalen Netz 10a verarbeitet werden und eine rechte Hälfte des gleichen Umfeldsensorbildes von einem zweiten neuronalen Netz 10b verarbeitet werden. Denkbar ist auch, die Umfeldsensorbilder der Umfeldsensordaten D in Bereiche mit definierten Pixelzahlen aufzuteilen. Zudem können die linken und die rechten Hälften der zeitlich nacheinander aufgenommenen Umfeldsensorbilder abwechselnd von den neuronalen Netzen verarbeitet werden.
  • Die Sensorbilder können somit in Teilbereiche aufgeteilt und z.B. in folgender Weise in die neuronalen Netze 10a... 10n eingespeist werden:
    • Bei zwei neuronalen Netzen 10a, 10b kann eine Aufteilung von Sensorbildern auf zwei Hälften gemäß folgendem Schema durchgeführt werden:
      • Teildaten D1 = linke Hälfte erstes Umfeldsensorbild 1, rechte Hälfte zweites Umfeldsensorbild 2, linke Hälfte drittes Umfeldsensorbild 3, ...
      • Teildaten D2 = rechte Hälfte erstes Umfeldsensorbild 1, linke Hälfte zweites Umfeldsensorbild 2, rechte Hälfte drittes Umfeldsensorbild 3,...
  • Mit D1 sind die ersten Teildaten für das erste neuronale Netz, mit D2 die zweiten Teildaten für das zweite neuronale Netz bezeichnet.
  • Die Vorgänge mit dem ersten Umfeldsensorbild 1 entsprechen somit einer ersten Iteration, die Vorgänge mit dem Umfeldsensorbild 2 entsprechend einer zweiten Iteration, die Vorgänge mit dem Umfeldsensorbild 3 entsprechen einer dritten Iteration, usw.
  • In einem weiteren Beispiel kann eine linke Hälfte eines Umfeldsensorbildes eines ersten Umfeldsensors von einem ersten neuronalen Netz 10a verarbeitet werden und eine rechte Hälfte des Umfeldsensorbildes eines zweiten Umfeldsensors von einem zweiten neuronalen Netz 10b verarbeitet werden.
    Die Ergebnisse der neuronalen Netze 10a... 10n werden anschließend von der Ermittlungseinrichtung 20 verarbeitet und eine Umfeldinformation ermittelt, wie bereits erläutert. Die Umfeldinformation wird z.B. an eine nachgelagerte Verarbeitungseinrichtung 30 ausgegeben.
  • Ein erster Anwendungsfall der dritten Ausführungsform der vorgeschlagenen Vorrichtung 100 kann gleiche oder leicht unterschiedliche neuronale Netze vorsehen:
    • Das erste neuronale Netz verarbeitet z.B. eine linke Hälfte eines ersten Umfeldsensorbildes und das zweite neuronale Netz verarbeitet eine rechte Hälfte des ersten Umfeldsensorbildes. Die Ergebnisse der zwei neuronalen Netze können von der Ermittungseinrichtung kombiniert werden, so dass ein Gesamtergebnis für das erste Umfeldsensorbild vorliegt. In analoger Weise können die Umfeldsensorbilder in mehrere Bereiche unterteilt werden, die jeweils von einem neuronalen Netz verarbeitet werden. Die Ergebnisse der neuronalen Netze werden von der Ermittlungseinrichtung zu einem Gesamtergebnis kombiniert. Zudem kann die Kombination der Ergebnisse der neuronalen Netze auch erst nach zwei verarbeiteten oder mehreren verarbeiteten Umfeldsensorbildern mithilfe der Ermittlungseinrichtung durchgeführt werden. Zusätzlich zu der Kombination kann die Ermittlungseinrichtung auch eine Plausibilisierung der Ergebnisse der neuronalen Netze ausführen.
  • Ein Trainingsszenario der neuronalen Netze 10a... 10n kann bei dieser Variante analog zu den vorgehend erläuterten Ausführungsformen der Vorrichtung 100 mit Teilbereichen von Umfeldsensorbildern als Trainingsdaten T1...Tn durchgeführt werden.
  • 4 zeigt einen prinzipiellen Ablauf einer Ausführungsform des vorgeschlagenen Verfahrens zum Betreiben einer Vorrichtung 100 zum Erkennen eines Objekts aus Umfeldsensordaten D.
  • In einem Schritt 200 erfolgt ein Zuführen von wenigstens ersten Teildaten D1 der Umfeldsensordaten D an ein erstes neuronales Netz 10a.
  • In einem Schritt 210 erfolgt ein Zuführen von jeweils weitere Teildaten D2... Dn der Umfeldsensordaten D an wenigstens ein weiteres neuronales Netz 10b... 10n.
  • In einem Schritt 220 erfolgt ein Auswerten die Teildaten D1... Dn der Umfeldsensordaten D mittels der neuronalen Netze 10a... 10n gemäß den trainierten Lernzielen.
  • In einem Schritt 230 erfolgt ein Plausibilisieren und/oder Kombinieren von Ergebnissen E1... En der neuronalen Netze 10a... 10n und ein Ausgeben einer Umfeldinformation S. Die Umfeldinformation kann verschiedene Inhalte aufweisen und beispielsweise das Erkennen eines Objektes im Umfeldsensorbild und/oder eine Wahrscheinlichkeit für ein erkanntes Objekt im Umfeldsensorbild beinhalten. Zudem kann die Umfeldinformation weitere Informationen wie z.B. eine relative Lage des Objektes zum Umfeldsensor, eine Bewegungsrichtung des Objektes, eine Geschwindigkeit des Objektes, eine Größe des Objektes usw. beinhalten.
  • Die vorgeschlagene Vorrichtung kann z.B. in einem automatisiert/autonomen Fahrzeug, einem Flugzeug, einer Drohne, einem Wasserfahrzeug, usw. eingesetzt werden.
  • Das Verfahren ist vorzugsweise als ein Computerprogramm ausgebildet, das Programmcodemittel zum Ausführen des Verfahrens aufweist.
  • Zusammengefasst schlägt die vorliegende Erfindung eine Vorrichtung und ein Verfahren zur parallelisierten Auswertung von Umfeldsensordaten vor, die beispielsweise für oder in einem Fahrzeug, insbesondere für oder in einem wenigstens teilweise automatisierten Fahrzeug verwendet werden kann.
  • Indem die Umfeldsensordaten des Umfeldsensors im Wechsel von neuronalen Netzen unterschiedlicher Threads und/oder Prozessorkerne verarbeitet werden, entstehen unterschiedliche Ergebnisse, die gegeneinander plausibilisiert und/oder miteinander kombiniert werden können.
  • Zudem kann durch die Verwendung etwas unterschiedlicher neuronaler Netze, die parallel Umfeldsensordaten verarbeiten durch eine entsprechende Kombination und/oder Plausibilisierung die Zuverlässigkeit für eine Ermittlung von richtigen Ergebnissen erhöht werden. Eine Sicherheit beim Betrieb wenigstens teilweise automatisierter Fahrzeuge kann auf diese Weise gesteigert werden. Das vorgeschlagene Verfahren kann im Betrieb eines automatisierten/- automatisierten Fahrzeugs zu wenigstens einem der folgenden Zwecke durchgeführt werden: Objekterkennung, Objektlagenerkennung, Objektbewegungserkennung, Trajektorienplanung, Kollisionsvermeidung mit einem Objekt.
  • Obwohl die Erfindung vorgehend anhand von konkreten Ausführungsbeispielen beschrieben worden ist, kann der Fachmann vorgehend auch nicht oder nur teilweise offenbarte Ausführungsformen realisieren, ohne vom Kern der Erfindung abzuweichen.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 2019/0012548 A1 [0002]

Claims (15)

  1. Vorrichtung (100) zum Ermitteln einer Umfeldinformation unter Verwendung von Umfeldsensordaten (D), mit - einer ersten Bearbeitungseinheit, die mit einem ersten neuronalen Netz (10a) aus ersten Daten (D1) der Umfeldsensordaten (D) erste Ergebnisse ermittelt; - wenigstens eine weitere Bearbeitungseinheit, die mit einem weiteren neuronalen Netz (10b... 10n) aus weiteren Daten (D2...Dn) der Umfeldsensordaten (D) weitere Ergebnisse ermittelt; - wobei die erste und die weitere Bearbeitungseinheit die ersten und die weiteren Daten (D1, D2,...,Dn) wenigstens teilweise parallel verarbeiten, - eine Ermittlungseinrichtung (20), die eingerichtet ist, anhand der Ergebnisse (E1...En) der neuronalen Netze (10a...10n) eine Umfeldinformation zu ermitteln.
  2. Vorrichtung (100) nach Anspruch 1, dadurch gekennzeichnet, dass die neuronalen Netze (10b... 10n) identisch ausgebildet sind.
  3. Vorrichtung (100) nach Anspruch 1, dadurch gekennzeichnet, dass die neuronalen Netze (10b...10n) unterschiedlich ausgebildet sind, wobei sich die Netze in der Struktur und/oder in Funktionen von Neuronen und/oder in Gewichten der Neuronen unterscheiden.
  4. Vorrichtung (100) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Daten (D1...Dn) zeitlich nacheinander erfasste Umfeldsensorbilder wenigstens eines Umfeldsensors darstellen, und dass die zeitlich nacheinander erfassten Umfeldsensorbilder abwechselnd an das erste und das weitere neuronalen Netze (10a...10n) zuführbar sind.
  5. Vorrichtung (100) nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die ersten und weiteren Daten (D1 ... Dn) jeweils einen Teilbereich eines Umfeldsensorbildes darstellen, wobei die Teilbereiche der Umfeldsensorbilder abwechselnd an das erste und das weitere neuronale Netze (1 0a... 10n) zuführbar sind.
  6. Vorrichtung (100) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Ermittlungseinrichtung (20) ausgebildet ist, um die Ergebnisse (E1...E1) der neuronalen Netze (10a... 10n) miteinander zu kombinieren und/oder miteinander zu plausibilisieren, um eine Umfeldinformation zu erhalten.
  7. Vorrichtung (100) nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die erste und die weitere Bearbeitungseinheit als getrennte Prozessorkerne und/oder getrennte Threads ausgebildet sind.
  8. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei die Vorrichtung ausgebildet ist, um unter Berücksichtigung der Umfeldinformation eine Funktion eines Fahrzeuges zu steuern oder eine Information unter Berücksichtigung der Umfeldinformation auszugeben.
  9. Verfahren zum Betreiben einer Vorrichtung (100) zum Ermitteln einer Umfeldinformation aus Umfeldsensordaten (D), aufweisend die Schritte: - Zuführen von wenigstens ersten Daten (D1) der Umfeldsensordaten (D) an ein erstes neuronales Netz (10a); - Zuführen von weiteren Daten (D2... Dn) der Umfeldsensordaten (D) an ein weiteres neuronales Netz (10b... 10n); - Wenigstens teilweise zeitlich paralleles Ermitteln von Ergebnissen anhand der ersten und weiteren Daten (D1... Dn) der Umfeldsensordaten (D) mittels der neuronalen Netze (10a... 10n), wobei die neuronalen Netze in verschiedenen Bearbeitungseinheiten ausgeführt werden; und - Ermitteln einer Umfeldinformation anhand der Ergebnisse der neuronalen Netze.
  10. Verfahren nach Anspruch 9, wobei die neuronalen Netze von verschiedenen Prozessorkernen und/oder von verschiedenen Threads ausgeführt werden.
  11. Verfahren nach einem der Ansprüche 9 oder 10, wobei die neuronalen Netze eine unterschiedliche Struktur aufweisen und/oder die neuronalen Netze Neuronen mit unterschiedlichen Aktivierungsfunktionen und/oder unterschiedlichen Gewichtungen aufweisen.
  12. Verfahren nach einem der Ansprüche 9 bis 11, dadurch gekennzeichnet, dass die Daten (D1... Dn) zeitlich nacheinander erfasste Umfeldsensorbilder wenigstens eines Umfeldsensors darstellen, und dass die zeitlich nacheinander erfassten Umfeldsensorbilder abwechselnd an das erste und das weitere neuronalen Netze (10a...10n) zugeführt werden.
  13. Verfahren nach einem der Ansprüche 9 bis 12, dadurch gekennzeichnet, dass die ersten und weiteren Daten (D1... Dn) jeweils einen Teilbereich eines Umfeldsensorbildes darstellen, wobei die Teilbereiche der Umfeldsensorbilder abwechselnd an das erste und das weitere neuronale Netze (10a...10n) zugeführt werden.
  14. Verfahren zum Trainieren eines neuronalen Netzes, wobei das neuronale Netz mit Testdaten trainiert wird, wobei die Testdaten nur einen Teilbereich eines Umfeldsensorbildes oder einen Teilbereich einer Serie von zeitlich nacheinander aufgenommenen Umfeldsensorbildern darstellen.
  15. Computerprogrammprodukt umfassend Befehle, die bei der Ausführung des Computerprogramms durch einen Computer diesen veranlasst, ein Verfahren nach Anspruch 9 auszuführen oder das auf einem maschinenlesbaren Speichermedium gespeichert ist.
DE102020209985.5A 2020-08-06 2020-08-06 Vorrichtung und Verfahren zum Ermitteln einer Umfeldinformation Pending DE102020209985A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102020209985.5A DE102020209985A1 (de) 2020-08-06 2020-08-06 Vorrichtung und Verfahren zum Ermitteln einer Umfeldinformation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102020209985.5A DE102020209985A1 (de) 2020-08-06 2020-08-06 Vorrichtung und Verfahren zum Ermitteln einer Umfeldinformation

Publications (1)

Publication Number Publication Date
DE102020209985A1 true DE102020209985A1 (de) 2022-02-10

Family

ID=79686392

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020209985.5A Pending DE102020209985A1 (de) 2020-08-06 2020-08-06 Vorrichtung und Verfahren zum Ermitteln einer Umfeldinformation

Country Status (1)

Country Link
DE (1) DE102020209985A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012548A1 (en) 2017-07-06 2019-01-10 GM Global Technology Operations LLC Unified deep convolutional neural net for free-space estimation, object detection and object pose estimation

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190012548A1 (en) 2017-07-06 2019-01-10 GM Global Technology Operations LLC Unified deep convolutional neural net for free-space estimation, object detection and object pose estimation

Similar Documents

Publication Publication Date Title
EP3285163A1 (de) Fehlertolerantes verfahren und vorrichtung zur steuerung einer autonomen technischen anlage mittels diversitärer trajektorenplanung
DE102017116017A1 (de) Kraftfahrzeug-Sensorvorrichtung mit mehreren Sensoreinheiten und mehreren neuronalen Netzen zum Erzeugen einer kombinierten Repräsentation einer Umgebung
EP3287902B1 (de) Fehlertolerantes verfahren und vorrichtung zur steuerung einer autonomen technischen anlage auf der basis eines konsolidierten umweltmodells
EP1020815A2 (de) Vorrichtung und Verfahren zur automatischen Diagnose eines technischen Systems mit effizienter Wiederverwendung von Informationen
DE102019124018A1 (de) Verfahren zum Optimieren von Tests von Regelsystemen für automatisierte Fahrdynamiksysteme
WO2021058223A1 (de) Verfahren zur effizienten, simulativen applikation automatisierter fahrfunktionen
DE202018104373U1 (de) Vorrichtung, die zum Betreiben eines maschinellen Lernsystems eingerichtet ist
EP3557487A1 (de) Generieren von validierungsdaten mit generativen kontradiktorischen netzwerken
EP3857437A1 (de) Verfahren und vorrichtung zur analyse eines sensordatenstroms sowie verfahren zum führen eines fahrzeugs
DE102017116016A1 (de) Kraftfahrzeug-Sensorvorrichtung mit mehreren Sensoreinheiten und einem neuronalen Netz zum Erzeugen einer integrierten Repräsentation einer Umgebung
EP3584748A1 (de) Verfahren zur erzeugung eines testdatensatzes, verfahren zum testen, verfahren zum betreiben eines systems, vorrichtung, steuerungssystem, computerprogrammprodukt, computerlesbares medium, erzeugung und verwendung
DE102018209108A1 (de) Schnelle Fehleranalyse für technische Vorrichtungen mit maschinellem Lernen
DE102020209985A1 (de) Vorrichtung und Verfahren zum Ermitteln einer Umfeldinformation
DE102020203745A1 (de) Vorrichtung, System und Verfahren zur Erkennung von Objekten in einem Umfeld eines automatisierten Fahrsystems
DE102020205962B3 (de) Vorrichtung und Verfahren zum Betreiben eines Prüfstands
DE102020202305A1 (de) Verfahren zum Erkennen einer Umgebung eines Fahrzeugs und Verfahren zum Trainieren eines Fusionsalgorithmus für ein Fahrzeugsystem
DE102017123205A1 (de) Konfiguration einer Kraftfahrzeug-Fahrerassistenzvorrichtung mit einem neuronalen Netzwerk im laufenden Betrieb
DE102017214610B4 (de) Verfahren zum Überprüfen von zumindest einer Fahrzeugfunktion sowie Prüfvorrichtung
DE102020102996A1 (de) Verfahren für einen integrierten Entwurf zur Modellierung, Simulation und Test einer Echtzeit-Architektur innerhalb einer modellbasierten System- und Softwareentwicklung
DE102017213771A1 (de) Verfahren und Vorrichtung zum Ermitteln von Anomalien in einem Kommunikationsnetzwerk
DE102005019335A1 (de) Verfahren und Vorrichtung zum Auswerten von Ereignissen aus dem Betrieb zumindest eines Fahrzeuges
DE102017116081A1 (de) Verfahren und Vorrichtung zum Konfigurieren einer Ausführungseinrichtung und zum Erkennen eines Betriebszustands derselben
DE102020205964B3 (de) Vorrichtung und Verfahren zum Betreiben eines Prüfstands
EP3847592B1 (de) Anordnung und verfahren zur steuerung einer vorrichtung
DE102022128532A1 (de) Computerimplementiertes Verfahren und Prozessorschaltung zum Trainieren eines künstlichen Neuronalen Netzwerks für eine Objektdetektion von Objekten in einer Umgebung sowie computerlesbares Speichermedium für eine Prozessorschaltung