-
GEBIET DER TECHNIK
-
Diese Offenbarung betrifft Systeme und Verfahren zum Verbessern einer Kameraquellenverifizierung in Fahrzeugen.
-
ALLGEMEINER STAND DER TECHNIK
-
Fahrzeuge, Gebäude und Vorrichtungen, wie etwa Computer und Mobiltelefone, können mit Rechenvorrichtungen, Netzwerken, Sensoren und Steuerungen ausgestattet sein, um Daten bezüglich des Fahrzeugs, des Gebäudes oder der Umgebung der Vorrichtungen zu erfassen und/oder zu verarbeiten und das Fahrzeug, das Gebäude oder die Vorrichtung auf Grundlage der Daten zu betreiben. Sensoren, die in einem Fahrzeug, einem Gebäude oder einer Vorrichtung beinhaltet sind, können Daten bereitstellen, die Benutzer betreffen, die Zugang zu dem Fahrzeug, dem Gebäude oder der Vorrichtung erhalten möchten. Der Betrieb des Fahrzeugs, des Gebäudes oder der Vorrichtung kann sich auf ein Erfassen genauer und aktueller Daten bezüglich Objekten in einer Umgebung um das Fahrzeug, das Gebäude oder die Vorrichtung herum stützen.
-
KURZDARSTELLUNG
-
Eine Rechenvorrichtung kann zur biometrischen Autorisierung auf Grundlage eines Erfassens von Bilddaten bezüglich eines Benutzers eines Fahrzeugs, eines Gebäudes oder einer Vorrichtung von einer Kamera verwendet werden. Zum Beispiel kann eine Kamera in einem Fahrzeug für Sicherheitsanwendungen verwendet werden, indem ein Bild eines Menschen, der sich dem Fahrzeug, dem Gebäude oder der Vorrichtung nähert, erfasst wird und, nach einem Bestimmen der Identität des Menschen auf Grundlage einer biometrischen Autorisierung, die Türen des Fahrzeugs oder des Gebäudes entriegelt werden, um zu ermöglichen, dass der Bediener in das Fahrzeug einsteigt oder den Raum betritt, der in dem Gebäude beinhaltet ist. Gleichermaßen können Kameras, die im Innenraum des Fahrzeugs oder in einer Vorrichtung beinhaltet sind, ein oder mehrere Bilder eines Benutzers erfassen und, nach einem Bestimmen der Identität des Bedieners auf Grundlage einer biometrischen Autorisierung, Befehle von dem Menschen annehmen, um das Fahrzeug oder die Vorrichtung zu betreiben. Eine Kamera kann auch verwendet werden, um Daten zu erfassen, die an eine Rechenvorrichtung in einem Fahrzeug kommuniziert werden sollen, um das Fahrzeug zu betreiben. Zum Beispiel kann eine Rechenvorrichtung Objekte, wie etwa Fußgänger und andere Fahrzeuge, feststellen und das Fahrzeug derart betreiben, dass es die Objekte vermeidet. Eine Kamera kann auch verwendet werden, um einen Roboterbetrieb oder andere Vorrichtungen als Teil eines Fertigungsprozesses zu steuern, wobei der Betrieb eines Roboters oder einer anderen Fertigungsvorrichtung auf einer Bildverarbeitung basiert, die Bilder verwendet, die von einer Kamera erhalten werden.
-
Die Gesichtserkennung ist eine Art von biometrischer Authentifizierung, bei der Maße eines menschlichen Körpers verwendet werden, um eine Identität eines Benutzers zu bestimmen, um eine Zugangskontrolle durchzuführen. Ein Beispiel für eine Gesichtsidentifizierungssoftware ist Face Tracker. Face Tracker ist eine Gesichtserkennungssoftwarebibliothek, die in C ++ geschrieben ist und mit der MIT-Softwarelizenz unter facetracker.net verfügbar ist. Eine Gesichtsidentifizierungssoftware funktioniert in der Regel, indem sie physiologische Eigenschaften auf Grundlage eines erfassten Bildes mit gespeicherten physiologischen Eigenschaften von einem trainierten Modell vergleicht, das aus einem zuvor erfassten Registrierungsbild erzeugt wurde. Eine erfolgreiche Authentifizierung kann verwendet werden, um eine Tür zu entriegeln, um Zugang zu einem Fahrzeug, Gebäude oder Raum zu ermöglichen oder um Fahrzeug-, Computer- oder Mobiltelefonsteuervorgänge zu ermöglichen. Fahrzeug- und Fertigungssteuervorgänge können von Software für maschinelles Sehen abhängen, um Objekte in einem Sichtfeld einer Kamera zu identifizieren und zu lokalisieren.
-
Eine biometrische Autorisierung und fahrzeug- und bildverarbeitungsbasierte Fertigungssteuervorgänge können alle davon abhängen, dass dieselbe Kamera Daten sowohl zum Zeitpunkt der Registrierung oder der Einrichtung als auch zum Zeitpunkt der Abfrage oder des Betriebs erfasst. Die biometrische Autorisierung, zum Beispiel die Gesichtsidentifizierung, kann zuerst das Erfassen eines Registrierungsbildes eines Benutzers beinhalten. Das Registrierungsbild wird unter Verwendung von Gesichtserkennungssoftware verarbeitet, um das Registrierungsbild zu einer Liste mit Merkmalen und deren Positionen in dem Registrierungsbild zu komprimieren. Zu einem späteren Zeitpunkt, wenn sich der Benutzer dem Fahrzeug, Gebäude oder der Vorrichtung nähert, zu dem/der er Zugang erhalten möchte, wird ein zweites Bild oder Abfragebild erfasst. Das Abfragebild wird mit der Gesichtsidentifizierungssoftware verarbeitet, um das Abfragebild zu einer Liste mit Gesichtsmerkmalen und deren Positionen in dem Abfragebild zu komprimieren. Die Liste mit Merkmalen und Positionen aus dem Registrierungsbild kann abgerufen werden und die zwei Listen mit Merkmalen und Positionen können durch die Gesichtsidentifizierungssoftware verglichen werden, um zu bestimmen, ob der Benutzer in dem Abfragebild dieselbe Person wie der Benutzer in dem Registrierungsbild ist. Das Durchführen des Vergleichs unter Verwendung der komprimierten Listen mit Merkmalen verbessert die Effizienz des Vergleichs und reduziert die Rechenressourcen, die erforderlich sind, im Vergleich zum Durchführen des Vergleichs unter Verwendung von nicht komprimierten Bilddaten.
-
Ein Fahrzeugbetrieb auf Grundlage eines Verarbeitens von Bilddaten kann davon abhängen, dass dieselbe Kamera den Betrieb einrichtet und anschließend erfasste Bilddaten verarbeitet. Der Fahrzeugbetrieb kann durch Verwendung von Software für maschinelles Sehen durchgeführt werden, die Software für maschinelles Lernen, wie etwa neuronale Netzwerke, beinhaltet, um Objekte und Positionen in Bilddaten zu bestimmen, die durch in einem Fahrzeug beinhaltete Sensoren erfasst werden. Sobald ein Algorithmus für maschinelles Sehen eingerichtet ist, um mit Bilddaten von einem festgelegten Sensor ausgeführt zu werden, indem Parameter eingestellt werden, die in der Software für maschinelles Sehen beinhaltet sind, kann das Austauschen einer Kamera durch eine andere Kamera bewirken, dass die Software für maschinelles Sehen fehlerhafte Ergebnisse erzeugt, es sei denn, die Parameter werden derart geändert, dass sie für die neue Kamera passend sind. Wenn zum Beispiel die Software für maschinelles Sehen dazu programmiert ist, Fußgänger zu identifizieren, kann das Austauschen der Kamera durch eine andere Kamera bewirken, dass das System für maschinelles Sehen Fußgänger falsch identifiziert. Der Fahrzeugbetrieb kann durch Verifizieren der Kameraquelle verbessert werden. Das Verifizieren der Kameraquelle ist ein Bestimmen der Quelle eines Bildes indem bestimmt wird, ob eine Kamera zwischen Einrichtung und Betrieb durch eine andere Kamera ausgetauscht wurde.
-
Roboter- und Fertigungsvorgänge können sich auf Software für maschinelles Sehen stützen, um Objekte in einem Sichtfeld einer Kamera zu identifizieren und zu lokalisieren. Zum Beispiel kann ein Kamerasichtfeld eine Montagelinie beinhalten, auf der Objekte vorliegen, die von einem Roboter aufgenommen werden sollen. Gleichermaßen kann eine Kamera in einer Fertigungsmaschine beinhaltet sein, um montierte Teile unter Verwendung von Software für maschinelles Sehen zu prüfen. Beide dieser Anwendungen können eine Einrichtung erfordern, bei der Parameter, die in der Software für maschinelles Sehen beinhaltet sind, eingestellt werden, um zu ermöglichen, dass die Software für maschinelles Sehen Teile korrekt identifizieren, lokalisieren und prüfen kann. Das Austauschen einer Kamera durch eine andere Kamera kann erfordern, dass die Parameter neu eingestellt werden, um einen korrekten Betrieb der Software für maschinelles Sehen zu ermöglichen. Roboter- und Fertigungsvorgänge können verbessert werden, indem ein Austausch einer Kameraquelle zwischen Einrichtung und Betrieb verifiziert wird.
-
Eine Schwierigkeit bei bildbasierten Authentifizierungs- oder Verarbeitungsaufgaben kann „Spoofing“ sein. Spoofing erfolgt, wenn ein gefälschtes Bild als Eingabe für eine Authentifizierungssoftware oder Software für maschinelles Sehen verwendet wird. Gefälschte Versionen von Gesichtsmerkmalen eines autorisierten Benutzers können in einem gefälschten Bild beinhaltet sein, das durch Kombinieren von Bilddaten aus einem Bild des Benutzers erzeugt wird, das von einer anderen Kamera erhalten wurde, und so bearbeitet wurde, dass es so aussieht, als ob sich der Benutzer aktuell in einer Umgebung um ein Fahrzeug, ein Gebäude oder eine Vorrichtung herum befindet. Die bearbeiteten Bilddaten können der Rechenvorrichtung zur biometrischen Autorisierung zugeführt werden, um die Rechenvorrichtung per Spoofing derart zu täuschen, dass sie einen nicht vorhandenen Benutzer autorisiert. Gefälschte Bilder können von böswilligen Bedienern auch Systemen für maschinelles Sehen zugeführt werden, um beispielsweise Objekten in der Umgebung eines Fahrzeugs oder Roboters Schaden zuzufügen. Der sichere und genaue Betrieb von bildbasierten Rechensystemen, die biometrische Autorisierungssysteme und Systeme zum maschinellen Sehen beinhalten, kann durch eine Kameraquellenverifizierung verbessert werden. In Beispielen, in denen die Kameraquellenverifizierung bestimmt, dass die Kamera ausgetauscht wurde oder ein gefälschtes Bild erfasst wurde, kann die Rechenvorrichtung ein weiteres Verarbeiten verhindern. Zum Beispiel kann die Rechenvorrichtung verhindern, dass Bilder an Prozesse kommuniziert werden, die eine biometrische Autorisierung, einen Fahrzeugbetrieb oder maschinelles Sehen für Roboter oder eine Fertigung durchführen. Zusätzlich kann die Rechenvorrichtung eine Nachricht übertragen, die angibt, dass ein weiteres Verarbeiten verhindert wurde, da nicht verifiziert werden kann, dass die Kameraquelle korrekt ist, das heißt, dass die Kameraquelle des aktuellen Bildes dieselbe wie eine vorherige Kamera ist. Die Nachricht kann einen Diagnosefehlercode und eine Benachrichtigung an einen Benutzer über eine Mensch-Maschine-Schnittstelle beinhalten, die angibt, dass die Kameraquellenverifizierung nicht erfolgreich war.
-
In dieser Schrift erörterte Techniken können die Kameraquellenverifizierung verbessern, indem Kamerarauschwerte in einem aktuellen Bild mit Kamerarauschwerten auf Grundlage zuvor erfasster Bilder verglichen werden. Die Kameraquellenverifizierung ist eine Technik zum Identifizieren der Quelle eines Bildes durch Vergleichen einer Messung eines Kamerarauschens mit festem Muster (camera fixed pattern noise) mit einer gespeicherten Messung des Kamerarauschens mit festem Muster. Das Kamerarauschen mit festem Muster ist der zufällige Fehler in der Reaktion eines festgelegten Kamerafotorezeptors oder einer festgelegten Pixelposition auf den gleichen Lichtreiz. Messungen von statistischen Verteilungen des Kamerarauschens mit festem Muster sind wie Fingerabdrücke: keine zwei Kameras weisen die gleichen Verteilungen des Kamerarauschens mit festem Muster auf. Die Fertigungsabweichungen sind derart, dass selbst zwei Kameras der gleichen Marke und des gleichen Modells, welche die gleiche Art von Bildsensor verwenden, charakteristische Verteilungen des Rauschens mit festem Muster aufweisen, die gemessen und verglichen werden können, um zwischen den beiden Kameras zu unterscheiden. In dieser Schrift erörterte Techniken können verwendet werden, um zu bestimmen, ob Kameras zwischen dem Zeitpunkt der Registrierung oder Einrichtung und dem Zeitpunkt der Abfrage oder Verarbeitung ausgetauscht wurden. In dieser Schrift erörterte Techniken können auch bestimmen, ob einem biometrischen Autorisierungssystem oder System für maschinelles Sehen ein gefälschtes Bild zugeführt wurde.
-
In dieser Schrift erörterte Techniken verbessern die Kameraquellenverifizierung durch Verarbeiten von Bildern von einer Kamera in einer Reihe von Zonen, um zonare Erwartungswerte zu bestimmen. Zonare Erwartungswerte sind Messungen des Kamerarauschens, die an Zonen eines Bildes durchgeführt werden. Die in dieser Schrift beschriebene Kamerarauschbestimmung kann eine Kamera auf Grundlage ihres Rauschens mit festem Muster identifizieren. Das Rauschen mit festem Muster ist ein Bildrauschen, das an der gleichen Pixelposition in einem Bild auftritt. Kamerarauschen, wie in dieser Schrift beschrieben, kann Kameras, welche die gleiche Art von Sensor, die gleiche Optik und die gleiche Elektronik aufweisen, auf Grundlage von Bildern derselben Szene unterscheiden, wobei die einzigen Unterschiede zwischen Kameras Fertigungstoleranzen sein können. Kamerarauschen kann für jeden des roten, grünen und blauen Kanals eines Farbbilds bestimmt werden, oder Kamerarauschen kann auf Grundlage eines einzelnen Graustufenbilds bestimmt werden, das durch Kombinieren des roten, grünen und blauen Kanals bestimmt wird. In dieser Schrift erörterte Techniken verbessern die Bestimmung des Kamerarauschens unter Verwendung von weniger Rechenressourcen als frühere Techniken zum Durchführen einer Kameraquellenverifizierung.
-
In dieser Schrift erörterte Techniken bestimmen das Kamerarauschen, indem Abweichungen von einer intrinsischen Eigenschaft von Bilddaten, die durch eine gegebene Kamera erfasst werden, identifiziert werden. Eine intrinsische Eigenschaft der Bilddaten beinhaltet Rauschverteilungen in den Bilddaten. In dieser Schrift erörterte Techniken verwenden die Charakterisierung des Kamerarauschens, um eine binäre Klassifizierung von unmanipulierten gegenüber manipulierten Kameras zu erzeugen. Eine relevante Rauschverteilung kann zum Beispiel auf Grundlage von Werten der Fotoreaktionsungleichmäßigkeit (photo response nonuniformity - PRNU) bestimmt werden. Die PRNU kann verwendet werden, um einen erwarteten „Fingerabdruck“ des Rauschens zur Identifizierung einer festgelegten Kamera herzustellen. Während Algorithmen für maschinelles Lernen zur Fälschung optisch täuschend werden können, bleibt der „Fingerabdruck“ des Rauschens intrinsisch für die Kamera. In dieser Schrift erörterte Techniken verbessern eine biometrische Authentifizierung eines Fahrzeugs, indem eine Kameramanipulation, insbesondere eine Kameramanipulation, die ein gefälschtes Bild einer Person beinhaltet, festgestellt wird.
-
Eine weitere Technik zum Bestimmen eines „Fingerabdrucks“ des Kamerarauschens ist das Messen eines Kameradunkelstromrauschens. Das Kameradunkelstromrauschen ist ein Maß für die Strommenge, die von einem Kamerafotorezeptor in Abwesenheit jeglicher Lichtstimulation, die auf den Fotorezeptor fällt, erzeugt wird. Ein Fotorezeptor ist der Abschnitt eines Kamerasensors, der einfallendes Licht in elektrischen Strom umwandelt. Dunkelstromrauschen ist ein thermisches Rauschen, das durch Elektronen verursacht wird, die spontan innerhalb des Sensors erzeugt werden, was dadurch bewirkt wird, dass Valenzelektronen thermisch in das Leitungsband angeregt werden. Die Variation der Anzahl von Dunkelelektronen, die während einer Belichtung gesammelt werden, ist das Dunkelstromrauschen. Dunkelstromrauschen ist unabhängig von dem Signalpegel, ist jedoch abhängig von der Temperatur des Sensors. Jeder Fotorezeptor, der in einem Sensor beinhaltet ist, kann einen charakteristischen Dunkelstromrauschpegel aufweisen, der kombiniert werden kann, um eine festgelegte Kamera zu identifizieren.
-
Dunkelstromrauschdaten einer Kamera können erfasst werden, indem eine kleine Anzahl von Fotorezeptoren, in der Regel entlang einer oder mehrerer Kanten des Sensors, abgedeckt wird, um sicherzustellen, dass kein Licht auf die Fotorezeptoren fällt. Wenn ein Bild von der Kamera erfasst wird, werden die abgedeckten Fotorezeptoren in dem Bild als dunkle Pixel angezeigt. Indem ein Bild mit langer Belichtung erzeugt wird, werden ausreichend thermische Elektronen in den abgedeckten Abschnitten des Bildes erzeugt, um eine Messung des Dunkelstromrauschens zu ermöglichen. Da thermische Elektronen Poisson-Statistiken folgen, ist das Dunkelstromrauschen, das dem durch die thermischen Elektronen erzeugten Strom entspricht, die Quadratwurzel des Pixelwerts. Der durch die thermischen Elektronen erzeugte Strom ist ebenfalls eine Funktion der Temperatur, sodass die Temperatur des Sensors gemessen werden kann, um einen Temperaturfaktor zu bestimmen, der mit den Pixelwerten multipliziert werden soll, um die Temperatur auszugleichen. Die resultierenden Dunkelstromrauschwerte für die abgedeckten Pixel können kombiniert werden, um mit nachfolgend erfassten Dunkelstromrauschwerten verglichen zu werden, oder als ein Array von Pixeln beibehalten werden, um mit nachfolgend erfassten Dunkelstromrauschwerten korreliert zu werden.
-
Figurenliste
-
- 1 ist eine grafische Darstellung eines beispielhaften Fahrzeugs.
- 2 ist eine grafische Darstellung beispielhafter Bildzonen.
- 3 ist eine grafische Darstellung eines beispielhaften Bildes, das Zonen beinhaltet.
- 4 ist eine grafische Darstellung einer beispielhaften Auswahl asymmetrischer Zonen
- 5 ist ein Ablaufdiagramm eines beispielhaften Prozesses zum Bestimmen einer Kameramanipulation.
-
DETAILLIERTE BESCHREIBUNG
-
1 ist eine grafische Darstellung eines Fahrzeugs 110, das eine Rechenvorrichtung 115 und Sensoren 116 beinhaltet. Die Rechenvorrichtung (oder der Computer) 115 beinhaltet einen Prozessor und einen Speicher, wie sie bekannt sind. Ferner beinhaltet der Speicher eine oder mehrere Formen von computerlesbaren Medien und speichert Anweisungen, die durch den Prozessor ausführbar sind, um verschiedene Vorgänge, einschließlich der in dieser Schrift offenbarten, durchzuführen. Zum Beispiel kann die Rechenvorrichtung 115 eine Programmierung beinhalten, um eines oder mehrere von Bremsen, Antrieb (z. B. Beschleunigungssteuerung in dem Fahrzeug 110 durch Steuern von einem oder mehreren von einer Brennkraftmaschine, einem Elektromotor, einem Hybridmotor usw.), Lenkung, Klimaregelung, Innen- und/oder Außenleuchten usw. des Fahrzeugs zu betreiben sowie um zu bestimmen, ob und wann die Rechenvorrichtung 115 im Gegensatz zu einem menschlichen Fahrer derartige Vorgänge steuern soll.
-
Die Rechenvorrichtung 115 kann mehr als eine Rechenvorrichtung, z. B. Steuerungen oder dergleichen, die in dem Fahrzeug 110 zum Überwachen und/oder Steuern verschiedener Fahrzeugkomponenten beinhaltet sind, z.B. eine Antriebsstrangsteuerung 112, eine Bremssteuerung 113, eine Lenksteuerung 114 usw., beinhalten oder z. B. über einen Fahrzeugkommunikationsbus, wie nachfolgend genauer beschrieben, kommunikativ an diese gekoppelt sein. Die Rechenvorrichtung 115 ist im Allgemeinen zur Kommunikation in einem Fahrzeugkommunikationsnetzwerk angeordnet, das z. B. einen Bus im Fahrzeug 110, wie etwa ein Controller Area Network (CAN) oder dergleichen, beinhaltet; das Netzwerk des Fahrzeugs 110 kann zusätzlich oder alternativ drahtgebundene oder drahtlose Kommunikationsmechanismen, wie sie bekannt sind, beinhalten, z. B. Ethernet oder andere Kommunikationsprotokolle.
-
Über das Fahrzeugnetzwerk kann die Rechenvorrichtung 115 Nachrichten an verschiedene Vorrichtungen im Fahrzeug übertragen und/oder Nachrichten von den verschiedenen Vorrichtungen empfangen, z. B. an/von Steuerungen, Betätigungselementen, Sensoren usw., einschließlich der Sensoren 116. Alternativ oder zusätzlich kann in Fällen, in denen die Rechenvorrichtung 115 tatsächlich mehrere Vorrichtungen umfasst, das Fahrzeugkommunikationsnetzwerk zur Kommunikation zwischen Vorrichtungen verwendet werden, die in dieser Offenbarung als die Rechenvorrichtung 115 dargestellt sind. Ferner können, wie nachfolgend erwähnt, verschiedene Steuerungen oder Sensorelemente, wie etwa die Sensoren 116, Daten über das Fahrzeugkommunikationsnetzwerk an die Rechenvorrichtung 115 bereitstellen.
-
Des Weiteren kann die Rechenvorrichtung 115 dazu konfiguriert sein, über ein Netzwerk, das, wie nachfolgend beschrieben, Hardware, Firmware und Software beinhaltet, die es der Rechenvorrichtung 115 ermöglichen, über ein Netzwerk, wie etwa über drahtloses Internet (WI-FI®) oder Mobilfunknetzwerke, mit einem Remote-Servercomputer zu kommunizieren, durch eine Fahrzeug-Infrastruktur-Schnittstelle (vehicle-to-infrastructure interface - V-to-I-Schnittstelle) 111 mit einem Remote-Servercomputer zu kommunizieren, z.B. mit einem Cloud-Server. Die V-to-I-Schnittstelle 111 kann dementsprechend Prozessoren, Speicher, Sendeempfänger usw. beinhalten, die dazu konfiguriert sind, verschiedene drahtgebundene und/oder drahtlose Netzwerktechnologien zu nutzen, z. B. Mobilfunk, BLUETOOTH®, Ultrabreitband (Ultra-Wide Band - UWB®) und drahtgebundene und/oder drahtlose Paketnetzwerke. Die Rechenvorrichtung 115 kann zum Kommunizieren mit anderen Fahrzeugen 110 über die V-to-I-Schnittstelle 111 unter Verwendung von Fahrzeug-Fahrzeug-Netzwerken (vehicle-to-vehicle networks - V-to-V-Netzwerken) z. B. gemäß dedizierter Nahbereichsübertragung (dedicated short range communications - DSRC) und/oder dergleichen, konfiguriert sein, die z. B. ad hoc zwischen Fahrzeugen 110 in der Nähe gebildet werden oder über infrastrukturbasierte Netzwerke gebildet werden. Die Rechenvorrichtung 115 beinhaltet außerdem einen nichtflüchtigen Speicher, wie er bekannt ist. Die Rechenvorrichtung 115 kann Daten protokollieren, indem sie die Daten zum späteren Abrufen und Übertragen über das Fahrzeugkommunikationsnetzwerk und eine Fahrzeug-Infrastruktur-Schnittstelle (V-to-I-Schnittstelle) 111 an einen Servercomputer oder eine mobile Vorrichtung eines Benutzers in einem nichtflüchtigem Speicher speichert.
-
Wie bereits erwähnt, ist in Anweisungen, die in dem Speicher gespeichert sind und durch den Prozessor der Rechenvorrichtung 115 ausgeführt werden, im Allgemeinen eine Programmierung zum Betreiben einer oder mehrerer Komponenten des Fahrzeugs 110, z. B. Bremsen, Lenkung, Antrieb usw. beinhaltet. Unter Verwendung der in der Rechenvorrichtung 115 empfangenen Daten, z. B. der Sensordaten von den Sensoren 116, dem Serverrechner usw., kann die Rechenvorrichtung 115 verschiedene Bestimmungen vornehmen und/oder verschiedene Komponenten und/oder Vorgänge des Fahrzeugs 110 steuern. Die eine oder die mehreren Steuerungen 112, 113, 114 für das Fahrzeug 110 können bekannte elektronische Steuereinheiten (electronic control units - ECUs) oder dergleichen beinhalten, die als nicht einschränkende Beispiele eine oder mehrere Antriebsstrangsteuerungen 112, eine oder mehrere Bremssteuerungen 113 und eine oder mehrere Lenksteuerungen 114 beinhalten. Jede der Steuerungen 112, 113, 114 kann jeweilige Prozessoren und Speicher und ein oder mehrere Betätigungselemente beinhalten. Die Steuerungen 112, 113, 114 können mit einem Kommunikationsbus des Fahrzeugs 110 programmiert und verbunden sein, wie etwa einem Controller-Area-Network-Bus (CAN-Bus) oder einem Local-Interconnect-Network-Bus (LIN-Bus), um Anweisungen von der Rechenvorrichtung 115 zu empfangen und Betätigungselemente auf Grundlage der Anweisungen zu steuern.
-
Die Sensoren 116 können eine Vielfalt von Vorrichtungen beinhalten, die für die Bereitstellung von Daten über den Fahrzeugkommunikationsbus bekannt sind. Zum Beispiel kann ein Radar, das an einem vorderen Stoßfänger (nicht gezeigt) des Fahrzeugs 110 befestigt ist, einen Abstand vom Fahrzeug 110 zu einem nächsten Fahrzeug vor dem Fahrzeug 110 bereitstellen oder kann ein Sensor für ein globales Positionsbestimmungssystem (GPS), der in dem Fahrzeug 110 angeordnet ist, geografische Koordinaten des Fahrzeugs 110 bereitstellen. Der bzw. die durch das Radar und/oder die anderen Sensoren 116 bereitgestellte(n) Abstand bzw. Abstände und/oder die durch den GPS-Sensor bereitgestellten geografischen Koordinaten können durch die Rechenvorrichtung 115 verwendet werden, um das Fahrzeug 110 zu betreiben.
-
Das Fahrzeug 110 ist im Allgemeinen ein Landfahrzeug 110, das betrieben werden kann und das drei oder mehr Räder aufweist, z. B. ein Personenkraftwagen, ein Kleinlastwagen usw. Das Fahrzeug 110 beinhaltet einen oder mehrere Sensoren 116, die V-to-I-Schnittstelle 111, die Rechenvorrichtung 115 und eine oder mehrere Steuerungen 112, 113, 114. Die Sensoren 116 können Daten in Bezug auf das Fahrzeug 110 und die Umgebung, in der das Fahrzeug 110 betrieben wird, sammeln. Beispielsweise und nicht einschränkend können die Sensoren 116 z. B. Folgendes beinhalten: Höhenmesser, Kameras, Lidar, Radar, Ultraschallsensoren, Infrarotsensoren, Drucksensoren, Beschleunigungsmesser, Gyroskope, Temperatursensoren, Drucksensoren, Hallsensoren, optische Sensoren, Spannungssensoren, Stromsensoren, mechanische Sensoren, wie etwa Schalter, usw. Die Sensoren 116 können verwendet werden, um die Umgebung abzutasten, in der das Fahrzeug 110 betrieben wird, z. B. können die Sensoren 116 Folgendes feststellen: Phänomene, wie etwa Wetterbedingungen (Niederschlag, eine äußere Umgebungstemperatur usw.), die Neigung einer Straße, die Position einer Straße (z. B. unter Verwendung von Straßenrändern, Spurmarkierungen usw.) oder Positionen von Zielobjekten, wie etwa Nachbarfahrzeugen 110. Die Sensoren 116 können ferner verwendet werden, um Daten zu sammeln, einschließlich dynamischer Daten des Fahrzeugs 110, die sich auf Vorgänge des Fahrzeugs 110 beziehen, wie etwa eine Geschwindigkeit, eine Gierrate, einen Lenkwinkel, eine Motordrehzahl, einen Bremsdruck, einen Öldruck, den auf die Steuerungen 112, 113, 114 in dem Fahrzeug 110 angewendeten Leistungspegel, eine Konnektivität zwischen Komponenten und eine genaue und rechtzeitige Leistung von Komponenten des Fahrzeugs 110.
-
2 ist eine grafische Darstellung eines beispielhaften Bildes 200, das in Zonen Z
rc 202 unterteilt ist, wobei r die Zeile bezeichnet und c die Spalte bezeichnet, die eine Zone belegt. Die Zonen Z
rc 202 werden verwendet, um einen durchschnittlichen Zonenerwartungswert E für ein Bild 200 gemäß der nachstehenden Gleichung zu bestimmen:
-
Wobei Zei die Anzahl der Zeilen ist, Spa die Anzahl der Spalten ist, Z die Anzahl der Zonen ist, arc ein Zonenskalarkoeffizient ist und KZrc das Kamerarauschen jeder Zone Zrc 202 ist. Das Bestimmen eines durchschnittlichen Zonenerwartungswerts E anstelle eines Berechnens eines Gesamtkamerarauschwerts stellt eine größere Empfindlichkeit für lokale Unterschiede des Rauschens mit festem Muster bereit, die verwendet werden können, um eine festgelegte Kamera zu identifizieren. Die Zonenskalarkoeffizienten arc können für jede Zone Zrc 202 eingestellt werden, um Zonen Zrc 202 hervorzuheben, die eine größere Varianz des Rauschens mit festem Muster aufweisen, und Zonen weniger hervorzuheben, die geringere Varianzen des Rauschens mit festem Muster aufweisen, und dadurch die Empfindlichkeit des Zonenerwartungswerts E zu erhöhen. Die Varianz des Rauschens mit festem Muster entspricht der Varianz der Kamerarauschwerte für jede Zone.
-
Zusätzlich zum Optimieren der Leistung ermöglicht das Bestimmen eines Zonenerwartungswerts E anstelle eines Gesamtkamerarauschwerts auch eine Reduzierung der Rechenressourcen, indem eine Unterabtastung der Bilddaten ermöglicht wird. Im Vergleich zum Berechnen und der Messung des globalen Kamerarauschens erhöhte sich die Leistung des Zonenerwartungswerts E um 8 % für eine volle Auflösung, bei der alle Bildpixel in den Berechnungen beinhaltet sind, um 20 % für eine auf ein Viertel skalierte Auflösung, bei der ein Pixel auf Grundlage einer 2x2-Nachbarschaft ausgewählt oder bestimmt wird und 22 % für eine auf ein Sechzehntel skalierte Auflösung, bei der ein Pixel auf Grundlage einer 4X4-Nachbarschaft ausgewählt oder bestimmt wird Die in dieser Schrift erörterten Techniken können verbessert werden, indem Kamerarauschwerte auf Grundlage einer auf ein Viertel skalierten Auflösung oder einer auf ein Sechzehntel skalierten Auflösung anstelle einer vollen Auflösung bestimmt werden.
-
Eine Technik zum Bestimmen des Kamerarauschens ist die Berechnung der Fotoreaktionsungleichmäßigkeit (PRNU). Die PRNU für die ausgewählte Zone Z
rc 202 wird berechnet, indem zuerst ein unverzerrter Schätzer K̂ für jedes Pixel der Zone Z
rc 202 gemäß der folgenden Gleichung berechnet wird:
-
Wobei Ii ein Pixelwert des i-ten Bildes ist und Wi ein Rauschrest des i-ten Bildes ist, der bestimmt wird, indem das i-te Bild mit einem Entrauschungsfilter, wie etwa einem Wavelet-Filter oder einem Glättungsfilter, gefiltert wird, um ein gefiltertes Bild Ii (0) zu bilden und dann das gefilterte Bild Ii (0) von dem ungefilterten Bild Ii subtrahiert wird, um den Rauschrest Wi = Ii - Ii (0) zu bilden. Der unverzerrte Schätzer K̂ weist einen Mittelwert von null auf; daher können PRNU-Werte für eine Zone Zrc 202 bestimmt werden, indem der unverzerrte Schätzer K von jedem Pixelwert subtrahiert wird, wodurch PRNU-Werte auf Grundlage der Differenz zwischen dem unverzerrten Schätzer K̂ und den Pixelwerten in der Zone Zrc 202 des Bildes 200 bestimmt werden. Für die PRNU-Werte können Statistiken über die Zone Zrc 202 berechnet werden, einschließlich eines Mittelwerts, eines ersten Moments oder einer Varianz, eines zweiten Moments oder einer Schiefe und eines dritten Moments oder einer Kurtosis, was vier Zonenerwartungswerte E für eine einzelne Zone Zrc 202 eines Graustufenbilds 200 ergibt. In Beispielen, in denen das Bild 200 ein RGB-Farbbild ist, können die vier PRNU-Werte für jeden Farbkanal berechnet werden. Das Bestimmen von vier PRNU-Werten (Mittelwert, Varianz, Schiefe und Kurtosis) für jeden Kanal eines RGB-Farbbilds kann 12 PRNU-Werte für eine Zone Zrc 202 ergeben.
-
Sobald die PRNU-Werte für die Zone Zrc 202 bestimmt sind und die Zonenerwartungswerte E für jede Zone Zrc 202 bestimmt sind, können die Zonenerwartungswerte E für jede Farbe und jedes Moment mit den Zonenerwartungswerten E verglichen werden, die zuvor für eine festgelegte Kamera bestimmt wurden, um zu bestimmen, ob die Zonenerwartungswerte E innerhalb von Toleranzen, die von einem Benutzer bestimmt werden, mit zuvor bestimmten Zonenerwartungswerten E übereinstimmen. Das Abgleichen der Zonenerwartungswerte E mit jeweils zuvor bestimmten Zonenerwartungswerten E auf Grundlage eines oder mehrerer Bilder, die zuvor von derselben Kamera erfasst wurden, kann bestimmen, ob die Kamera dieselbe Kamera wie eine zuvor gemessene Kamera ist und ob das Bild manipuliert wurde. Eine Kameramanipulation kann durch Bestimmen von Veränderungen der Zonenerwartungswerte E für eine gegebene Kamera, die empirisch bestimmte Toleranzwerte überschreiten, festgestellt werden. Eine erfolgreiche Kameraquellenidentifizierung erfordert, dass die Zonenerwartungswerte E für alle vier Momente (Mittelwert, Varianz, Schiefe und Kurtosis) mit den zuvor erfassten Zonenerwartungswerten E für alle erfassten Farbkanäle (Graustufe oder RGB) innerhalb bestimmter Toleranzwerte übereinstimmen. Mittelwert, Varianz, Schiefe und Kurtosis können auch für das Kameradunkelstromrauschen bestimmt werden und die gleichen Techniken zum Vergleichen von PRNU-Werten können verwendet werden, um Kameradunkelstromrauschstatistiken zu vergleichen.
-
Zonenerwartungswerte E sind eine Technik zum Kombinieren von Kamerarauschwerten für eine Vielzahl von Zonen, welche die Empfindlichkeit gegenüber kleinen Veränderungen der Kamerarauschwerte aufrechterhält, während Verringerungen der Rechenressourcen, die zum Bestimmen einer Kameramanipulation erforderlich sind, bereitgestellt werden. Das erfolgreiche Abgleichen von Zonenerwartungswerten E mit zuvor erfassten Zonenerwartungswerten E von derselben Kamera innerhalb von benutzerdefinierten Toleranzen kann bestimmen, dass die Kamera nicht manipuliert wurde und das Bild keine Fälschung ist. Die Toleranzwerte können empirisch bestimmt werden, indem eine Vielzahl von Zonenerwartungswerten E für eine Vielzahl von Bildern erfasst und die Verteilung von Zonenerwartungswerten E gemessen wird. Toleranzwerte können zum Beispiel auf eine Standardabweichung von den Mittelwerten festgelegt werden. In Beispielen, in denen das Kameradunkelstromrauschen verwendet wird, um Zonenerwartungswerte E zu bestimmen, würde die Zone mit den Abschnitten des Bildsensors zusammenfallen, die verdeckt wurden, um die Messung des Dunkelstromrauschens zu ermöglichen.
-
Die Zonenerwartungswerte E für die Zonen Zrc 202 können auch mit zuvor bestimmten Zonenerwartungswerten E verglichen werden, wobei die Zonenerwartungswerte E in ein neuronales Netzwerk eingeben werden, das zuvor unter Verwendung einer Vielzahl von Zonenerwartungswerten E aus einer Vielzahl von Bildern von der Kamera trainiert wurde, um eine Konfidenzwertvorhersage zu bestimmen. Die Konfidenzwertvorhersage gibt an, wie gut die aktuellen Zonenerwartungswerte E für eine Zone Zrc 202 mit den Zonenerwartungswerten E übereinstimmen, die zuvor für die Kamera bestimmt wurden. Es kann bestimmt werden, dass eine Kamera manipuliert wurde, wenn die Konfidenzwertvorhersage unter einem von einem Benutzer bestimmten Schwellenwert liegt. Der Wert des Schwellenwerts kann empirisch bestimmt werden, indem Zonenerwartungswerte E eine Vielzahl von Malen für dieselbe Kamera berechnet und die Varianz in den Zonenerwartungswerten E bestimmt wird. Das Vergleichen von Zonenerwartungswerten E unter Verwendung der Konfidenzwertvorhersage kann die Genauigkeit des Verifizierens der Kameraidentität auf Kosten eines Erhöhens der Rechenressourcen, die zum Feststellen gefälschter Bilder erforderlich sind, erhöhen.
-
3 ist eine grafische Darstellung eines beispielhaften Bildes 300, das in Zonen Zrc 302 unterteilt ist. Die Vorteile eines Berechnens des PRNU oder Kameradunkelstromrauschens, wie vorstehend in Bezug auf 2 beschrieben, bestehen darin, dass PRNU-Werte oder Kameradunkelstromrauschwerte bestimmt werden können, ohne dass einer Kamera ein oder mehrere vorbestimmte Ziele präsentiert werden müssen, wie etwa sinusförmige Muster bei vorbestimmten Beleuchtungspegeln, um zu berechnen Kamerarauschwerte können zum Beispiel unter Verwendung des Bildes 300 berechnet werden, da die Gleichung trotz Objekten im Sichtfeld einen Mittelwert von null aufweist. Eine Berechnung von Kamerarauschwerten für Zonen Zrc 302 kann ein Erfassen einer Vielzahl von Einzelbildern von Bilddaten, welche dieselben Objekte an denselben Positionen beinhalten, und ein Berechnen von Kamerarauschwerten für jede Zone Zrc 302 in dem Bild 300 beinhalten. Die Kamerarauschwerte können kombiniert werden, um einen Zonenerwartungswert E zu bilden, mit einer Vorlage abgeglichen werden, um eine Spitzenkorrelationsenergie zu bestimmen, oder mit einem neuronalen Netzwerk verarbeitet werden, um eine Konfidenzwertvorhersage zu bestimmen.
-
4 ist eine grafische Darstellung eines Bildes 400, das in Zonen Zrc 402 unterteilt ist. Nicht alle Zonen Zrc 402 sind bei dem Bestimmen einer Kameramanipulation gleichermaßen effektiv, sodass eine Auswahl asymmetrischer Zonen Zrc 402 verwendet werden kann, um eine Teilmenge von Zonen Zrc 402 auszuwählen, die bei der Berechnung von Kamerarauschwerten verwendet werden soll. In einigen Beispielen weisen Zonen Zrc 402 nahe dem Rand des Bildes 400 ein höheres Rauschen mit festem Muster auf als Zonen Zrc 402 nahe der Mitte des Bildes 400. Außerdem entsprechen in Beispielen, in denen Dunkelstromrauschen verwendet wird, die Zonen Zrc 402 nahe dem Rand des Bildes 400 verdeckten Bereichen des Bildsensors. In einem Beispiel können die Skalarkoeffizienten arc eingestellt werden, um Zonen Zrc 402 nahe den Kanten des Bildes 400 eine höhere Gewichtung zu verleihen und Zonen Zrc 402 auf Grundlage von Abweichungen der Kamerarauschwerte eine geringere Gewichtung zu verleihen. Zonen mit höheren Kamerarauschwerten können durch Erhöhen des Skalarkoeffizienten arc eine höhere Gewichtung verliehen werden und Zonen mit niedrigerem Kamerarauschwert können durch Verringern der Skalarkoeffizienten arc eine niedrigere Gewichtung verliehen werden. In 4 sind die Zonen Zrc 402 in der Mitte des Bildes 400 auf null gesetzt und es werden keine PRNU-Werte für diese Zonen Zrc 402 berechnet. Ein Auswählen einer Teilmenge von Zonen auf Grundlage einer Variation des Bildrauschens mit festem Muster kann die Empfindlichkeit erhöhen und die Rechenressourcen verringern, die zum Bestimmen einer Kameramanipulation erforderlich sind. In dieser Schrift beschriebene Techniken verbessern die Kameraquellenidentifizierung durch Auswählen von Zonen Zrc 402, die einer starken Variation des Bildrauschens mit festem Muster entsprechen. Kamerarauschwerte, die Zonen Zrc 402 mit hoher Variation entsprechen, können zum Beispiel mit Skalarkoeffizienten multipliziert werden, um die Zonen auszuwählen.
-
Die Auswahl asymmetrischer Zonen Z
rc 402 kann auf andere Weise durchgeführt werden, zum Beispiel kann eine Hauptkomponentenanalyse verwendet werden, um die Zonen Z
rc 402 zu bestimmen, die am wahrscheinlichsten eine Kameramanipulation angeben. Bei der Hauptkomponentenanalyse wird davon ausgegangen, dass jedes Einzelbild oder Bild einer Reihe von N Bildern F eine Zufallsvariable ist, die M Pixel beinhaltet:
-
Es wird davon ausgegangen, dass jedes Einzelbild F
t Pixel beinhaltet, die dem gleichen Abschnitt einer Szene entsprechen, was bedeutet, dass alle Unterschiede zwischen entsprechenden Pixeln der Einzelbilder F auf Kamerarauschen zurückzuführen sind. Das Rauschen kann analysiert werden, indem eine Kovarianzmatrix S berechnet wird, die den Differenzen zwischen Pixeln in den Einzelbildern F entspricht. Die Kovarianzmatrix S kann unter Verwendung von Eigenvektoren diagonalisiert werden, um Hauptkomponenten Y
α gemäß der folgenden Gleichung zu bilden:
-
Wobei et,α die t-te Komponente des Eigenvektors α ist. Die Hauptkomponenten können in drei Gruppen unterteilt werden: Rauschen mit festem Muster (fixed pattern noise - FPN), Interaktionsrauschen (interaction noise - IN) und zeitliches Rauschen (temporal noise -TN). FPN entspricht den Bilddaten, die in allen Einzelbildern F auftreten, d. h. dem Bild der Szene im Sichtfeld des Sensors. IN entspricht einem Bildartefakt, das durch den Kameradatenerfassungsprozess in das Bild eingebracht wird, und korreliert mit Bereichen der Einzelbilder F, in denen die Pixeldaten am meisten variieren. Zum Beispiel bringen Kameras, die Bilddaten komprimieren, bevor sie die Bilddaten zur Dekompression an eine Rechenvorrichtung 115 übertragen, Rauschen mit einem Muster in Bezug auf den Kompressions-/ Dekompressionsprozess ein. TN ist ein zufälliges Bildrauschen, das elektronischem Rauschen und Photonenquantenrauschen entspricht.
-
Eine Berechnung der Hauptkomponenten Yα erzeugt die Hauptkomponenten Yα in der Reihenfolge, in der die Komponenten die Variation in den Einzelbildern F ausmachen. FTN macht den Großteil der Variation der Pixelwerte aus, gefolgt von IN-Komponenten und schließlich TN-Komponenten. Die Varianz der IN-Komponenten und der TN-Komponenten kann durch Messen der Differenzen im Quadrat zwischen den Werten von IN und TN für jedes Pixel in der Reihe von N Einzelbildern in Bezug auf den Mittelwert und die Varianzen bestimmt werden, die gemittelt werden, um Gesamt-IN- und Gesamt-TN-Werte für die Reihe von Bildern und somit die Kamera zu erhalten. Die IN- und TN-Werte können über die Zonen Zrc 302, 402 gemittelt und mit IN- und TN-Werten verglichen werden, die zuvor für die Kamera erhalten wurden, um zu bestimmen, ob die Kamera manipuliert wurde. Jede Veränderung der IN- oder TN-Werte, die größer als eine empirisch bestimmte Toleranz ist, gibt an, dass die Kamera möglicherweise manipuliert wurde, und daher sollten alle von der Kamera erfassten Bilddaten für eine biometrische Autorisierung oder einen autonomen Fahrzeugbetrieb nicht als vertrauenswürdig eingestuft werden.
-
In dieser Schrift erörterte Techniken bezüglich der Kameraquellenverifizierung können einem Reinforcement Learning unterzogen werden. Reinforcement Learning wird durchgeführt, indem Statistiken bezüglich der Anzahl von korrekten und falschen Ergebnissen, die durch ein sich in der Verwendung befindendes Kameraquellenverifizierungssystem erzielt werden, geführt werden und die statistischen Ergebnisse verwendet werden, um das Kameraquellenverifizierungssystem erneut zu trainieren. Nehmen wir zum Beispiel an, dass ein Kameraquellenverifizierungssystem als Eingabe für ein biometrisches Autorisierungssystem verwendet wird, das verwendet wird, um ein Fahrzeug, ein Gebäude oder eine Vorrichtung zu entriegeln, wenn sich ein gültiger Benutzer nähert. Ein gültiger Benutzer ist ein Benutzer mit einer vorher vereinbarten Berechtigung, das Fahrzeug, das Gebäude oder die Vorrichtung zu verwenden. In einem Beispiel, in dem das Kameraquellenverifizierungssystem daran scheitert, eine Kameraquelle korrekt zu authentifizieren und das Fahrzeug zu entriegeln, kann der Benutzer gezwungen sein, das Fahrzeug manuell mit einem Schlüssel oder Funkschlüssel zu entriegeln oder ein 2-Faktor-Autorisierungssystem zu verwenden, wie etwa das Eingeben eines an eine Mobiltelefonnummer gesendeten Codes. Wenn ein Benutzer gezwungen ist, das Fahrzeug manuell zu entriegeln, kann das Kameraquellenverifizierungssystem Daten bezüglich der inkorrekten Kameraquellendaten, die das Bild des Benutzers beinhalten, speichern.
-
Ein Bestimmen, was mit Daten in Bezug auf die inkorrekte Kameraquellenverifizierung zu tun ist, kann auf einem Belohnungssystem basieren. Ein Belohnungssystem trainiert das Kameraquellenverifizierungssystem, das den Kameraquellenverifizierungsdaten entspricht, in Abhängigkeit von dem Ergebnis des Scheiterns der Authentifizierung erneut. Falls der potentielle Benutzer daran scheitert, Zugang zum Fahrzeug zu erhalten, wird davon ausgegangen, dass der gescheiterte Versuch ein versuchter Spoof war, und die Daten werden an einen Trainingsdatensatz von wahrscheinlichen Spoofdaten angefügt. Falls der potentielle Benutzer unter Verwendung eines der manuellen Ansätze, zum Beispiel Schlüssel, Funkschlüssel oder 2-Faktor-Autorisierung, Zugang erhält, werden die Daten an einen Trainingsdatensatz von falsch negativen Ergebnissen angefügt, der im Trainingsprozess korrigiert werden soll. Das Authentifizierungssystem kann auf Grundlage des aktualisierten Trainingsdatensatzes regelmäßig erneut trainiert werden oder wenn die Anzahl der neuen Kameraquellenverifizierungsdatensätze, die zu dem Trainingsdatensatz hinzugefügt werden, einen vom Benutzer bestimmten Schwellenwert überschreitet. Das erneute Trainieren kann sowohl auf deterministische Authentifizierungssysteme auf Grundlage von Gauß-Parametern als auch auf Systeme, die auf tiefen neuronalen Netzwerken basieren, angewendet werden.
-
Daten bezüglich des Scheiterns der Verifizierung einer Kameraquelle können unter einer Vielzahl von Fahrzeugen föderal zusammengeführt oder geteilt werden. Die Daten bezüglich des Scheiterns der Verifizierung einer Kameraquelle können auf einen Cloud-basierten Server hochgeladen werden, der ein zentrales Repository von Trainingsdatensätzen beinhaltet. Die hochgeladenen Kameraquellenverifizierungsdatensätze und die entsprechenden Ergebnisse können in aktualisierten Trainingsdatensätzen zusammengefasst werden und Ergebnisse des erneuten Trainings auf Grundlage der neuen Daten können mit Ergebnissen für das vorherige Training verglichen werden. Falls der neue Trainingsdatensatz die Leistung verbessert, kann das neue trainierte Modell im Pushverfahren auf Fahrzeuge, die das Kameraquellenverifizierungssystem verwenden, übertragen oder darauf heruntergeladen werden. Es ist zu beachten, dass keine persönlichen Daten bezüglich der Identitäten der Benutzer auf die Cloud-basierten Server hochgeladen werden müssen, sondern nur Kameraquellenverifizierungsdatensätze und Ergebnisse. Durch das föderale Zusammenführen neuer trainierter Modelle auf Grundlage von Trainingsdaten, die von einer Vielzahl von Positionen hochgeladen werden, kann die Leistung eines Kameraquellenverifizierungssystems über die Lebensdauer des Systems kontinuierlich verbessert werden.
-
5 ist eine grafische Darstellung eines Ablaufdiagramms, das in Bezug auf 1-4 beschrieben ist, von einem Prozess 500 zum Bestimmen, dass eine Quelle der Kamera eine von derselben Kamera oder einer unbekannten Kamera ist. Der Prozess 500 kann durch einen Prozessor einer Rechenvorrichtung, wie etwa einer Rechenvorrichtung 115, umgesetzt werden, der zum Beispiel Informationen von Sensoren als Eingabe verwendet und Befehle ausführt und Objektinformationen ausgibt. Der Prozess 500 beinhaltet mehrere Blöcke, die in der veranschaulichten Reihenfolge ausgeführt werden können. Der Prozess 500 könnte alternativ oder zusätzlich weniger Blöcke beinhalten oder kann beinhalten, dass die Blöcke in anderen Reihenfolgen ausgeführt werden.
-
Der Prozess 500 beginnt bei Block 502, wo eine Rechenvorrichtung 115 ein oder mehrere erste Bilder mit einer ersten Kamera erfasst. Wie vorstehend erörtert, erfordern diese Bilder keine Präsentation eines vorbestimmten Musters oder einer vorbestimmten Beleuchtung.
-
Bei Block 504 unterteilt die Rechenvorrichtung 115 die ersten Bilder in Zonen Zrc. Die Zonen Zrc können symmetrisch sein und die gesamten ersten Bilder abdecken, wie in 2 und 3 veranschaulicht, oder die Zonen Zrc können asymmetrisch sein, wie in 4 gezeigt.
-
Bei Block 506 berechnet die Rechenvorrichtung 115 einen Zonenerwartungswert E für die ersten Bilder auf Grundlage von PRNU-Mittelwerten für jede Zone Zrc. Die Rechenvorrichtung kann auch Momente von Varianz, Schiefe und Kurtosis für die Pixel eines oder mehrerer Graustufenbilder oder für jeden von einem roten, grünen und blauen Farbkanal eines oder mehrerer RGB-Farbbilder berechnen.
-
Bei Block 508 vergleicht die Rechenvorrichtung 115 die Zonenerwartungswerte E für die ersten Bilder mit zuvor erfassten Zonenerwartungswerten E, die durch eine vorherige Kamera erfasst wurden. Wenn die Zonenerwartungswerte E für die ersten Bilder mit den zuvor erfassten Zonenerwartungswerten E innerhalb entsprechender Toleranzwerte übereinstimmen, geht der Prozess 500 zu Block 510 über. Wenn der Zonenerwartungswert E für die ersten Bilder nicht mit dem zuvor erfassten Zonenerwartungswert E innerhalb eines Toleranzwertes übereinstimmt, geht der Prozess 500 zu Block 512 über. Der Vergleich kann auch an mehreren Zonenerwartungswerten E durchgeführt werden, die dem Mittelwert, der Varianz, der Schiefe und der Kurtosis eines roten, grünen und blauen Farbkanals entsprechen. Der Vergleich kann auch durchgeführt werden, indem die Spitzenkorrelationsenergie unter Verwendung eines Vorlagenabgleichs berechnet wird oder eine Konfidenzwertvorhersage unter Verwendung eines neuronalen Netzwerks berechnet wird, um den Mittelwert, die Varianz, die Schiefe und die Kurtosis eines roten, grünen und blauen Farbkanals zu vergleichen.
-
Bei Block 510 wurde bestimmt, dass die ersten Bilder mit den zuvor erfassten Bildern übereinstimmen, und es wird bestimmt, dass die erste Kamera dieselbe Kamera wie die vorherige Kamera ist, und dass das Bild nicht gefälscht ist. Bilder von der ersten Kamera können durch die Rechenvorrichtung 115 ausgegeben werden, z. B. zur biometrischen Authentifizierung, um Zugang zu einem Fahrzeug, einem Gebäude oder einer Vorrichtung bereitzustellen. Zum Beispiel kann die Rechenvorrichtung 115 in dem Fahrzeug 110 eine biometrische Authentifizierungssoftware beinhalten, die ein von Sensoren 116 empfangenes Bild verarbeitet, um eine Identität eines Menschen zu bestimmen, um den Zugang zu dem Fahrzeug zu gewähren oder zu verweigern. Bilder von der ersten Kamera können auch an eine Rechenvorrichtung kommuniziert werden, die Software für maschinelles Sehen ausführt, die zum Betreiben eines Fahrzeugs, eines Roboters oder eines Fertigungsprozesses verwendet werden kann. Die Kameraquellenverifizierung, wie sie durch den Prozess 500 durchgeführt wird, stellt ein Spoofing eines biometrischen Authentifizierungsprozesses durch Einsetzen eines Bildes oder eines Teils eines Bildes eines menschlichen Gesichts, das von einem anderen Sensor möglicherweise zu einem anderen Zeitpunkt erfasst wurde, fest und verhindert dieses. Bei Block 510 können ein oder mehrere Bilder von einer Kamera an einen biometrischen Authentifizierungsprozess ausgegeben werden, der Zugang zu einem Fahrzeug, einem Gebäude, das einen Raum oder einen anderen Bereich beinhaltet, gewährt oder Zugriff auf einen Computer oder ein Mobiltelefon gewährt. Gleichermaßen können in Beispielen, in denen eine Rechenvorrichtung 115 das eine oder die mehreren Bilder, die von einer Kamera empfangen werden, für den Betrieb eines Fahrzeugs 110, eines Roboters oder einer Fertigungsmaschine verwendet, bei Block 510 das eine oder die mehreren ersten Bilder an die Rechenvorrichtung 115 ausgegeben werden. Zum Beispiel kann die Rechenvorrichtung 115 ein Fahrzeug durch ein Steuern von Antriebsstrang, Lenkung und/oder Bremsen betreiben, um einen Fußgänger oder ein anderes Fahrzeug, der/das in dem einen oder den mehreren Bildern festgestellt wird, zu vermeiden, einen Roboter betreiben oder eine Fertigungsmaschine betreiben, indem sie das Bild mit Software für maschinelles Sehen verarbeitet, um Objekte und Positionen in dem Bild zu bestimmen. Im Anschluss an Block 510 endet der Prozess 500.
-
Bei Block 512 wurde bestimmt, dass die ersten Bilder nicht mit den zuvor erfassten Bildern übereinstimmen, und es wird bestimmt, dass die erste Kamera manipuliert wurde. Bilder von der ersten Kamera können nicht durch die Rechenvorrichtung 115 zur biometrischen Authentifizierung oder zum Betrieb eines Fahrzeugs 110, eines Roboters oder einer Fertigungsmaschine ausgegeben werden. Das Verhindern der Ausgabe von Bildern von der ersten Kamera kann verhindern, dass eine biometrische Authentifizierung durch Spoofing gefälscht wird, indem manipulierte Bilder eingesetzt werden, die ein menschliches Gesicht beinhalten, das sich nicht tatsächlich im Sichtfeld der Fahrzeugsensoren 116 befindet, d. h. ein oder mehrere gefälschte Bilder. Gleichermaßen kann der Betrieb eines Fahrzeugs 110 auf Grundlage von möglicherweise gefälschten Objekten in dem einen oder den mehreren Bildern bei der Feststellung einer Kameramanipulation verhindert werden, indem das eine oder die mehreren Bilder nicht ausgegeben werden. Im Anschluss an Block 512 endet der Prozess 500.
-
Rechenvorrichtungen, wie etwa die in dieser Schrift erörterten, beinhalten im Allgemeinen jeweils Befehle, die durch eine oder mehrere Rechenvorrichtungen, wie etwa die vorangehend genannten, und zum Ausführen von Blöcken oder Schritten von vorangehend beschriebenen Prozessen ausführbar sind. Zum Beispiel können die vorstehend erörterten Prozessblöcke als computerausführbare Befehle umgesetzt sein.
-
Computerausführbare Befehle können von Computerprogrammen kompiliert oder interpretiert werden, die unter Verwendung einer Vielfalt von Programmiersprachen und/oder - technologien erstellt wurden, einschließlich unter anderem, entweder allein oder in Kombination Java™, C, C++, Python, Julia, SCALA, Visual Basic, Java Script, Perl, HTML usw. Im Allgemeinen empfängt ein Prozessor (z. B. ein Mikroprozessor) Befehle, z. B. von einem Speicher, einem computerlesbaren Medium usw., und führt diese Befehle aus, wodurch er einen oder mehrere Prozesse durchführt, einschließlich eines oder mehrerer der in dieser Schrift beschriebenen Prozesse. Derartige Befehle und andere Daten können in Dateien gespeichert und unter Verwendung einer Vielfalt von computerlesbaren Medien übertragen werden. Eine Datei in einer Rechenvorrichtung ist im Allgemeinen eine Sammlung von Daten, die auf einem computerlesbaren Medium gespeichert ist, wie etwa einem Speichermedium, einem Direktzugriffsspeicher usw.
-
Ein computerlesbares Medium beinhaltet ein beliebiges Medium, das am Bereitstellen von Daten (z. B. Befehlen) beteiligt ist, die durch einen Computer ausgelesen werden können. Ein derartiges Medium kann viele Formen annehmen, einschließlich unter anderem nichtflüchtiger Medien, flüchtiger Medien usw. Nichtflüchtige Medien beinhalten zum Beispiel optische oder magnetische Platten und andere Dauerspeicher. Flüchtige Medien beinhalten dynamischen Direktzugriffsspeicher (dynamic random access memory - DRAM), der typischerweise einen Hauptspeicher darstellt. Gängige Formen computerlesbarer Medien beinhalten zum Beispiel Folgendes: eine Diskette, eine Folienspeicherplatte, eine Festplatte, ein Magnetband, ein beliebiges anderes magnetisches Medium, eine CD-ROM, eine DVD, ein beliebiges anderes optisches Medium, Lochkarten, Lochstreifen, ein beliebiges anderes physisches Medium mit Lochmustern, einen RAM, einen PROM, einen EPROM, einen FLASH-EEPROM, einen beliebigen anderen Speicherchip oder eine beliebige andere Speicherkassette oder ein beliebiges anderes Medium, das von einem Computer ausgelesen werden kann.
-
Allen in den Patentansprüchen verwendeten Ausdrücken soll deren allgemeine und gewöhnliche Bedeutung zukommen, wie sie vom Fachmann verstanden wird, sofern in dieser Schrift keine ausdrückliche gegenteilige Angabe erfolgt. Insbesondere ist die Verwendung der Singularartikel, wie etwa „ein“, „eine“, „der“, „die“, „das“ usw., dahingehend auszulegen, dass ein oder mehrere der aufgeführten Elemente genannt werden, sofern ein Patentanspruch nicht eine ausdrückliche gegenteilige Einschränkung nennt.
-
Der Ausdruck „beispielhaft“ wird in dieser Schrift in dem Sinne verwendet, dass er ein Beispiel angibt, z. B. sollte eine Bezugnahme auf ein „beispielhaftes Gerät“ einfach als Bezugnahme auf ein Beispiel für ein Gerät gelesen werden.
-
Das einen Wert oder ein Ergebnis modifizierende Adverb „ungefähr“ bedeutet, dass eine Form, eine Struktur, ein Messwert, ein Wert, eine Bestimmung, eine Berechnung usw. von einer/einem genau beschriebenen Geometrie, Abstand, Messwert, Wert, Bestimmung, Berechnung usw. aufgrund von Mängeln hinsichtlich Materialien, Bearbeitung, Fertigung, Sensormessungen, Berechnungen, Verarbeitungszeit, Übertragungszeit usw. abweichen kann.
-
In den Zeichnungen geben gleiche Bezugszeichen jeweils gleiche Elemente an. Ferner könnten einige oder alle dieser Elemente geändert werden. Hinsichtlich der in dieser Schrift beschriebenen Medien, Prozesse, Systeme, Verfahren usw. versteht es sich, dass, obwohl die Schritte oder Blöcke derartiger Prozesse usw. zwar als gemäß einer bestimmten Abfolge erfolgend beschrieben worden sind, derartige Prozesse jedoch so umgesetzt werden könnten, dass die beschriebenen Schritte in einer anderen Reihenfolge als der in dieser Schrift beschriebenen Reihenfolge durchgeführt werden. Es versteht sich ferner, dass bestimmte Schritte gleichzeitig durchgeführt, andere Schritte hinzugefügt oder bestimmte in dieser Schrift beschriebene Schritte weggelassen werden könnten. Anders ausgedrückt werden die Beschreibungen von Prozessen in dieser Schrift zur Veranschaulichung bestimmter Ausführungsformen bereitgestellt und sollten keinesfalls dahingehend ausgelegt werden, dass sie die beanspruchte Erfindung einschränken.
-
Gemäß der vorliegenden Erfindung ist ein Computer bereitgestellt, der Folgendes aufweist: einen Prozessor; und einen Speicher, wobei der Speicher Anweisungen beinhaltet, die durch den Prozessor zu Folgendem ausgeführt werden können: Unterteilen jedes von einem oder mehreren Bildern, die von einer Kamera erfasst wurden, in eine Vielzahl von Zonen; Bestimmen von jeweiligen Kamerarauschwerten für jeweilige Zonen auf Grundlage des einen oder der mehreren Bilder; Bestimmen eines oder mehrerer Zonenerwartungswerte für das eine oder die mehreren Bilder durch Summieren von Kamerarauschwerten, multipliziert mit Skalarkoeffizienten für jede Zone, und Normalisieren der Summe durch Dividieren durch eine Anzahl von Zonen in der Vielzahl von Zonen; und Bestimmen, dass eine Quelle der Kamera eine von derselben Kamera oder einer unbekannten Kamera ist, auf Grundlage eines Vergleichens des einen oder der mehreren Zonenerwartungswerte mit zuvor erfassten Zonenerwartungswerten.
-
Gemäß einer Ausführungsform beinhalten die Anweisungen weitere Anweisungen, um das eine oder die mehreren Bilder auszugeben, wenn bestimmt wird, dass die Quelle der Kamera dieselbe Kamera ist.
-
Gemäß einer Ausführungsform werden das eine oder die mehreren Bilder für eine biometrische Autorisierung, einen Fahrzeugbetrieb, einen Roboterbetrieb oder einen Fertigungsbetrieb ausgegeben.
-
Gemäß einer Ausführungsform beinhaltet ein Verifizieren der Quelle der Kamera ein Abgleichen der einen oder mehreren Zonenerwartungswerte mit einem oder mehreren zuvor erfassten Zonenerwartungswerten, die auf Grundlage von zuvor erfassten Bildern von der Kamera bestimmt werden.
-
Gemäß einer Ausführungsform beinhaltet das Abgleichen ein Bestimmen, dass die Zonenerwartungswerte innerhalb von Toleranzen, die von einem Benutzer bestimmt werden, gleich den zuvor erfassten Zonenerwartungswerten sind.
-
Gemäß einer Ausführungsform werden die Kamerarauschwerte durch Bestimmen eines oder mehrerer Werte der Fotoreaktionsungleichmäßigkeit K̂ bestimmt, die durch die Gleichung
bestimmt werden, wobei I
i das i-te Bild ist, das von der Kamera erfasst wird, und W
i der Rauschrest des i-ten Bildes ist.
-
Gemäß einer Ausführungsform werden die Kamerarauschwerte durch Bestimmen eines Kameradunkelstromrauschens bestimmt.
-
Gemäß einer Ausführungsform werden die Zonen so ausgewählt, dass sie einer Teilmenge von Zonen entsprechen, von denen bestimmt wird, dass sie eine größere Variation des Bildrauschens mit festem Muster aufweisen.
-
Gemäß einer Ausführungsform werden die Skalarkoeffizienten auf Grundlage von Varianzen der Kamerarauschwerte empirisch bestimmt.
-
Gemäß einer Ausführungsform wird eine Teilmenge der Zonen so ausgewählt, dass sie den Zonen entsprechen, von denen bestimmt wird, dass sie eine hohe Variation des Bildrauschens mit festem Muster aufweisen.
-
Gemäß einer Ausführungsform beinhaltet ein Bestimmen einer Kameramanipulation ein Bestimmen von Spitzenkorrelationsenergie durch Durchführen eines Vorlagenabgleichs mit zuvor bestimmten Kamerarauschwerten auf Grundlage von zuvor von der Kamera erfassten Bildern.
-
Gemäß einer Ausführungsform beinhaltet ein Bestimmen einer Kameramanipulation ein Verarbeiten der Kamerarauschwerte mit einem neuronalen Netzwerk, um eine Konfidenzwertvorhersage zu bestimmen, wobei das neuronale Netzwerk auf Grundlage von zuvor von der Kamera erfassten Bildern trainiert wird.
-
Gemäß einer Ausführungsform werden die Kamerarauschwerte auf Grundlage einer vollen Auflösung, einer auf ein Viertel skalierten Auflösung und einer auf ein Sechzehntel skalierten Auflösung bestimmt.
-
Gemäß einer Ausführungsform werden die Kamerarauschwerte auf Grundlage von einem oder mehreren von Mittelwert, Varianz, Schiefe und Kurtosis des Bildrauschens mit festem Muster bestimmt.
-
Gemäß einer Ausführungsform werden die Kamerarauschwerte auf Grundlage von einem oder mehreren von einem roten, grünen und blauen Kanal des einen oder der mehreren Bilder bestimmt.
-
Gemäß der vorliegenden Erfindung beinhaltet ein Verfahren Folgendes: Unterteilen jedes von einem oder mehreren Bildern, die von einer Kamera erfasst wurden, in eine Vielzahl von Zonen; Bestimmen von jeweiligen Kamerarauschwerten für jeweilige Zonen auf Grundlage des einen oder der mehreren Bilder; Bestimmen eines oder mehrerer Zonenerwartungswerte für das eine oder die mehreren Bilder durch Summieren der Kamerarauschwerte, multipliziert mit Skalarkoeffizienten für jede Zone, und Normalisieren der Summe durch Dividieren durch eine Anzahl von Zonen in der Vielzahl von Zonen; und Bestimmen, dass eine Quelle der Kamera eine von derselben Kamera oder einer unbekannten Kamera ist, auf Grundlage eines Vergleichens des einen oder der mehreren Zonenerwartungswerte mit zuvor erfassten Zonenerwartungswerten.
-
In einem Aspekt der Erfindung beinhaltet das Verfahren, wenn bestimmt wird, dass die Quelle der Kamera dieselbe Kamera ist, das eine oder die mehreren Bilder auszugeben.
-
In einem Aspekt der Erfindung werden das eine oder die mehreren Bilder für eine biometrische Autorisierung, einen Fahrzeugbetrieb, einen Roboterbetrieb oder einen Fertigungsbetrieb ausgegeben.
-
In einem Aspekt der Erfindung beinhaltet ein Verifizieren der Quelle der Kamera ein Abgleichen der einen oder mehreren Zonenerwartungswerte mit einem oder mehreren zuvor erfassten Zonenerwartungswerten, die auf Grundlage von zuvor erfassten Bildern von der Kamera bestimmt werden.
-
In einem Aspekt der Erfindung beinhaltet das Abgleichen ein Bestimmen, dass die Zonenerwartungswerte innerhalb von Toleranzen, die von einem Benutzer bestimmt werden, gleich den zuvor erfassten Zonenerwartungswerten sind.