Beschreibung
Titel:
Verfahren zur Fusion von Messdaten, die mit unterschiedlichen Messmodalitäten erfasst wurden
Die vorliegende Erfindung betrifft die Verarbeitung von Messdaten, die durch physikalische Beobachtung einer Szene in Informationen erfasst wurden, die zum Betätigen technischer Systeme, wie beispielsweise Fahrzeuge, verwendet werden können.
Hintergrund
Ein Fahrzeug, das zumindest teilweise automatisiert gefahren wird, muss auf Objekte und Ereignisse in seiner Umgebung reagieren. Zu diesem Zweck wird die Umgebung des Fahrzeugs unter Verwendung einer Vielzahl von unterschiedlichen Sensoren, wie beispielsweise Kameras, Radarsensoren und LIDAR-Sensoren, überwacht. Die von diesen unterschiedlichen Sensoren erfassten Messdaten werden häufig zu einer finalen Bestimmung, welche Objekte in der Umgebung des Fahrzeugs vorhanden sind, fusioniert. Das Dokument WO 2018/188 877 Al offenbart ein beispielhaftes Verfahren für eine solche sensorübergreifende Fusion von Messdaten.
Offenbarung der Erfindung
Die Erfindung stellt ein Verfahren zur Fusion von ersten Messdaten bereit, die durch Beobachtung einer Szene unter Verwendung einer ersten Messmodalität erfasst wurden, mit zweiten Messdaten, die durch Beobachtung derselben Szene unter Verwendung einer zweiten Messmodalität erfasst wurden. Die Szene kann beispielsweise eine Verkehrsszene sein, und ein Fahrzeug, das Sensoren trägt,
die die ersten Messdaten und die zweiten Messdaten erfassen, kann Teil dieser Verkehrsszene sein.
Im Verlauf des Verfahrens wird unter Verwendung eines ersten Merkmalsdetektors eine erste latente Darstellung von Merkmalen aus den ersten Messdaten bestimmt. Unter Verwendung eines ersten Dekodierers werden erste Informationen über diese Merkmale aus dieser ersten latenten Darstellung dekodiert.
Ebenso wird unter Verwendung eines zweiten Merkmalsdetektors eine zweite latente Darstellung von Merkmalen aus den zweiten Messdaten bestimmt. Unter Verwendung eines zweiten Dekodierers werden zweite Informationen über diese Merkmale aus dieser zweiten latenten Darstellung dekodiert. Die von dem zweiten Merkmalsdetektor bestimmten Merkmale können sich von den von dem ersten Merkmalsdetektor bestimmten Merkmalen unterscheiden.
Insbesondere können zusätzlich zu den Positionen von Merkmalen im Raum die Informationen über Merkmale, die von dem ersten Dekodierer und/oder von dem zweiten Dekodierer dekodiert werden, ferner eines oder mehreres umfassen von:
• Klassifizierungen,
• Konfidenzen von Klassifizierungen,
• Abmessungen, und
• Orientierungen von Objekten, die durch die Merkmale in der ersten bzw. zweiten latenten Darstellung dargestellt werden. Dies sind Größen, die für die Beurteilung der Szene von besonderer Bedeutung sind, um daraus Schlussfolgerungen zu ziehen. Insbesondere sind Klassifizierungen von Objekten und die Konfidenz solcher Klassifizierungen wichtig, um eine semantische Bedeutung der Szene zu bestimmen. Abmessungen und Orientierungen sind besonders wichtig, um die zukünftige Entwicklung von Verkehrssituationen vorherzusagen.
Im Verlauf des Verfahrens werden Merkmale in der ersten latenten Darstellung basierend auf Merkmalen in der zweiten latenten Darstellung gemäß einer ersten vorbestimmten Aktualisierungsfunktion modifiziert. Dies erzeugt eine aktualisierte erste latente Darstellung. Die erste Aktualisierungsfunktion ist von einem
Abstand zwischen der Position des aus der ersten latenten Darstellung dekodierten Merkmals und der Position des aus der zweiten latenten Darstellung dekodierten Merkmals abhängig.
Ebenso werden Merkmale in der zweiten latenten Darstellung basierend auf Merkmalen in der ersten latenten Darstellung gemäß einer zweiten vorbestimmten Aktualisierungsfunktion modifiziert. Dies erzeugt eine aktualisierte zweite latente Darstellung. Die zweite Aktualisierungsfunktion ist von einem Abstand zwischen der Position des aus der zweiten latenten Darstellung dekodierten Merkmals und der Position des aus der ersten latenten Darstellung dekodierten Merkmals abhängig.
Unter Verwendung des ersten Dekodierers werden aktualisierte Informationen über Merkmale aus der aktualisierten ersten latenten Darstellung dekodiert. Ebenso werden unter Verwendung des zweiten Dekodierers aktualisierte Informationen über Merkmale aus der aktualisierten zweiten latenten Darstellung dekodiert.
Mit anderen Worten, Informationen können von Merkmalen in der ersten latenten Darstellung in bestimmte andere Merkmale in der zweiten latenten Darstellung, und von Merkmalen in der zweiten latenten Darstellung in bestimmte andere Merkmale in der ersten latenten Darstellung “fließen”. Zwischen welchen Merkmalen ein solcher “Fluss” zulässig ist und wie stark oder intensiv ein solcher Fluss sein sollte, wird von einer “Nachbarschaftsbeziehung” im Raum zwischen Merkmalen, die von dem jeweiligen ersten und zweiten Dekodierer aus den ersten und zweiten latenten Darstellungen dekodiert werden, abhängig gemacht.
Die Erfinder haben herausgefunden, dass auf diese Weise, wenn ein und dieselbe Szene gleichzeitig unter Verwendung von zwei verschiedenen Messmodalitäten beobachtet wird, synergistische Effekte zwischen diesen Messmodalitäten ausgenutzt werden können. Das heißt, jede Messmodalität kann ihre spezifischen Stärken beitragen, und am Ende werden genauere Informationen aus den final aktualisierten latenten Darstellungen dekodiert.
Beispielsweise kann in einem wichtigen Anwendungsfall die erste Messmodalität Erfassen eines oder mehrerer optischer Bilder der Szene unter Verwendung mindestens einer Kamera umfassen, und die zweite Messmodalität umfasst Erfassen von LIDAR-Daten und/oder Radardaten derselben Szene. Dies ist eine besonders vorteilhafte Konfiguration zur Beobachtung der Umgebung eines Fahrzeugs. Kamerabilder sind besonders nützlich, um Klassen von Objekten zu identifizieren, aber es ist relativ schwierig, den Abstand zu einem Objekt aus einem Kamerabild zu bestimmen. Auch Dunkelheit oder widrige Wetterbedingungen können die Qualität eines Kamerabildes beeinträchtigen. LIDAR-Daten und Radardaten liefern direkt den Abstand zu einem Objekt, und Radarmessungen sind auch gegen widrige Wetterbedingungen sehr robust. Radar- und LIDAR-Daten zeigen jedoch Orte an, von denen etwas Abfragestrahlung reflektiert wird. Es ist schwieriger, die Klasse eines Objekts aus solchen Reflexen zu bestimmen, als die Klasse eines Objekts aus einem Bild dieses Objekts zu bestimmen. Mit der hier beschriebenen Verfahren können sich beide Messmodalitäten “gegenseitig helfen” und Informationen über Merkmale austauschen.
Dies kann besonders hilfreich sein, wenn eine der Messmodalitäten nicht immer gleichmäßig funktioniert. Beispielsweise kann ein Teil eines Bildes von nur geringer Qualität sein, da ein direkter Sonnenstrahl einen Teil des Bildsensors in die Sättigung gezwungen hat. Das Ergebnis ist, dass bei der Erkennung von Merkmalen aus Bildern Zweifel oder Unklarheiten auftreten. In dieser Situation können Radardaten verwendet werden, die nicht von dem Sonnenstrahl beeinflusst werden, um den Zweifel oder die Mehrdeutigkeit zu beseitigen. Wenn umgekehrt einige Radarreflexe verdeckt werden, weil die Radarstrahlen auf ein Objekt treffen, das aus einem sehr weichen Material besteht (wie beispielsweise ein Schaumstoffteil, oder ein Pelzmantel eines Fußgängers), können Bildinformationen verwendet werden, um die Lücken zu füllen.
Der erste Merkmalsdetektor kann einen Faltungsabschnitt eines ersten neuronalen Netzes umfassen, das als Klassifikatornetz gestaltet ist. Ebenso kann der zweite Merkmalsdetektor einen Faltungsabschnitt eines zweiten neuronalen Netzes umfassen, das als Klassifikatornetz gestaltet ist. Der Faltungsabschnitt umfasst mindestens eine Faltungsschicht des jeweiligen neuronalen Netzes, die
dazu gestaltet ist, ihre Eingabe durch gleitendes Anwenden eines oder mehrerer Filterkerne zu verarbeiten. Wenn ein Merkmaldetektor auf diese Weise organisiert ist, erkennt die erste Faltungsschicht wahrscheinlich sehr primitive Merkmale, und jede aufeinanderfolgende Faltungsschicht kann komplexere Merkmale erkennen, die auf den zuvor erkannten Merkmalen aufbauen. Wenn das neuronale Netz mehrere Faltungsschichten umfasst, die jeweils eine latente Darstellung erzeugen, kann der Informationsfluss zwischen der ersten latenten Darstellung und der zweiten latenten Darstellung auf eine beliebige Kombination einer Faltungsschicht des ersten neuronalen Netzes und einer Faltungsschicht des zweiten neuronalen Netzes angewendet werden. Es ist nicht einmal erforderlich, dass sich diese Schichten an demselben Ort in den jeweiligen neuronalen Netzen befinden. Beispielsweise können Informationen auch zwischen der letzten Faltungsschicht des ersten neuronalen Netzes und der vorletzten Schicht des zweiten neuronalen Netzes fließen.
Der erste Dekodierer kann einen Klassifikatorabschnitt und/oder einen Regressorabschnitt des ersten neuronalen Netzes umfassen. Ebenso kann der zweite Dekodierer einen Klassifikatorabschnitt und/oder einen Regressorabschnitt des zweiten neuronalen Netzes umfassen. Der Klassifikatorabschnitt und/oder der Regressorabschnitt umfassen mindestens eine vollständig verbundene Schicht des jeweiligen neuronalen Netzes. Auf diese Weise werden die an den jeweiligen latenten Darstellungen vorgenommenen Verbesserungen in eine verbesserte Genauigkeit der von dem Klassifikatorabschnitt und/oder Regressorabschnitt ausgegebenen Ergebnisse übersetzt.
In einer besonders vorteilhaften Ausführungsform verzweigt sich das Verfahren, nach dem Dekodieren von aktualisierten Informationen über Merkmale aus den aktualisierten ersten und zweiten Darstellungen, zurück zu einem Modifizieren von Merkmalen basierend auf den neuen Abständen gemäß den Positionen, die in den aktualisierten Informationen enthalten sind. Das heißt, der Informationsaustausch zwischen Merkmalen in der ersten latenten Darstellung und Merkmalen in der zweiten latenten Darstellung kann mehrfach iterativ durchgeführt werden. Dies kann fortgesetzt werden, bis ein vorbestimmtes Abbruchkriterium, wie beispielsweise eine feste Anzahl von Iterationen oder eine
bestimmte Konvergenz der modifizierten latenten Darstellungen, erfüllt ist. Wenn das Abbruchkriterium erfüllt ist, können die dann erhaltenen dekodierten aktualisierten Informationen über Merkmale aus den jeweiligen aktualisierten latenten Darstellungen als die finalen Erkennungen, die aus den Messdaten der jeweiligen Messmodalität abgeleitet werden, verwendet werden.
In einer weiteren besonders vorteilhaften Ausführungsform können die Merkmale in der ersten latenten Darstellung und/oder in der zweiten latenten Darstellung Informationen über eine Spur oder Trajektorie umfassen, der ein sich bewegendes Objekt folgt. Beispielsweise können die Merkmale “Spurstück”- (“Tracklet”) Informationen umfassen, die ein Stück einer Spur anzeigen, dem ein sich bewegendes Objekt folgt. Dies führt zu einem gewissen Freiheitsgrad in Bezug auf die Anforderung, dass die ersten Messdaten und die zweiten Messdaten gleichzeitig erfasst werden müssen. In Abhängigkeit von dem Messaufbau kann es schwierig sein, erste Messdaten und zweite Messdaten zu erhalten, die die Szene genau zu dem gleichen Zeitpunkt darstellen. Beispielsweise benötigt eine Kamera möglicherweise eine Belichtungszeit, die sich von der Zeit unterscheidet, die erforderlich ist, um einen Radar- oder LIDAR- Strahl zu emittieren und den reflektierten Strahl zu registrieren. Auch die Signalverarbeitungspfade, die von den jeweiligen Rohdaten zu den jeweiligen Messdaten führen, die in den jeweiligen Merkmalsdetektor gelangen, können unterschiedliche Verzögerungen einführen.
Die vorbestimmte Aktualisierungsfunktion ist abhängig von dem konkreten Anwendungsfall und dem Ziel, das mit der Fusion der Messdaten verfolgt wird. Insbesondere können der Anwendungsfall und das Ziel die Abhängigkeit der Aktualisierungsfunktion von dem Abstand zwischen Positionen von Merkmalen bestimmen. Diese Abhängigkeit ist nicht auf eine lineare oder kontinuierliche Abhängigkeit beschränkt. Beispielsweise kann diese Abhängigkeit auch insofern diskontinuierlich sein, als die Aktualisierung eines Merkmals nur von einer vorbestimmten Anzahl K von Merkmalen in der jeweiligen anderen Darstellung, deren Positionen der Position des zu aktualisierenden Merkmals am nächsten liegen, abhängig ist. Auch können, bevor die “nächsten Nachbarn” auf diese Weise bestimmt werden, Teilmengen der Merkmale in den latenten Darstellungen vorausgewählt werden. Nur die Merkmale aus diesen Teilmengen
dürfen an der gegenseitigen Aktualisierung von Merkmalen teilnehmen. Beispielsweise können nur Merkmale an der gegenseitigen Aktualisierung von Merkmalen teilnehmen, die gemäß einer im Kontext jeder Messmodalität definierten Metrik als “am vielversprechendsten” angesehen werden. Nachdem die Merkmale vorausgewählt und/oder mit ihren nächsten Nachbarn verbunden wurden, kann die Auswirkung jedes Merkmals auf die Aktualisierung eines anderen Merkmals ferner von dem konkreten Wert des Abstands zwischen den Positionen der Merkmale abhängig sein. Es ist beispielsweise auch möglich, alle K “nächste Nachbarn” eines Merkmals mit dem gleichen Gewicht für die Aktualisierung zu berücksichtigen.
Die Aktualisierungsfunktion kann beispielsweise eine parametrisierte Funktion sein, und die Parameter dieser Funktion können für ein bestimmtes Ziel optimiert sein. Beispielsweise kann das Ziel eine Maximierung einer Leistungsfunktion umfassen, mit der die final dekodierten Informationen über Merkmale ausgewertet werden. Die Aktualisierungsfunktion kann aber auch für jedes andere geeignete Ziel trainiert werden.
Die erste Aktualisierungsfunktion und die zweite Aktualisierungsfunktion können unterschiedlich sein. Wenn sich beispielsweise die Natur der Merkmale, die der erste Merkmalsdetektor aus den ersten Messdaten extrahiert, stark von der Natur der Merkmale unterscheidet, die der zweite Merkmalsdetektor aus den zweiten Messdaten extrahiert, können die Aktualisierungsfunktionen eine Art Übersetzung zwischen diesen Arten von Merkmalen enthalten. Aber selbst wenn die Natur der Merkmale, die aus den ersten und zweiten Messdaten bestimmt werden, gleich ist, kann ein Konzept von Direktionalität in den Aktualisierungsprozess eingeführt werden, indem die erste und die zweite Aktualisierungsfunktion unterschiedlich gemacht werden: Eine Änderung eines Merkmals in der ersten latenten Darstellung um eine Einheit kann eine Änderung eines verbundenen Merkmals in der zweiten latenten Darstellung um zwei Einheiten bewirken, aber eine Änderung eines Merkmals in der zweiten latenten Darstellung um eine Einheit kann nur eine Änderung eines verbundenen Merkmals in der ersten latenten Darstellung um eine Einheit bewirken.
Wenn der erste Merkmalsdetektor und der zweite Merkmalsdetektor ungefähr die gleiche Art von Merkmalen aus den jeweiligen Messdaten extrahieren, können die erste Aktualisierungsfunktion und die zweite Aktualisierungsfunktion zu einer einzigen Aktualisierungsfunktion zusammengeführt werden. Das heißt, der erste Merkmalsdetektor und der zweite Merkmalsdetektor können eine Abstraktionsschicht einführen, die Messdaten, die unter Verwendung sehr unterschiedlicher physikalischer Kontrastmechanismen erfasst wurden, auf einen gemeinsamen Nenner bringt. Beispielsweise können Bilder von einer Vielzahl von an einem Fahrzeug montierten Kameras, Radardaten, LIDAR-Daten, und möglicherweise noch weitere Arten von Messdaten, zu Merkmalen abstrahiert werden, die das Vorhandensein und die Eigenschaften von Objekten in der Umgebung des Fahrzeugs anzeigen.
In einer besonders vorteilhaften Ausführungsform werden die erste vorbestimmte Aktualisierungsfunktion und die zweite vorbestimmte Aktualisierungsfunktion in mindestens einer gemeinsamen Schicht eines graphischen neuronalen Netzes, GNN, realisiert. Aufeinanderfolgende Iterationen können dann unter Verwendung weiterer Schichten dieses GNN realisiert werden. Somit kann der gesamte Prozess des Fusionierens der Messdaten als ein einziges GNN implementiert werden. Dieses GNN unterscheidet sich von gewöhnlichen GNNs zumindest darin, dass zwischen benachbarten Schichten eine zusätzliche Verarbeitung stattfindet, um aktualisierte Positionen von Merkmalen aus den aktualisierten Merkmalen in den latenten Darstellungen zu dekodieren.
In einer weiteren besonders vorteilhaften Ausführungsform wird basierend auf den Informationen über Merkmale, die aus der final erhaltenen ersten latenten Darstellung und/oder aus der final erhaltenen zweiten latenten Darstellung dekodiert wurden, ein Betätigungssignal generiert. Ein Fahrzeug und/oder ein Qualitätssicherungssystem und/oder ein Überwachungssystem und/oder ein medizinisches Bildgebungssystem können dann mit diesem Betätigungssignal betätigt werden. Wie zuvor diskutiert, führt die Fusion der Messdaten, die mit der ersten und zweiten Messmodalität erfasst wurden, zu einer Verfeinerung der Informationen, die aus den latenten Darstellungen dekodiert wurden. Dies bewirkt wiederum, dass das Betätigungssignal genauer mit der Betriebssituation des zu betätigenden technischen Systems übereinstimmt. Die Aktion, die das
technische System als Reaktion auf die Betätigung mit diesem Betätigungssignal ausführt, ist daher in dieser Betriebssituation angemessener.
Die Erfindung stellt auch ein Verfahren zum Trainieren einer trainierbaren Aktualisierungsfunktion zur Verwendung in dem oben beschriebenen Verfahren bereit. Dieses Trainingsverfahren ist besonders nützlich, wenn die trainierbare Aktualisierungsfunktion in einem neuronalen Netz, wie beispielsweise einem graphischen neuronalen Netz, GNN, implementiert wird. Grundsätzlich ist es aber auf jede Art von Aktualisierungsfunktion, deren Verhalten durch trainierbare Parameter markiert ist, anwendbar.
Im Verlauf dieses Verfahrens werden erste Trainingsmuster von Messdaten der ersten Messmodalität bereitgestellt. Ein erster Teil dieser ersten Trainingsbeispiele wird mit Informationen zu Merkmalen markiert. Vorzugsweise wird mindestens ein zweiter Teil dieser ersten Trainingsmuster als negative Beispiele markiert, die frei von den Merkmalen sind, auf die sich die Markierungen des ersten Teils der ersten Trainingsmuster beziehen. Beispielsweise können sich die Merkmale auf Objekte beziehen, und die negativen Beispiele können Beispiele sein, die frei von diesen Objekten sind.
Ebenso werden zweite Trainingsmuster von Messdaten der zweiten Messmodalität bereitgestellt. Mindestens ein erster Teil dieser zweiten Trainingsmuster wird mit Informationen zu Merkmalen markiert. Vorzugsweise wird mindestens ein zweiter Teil der zweiten Trainingsmuster als negative Beispiele markiert, die frei von den Merkmalen sind, auf die sich die Markierungen des ersten Teils der zweiten Trainingsmuster beziehen. Beispielsweise können sich die Merkmale auf Objekte beziehen, und die negativen Beispiele können Beispiele sein, die frei von diesen Objekten sind.
Erste Trainingsmuster und zweite Trainingsmuster werden mit dem zuvor beschriebenen Verfahren fusioniert. Wie zuvor diskutiert, führt dies zu einer final aktualisierten ersten latenten Darstellung und einer final aktualisierten zweiten latenten Darstellung.
Informationen über Merkmale, die aus der final aktualisierten ersten latenten Darstellung, die aus ersten Trainingsmustern erhalten wurde, dekodiert wurden, werden mit den Markierungen verglichen, die diesen ersten Trainingsmustern zugeordnet sind. Das heißt, wenn ein erstes Trainingsmuster einer bestimmten Markierung zugeordnet wird, sollten die Informationen, die aus der final aktualisierten ersten latenten Darstellung dekodiert wurden, mit dieser Markierung übereinstimmen. Wenn das erste Trainingsbeispiel ein negatives Beispiel frei von bestimmten Merkmalen ist, sollte die Dekodierung aus der final aktualisierten ersten latenten Darstellung Nullinformationen über diese Merkmale zurückgeben. Das heißt, die Dekodierung sollte keine Informationen über Merkmale zurückgeben, die tatsächlich nicht vorhanden sind, wie beispielsweise ein Typ, Abmessungen oder eine Geschwindigkeit eines Objekts, das nicht vorhanden ist.
Ebenso werden Informationen über Merkmale, die aus der final aktualisierten zweiten latenten Darstellung, die aus zweiten Trainingsmustern erhalten wurde, dekodiert wurden, mit den Markierungen verglichen, die diesen zweiten Trainingsmustern zugeordnet sind. Das heißt, wenn ein zweites Trainingsmuster einer bestimmten Markierung zugeordnet ist, sollten die aus der final aktualisierten zweiten latenten Darstellung dekodierten Informationen mit dieser Markierung übereinstimmen. Wenn das zweite Trainingsbeispiel ein negatives Beispiel frei von bestimmten Merkmalen ist, sollte die Dekodierung aus der final aktualisierten ersten latenten Darstellung Nullinformationen über diese Merkmale zurückgeben.
Die Ergebnisse dieser Vergleiche werden mittels einer vorbestimmten Kostenfunktion bewertet. Parameter, die das Verhalten der trainierbaren Aktualisierungsfunktion charakterisieren, werden mit dem Ziel optimiert, dass die Fusion weiterer erster Trainingsmuster und zweiter Trainingsmuster zu einer besseren Bewertung durch die Kostenfunktion führt. Diese Optimierung kann fortgesetzt werden, bis ein vorbestimmtes Kriterium erfüllt ist, wie beispielsweise eine maximale Anzahl von Epochen, in denen alle ersten und zweiten Trainingsmuster einmal durchlaufen wurden, ein Schwellenwert der Bewertung durch die Kostenfunktion, oder eine Konvergenz des Trainings, die sich selbst in einer Stagnation der Bewertung durch die Kostenfunktion manifestiert.
Nachdem die Aktualisierungsfunktion auf diese Weise an Trainingsmustern mit einer ausreichenden Variabilität trainiert wurde, kann erwartet werden, dass sie die gegenseitige Aktualisierung von Merkmalen koordiniert, die aus einer großen Bandbreite von verborgenen ersten Messdaten und zweiten Messdaten erhalten werden. Neuronale Netze, wie beispielsweise graphische neuronale Netze, GNN, zur Implementierung der Aktualisierungsfunktion haben eine besonders hohe Leistungsfähigkeit, auf diese Weise zu verallgemeinern.
Die Verfahren können ganz oder teilweise computerimplementiert sein. Sie können daher in einer Software verwirklicht sein, die einen oder mehrere Computer mit der Funktionalität des Verfahrens aktualisiert. Die Erfindung stellt daher auch ein Computerprogramm mit maschinenlesbaren Anweisungen bereit, die, wenn sie von einem oder mehreren Computern ausgeführt werden, dazu führen, dass der eine oder die mehreren Computer eines der oben beschriebenen Verfahren ausführen. Die Erfindung stellt auch ein nichtflüchtiges maschinenlesbares Speichermedium und/oder ein Downloadprodukt mit dem Computerprogramm bereit. Ein Downloadprodukt ist eine Form der Auslieferung des Computerprogramms, das beispielsweise zur sofortigen Ausführung online verkauft werden kann.
Ein oder mehrere Computer können auch mit dem Computerprogramm, dem nichtflüchtigen maschinenlesbaren Speichermedium und/oder dem Downloadprodukt ausgestattet sein.
Im Folgenden werden weitere Verbesserungen der Erfindung in Kombination mit einer Beschreibung bevorzugter Ausführungsformen unter Verwendung von Figuren ausführlich beschrieben.
Bevorzugte Ausführungsformen
Die Figuren zeigen:
Figur 1 eine beispielhafte Ausführungsform des Verfahrens 100 zur Fusion von ersten Messdaten 1 und zweiten Messdaten 2;
Figur 2 eine Veranschaulichung der iterativen Entwicklung latenter Darstellungen 11, 12;
Figur 3 eine beispielhafte Ausführungsform des Verfahrens 200 zum Trainieren einer trainierbaren Aktualisierungsfunktion lc, 2c;
Figur 4 eine Veranschaulichung des Trainings mit positiven und negativen Beispielen.
Figur 1 ist ein schematisches Flussdiagramm des Verfahrens 100 zur Fusion von ersten Messdaten 1 und zweiten Messdaten 2.
In Schritt 110 wird eine erste latente Darstellung 11 aus den ersten Messdaten 1 unter Verwendung eines ersten Merkmalsdetektors la erhalten. In Schritt 120 werden erste Informationen 12 über Merkmale aus der ersten latenten Darstellung 11 unter Verwendung eines ersten Dekodierers lb dekodiert. Der erste Merkmalsdetektor la und der erste Dekodierer lb können beispielsweise einem ersten Klassifikatornetz 3 entnommen sein, das herkömmlicherweise zum Klassifizieren der Informationen 12 aus den ersten Messdaten 1 verwendet wird. Die Informationen 12 umfassen mindestens Positionen 12a von Merkmalen im Raum.
Ebenso wird in Schritt 130 eine zweite latente Darstellung 21 aus den zweiten Messdaten 2 unter Verwendung eines zweiten Merkmalsdetektors 2a erhalten. In Schritt 140 werden zweite Informationen 22 über Merkmale aus der zweiten latenten Darstellung 21 unter Verwendung eines zweiten Dekodierers 2b dekodiert. Der zweite Merkmalsdetektor 2a und der zweite Dekodierer 2b können beispielsweise einem zweiten Klassifikatornetz 4 entnommen sein, das herkömmlicherweise zum Klassifizieren der Informationen 22 aus den zweiten Messdaten 2 verwendet wird.
In Schritt 150 werden Merkmale in der ersten latenten Darstellung 11 basierend auf Merkmalen in der zweiten latenten Darstellung 21 modifiziert. Diese
Modifizierung wird durch eine erste vorbestimmte Aktualisierungsfunktion lc gesteuert. Ob die erste Aktualisierungsfunktion lc ein Merkmal in der ersten latenten Darstellung ändert, und, falls ja, in welchem Ausmaß, ist abhängig von einem Abstand zwischen der Position 12a des aus der ersten latenten Darstellung 11 dekodierten Merkmals und der Position 22a des aus der zweiten latenten Darstellung 21 dekodierten Merkmals. Das Ergebnis der Modifizierung ist eine aktualisierte erste latente Darstellung 11*.
Ebenso werden in Schritt 160 Merkmale in der zweiten latenten Darstellung 21 basierend auf Merkmalen in der ersten latenten Darstellung 11 modifiziert. Diese Modifizierung wird durch eine zweite vorbestimmte Aktualisierungsfunktion 2c gesteuert. Ob die zweite Aktualisierungsfunktion 2c ein Merkmal in der zweiten latenten Darstellung ändert, und, falls ja, in welchem Ausmaß, ist abhängig von einem Abstand zwischen der Position 22a des aus der zweiten latenten Darstellung 21 dekodierten Merkmals und der Position 12a des aus der ersten latenten Darstellung 11 dekodierten Merkmals. Das Ergebnis der Modifizierung ist eine aktualisierte zweite latente Darstellung 21*.
In Schritt 170 werden aktualisierte Informationen 12* über Merkmale aus der aktualisierten ersten latenten Darstellung 11* unter Verwendung des ersten Dekodierers lb dekodiert. Ebenso werden in Schritt 180 aktualisierte Informationen 22* über Merkmale aus der aktualisierten zweiten latenten Darstellung 21* unter Verwendung des zweiten Dekodierers 2b dekodiert. Die aktualisierten latenten Darstellungen 11*, 12* können dann gemäß den Schritten 150 und 160 iterativ weiter verfeinert werden, bis ein vorbestimmtes Abbruchkriterium erreicht ist.
Basierend auf den aktualisierten Informationen 12* und/oder 22* kann in Schritt 190 ein Betätigungssignal 190a generiert werden. In Schritt 195 können ein Fahrzeug 60 und/oder ein Qualitätssicherungssystem 70 und/oder ein Überwachungssystem 80 und/oder ein medizinisches Bildgebungssystem 90 mit diesem Betätigungssignal betätigt werden.
Figur 2 veranschaulicht die iterative Aktualisierung der latenten Darstellungen 11, 21 und der dekodierten Informationen 12, 22. In dem in Figur 2 gezeigten
Beispiel werden die Aktualisierungsfunktionen lc und 2c durch die Schichten A,
B, N eines graphischen neuronalen Netzes, GNN, realisiert.
Während der Verarbeitung in der ersten Schicht A des GNN wird die erste latente Darstellung 11 verwendet, um die zweite latente Darstellung 21 auf eine neue zweite latente Darstellung 21* zu aktualisieren, aus der aktualisierte Informationen 22* dekodiert werden können. Ebenso wird die zweite latente Darstellung 21 verwendet, um die erste latente Darstellung 11 auf eine neue erste latente Darstellung 11* zu aktualisieren, aus der aktualisierte Informationen 12* dekodiert werden können.
Während der Verarbeitung in der zweiten Schicht B des GNN wird die aktualisierte zweite latente Darstellung 22* verwendet, um die aktualisierte erste latente Darstellung 12* auf eine weiter aktualisierte erste latente Darstellung 12** zu aktualisieren, aus der weitere aktualisierte Informationen 11** dekodiert werden können. Ebenso wird die aktualisierte erste latente Darstellung 11* verwendet, um die aktualisierte zweite latente Darstellung 21* auf eine weiter aktualisierte zweite latente Darstellung 21** zu aktualisieren, aus der weitere aktualisierte Informationen 22** dekodiert werden können.
Dieser Prozess wird fortgesetzt, bis die letzte Schicht N des GNN erreicht ist.
Hier wird eine final aktualisierte erste latente Darstellung 11*** erzeugt, aus der die finalen Informationen 12*** dekodiert werden können. Ebenso wird eine final aktualisierte zweite latente Darstellung 21*** erzeugt, aus der die finalen Informationen 22*** dekodiert werden können.
Figur 3 ist ein schematisches Flussdiagramm einer beispielhaften Ausführungsform des Verfahrens 200 zum Trainieren einer trainierbaren Aktualisierungsfunktion lc, 2c zur Verwendung in dem zuvor beschriebenen Verfahren 100.
In Schritt 210 werden erste Trainingsmuster 1# der ersten Messdaten 1 der ersten Messmodalität bereitgestellt. Mindestens ein erster Teil dieser ersten Trainingsmuster 1# wird mit Informationen 5 über Merkmale markiert, die idealerweise in diesen Mustern 1# erkannt werden sollten. Optional hat
mindestens ein zweiter Teil der ersten Trainingsmuster 1# ein Markierung 6 als negative Beispiele empfangen, die frei von den Merkmalen sind, auf die sich die Markierungen 5 beziehen.
Ebenso werden in Schritt 220 zweite Trainingsmuster 2# der zweiten Messdaten 2 der zweiten Messmodalität bereitgestellt. Mindestens ein erster Teil dieser zweiten Trainingsmuster 2# wird mit Informationen 7 über Merkmale markiert, die idealerweise in diesen Beispielen 2# erkannt werden sollten. Optional hat mindestens ein zweiter Teil der zweiten Trainingsmuster 2# eine Markierung 8 als negative Beispiele empfangen, die frei von den Merkmalen sind, auf die sich die Beschriftungen 7 beziehen.
In Schritt 230 werden die ersten Trainingsmuster 1# und die zweiten Trainingsmuster 2#, die sich auf dieselbe Situation beziehen (d. h., die sich auf dieselbe Szene und denselben Zeitpunkt beziehen oder logisch in einer Folge von Spurstücken verbunden sind), unter Verwendung des Verfahrens 100, wie zuvor beschrieben, fusioniert. Dies ergibt eine final aktualisierte erste latente Darstellung 11*, aus der Informationen 12* dekodiert werden können, sowie eine final aktualisierte zweite latente Darstellung 21*, aus der Informationen 22* dekodiert werden können.
In Schritt 240 werden die ersten dekodierten Informationen 12*, die letztendlich für die erste Messmodalität abgeleitet wurden, mit den Markierungen 5, 6 der ersten Trainingsmuster 1# verglichen, was ein Ergebnis 240a ergibt. Ebenso werden in Schritt 250 die dekodierten Informationen 22*, die letztendlich für die zweite Messmodalität abgeleitet wurden, mit den Markierungen 7, 8 der zweiten Trainingsmuster 2# verglichen, was ein Ergebnis 250a ergibt. Die Ergebnisse 240a und 250a werden in Schritt 260 gemäß einer vorbestimmten Kostenfunktion bewertet. Basierend auf der Bewertung 260a werden in Schritt 270 Parameter, die das Verhalten der trainierbaren Aktualisierungsfunktion lc, 2c charakterisieren, optimiert. Das Ziel dieser Optimierung ist, dass das Fusionieren von weiteren ersten Trainingsmustern 1# und zweiten Trainingsmustern 2# zu einer besseren Bewertung 260a durch die Kostenfunktion führt. Der final trainierte Zustand der Parameter der trainierbaren Aktualisierungsfunktion lc, lc ist mit den Bezugszeichen lc* bzw. 2c* markiert.
Figur 4 veranschaulicht das Training mit positiven und negativen Beispielen. In Schritt 240 von Figur 3 werden Informationen 12*, die aus der modifizierten ersten latenten Darstellung 11* dekodiert wurden, mit Markierungen verglichen, die den jeweiligen ersten Trainingsmustern 1# zugeordnet sind. Für positive
Trainingsmuster 1#, die tatsächlich Merkmale enthalten, wird ein Markierung 5 zugewiesen, das die Informationen kodiert, die idealerweise aus diesem Beispiel 1# dekodiert werden sollten. Für negative Trainingsmuster 1#, die frei von Merkmalen sind, wird ein spezielles Markierung 6 zugewiesen, das das Fehlen von Merkmalen kodiert. Das heißt, aus einem negativen Trainingsmuster 1# sollten entweder keine Informationen 12* dekodiert werden, oder diese Informationen 12* sollten explizit das Fehlen von Merkmalen anzeigen.
Gleiches gilt für den Vergleich 250 von Informationen 22*, die aus der modifizierten zweiten latenten Darstellung 21* mit Markierungen dekodiert wurden, die den zweiten Trainingsmustern 2# zugeordnet sind. Für positive Trainingsmuster 2#, die tatsächlich Merkmale enthalten, wird ein Markierung 7 zugewiesen, das die Informationen kodiert, die idealerweise aus diesem Beispiel 2# dekodiert werden sollten. Für negative Trainingsmuster 2#, die frei von Merkmalen sind, wird eine spezielle Markierung 8 zugewiesen, das das Fehlen von Merkmalen kodiert. Das heißt, aus einer negativen Trainingsmuster 2# sollten entweder keine Informationen 22* dekodiert werden, oder diese Informationen 22* sollten explizit das Fehlen von Merkmalen anzeigen.