-
Stand der Technik
-
Die Vorrichtung und das Verfahren, die in diesem Dokument offenbart werden, betreffen Datenprivatsphäre und insbesondere Datenanonymisierung für Datenlabel- und Entwicklungszwecke
-
Offenbarung der Erfindung
-
Sofern hier nicht anderweitig angegeben, sind die in diesem Abschnitt beschriebenen Materialien durch Einbezug in diesem Abschnitt nicht als Stand der Technik eingeführt.
-
Viele auf künstlicher Intelligenz und maschinellem Lernen basierende Softwaretechnologien hängen von großen, gut-gelabelten Datensätzen für Training und Entwicklung ab. Häufig müssen gut-gelabelte Datensätze, zumindest teilweise, unter Verwendung eines Labelwerkzeugs durch einen Menschen manuell gelabelt werden. Dies führt allerdings zu Herausforderungen, wenn die für Labeln verfügbaren Daten als mit irgendeinem anderen Zweck im Zusammenhang stehend gesammelt wurden und persönlich identifizierbare Informationen beinhalten, die legal oder ethisch gegenüber einem Team von menschlichen Datenlabelern nicht offengelegt werden können.
-
Als ein Beispiel kann ein Dienstanbieter ein Produkt oder einen Dienst anbieten, das bzw. das Aufnehmen von Audio oder Video von dessen Nutzern zum Zwecke des Lieferns von Merkmalen des Produkts oder des Dienstes involviert. Diese aufgenommenen Audio- und Videodaten könnten vorteilhafterweise durch den Dienstanbieter für Entwicklungszwecke, die sich auf das Produkt oder den Dienst beziehen, oder für die Entwicklung eines Produkts oder Dienstes, mit dem kein Zusammenhang besteht, verwendet werden. Da die aufgenommenen Audio- und Videodaten häufig persönliche identifizierbare Informationen des Benutzers (z. B. Stimmen oder Gesichter der Benutzer) beinhalten, kann es legale oder ethische Schwierigkeiten mit der Verwendung der aufgenommenen Audio- und Videodaten für solche Zwecke geben.
-
Es würde vorteilhaft sein, ein System oder ein Verfahren bereitzustellen zum Entfernen persönlicher identifizierbarer Informationen aus Daten, die durch menschliche Labeler gelabelt werden sollen. Darüber hinaus würde es vorteilhaft sein, wenn das System genaues Labeln der Daten erleichterte, ungeachtet der Entfernung von persönlichen identifizierbaren Informationen aus den Daten.
-
Kurzdarstellung
-
Ein Verfahren zum Labeln von Daten wird offenbart. Das Verfahren umfasst Speichern, in einem Speicher eines Servers, einer Mehrzahl von Datendateien, wobei die Datendateien die Videos und/oder Bilder und/oder Audioclips beinhalten, wobei zumindest einige aus der Mehrzahl von Datendateien persönlich identifizierbare Informationen von individuellen Leuten beinhalten. Das Verfahren umfasst ferner Erzeugen, mit einem Prozessor des Servers, einer Mehrzahl von anonymisierten Datendateien durch Entfernen persönlich identifizierbarer Informationen aus jeder aus der Mehrzahl von Datendateien, wobei jede aus der Mehrzahl von anonymisierten Datendateien auf einer entsprechenden aus der Mehrzahl von Datendateien basiert. Das Verfahren umfasst ferner Labeln der Mehrzahl von Datendateien durch, für jede jeweilige anonymisierte Datendatei in der Mehrzahl von anonymisierten Datendateien: (i) Senden, mit einem Transceiver des Servers, der jeweiligen anonymisierten Datendatei an eine jeweilige Client-Vorrichtung in einer Mehrzahl von Client-Vorrichtungen; (ii) Empfangen, mit dem Transceiver, mindestens eines Labels für die jeweilige anonymisierte Datendatei von der jeweiligen Client-Vorrichtung; und (iii) Speichern, in dem Speicher, des mindestens einen Labels in Assoziation mit einer jeweiligen Datendatei in der Mehrzahl von Datendateien, die der jeweiligen anonymisierten Datendatei entspricht.
-
Ein System zum Labeln von Daten wird offenbart. Das System beinhaltet einen Transceiver, der ausgelegt ist zum Kommunizieren mit einer Mehrzahl von Client-Vorrichtungen. Das System beinhaltet einen Speicher, der ausgelegt ist zum Speichern einer Mehrzahl von Datendateien, wobei die Datendateien Videos und/oder Bilder und/oder Audioclips beinhalten, wobei zumindest einige aus der Mehrzahl von Datendateien persönlich identifizierbare Informationen von individuellen Leuten beinhalten. Das System beinhaltet einen Prozessor, der betreibbar mit dem Transceiver und dem Speicher verbunden ist. Der Prozessor ist ausgelegt zum Erzeugen einer Mehrzahl von anonymisierten Datendateien durch Entfernen der persönlich identifizierbaren Informationen aus jeder aus der Mehrzahl von Datendateien, wobei jede aus der Mehrzahl von anonymisierten Datendateien auf einer entsprechenden aus der Mehrzahl von Datendateien basiert. Der Prozessor ist ferner ausgelegt zum Labeln der Mehrzahl von Datendateien durch, für jede jeweilige anonymisierte Datendatei in der Mehrzahl von anonymisierten Datendateien, (i) Betreiben des Transceivers zum Senden der jeweiligen anonymisierten Datendatei an eine jeweilige Client-Vorrichtung in der Mehrzahl von Client-Vorrichtungen, (ii) Betreiben des Transceivers zum Empfangen mindestens eines Labels für die jeweilige anonymisierte Datendatei von der jeweiligen Client-Vorrichtung, und (iii) Schreiben, in den Speicher, des mindestens einen Labels in Assoziation mit einer jeweiligen Datendatei in der Mehrzahl von Datendateien, die der jeweiligen anonymisierten Datendatei entspricht.
-
Ein nichttransitorisches computer-lesbares Medium zum Labeln von Daten wird offenbart. Das computer-lesbare Medium speichert Programmanweisungen, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor veranlassen zum Lesen, aus einem Speicher, einer Mehrzahl von Datendateien, wobei die Datendateien Videos und/oder Bilder und/oder Audioclips beinhalten und wobei zumindest einige aus der Mehrzahl von Datendateien persönlich identifizierbare Informationen von individuellen Leuten beinhalten. Das computer-lesbare Medium speichert ferner Programmanweisungen, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor veranlassen zum Erzeugen einer Mehrzahl von anonymisierten Datendateien durch Entfernen der persönlich identifizierbaren Informationen aus jeder aus der Mehrzahl von Datendateien, wobei jede aus der Mehrzahl von anonymisierten Datendateien auf einer entsprechenden aus der Mehrzahl von Datendateien basiert. Das computer-lesbare Medium speichert ferner Programmanweisungen, die, wenn sie durch einen Prozessor ausgeführt werden, den Prozessor veranlassen zum Labeln der Mehrzahl von Datendateien durch, für jede jeweilige anonymisierte Datendatei in der Mehrzahl von anonymisierten Datendateien, (i) Betreiben eines Transceivers zum Senden der jeweiligen anonymisierten Datendatei an eine jeweilige Client-Vorrichtung in einer Mehrzahl von Client-Vorrichtungen, (ii) Betreiben des Transceivers zum Empfangen mindestens eines Labels für die jeweilige anonymisierte Datendatei von der jeweiligen Client-Vorrichtung, und (iii) Schreiben, in den Speicher, des mindestens einen Labels in Assoziation mit einer jeweiligen Datendatei in der Mehrzahl von Datendateien, die der jeweiligen anonymisierten Datendatei entspricht.
-
Figurenliste
-
Die vorhergehenden Aspekte und andere Merkmale des Verfahrens und des Systems werden in der folgenden Beschreibung im Zusammenhang mit den begleitenden Zeichnungen erläutert.
- 1 zeigt ein System zum Anonymisieren von Daten für Label- und Entwicklungszwecke.
- 2A zeigt beispielhafte Hardwarekomponenten des Datenablage-Backends.
- 2B zeigt beispielhafte Hardwarekomponenten der PersonalComputer-Vorrichtungen.
- 3 zeigt einen Prozess zum Anonymisieren von Videodaten, um die Gesichter von Leuten in dem Video unkenntlich zu machen, so dass sie nicht erkannt oder persönlich identifiziert werden können.
- 4 zeigt einen Prozess zum Anonymisieren von Audiodaten, um die Stimmen zu verzerren und die von Leuten in dem Audio gesprochenen Worte zu dekontextualisieren, so dass sie nicht erkannt oder persönlich identifiziert werden können.
- 5 zeigt einen Prozess zum Anonymisieren von Audio-/Videodaten, so dass Leute in den Audio-/Videodaten nicht erkannt oder persönlich identifiziert werden können.
- 6 zeigt eine beispielhafte grafische Benutzerschnittstelle eines Datenlabelwerkzeugs zum Labeln eines anonymisierten Videos, eines anonymisierten Videoframes oder eines anonymisierten Bilds.
- 7 zeigt ein Entunkenntlichmachen eines Gebiets um einen Cursor herum, um präzises Labeln von Gesichtserkennungsmerkmalen zu ermöglichen Ausführliche Beschreibung
-
-
Zum Zwecke der Förderung eines Verständnisses der Prinzipien der Offenbarung wird nun auf die in den Zeichnungen veranschaulichten und in der folgenden schriftlichen Beschreibung beschriebenen Ausführungsformen Bezug genommen. Es versteht sich, dass dadurch keine Beschränkung des Schutzumfangs der Offenbarung beabsichtigt wird. Es versteht sich ferner, dass die vorliegende Offenbarung jegliche Abänderungen und Modifikationen an den veranschaulichten Ausführungsformen einschließt und weitere Anwendungen der Prinzipien der Offenbarung beinhaltet, wie sie einem Fachmann des technischen Gebiets, auf das sich diese Offenbarung bezieht, normalerweise in den Sinn kommen würden.
-
Systemüberblick
-
1 zeigt ein System 10 zum Anonymisieren von Daten für Label- und Entwicklungszwecke. Das System 10 beinhaltet ein Datenablage-Backend 20, das eine Datenbank 22 von nicht-anonymen Daten aufweist, die von einer Datenquelle 24 empfangen wurden. Insbesondere beinhalten die nicht-anonymen Daten in mindestens einigen Ausführungsformen Mediendateien, wie etwa Videos, Bilder und/oder Audioclips. Die nicht-anonymen Daten 22 beinhalten persönlich identifizierbare Informationen, die im Allgemeinen nicht offengelegt werden sollten. Bei mindestens einer Ausführungsform beinhaltet die Datenquelle 24 nicht-anonyme Daten, die als mit der Bereitstellung irgendeines Produkts oder Dienstes im Zusammenhang stehend gesammelt wurden. Beispielsweise können die nicht-anonymen Daten Video und Audio beinhalten, die während Mitfahrfahrten, Taxifahrten oder Fahrzeuganmietungen, die durch einen Mobilitätsdienstanbieter bereitgestellt werden, von einem Innenraum eines Fahrzeugs aufgenommen werden. Somit beinhaltet das gesammelte Video in diesem Beispiel Gesichter von Leuten in dem Fahrzeug und das gesammelte Audio beinhaltet Stimmen der Leute in dem Fahrzeug.
-
Das Datenablage-Backend 20 beinhaltet eine Anonymisierungs-Engine 26, die ausgeführt wird, um die persönlich identifizierbaren Informationen aus den nicht-anonymen Daten 22 zu entfernen und eine Datenbank 28 der anonymisierten Daten zu bevölkern. Die anonymisierten Daten 28 werden menschlichen Labelern 50 über eine Web-API 30 zum Zwecke des Labelns zugänglich gemacht. Insbesondere unter Verwendung eines Labelwerkzeugs (z. B. eine Anwendung oder äquivalente Webschnittstelle) auf einer persönlichen Rechenvorrichtung 40, empfangen die menschlichen Labeler 50 individuelle Dateien von den anonymisierten Daten 28 über die Web-API 28 und fügen manuell Daten zu den individuellen Datendateien hinzu. Das Datenablage-Backend 20 empfängt die Label von der persönlichen Rechenvorrichtung 40 des menschlichen Labelers 50 und speichert die Label in Assoziation mit den entsprechenden nicht-anonymisierten Daten entweder in der Datenbank 22 oder in irgendeiner anderen (nicht gezeigten) für gelabelte Daten designierten Datenbank. Auf diese Weise können die nicht-anonymen Daten 22 durch die menschlichen Labeler 50 gelabelt werden, wobei die menschlichen Labeler 50 im Allgemeinen nur den entsprechenden anonymisierten Daten 28 ausgesetzt werden.
-
Die Label und die entsprechenden nicht-anonymen Daten 22 können verwendet werden zum Trainieren eines oder mehrerer Maschinenlernmodelle 32, die ausgeführt werden, um neue Daten zu verarbeiten, die von der Datenquelle 24 gesammelt wurden. Die Maschinenlernmodelle 32 sind im Allgemeinen überwachte oder teilüberwachte Lernmodelle, die dafür ausgelegt sind, eine Ausgabe auf der Grundlage von neuen Daten, die von der Datenquelle 24 gesammelt wurden, abzuleiten, wie etwa eine Klassifizierung der neuen Daten. Die Maschinenlernmodelle 32 können unter Verwendung einer breiten Vielfalt von Techniken implementiert werden, wie etwa faltenden neuronalen Netzen, rekurrenten neuronalen Netzen, Support-Vector-Maschinen und dergleichen. Die verarbeiteten Daten werden in einer Datenbank 34 gespeichert. Unter sehr eingeschränkten Umständen können die verarbeiteten Daten 34 und/oder die unverarbeiteten nicht-anonymen Daten 22 dem menschlichen Labeler 50 über die Web-API 30 teilweise verfügbar gemacht werden.
-
Es versteht sich, dass die Maschinenlernmodelle 32 dafür ausgelegt sein können, eine breite Vielfalt von Verarbeitungsaufgaben durchzuführen, die sich auf das bzw. den im Zusammenhang stehende Produkt oder Dienst, für das bzw. den die Daten gesammelt werden, beziehen können oder auch nicht, und was im Allgemeinen über den Schutzumfang dieser Offenbarung hinaus geht. Gleichermaßen variieren die besonderen Label, die durch die menschlichen Labeler 50 hinzugefügt werden, die im Allgemeinen in einem engen Zusammenhang mit Aufgaben stehen, die durch die Maschinenlernmodelle 32 durchgeführt werden, und somit auch die besonderen Label weithin in Abhängigkeit von einer durch die Maschinenlernmodelle 32 durchgeführten Aufgabe. Unter Verwendung des obigen Beispiels, in dem die Daten Video und Audio beinhalten, die aus einem Innenraum eines Fahrzeugs aufgenommen wurden, kann das Maschinenlernmodell 32 beispielsweise dafür ausgelegt sein, Gewalt, Streitigkeiten oder andere Auseinandersetzungen zwischen den Leuten in Video und Audio zu detektieren, um den Emotionszustand der Leute in Video und Audio vorherzusagen oder andere auf die Passagiere bezogene Metadaten abzuleiten. Somit können die Label ähnliche Klassifizierungen der Szene des Innenraums des Fahrzeugs und des Status der Passagiere umfassen.
-
Für die Zwecke des Entwickelns der Maschinenlernmodelle 32 hat im Allgemeinen kein regulärer Entwickler Zugriff auf die verarbeiteten Daten 34 und/oder die unverarbeiteten nicht-anonymen Daten 22. Allerdings kann unter eingeschränkten Umständen ein autorisierter Debug-Ingenieur 60 unter Verwendung einer persönlichen Rechenvorrichtung 40 über ein Zugangsmanagementsystem auf gewisse Dateien der verarbeiteten Daten 34 und/oder der unverarbeiteten nicht-anonymen Daten 22 zugreifen. Falls beispielsweise ein falsches Label zugeordnet wurde (entweder durch den menschlichen Labeler 50 oder durch die Maschinenlernmodelle 32), muss der autorisierte Debug-Ingenieur 60 möglicherweise die verarbeiteten Daten 34 und/oder die unverarbeiteten nicht-anonymen Daten 22 anschauen, um die Daten neu zu labeln oder um einen Bug in einem Maschinenlernmodell 32 zu finden. Falls der Anonymisierungsprozess versagt, muss gleichermaßen der autorisierte Debug-Ingenieur 60 oder der menschliche Labeler 50 möglicherweise die verarbeiteten Daten 34 und/oder die unverarbeiteten nicht anonymen Daten 22 manuell labeln.
-
Beispielhafte Hardwareausführungsformen
-
Nunmehr werden unter Bezugnahme auf 2A-2B beispielhafte Komponenten des Datenablage-Backends 20 und der persönlichen Rechenvorrichtungen 40 beschrieben. Es versteht sich, dass die Komponenten des Datenablage-Backends 20 und der persönlichen Rechenvorrichtungen 40, die hier gezeigt und beschrieben sind, lediglich Beispiele sind und dass das Datenablage-Backend 20 und die persönliche Rechenvorrichtung 40 eine beliebige alternative Ausgestaltung umfassen kann.
-
Wie in 2A gezeigt ist, umfasst das Ausführungsbeispiel des Datenablage-Backends 20 einen oder mehrere Server 100 und eine oder mehrere Datenablagevorrichtungen 120. Die Server 100 können Server beinhalten, die dafür eingerichtet sind, eine Vielfalt von Funktionen für das Datenablage-Backend 20 anzudienen, die mindestens einen oder mehrere Datenbankserver, die eingerichtet sind zum Managen der Daten, die von der Datenquelle 24 gesammelt und in den Datenablagevorrichtungen 120 gespeichert werden, beinhalten, aber in manchen Ausführungsformen, abhängig von den durch das Datenablage-Backend 20 bereitgestellten Merkmalen, auch Webserver oder Anwendungsserver beinhalten. Jeder der Server 100 beinhaltet beispielsweise einen Prozessor 102, einen Speicher 104, eine Benutzerschnittstelle 106 und ein Netzwerkkommunikationsmodul 108. Es versteht sich, dass die veranschaulichte Ausführungsform der Server 100 nur ein Ausführungsbeispiel für einen Server 100 ist und lediglich für beliebige von verschiedensten Weisen oder Ausgestaltungen eines Personalcomputers, Servers oder beliebiger anderer Datenverarbeitungssysteme, die in der hier dargelegten Weise arbeiten, repräsentativ ist.
-
Der Prozessor 102 ist ausgelegt zum Ausführen von Anweisungen, die Server 100 zu betreiben, die Merkmale, Funktionalität, Charakteristika und/oder dergleichen wie hier beschrieben zu ermöglichen. Hierzu ist der Prozessor 102 betreibbar mit dem Speicher 104, der Benutzerschnittstelle 106 und dem Netzwerkkommunikationsmodul 108 verbunden. Der Prozessor 102 umfasst im Allgemeinen einen oder mehrere Prozessoren, die parallel oder anderweitig im Zusammenspiel miteinander arbeiten. Der Durchschnittsfachmann auf dem Gebiet erkennt, dass ein „Prozessor“ ein beliebiges Hardwaresystem, einen beliebigen Hardwaremechanismus oder eine beliebige Hardwarekomponente beinhaltet, das/der/die Daten, Signale oder andere Informationen verarbeitet. Dementsprechend kann der Prozessor 102 ein System mit einer Zentralverarbeitungseinheit, Grafikverarbeitungseinheiten, mehreren Verarbeitungseinheiten, einer dedizierten Schaltungsanordnung zum Erzielen von Funktionalität, programmierbare Logik oder andere Verarbeitungssysteme beinhalten.
-
Die Datenablagevorrichtungen 120 sind ausgelegt zum Speichern von Daten, die die von der Datenquelle 24 empfangenen nicht-anonymen Daten 22, die anonymisierten Daten 28 und die verarbeiteten Daten 34 beinhalten. Die Datenablagevorrichtungen 120 können von einer beliebigen Art von nichtflüchtiger Langzeit-Ablagevorrichtung sein, die fähig ist zum Speichern von Informationen, auf die durch den Prozessor 102 zugegriffen werden kann, wie etwa Festplatten oder beliebige verschiedenster anderer computer-lesbarer Ablagemedien, die dem Durchschnittsfachmann bekannt sind. Das Datenablage-Backend 20 ist ausgelegt zum Speichern und Managen der Daten auf den Datenablagevorrichtungen 120 in einer verschlüsselten und sicheren Weise und zum Bereitstellen von eingeschränktem Zugriff auf die Daten für die menschlichen Labeler 50 und autorisierte Debug-Ingenieure 60 sowie autorisierte Drittparteien über eine Webschnittstelle oder API (z. B. die Web-API 30), die kontrollierten Zugriff und Identitätsmanagement beinhaltet.
-
Der Speicher 104 von jedem Server 100 ist ausgelegt zum Speichern von Programmanweisungen, die, wenn sie durch den Prozessor 102 ausgeführt werden, die Server 100 befähigen zum Durchführen verschiedenster hier beschriebener Operationen, einschließlich Managen, Anonymisieren und Verarbeiten von Daten, die in den Datenablagevorrichtungen 120 gespeichert sind. Insbesondere speichert der Speicher 104 Programmanweisungen, die der Anonymisierungs-Engine 26 und den Maschinenlernmodellen 32 entsprechen. Der Speicher 104 kann eine beliebige Art von Vorrichtung oder Kombination von Vorrichtungen sein, die fähig ist zum Speichern von für den Prozessor 102 zugreifbaren Informationen, wie etwa Speicherkarten, ROM, RAM, Festplattenlaufwerke, Platten, Flash-Speicher oder ein beliebiges verschiedenster anderer computer-lesbarer Medien, die dem Durchschnittsfachmann bekannt sind.
-
Das Netzwerkkommunikationsmodul 108 der Server 100 stellt eine Schnittstelle bereit, die Kommunikation mit jeglicher von verschiedensten Vorrichtungen zulässt, einschließlich zumindest die Datenquelle 24 und die persönlichen Rechenvorrichtungen 40. Das Netzwerkkommunikationsmodul 108 kann insbesondere einen Lokalnetzwerkport beinhalten, der Kommunikation mit jeglichen von verschiedensten lokalen Computern, die in derselben oder einer nahegelegenen Einrichtung beherbergt werden, zulässt. Im Allgemeinen können die Server 100 mit Ferncomputern über das Internet über ein separates Modem und/oder Router des lokalen Netzwerks kommunizieren. Alternativ kann das Netzwerkkommunikationsmodul 108 ferner einen Weitbereichsnetzwerkport beinhalten, der Kommunikation über das Internet zulässt. Bei einer Ausführungsform ist das Netzwerkkommunikationsmodul 108 mit einem Wi-Fi-Transceiver oder einer anderen drahtlosen Kommunikationsvorrichtung ausgestattet. Dementsprechend versteht sich, dass Kommunikationen mit den Servern 100 über drahtgebundene oder über drahtlose Kommunikation stattfinden kann und unter Verwendung von verschiedensten bekannten Kommunikationsprotokollen bewerkstelligt werden kann.
-
Die Server 100 werden durch einen Administrator lokal- oder fernbetrieben. Um lokalen Betrieb zu erleichtern, können die Server 100 eine Benutzerschnittstelle 106 beinhalten. Bei mindestens einer Ausführungsform kann die Benutzerschnittstelle 106 geeignet einen LCD-Anzeigebildschirm oder dergleichen, eine Maus oder andere Zeigevorrichtung, eine Tastatur oder ein Tastenfeld, Lautsprecher und ein Mikrofon beinhalten, wie dem Durchschnittsfachmann bekannt ist. Alternativ kann ein Administrator in manchen Ausführungsformen die Server 100 von einer anderen Rechenvorrichtung aus fernbetreiben, die sich über das Netzwerkkommunikationsmodul 108 mit diesem in Kommunikation befindet und eine analoge Benutzerschnittstelle aufweist.
-
Wie in 2B gezeigt ist, umfasst das Ausführungsbeispiel der persönlichen Rechenvorrichtung 40 einen Prozessor 130, einen Speicher 132, einen Anzeigebildschirm 134, eine Benutzerschnittstelle 136 und mindestens ein Netzwerkkommunikationsmodul 138. Es versteht sich, dass die veranschaulichte Ausführungsform der persönlichen Rechenvorrichtung 40 nur ein Ausführungsbeispiel ist, das lediglich für beliebige von verschiedensten Ausgestaltungen eines Personalcomputers, Laptop-Computers, Tablet-Computers, Smartphones oder beliebiger anderer Rechenvorrichtungen, die in der hier dargelegten Weise arbeiten, repräsentativ ist.
-
Der Prozessor 130 ist ausgelegt zum Ausführen von Anweisungen, die persönliche Rechenvorrichtung 40 zu betreiben, die Merkmale, Funktionalität, Charakteristika und/oder dergleichen wie hier beschrieben zu ermöglichen. Hierzu ist der Prozessor 130 betreibbar mit dem Speicher 132, dem Anzeigebildschirm 134 und dem Netzwerkkommunikationsmodul 138 verbunden. Der Prozessor 130 umfasst im Allgemeinen einen oder mehrere Prozessoren, die parallel oder anderweitig im Zusammenspiel miteinander arbeiten. Der Durchschnittsfachmann auf dem Gebiet erkennt, dass ein „Prozessor“ ein beliebiges Hardwaresystem, einen beliebigen Hardwaremechanismus oder eine beliebige Hardwarekomponente beinhaltet, das/der/die Daten, Signale oder andere Informationen verarbeitet. Dementsprechend kann der Prozessor 130 ein System mit einer Zentralverarbeitungseinheit, Grafikverarbeitungseinheiten, mehreren Verarbeitungseinheiten, einer dedizierten Schaltungsanordnung zum Erzielen von Funktionalität, programmierbare Logik oder andere Verarbeitungssysteme beinhalten.
-
Der Speicher 132 ist dazu ausgelegt, Daten und Programmanweisungen zu speichern, die, wenn sie durch den Prozessor 130 ausgeführt werden, die persönliche Rechenvorrichtung 40 befähigen, verschiedenste hier beschriebene Operationen durchzuführen. Der Speicher 132 kann eine beliebige Art von Vorrichtung sein, die fähig ist zum Speichern von für den Prozessor 130 zugreifbaren Informationen, wie etwa eine Speicherkarte, ROM, RAM, Festplattenlaufwerke, Platten, Flash-Speicher oder ein beliebiges verschiedener anderer computer-lesbarer Medien, die als Datenablagevorrichtungen dienen, wie sie dem Durchschnittsfachmann bekannt sind.
-
Der Anzeigebildschirm 134 kann beliebige von verschiedensten bekannten Arten von Anzeigen umfassen, wie etwa LCD- oder OLED-Bildschirme. Die Benutzerschnittstelle 136 kann eine Vielfalt von Schnittstellen zum Betreiben der persönlichen Rechenvorrichtung 40 beinhalten, wie etwa Tasten, Schalter, eine Tastatur oder ein anderes Tastenfeld, Lautsprecher und ein Mikrofon. Alternativ oder zusätzlich kann der Anzeigebildschirm 134 einen Berührungsbildschirm umfassen, der ausgelegt ist zum Empfangen von Berührungseingaben von einem Benutzer.
-
Das Netzwerkkommunikationsmodul 138 kann einen oder mehrere Transceiver, Modems, Prozessoren, Speicher, Oszillatoren, Antennen oder andere Hardware umfassen, die üblicherweise in einem Kommunikationsmodul enthalten ist, um Kommunikation mit verschiedensten anderen Vorrichtungen, die zumindest die Datenquelle 24 beinhaltet, zu ermöglichen. Insbesondere beinhaltet das Netzwerkkommunikationsmodul 138 im Allgemeinen ein Wi-Fi-Modul, das dafür ausgelegt ist, Kommunikation mit einem Wi-Fi-Netzwerk zu ermöglichen, und/oder einen (nicht gezeigten) Wi-Fi-Router, der dafür ausgelegt ist, Kommunikation mit dem Datenablage-Backend 20 zu ermöglichen. Zusätzlich kann das Netzwerkkommunikationsmodul 138 ein (nicht gezeigtes) Bluetooth®-Modul sowie ein oder mehrere Zellenmobilfunkmodems, die ausgelegt sind zum Kommunizieren mit drahtlosen Telefonnetzen, beinhalten.
-
Die persönliche Rechenvorrichtung 40 kann auch eine jeweilige Batterie oder andere (nicht gezeigte) Leistungsquelle beinhalten, die ausgelegt ist zum Bestromen der verschiedensten Komponenten innerhalb der persönlichen Rechenvorrichtung 40. Bei einer Ausführungsform ist die Batterie der persönlichen Rechenvorrichtung 40 eine wiederaufladbare Batterie, die dafür ausgelegt ist, geladen zu werden, wenn die persönliche Rechenvorrichtung 40 mit einem Batterieladegerät verbunden ist, das zur Verwendung mit der persönlichen Rechenvorrichtung 40 eingerichtet ist.
-
Bei mindestens einer Ausführungsform speichert der Speicher 132 Programmanweisungen eines lokalen Datenlabelwerkzeugs 140 und/oder eines Webbrowsers, der ausgelegt ist zum Zugreifen auf ein äquivalentes webbasiertes Datenlabelwerkzeug 140. Wie im Folgenden weiter ausführlicher beschrieben wird, ist der Prozessor 130 ausgelegt zum Ausführen von Programmanweisungen des Datenlabelwerkzeugs 140, um den menschlichen Labeler 50 zu befähigen, Label zu individuellen Datendateien hinzuzufügen, im Allgemeinen unter Verwendung von nur den anonymisierten Daten 28.
-
Eine Vielfalt von Verfahren und Prozessen zum Betreiben des Datenablage-Backends 20 und/oder der persönlichen Rechenvorrichtung 40 wird im Folgenden beschrieben. In diesen Beschreibungen beziehen sich Aussagen, dass ein Verfahren, ein Prozessor und/oder ein System irgendeine Aufgabe oder Funktion durchführt, auf eine Steuerung oder einen Prozessor (z. B. der Prozessor 102 des Datenablage-Backends 20 oder der Prozessor 130 der persönlichen Rechenvorrichtung 40), die bzw. der programmierte Anweisungen ausführt, die in einem nicht-transitorischen computer-lesbaren Ablagemedium (z. B. der Speicher 104 des Datenablage-Backends 20 oder der Speicher 132 der persönlichen Rechenvorrichtung 40) gespeichert sind, das betriebsfähig mit der Steuerung oder dem Prozessor verbunden ist, um Daten zu manipulieren oder eine oder mehrere Komponenten in dem System 10 zu betreiben, die Aufgabe oder Funktion durchzuführen. Zusätzlich dazu können die Schritte des Verfahrens in einer beliebigen zweckmäßigen chronologischen Reihenfolge durchgeführt werden, unabhängig von der in den Figuren gezeigten Reihenfolge oder der Reihenfolge, in welcher die Schritte beschrieben werden.
-
Datenanonymisierung
-
Wie oben erörtert, beinhalten die von der Datenquelle 24 gesammelten Daten im Allgemeinen Mediendateien, wie etwa Videos, Bilder und/oder Audioclips. Diese von der Datenquelle 24 gesammelten Daten sind in den Datenablagevorrichtungen 120 des Datenablage-Backends 20 gespeichert. Mindestens einige der Videos, Bilder und/oder Audioclips beinhalten persönlich identifizierbare Informationen, die legal oder ethisch einem Team von menschlichen Datenlabelern nicht offengelegt werden können. So wie er hier verwendet wird und jenen Durchschnittsfachleuten bekannt ist, bezieht sich der Ausdruck „persönlich identifizierbare Informationen“ oder „PII“ auf jegliche Repräsentation von Informationen, die, wenn sie allein oder mit anderen relevanten Daten verwendet werden, erlauben, dass die Identität eines Individuums, auf das die Informationen anwendbar sind, entweder durch direkte oder indirekte Mittel auf vernünftige Weise abgeleitet werden kann. Beispiele für persönlich identifizierbare Informationen, die typischerweise in Mediendateien enthalten sein würden, beinhalten Gesichter und andere eindeutig identifizierbare visuelle Merkmale von Leuten in Videos oder Bildern, Stimmen oder eindeutig identifizierbare hörbare Merkmale von Leuten in Audioclips und gewisse in Videos oder Audio gesprochene Wörter oder kontextuelle Informationen.
-
Der Prozessor 102 des Datenablage-Backends 20 ist ausgelegt zum Ausführen von Programmanweisungen einer Anonymisierungs-Engine 26 zum Erzeugen einer Mehrzahl von anonymisierten Datendateien, die in der Datenbank 28 gespeichert werden sollen, basierend auf den nicht-anonymen Datendateien 22. Der Prozessor 102 erzeugt jede anonymisierte Datendatei durch Entfernen der persönlich identifizierbaren Informationen von einer entsprechenden der nicht-anonymen Datendateien 22. Natürlich erfordert jede Art von Datendatei im Allgemeinen einen anderen Ansatz zum Entfernen von persönlich identifizierbaren Informationen. Beispielhafte Verfahren zum Anonymisieren von Daten, die von der Datenquelle 24 gesammelt werden, werden im Folgenden für Videos, Bilder, Audioclips und kombiniertes Audio/Video erörtert.
-
3 zeigt einen Prozess 200 zum Anonymisieren von Videodaten, um die Gesichter von Leuten in dem Video unkenntlich zu machen, so dass sie nicht erkannt oder persönlich identifiziert werden können. Der Prozess 200 beginnt mit einem Schritt des Empfangens einer Videodatei (Block 210) und, falls nötig, Entschlüsseln der Videodatei (Block 220). Insbesondere liest der Prozessor 102 des Datenablage-Backends 20 eine individuelle Videodatei (z. B. „Video_03“) aus einer Mehrzahl von in den nicht-anonymen Daten 22 gespeicherten Videodateien aus den Datenablagevorrichtungen 120 aus. Bei zumindest einigen Ausführungsformen ist jede individuelle Datei der nicht-anonymen Daten 22 verschlüsselt, beispielsweise mit einem eindeutigen Schlüssel, der mit einem Endbenutzer des Produkts oder des Dienstes, von dem die Daten gesammelt werden, assoziiert ist. In diesen Fällen entschlüsselt der Prozessor 102 die Videodatei unter Verwendung des passenden Schlüssels.
-
Der Prozess 200 macht mit Detektieren von Leuten in jedem Frame des Videos und Bestimmen eines Orts eines Gesichts von jeder Person in jedem Frame weiter (Block 230). Insbesondere detektiert der Prozessor 102 für jeden jeweiligen Frame in der Videodatei Leute in dem Frame und bestimmt einen Ort oder eine Region innerhalb des Frames, der bzw. die dem Gesicht von jeder Person entspricht. Bei mindestens einer Ausführungsform detektiert der Prozessor 102 die Leute in dem Frame und bestimmt den Ort des Gesichts unter Verwendung eines Menschliche-Pose-Schätzungsalgorithmus. Der Durchschnittsfachmann versteht, dass ein Menschliche-Pose-Schätzungsalgorithmus im Allgemeinen ein Algorithmus ist, der einen Satz von Schlüsselpunkten oder - koordinaten innerhalb des Frames bestimmt, der speziellen Verbindungselementen oder Schlüsselmerkmalen einer Person entspricht und die kollektiv ein Posenskelett der Person bilden. Diese Schlüsselpunkte können beispielsweise Füße, Knie, Hüften, Hände, Handgelenke, Finger, Knöchel, Ellenbogen, Schultern, Kopf, Augen, Mund und dergleichen beinhalten. Der Durchschnittsfachmann versteht, dass eine breite Vielfalt von Menschliche-Pose-Schätzungsalgorithmen existiert und dass viele verschiedene Menschliche-Pose-Schätzungsalgorithmen geeignet angepasst werden können, um den Ort des Gesichts von jeder Person in dem Frame zu bestimmen.
-
Der Prozess 200 macht mit Erzeugen von anonymisierten Frames weiter, indem Anteile des jeweiligen Frames, die dem Ort des Gesichts von jeder Person entsprechen, unkenntlich gemacht werden (Block 240). Insbesondere erzeugt der Prozessor 102 für jeden Frame in der Videodatei auf der Grundlage des Originalframes einen anonymisierten Frame, indem der Ort oder die Region innerhalb des Frames, der bzw. die dem Gesicht von jeder Person entspricht, unkenntlich gemacht wird. In dem Beispiel von 3 beinhaltet ein Bild einen anonymisierten Bildframe 242, der zwei Passagiere auf dem Rücksitz eines Fahrzeuginnenraums beinhaltet. Man sieht, dass Regionen 244 und 246 des anonymisierten Bildframes 242, entsprechend den Gesichtern der zwei Passagiere, derart unkenntlich gemacht sind, dass die Passagiere nicht erkannt oder persönlich identifiziert werden können.
-
Der Prozess 200 macht, als Reaktion auf einen Fehler, der bei der Bestimmung des Orts des Gesichts von jeder Person auftritt, mit Erzeugen des entsprechenden anonymisierten Frames durch Unkenntlichmachen von Anteilen des Frames, die einer Gesamtheit von jeder Person entsprechen, weiter (Block 250). Insbesondere bestimmt der Prozessor 102 für jeden Frame in der Videodatei, ob irgendwelche Fehler bei der Bestimmung des Orts des Gesichts von jeder Person in dem Frame auftraten. Beispielsweise kann der Menschliche-Pose-Schätzungsalgorithmus in manchen Fällen dabei versagen, Schlüsselpunkte oder -koordinaten innerhalb des Frames zu bestimmen, der dem Gesicht von jeder Person entspricht, oder kann Schlüsselpunkte oder -koordinaten bestimmen, die auf der Grundlage irgendeines Validierungsprozesses oder heuristisch als nicht plausibel oder ungenau bestimmt werden können. Als Reaktion auf einen solchen Fehler erzeugt der Prozessor 102 auf der Grundlage des Originalframes einen anonymisierten Frame, indem der Ort oder die Region innerhalb des Frames, der bzw. die der Gesamtheit von jeder Person entspricht, unkenntlich gemacht wird. In dem Beispiel von 3 beinhaltet ein anonymisierter Bildframe 252 zwei Passagiere auf dem Rücksitz eines Fahrzeuginnenraums. Man sieht, dass eine größere Region 254 des anonymisierten Bildframes 242, entsprechend der Gesamtheit der zwei Passagiere, derart unkenntlich gemacht ist, dass die Passagiere nicht erkannt oder persönlich identifiziert werden können. Auf diese Weise wird sichergestellt, dass der anonymisierte Bildframe die Gesichter der Leute in dem Frame richtig verdeckt, selbst wenn der genaue Ort des Gesichts von jeder Person nicht bestimmt werden kann.
-
Schließlich macht der Prozess 200 mit Speichern der anonymisierten Videodatei weiter (Block 260). Insbesondere schreibt der Prozessor 102 die anonymisierten Bildframes in die anonymisierte Datenbank 28. Bei zumindest einigen Ausführungsformen rekombiniert der Prozessor 102 die anonymisierten Bildframes, um eine anonymisierte Videodatei zu bilden, und speichert die anonymisierte Videodatei in der anonymisierten Datenbank 28.
-
Der Durchschnittsfachmann versteht, dass der Prozess 200 zum Anonymisieren von Bildframes von Videodaten gleichermaßen auf Bilder angewandt werden kann, die nicht Teil eines Videos sind. Dementsprechend wird der äquivalente Prozess zum Anonymisieren von Nicht-Video-Bilddaten durch Unkenntlichmachen der Gesichter von Leuten in den Bildern hier nicht separat beschrieben.
-
4 zeigt einen Prozess 300 zum Anonymisieren von Audiodaten, um die Stimmen zu verzerren und die von Leuten in dem Audio gesprochenen Worte zu dekontextualisieren, so dass sie nicht erkannt oder persönlich identifiziert werden können. Der Prozess 300 beginnt mit einem Schritt des Empfangens einer Audiodatei (Block 310) und, falls nötig, Entschlüsseln der Audiodatei (Block 320). Insbesondere liest der Prozessor 102 des Datenablage-Backends 20 eine individuelle Audiodatei (z. B. „Audio_03“) aus einer Mehrzahl von in den nicht-anonymen Daten 22 gespeicherten Audiodateien aus den Datenablagevorrichtungen 120 aus. Bei zumindest einigen Ausführungsformen ist jede individuelle Datei der nicht-anonymen Daten 22 verschlüsselt, beispielsweise mit einem eindeutigen Schlüssel, der mit einem Endbenutzer des Produkts oder des Dienstes, von dem die Daten gesammelt werden, assoziiert ist. In diesen Fällen entschlüsselt der Prozessor 102 die Audiodatei unter Verwendung des passenden Schlüssels.
-
Der Prozess 300 macht mit Verzerren der Stimme von jeder Person in dem Audioclip der Audiodatei weiter (Block 330). Insbesondere erzeugt der Prozessor 102 einen verzerrten Audioclip 332, indem eine Stimme von jeder Person in dem Roh-Audioclip 322 der Audiodatei verzerrt wird. Bei manchen Ausführungsformen erzeugt der Prozessor 102 den verzerrten Audioclip durch Verzerren des gesamten Audioclips, wodurch die Stimme von jeder Person in dem Audioclip verzerrt wird. In manchen Ausführungsformen filtert der Prozessor den Audioclip oder verarbeitet diesen anderweitig alternativ, um die Stimme von jeder Person in dem Audioclip zu isolieren, verzerrt die isolierten Stimmen und rekombiniert die verzerrten Stimmen dann mit dem Hintergrundaudio, um den verzerrten Audioclip zu erzeugen. Der Durchschnittsfachmann versteht, dass eine breite Vielfalt von Sprachverzerrungstechniken geeignet verwendet werden kann, um die Identität von aufgezeichneter Sprache zu maskieren, während die Verständlichkeit der Sprache aufrechterhalten wird.
-
Der Prozess 300 macht mit Schneiden des Audioclips in eine Mehrzahl von kürzeren Audiosegmenten weiter (Block 340). Insbesondere segmentiert der Prozessor 102 den verzerrten Audioclip in eine Mehrzahl von anonymisierten Audioclipsegmenten 342. Bei manchen Ausführungsformen segmentiert der Prozessor 102 den verzerrten Audioclip in anonymisierte Audioclipsegmente 342, die jeweils eine vorbestimmte Dauer (z. B. 10 Sekunden) aufweisen. Bei manchen Ausführungsformen segmentiert der Prozessor 102 den verzerrten Audioclip in anonymisierte Audioclipsegmente 342, die jeweils variable Dauern um eine vorbestimmte Dauer aufweisen (z. B. 10±2 Sekunden). Bei einer Ausführungsform bestimmt der Prozessor 102 die variablen Dauern der anonymisierten Audioclipsegmente 342, um somit Aufspalten jeglicher gesprochener Worte über zwei Segmente hinweg zu vermeiden. Mit anderen Worten spaltet der Prozessor 102 den Audioclip nur zu Zeiten zwischen gesprochenen Worten auf.
-
Der Prozess 300 macht mit Speichern der anonymisierten Audioclipdateien weiter (Block 350). Insbesondere schreibt der Prozessor 102 die anonymisierten Audioclipsegmente 342 als eine Mehrzahl von separaten Audiodateien (z. B. „Audio_03a“, „Audio_03b“, „Audio_03c“ usw.) in die anonymisierte Datenbank 28. Jede dieser separaten Audiodateien wird verschiedenen menschlichen Labelern 50 zum Labeln zugeteilt. Auf diese Weise hat die Segmentierung des Audioclips den Effekt der Dekontextualisierung und anonymisiert den Audioclip somit weiter, da kein individueller menschlicher Labeler 50 über den vollen Kontext dessen, was in den Audioclipsegmenten gehört wird, verfügt.
-
Sobald die Label für die Audioclipsegmente empfangen wurden, macht der Prozess 300 mit Aggregieren der empfangenen Label weiter (Block 360). Der Prozessor 102 empfängt insbesondere die Label von den menschlichen Labelern 50 für jede der Mehrzahl von separaten Audiodateien und speichert die Label in Assoziation miteinander und in Assoziation mit der Original-Roh-Audiodatei, entweder in der Datenbank 22 oder in irgendeiner anderen Datenbank, die für gelabelte Daten designiert ist (nicht gezeigt).
-
5 zeigt einen Prozess 400 zum Anonymisieren von Audio-/Videodaten, so dass Leute in den Audio-/Videodaten nicht erkannt oder persönlich identifiziert werden können. Der Prozess 400 beginnt mit einem Schritt des Empfangens einer Audio-/Videodatei (Block 410) und, falls nötig, Entschlüsseln der Audio-/Videodatei (Block 420). Insbesondere liest der Prozessor 102 des Datenablage-Backends 20 eine individuelle Audiodatei und eine assoziierte Video- oder Bilddatei (z. B. „Audio/Video_03“) aus einer Mehrzahl von in den nicht-anonymen Daten 22 gespeicherten Audio-/Videodateien aus den Datenablagevorrichtungen 120 aus. Die individuelle Audiodatei und die assoziierte Video- oder Bilddatei werden im Allgemeinen während einer selben Zeitperiode durch die Datenquelle 24 aufgenommen. Bei zumindest einigen Ausführungsformen ist jede individuelle Datei der nicht-anonymen Daten 22 verschlüsselt, beispielsweise mit einem eindeutigen Schlüssel, der mit einem Endbenutzer des Produkts oder des Dienstes, von dem die Daten gesammelt werden, assoziiert ist. In diesen Fällen entschlüsselt der Prozessor 102 die Audiodatei und die assoziierte Video- oder Bilddatei unter Verwendung des bzw. der passenden Schlüssel(s).
-
Der Prozess 400 macht mit Separieren der Audioquellen des Audioclips der Audio-/Videodatei weiter (Block 430). Der Prozessor 102 erzeugt insbesondere isolierte Audioclips 432 durch Isolieren der verschiedenen Audioquellen des rohen Mehrkanal-Audioclips 422 der Audiodatei (d. h. Audio von mehreren in dem Fahrzeug angeordneten Mikrofonen). Insbesondere erzeugt der Prozessor 102 isolierte Audioclips 432, die die Stimme von jeder Person (z. B. „Linker Passagier“ und „Rechter Passagier“) isolieren, indem Hintergrundgeräusche in dem Audioclip und Sprache von jeder anderen Person in dem Audioclip entfernt werden. Bei manchen Ausführungsformen erzeugt der Prozessor 102 einen isolierten Audioclip 432, der das Hintergrundgeräusch in dem Audioclip (z. B. „Radio“) isoliert. Der Durchschnittsfachmann versteht, dass eine breite Vielfalt von Stimmenisolationstechniken oder anderen Audioisolationstechniken geeignet verwendet werden kann, um die verschiedenen Audioquellen des rohen Mehrkanal-Audioclips 422 zu isolieren.
-
Der Prozess 400 macht mit Hinzufügen anonymisierter visueller Informationen zu der Audio-/Videodatei weiter, die einen emotionalen Zustand von jeder Person in der Audio-/Videodatei angeben (Block 440). Der Prozessor 102 detektiert insbesondere ein Gesicht von jeder Person in dem Video und bestimmt eine Klassifizierung eines emotionalen Zustands von jeder Person auf der Grundlage des Gesichts von jeder Person. Bei mindestens einer Ausführungsform führt der Prozessor 102 ein Maschinenlernmodell (z. B. eines der Maschinenlernmodelle 32) aus, um das Gesicht von jeder Person in dem Video zu detektieren und die Klassifizierung eines emotionalen Zustands von jeder Person zu bestimmen. Die möglichen Klassifizierungen können beispielsweise „Glücklich“, „Verärgert“, „Traurig“, „Gestresst“ usw. beinhalten. Der Durchschnittsfachmann versteht, dass eine breite Vielfalt von Bild-/Videoverarbeitungstechniken geeignet verwendet werden kann, um ein Gesicht von jeder Person in dem Video zu detektieren und um eine Klassifizierung eines emotionalen Zustands von jeder Person auf der Grundlage des Gesichts von jeder Person zu bestimmen.
-
Auf der Grundlage der bestimmten Klassifizierung erzeugt der Prozessor 102 ein anonymisiertes Video 442 durch Hinzufügen von Grafikelementen 444 zu dem Rohvideo. Die Grafikelemente 444 sind dafür ausgelegt, die Klassifizierung des emotionalen Zustands von jeder Person anzugeben. Bei mindestens einer Ausführungsform werden die Grafikelemente 444 so zu dem Video hinzugefügt, dass die Grafikelemente das Gesicht von jeder Person verdecken. Die Grafikelemente 444 können beispielsweise Emojis oder ähnliche Bilder beinhalten, die auf dem Gesicht von jeder Person platziert werden, um das Gesicht zu verdecken. Die Emojis oder anderen ähnlichen Bilder werden derart ausgewählt, dass sie die bestimmte Klassifizierung des emotionalen Zustands von jeder Person (z. B. Emoji mit lachendem Gesicht, Emoji mit missbilligendem Gesicht) repräsentieren. Alternativ können in manchen Ausführungsformen einfach Textinformationen zu dem Video hinzugefügt werden, um die bestimmte Klassifizierung des emotionalen Zustands von jeder Person anzugeben. Bei solchen Ausführungsformen sollten die Gesichter von jeder Person in dem Video auf dieselbe Weise unkenntlich gemacht werden, die oben mit Bezug auf den Prozess 200 erörtert wurde.
-
Der Durchschnittsfachmann erkennt, dass in manchen Ausführungsformen ein anonymisiertes Bild, das solche Grafikelemente beinhaltet, auf der Grundlage von einem mit dem Audioclip assoziierten Bild unter Verwendung desselben, oben erörterten Prozesses äquivalent erzeugt werden kann. Dementsprechend wird der Prozess zum Hinzufügen visueller Informationen zu einer assoziierten Bilddatei hier nicht separat beschrieben.
-
Der Prozess 400 macht mit Transformieren der isolierten Audioclips in die Frequenzdomäne weiter (Block 450). Insbesondere bestimmt der Prozessor 102 anonymisierte Audioclips 452 durch Umwandeln der isolierten Audioclips in die Frequenzdomäne unter Verwendung eines Algorithmus, wie etwa der schnellen Fourier-Transformation. Der Durchschnittsfachmann versteht allerdings, dass eine breite Vielfalt von Algorithmen geeignet zum Umwandeln der isolierten Audioclips aus der Zeitdomäne in die Frequenzdomäne verwendet werden kann.
-
Schließlich macht der Prozess 400 mit Speichern der anonymisierten Audio-/Videodateien weiter (Block 460). Insbesondere schreibt der Prozessor 102 die anonymisierten (Frequenzdomänen-)Audioclips 452 und das anonymisierte Video 442 (das die visuellen Informationen beinhaltet) in die anonymisierte Datenbank 28 (z. B. „Audio/Video_03“).
-
Datenlabeln
-
Sobald die nicht-anonymisierten Daten 22 durch die Anonymisierungs-Engine 26 anonymisiert wurden, werden die anonymisierten Daten 28 einem Team von menschlichen Labelern 50 zugeführt, um ein oder mehrere Label zu den Daten hinzuzufügen. Wie oben angemerkt, werden die besonderen Label, die durch die menschlichen Labeler 50 hinzugefügt werden, die im Allgemeinen in einem engen Zusammenhang mit Aufgaben stehen, die durch die Maschinenlernmodelle 32 durchgeführt werden, und somit die besonderen Label weithin in Abhängigkeit von einer durch die Maschinenlernmodelle 32 durchgeführten Aufgabe variieren.
-
Für jede anonymisierte Datendatei von anonymisierten Daten 28 betreibt der Prozessor 102 das Netzwerkkommunikationsmodul 108 zum Senden der jeweiligen anonymisierten Datendatei an eine der persönlichen Rechenvorrichtungen 40 und zum Empfangen mindestens eines Labels für die anonymisierte Datendatei von den persönlichen Rechenvorrichtungen 40. Sobald Label für die anonymisierte Datendatei empfangen wurden, speichert der Prozessor 102 die Label in Assoziation mit der entsprechenden nicht-anonymisierten Datendatei entweder in der Datenbank 22 oder in irgendeiner anderen (nicht gezeigten) für gelabelte Daten designierten Datenbank. Auf diese Weise können die nicht-anonymen Daten 22 durch die menschlichen Labeler 50 gelabelt werden, wobei die menschlichen Labeler 50 im Allgemeinen nur den entsprechenden anonymisierten Daten 28 ausgesetzt werden.
-
Aus der Perspektive der persönlichen Rechenvorrichtungen 40 betreibt jeder menschliche Labeler 50 eine jeweilige persönliche Rechenvorrichtung 40 zum Zugreifen auf die anonymisierten Daten 28 und zum Bereitstellen von Labels für die anonymisierten Daten 28. Insbesondere betreibt der Prozessor 130 das Netzwerkkommunikationsmodul 138 zum Empfangen einer anonymisierten Datendatei von dem Datenablage-Backend 20 über die Web-API 30. Der Prozessor 130 betreibt mindestens eine Ausgabevorrichtung, wie etwa den Anzeigebildschirm 134 und/oder einen Lautsprecher, um die anonymisierte Datendatei auszugeben. Der menschliche Labeler 50 liefert über die Benutzerschnittstelle 136 Eingaben, die durch den Prozessor 130 empfangen werden und die mindestens ein Label für die anonymisierte Datendatei angeben. Schließlich betreibt der Prozessor 130 das Netzwerkkommunikationsmodul 138 zum Senden mindestens eines Labels für die anonymisierte Datendatei an das Datenablage-Backend 20.
-
Im Falle von anonymisierten Videos, individuellen anonymisierten Bildframes aus einem anonymisierten Video und anonymisierten Bildern (z. B. durch den Prozess 200 von 3 erzeugt) betreibt der Prozessor 130 den Anzeigebildschirm 134 zum Anzeigen des anonymisierten Videos, des individuellen anonymisierten Videoframes oder des anonymisierten Bilds. Durch Betrachten des angezeigten Videos, Bildframes oder Bilds bestimmt der menschliche Labeler 50 passende Label für die Szene und/oder die Leute und liefert Benutzereingaben über die Benutzerschnittstelle 136, um die Label zu liefern.
-
6 zeigt eine beispielhafte grafische Benutzerschnittstelle 500 eines Datenlabelwerkzeugs zum Labeln eines anonymisierten Videos, eines anonymisierten Bildframes eines Videos oder eines anonymisierten Bilds. Die grafische Benutzerschnittstelle 500 wird auf dem Anzeigebildschirm 134 der persönlichen Rechenvorrichtung 40 bereitgestellt. Die grafische Benutzerschnittstelle 500 beinhaltet eine Anzeige der anonymisierten Medien 510 (d. h. ein anonymisiertes Video, einen anonymisierten Bildframe eines Videos oder ein anonymisiertes Bild) und ein Labeln-Menü 520. Durch Interagieren mit dem Labeln-Menü 520 kann der menschliche Labeler 50 Label für die anonymisierten Medien 510 hinzufügen. Die Labels können beispielsweise eine oder mehrere breite Klassifizierungen der Szene beinhalten (z. B. „Ruhig“ und „Sprechend“). Zusätzlich können die Label beispielsweise ein oder mehrere detaillierte Label für besondere Leute in der Szene beinhalten (z. B. Koordinaten für das linke und das rechte Auge des zweiten Passagiers). In Abhängigkeit von der Art des Labels kann der menschliche Labeler 50 ein Label aus einer vorbestimmten Liste von akzeptablen Labels auswählen oder, im Falle von Koordinatenlabeln, ein Label auswählen und dann einen entsprechenden Ort auf der Anzeige der anonymisierten Medien 510 anklicken.
-
Bei manchen Ausführungsformen wird der menschliche Labeler 50 mit eingeschränktem Zugriff auf die nicht-anonymisierten Daten, die der zu labelnden anonymisierten Datendatei entsprechen, versehen. Somit betreibt der Prozessor 102 bei manchen Ausführungsformen das Netzwerkkommunikationsmodul 108 zum Senden zumindest eines Anteils der entsprechenden nicht-anonymisierten Datendatei zusammen mit der anonymisierten Datendatei.
-
In dem besonderen Fall des Labelns eines anonymisierten Videos, eines anonymisierten Bildframes eines Videos oder eines anonymisierten Bilds zeigt die grafische Benutzerschnittstelle des Datenlabelwerkzeugs einen beweglichen Cursor an, der über die Benutzerschnittstelle 136 auf dem Anzeigebildschirm 134 beweglich ist. Wie in 7 gezeigt ist, zeigt die grafische Benutzerschnittstelle eine übergeblendete Kombination der anonymisierten Medien und der originalen nicht-anonymen Medien an, wenn der menschliche Labeler 50 den Cursor 600 über einen unkenntlich gemachten Anteil 620 der anonymisierten Medien 610 (d. h. über das unkenntlich gemachte Gesicht) bewegt. Insbesondere beinhaltet die übergeblendete Kombination einen Anteil 630 um den Cursor 600 herum, der die entsprechenden Bilddaten der originalen nicht-anonymen Medien anzeigt. Die übrigen Anteile der übergeblendeten Kombination zeigen die entsprechenden Bilddaten der anonymisierten Medien an. Auf diesem Wege kann der menschliche Labeler 50 unter Verwendung eines kleinen nicht unkenntlich gemachten Kontexts um den Cursor 600 herum präzise Gesichtserkennungsmerkmale (z. B. Koordinaten für die Augen der Person) labeln. Allerdings kann der menschliche Labeler 50 nicht das ganze Gesicht der Person rekonstruieren, so dass die Anonymität der Person erhalten bleibt.
-
Im Falle von anonymisierten Audioclips oder anonymisierten Audioclipsegmenten (z. B. erzeugt durch den Prozess 300 von 5) betreibt der Prozessor 130 einen Lautsprecher zum Abspielen des anonymisierten Audioclips oder des anonymisierten Audioclipsegments. Bei manchen Ausführungsformen betreibt der Prozessor 130 den Anzeigebildschirm 134 zum Anzeigen einer Wellenform des anonymisierten Audioclips oder des anonymisierten Audioclipsegments. Eine grafische Benutzerschnittstelle, die der grafischen Benutzerschnittstelle 500 von 6 äquivalent ist, kann auf dem Anzeigebildschirm 134 bereitgestellt werden. Durch Zuhören oder Betrachten der Wellenform des anonymisierten Audioclips oder des anonymisierten Audioclipsegments bestimmt der menschliche Labeler 50 passende Label für die Szene und/oder die Leute und liefert Benutzereingaben über die Benutzerschnittstelle 136, um die Label zu liefern.
-
Im Falle von anonymisierten Audio-/Videodaten (z. B. erzeugt durch den Prozess 400 von 5) betreibt der Prozessor 130 den Anzeigebildschirm 134 zum Anzeigen des anonymisierten Videos bzw. der anonymisierten Bilder, das bzw. die die Grafikelemente aufweist/aufweisen, die den emotionalen Zustand von jeder Person angeben, und zum Anzeigen eines Frequenzdomänengraphen, der den anonymisierten Audioclip oder das anonymisierte Audioclipsegment repräsentiert. Da allerdings der Audioclip in dem Anonymisierungsprozess in die Frequenzdomäne umgewandelt wurde, hört der menschliche Labeler 50 den anonymisierten Audioclip oder das anonymisierte Audioclipsegment nicht an. Eine grafische Benutzerschnittstelle, die der grafischen Benutzerschnittstelle 500 von 6 äquivalent ist, kann auf dem Anzeigebildschirm 134 bereitgestellt werden. Durch Betrachten des anonymisierten Videos bzw. der anonymisierten Bilder und Studieren des Frequenzdomänengraphen, der den anonymisierten Audioclip oder das anonymisierte Audioclipsegment repräsentiert, bestimmt der menschliche Labeler 50 passende Label für die Szene und/oder die Leute und liefert Benutzereingaben über die Benutzerschnittstelle 136, um die Label zu liefern.
-
Obgleich die Offenbarung in den Zeichnungen und der vorangehenden Beschreibung veranschaulicht und ausführlich beschrieben wurde, sollte diese in ihrem Charakter als veranschaulichend und nicht beschränkend angesehen werden. Es versteht sich, dass nur die bevorzugten Ausführungsformen präsentiert wurden und dass alle Änderungen, Modifikationen und weiteren Anwendungen, die in das Wesen der Offenbarung fallen, geschützt werden sollen.