-
Die Erfindung betrifft ein Verfahren und eine Vorrichtung zum Robustifizieren von Sensordaten gegen adversariale Störungen. Ferner betrifft die Erfindung ein Computerprogramm und ein Datenträgersignal.
-
Maschinelles Lernen, beispielsweise auf Grundlage von Neuronalen Netzen, hat großes Potenzial für eine Anwendung in modernen Fahrerassistenzsystemen und automatisiert fahrenden Kraftfahrzeugen. Auf tiefen Neuronalen Netzen basierende Funktionen verarbeiten hierbei Sensordaten (zum Beispiel von Kameras, Radar- oder Lidarsensoren), um hieraus relevante Informationen abzuleiten. Diese Informationen umfassen zum Beispiel eine Art und eine Position von Objekten in einem Umfeld des Kraftfahrzeugs, ein Verhalten der Objekte oder eine Fahrbahngeometrie oder -topologie.
-
Unter den Neuronalen Netzen haben sich insbesondere Faltungsnetze (engl. Convolutional Neural Networks, CNN) als besonders geeignet für Anwendungen in der Bildverarbeitung erwiesen. Faltungsnetze extrahieren in unüberwachter Form stufenweise verschiedene hochwertige Merkmale aus Eingangsdaten (z.B. Bilddaten). Das Faltungsnetz entwickelt hierbei während einer Trainingsphase eigenständig Merkmalskarten basierend auf Filterkanälen, die die Eingangsdaten lokal verarbeiten, um hierdurch lokale Eigenschaften abzuleiten. Diese Merkmalskarten werden dann erneut von weiteren Filterkanälen verarbeitet, die daraus höherwertigere Merkmalskarten ableiten. Auf Grundlage dieser derart aus den Eingangsdaten verdichteten Informationen leitet das tiefe Neuronale Netz schließlich seine Entscheidung ab und stellt diese als Ausgangsdaten bereit.
-
Während Faltungsnetze klassische Ansätze an funktionaler Genauigkeit übertreffen, besitzen diese jedoch auch Nachteile. So können beispielsweise auf adversarialen Störungen in den Sensordaten/Eingangsdaten basierende Angriffe dazu führen, dass trotz eines semantisch nicht veränderten Inhalts in den erfassten Sensordaten eine Fehlklassifizierung bzw. eine falsche semantische Segmentierung erfolgt.
-
Aus Chuan Guo et al., Countering Adversarial Images Using Input Transformations, axViv:1711.00117v3 [cs.CV], 25. Jan. 2018, https://arxiv.org/pdf/1711.00117.pdf, ist ein Quilting-Verfahren zum Beseitigen von adversarialen Störungen in Bilddaten bekannt.
-
Der Erfindung liegt die Aufgabe zu Grunde, ein Verfahren und ein Vorrichtung zum Robustifizieren von Sensordaten gegen adversariale Störungen, insbesondere im Hinblick auf eine Verwendung mehrerer Sensoren und eine Sensordatenfusion, zu verbessern.
-
Die Aufgabe wird erfindungsgemäß durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 8 gelöst. Vorteilhafte Ausgestaltungen der Erfindung ergeben sich aus den Unteransprüchen.
-
Insbesondere wird ein Verfahren zum Robustifizieren von Sensordaten gegen adversariale Störungen zur Verfügung gestellt, wobei Sensordaten von mindestens zwei Sensoren erhalten werden, wobei die erhaltenen Sensordaten der mindestens zwei Sensoren jeweils mittels Quilting stückweise ersetzt werden, wobei das stückweise Ersetzen derart durchgeführt wird, dass jeweils ersetzte Sensordaten unterschiedlicher Sensoren zueinander plausibel sind, und wobei die stückweise ersetzten Sensordaten ausgegeben werden.
-
Ferner wird insbesondere ein Vorrichtung zum Robustifizieren von Sensordaten gegen adversariale Störungen geschaffen, umfassend eine Recheneinrichtung, wobei die Recheneinrichtung dazu eingerichtet ist, Sensordaten von mindestens zwei Sensoren zu erhalten, die erhaltenen Sensordaten der mindestens zwei Sensoren jeweils durch Quilting stückweise zu ersetzen, und das stückweise Ersetzen derart durchzuführen, dass jeweils ersetzte Sensordaten unterschiedlicher Sensoren zueinander plausibel sind, und die stückweise ersetzten Sensordaten auszugeben.
-
Das Verfahren und die Vorrichtung ermöglichen es, bei Verwendung von mehreren, das heißt von mindestens zwei, Sensoren die von den mehreren Sensoren bereitgestellten Sensordaten gegen adversariale Störungen zu robustifizieren. Hierzu werden die Sensordaten der mindestens zwei Sensoren jeweils mittels Quilting stückweise ersetzt. Das stückweise Ersetzen erfolgt hierbei derart, dass die stückweise ersetzten Sensordaten (sensorübergreifend) zueinander plausibel sind. Insbesondere werden beim Quilting zum stückweise Ersetzen verwendete Sensordatenpatches derart ausgewählt, dass jeweils zeitlich und örtlich miteinander korrespondierende ersetzte Sensordaten der mindestens zwei Sensoren zueinander plausibel sind. Werden die derart robustifizierten Sensordaten anschließend beispielsweise einem Neuronalen Netz als Eingangsdaten zugeführt, so hat eine ursprünglich in den erhaltenen Sensordaten enthaltene adversariale Störung ihre Wirkung verloren, ohne dass ein semantischer Inhalt in den Sensordaten verändert wurde. Dadurch, dass eine Plausibilität zwischen den Sensordaten der mindestens zwei Sensoren gewahrt bleibt, wird durch das stückweise Ersetzen ein inhaltlicher Zusammenhang, insbesondere ein örtlicher und zeitlicher Zusammenhang bzw. eine Korrelation, zwischen den Sensordaten der mindestens zwei Sensoren nicht verändert. Dies ist insbesondere von Vorteil, wenn nach Durchführen des Verfahrens eine Sensordatenfusion erfolgt.
-
Das Quilting umfasst insbesondere das stückweise Ersetzen von Sensordaten, welches auch als stückweise Rekonstruktion der Sensordaten bezeichnet werden kann (im Zusammenhang mit Bilddaten wird auch der Begriff „Image-Quilting“ verwendet). Eine Menge von ersetzten Sensordaten bildet eine Rekonstruktionsdatendomäne aus bzw. ist von einer Rekonstruktionsdatendomäne umfasst. Handelt es sich beispielsweise um Bilder einer Kamera, so wird das Kamerabild in mehrere Teilausschnitte unterteilt. Meistens werden hierzu kleine, rechteckige Bildausschnitte (auch als Patches bezeichnet) definiert. Die einzelnen Teil- bzw. Bildausschnitte werden mit Teilausschnitten, nachfolgend als Sensordatenpatches bezeichnet, verglichen, die beispielsweise in einer Datenbank hinterlegt sind. Die Sensordatenpatches können auch als Datenblöcke bezeichnet werden. Die Sensordatenpatches bilden hierbei insbesondere subsymbolische Teilmengen von vorher erfassten Sensordaten gleicher Art aus, wobei die Sensordaten mit Sicherheit frei von adversarialen Störungen waren. Der Vergleich erfolgt auf Grundlage eines Abstandsmaßes, welches beispielsweise über einen euklidischen Abstand auf Bildelementvektoren definiert ist. Hierzu wird ein Teil- bzw. Bildausschnitt als Vektor linearisiert. Das Bestimmen eines Abstands erfolgt dann über eine Vektorraum norm, beispielsweise über die L2-Norm. Die Teil- bzw. Bildausschnitte werden jeweils durch den nächstliegenden bzw. ähnlichsten Sensordatenpatch aus der Datenbank ersetzt. Es kann hierbei vorgesehen sein, dass ein Mindestabstand eingehalten werden muss bzw. dass zumindest keine Identität zwischen dem Teilausschnitt aus den Sensordaten und dem Sensordatenpatch vorliegen darf. Haben die Sensordaten eine andere Form (z.B. Lidardaten) bzw. ein anderes Format, so erfolgt das stückweise Ersetzen in analoger Weise. Das stückweise Ersetzen erfolgt insbesondere für alle Teilausschnitte der erfassten Sensordaten, sodass anschließend ersetzte bzw. rekonstruierte Sensordaten vorliegen. Nach dem stückweise Ersetzen, das heißt nach dem Quilting, ist eine Wirkung der adversarialen Störungen in den ersetzten bzw. rekonstruierten Sensordaten beseitigt oder zumindest verringert.
-
Eine „Plausibilität“ von ersetzten Sensordaten soll insbesondere bedeuten, dass die ersetzten Sensordaten physikalisch zueinander plausibel sind. Insbesondere soll hierbei eine Wahrscheinlichkeit, dass die jeweils ersetzten Sensordaten in der jeweils gewählten Kombination auch unter realen Bedingungen, das heißt in der realen Welt, auftreten würden, (im Sinne z.B. einer Maximum-Likelihood) möglichst groß sein. Einfach ausgedrückt sollen die ersetzten Sensordaten der mindestens zwei Sensoren derart gewählt sein, dass die Wahrscheinlichkeit, dass diese Sensordaten in dieser Kombination auch real auftreten würden, maximiert ist. Handelt es sich beispielsweise bei den mindestens zwei Sensoren um eine Kamera und einen Lidarsensor, so bedeutet eine Plausibilität zwischen den jeweils ersetzten Sensordaten, dass ein betrachteter Bildausschnitt in den ersetzten Kameradaten und ein örtlich und zeitlich hiermit korrespondierender Teilausschnitt aus den ersetzten Lidardaten derart gewählt sind, dass die Sensordaten zueinander konsistent, das heißt physikalisch widerspruchsfrei zueinander, sind. Im vorgenannten Beispiel, in dem die mindestens zwei Sensoren eine Kamera und ein Lidarsensor sind, werden die Teilausschnitte der Sensordaten jeweils derart ersetzt, dass jeder ersetzte Bildausschnitt jeweils mit einem ersetzten Teilausschnitt der Lidardaten korrespondiert, wie dieser sich mit großer Wahrscheinlichkeit auch beim zeitgleichen Erfassen von Sensordaten der Kamera und des Lidarsensors ergeben würde.
-
Die mindestens zwei Sensoren sind insbesondere örtlich und zeitlich zueinander kalibriert, so dass die Sensordaten der mindestens zwei Sensoren örtlich und zeitlich miteinander korrespondieren bzw. gemeinsame zeitliche und örtliche Bezugspunkte aufweisen.
-
Die Sensordaten der mindestens zwei Sensoren können prinzipiell eindimensional oder mehrdimensional, insbesondere zweidimensional, sein. Beispielsweise können die Sensordaten zweidimensionale Kamerabilder einer Kamera und zweidimensionale Lidardaten eines Lidarsensors sein.
-
Eine adversariale Störung (engl. adversarial perturbation) ist insbesondere eine gezielt vorgenommene Störung der, beispielsweise in Form von Sensordaten bereitgestellten, Eingangsdaten eines Neuronalen Netzes, bei der ein semantischer Inhalt in den Eingangsdaten zwar nicht verändert wird, die Störung jedoch dazu führt, dass das Neuronale Netz ein falsches Ergebnis inferiert, das heißt beispielsweise eine Fehlklassifikation oder eine falsche semantische Segmentierung der Eingangsdaten vornimmt.
-
Ein Neuronales Netz ist insbesondere ein tiefes Neuronales Netz, insbesondere ein Faltungsnetz (engl. Convolutional Neural Network, CNN). Das Neuronale Netz wird oder ist beispielsweise auf eine bestimmte Wahrnehmungsfunktion trainiert, beispielsweise auf eine Wahrnehmung von Fußgängern oder anderen Objekten in erfassten Kamerabildern.
-
Das Verfahren wird insbesondere zyklisch wiederholt, sodass insbesondere fortlaufend ersetzte Sensordaten für erhaltene Sensordaten eines Sensordatenstroms bereitgestellt werden können.
-
Das Verfahren kann als computerimplementiertes Verfahren ausgeführt werden. Insbesondere kann das Verfahren mittels einer Datenverarbeitungseinrichtung ausgeführt werden. Die Datenverarbeitungseinrichtung umfasst insbesondere mindestens eine Recheneinrichtung und mindestens eine Speichereinrichtung.
-
Es wird insbesondere auch ein Computerprogramm geschaffen, umfassend Befehle, die bei der Ausführung des Computerprogramms durch einen Computer diesen veranlassen, die Verfahrensschritte des offenbarten Verfahrens gemäß einer beliebigen der beschriebenen Ausführungsformen auszuführen.
-
Darüber hinaus wird insbesondere auch ein Datenträgersignal geschaffen, das das vorgenannte Computerprogramm überträgt.
-
Teile der Vorrichtung, insbesondere die Recheneinrichtung, können einzeln oder zusammengefasst als eine Kombination von Hardware und Software ausgebildet sein, beispielsweise als Programmcode, der auf einem Mikrocontroller oder Mikroprozessor ausgeführt wird. Es kann jedoch auch vorgesehen sein, dass Teile einzeln oder zusammengefasst als anwendungsspezifische integrierte Schaltung (ASIC) ausgebildet sind.
-
Es kann vorgesehen sein, dass das Verfahren das Erfassen der Sensordaten mittels der mindestens zwei Sensoren umfasst.
-
In einer Ausführungsform ist vorgesehen, dass zum Quilting eine Datenbank mit aus Sensordaten der mindestens zwei Sensoren erzeugten Sensordatenpatches bereitgestellt wird, wobei die Sensordatenpatches der mindestens zwei Sensoren in der Datenbank derart miteinander verknüpft sind, dass die jeweils verknüpften Sensordatenpatches zueinander plausibel sind. Hierdurch kann eine Plausibilität zwischen ersetzten Sensordaten auf besonders effiziente Weise ermöglicht werden. Die Sensordatenpatches, die zum stückweise Ersetzen der Sensordaten der mindestens zwei Sensoren verwendet werden, können in der Datenbank beispielsweise in Form von gemeinsamen Datenbankeinträgen hinterlegt sein. So können die Sensordatenpatches für die mindestens zwei Sensoren bereits zu Vektoren zusammengefasst sein und in der Datenbank hinterlegt sein. Handelt es sich bei den Sensoren beispielsweise um eine Kamera und einen Lidarsensor, so können die Sensordatenpatches der Kamera, das heißt einzelne Bildausschnitte, die zum Ersetzen verwendet werden, mit jeweils hiermit auf physikalisch plausible Weise korrespondierenden Sensordatenpatches, das heißt Teilausschnitte aus Lidardaten, zu gemeinsamen Vektoren zusammengefasst werden. Jedem Bildelement der Kamera ist dann eine aus den Lidardaten abgeleitete Tiefeninformation zugeordnet. Werden beispielsweise Bildausschnitte von jeweils 8x8 Bildelementen (Pixeln) betrachtet, so ergibt sich bei drei Farbkanälen und einem Tiefensignal jeweils ein Vektor mit (8 × 8 × (3+1) = ) 256 Einträgen. Jeder Eintrag in der Datenbank umfasst dann einen solchen Vektor. Die Sensordaten der mindestens zwei Sensoren werden dann analog zu den hinterlegten Vektoren zusammengefasst, sodass ein Abstand zu den in der Datenbank hinterlegten Vektoren mit Hilfe eines Abstandsmaßes, beispielsweise der L2-Norm, bestimmt werden kann. Derjenige Vektor aus der Datenbank, der den geringsten Abstand zu einem zu ersetzenden Vektor aufweist, wird beim Quilting zum Ersetzen verwendet. Das Erstellen der Datenbank erfolgt insbesondere auf Grundlage von (vorher unabhängig von dem offenbarten Verfahren) erfassten Sensordaten, wobei die Sensordaten der mindestens zwei Sensoren hierbei insbesondere zeitgleich erfasst werden, wobei die Sensoren örtlich und zeitlich zueinander kalibriert sind. Hierbei werden vertrauenswürdige Sensordaten verwendet, das heißt Sensordaten, in denen mit Sicherheit keine adversarialen Störungen vorhanden sind. Beispielsweise können hierbei Trainingsdaten eines (tiefen) Neuronalen Netzes verwendet werden, dem in einer Anwendungsphase die (ersetzen) Sensordaten zugeführt werden sollen. Aus diesen vertrauenswürdigen Sensordaten werden die Sensordatenpatches erzeugt und in der Datenbank hinterlegt. Handelt es sich bei den mindestens zwei Sensoren um andere Arten von Sensoren, so ist das Vorgehen analog.
-
In einer weiterbildenden Ausführungsform ist vorgesehen, dass eine Auswahl von beim Quilting verwendeten Sensordatenpatches für die mindestens zwei Sensoren in Abhängigkeit der Sensordaten nur eines Teils der mindestens zwei Sensoren erfolgt. Insbesondere kann vorgesehen sein, dass eine Auswahl eines Sensordatenpatches zum Ersetzen von Sensordaten der mindestens zwei Sensoren in Abhängigkeit von erhaltenen Sensordaten nur eines der Sensoren erfolgt. Hierdurch kann beispielsweise eine zum Suchen benötigte Rechenleistung verringert werden, da beispielsweise ein Vergleich mit Sensordatenpatches in der Datenbank nur die Sensordaten des einen Sensors berücksichtigt. Ist der Sensordatenpatch mit dem zu den Sensordaten des einen Sensors geringsten Abstand aufgefunden, so können aufgrund der vorhandenen Verknüpfung auch die Sensordatenpatches des bzw. der anderen der mindestens zwei Sensoren dem aufgefundenen Sensordatenpatch ohne weitere Suche entnommen werden. Eine Suche in der Datenbank kann hierdurch beschleunigt werden. Im vorgenannten Beispiel, bei dem Sensordatenpatches als 8x8 Bildelemente umfassende Bildausschnitte einer Kamera mit einer zugehörige Tiefeninformation in der Datenbank hinterlegt sind, kann beispielsweise vorgesehen sein, dass ein Vergleich mit den Sensordatenpatches in der Datenbank nur für die Bildausschnitte erfolgt, wobei anschließend zum Ersetzen der Lidardaten direkt die zugehörigen Einträge im Vektor für die Lidardaten verwendet werden. Alternativ kann das Vergleichen bzw. die Suche nach dem nächstliegenden Sensordatenpatch auch auf Grundlage der Lidardaten erfolgen, wobei nach Auffinden des Sensordatenpatches der zugehörige Bildausschnitt aus den Einträgen des Vektors übernommen wird. Insgesamt kann der Vergleich bzw. die Suche in der Datenbank beschleunigt werden. Da die in der Datenbank hinterlegten Sensordatenpatches für die mindestens zwei Sensoren auf plausible Weise miteinander verknüpft sind, gibt es trotz der beschleunigten Suche keine qualitativen Einbußen beim Quilting bzw. in den ersetzten Sensordaten der mindestens zwei Sensoren. Die ersetzten Sensordaten der mindestens zwei Sensoren sind nach dem Quilting weiterhin zueinander plausibel.
-
In einer Ausführungsform ist vorgesehen, dass mindestens eine Kennzeichnungsinformation erhalten wird, wobei das stückweise Ersetzen beim Quilting zusätzlich unter Berücksichtigung der mindestens einen erhaltenen Kennzeichnungsinformation erfolgt. Eine Kennzeichnungsinformation kann auch als Tag oder Label bezeichnet werden. Hierdurch können beispielsweise die Einträge in der Datenbank, das heißt darin hinterlegte Sensordatenpatches, mit zusätzlichen Informationen markiert werden, sodass diese später schneller aufgefunden werden können. Insbesondere kann vorgesehen sein, dass die Datenbank mit Hilfe einer Hashfunktion indiziert wird, sodass eine Suche in der Datenbank beschleunigt werden kann, da eine Anzahl von Einträgen der Datenbank bereits vor einem Vergleich mit den Sensordaten der mindestens zwei Sensoren über eine Vorauswahl reduziert werden kann.
-
In einer weiterbildenden Ausführungsform ist vorgesehen, dass die erhaltene Kennzeichnungsinformation von einer Kontextinformation eines Umfelds, in dem die Sensordaten der mindestens zwei Sensoren erfasst werden oder erfasst wurden, abgeleitet wird oder abgeleitet ist. Eine Kontextinformation kann beispielsweise eine geographische Koordinate (z.B. GPS-Koordinate), eine Tages- und/oder Jahreszeit, einen Monat, einen Wochentag, eine Witterung (Sonne, Regen, Nebel, Schnee etc.) und/oder ein Verkehrskontext (Stadt, Land, Autobahn, Fußgängerzone, Landstraße, Hauptstraße, Nebenstraße etc.) umfassen. Hierdurch kann zum einen eine Qualität der stückweise ersetzten Sensordaten verbessert werden, da beim stückweise Ersetzen ein Kontext, in dem die Sensordaten erfasst wurden, berücksichtigt werden kann. Insbesondere können Sensordatenpatches markiert („getaggt“) mit mindestens einer Kontextinformation in der Datenbank hinterlegt sein. In Abhängigkeit der mindestens einen erhaltenen Kennzeichnungsinformation bzw. der mindestens einen Kontextinformation kann zum anderen vor dem Suchen in der Datenbank eine Vorauswahl getroffen werden, sodass beim Suchen nur noch Einträge bzw. Sensordatenpatches berücksichtigt werden, die eine teilweise oder vollständige Übereinstimmung mit der mindestens einen Kennzeichnungsinformation bzw. mindestens einen Kontextinformation haben. Hierdurch kann das stückweise Ersetzen beschleunigt werden.
-
In einer Ausführungsform ist vorgesehen, dass das stückweise Ersetzen der erhaltenen Sensordaten unter Berücksichtigung von jeweils zeitlich und/oder örtlich benachbarten Sensordaten der mindestens zwei Sensoren durchgeführt wird. Hierdurch kann eine Korrelation zwischen zeitlich und/oder örtlich benachbarten Sensordaten beim stückweisen Ersetzen berücksichtigt werden. Im Beispiel eines Kamerabildes kann beispielsweise berücksichtigt werden, dass einzelne Bildausschnitte des Kamerabildes hinsichtlich ihrer Eigenschaften üblicherweise eine hohe Korrelation zu (örtlich) benachbarten Bildausschnitten des Kamerabildes aufweisen. Wird eine Abfolge von Kamerabildern betrachtet, so weist ein Bildausschnitt eines Kamerabildes üblicherweise mit demselben Bildausschnitt eines (zeitlich) benachbarten Kamerabildes hinsichtlich der Eigenschaften ebenfalls eine hohe Korrelation auf. Dies wird beim stückweisen Ersetzen genutzt, um das Verfahren zu beschleunigen. Insbesondere kann vorgesehen sein, dass in der Datenbank hinterlegte Einträge bzw. Sensordatenpatches in Bezug auf eine zeitliche und/oder örtliche Nachbarschaft zueinander markiert sind. Insbesondere können die in der Datenbank als Einträge hinterlegten Sensordatenpatches hinsichtlich ihrer zeitlichen und/oder örtlichen Nachbarschaft zu anderen hinterlegten Sensordatenpatches mit diesen verknüpft sein. Hierdurch kann das Vergleichen mit den in der Datenbank hinterlegten Sensordatenpatches beschleunigt werden. Beispielsweise kann vorgesehen sein, dass nach Auffinden eines Sensordatenpatches für einen Teilausschnitt aus den Sensordaten eines der mindestens zwei Sensoren eine Vorauswahl für weitere Teilausschnitte der Sensordaten des einen der mindestens zwei Sensoren getroffen wird. Die Vorauswahl umfasst diejenigen Sensordatenpatches, die einen vorgegebenen zeitlichen und/oder örtlichen Abstand zu dem bereits ausgewählten Sensordatenpatch unterschreiten, das heißt die in einer vorgegebenen zeitlichen und/oder örtlichen Nachbarschaft zu diesem liegen.
-
In einer Ausführungsform ist vorgesehen, dass die erhaltenen Sensordaten Sensordaten sind, die für eine Funktion für das automatisierte Fahren eines Fahrzeugs und/oder für eine Fahrerassistenz des Fahrzeugs und/oder für eine Umfelderfassung erfasst und/oder ausgegeben werden. Ein Fahrzeug ist insbesondere ein Kraftfahrzeug. Prinzipiell kann das Fahrzeug jedoch auch ein anderes Land-, Luft-, Wasser-, Schienen- oder Raumfahrzeug sein.
-
Merkmale zur Ausgestaltung der Vorrichtung ergeben sich aus der Beschreibung von Ausgestaltungen des Verfahrens. Die Vorteile der Vorrichtung sind hierbei jeweils die gleichen wie bei den Ausgestaltungen des Verfahrens.
-
Weiter wird insbesondere auch ein Kraftfahrzeug geschaffen, umfassend mindestens eine Vorrichtung nach einer der beschriebenen Ausführungsformen.
-
Nachfolgend wird die Erfindung anhand bevorzugter Ausführungsbeispiele unter Bezugnahme auf die Figuren näher erläutert. Hierbei zeigen:
- 1 eine schematische Darstellung einer Ausführungsform der Vorrichtung zum Robustifizieren von Sensordaten gegen adversariale Störungen;
- 2 eine schematische Darstellung zur Verdeutlichung des Quilting (Stand der Technik);
- 3 eine schematische Darstellung zur Verdeutlichung des Quilting gemäß einer Ausführungsform des in dieser Offenbarung beschriebenen Verfahrens.
-
In 1 ist eine schematische Darstellung einer Ausführungsform der Vorrichtung 1 zum Robustifizieren von Sensordaten 20, 21 gegen adversariale Störungen gezeigt. Die Vorrichtung 1 umfasst eine Recheneinrichtung 2 und eine Speichereinrichtung 3. Die Vorrichtung 1 kann insbesondere in einem Kraftfahrzeug zum Einsatz kommen, um Eingangsdaten eines dort eingesetzten Neuronalen Netzes 50 gegen adversariale Störungen zu robustifizieren. Die Vorrichtung 1 führt das in dieser Offenbarung beschriebene Verfahren zum Robustifizieren von Sensordaten 20, 21 gegen adversariale Störungen aus.
-
Teile der Vorrichtung 1, insbesondere die Recheneinrichtung 2, können einzeln oder zusammengefasst als eine Kombination von Hardware und Software ausgebildet sein, beispielsweise als Programmcode, der auf einem Mikrocontroller oder Mikroprozessor ausgeführt wird.
-
Der Vorrichtung 1 bzw. der Recheneinrichtung 2 werden Sensordaten 20, 21 von zwei Sensoren 10, 11 zugeführt. Die Sensoren 10, 11 können beispielsweise eine Kamera und ein Lidarsensor sein.
-
Die Recheneinrichtung 2 erhält bzw. empfängt die Sensordaten 20, 21 und ersetzt die Sensordaten 20, 21 stückweise mittels Quilting. Das stückweise Ersetzen erfolgt derart, dass jeweils stückweise ersetzte Sensordaten 30, 31 der beiden Sensoren 10, 11 zueinander plausibel sind.
-
Die stückweise ersetzten Sensordaten 30, 31 werden anschließend von der Recheneinrichtung 2 ausgegeben. Insbesondere werden die stückweise ersetzten Sensordaten 30, 31 anschließend einem Neuronalen Netz 50 zugeführt.
-
Die stückweise ersetzten Sensordaten 30, 31 haben nach dem Quilting bzw. nach dem stückweisen Ersetzen das gleiche Format wie die Sensordaten 20, 21, sodass es möglich ist, die Vorrichtung 1 in bereits bestehende Anwendungen von Sensoren 10, 11 und Neuronalen Netzen 50 einzufügen und zu verwenden.
-
Insbesondere ist vorgesehen, dass zum Quilting eine Datenbank 40 mit aus Sensordaten der Sensoren 10, 11 erzeugten Sensordatenpatches 60, 61 bereitgestellt wird, wobei die Sensordatenpatches 60, 61 der Sensoren 10, 11 in der Datenbank 40 derart miteinander verknüpft sind, dass die jeweils verknüpften Sensordatenpatches 60, 61 zueinander plausibel sind. Die Datenbank 40 ist beispielsweise in der Speichereinrichtung 3 hinterlegt.
-
Die Datenbank 40 wurde hierzu vorher insbesondere mit Hilfe von vertrauenswürdigen erfassten Sensordaten der beiden Sensoren 10, 11 erstellt, indem aus den erfassten vertrauenswürdigen Sensordaten eine Vielzahl von miteinander verknüpften Sensordatenpatches erzeugt wurden. Vertrauenswürdig soll hierbei insbesondere bedeuten, dass die erfassten Sensordaten mit Sicherheit keine adversarialen Störungen beinhalten. Handelt es sich bei den vertrauenswürdigen Sensordaten beispielsweise um Kamerabilder und Lidardaten, so kann vorgesehen sein, dass ein Sensordatenpatch 60, 61 jeweils einen Teilausschnitt von 8x8 Bildelementen eines Kamerabilds und einen hiermit korrespondierenden Teilausschnitt aus den Lidardaten von 8x8 Messpunkten aufweist. Die verwendeten Sensoren bzw. die vertrauenswürdigen Sensordaten sind hierbei insbesondere zeitlich und örtlich zueinander kalibriert.
-
Zum stückweise Ersetzen beim Quilting geht die Recheneinrichtung 2 insbesondere wie folgt vor. Die Sensordaten 20, 21 werden jeweils in Teilausschnitte unterteilt. Die Teilausschnitte werden jeweils mit den in der Datenbank 40 hinterlegten Sensordatenpatches 60, 61 verglichen. Auf Grundlage eines Abstandsmaßes wird für jeden Teilausschnitt dasjenige Sensordatenpatch 60, 61 gesucht, das den geringsten Abstand zum betrachteten Teilausschnitt aufweist. Die von dem jeweiligen Teilausschnitt umfassten Sensordaten 20, 21 und die von den Sensordatenpatches 60, 61 umfassten Sensordaten werden hierzu beispielsweise jeweils als Vektoren ausgedrückt. Mittels des Abstandsmaßes, beispielsweise der L2-Norm, kann dann ein Abstand zwischen diesen Vektoren bestimmt werden und die bestimmten Abstände können miteinander verglichen werden. Ist das Sensordatenpatch 60, 61 mit dem kleinsten Abstand zu dem betrachteten Teilausschnitt gefunden, so wird der Teilausschnitt in den Sensordaten 20, 21 durch dieses ersetzt und als ersetzte Sensordaten 30, 31 bereitgestellt. Da die Sensordatenpatches 60, 61 für die beiden Sensoren 10, 11 in der Datenbank 40 miteinander verknüpft vorliegen, erfolgt das Ersetzen der Sensordaten 20, 21 der beiden Sensoren 10, 11 durch die verknüpften Sensordatenpatches 60, 61. Durch das Verwenden der verknüpften Sensordatenpatches 60, 61 sind die ersetzten Sensordaten 30, 31 der beiden Sensoren 10, 11 zueinander plausibiliert.
-
Es kann vorgesehen sein, dass eine Auswahl von beim Quilting verwendeten Sensordatenpatches 60, 61 für die beiden Sensoren 10, 11 in Abhängigkeit der Sensordaten 20, 21 nur eines Teils der Sensoren 10, 11 erfolgt. Beispielsweise kann die Auswahl nur auf Grundlage von den Sensordaten 20 des Sensors 10 erfolgen. Da die Sensordatenpatches 60, 61 miteinander verknüpft sind, kann zu einem ausgehend von den Sensordaten 20 aufgefundenen Sensordatenpatch 60 das hiermit verknüpfte Sensordatenpatch 61 für die Sensordaten 21 sofort identifiziert werden.
-
Es kann vorgesehen sein, dass das stückweise Ersetzen der erhaltenen Sensordaten 20, 21 unter Berücksichtigung von jeweils zeitlich und/oder örtlich benachbarten Sensordaten 20, 21 der mindestens zwei Sensoren 10, 11 durchgeführt wird. Insbesondere können die Sensordatenpatches 60, 61 in der Datenbank 40 in Bezug auf eine zeitliche und/oder örtliche Nachbarschaft miteinander verknüpft werden bzw. markiert werden. Hierdurch kann beim Aufsuchen eines Sensordatenpatches 60, 61 bereits eine Vorauswahl getroffen werden, bei der eine zeitliche und/oder örtliche Korrelation beim Auftreten der von den Sensordatenpatches 60, 61 abgebildeten Sensordaten 20, 21 berücksichtigt wird.
-
Es ist insbesondere vorgesehen, dass die erhaltenen Sensordaten 20, 21 Sensordaten sind, die für eine Funktion für das automatisierte Fahren eines Fahrzeugs und/oder für eine Fahrerassistenz des Fahrzeugs und/oder für eine Umfelderfassung erfasst und/oder ausgegeben werden.
-
Sind mehr als zwei Sensoren 10, 11 vorhanden, so wird das Verfahren für alle Sensoren 10, 11 in analoger Weise ausgeführt. Insbesondere sind nach Durchführen des Verfahrens die ersetzten Sensordaten 30, 31 aller Sensoren 10, 11 zueinander plausibel. Insbesondere kann vorgesehen sein, dass zusätzlich oder alternativ auch andere Sensoren als eine Kamera und ein Lidarsensor verwendet werden.
-
In 2 ist eine schematische Darstellung zur Verdeutlichung des Quilting aus dem Stand der Technik am Beispiel eines Kamerabildes 22 gezeigt. Sensordaten 20, vorliegend ein Kamerabild 22, werden in Teilausschnitte 23 zerteilt. Für jeden der Teilausschnitte 23 des Kamerabildes 22 wird im Rahmen eines Quiltingschritts 100 in einer Datenbank 40 nach einem Sensordatenpatch 60 gesucht, der in Bezug auf ein Abstandsmaß den geringsten Abstand zu dem Teilausschnitt 23 aufweist. Ein Sensordatenpatch 60 ist vorliegend ein Bildausschnitt, der die Größe der Teilausschnitte 23, das heißt dieselbe Anzahl von Bildelementen (Pixeln), aufweist. Das Abstandsmaß ist beispielsweise die L2-Norm, die auf Vektoren angewandt wird, die durch Linearisierung der Bildausschnitte erzeugt wurden. Im Quiltingschritt 100 wird dann jeder Teilausschnitt 23 durch das jeweilige Sensordatenpatch 60 mit dem jeweils hierzu kleinsten Abstand ersetzt. Es kann hierbei vorgesehen sein, dass ein Mindestabstand eingehalten werden muss. Auf diese Weise werden sämtliche Teilausschnitte 23 durch Sensordatenpatches 60 aus der Datenbank 40 ersetzt. Es entstehen ersetzte Teilausschnitte 24, die zusammengenommen die ersetzten Sensordaten 30 bzw. das ersetzte Kamerabild 25 ausbilden.
-
In 3 ist eine schematische Darstellung zur Verdeutlichung des Quilting gemäß einer Ausführungsform des in dieser Offenbarung beschriebenen Verfahrens am Beispiel von Sensordaten 20 in Form eines Kamerabildes 22 und von Sensordaten 21 in Form von Lidardaten 26 gezeigt. Das Quilting selbst erfolgt auf dieselbe Weise, wie voranstehend bereits im Zusammenhang mit der 2 beschrieben wurde. Jedoch wird das stückweise Ersetzen derart durchgeführt, dass jeweils ersetzte Sensordaten 30, 31 der Sensoren, das heißt der Kamera und des Lidarsensors, zueinander plausibel sind. Hierzu findet in dem Quiltingschritt 100 zusätzlich eine Plausibilisierung statt. Insbesondere werden im Rahmen dieses Quiltingschritts 100 Sensordatenpatches 60, 61 derart bestimmt bzw. aus der Datenbank 40 ausgewählt, dass die Sensordatenpatches 60, 61 zueinander plausibel sind. Im vorliegenden Beispiel bedeutet dies insbesondere, dass die ersetzten Teilausschnitte 24 der Sensordaten 20 der Kamera auf physikalisch plausible Weise mit den jeweils ersetzten Teilausschnitten 28 der Lidardaten 26 korrespondieren. Einfach ausgedrückt müssen die ersetzten Teilausschnitte 24, 28 bzw. das ersetzte Kamerabild 25 und die ersetzten Lidardaten 29 miteinander in Einklang stehen und dürfen sich inhaltlich bzw. physikalisch nicht widersprechen. So muss insbesondere eine in dem ersetzten Kamerabild 25 abgebildete Szene mit einem Tiefenprofil der ersetzten Lidardaten 29 auf plausible Weise zusammenpassen.
-
Hierzu ist insbesondere vorgesehen, dass die Sensordatenpatches 60, 61 bereits miteinander verknüpft in der Datenbank 40 hinterlegt sind. Beispielsweise kann die Datenbank 40 vor Ausführen des in dieser Offenbarung beschriebenen Verfahrens erstellt werden, indem Sensordatenpatches 60, 61 für beide (oder noch mehr) Sensoren gleichzeitig erzeugt werden, wobei aus zeitgleich erfassten vertrauenswürdigen Sensordaten jeweils Teilausschnitte erzeugt und jeweils gemeinsam bzw. miteinander verknüpft in der Datenbank 40 als Sensordatenpatches 60, 61 abgelegt werden. Beispielsweise können die einzelnen Teilausschnitte für beide Sensoren zusammen zu jeweils einem gemeinsamen Vektor zusammengefasst und als gemeinsamer bzw. verknüpfter Sensordatenpatch 60, 61 hinterlegt werden.
-
Es kann zusätzlich vorgesehen sein, dass mindestens eine Kennzeichnungsinformation 15 erhalten wird, wobei das stückweise Ersetzen im Quiltingschritt 100 zusätzlich unter Berücksichtigung der mindestens einen erhaltenen Kennzeichnungsinformation 15 erfolgt. Beispielsweise kann beim Suchen in der Datenbank 40 eine Vorauswahl von Sensordatenpatches 60, 61 in Abhängigkeit der erhaltenen Kennzeichnungsinformation 15 erfolgen, sodass das Suchen desjenigen Sensordatenpatches 60, 61 mit dem kleinsten Abstand beschleunigt werden kann.
-
Weiterbildend kann vorgesehen sein, dass die erhaltene Kennzeichnungsinformation 15 von einer Kontextinformation 16 eines Umfelds, in dem die Sensordaten 20, 21 der Sensoren erfasst werden oder erfasst wurden, abgeleitet wird oder abgeleitet ist. Eine Kontextinformation 16 kann beispielsweise eine geographische Koordinate (z.B. GPS-Koordinate), eine Tages- und/oder Jahreszeit, einen Monat, einen Wochentag, eine Witterung (Sonne, Regen, Nebel, Schnee etc.) und/oder ein Verkehrskontext (Stadt, Land, Autobahn, Fußgängerzone, Landstraße, Hauptstraße, Nebenstraße etc.) sein. Eine solche Kontextinformation 16 kann beispielsweise mittels mindestens eines Kontextsensors erfasst werden oder auf sonstige Weise bereitgestellt werden. In einem Fahrzeug können Kontextinformationen beispielsweise über einen Controller Area Network (CAN)-Bus bei einer Fahrzeugsteuerung abgefragt werden. Mittels der Kontextinformation 16 kann beispielsweise eine Vorauswahl aus Sensordatenpatches 60, 61 getroffen werden, sodass das Suchen des nächsten Sensordatenpatches 60, 61 beschleunigt werden kann. Hierzu ist vorgesehen, dass die Sensordatenpatches 60, 61 jeweils mit einer zugehörigen Ausprägung der Kontextinformation markiert („getaggt“) in der Datenbank 40 hinterlegt sind bzw. werden.
-
Bezugszeichenliste
-
- 1
- Vorrichtung
- 2
- Recheneinrichtung
- 3
- Speichereinrichtung
- 10
- Sensor (Kamera)
- 11
- Sensor (Lidarsensor)
- 15
- Kennzeichnungsinformation
- 16
- Kontextinformation
- 20
- Sensordaten
- 21
- Sensordaten
- 22
- Kamerabild
- 23
- Teilausschnitt
- 24
- ersetzter Teilausschnitt
- 25
- ersetztes Kamerabild
- 26
- Lidardaten
- 27
- Teilausschnitt
- 28
- ersetzter Teilausschnitt
- 29
- ersetzte Lidardaten
- 30
- ersetzte Sensordaten
- 31
- ersetzte Sensordaten
- 40
- Datenbank
- 50
- Neuronales Netz
- 60
- Sensordatenpatch
- 61
- Sensordatenpatch
- 100
- Quiltingschritt