DE102018125629A1 - DEEP-Learning-basierte Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen - Google Patents

DEEP-Learning-basierte Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen Download PDF

Info

Publication number
DE102018125629A1
DE102018125629A1 DE102018125629.9A DE102018125629A DE102018125629A1 DE 102018125629 A1 DE102018125629 A1 DE 102018125629A1 DE 102018125629 A DE102018125629 A DE 102018125629A DE 102018125629 A1 DE102018125629 A1 DE 102018125629A1
Authority
DE
Germany
Prior art keywords
sensor
sensors
deep learning
data
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102018125629.9A
Other languages
English (en)
Inventor
Wenlong Yang
Tomer RIDER
XiaoPei Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to US15/824,808 priority Critical
Priority to US15/824,808 priority patent/US20190025773A1/en
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102018125629A1 publication Critical patent/DE102018125629A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/005Retouching; Inpainting; Scratch removal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for recognising patterns
    • G06K9/62Methods or arrangements for pattern recognition using electronic means
    • G06K9/6217Design or setup of recognition systems and techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06K9/6256Obtaining sets of training patterns; Bootstrap methods, e.g. bagging, boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for recognising patterns
    • G06K9/62Methods or arrangements for pattern recognition using electronic means
    • G06K9/6267Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for recognising patterns
    • G06K9/62Methods or arrangements for pattern recognition using electronic means
    • G06K9/6267Classification techniques
    • G06K9/6268Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches
    • G06K9/627Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches based on distances between the pattern to be recognised and training or reference patterns
    • G06K9/6271Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches based on distances between the pattern to be recognised and training or reference patterns based on distances to prototypes
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for recognising patterns
    • G06K9/62Methods or arrangements for pattern recognition using electronic means
    • G06K9/6288Fusion techniques, i.e. combining data from various sources, e.g. sensor fusion
    • G06K9/6289Fusion techniques, i.e. combining data from various sources, e.g. sensor fusion of input or preprocessed data
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Computing arrangements based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0454Architectures, e.g. interconnection topology using a combination of multiple neural nets
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Computing arrangements based on biological models using neural network models
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Computing arrangements based on biological models using neural network models
    • G06N3/08Learning methods
    • G06N3/084Back-propagation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference methods or devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/98Detection or correction of errors, e.g. by rescanning the pattern or by human intervention; Evaluation of the quality of the acquired patterns
    • G06V10/993Evaluation of the quality of the acquired pattern
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Computing arrangements based on biological models using neural network models
    • G06N3/04Architectures, e.g. interconnection topology
    • G06N3/0445Feedback networks, e.g. hopfield nets, associative networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30168Image quality inspection

Abstract

Ein Mechanismus zum Ermöglichen einer Deep-Learning-basierten Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen gemäß einer Ausführungsform wird beschrieben. Eine Vorrichtung von Ausführungsformen, wie hierin beschrieben, weist eine Detektions- und Erfassungslogik auf, um einem oder mehreren Sensoren die Erfassung eines oder mehrerer Bilder einer Szene zu ermöglichen, wobei bestimmt wird, dass ein Bild des einen oder der mehreren Bilder unklar ist, wobei der eine oder die mehreren Sensoren eine oder mehrere Kameras aufweisen. Die Vorrichtung umfasst ferner eine Klassifizierungs- und Vorhersagelogik, um einem Deep-Learning-Modell zu ermöglichen, einen mit dem Bild assoziierten Sensor in Echtzeit zu identifizieren.

Description

  • GEBIET
  • Hierin beschriebene Ausführungsformen betreffen allgemein die Datenverarbeitung und insbesondere die Ermöglichung von Deep-Learning-basierter Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen.
  • HINTERGRUND
  • Es wird erwartet, dass autonome Maschinen in den kommenden Jahren exponentiell wachsen werden, was wiederum wahrscheinlich Sensoren, wie beispielsweise Kameras, erfordern wird, um das Wachstum in Bezug auf die Ermöglichung verschiedener Aufgaben, wie beispielsweise autonomes Fahren, anzuführen.
  • Herkömmliche Techniken verwenden mehrere Sensoren, um zu versuchen, eine Daten/Sensor-Fusion anzuwenden, um eine gewisse Redundanz bereitzustellen, um die Genauigkeit zu gewährleisten; diese herkömmlichen Techniken sind jedoch insofern stark eingeschränkt, als sie nicht in der Lage sind, mit Sensoren, die qualitativ minderwertige oder irreführende Daten liefern, umzugehen oder um diese herumzukommen.
  • Figurenliste
  • Ausführungsformen sind beispielhaft und nicht einschränkend in den Figuren der beigefügten Zeichnungen veranschaulicht, in denen gleiche Bezugszeichen auf ähnliche Elemente verweisen.
    • 1 veranschaulicht eine Rechenvorrichtung, die einen automatischen Sensorprüfmechanismus gemäß einer Ausführungsform verwendet.
    • 2 veranschaulicht den automatischen Sensorprüfmechanismus aus 1 gemäß einer Ausführungsform.
    • 3A veranschaulicht statische Eingaben von mehreren Sensoren gemäß einer Ausführungsform.
    • 3B veranschaulicht dynamische Eingaben von einem einzelnen Sensor gemäß einer Ausführungsform.
    • 3C veranschaulicht dynamische Eingaben von einem einzelnen Sensor gemäß einer Ausführungsform.
    • 4A veranschaulicht einen Architekturaufbau mit einer Transaktionssequenz zur Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren unter Verwendung von Deep Learning gemäß einer Ausführungsform.
    • 4B veranschaulicht ein Verfahren zur Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren unter Verwendung von Deep Learning gemäß einer Ausführungsform.
    • 5 veranschaulicht eine Computervorrichtung, die in der Lage ist, eine oder mehrere Ausführungsformen gemäß einer Ausführungsform zu unterstützen und zu implementieren.
    • 6 veranschaulicht eine Ausführungsform einer Rechenumgebung, die in der Lage ist, eine oder mehrere Ausführungsformen gemäß einer Ausführungsform zu unterstützen und zu implementieren.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden zahlreiche spezielle Details dargelegt, Ausführungsformen, wie hierin beschrieben, können jedoch auch ohne diese speziellen Details umgesetzt werden. In anderen Fällen werden wohlbekannte Schaltungen, Strukturen und Techniken nicht im Detail gezeigt, um das Verständnis dieser Beschreibung nicht zu verschleiern.
  • Ausführungsformen stellen eine neuartige Technik zur Deep-Learning-basierten Detektion, Benachrichtigung und Korrektur von kompromittierten Sensoren in autonomen Maschinen bereit. In einer Ausführungsform kann die automatische Prüfung eines oder mehrere von Detektion von kompromittierten Sensoren, Ausgeben von Warnmeldungen, um vor den kompromittierten Sensoren zu warnen, Anbieten der Möglichkeit, jegliche Verzerrungen von kompromittierten Sensoren in Echtzeit zu beheben, und/oder dergleichen umfassen.
  • Es wird erwogen, dass Ausführungsformen nicht auf eine Anzahl oder einen Typ von Sensoren beschränkt sind; der Kürze, Klarheit und Verständlichkeit halber können jedoch eine oder mehrere Kameras als beispielhafte Sensoren in diesem Dokument verwendet werden, aber die Ausführungsformen sind nicht darauf beschränkt.
  • Es wird erwogen, dass Begriffe wie „Anforderung“, „Abfrage“, „Job“, „Arbeit“, „Arbeitselement“ und „Arbeitslast“ in diesem Dokument austauschbar verwendet werden können. In ähnlicher Weise kann eine „Anwendung“ oder ein „Agent“ ein Computerprogramm, eine Softwareanwendung, ein Spiel, eine Workstation-Anwendung usw. bezeichnen oder aufweisen, das bzw. die über eine Anwendungsprogrammierschnittstelle (API, Application Programming Interface) angeboten wird, wie beispielsweise eine kostenlose Rendering-API, wie beispielsweise Open Graphics Library (OpenGL®), DirectX® 11, DirectX® 12 usw., wobei „Dispatch“ austauschbar als „Arbeitseinheit“ oder „Draw“ bezeichnet werden kann und „Anwendung“ in ähnlicher Weise austauschbar als „Workflow“ oder einfach als „Agent“ bezeichnet werden kann. Beispielsweise kann eine Arbeitslast, wie beispielsweise die eines dreidimensionalen (3D-) Spiels, eine beliebige Anzahl und einen beliebigen Typ von „Frames“ aufweisen und ausgeben, wobei jeder Frame ein Bild (z. B. Segelboot, menschliches Gesicht) repräsentieren kann. Ferner kann jeder Frame eine beliebige Anzahl und einen beliebigen Typ von Arbeitseinheiten aufweisen und anbieten, wobei jede Arbeitseinheit einen Teil (z. B. Mast eines Segelboots, Stirn eines menschlichen Gesichts) des Bilds (z. B. Segelboot, menschliches Gesicht) repräsentieren kann, das durch seinen entsprechender Frame repräsentiert wird. Aus Gründen der Einheitlichkeit kann jedoch jedes Element in diesem Dokument mit einem einzelnen Begriff (z. B. „Dispatch“, „Agent“ usw.) bezeichnet werden.
  • In einigen Ausführungsformen können Begriffe wie „Anzeigebildschirm“ und „Anzeigeoberfläche“ austauschbar verwendet werden, wobei auf den sichtbaren Teil einer Anzeigevorrichtung Bezug genommen wird, während der Rest der Anzeigevorrichtung in einer Rechenvorrichtung, beispielsweise in einem Smartphone, einer tragbaren Vorrichtung usw., eingebettet sein kann. Es wird erwogen und ist zu beachten, dass Ausführungsformen nicht auf eine bestimmte Rechenvorrichtung, eine bestimmte Softwareanwendung, eine bestimmte Hardwarekomponente, eine bestimmte Anzeigevorrichtung, einen bestimmten Anzeigebildschirm oder eine bestimmte Anzeigeoberfläche, ein bestimmtes Protokoll, einen bestimmten Standard usw. beschränkt sind. Beispielsweise können Ausführungsformen auf eine beliebige Anzahl und einen beliebigen Typ von Echtzeit-Anwendungen auf einer beliebigen Anzahl und einem beliebigen Typ von Computern angewendet und mit diesen verwendet werden, wie beispielsweise Desktops, Laptops, Tablet-Computern, Smartphones, Head-Mounted-Displays und anderen tragbaren Vorrichtungen und/oder dergleichen. Ferner können beispielsweise Rendering-Szenarien für eine effiziente Leistung unter Verwendung dieser neuartigen Technik von einfachen Szenarien wie Desktop-Compositing bis hin zu komplexen Szenarien wie beispielsweise 3D-Spielen, Augmented-Reality-Anwendungen usw. reichen.
  • Es ist zu beachten, dass in diesem Dokument auf Begriffe oder Akronyme wie das konvolutionelle neuronale Netz (CNN, Convolutional Neural Network), CNN, das neuronale Netz (NN), NN, das tiefe neuronale Netz (DNN, Deep Neural Network), DNN, das rekurrente neuronale Netz (RNN), RNN, und/oder dergleichen austauschbar Bezug genommen werden kann. Ferner kann in diesem Dokument auf Begriffe wie „autonome Maschine“ oder einfach „Maschine“, „autonomes Fahrzeug“ oder einfach „Fahrzeug“, „autonomer Agent“ oder einfach „Agent“, „autonome Vorrichtung“ oder „Rechenvorrichtung“, „Roboter“ und/oder dergleichen austauschbar Bezug genommen werden.
  • 1 veranschaulicht eine Rechenvorrichtung 100, die einen automatischen Sensorprüfmechanismus („automatischen Prüfmechanismus“) 110 gemäß einer Ausführungsform verwendet. Die Rechenvorrichtung 100 repräsentiert eine Kommunikations- und Datenverarbeitungsvorrichtung, die eine beliebige Anzahl und beliebigen Typ von intelligenten Vorrichtungen aufweist oder repräsentiert, wie beispielsweise (ohne Einschränkung) intelligente Befehlsvorrichtungen oder intelligente persönliche Assistenten, Heim-/Büroautomationssystem, Haushaltsgeräte (z. B. Waschmaschinen, Fernseher usw.), mobile Vorrichtungen (z. B. Smartphones, Tablet-Computer usw.), Gaming-Vorrichtungen, Handheld-Vorrichtungen, tragbare Vorrichtungen (z. B. Smartwatches, Smart-Armbänder usw.), Virtual-Reality(VR)-Vorrichtungen, Head-Mounted-Displays (HMDs), Vorrichtungen für das Internet der Dinge (IoT, Internet of Things), Laptop-Computer, Desktop-Computer, Server-Computer, Set-Top-Boxen (z. B. Internet-basierte Set-Top-Boxen für Kabelfernsehen usw.), Global-Positioning-System(GPS)-basierte Vorrichtungen usw.
  • In einigen Ausführungsformen kann die Rechenvorrichtung 100 (ohne Einschränkung) autonome Maschinen oder künstlich intelligente Agenten umfassen, wie beispielsweise mechanische Agenten oder Maschinen, elektronische Agenten oder Maschinen, virtuelle Agenten oder Maschinen, elektromechanische Agenten oder Maschinen usw. Beispiele für autonome Maschinen oder künstlich intelligente Agenten können (ohne Einschränkung) Roboter, autonome Fahrzeuge (z. B. selbstfahrende Autos, selbstfliegende Flugzeuge, selbstsegelnde Boote usw.), autonome Geräte (selbstfahrende Baufahrzeuge, selbsttätige medizinische Geräte usw.) und/oder dergleichen einschließen. Ferner sind „autonome Fahrzeuge“ nicht auf Automobile beschränkt, sondern können eine beliebige Anzahl und einen beliebigen Typ autonomer Maschinen umfassen, wie beispielsweise Roboter, autonome Geräte, autonome Haushaltsgeräte und/oder dergleichen, und eine oder mehrere beliebige Aufgaben oder Operationen, die sich auf solche autonomen Maschinen beziehen, können austauschbar mit autonomem Fahren referenziert werden.
  • Beispielsweise kann die Rechenvorrichtung 100 eine Computerplattform aufweisen, die eine integrierte Schaltung („IC“, Integrated Circuit) hostet, wie beispielsweise ein System auf einem Chip („SoC“ oder „SOC“, System-on-a-Chip), das verschiedene Hardware- und/oder Softwarekomponenten der Rechenvorrichtung 100 auf einem einzelnen Chip integriert.
  • Wie veranschaulicht, kann die Rechenvorrichtung 100 in einer Ausführungsform eine beliebige Anzahl und einen beliebigen Typ von Hardware- und/oder Softwarekomponenten aufweisen, wie beispielsweise (ohne Einschränkung) eine Grafikverarbeitungseinheit („GPU“, Graphics Processing Unit, oder einfach „Grafikprozessor“) 114, einen Grafiktreiber (auch als „GPU-Treiber“, „Grafiktreiberlogik“, „Treiberlogik“, Benutzermodustreiber (UMD, User-Mode Driver), UMD, Benutzermodustreiber-Framework (UMDF, User-Mode Driver Framework), UMDF, oder einfach „Treiber“ bezeichnet) 116, eine zentrale Verarbeitungseinheit („CPU“, Central Processing Unit, oder einfach „Anwendungsprozessor“) 112, einen Speicher 104, Netzvorrichtungen, Treiber oder dergleichen sowie Eingabe/Ausgabe(E/A)-Quellen 108, wie beispielsweise Berührungsbildschirme, Touch-Panels, Touch-Pads, virtuelle oder reguläre Tastaturen, virtuelle oder reguläre Mäuse, Ports, Verbinder usw. Die Rechenvorrichtung 100 kann ein Betriebssystem (BS) 106 aufweisen, das als eine Schnittstelle zwischen Hardware- und/oder physikalischen Ressourcen der Rechenvorrichtung 100 und einem Benutzer dient.
  • Es versteht sich, dass ein weniger oder besser ausgestattetes System als das oben beschriebene Beispiel für bestimmte Implementierungen bevorzugt werden kann. Daher kann die Konfiguration der Rechenvorrichtung 100 von Implementierung zu Implementierung abhängig von zahlreichen Faktoren, wie beispielsweise Preisbeschränkungen, Leistungsanforderungen, technologischen Verbesserungen oder anderen Umständen, variieren.
  • Ausführungsformen können implementiert werden als beliebige oder eine Kombination von: einem oder mehreren Mikrochips oder einer oder mehreren integrierten Schaltungen, die unter Verwendung von einer Hauptplatine, fest verdrahteter Logik, Software, die von einer Speichervorrichtung gespeichert wird und von einem Mikroprozessor ausgeführt wird, Firmware, einer anwendungsspezifischen integrierten Schaltung (ASIC, Application Specific Integrated Circuit) und/oder einem feldprogrammierbaren Gate-Array (FPGA) miteinander verbunden sind. Die Begriffe „Logik“, „Modul“, „Komponente“, „Engine“ und „Mechanismus“ können beispielhaft Software oder Hardware und/oder eine Kombination davon, wie beispielsweise Firmware, einschließen.
  • In einer Ausführungsform kann der automatische Prüfmechanismus 110, wie veranschaulicht, vom Betriebssystem 106 in Kommunikation mit (einer) E/A-Quelle(n) 108 der Rechenvorrichtung 100 gehostet werden. In einer anderen Ausführungsform kann der automatische Prüfmechanismus 110 vom Grafiktreiber 116 gehostet oder ermöglicht werden. In einer noch weiteren Ausführungsform kann der automatische Prüfmechanismus 110 von der Grafikverarbeitungseinheit („GPU“, Graphics Processing Unit, oder einfach „Grafikprozessor“) 114 oder Firmware des Grafikprozessors 114 oder einem Teil davon gehostet werden. Beispielsweise kann der automatische Prüfmechanismus 110 in der Verarbeitungshardware des Grafikprozessors 114 eingebettet oder als Teil davon implementiert sein. In ähnlicher Weise kann der automatische Prüfmechanismus 110 in einer noch weiteren Ausführungsform von der zentralen Verarbeitungseinheit („CPU“, Central Processing Unit, oder einfach „Anwendungsprozessor“) 112 oder einem Teil davon gehostet werden. Beispielsweise kann der automatische Prüfmechanismus 110 in der Verarbeitungshardware des Anwendungsprozessors 112 eingebettet oder als Teil davon implementiert sein.
  • In noch einer anderen Ausführungsform kann der automatische Prüfmechanismus 110 von einer beliebigen Anzahl und einem beliebigen Typ von Komponenten der Rechenvorrichtung 100 oder einem Teil davon gehostet werden, beispielsweise kann ein Teil des automatischen Prüfmechanismus 110 von einem Betriebssystem 116 oder einem Teil davon gehostet werden, ein anderer Teil kann von einem Grafikprozessor 114 oder einem Teil davon gehostet werden, ein anderer Teil kann von einem Anwendungsprozessor 112 oder einem Teil davon gehostet werden, während ein oder mehrere Teile des automatischen Prüfmechanismus 110 von einem Betriebssystem 116 und/oder einer beliebigen Anzahl und einem beliebigen Typ von Vorrichtungen der Rechenvorrichtung 100 oder einem Teil davon gehostet werden können. Es wird erwogen, dass Ausführungsformen nicht auf eine bestimmte Implementierung oder ein bestimmtes Hosting des automatischen Prüfmechanismus 110 beschränkt sind und dass ein oder mehrere Teile oder eine oder mehrere Komponenten des automatischen Prüfmechanismus 110 als Hardware, Software oder eine beliebige Kombination davon, wie beispielsweise Firmware, verwendet oder implementiert werden können.
  • Die Rechenvorrichtung 100 kann Netzschnittstellen hosten, um Zugriff auf ein Netz bereitzustellen, wie beispielsweise ein LAN, ein Wide Area Network (WAN), ein Metropolitan Area Network (MAN), ein Personal Area Network (PAN), Bluetooth, ein Cloud-Netz, ein mobiles Netz (z. B. 3rd Generation (3G), 4. Generation (4G) usw.), ein Intranet, das Internet usw. Netzschnittstellen können beispielsweise eine drahtlose Netzschnittstelle mit einer Antenne einschließen, die eine oder mehrere Antennen repräsentieren kann. Netzschnittstellen können beispielsweise auch eine drahtgebundene Netzschnittstelle zur Kommunikation mit entfernten Vorrichtungen über ein Netzkabel einschließen, das beispielsweise ein Ethernet-Kabel, ein Koaxialkabel, ein Glasfaserkabel, ein serielles Kabel oder ein Parallelkabel sein kann.
  • Ausführungsformen können beispielsweise als ein Computerprogrammprodukt bereitgestellt werden, das ein oder mehrere maschinenlesbare Medien mit darauf gespeicherten maschinenausführbaren Anweisungen aufweist, die, wenn sie von einer oder mehreren Maschinen, wie beispielsweise einem Computer, einem Computernetz oder anderen elektronischen Vorrichtungen, ausgeführt werden, dazu führen können, dass die eine oder mehreren Maschinen Operationen gemäß hierin beschriebenen Ausführungsformen ausführen. Ein maschinenlesbares Medium kann Disketten, optische Platten, CD-ROMs (Compact Disc-Read Only Memorys) und magnetooptische Platten, ROMs, RAMs, EPROMs (Erasable Programmable Read Only Memory), EEPROMs (Electrically Erasable Programmable Read Only Memories), magnetische oder optische Karten, Flash-Speicher oder andere Typen von Medien/maschinenlesbaren Medien, die zum Speichern von maschinenausführbaren Anweisungen geeignet sind, aufweisen, ist jedoch nicht darauf beschränkt.
  • Darüber hinaus können Ausführungsformen als ein Computerprogrammprodukt heruntergeladen werden, wobei das Programm von einem entfernten Computer (z. B. einem Server) zu einem anfordernden Computer (z. B. einem Client) mittels eines oder mehrerer Datensignale, die in einer Trägerwelle oder einem anderen Propagationsmedium eingebettet und/oder moduliert sind, über eine Kommunikationsverbindung (z. B. eine Modem- und/oder Netzverbindung) übertragen werden kann.
  • In diesem Dokument kann der Begriff „Benutzer“ austauschbar als „Betrachter“, „Beobachter“, „Sprecher“, „Person“, „Individuum“, „Endbenutzer“ und/oder dergleichen bezeichnet werden. Es ist zu beachten, dass in diesem Dokument auf Begriffe wie „Grafikdomäne“ austauschbar mit „Grafikverarbeitungseinheit“, „Grafikprozessor“ oder einfach „GPU“ und ähnlich Bezug genommen wird, auf „CPU-Domäne“ oder „Host-Domäne“ kann austauschbar mit „Computerverarbeitungseinheit“, „Anwendungsprozessor“ oder einfach „CPU“ Bezug genommen werden.
  • Es ist zu beachten, dass Begriffe wie „Knoten“, „Rechenknoten“, „Server“, „Servervorrichtung“, „Cloud-Computer“, „Cloud-Server“, „Cloud-Servercomputer“, „Maschine“, „Host-Maschine“, „Vorrichtung“, „Rechenvorrichtung“, „Computer“, „Rechensystem“ und dergleichen in diesem Dokument austauschbar verwendet werden können. Es ist ferner zu beachten, dass Begriffe wie „Anwendung“, „Softwareanwendung“, „Programm“, „Softwareprogramm“, „Paket“, „Softwarepaket“ und dergleichen in diesem Dokument austauschbar verwendet werden können. Auch können Begriffe wie „Job“, „Eingabe“, „Anforderung“, „Nachricht“ und dergleichen in diesem Dokument austauschbar verwendet werden.
  • 2 veranschaulicht den automatischen Sensorprüfmechanismus 110 aus 1 gemäß einer Ausführungsform. Der Kürze halber werden viele der Details, die bereits unter Bezugnahme auf 1 erörtert wurden, nachfolgend nicht wiederholt oder erörtert. In einer Ausführungsform kann der automatische Prüfmechanismus 110 eine beliebige Anzahl und einen beliebigen Typ von Komponenten aufweisen, wie beispielsweise (ohne Einschränkungen): Detektions- und Erfassungslogik 201; Verkettungslogik 203; Trainings- und Inferenzlogik 205; Kommunikations-/Kompatibilitätslogik 209; und Klassifizierungs- und Vorhersagelogik 207.
  • Die Rechenvorrichtung 100 (in diesem Dokument austauschbar auch als „autonome Maschine“ bezeichnet) wird ferner mit einer Benutzerschnittstelle 219 gezeigt (z. B. auf grafischer Benutzeroberfläche (GUI, Graphical User Interface) basierte Benutzeroberfläche, Webbrowser, auf Cloud basierte Plattform-Benutzeroberfläche, softwareanwendungsbasierte Benutzeroberfläche, andere Benutzer- oder Anwendungsprogrammierschnittstellen (APIs, Application Programming Interfaces) usw.). Die Rechenvorrichtung 100 kann ferner die E/A-Quelle(n) 108 mit Erfassungs-/Abtastungskomponente(n) 231, wie beispielsweise die Kamera(s) A 242A, B 242B, C 242C, D 242D (z. B. Intel® RealSense™ Kamera), Sensoren, Mikrofon(e) 241 usw., und Ausgabekomponente(n) 233, wie beispielsweise die Anzeigevorrichtung(en) oder einfach Anzeige(n) 244 (z. B. integrierte Anzeigen, Tensoranzeigen, Projektionsbildschirme, Anzeigebildschirme usw.), die Lautsprechervorrichtung(en) oder einfach Lautsprecher 243 usw., aufweisen.
  • Die Rechenvorrichtung 100 wird ferner so veranschaulicht, dass sie Zugriff auf eine oder mehrere Datenbanken 225 und/oder eine oder mehrere andere Rechenvorrichtungen über ein oder mehrere Kommunikationsmedien 230 (z. B. Netze wie ein Cloud-Netz, ein Proximity-Netz, das Internet usw.) hat und/oder mit diesen in Kommunikation ist.
  • In einigen Ausführungsformen kann/können die Datenbank(en) 225 ein(e) oder mehrere Speichermedien oder -vorrichtungen, Repositorys, Datenquellen usw. mit einer beliebigen Menge und einem beliebigen Typ von Informationen aufweisen, wie beispielsweise Daten, Metadaten usw., die sich auf eine beliebige Anzahl und einen beliebigen Typ von Anwendungen beziehen, wie beispielsweise Daten und/oder Metadaten in Bezug auf einen oder mehrere Benutzer, physikalische Standorte oder Bereiche, geltende Gesetze, Richtlinien und/oder Vorschriften, Benutzerpräferenzen und/oder -profile, Sicherheits- und/oder Authentifizierungsdaten, historische und/oder bevorzugte Details und/oder dergleichen.
  • Wie zuvor erwähnt, kann die Rechenvorrichtung 100 E/A-Quellen 108 hosten, die die Erfassungs-/Abtastungskomponente(n) 231 und die Ausgabekomponente(n) 233 aufweisen. In einer Ausführungsform kann/können die Erfassungs-/Abtastungskomponente(n) 231 eine Sensoranordnung aufweisen, die Mikrofon(e) 241 (z. B. Ultraschallmikrofone), Kamera(s) 242A-242D (z. B. zweidimensionale (2D-) Kameras, dreidimensionale (3D-) Kameras, Infrarot(IR)-Kameras, Tiefenerkennungskameras usw.), Kondensatoren, Funkkomponenten, Radarkomponenten, Scanner und/oder Beschleunigungsmesser usw. aufweist, jedoch nicht darauf beschränkt. In ähnlicher Weise kann/können die Ausgabekomponente(n) 233 eine beliebige Anzahl und einen beliebigen Typ von Lautsprecher(n) 243, Anzeigevorrichtung(en) 244 (z. B. Bildschirme, Projektoren, Leuchtdioden (LEDs, Light-Emitting Diodes)) und/oder Vibrationsmotoren usw. aufweisen.
  • Beispielsweise kann/können, wie veranschaulicht, die Erfassungs-/Abtastungskomponente(n) 231 eine beliebige Anzahl und einen beliebigen Typ von Mikrofonen 241 aufweisen, wie beispielsweise mehrere Mikrofone oder eine Mikrofonanordnung, wie beispielsweise Ultraschallmikrofone, dynamische Mikrofone, faseroptische Mikrofone, Lasermikrofone usw. Es wird erwogen, dass eines oder mehrere der Mikrofone 241 als eine oder mehrere Eingabevorrichtungen zum Akzeptieren oder Empfangen von Audioeingaben (wie beispielsweise menschliche Stimme) in die Rechenvorrichtung 100 und zum Umwandeln dieses Audios oder Tons in elektrische Signale dienen. In ähnlicher Weise wird erwogen, dass eine oder mehrere der Kameras 242A-242D als eine oder mehrere Eingabevorrichtungen zum Detektieren und Erfassen von Bildern und/oder Videos von Szenen, Objekten usw. dienen und die erfassten Daten als Videoeingaben in die Rechenvorrichtung 100 bereitstellen.
  • Es wird erwogen, dass Ausführungsformen nicht auf eine Anzahl oder einen Typ von Mikrofon(en) 241, Kamera(s) 242A-242D, Lautsprecher(n) 243, Anzeige(n) 244 usw. beschränkt sind. Beispielsweise können, wie durch die Detektions- und Erfassungslogik 201 ermöglicht, eines oder mehrere der Mikrofone 241 verwendet werden, um Sprache oder Ton gleichzeitig von mehreren Benutzern oder Lautsprechern, wie beispielsweise dem Lautsprecher 250, zu detektieren. In ähnlicher Weise können, wie durch die Detektions- und Erfassungslogik 201 ermöglicht, eine oder mehrere der Kameras 242A-242D verwendet werden, um Bilder oder Videos eines geografischen Orts (z. B. eines Raums) und seines Inhalts (z. B. Möbel, elektronische Vorrichtungen, Menschen, Tiere, Pflanzen usw.) zu erfassen und einen Satz von Bildern oder einen Videostrom aus den erfassten Daten zur weiteren Verarbeitung durch den automatischen Prüfmechanismus 110 an der Rechenvorrichtung 100 auszubilden.
  • In ähnlicher Weise können die Ausgabekomponente(n) 233, wie veranschaulicht, eine beliebige Anzahl und einen beliebigen Typ von Lautsprecher(n) 243 aufweisen, die als Ausgabevorrichtungen zum Ausgeben oder Verteilen von Audio von der Rechenvorrichtung 100 für eine beliebige Anzahl oder einen beliebigen Typ von Gründen, wie beispielsweise menschliches Hören oder Konsumieren, dienen. Beispielsweise arbeitet/arbeiten der/die Lautsprecher 243 gegensätzlich zu dem/den Mikrofon(en) 241, wobei der/die Lautsprecher 243 elektrische Signale in Ton umwandelt/umwandeln.
  • Wie zuvor erwähnt, sind Ausführungsformen nicht auf eine Anzahl oder einen Typ von Sensoren beschränkt, die Teil der Erfassungs-/Abtastungskomponente(n) 231, darin eingebettet oder damit gekoppelt sind, wie beispielsweise Mikrofone 241, Kameras 242A-242D und/oder dergleichen. Mit anderen Worten sind Ausführungsformen auf eine beliebige Anzahl und einen beliebigen Typ von Sensoren anwendbar und damit kompatibel; jedoch werden die Kameras 242A-242D in diesem Dokument als Beispiele zum Zwecke der kurzen und klaren Erörterung verwendet. In ähnlicher Weise sind die Ausführungsformen für alle Typen und Art und Weise von Kameras anwendbar, und daher müssen die Kameras 242A-242D nicht von einem bestimmten Typ sein.
  • Wie zuvor erwähnt, wird mit dem Wachstum von autonomen Maschinen, wie beispielsweise selbstfahrenden Fahrzeugen, Drohnen, Haushaltsgeräten usw., erwartet, dass Sensoren aller Art den Weg weisen, bestimmte Aufgaben zu beeinflussen und zu erleichtern, die für die Realisierbarkeit autonomer Maschinen unerlässlich sind, wie beispielsweise Sensoren, die bei selbstfahrenden Fahrzeugen als Augen hinter dem Lenkrad dienen. Daher wird die Datenqualität aus verschiedenen Gründen, wie beispielsweise Sicherheit, Schutz, Vertrauen usw., im Umgang mit autonomen Maschinen zu einem kritischen Faktor, insbesondere in Situationen von Leben und Tod, Geschäftsumgebungen usw.
  • Es wird erwogen, dass qualitativ hochwertige Daten sicherstellen können, dass die künstliche Intelligenz (KI) einer autonomen Maschine, wie beispielsweise der Rechenvorrichtung 100, qualitativ hochwertige Eingaben (z. B. Bilder, Videos usw.) zum Ausgeben von qualitativ hochwertiger Leistung empfängt. Es wird ferner erwogen, dass, selbst wenn einer der Sensoren, wie beispielsweise die Kameras 242A-242D, defekt ist oder nicht sein volles Potenzial ausschöpft (beispielsweise aufgrund von Schlamm auf dem Objektiv oder zu viel Nebel usw.), die Gesamtleistung der Rechenvorrichtung 100 beeinträchtigt werden könnte, da die Genauigkeit beeinträchtigt wird.
  • Beispielsweise stellt der automatische Prüfmechanismus 110 eine neuartige Technik zum Filtern durch die Kameras 242A-242D bereit, um Abnormalitäten bei einer oder mehreren der Kameras 242A-242D zu detektieren, die möglicherweise dafür verantwortlich sind oder das Potenzial dazu haben, weniger als qualitativ hochwertige Eingaben zu bieten, wobei derartige Abnormalitäten in oder mit den Kameras 242A-242D (ohne Einschränkung) Schmutz/Schlamm auf Objektiven, Hindernisse vor Objektiven, Verdeckungen (z. B. Nebel), technische Probleme aufgrund physikalischer Schäden und/oder dergleichen umfassen können.
  • Herkömmliche Techniken sind nicht in der Lage, derartige Abnormalitäten zu detektieren, und können daher nicht die Genauigkeit der Daten garantieren, die von Sensoren autonomer Maschinen gesammelt werden, was oft zu Daten von geringer Qualität oder sogar zu irreführenden Daten führt.
  • Ausführungsformen stellen eine neuartige Technik zur Echtzeit-Detektion von Abnormalitäten bei Sensoren, wie beispielsweise Kameras 242A-242D, Ausgabe von Alarmen oder Warnungen, falls erforderlich, und Behebung oder Reparatur derartiger Abnormalitäten bereit. In einer Ausführungsform stellt der automatische Prüfmechanismus 110 eine neuartige Technik für die automatische Sensorprüfung (SAC, Sensors Automatic Checking) zum Detektieren und Überprüfen des Status jedes Sensors, wie beispielsweise der Kameras 242A-242D, in einem System, wie beispielsweise der autonomen Maschine 100, bereit, um sicherzustellen, dass alle Sensoren ordnungsgemäß funktionieren, bevor Aufgaben ausgeführt werden (z. B. vor dem Fahren eines selbstfahrenden Autos), und um die Sensoren weiterhin zu überprüfen, um sicherzustellen, dass sie weiterarbeiten, oder falls Abnormalitäten vorliegen, dass sie in Echtzeit während der Ausführung einer der Aufgaben (z. B. Fahren) behoben werden.
  • In einer Ausführungsform verwendet der automatische Prüfmechanismus 110 das Deep Learning der autonomen Maschine 100, um in Echtzeit sicherzustellen, dass sich die Kameras 242A-242D und alle anderen Sensoren in einem funktionierenden Zustand befinden oder dass sie wenigstens sofort betreut und im Falle von irgendwelchen Problemen repariert werden. Wie später in diesem Dokument weiter beschrieben wird, kann der automatische Prüfmechanismus 110 tiefe neuronale Netze (DNNs, Deep Neural Networks) verwenden, wie beispielsweise konvolutionelle Deep-Learning-Klassifizierer von konvolutionellen neuronalen Netzen (CNNs, Convolutional Neural Networks), um den Echtzeitstatus der Kameras 242A-242D und anderer Sensoren kontinuierlich und genau zu überprüfen und um dann anhand der Trainingsdaten zu detektieren und vorherzusagen, welche der Kameras 242A-242D oder anderen Sensoren möglicherweise defekt oder außer Betrieb sind.
  • Eine der größten Schwachstellen von herkömmlichen Techniken ist, wenn ein Kameraobjektiv mit Ablagerungen, wie beispielsweise Schmutz, Flecken, Schlamm usw., bedeckt ist, da die Kamera in diesem Falle unabhängig vom Grad oder von der Menge der Ablagerungen nicht zur Detektion oder Erfassung in der Lage ist.
  • Ausführungsformen stellen die Verwendung von Deep Learning auf autonomen Maschinen, wie beispielsweise der autonomen Maschine 100, bereit, um komplexe Sachverhalte zu handhaben, beispielsweise im Falle von Flecken oder Schlamm auf dem Objektiv einer Kamera, wie beispielsweise der Kamera 242A, kann diese Behinderung kontinuierlich beobachtet werden, einschließlich der Berücksichtigung aller Bewegungen oder Änderungen in Verbindung mit der Kamera 242A, dem Fleck und/oder der Szene. Dies wird in Echtzeit detektiert und beobachtet, so dass die defekte oder behinderte Kamera 242A repariert werden kann.
  • In einer Ausführungsform kann die Detektions- und Erfassungslogik 201 des automatischen Prüfmechanismus 110 verwendet werden, um eine oder mehrere Kameras 242A-242D auszulösen, die sich an verschiedenen Positionen befinden, um eine oder mehrere Szenen vor ihnen zu erfassen. Es wird erwogen, dass in einigen Ausführungsformen, wie unter Bezugnahme auf 3A veranschaulicht, mehrere Kameras 242A-242D an ihren Positionen befestigt sein können, die statische Eingaben erfassen, wie beispielsweise die Erfassung der Szene aus verschiedenen Winkeln zur gleichen Zeit. In ähnlicher Weise kann, wie in 3B veranschaulicht, in einer anderen Ausführungsform eine einzelne Kamera, wie beispielsweise die Kamera 242A, verwendet werden, um dynamische Eingaben zu erfassen, wie beispielsweise die Erfassung der Szene aus demselben Winkel zu verschiedenen Zeitpunkten. Bei noch einer weiteren Eingabe kann, wie unter Bezugnahme auf 3C veranschaulicht, der Fleck oder die Ablagerung selbst dynamisch sein oder sich bewegen, so dass eine Kamera, wie beispielsweise die Kamera 242B, verwendet werden kann, um die Szene zu erfassen, während die Bewegung der Ablagerung erfasst wird.
  • Wie oben erörtert, sind Sensoren für Erfassungs-/Abtastungskomponenten 231 nicht auf eine Anzahl oder einen Typ von Kameras 242A-242D oder Mikrofonen 241 beschränkt und dass Sensoren ferner andere Sensoren aufweisen können, wie beispielsweise Light-Detection-and-Ranging(LiDAR)-Sensoren, Ultraschallsensoren und eine beliebige Anzahl und einen beliebigen Typ anderer Sensoren, die in diesem Dokument erwähnt oder beschrieben werden, und dass jegliche Eingabe von derartigen Sensoren zu Klassifizierungszwecken in ein neuronales Netz eingegeben werden kann, wie beispielsweise in eine softmax-Schicht eines CNN.
  • Unter erneuter Bezugnahme auf den automatischen Prüfmechanismus 110 können, wenn eine oder mehrere Kameras 242A-242D eine Szene erfassen, auch alle internen oder externen Probleme mit einer der Kameras 242A-242D detektiert werden, wobei interne Probleme jeglichen physikalischen Defekt (beispielsweise wenn ein Teil des Objektivs oder der Kamera beschädigt ist) oder technische Probleme (beispielsweise dass die Kamera nicht mehr funktioniert) einschließen, während sich externe Probleme auf jegliche Form von Behinderung, wie beispielsweise Schnee, Bäume, Schmutz, Schlamm, Ablagerungen, Personen, Tiere usw., die sich auf dem Objektiv oder in der Sicht des Objektivs befinden könnten, beziehen und den Blick auf die Szene blockieren.
  • Falls beispielsweise Schlamm auf dem Objektiv der Kamera 242A gefunden wird, kann die Detektions- und Erfassungslogik 201 ausgelöst werden, um diesen Schlamm zu detektieren, oder wenigstens, dass die Sicht von der Kamera 242A blockiert ist. Im Falle von Bewegungen, die mit einer der Kameras 242A, der Szene (beispielsweise sich bewegende Personen, Meereswellen, Verkehrsbewegung usw.) und/oder dem Schlamm selbst (beispielsweise Fließen nach unten oder in Windrichtung usw.) assoziiert sind, kann die Detektions- und Erfassungslogik 201 solche Daten sammeln, die Informationen einschließen, die sich auf die Blockierung der Sicht von der Kamera 242A sowie auf eine oder mehrere der oben erwähnten Bewegungen beziehen.
  • Sobald die Daten durch die Detektions- und Erfassungslogik 201 gesammelt wurden, werden sie als Eingaben an die Verkettungslogik 203 weitergeleitet. Wie oben erwähnt, sind Ausführungsformen nicht auf Kameraeingaben beschränkt, und diese Eingaben können von anderen Sensoren stammen und LiDAR-Eingaben, Radareingaben, Mikrofoneingaben und/oder dergleichen einschließen, wobei es bei der Detektion desselben Objekts durch derartige Sensoren zu einer gewissen Überlappung kommen kann. In einer Ausführungsform kann im Falle mehrerer Eingaben von mehreren Sensoren, wie beispielsweise zwei oder mehr Kameras 242A-242D, zur gleichen Zeit oder über verschiedene Zeitpunkte und/oder aus den gleichen oder verschiedenen Winkeln und/oder demselbem Sensor, wie beispielsweise der Kamera 242A, über mehrere Zeitpunkte und/oder aus den gleichen oder verschiedenen Winkeln dann die Verkettungslogik 203 ausgelöst werden, um diese Eingaben zu einer einzelnen Eingabe zu verketten (oder konkatenieren).
  • In einer Ausführungsform kann dann jede verkettete Eingabe mehrerer Eingaben an ein neuronales Deep-Learning-Netzmodell, wie beispielsweise ein CNN, zum Training und zur Inferenz durch die Trainings- und Inferenzlogik 205 weitergeleitet werden. In einer Ausführungsform führt die Verkettungslogik 203 eine Verkettung außerhalb oder vor der Handhabung der Daten durch das Deep-Learning-Modell durch, so dass eine bessere Flexibiltät beim Festlegen ihrer Reihenfolgen vorhanden ist, um dem Trainingsprozess weiter zu nutzen. Es wird erwogen, dass Ausführungsformen nicht auf eine Anzahl und einen Typ von Deep-Learning-Modellen beschränkt sind, so dass ein CNN eine beliebige Art oder ein beliebiger Typ von CNN sein kann, die üblicherweise verwendet werden, wie beispielsweise AlexNet, GoogLeNet, RESNET und/oder dergleichen.
  • Es wird erwogen, dass ein neuronales Deep-Learning-Netz/Modell, wie beispielsweise ein CNN, eine Kombination aus einem künstlichen neuronalen Netz zum Analysieren, Trainieren und Inferieren eines beliebigen Bereichs von Eingabedaten bezeichnet. Beispielsweise ist ein CNN viel schneller und kann im Vergleich zu herkömmlichen Algorithmen eine relativ geringere Datenverarbeitung erfordern. Es wird ferner erwogen, dass, sobald die Eingabedaten bei einem CNN empfangen werden, die Daten dann durch Schichten, wie beispielsweise eine Faltungsschicht, eine Pooling-Schicht, eine Rectified-Linear-Unit(ReLU)-Schicht, eine vollständig verbundene Schicht, eine Verlust-/Ausgabeschicht usw., verarbeitet werden können, wobei jede Schicht spezielle Verarbeitungsaufgaben für Trainings- und Inferenzzwecke durchführt.
  • Beispielsweise kann eine Faltungsschicht als eine Kernschicht mit einer Anzahl von lernfähigen Filtern oder Kernels mit rezeptiven Feldern betrachtet werden, die sich über die gesamte Tiefe des Eingabevolumes erstrecken. In dieser Faltungsschicht kann die Verarbeitung von Daten aus den Eingaben starten und zu einer anderen Schicht übergehen, beispielsweise einer Pooling-Schicht, in der eine Form von nichtlinearem Downsampling durchgeführt wird, wobei beispielsweise diese nichtlinearen Downsampling-Funktionen ein Pooling, wie beispielsweise maximales Pooling, implementieren können. In ähnlicher Weise werden die Daten auf der ReLU-Schicht weiter verarbeitet und trainiert, die die nichtsättigende Aktivierungsfunktion anwendet, um nichtlineare Eigenschaften der Entscheidungsfunktion und des Netzes zu erhöhen, ohne die rezeptiven Felder der Faltungsschicht zu beeinträchtigen.
  • Obwohl Ausführungsformen nicht auf eine Anzahl oder einen Typ von Schichten eines neuronalen Netzes, wie beispielsweise ein CNN, beschränkt sind, kann der Trainingsprozess mit der vollständig verbundenen Schicht fortgesetzt werden, wobei nach mehreren Faltungs- und Pooling-Schichten ein High-Level-Reasoning bereitgestellt wird. Mit anderen Worten kann ein CNN Eingabedaten empfangen und ein Feature-Mapping, ein Sampling, Faltungen, ein Subsampling, gefolgt von Ausgabeergebnissen, durchführen.
  • Beispielsweise kann eine Verlust-/Ausgabeschicht angeben, wie das Training die Abweichung zwischen den vorhergesagten Labels und wahren Labels bestraft, wobei diese Verlust-/Ausgabeschicht als die letzte Schicht im CNN betrachtet werden kann. Beispielsweise kann ein softmax-Verlust zum Vorhersagen einer einzelnen Klasse von sich gegenseitig ausschließenden Klassen verwendet werden. Ferner können in einer Ausführungsform, beispielsweise Klassifizierungs- und Vorhersagelogik 207, softmax- und Klassifizierungsschichten der Verlust-/Ausgabeschicht zu Klassifizierungs- und Vorhersagezwecken verwendet werden, wobei die beiden Schichten jeweils durch Funktionen der softmax-Schicht und der Klassifizierungsschicht erzeugt werden.
  • Nachdem in einer Ausführungsform alle Daten von Eingaben für das Training und die Inferenz verarbeitet worden sind, kann die Klassifizierungs- und Vorhersagelogik 207 dann verwendet werden, um zu identifizieren, welcher der Sensoren, beispielsweise die Kameras 242A-242D, Probleme aufweisen kann. Nach der Identifizierung kann die Klassifizierungs- und Vorhersagelogik 207 eine Benachrichtigung bezüglich der schlechten Kamera der Kameras 242A-242D ausgeben, wie beispielsweise Anzeige der Benachrichtigung bei der/den Anzeigevorrichtung(en) 244, Ausgabe durch die Lautsprechervorrichtung(en) 243 usw. In einer Ausführungsform kann diese Benachrichtigung dann verwendet werden, wie beispielsweise durch einen Benutzer, um zur defekten Kamera der Kameras 242A-242D zu gelangen und das Problem zu beheben, wie beispielsweise den Schlamm vom Objektiv abwischen, alle technischen Störungen mit dem Objektiv manuell oder automatisch beheben, die defekte Kamera der Kameras 242-242D durch eine andere ersetzen und/oder dergleichen.
  • In einer Ausführungsform können bestimmte Labels zu Benachrichtigungszwecken verwendet werden, beispielsweise kann label: 0 bedeuten alle Sensoren sind ok, während label: 1 bedeuten kann erster Sensor ist beschädigt, label: 2 anzeigen kann zweiter Sensor ist beschädigt, label: 3 bedeuten kann dritter Sensor ist beschädigt, label: 4 anzeigen kann vierter Sensor ist beschädigt und so weiter. Ähnlich kann label: 1 anzeigen erster Sensor ist ok, label: 2 kann anzeigen zweiter Sensor ist ok und/oder dergleichen. Es wird erwogen, dass Ausführungsformen nicht auf irgendeine Form der Benachrichtigung beschränkt sind und dass beliebige oder eine Kombination von Wörtern, Zahlen, Bildern, Videos, Audio usw. verwendet werden können, um die Ergebnisse zu übermitteln, ob Sensoren gut funktionieren oder nicht.
  • Ferner kann beispielsweise bei einer einzelnen Eingabedatenschicht, die mit jeder der Kameras 242A-242D assoziiert ist, eine Anzahl von Kanälen, wie beispielsweise 12 (3*4=12) Kanäle im Fall von vier Kameras 242A-242D, alle Daten von vier Bildern bereitstellen, die vier Kameras 242A-242D entsprechen, wobei diese Daten zufällig geladen werden können, indem die Reihenfolge der Kanäle unterbrochen wird. Unter Verwendung dieser Daten kann ein Deep-Learning-Modell, wie beispielsweise ein CNN, den Verlust (während des Trainings) und die Genauigkeit (während der Validierung) berechnen, so dass bei der Vorhersage möglicherweise keine Labels verwendet werden müssen. In einigen Ausführungsformen können Trainingsdaten eine große Stichprobe von Bildern einschließen, wie beispielsweise Tausende oder Zehntausende von Stichprobenbildern pro Kamera 242A-242D, während Validierungsdaten auch eine große Stichprobe von Bildern einschließen können, wie beispielsweise Hunderte oder Tausende von Stichprobenbildern pro Kamera 242A-242D und/oder dergleichen, um ein robustes Training bzw. eine robuste Inferenzierung von Daten bereitzustellen, wie durch Trainings- und Inferenzdaten ermöglicht, worauf dann genaue Ergebnisse folgen, einschließlich Identifizierungen, Vorhersagen usw., wie durch die Klassifizierungs- und Vorhersagelogik 207 ermöglicht.
  • Die Erfassungs-/Abtastungskomponente(n) 231 kann/können ferner eine beliebige Anzahl und einen beliebigen Typ von Kameras 242A, 242B, 242C, 242D einschließen, wie beispielsweise Tiefenerkennungskameras oder -erfassungsvorrichtungen (z. B. Intel® RealSense™ Tiefenerkennungskamera), die zum Erfassen von Standbildern und/oder Videos für Rot-Grün-Blau-Bilder (RGB) und/oder RGB-Tiefenbilder (RGB-D, RGB-Depth) für Medien, wie beispielsweise persönliche Medien, bekannt sind. Derartige Bilder mit Tiefeninformationen wurden effektiv für verschiedene Computer-Vision- und Computerfotografieeffekte verwendet, wie beispielsweise (ohne Einschränkungen) Szenenverstehen, Refokussierung, Komposition, Cinemagraphs usw. In ähnlicher Weise können Anzeigen beispielsweise eine beliebige Anzahl und einen beliebigen Typ von Anzeigen einschließen, wie beispielsweise integrierte Anzeigen, Tensoranzeigen, stereoskopische Anzeigen usw., einschließlich (aber nicht darauf beschränkt) eingebetteter oder verbundener Anzeigebildschirme, Anzeigevorrichtungen, Projektoren usw.
  • Die Erfassungs-/Abtastungskomponente(n) 231 kann/können ferner eines oder mehrere von Vibrationskomponenten, taktilen Komponenten, Leitfähigkeitselementen, biometrischen Sensoren, chemischen Detektoren, Signaldetektoren, Elektroenzephalographie, funktioneller Nahinfrarotspektroskopie, Wellendetektoren, Kraftsensoren (z. B. Beschleunigungsmesser), Beleuchtungsgeräten, Augenverfolgungs- oder Blickverfolgungssystem, Kopfverfolgungssystem usw. einschließen, die zum Erfassen einer beliebigen Menge und eines beliebigen Typs von visuellen Daten, wie beispielsweise Bilder (z. B. Fotos, Videos, Filme, Audio-/Videoströme usw.), und nicht-visuellen Daten, wie beispielsweise Audioströme oder -signale (z. B. Ton, Rauschen, Vibration, Ultraschall usw.), Funkwellen (z. B. drahtlose Signale, wie beispielsweise drahtlose Signale mit Daten, Metadaten, Zeichen usw.), chemische Änderungen oder Eigenschaften (z. B. Feuchtigkeit, Körpertemperatur usw.), biometrische Messwerte (z. B. Fingerabdrücke), Gehirnwellen, Gehirnzirkulation, Umgebungs-/Wetterbedingungen, Karten usw., verwendet werden können. Es wird erwogen, dass „Sensor“ und „Detektor“ in diesem Dokument austauschbar verwendet werden können. Es wird ferner erwogen, dass eine oder mehrere Erfassungs-/Abtastungskomponenten 231 ferner eine oder mehrere unterstützende oder ergänzende Vorrichtungen zum Erfassen und/oder Abtasten von Daten aufweisen, wie beispielsweise Beleuchtungsgeräte (z. B. IR-Beleuchtungsgeräte), Leuchten, Generatoren, Soundblocker usw.
  • Es wird ferner erwogen, dass die Erfassungs-/Abtastungskomponente(n) 231 in einer Ausführungsform ferner eine beliebige Anzahl und einen beliebigen Typ von Kontextsensoren (z. B. Linearbeschleunigungsmesser) zum Abtasten oder Erfassen einer beliebigen Anzahl und eines beliebigen Typs von Kontexten (z. B. Schätzen des Horizonts, der linearen Beschleunigung usw. in Bezug auf eine mobile Rechenvorrichtung usw.) aufweisen kann/können. Beispielsweise kann/können die Erfassungs-/Abtastungskomponente(n) 231 eine beliebige Anzahl und einen beliebigen Typ von Sensoren einschließen, wie beispielsweise (ohne Einschränkungen): Beschleunigungsmesser (z. B. Linearbeschleunigungsmesser zum Messen der linearen Beschleunigung usw.); Trägheitsvorrichtungen (z. B. Trägheitsbeschleunigungsmesser, Trägheitsgyroskope, Gyroskope für mikroelektromechanische Systeme (MEMS), Trägheitsnavigatoren usw.); und Gravitationsgradiometer zum Untersuchen und Messen von Schwankungen der Gravitationsbeschleunigung aufgrund von Schwerkraft usw.
  • Ferner kann/können die Erfassungs-/Abtastungskomponente(n) 231 beispielsweise Folgendes einschließen (ohne Einschränkungen): Audio-/visuelle Vorrichtungen (z. B. Kameras, Mikrofone, Lautsprecher usw.); kontextsensitive Sensoren (z. B. Temperatursensoren, Gesichtsausdrucks- und Merkmalsmessungssensoren, die mit einer oder mehreren Kameras von Audio-/visuellen Vorrichtungen arbeiten, Umgebungssensoren (beispielsweise zum Abtasten von Hintergrundfarben, Licht usw.)); biometrische Sensoren (wie beispielsweise zur Detektion von Fingerabdrücken usw., Kalenderwartungs- und -lesevorrichtung usw.); Sensoren für ein globales Positionierungssystem (GPS); Ressourcenanforderer; und/oder TEE-Logik. Die TEE-Logik kann separat verwendet werden oder Teil eines Ressourcenanforderers und/oder eines E/A-Subsystems usw. sein. Die Erfassungs-/Abtastungskomponente(n) 231 kann/können ferner Spracherkennungsvorrichtungen, Fotoerkennungsvorrichtungen, Gesichts- und andere Körpererkennungskomponenten, Sprach-zu-Text-Umwandlungskomponenten usw. einschließen.
  • In ähnlicher Weise kann/können die Ausgabekomponente(n) 233 dynamische taktile Berührungsbildschirme mit taktilen Effektoren als Beispiel für die Darstellung einer Berührungvisualisierung aufweisen, wobei eine Ausführungsform davon Ultraschallgeneratoren sein können, die Signale in den Raum senden können, die, wenn sie beispielsweise menschliche Finger erreichen, ein taktiles Gefühl oder ein ähnliches Gefühl an den Fingern hervorrufen können. Ferner kann/können beispielsweise und in einer Ausführungsform die Ausgabekomponente(n) 233 (ohne Einschränkung) eines oder mehrere von Lichtquellen, Anzeigevorrichtungen und/oder Bildschirmen, Audiolautsprechern, taktilen Komponenten, Leitfähigkeitselementen, Knochenleitungslautsprechern, olfaktorischen oder geruchsempfindlichen visuellen und/oder nicht-visuellen Präsentationsvorrichtungen, haptischen oder berührungsempfindlichen visuellen und/oder nicht-visuellen Präsentationsvorrichtungen, Animationsanzeigevorrichtungen, biometrischen Anzeigevorrichtungen, Röntgenanzeigevorrichtungen, Hochauflösungsanzeigen, Hochdynamikbereichsanzeigen, Multi-View-Displays und Head-Mounted-Displays (HMDs) für wenigstens eines von Virtual Reality (VR) und Augmented Reality (AR) usw. einschließen.
  • Es wird erwogen, dass die Ausführungsformen nicht auf eine bestimmte Anzahl oder einen bestimmten Typ von Anwendungsfallszenarien, Architekturplatzierungen oder Komponenten-Setups beschränkt ist; der Kürze und Klarheit halber werden jedoch zu beispielhaften Zwecken in diesem Dokument Veranschaulichungen und Beschreibungen angeboten und erörtert, wobei die Ausführungsformen jedoch nicht darauf beschränkt sind. Ferner kann sich „Benutzer“ in diesem Dokument auf jemanden beziehen, der Zugriff auf eine oder mehrere Rechenvorrichtungen hat, wie beispielsweise die Rechenvorrichtung 100, und kann austauschbar als „Person“, „Individuum“, „Mensch“, „er“, „sie“, „Kind“, „Erwachsener“, „Betrachter“, „Spieler“, „Gamer“, „Entwickler“, „Programmierer“ und/oder dergleichen bezeichnet werden.
  • Die Kommunikations-/Kompatibilitätslogik 209 kann verwendet werden, um eine dynamische Kommunikation und Kompatibilität zwischen verschiedenen Komponenten, Netzen, Rechenvorrichtungen, Datenbank(en) 225 und/oder Kommunikationsmedium/-medien 230 usw. und einer beliebigen Anzahl und einem beliebigen Typ von anderen Rechenvorrichtungen (wie beispielsweise tragbare Rechenvorrichtungen, mobile Rechenvorrichtungen, Desktop-Computer, Server-Rechenvorrichtungen usw.), Verarbeitungsvorrichtungen (z. B. zentrale Verarbeitungseinheit (CPU, Central Processing Unit), Grafikverarbeitungseinheit (GPU, Graphics Processing Unit) usw.), Erfassungs-/Abtastungskomponenten (z. B. nicht visuelle Datensensoren/- detektoren, wie beispielsweise Audiosensoren, olfaktorische Sensoren, haptische Sensoren, Signalsensoren, Vibrationssensoren, Chemikaliendetektoren, Funkwellendetektoren, Kraftsensoren, Wetter-/Temperatursensoren, Körper-/Biometriesensoren, Scanner usw. und visuelle Datensensoren/-detektoren, wie beispielsweise Kameras usw.), Benutzer-/Kontextwahrnehmungskomponenten und/oder Identifizierungs-/Verifizierungssensoren/- vorrichtungen (wie beispielsweise biometrische Sensoren/Detektoren, Scanner usw.), Speicher- oder Speicherungsvorrichtungen, Datenquellen und/oder Datenbank(en) (wie beispielsweise Datenspeicherungsvorrichtungen, Festplatten, Solid-State-Laufwerke, Festplatten, Speicherkarten oder -vorrichtungen, Speicherschaltungen usw.), Netz(en) (z. B. Cloud-Netz, Internet, Internet der Dinge, Intranet, Mobilfunknetz, Proximity-Netze, wie beispielsweise Bluetooth, Bluetooth Low Energy (BLE), Bluetooth Smart, Wi-Fi-Nähe, Radio Frequency Identification, Nahfeldkommunikation, Body Area Network usw.), drahtlosen oder drahtgebundenen Kommunikationen und relevanten Protokollen (z. B. Wi-Fi®, WiMAX, Ethernet usw.), Konnektivitäts- und Standortmanagementtechniken, Softwareanwendungen/Websites (z. B. Websites für soziale und/oder geschäftliche Netzwerke, Geschäftsanwendungen, Spiele und andere Unterhaltungsanwendungen usw.), Programmiersprachen usw. zu ermöglichen, während gleichzeitig die Kompatibilität mit sich ändernden Technologien, Parametern, Protokollen, Standards usw. gewährleistet wird.
  • In diesem Dokument können Begriffe wie „Logik“, „Komponente“, „Modul“, „Framework“, „Engine“, „Tool“, „Schaltungen“ und/oder dergleichen austauschbar verwendet werden und schließen beispielsweise Software, Hardware und/oder eine beliebige Kombination von Software und Hardware, wie beispielsweise Firmware, ein. In einem Beispiel kann „Logik“ eine Softwarekomponente bezeichnen oder einschließen, die in der Lage ist, mit einem oder mehreren von einem Betriebssystem, einem Grafiktreiber usw. einer Rechenvorrichtung, wie beispielsweise der Rechenvorrichtung 100, zu arbeiten. In einer anderen Ausführungsform kann „Logik“ eine Hardwarekomponente bezeichnen oder diese einschließen, die in der Lage ist, zusammen mit oder als Teil von einem oder mehreren Systemhardwareelementen physikalisch installiert zu werden, wie beispielsweise einem Anwendungsprozessor, einem Grafikprozessor usw. einer Rechenvorrichtung, wie beispielsweise der Rechenvorrichtung 100. In noch einer anderen Ausführungsform kann „Logik“ eine Firmwarekomponente bezeichnen oder diese einschließen, die in der Lage ist, Teil einer Systemfirmware zu sein, wie beispielsweise der Firmware eines Anwendungsprozessors oder eines Grafikprozessors usw. einer Rechenvorrichtung, wie beispielsweise der Rechenvorrichtung 100.
  • Ferner sollte jede Verwendung einer bestimmten Marke, eines bestimmten Worts, eines bestimmten Begriffs, eines bestimmten Ausdrucks, eines bestimmten Namens und/oder eines bestimmten Akronyms,wie beispielsweise „Sensoren“, „Kameras“, „autonome Maschinen“, „automatische Sensorprüfung“, „Deep Learning“, „neuronales Faltungsnetz“, „Verketten“, „Training“, „Inferenzierung“, „Klassifizieren“, „Vorhersagen“, „RealSense™ Kamera“, „Echtzeit“, „automatisch“, „dynamisch“, „Benutzeroberfläche“, „Kamera“, „Sensor“, „Mikrofon“, „Anzeigebildschirm“, „Lautsprecher“, „Verifizierung“, „Authentifizierung“, „Datenschutz“, „Benutzer“, „Benutzerprofil“, „Benutzerpräferenz“, „Sender“ „Empfänger“, „persönliche Vorrichtung“, „intelligente Vorrichtung“, „mobiler Computer“, „tragbare Vorrichtung“, „IoT-Vorrichtung“, „Proximity-Netz“, „Cloud-Netz“, „Servercomputer“ usw., nicht verstanden werden, dass Ausführungsformen auf Software oder Vorrichtungen beschränkt sind, die diese Bezeichnung in Produkten oder in der Literatur außerhalb dieses Dokuments tragen.
  • Es wird erwogen, dass eine beliebige Anzahl und ein beliebiger Typ von Komponenten zum automatischen Prüfmechanismus 110 hinzugefügt und/oder davon entfernt werden kann, um verschiedene Ausführungsformen zu ermöglichen, einschließlich Hinzufügen, Entfernen und/oder Verbessern bestimmter Merkmale. Aus Gründen der Kürze, Klarheit und Verständlichkeit des automatischen Prüfmechanismus 110 werden viele der standardmäßigen und/oder bekannten Komponenten, wie beispielsweise diejenigen einer Rechenvorrichtung, hier nicht gezeigt oder erörtert. Es wird erwogen, dass Ausführungsformen, wie hierin beschrieben, nicht auf eine Technologie, eine Topologie, ein System, eine Architektur und/oder einen Standard beschränkt sind und dynamisch genug sind, um zukünftige Änderungen anzunehmen und sich an sie anzupassen.
  • 3A veranschaulicht statische Eingaben von mehreren Sensoren gemäß einer Ausführungsform und wie zuvor unter Bezugnahme auf 2 beschrieben. Der Kürze halber werden viele der Details, die zuvor unter Bezugnahme auf die 1-2 erörtert wurden, nachfolgend möglicherweise nicht erörtert oder wiederholt.
  • In der veranschaulichten Ausführungsform sind vier Bilder A 301, B 303, C 305 und D 307 einer Szene gezeigt, wie sie jeweils von vier Kameras A 242A, B 242B, C242C und D 242D von 2 erfasst wurden, wobei diese mehreren Bilder 301-307 auf statischen Daten basieren, die von den vier Kameras 242A-242D über einen Zeitraum erfasst wurden. Beispielsweise können Sensoren, wie beispielsweise die Kameras 242A-242D, Radargeräte usw., verwendet werden, um ähnliche Daten für den gleichen Zweck der Abtastung zu erfassen, beispielsweise damit die Fahrzeuge mit automatisiertem Fahren Kenntnis von Objekten in ihrer Nähe und Umgebung haben.
  • In dieser Ausführungsform werden zur Vereinfachung von Design und Test vier Kameras 242A-242D gezeigt, die vier Bilder 301-307 derselben Szene und zur gleichen Zeit, jedoch aus unterschiedlichen Winkeln und/oder Positionen erfassen. Wie veranschaulicht, zeigt eines der Bilder, beispielsweise das Bild 301, ferner, dass die entsprechende Kamera 242A Klarheitsprobleme aufweist, beispielsweise aufgrund einer Art von Fleck 309 (z. B. Schlamm, Schmutz, Ablagerungen usw.) auf dem Objektiv der Kamera 242A. Es wird erwogen, dass derartige Probleme im Umgang mit autonomen Maschinen, wie beispielsweise einem selbstfahrenden Fahrzeug, zu vielen Problemen führen können.
  • In einer Ausführungsform, wie unter Bezugnahme auf 2 erörtert, ermöglichen die Sammlung einer großen Datenmenge, wie beispielsweise Tausende von Dateneingaben, und deren Verwendung als Trainingsdaten, Validierungsdaten usw. in Deep-Learning-Modellen, wie beispielsweise CNNs, wie durch den automatischen Prüfmechanismus 110 aus 1 ermöglicht, die Echtzeit-Detektion von Fleck 309. Diese Echtzeit-Detektion ermöglicht dann eine Echtzeit-Benachrichtigung als Echtzeit-Korrektur des Flecks 309, so dass etwaige Defekte in Bezug auf die Kamera 242A behoben werden können und alle Kameras 242A-242D ihr Potenzial ausschöpfen und Daten sammeln können, um die Verwendung autonomer Maschinen, wie beispielsweise der autonomen Maschine 100 aus 1, gefahrlos, sicher und effizient zu machen.
  • 3B veranschaulicht dynamische Eingaben von einem einzelnen Sensor gemäß einer Ausführungsform und wie zuvor unter Bezugnahme auf 2 beschrieben. Der Kürze halber werden viele der Details, die zuvor unter Bezugnahme auf die 1-3A erörtert wurden, nachfolgend möglicherweise nicht erörtert oder wiederholt.
  • In dieser veranschaulichten Ausführungsform kann ein einzelner Sensor, wie beispielsweise die Kamera D 242D aus 2, verwendet werden, um vier Bilder A 311, B 313, C 315, D 317 einer einzelnen Szene, jedoch mit unterschiedlichen Zeitstempeln, beispielsweise zu unterschiedlichen Zeitpunkten, zu erfassen. In diesem veranschaulichten Muster zeigt das Erfassen der Szene zu unterschiedlichen Zeitpunkten, dass sich die Szene bewegt, beispielsweise von rechts nach links, während der Fleck 319 an einem Ort platziert gezeigt wird, wie beispielsweise an einer Stelle auf dem Objektiv der Kamera D 242D.
  • Wie in den vier Bildern 311-317 deutlich gemacht, scheint sich das Objekt 321 (z. B. ein Buch), wie es von der Kamera 242D erfasst wird, im Verlauf der Zeit zu bewegen (z. B. von rechts nach links), während der Fleck 319 fixiert ist (oder sich im wahren Sinne langsam in einem anderen Muster weiterbewegt, wie in der Ausführungsform aus 3C veranschaulicht). Wie unter Bezugnahme auf die 2 und 3A beschrieben, werden mehrere Tausend Bilder gesammelt und in ein Deep-Learning-Modell für Trainings- und Validierungszwecke eingegeben, was dann zum Testen des Deep-Learning-Modells führt. Nach dem Testen kann das Deep-Learning-Modell zur Echtzeit-Identifizierung und Korrektur von Problemen mit Sensoren verwendet werden, wie zum Beispiel Fleck 319 auf der Kamera 242D.
  • 3C veranschaulicht dynamische Eingaben von einem einzelnen Sensor gemäß einer Ausführungsform und wie zuvor unter Bezugnahme auf 2 beschrieben. Der Kürze halber werden viele der Details, die zuvor unter Bezugnahme auf die 1-3B erörtert wurden, nachfolgend möglicherweise nicht erörtert oder wiederholt.
  • In einer Ausführungsform, wie unter Bezugnahme auf 3B hinsichtlich dynamischer Eingaben durch einen einzelnen Sensor beschrieben, erfasst in dieser veranschaulichten Ausführungsform ein einzelner Sensor, wie beispielsweise die Kamera B 242B, vier Bilder A 331, B 333, C 335, D 337 einer einzelnen Szene, wobei der Fleck 339 auf dem Objektiv der Kamera 242B so gezeigt wird, dass er sich mit dem Objekt 341 (z. B. einem Buch) in der Hintergrundszene bewegt. Beispielsweise kann der Fleck 339 ein Stück Schlamm auf dem Objektiv der Kamera 242B sein, das im Verlauf der Zeit aufgrund der Schwerkraft nach unten oder aufgrund von Wind, Bewegungen der Kamera 242B und/oder dergleichen seitwärts gezogen wird.
  • In einer Ausführungsform können, wie zuvor beschrieben, diese Daten, die sich auf den Fleck 339 und seine Bewegungen beziehen, durch einen oder mehrere Sensoren erfasst werden, wie beispielsweise die Kamera 242B selbst, und in ein trainiertes neuronales Deep-Learning-Netz/Modell eingegeben werden, wie beispielsweise ein CNN, der dann den genauen Ort des Flecks 339, den Sensor, der durch Fleck 339 beeinträchtigt wird, wie beispielsweise die Kamera 242B, und wie dieses Problem zu beheben ist, wie beispielsweise das Entfernen des Flecks 339 vom Objektiv der Kamera 242B, in Echtzeit vorhersagt und bereitstellt.
  • In einer Ausführungsform wird dieses Training von neuronalen Deep-Learning-Netzen/Modellen durch Eingaben einer Sammlung von (Tausenden) derartiger Eingaben als Beispiele für das Training und die Validierung von Daten und Tests von Deep-Learning-Modellen erreicht. Beispielsweise kann ein Deep-Learning-Modell zuerst Merkmale aller Sensoren, wie beispielsweise der Kamera 242B, unter Verwendung von neuronalen Deep-Learning-Netzen, wie beispielsweise einem CNN extrahieren, und dann die Daten fusionieren und einen Klassifizierer verwenden, um die problematischen Sensoren, wie beispielsweise die Kamera 242B, zu identifizieren. Beispielsweise kann der Kamera 242B ein Label zugewiesen werden, beispielsweise Label 2: zweiter Sensor ist beschädigt und/oder dergleichen.
  • 4A veranschaulicht einen Architekturaufbau 400 mit einer Transaktionssequenz zur Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren unter Verwendung von Deep Learning gemäß einer Ausführungsform. Der Kürze halber werden viele der Details, die zuvor unter Bezugnahme auf die 1-3C erörtert wurden, nachfolgend möglicherweise nicht erörtert oder wiederholt. Alle Prozesse oder Transaktionen können durch eine Verarbeitungslogik durchgeführt werden, die Hardware (z. B. Schaltungen, dedizierte Logik, programmierbare Logik usw.), Software (wie beispielsweise Anweisungen, die auf einer Verarbeitungsvorrichtung ausgeführt werden) oder eine Kombination davon umfassen kann, wie dies durch den automatischen Prüfmechanismus 110 aus 1 ermöglicht wird. Alle Prozesse oder Transaktionen, die mit dieser Veranschaulichung assoziiert sind, können aus Gründen der Kürze und Übersichtlichkeit der Darstellung in linearen Sequenzen veranschaulicht oder erwähnt werden; es wird jedoch erwogen, dass eine beliebige Anzahl von ihnen parallel, asynchron oder in unterschiedlichen Reihenfolgen durchgeführt werden können.
  • In einer Ausführungsform beginnt die Transaktionssequenz beim Architekturaufbau 400 bei 401 mit der Eingabe erfasster Daten von einem oder mehreren Sensoren an sequentiell mehreren Zeitpunkten zur Verkettung, bevor sie in ein Deep-Learning-Modell eingegeben werden, wie beispielsweise das Deep-Learning-Modell 421. Diese Daten können mehrere Eingaben aufweisen, die auf Daten basieren, die von einer beliebigen Anzahl und einem beliebigen Typ von Sensoren erfasst werden, wie beispielsweise Kameras, LiDARs, Radargeräte usw., obgleich es in ihren Detektionen einen gewissen Grad an Überlappung gibt (beispielsweise wenn dasselbe Objekt in einer Szene detektiert wird). Bei 403 werden, wie unter Bezugnahme auf die Verkettungslogik 203 aus 2 beschrieben, Daten von diesen Eingaben zur Verkettung gesendet, so dass diese mehreren Eingaben dann zu einer einzelnen Eingabe verkettet werden und an das Datenlernmodell 421 zum Training 405 und zur Inferenzierung 407 gesendet werden.
  • Es wird erwogen, dass die Verkettung in einer Ausführungsform außerhalb oder vor dem Senden der Daten an das Deep-Learning-Modell 421 durchgeführt wird, so dass eine bessere Flexibilität bei der Festlegung von Reihenfolgen vorhanden ist, um den größtmöglichen Nutzen aus dem Training 405 zu ziehen. Wie veranschaulicht, kann die Inferenzierung 407 in einer Ausführungsform Teil des Trainings 405 sein, oder die Inferenzierung 407 und das Training 405 können in einer anderen Ausführungsform separat durchgeführt werden.
  • In einer Ausführungsform werden sie, sobald sie in das Deep-Learning-Modell 421 eingegeben wurden, in das CNN 409 eingegeben und dort verarbeitet, wobei die Verarbeitung der Daten mehrere Schichten durchläuft, wie unter Bezugnahme auf 2 weiter beschrieben wird. Beispielsweise kann die Klassifizierungsschicht 411 eine gemeinsame Klassifizierungsschicht aufweisen, wie beispielsweise vollständig verbundene Schichten, softmax-Schicht und/oder dergleichen, wie unter Bezugnahme auf 2 weiter beschrieben.
  • In einer Ausführungsform kann die durch den Architekturaufbau 400 angebotene Transaktionssequenz mit den durch eine Ausgabeschicht erhaltenen Ergebnissen 413 fortfahren, wobei die Ergebnisse 413 identifizieren oder vorhersagen können, ob ein oder mehrere Sensoren technisch defekt sind oder durch ein Objekt oder Ablagerungen behindert sind oder aus irgendeinem Grund nicht funktionieren. Sobald die Ergebnisse 413 erhalten worden sind, werden verschiedene Labels 415 verglichen, um den Verlust zu bestimmen, und der geeignete Label, der dem Benutzer hinsichtlich des einen oder der mehreren defekten Sensoren angeboten werden kann. Die Transaktionssequenz kann mit der Rückpropagierung 417 von Daten fortfahren, und folglich werden mehr Gewichtsaktualisierungen 419 durchgeführt, und zwar alle im Deep-Learning-Modell 421.
  • 4B veranschaulicht ein Verfahren 450 zur Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren unter Verwendung von Deep Learning gemäß einer Ausführungsform. Der Kürze halber werden viele der Details, die zuvor unter Bezugnahme auf die 1-4A erörtert wurden, nachfolgend möglicherweise nicht erörtert oder wiederholt. Alle Prozesse oder Transaktionen können durch eine Verarbeitungslogik durchgeführt werden, die Hardware (z. B. Schaltungen, dedizierte Logik, programmierbare Logik usw.), Software (wie beispielsweise Anweisungen, die auf einer Verarbeitungsvorrichtung ausgeführt werden) oder eine Kombination davon umfassen kann, wie dies durch den automatischen Prüfmechanismus 110 aus 1 ermöglicht wird. Alle Prozesse oder Transaktionen, die mit dieser Veranschaulichung assoziiert sind, können aus Gründen der Kürze und Übersichtlichkeit der Darstellung in linearen Sequenzen veranschaulicht oder erwähnt werden; es wird jedoch erwogen, dass eine beliebige Anzahl von ihnen parallel, asynchron oder in unterschiedlichen Reihenfolgen durchgeführt werden können.
  • Das Verfahren 450 beginnt bei Block 451 mit der Detektion von Daten, die ein oder mehrere Bilder einer Szene einschließen, die von einem oder mehreren Sensoren (z. B. Kameras) zur gleichen Zeit oder über einen Zeitraum erfasst werden, wobei, falls diese Daten über mehrere Eingaben verteilt sind, diese mehreren Eingaben zur Verkettung angeboten werden. Bei Block 453 werden diese mehreren Eingaben zu einer einzelnen Dateneingabe verkettet und einem Deep-Learning-Modell zur weiteren Verarbeitung, wie beispielsweise Training, Inferenzierung, Validierung usw., angeboten. Bei Block 455 werden diese Daten beim Deep-Learning-Modell für das Training und die Inferenzierung empfangen, wobei das Deep-Learning-Modell ein neuronales Netz (wie beispielsweise ein CNN) mit mehreren Verarbeitungsschichten aufweist.
  • Es wird erwogen und unter Bezugnahme auf 2 erörtert, dass die Daten, die die Trainings- und Inferenzierungsphasen durchlaufen, auf verschiedenen Ebenen verarbeitet und modifiziert werden können, einschließlich beim CNN, das mehrere eigene Verarbeitungsschichten aufweisen kann. In einer Ausführungsform klassifiziert ein trainiertes Deep-Learning-Modell bei Block 457 die Daten und sagt die Ergebnisse basierend auf der gesamten Verarbeitung und Klassifizierung vorher. Beispielsweise kann die Vorhersage der Ergebnisse in Echtzeit anzeigen und identifizieren, ob einer des einen oder der mehreren Sensoren defekt oder behindert ist, so dass ein defekter oder behinderter Sensor in Echtzeit repariert werden kann.
  • 5 veranschaulicht eine Rechenvorrichtung 500 gemäß einer Implementierung. Die veranschaulichte Rechenvorrichtung 500 kann mit der Rechenvorrichtung 100 aus 1 identisch oder ihr ähnlich sein. Die Rechenvorrichtung 500 nimmt eine Systemplatine 502 auf. Die Platine 502 kann eine Anzahl von Komponenten, einschließlich eines Prozessors 504 und wenigstens eines Kommunikationspakets 506, aufweisen, ohne darauf beschränkt zu sein. Das Kommunikationspaket ist mit einer oder mehreren Antennen 516 gekoppelt. Der Prozessor 504 ist physikalisch und elektrisch mit der Platine 502 gekoppelt.
  • Je nach ihren Anwendungen kann die Rechenvorrichtung 500 andere Komponenten aufweisen, die physikalisch und elektrisch mit der Platine 502 gekoppelt sein können oder nicht. Diese anderen Komponenten umfassen einen flüchtigen Speicher (z. B. DRAM) 508, einen nichtflüchtigen Speicher (z. B. ROM) 509, einen Flash-Speicher (nicht gezeigt), einen Grafikprozessor 512, einen digitalen Signalprozessor (nicht gezeigt), einen Kryptoprozessor (nicht gezeigt), einen Chipsatz 514, eine Antenne 516, eine Anzeige 518, wie beispielsweise eine Berührungsbildschirmanzeige, einen Berührungsbildschirm-Controller 520, eine Batterie 522, einen Audio-Codec (nicht gezeigt), einen Video-Codec (nicht gezeigt), einen Leistungsverstärker 524, eine Vorrichtung für ein globales Positionierungssystem (GPS) 526, einen Kompass 528, einen Beschleunigungsmesser (nicht gezeigt), ein Gyroskop (nicht gezeigt), einen Lautsprecher 530, Kameras 532, eine Mikrofonanordnung 534 und eine Massenspeichervorrichtung 510 (wie beispielsweise ein Festplattenlaufwerk, eine Compact Disk (CD), eine Digital Versatile Disk (DVD) (nicht gezeigt) und so weiter), sind jedoch nicht darauf beschränkt. Diese Komponenten können mit der Systemplatine 502 verbunden, auf der Systemplatine montiert oder mit einer der anderen Komponenten kombiniert werden.
  • Das Kommunikationspaket 506 ermöglicht eine drahtlose und/oder drahtgebundene Kommunikation zur Übertragung von Daten zu und von der Rechenvorrichtung 500. Der Begriff „drahtlos“ und seine Ableitungen können verwendet werden, um Schaltungen, Vorrichtungen, Systeme, Verfahren, Techniken, Kommunikationskanäle usw. zu beschreiben, die Daten unter Verwendung von modulierter elektromagnetischer Strahlung durch ein nicht festes Medium kommunizieren können. Der Begriff impliziert nicht, dass die assoziierten Vorrichtungen keine Drähte enthalten, obwohl sie dies in einigen Ausführungsformen möglicherweise nicht tun. Das Kommunikationspaket 506 kann einen beliebigen einer Reihe von drahtlosen oder drahtgebundenen Standards oder Protokollen implementieren, die Wi-Fi (IEEE-802.11-Familie), WiMAX (IEEE-802.16-Familie), IEEE 802.20, Long Term Evolution (LTE), Ev-DO, HSPA+, HSDPA+, HSUPA+, EDGE, GSM, GPRS, CDMA, TDMA, DECT, Bluetooth, Ethernet-Ableitungen davon sowie beliebige andere drahtlose und drahtgebundene Protokolle, die als 3G, 4G, 5G und darüber hinaus bezeichnet werden, umfassen, ohne darauf beschränkt zu sein. Die Rechenvorrichtung 500 kann eine Mehrzahl von Kommunikationspaketen 506 aufweisen. Zum Beispiel kann ein erstes Kommunikationspaket 506 für eine drahtlose Kommunikation kürzerer Reichweite, wie beispielsweise Wi-Fi und Bluetooth, bestimmt sein, und ein zweites Kommunikationspaket 506 kann für eine drahtlose Kommunikation größerer Reichweite, wie beispielsweise GPS, EDGE, GPRS, CDMA, WiMAX, LTE, Ev-DO und andere, bestimmt sein.
  • Die Kameras 532, einschließlich aller Tiefensensoren oder Näherungssensoren, sind mit einem optionalen Bildprozessor 536 gekoppelt, um Konvertierungen, Analysen, Rauschunterdrückungen, Vergleiche, Tiefen- oder Distanzanalysen, Bildverstehen und andere hierin beschriebene Prozesse durchzuführen. Der Prozessor 504 ist mit dem Bildprozessor gekoppelt, um den Prozess mit Interrupts anzusteuern, Parameter festzulegen und Operationen des Bildprozessors und der Kameras zu steuern. Die Bildverarbeitung kann stattdessen im Prozessor 504, in der Grafik-CPU 512, in den Kameras 532 oder in einer anderen Vorrichtung durchgeführt werden.
  • In verschiedenen Implementierungen kann die Rechenvorrichtung 500 ein Laptop, ein Netbook, ein Notebook, ein Ultrabook, ein Smartphone, ein Tablet, ein persönlicher digitaler Assistent (PDA), ein ultramobiler PC, ein Mobiltelefon, ein Desktop-Computer, ein Server, eine Set-Top-Box, eine Unterhaltungssteuereinheit, eine Digitalkamera, ein portables Musikwiedergabegerät oder ein digitaler Videorekorder sein. Die Rechenvorrichtung kann feststehend, portabel oder tragbar sein. In weiteren Implementierungen kann die Rechenvorrichtung 500 eine beliebige andere Elektronikvorrichtung sein, die Daten verarbeitet oder Daten zur Verarbeitung an anderer Stelle aufzeichnet.
  • Ausführungsformen können unter Verwendung von einem oder mehreren Speicherchips, einem oder mehreren Controllern, einer oder mehreren zentralen Verarbeitungseinheiten (CPUs, Central Processing Units), einem oder mehreren Mikrochips oder einer oder mehreren integrierten Schaltungen, die unter Verwendung von einer Hauptplatine, einer anwendungsspezifischen integrierten Schaltung (ASIC, Application Specific Integrated Circuit) und/oder einem feldprogrammierbaren Gate-Array (FPGA) miteinander verbunden sind, implementiert werden. Der Begriff „Logik“ kann beispielsweise Software oder Hardware und/oder Kombinationen von Software und Hardware einschließen.
  • Verweise auf „eine bestimmte Ausführungsform“, „eine Ausführungsform“, „beispielhafte Ausführungsform“, „verschiedene Ausführungsformen“ usw. zeigen an, dass die so beschriebene(n) Ausführungsform(en) besondere Merkmale, Strukturen oder Eigenschaften aufweisen kann/können, aber nicht notwendigerweise jede Ausführungsform die besonderen Merkmale, Strukturen oder Eigenschaften aufweist. Ferner können einige Ausführungsformen einige, alle oder keines der Merkmale aufweisen, die für andere Ausführungsformen beschrieben sind.
  • In der nachfolgenden Beschreibung und in den Ansprüchen kann der Begriff „gekoppelt“ zusammen mit seinen Ableitungen verwendet werden. „Gekoppelt“ wird verwendet, um anzuzeigen, dass zwei oder mehr Elemente zusammenwirken oder miteinander interagieren, jedoch können sie dazwischenliegende physikalische oder elektrische Komponenten aufweisen oder nicht.
  • Wie in den Ansprüchen verwendet, und sofern nichts anderes angegeben, zeigt die Verwendung der Ordinaladjektive „erstes“, „zweites“, „drittes“ usw. zur Beschreibung eines gemeinsamen Elements lediglich an, dass auf verschiedene Instanzen von gleichen Elementen Bezug genommen wird, und es soll nicht impliziert werden, dass die so beschriebenen Elemente in einer gegebenen Reihenfolge sein müssen, weder zeitlich, räumlich, in der Rangfolge oder auf irgendeine andere Weise.
  • Die Zeichnungen und die vorangehende Beschreibung geben Beispiele für Ausführungsformen. Fachleute auf dem Gebiet werden erkennen, dass eines oder mehrere der beschriebenen Elemente gut zu einem einzelnen Funktionselement kombiniert werden können. Alternativ können bestimmte Elemente in mehrere Funktionselemente aufgeteilt werden. Elemente einer Ausführungsform können zu einer anderen Ausführungsform hinzugefügt werden. Beispielsweise können die Reihenfolgen der hierin beschriebenen Prozesse geändert werden und sind nicht auf die hierin beschriebene Art und Weise beschränkt. Darüber hinaus müssen die Aktionen eines Flussdiagramms nicht in der gezeigten Reihenfolge implementiert werden; es müssen auch nicht notwendigerweise alle Handlungen durchgeführt werden. Auch können die Handlungen, die nicht von anderen Handlungen abhängig sind, parallel zu den anderen Handlungen durchgeführt werden. Der Umfang der Ausführungsformen ist keinesfalls auf diese speziellen Beispiele beschränkt. Es sind zahlreiche Variationen möglich, ob in der Beschreibung explizit angegeben oder nicht, wie beispielsweise Unterschiede in der Struktur, Abmessung und Materialverwendung. Der Umfang der Ausführungsformen ist mindestens so breit wie in den folgenden Ansprüchen angegeben.
  • Ausführungsformen können beispielsweise als ein Computerprogrammprodukt bereitgestellt werden, das ein oder mehrere transitorische oder nicht-transitorische maschinenlesbare Speichermedien mit darauf gespeicherten maschinenausführbaren Anweisungen aufweist, die, wenn sie von einer oder mehreren Maschinen, wie beispielsweise einem Computer, einem Computernetz oder anderen elektronischen Vorrichtungen, ausgeführt werden, dazu führen können, dass die eine oder mehreren Maschinen Operationen gemäß hierin beschriebenen Ausführungsformen ausführen. Ein maschinenlesbares Medium kann Disketten, optische Platten, CD-ROMs (Compact Disc-Read Only Memorys) und magnetooptische Platten, ROMs, RAMs, EPROMs (Erasable Programmable Read Only Memory), EEPROMs (Electrically Erasable Programmable Read Only Memories), magnetische oder optische Karten, Flash-Speicher oder andere Typen von Medien/maschinenlesbaren Medien, die zum Speichern von maschinenausführbaren Anweisungen geeignet sind, aufweisen, ist jedoch nicht darauf beschränkt.
  • 6 veranschaulicht eine Ausführungsform einer Rechenumgebung 600, die in der Lage ist, die oben erörterten Operationen zu unterstützen. Die Module und Systeme können in einer Vielzahl von unterschiedlichen Hardwarearchitekturen und Formfaktoren einschließlich der in 5 gezeigten implementiert werden.
  • Das Befehlsausführungsmodul 601 weist eine zentrale Verarbeitungseinheit zum Cachen und Ausführen von Befehlen und zum Verteilen von Aufgaben auf die anderen gezeigten Module und Systeme auf. Es kann einen Befehlsstapel, einen Cache-Speicher zum Speichern von Zwischen- und Endergebnissen und einen Massenspeicher zum Speichern von Anwendungen und Betriebssystemen aufweisen. Das Befehlsausführungsmodul kann auch als zentrale Koordinations- und Aufgabenzuordnungseinheit für das System dienen.
  • Das Bildschirm-Rendering-Modul 621 zeichnet Objekte auf dem einem oder den mehreren Bildschirmen, die der Benutzer sehen kann. Es kann angepasst werden, um die Daten vom Modul für das Verhalten virtueller Objekte 604, das nachstehend beschrieben wird, zu empfangen und um das virtuelle Objekt und alle anderen Objekte und Kräfte auf dem/den entsprechenden Bildschirm(en) zu rendern. Somit würden die Daten vom Modul für das Verhalten virtueller Objekte beispielsweise die Position und Dynamik des virtuellen Objekts und die assoziierten Gesten, Kräfte und Objekte bestimmen, und das Bildschirm-Rendering-Modul würde dementsprechend das virtuelle Objekt und die assoziierten Objekte und die Umgebung auf einem Bildschirm darstellen. Das Bildschirm-Rendering-Modul könnte ferner angepasst sein, um Daten vom nachstehend beschriebenen Modul für benachbarte Bildschirmperspektive 607 zu empfangen, um einen Ziellandebereich für das virtuelle Objekt darzustellen, falls das virtuelle Objekt zur Anzeige der Vorrichtung, mit dem das Modul für benachbarte Bildschirmperspektive assoziiert ist, bewegt werden könnte. Falls also beispielsweise das virtuelle Objekt von einem Hauptbildschirm zu einem Hilfsbildschirm bewegt wird, könnte das Modul für benachbarte Bildschirmperspektive 2 Daten an das Bildschirm-Rendering-Modul senden, um beispielsweise in Schattenform einen oder mehrere Ziellandebereiche für das virtuelle Objekt auf dieser Spur für die Handbewegungen oder Augenbewegungen eines Benutzers vorzuschlagen.
  • Das Objekt- und Gestenerkennungsmodul 622 kann angepasst sein, um Hand- und Armgesten eines Benutzers zu erkennen und zu verfolgen. Ein derartiges Modul kann verwendet werden, um Hände, Finger, Fingergesten, Handbewegungen und eine Position von Händen relativ zu Anzeigen zu erkennen. Beispielsweise könnte das Objekt- und Gestenerkennungsmodul zum Beispiel bestimmen, dass ein Benutzer eine Körperteilgeste gemacht hat, um ein virtuelles Objekt auf den einen oder den anderen der mehreren Bildschirme fallen zu lassen oder zu werfen, oder dass der Benutzer eine Körperteilgeste gemacht hat, um das virtuelle Objekt zu einer Blende des einen oder des anderen der mehreren Bildschirme zu bewegen. Das Objekt- und Gestenerkennungssystem kann mit einer Kamera oder einer Kameraanordnung, einem Mikrofon oder einer Mikrofonanordnung, einem Berührungsbildschirm oder einer Berührungsoberfläche oder einer Zeigevorrichtung oder einer Kombination dieser Elemente gekoppelt sein, um Gesten und Befehle des Benutzers zu erkennen.
  • Der Berührungsbildschirm oder die Berührungsoberfläche des Objekt- und Gestenerkennungssystems kann einen Berührungsbildschirmsensor aufweisen. Daten vom Sensor können an Hardware, Software, Firmware oder eine Kombination derselben weitergegeben werden, um die Berührungsgeste einer Benutzerhand auf dem Bildschirm oder der Oberfläche auf ein entsprechendes dynamisches Verhalten eines virtuellen Objekts abzubilden. Das Sensordatum kann für Impuls- und Trägheitsfaktoren verwendet werden, um basierend auf Eingaben von der Hand des Benutzers eine Vielzahl von Impulsverhalten für ein virtuelles Objekt zu ermöglichen, wie beispielsweise eine Wischrate des Fingers eines Benutzers relativ zum Bildschirm. Kneifgesten können als ein Befehl interpretiert werden, um ein virtuelles Objekt vom Anzeigebildschirm abzuheben oder mit dem Erzeugen einer virtuellen Bindung, die mit dem virtuellen Objekt assoziiert ist, zu beginnen oder eine Anzeige zu vergrößern oder zu verkleinern. Ähnliche Befehle können vom Objekt- und Gestenerkennungssystem unter Verwendung einer oder mehrerer Kameras ohne den Vorteil einer Berührungsoberfläche erzeugt werden.
  • Das Aufmerksamkeitsrichtungsmodul 623 kann mit Kameras oder anderen Sensoren ausgestattet sein, um die Position oder Orientierung des Gesichts oder der Hände eines Benutzers zu verfolgen. Wenn eine Geste oder ein Sprachbefehl ausgegeben wird, kann das System den geeigneten Bildschirm für die Geste bestimmen. In einem Beispiel ist eine Kamera in der Nähe jeder Anzeige montiert, um zu erkennen, ob der Benutzer dieser Anzeige zugewandt ist. Falls dies der Fall ist, werden die Informationen des Aufmerksamkeitsrichtungsmoduls an das Objekt- und Gestenerkennungsmodul 622 bereitgestellt, um sicherzustellen, dass die Gesten oder Befehle mit der entsprechenden Bibliothek für die aktive Anzeige assoziiert sind. In ähnlicher Weise können dann Befehle ignoriert werden, falls der Benutzer von allen Bildschirmen wegschaut.
  • Das Vorrichtungsnäherungsdetektionsmodul 625 kann Näherungssensoren, Kompasse, Empfänger für ein GPS (globales Positionierungssystem), Funkgeräte für ein Personal Area Network und andere Sensortypen zusammen mit Triangulation und anderen Techniken verwenden, um die Nähe anderer Vorrichtungen zu bestimmen. Sobald eine in der Nähe befindliche Vorrichtung detektiert wird, kann sie im System registriert werden, und ihr Typ kann als eine Eingabevorrichtung oder Anzeigevorrichtung oder beides bestimmt werden. Für eine Eingabevorrichtung können empfangene Daten dann auf das Objekt- und Gestenerkennungsmodul 622 angewendet werden. Für eine Anzeigevorrichtung kann es vom Modul für benachbarte Bildschirmperspektive 607 in Betracht gezogen werden.
  • Das Modul für das Verhalten virtueller Objekte 604 ist angepasst, um eine Eingabe vom Objektgeschwindigkeits- und -richtungsmodul zu empfangen und diese Eingabe auf ein virtuelles Objekt anzuwenden, das in der Anzeige gezeigt wird. So würde das Objekt- und Gestenerkennungssystem beispielsweise eine Benutzergeste interpretieren und die erfassten Bewegungen einer Benutzerhand auf erkannte Bewegungen abbilden, das Modul zum Verfolgen virtueller Objekte würde die Position und Bewegungen des virtuellen Objekts mit den Bewegungen assoziieren, die vom Objekt- und Gestenerkennungssystem erkannt werden, das Objektgeschwindigkeits- und -richtungsmodul würde die Dynamik der Bewegungen des virtuellen Objekts erfassen, und das Modul für das Verhalten virtueller Objekte würde die Eingabe vom Objektgeschwindigkeits- und -richtungsmodul empfangen, um Daten zu erzeugen, die die Bewegungen des virtuellen Objekts so steuern würden, dass sie der Eingabe vom Objektgeschwindigkeits- und - richtungsmodul entsprechen.
  • Das Modul zum Verfolgen virtueller Objekte 606 kann andererseits angepasst sein, um zu verfolgen, wo ein virtuelles Objekt in einem dreidimensionalen Raum in der Nähe einer Anzeige angeordnet sein sollte und welcher Körperteil des Benutzers das virtuelle Objekt hält, basierend auf der Eingabe vom Objekt- und Gestenerkennungsmodul. Das Modul zum Verfolgen virtueller Objekte 606 kann beispielsweise ein virtuelles Objekt verfolgen, während es sich über und zwischen Bildschirmen bewegt, und verfolgen, welcher Körperteil des Benutzers dieses virtuelle Objekt hält. Das Verfolgen des Körperteils, das das virtuelle Objekt hält, ermöglicht eine kontinuierliche Wahrnehmung der Luftbewegungen des Körperteils und somit eine eventuelle Wahrnehmung darüber, ob das virtuelle Objekt auf einem oder mehreren Bildschirmen freigegeben wurde.
  • Das Modul für die Geste-zur-Ansicht- und Bildschirmsynchronisation 608 empfängt die Auswahl der Ansicht und des Bildschirms oder beides vom Aufmerksamkeitsrichtungsmodul 623 und in einigen Fällen Sprachbefehle, um zu bestimmen, welche Ansicht die aktive Ansicht ist und welcher Bildschirm der aktive Bildschirm ist. Es veranlasst dann, dass die relevante Gestenbibliothek für das Objekt- und Gestenerkennungsmodul 622 geladen wird. Verschiedene Ansichten einer Anwendung auf einem oder mehreren Bildschirmen können mit alternativen Gestenbibliotheken oder einem Satz von Gestenvorlagen für eine gegebene Ansicht assoziiert werden. Beispielsweise wird in 1A durch eine Kneiffreigabegeste ein Torpedo gestartet, in 1B wird jedoch durch die gleiche Geste eine Wasserbombe gestartet.
  • Das Modul für benachbarte Bildschirmperspektive 607, das das Vorrichtungsnäherungsdetektionsmodul 625 aufweisen oder damit gekoppelt sein kann, kann angepasst werden, um einen Winkel und eine Position einer Anzeige relativ zu einer anderen Anzeige zu bestimmen. Eine projizierte Anzeige schließt beispielsweise ein auf eine Wand oder einen Bildschirm projiziertes Bild ein. Die Fähigkeit, eine Nähe eines nahegelegenen Bildschirms und einen entsprechenden Winkel oder eine entsprechende Ausrichtung einer davon projizierten Anzeige zu detektieren, kann beispielsweise entweder mit einem Infrarotstrahler und -empfänger oder mit einer elektromagnetischen oder Photodetektionsabtastungsfähigkeit erreicht werden. Bei Technologien, die projizierte Anzeigen mit Berührungseingabe ermöglichen, kann das eingehende Video analysiert werden, um die Position einer projizierten Anzeige zu bestimmen und um die durch die Anzeige in einem Winkel verursachte Verzerrung zu korrigieren. Ein Beschleunigungsmesser, ein Magnetometer, ein Kompass oder eine Kamera können verwendet werden, um den Winkel zu bestimmen, mit dem eine Vorrichtung gehalten wird, während Infrarotstrahler und Kameras die Ausrichtung der Bildschirmvorrichtung in Bezug auf die Sensoren an einer benachbarten Vorrichtung bestimmen könnten. Das Modul für benachbarte Bildschirmperspektive 607 kann auf diese Weise Koordinaten eines benachbarten Bildschirms relativ zu seinen eigenen Bildschirmkoordinaten bestimmen. Somit kann das Modul für benachbarte Bildschirmperspektive bestimmen, welche Vorrichtungen sich nahe zueinander befinden, und weitere mögliche Ziele zum Bewegen eines oder mehrerer virtueller Objekte über Bildschirme hinweg. Das Modul für benachbarte Bildschirmperspektive kann ferner ermöglichen, dass die Position der Bildschirme mit einem dreidimensionalen Raummodell korreliert wird, das alle vorhandenen Objekte und virtuellen Objekte repräsentiert.
  • Das Objektgeschwindigkeits- und -richtungsmodul 603 kann angepasst werden, um die Dynamik eines virtuellen Objekts, das bewegt wird, wie beispielsweise seine Trajektorie, Geschwindigkeit (ob linear oder angular), Impuls (ob linear oder angular) usw., durch Empfangen von Eingaben vom Modul zum Verfolgen virtueller Objekte zu schätzen. Das Objektgeschwindigkeits- und -richtungsmodul kann ferner angepasst werden, um die Dynamik von beliebigen physikalischen Kräften zu schätzen, indem beispielsweise die Beschleunigung, die Ablenkung, der Dehnungsgrad einer virtuellen Bindung usw. und das dynamische Verhalten eines virtuellen Objekts geschätzt werden, sobald es von einem Körperteil des Benutzers freigegeben wird. Das Objektgeschwindigkeits- und -richtungsmodul kann auch Bildbewegungs-, Größen- und Winkeländerungen verwenden, um die Geschwindigkeit von Objekten, wie beispielsweise die Geschwindigkeit von Händen und Fingern, zu schätzen.
  • Das Impuls- und Trägheitsmodul 602 kann Bildbewegung, Bildgröße und Winkeländerungen von Objekten in der Bildebene oder in einem dreidimensionalen Raum verwenden, um die Geschwindigkeit und Richtung von Objekten im Raum oder auf einer Anzeige zu schätzen. Das Impuls- und Trägheitsmodul ist mit dem Objekt- und Gestenerkennungsmodul 622 gekoppelt, um die Geschwindigkeit von Gesten, die von Händen, Fingern und anderen Körperteilen ausgeführt werden, zu schätzen und dann diese Schätzungen anzuwenden, um den Impuls und die Geschwindigkeiten für virtuelle Objekte zu bestimmen, die von der Geste betroffen sein sollen.
  • Das 3D-Bild-Interaktions- und -Effektmodul 605 verfolgt die Benutzerinteraktion mit 3D-Bildern, die sich aus einem oder mehreren Bildschirmen zu erstrecken scheinen. Der Einfluss von Objekten in der z-Achse (auf die Bildschirmebene zu und von ihr weg) kann zusammen mit dem relativen Einfluss dieser Objekte aufeinander berechnet werden. Beispielsweise kann ein durch eine Benutzergeste geworfenes Objekt durch 3D-Objekte im Vordergrund beeinflusst werden, bevor das virtuelle Objekt die Bildschirmebene erreicht. Diese Objekte können die Richtung oder Geschwindigkeit des Projektils ändern oder es vollständig zerstören. Das Objekt kann mit dem 3D-Bild-Interaktions- und -Effektmodul im Vordergrund auf einer oder mehreren der Anzeigen gerendert werden. Wie veranschaulicht, sind verschiedene Komponenten, wie beispielsweise die Komponenten 601, 602, 603, 604, 605, 606, 607 und 608, über eine Zwischenverbindung oder einen Bus, wie beispielsweise den Bus 609, verbunden.
  • Die folgenden Klauseln und/oder Beispiele betreffen weitere Ausführungsformen oder Beispiele. Die Besonderheiten in den Beispielen können überall in einer oder mehreren Ausführungsformen verwendet werden. Die verschiedenen Merkmale der unterschiedlichen Ausführungsformen oder Beispiele können auf verschiedene Weise kombiniert werden, wobei einige Merkmale eingeschlossen und andere ausgeschlossen sind, um einer Vielzahl unterschiedlicher Anwendungen gerecht zu werden. Beispiele können einen Gegenstand umfassen, wie beispielsweise ein Verfahren, Mittel zum Durchführen von Handlungen des Verfahrens, wenigstens ein maschinenlesbares Medium mit Anweisungen, die, wenn sie von einer Maschine durchgeführt werden, die Maschine veranlassen, Handlungen des Verfahrens oder einer Vorrichtung oder eines Systems zum Ermöglichen einer Hybridkommunikation gemäß hierin beschriebenen Ausführungsformen und Beispielen durchzuführen.
  • Einige Ausführungsformen betreffen Beispiel 1, das eine Vorrichtung zum Ermöglichen einer Deep-Learning-basierten Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen einschließt, die Vorrichtung umfassend: Detektions- und Erfassungslogik, um einem oder mehreren Sensoren die Erfassung eines oder mehrerer Bilder einer Szene zu ermöglichen, wobei bestimmt wird, dass ein Bild des einen oder der mehreren Bilder unklar ist, wobei der eine oder die mehreren Sensoren eine oder mehrere Kameras aufweisen; und Klassifizierungs- und Vorhersagelogik, um einem Deep-Learning-Modell zu ermöglichen, einen mit dem Bild assoziierten Sensor in Echtzeit zu identifizieren.
  • Beispiel 2 umfasst den Gegenstand von Beispiel 1, ferner umfassend eine Verkettungslogik zum Empfangen einer oder mehrerer Dateneingaben, die mit dem einen oder den mehreren Bildern assoziiert sind, um die eine oder mehreren Dateneingaben zu einer einzelnen Dateneingabe zu verketten, die vom Deep-Learning-Modell verarbeitet werden soll, wobei die Vorrichtung eine autonome Maschine umfasst, einschließlich eines oder mehrerer von einem selbstfahrenden Fahrzeug, einem selbstfliegenden Fahrzeug, einem selbstsegelnden Fahrzeug und einem autonomen Haushaltsgerät.
  • Beispiel 3 umfasst den Gegenstand der Beispiele 1-2, ferner umfassend eine Trainings- und Inferenzlogik, um dem Deep-Learning-Modell zu ermöglichen, die einzelne Dateneingabe zu empfangen, um einen oder mehrere Deep-Learning-Prozesse durchzuführen, einschließlich eines Trainingsprozesses und eines Inferenzierungsprozesses, um eine Echtzeit-Identifizierung des mit dem unklaren Bild assoziierten Sensors zu erhalten, wobei der Sensor eine Kamera aufweist.
  • Beispiel 4 umfasst den Gegenstand der Beispiele 1-3, wobei die Trainings- und Inferenzierungslogik ferner dem Deep-Learning-Modell ermöglichen soll, eine Mehrzahl von Dateneingaben zu empfangen und die Mehrzahl von Dateneingaben durch die Trainings- und Inferenzierungsprozesse laufen zu lassen, so dass die Echtzeit-Identifizierung des Sensors genau und zeitgerecht ist.
  • Beispiel 5 umfasst den Gegenstand der Beispiele 1-4, wobei das Deep-Learning-Modell ein oder mehrere neuronale Netze umfasst, einschließlich eines oder mehrerer konvolutioneller neuronaler Netze, wobei das Bild aufgrund eines oder mehrerer von einem technischen Defekt des Sensors oder einer physikalischen Behinderung der Sensoren unklar ist, wobei die physikalische Behinderung auf eine Person, eine Pflanze, ein Tier oder ein Objekt, die den Sensor behindern, oder Schmutz, Flecken, Schlamm oder Ablagerungen, die einen Teil eines Objektivs des Sensors bedecken, zurückzuführen ist.
  • Beispiel 6 umfasst den Gegenstand der Beispiele 1-5, wobei die Klassifizierungs- und Vorhersagelogik eines oder mehrere von einer Echtzeit-Benachrichtigung des unklaren Bilds und einer Echtzeit-Autokorrektur des Sensors bereitstellen soll.
  • Beispiel 7 umfasst den Gegenstand der Beispiele 1-6, wobei die Vorrichtung einen oder mehrere Prozessoren mit einem Grafikprozessor umfasst, der zusammen mit einem Anwendungsprozessor auf einem gemeinsamen Halbleiter-Package angeordnet ist.
  • Einige Ausführungsformen betreffen Beispiel 8, das ein Verfahren zum Ermöglichen einer Deep-Learning-basierten Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen einschließt, das Verfahren umfassend: Ermöglichen eines oder mehrerer Sensoren, ein oder mehrere Bilder einer Szene zu erfassen, wobei bestimmt wird, dass ein Bild des einen oder der mehreren Bilder unklar ist, wobei der eine oder die mehreren Sensoren eine oder mehrere Kameras einer Rechenvorrichtung aufweisen; und Ermöglichen eines Deep-Learning-Modells, einen mit dem Bild assoziierten Sensor in Echtzeit zu identifizieren.
  • Beispiel 9 umfasst den Gegenstand von Beispiel 8, ferner umfassend das Empfangen einer oder mehrerer Dateneingaben, die mit dem einen oder den mehreren Bildern assoziiert sind, um die eine oder mehreren Dateneingaben zu einer einzelnen Dateneingabe zu verketten, die vom Deep-Learning-Modell verarbeitet werden soll, wobei die Vorrichtung eine autonome Maschine umfasst, einschließlich eines oder mehrerer von einem selbstfahrenden Fahrzeug, einem selbstfliegenden Fahrzeug, einem selbstsegelnden Fahrzeug und einem autonomen Haushaltsgerät.
  • Beispiel 10 umfasst den Gegenstand der Beispiele 8-9, ferner umfassend das Ermöglichen des Deep-Learning-Modells, die einzelne Dateneingabe zu empfangen, um einen oder mehrere Deep-Learning-Prozesse durchzuführen, einschließlich eines Trainingsprozesses und eines Inferenzierungsprozesses, um eine Echtzeit-Identifizierung des mit dem unklaren Bild assoziierten Sensors zu erhalten, wobei der Sensor eine Kamera aufweist.
  • Beispiel 11 umfasst den Gegenstand der Beispiele 8-10, wobei das Deep-Learning-Modell ferner eine Mehrzahl von Dateneingaben empfangen und die Mehrzahl von Dateneingaben durch die Trainings- und Inferenzierungsprozesse laufen lassen soll, so dass die Echtzeit-Identifizierung des Sensors genau und zeitgerecht ist.
  • Beispiel 12 umfasst den Gegenstand der Beispiele 8-11, wobei das Deep-Learning-Modell ein oder mehrere neuronale Netze umfasst, einschließlich eines oder mehrerer konvolutioneller neuronaler Netze, wobei das Bild aufgrund eines oder mehrerer von einem technischen Defekt des Sensors oder einer physikalischen Behinderung der Sensoren unklar ist, wobei die physikalische Behinderung auf eine Person, eine Pflanze, ein Tier oder ein Objekt, die den Sensor behindern, oder Schmutz, Flecken, Schlamm oder Ablagerungen, die einen Teil eines Objektivs des Sensors bedecken, zurückzuführen ist.
  • Beispiel 13 umfasst den Gegenstand der Beispiele 8-12, ferner umfassend das Bereitstellen von einem oder mehreren von einer Echtzeit-Benachrichtigung des unklaren Bilds und einer Echtzeit-Autokorrektur des Sensors.
  • Beispiel 14 umfasst den Gegenstand der Beispiele 8-13, wobei die Rechenvorrichtung einen oder mehrere Prozessoren mit einem Grafikprozessor umfasst, der zusammen mit einem Anwendungsprozessor auf einem gemeinsamen Halbleiter-Package angeordnet ist.
  • Einige Ausführungsformen betreffen Beispiel 15, das ein Datenverarbeitungssystem mit einer Rechenvorrichtung einschließt, deren Speicher mit einer Verarbeitungsvorrichtung gekoppelt ist, wobei die Verarbeitungsvorrichtung dient zum: Ermöglichen eines oder mehrerer Sensoren, ein oder mehrere Bilder einer Szene zu erfassen, wobei bestimmt wird, dass ein Bild des einen oder der mehreren Bilder unklar ist, wobei der eine oder die mehreren Sensoren eine oder mehrere Kameras einer Rechenvorrichtung aufweisen; und Ermöglichen eines Deep-Learning-Modells, einen mit dem Bild assoziierten Sensor in Echtzeit zu identifizieren.
  • Beispiel 16 umfasst den Gegenstand von Beispiel 15, wobei die Verarbeitungsvorrichtung ferner eine oder mehrere Dateneingaben empfangen soll, die mit dem einen oder den mehreren Bildern assoziiert sind, um die eine oder mehreren Dateneingaben zu einer einzelnen Dateneingabe zu verketten, die vom Deep-Learning-Modell verarbeitet werden soll, wobei die Vorrichtung eine autonome Maschine umfasst, einschließlich eines oder mehrerer von einem selbstfahrenden Fahrzeug, einem selbstfliegenden Fahrzeug, einem selbstsegelnden Fahrzeug und einem autonomen Haushaltsgerät.
  • Beispiel 17 umfasst den Gegenstand der Beispiele 15-16, wobei die Verarbeitungsvorrichtung ferner dem Deep-Learning-Modell ermöglichen soll, die einzelne Dateneingabe zu empfangen, um einen oder mehrere Deep-Learning-Prozesse durchzuführen, einschließlich eines Trainingsprozesses und eines Inferenzierungsprozesses, um eine Echtzeit-Identifizierung des mit dem unklaren Bild assoziierten Sensors zu erhalten, wobei der Sensor eine Kamera aufweist.
  • Beispiel 18 umfasst den Gegenstand der Beispiele 15-17, wobei das Deep-Learning-Modell ferner eine Mehrzahl von Dateneingaben empfangen und die Mehrzahl von Dateneingaben durch die Trainings- und Inferenzierungsprozesse laufen lassen soll, so dass die Echtzeit-Identifizierung des Sensors genau und zeitgerecht ist.
  • Beispiel 19 umfasst den Gegenstand der Beispiele 15-18, wobei das Deep-Learning-Modell ein oder mehrere neuronale Netze umfasst, einschließlich eines oder mehrerer konvolutioneller neuronaler Netze, wobei das Bild aufgrund eines oder mehrerer von einem technischen Defekt des Sensors oder einer physikalischen Behinderung der Sensoren unklar ist, wobei die physikalische Behinderung auf eine Person, eine Pflanze, ein Tier oder ein Objekt, die den Sensor behindern, oder Schmutz, Flecken, Schlamm oder Ablagerungen, die einen Teil eines Objektivs des Sensors bedecken, zurückzuführen ist.
  • Beispiel 20 umfasst den Gegenstand der Beispiele 15-19, wobei die Verarbeitungsvorrichtung ferner eines oder mehrere von einer Echtzeit-Benachrichtigung des unklaren Bilds und einer Echtzeit-Autokorrektur des Sensors bereitstellen soll.
  • Beispiel 21 umfasst den Gegenstand der Beispiele 15-20, wobei die Rechenvorrichtung einen oder mehrere Prozessoren mit einem Grafikprozessor umfasst, der zusammen mit einem Anwendungsprozessor auf einem gemeinsamen Halbleiter-Package angeordnet ist.
  • Einige Ausführungsformen betreffen Beispiel 22, das eine Vorrichtung zum Ermöglichen der gleichzeitigen Erkennung und Verarbeitung von mehrfachem Sprechen von mehreren Benutzern einschließt, die Vorrichtung umfassend: Mittel zum Ermöglichen eines oder mehrerer Sensoren, ein oder mehrere Bilder einer Szene zu erfassen, wobei bestimmt wird, dass ein Bild des einen oder der mehreren Bilder unklar ist, wobei der eine oder die mehreren Sensoren eine oder mehrere Kameras aufweisen; und Mittel zum Ermöglichen eines Deep-Learning-Modells, einen mit dem Bild assoziierten Sensor in Echtzeit zu identifizieren.
  • Beispiel 23 umfasst den Gegenstand von Beispiel 22, ferner umfassend Mittel zum Empfangen einer oder mehrerer Dateneingaben, die mit dem einen oder den mehreren Bildern assoziiert sind, um die eine oder mehreren Dateneingaben zu einer einzelnen Dateneingabe zu verketten, die vom Deep-Learning-Modell verarbeitet werden soll, wobei die Vorrichtung eine autonome Maschine umfasst, einschließlich eines oder mehrerer von einem selbstfahrenden Fahrzeug, einem selbstfliegenden Fahrzeug, einem selbstsegelnden Fahrzeug und einem autonomen Haushaltsgerät.
  • Beispiel 24 umfasst den Gegenstand der Beispiele 22-23, ferner umfassend Mittel zum Ermöglichen des Deep-Learning-Modells, die einzelne Dateneingabe zu empfangen, um einen oder mehrere Deep-Learning-Prozesse durchzuführen, einschließlich eines Trainingsprozesses und eines Inferenzierungsprozesses, um eine Echtzeit-Identifizierung des mit dem unklaren Bild assoziierten Sensors zu erhalten, wobei der Sensor eine Kamera aufweist.
  • Beispiel 25 umfasst den Gegenstand der Beispiele 22-24, wobei das Deep-Learning-Modell ferner eine Mehrzahl von Dateneingaben empfangen und die Mehrzahl von Dateneingaben durch die Trainings- und Inferenzierungsprozesse laufen lassen soll, so dass die Echtzeit-Identifizierung des Sensors genau und zeitgerecht ist.
  • Beispiel 26 umfasst den Gegenstand der Beispiele 22-25, wobei das Deep-Learning-Modell ein oder mehrere neuronale Netze umfasst, einschließlich eines oder mehrerer konvolutioneller neuronaler Netze, wobei das Bild aufgrund eines oder mehrerer von einem technischen Defekt des Sensors oder einer physikalischen Behinderung der Sensoren unklar ist, wobei die physikalische Behinderung auf eine Person, eine Pflanze, ein Tier oder ein Objekt, die den Sensor behindern, oder Schmutz, Flecken, Schlamm oder Ablagerungen, die einen Teil eines Objektivs des Sensors bedecken, zurückzuführen ist.
  • Beispiel 27 umfasst den Gegenstand der Beispiele 22-26, ferner umfassend Mittel zum Bereitstellen von einem oder mehreren von einer Echtzeit-Benachrichtigung des unklaren Bilds und einer Echtzeit-Autokorrektur des Sensors.
  • Beispiel 28 umfasst den Gegenstand der Beispiele 22-27, wobei die Vorrichtung einen oder mehrere Prozessoren mit einem Grafikprozessor umfasst, der zusammen mit einem Anwendungsprozessor auf einem gemeinsamen Halbleiter-Package angeordnet ist.
  • Beispiel 29 umfasst wenigstens ein nichtflüchtiges oder konkretes maschinenlesbares Medium, das eine Mehrzahl von Anweisungen umfasst, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, ein Verfahren implementieren oder durchführen sollen, wie nach einem der Ansprüche oder Beispiele 8-14 beansprucht.
  • Beispiel 30 umfasst wenigstens ein maschinenlesbares Medium, das eine Mehrzahl von Anweisungen umfasst, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, ein Verfahren implementieren oder durchführen sollen, wie nach einem der Ansprüche oder Beispiele 8-14 beansprucht.
  • Beispiel 31 umfasst ein System, das einen Mechanismus zum Implementieren oder Durchführen eines Verfahrens nach einem der Ansprüche oder Beispiele 8-14 umfasst.
  • Beispiel 32 umfasst eine Vorrichtung, die Mittel zum Durchführen eines Verfahrens nach einem der Ansprüche oder Beispiele 8-14 umfasst.
  • Beispiel 33 umfasst eine Rechenvorrichtung, die zum Implementieren oder Durchführen eines Verfahrens nach einem der Ansprüche oder Beispiele 8-14 angeordnet ist.
  • Beispiel 34 umfasst eine Kommunikationsvorrichtung, die zum Implementieren oder Durchführen eines Verfahrens nach einem der Ansprüche oder Beispiele 8-14 angeordnet ist.
  • Beispiel 35 umfasst wenigstens ein maschinenlesbares Medium, das eine Mehrzahl von Anweisungen umfasst, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, ein Verfahren implementieren oder durchführen oder eine Vorrichtung realisieren sollen, wie nach einem der vorhergehenden Ansprüche beansprucht.
  • Beispiel 36 umfasst wenigstens ein nichtflüchtiges oder konkretes maschinenlesbares Medium, das eine Mehrzahl von Anweisungen umfasst, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, ein Verfahren implementieren oder durchführen oder eine Vorrichtung realisieren sollen, wie nach einem der vorhergehenden Ansprüche beansprucht.
  • Beispiel 37 umfasst ein System, das einen Mechanismus zum Implementieren oder Durchführen eines Verfahrens oder zum Realisieren einer Vorrichtung nach einem der vorhergehenden Ansprüche umfasst.
  • Beispiel 38 umfasst eine Vorrichtung, umfassend Mittel zum Durchführen eines Verfahrens nach einem der vorhergehenden Ansprüche.
  • Beispiel 39 umfasst eine Rechenvorrichtung, die zum Implementieren oder Durchführen eines Verfahrens oder zum Realisieren einer Vorrichtung angeordnet ist, wie nach einem der vorhergehenden Ansprüche beansprucht.
  • Beispiel 40 umfasst eine Kommunikationsvorrichtung, die zum Implementieren oder Durchführen eines Verfahrens oder zum Realisieren einer Vorrichtung angeordnet ist, wie nach einem der vorhergehenden Ansprüche beansprucht.
  • Die Zeichnungen und die vorangehende Beschreibung geben Beispiele für Ausführungsformen. Fachleute auf dem Gebiet werden erkennen, dass eines oder mehrere der beschriebenen Elemente gut zu einem einzelnen Funktionselement kombiniert werden können. Alternativ können bestimmte Elemente in mehrere Funktionselemente aufgeteilt werden. Elemente einer Ausführungsform können zu einer anderen Ausführungsform hinzugefügt werden. Beispielsweise können die Reihenfolgen der hierin beschriebenen Prozesse geändert werden und sind nicht auf die hierin beschriebene Art und Weise beschränkt. Darüber hinaus müssen die Aktionen eines Flussdiagramms nicht in der gezeigten Reihenfolge implementiert werden; es müssen auch nicht notwendigerweise alle Handlungen durchgeführt werden. Auch können die Handlungen, die nicht von anderen Handlungen abhängig sind, parallel zu den anderen Handlungen durchgeführt werden. Der Umfang der Ausführungsformen ist keinesfalls auf diese speziellen Beispiele beschränkt. Es sind zahlreiche Variationen möglich, ob in der Beschreibung explizit angegeben oder nicht, wie beispielsweise Unterschiede in der Struktur, Abmessung und Materialverwendung. Der Umfang der Ausführungsformen ist mindestens so breit wie in den folgenden Ansprüchen angegeben.

Claims (19)

  1. Vorrichtung zum Ermöglichen einer Deep-Learning-basierten Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen, die Vorrichtung umfassend: einen oder mehrere Prozessoren zum Ermöglichen von: Detektions- und Erfassungslogik, um einem oder mehreren Sensoren die Erfassung eines oder mehrerer Bilder einer Szene zu ermöglichen, wobei bestimmt wird, dass ein Bild des einen oder der mehreren Bilder unklar ist, wobei der eine oder die mehreren Sensoren eine oder mehrere Kameras aufweisen; und Klassifizierungs- und Vorhersagelogik, um einem Deep-Learning-Modell zu ermöglichen, einen mit dem Bild assoziierten Sensor in Echtzeit zu identifizieren.
  2. Vorrichtung nach Anspruch 1, wobei der eine oder die mehreren Prozessoren ferner eine Verkettungslogik ermöglichen sollen, um eine oder mehrere Dateneingaben zu empfangen, die mit dem einen oder den mehreren Bildern assoziiert sind, um die eine oder mehreren Dateneingaben zu einer einzelnen Dateneingabe zu verketten, die vom Deep-Learning-Modell verarbeitet werden soll, wobei die Vorrichtung eine autonome Maschine umfasst, einschließlich eines oder mehrerer von einem selbstfahrenden Fahrzeug, einem selbstfliegenden Fahrzeug, einem selbstsegelnden Fahrzeug und einem autonomen Haushaltsgerät.
  3. Vorrichtung nach Anspruch 1 oder 2, wobei der eine oder die mehreren Prozessoren ferner eine Trainings- und Inferenzlogik ermöglichen sollen, um dem Deep-Learning-Modell zu ermöglichen, die einzelne Dateneingabe zu empfangen, um einen oder mehrere Deep-Learning-Prozesse durchzuführen, einschließlich eines Trainingsprozesses und eines Inferenzierungsprozesses, um eine Echtzeit-Identifizierung des mit dem unklaren Bild assoziierten Sensors zu erhalten, wobei der Sensor eine Kamera aufweist.
  4. Vorrichtung nach Anspruch 3, wobei die Trainings- und Inferenzierungslogik ferner dem Deep-Learning-Modell ermöglichen soll, eine Mehrzahl von Dateneingaben zu empfangen und die Mehrzahl von Dateneingaben durch die Trainings- und Inferenzierungsprozesse laufen zu lassen, so dass die Echtzeit-Identifizierung des Sensors genau und zeitgerecht ist.
  5. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei das Deep-Learning-Modell ein oder mehrere neuronale Netze umfasst, einschließlich eines oder mehrerer konvolutioneller neuronaler Netze, wobei das Bild aufgrund eines oder mehrerer von einem technischen Defekt des Sensors oder einer physikalischen Behinderung der Sensoren unklar ist, wobei die physikalische Behinderung auf eine Person, eine Pflanze, ein Tier oder ein Objekt, die den Sensor behindern, oder Schmutz, Flecken, Schlamm oder Ablagerungen, die einen Teil eines Objektivs des Sensors bedecken, zurückzuführen ist.
  6. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei die Klarstellungs- und Vorhersagelogik eines oder mehrere von einer Echtzeit-Benachrichtigung des unklaren Bilds und einer Echtzeit-Autokorrektur des Sensors bereitstellen soll.
  7. Vorrichtung nach einem der vorhergehenden Ansprüche, wobei ein oder mehrere Prozessoren eines oder mehrere von einem Grafikprozessor und einem Anwendungsprozessor umfassen, wobei der Grafikprozessor zusammen mit dem Anwendungsprozessor auf einem gemeinsamen Halbleiter-Package angeordnet ist.
  8. Verfahren zum Ermöglichen einer Deep-Learning-basierten Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen, das Verfahren umfassend: Ermöglichen eines oder mehrerer Sensoren, ein oder mehrere Bilder einer Szene zu erfassen, wobei bestimmt wird, dass ein Bild des einen oder der mehreren Bilder unklar ist, wobei der eine oder die mehreren Sensoren eine oder mehrere Kameras einer Rechenvorrichtung aufweisen; und Ermöglichen eines Deep-Learning-Modells, einen mit dem Bild assoziierten Sensor in Echtzeit zu identifizieren.
  9. Verfahren nach Anspruch 8, ferner umfassend das Empfangen von einer oder mehreren Dateneingaben, die mit dem einen oder den mehreren Bildern assoziiert sind, um die eine oder mehreren Dateneingaben zu einer einzelnen Dateneingabe zu verketten, die vom Deep-Learning-Modell verarbeitet werden soll, wobei die Vorrichtung eine autonome Maschine umfasst, einschließlich eines oder mehrerer von einem selbstfahrenden Fahrzeug, einem selbstfliegenden Fahrzeug, einem selbstsegelnden Fahrzeug und einem autonomen Haushaltsgerät.
  10. Verfahren nach einem der Ansprüche 8-9, ferner umfassend das Ermöglichen des Deep-Learning-Modells, die einzelne Dateneingabe zu empfangen, um einen oder mehrere Deep-Learning-Prozesse durchzuführen, einschließlich eines Trainingsprozesses und eines Inferenzierungsprozesses, um eine Echtzeit-Identifizierung des mit dem unklaren Bild assoziierten Sensors zu erhalten, wobei der Sensor eine Kamera aufweist.
  11. Verfahren nach Anspruch 10, wobei das Deep-Learning-Modell ferner eine Mehrzahl von Dateneingaben empfangen und die Mehrzahl von Dateneingaben durch die Trainings- und Inferenzierungsprozesse laufen lassen soll, so dass die Echtzeit-Identifizierung des Sensors genau und zeitgerecht ist.
  12. Verfahren nach einem der Ansprüche 8-11, wobei das Deep-Learning-Modell ein oder mehrere neuronale Netze umfasst, einschließlich eines oder mehrerer konvolutioneller neuronaler Netze, wobei das Bild aufgrund eines oder mehrerer von einem technischen Defekt des Sensors oder einer physikalischen Behinderung der Sensoren unklar ist, wobei die physikalische Behinderung auf eine Person, eine Pflanze, ein Tier oder ein Objekt, die den Sensor behindern, oder Schmutz, Flecken, Schlamm oder Ablagerungen, die einen Teil eines Objektivs des Sensors bedecken, zurückzuführen ist.
  13. Verfahren nach einem der Ansprüche 8-12, ferner umfassend das Bereitstellen von einem oder mehreren von einer Echtzeit-Benachrichtigung des unklaren Bilds und einer Echtzeit-Autokorrektur des Sensors.
  14. Verfahren nach einem der Ansprüche 8-13, wobei die Rechenvorrichtung einen oder mehrere Prozessoren mit einem oder mehreren von einem Grafikprozessor und einem Anwendungsprozessor umfasst, wobei der Grafikprozessor zusammen mit dem Anwendungsprozessor auf einem gemeinsamen Halbleiter-Package angeordnet ist.
  15. Maschinenlesbares Medium oder mehrere maschinenlesbare Medien, die eine Mehrzahl von Anweisungen umfassen, die, wenn sie auf einer Rechenvorrichtung ausgeführt werden, ein Verfahren nach einem der vorhergehenden Ansprüche implementieren oder durchführen sollen.
  16. System, das einen Mechanismus zum Implementieren oder Durchführen eines Verfahrens nach einem der vorhergehenden Ansprüche umfasst.
  17. Vorrichtung, die Mittel zum Durchführen eines Verfahrens nach einem der vorhergehenden Ansprüche umfasst.
  18. Rechenvorrichtung, die zum Implementieren oder Durchführen eines Verfahrens nach einem der vorhergehenden Ansprüche angeordnet ist.
  19. Kommunikationsvorrichtung, die zum Implementieren oder Durchführen eines Verfahrens nach einem der vorhergehenden Ansprüche angeordnet ist.
DE102018125629.9A 2017-11-28 2018-10-16 DEEP-Learning-basierte Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen Pending DE102018125629A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US15/824,808 2017-11-28
US15/824,808 US20190025773A1 (en) 2017-11-28 2017-11-28 Deep learning-based real-time detection and correction of compromised sensors in autonomous machines

Publications (1)

Publication Number Publication Date
DE102018125629A1 true DE102018125629A1 (de) 2019-05-29

Family

ID=65019077

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018125629.9A Pending DE102018125629A1 (de) 2017-11-28 2018-10-16 DEEP-Learning-basierte Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen

Country Status (4)

Country Link
US (1) US20190025773A1 (de)
KR (1) KR20190062171A (de)
CN (1) CN109840586A (de)
DE (1) DE102018125629A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836895B1 (en) * 2015-06-19 2017-12-05 Waymo Llc Simulating virtual objects
WO2018033137A1 (zh) * 2016-08-19 2018-02-22 北京市商汤科技开发有限公司 在视频图像中展示业务对象的方法、装置和电子设备
US11205143B2 (en) * 2018-02-16 2021-12-21 Accenture Global Solutions Limited Utilizing a machine learning model and natural language processing to manage and allocate tasks
KR101967339B1 (ko) * 2018-03-06 2019-04-09 단국대학교 산학협력단 심층학습 기반의 adas 센서 고장 진단 및 백업을 위한 장치 및 방법
KR20200052413A (ko) * 2018-10-24 2020-05-15 한국전자통신연구원 향 시각화 시스템 및 방법
JP2020129296A (ja) * 2019-02-08 2020-08-27 富士通株式会社 情報処理装置、演算処理装置および情報処理装置の制御方法
CN110163370B (zh) * 2019-05-24 2021-09-17 上海肇观电子科技有限公司 深度神经网络的压缩方法、芯片、电子设备及介质
CN110427945A (zh) * 2019-06-27 2019-11-08 福州瑞芯微电子股份有限公司 一种基于实物及手势的交互方法和计算机设备
US11250322B2 (en) 2019-07-15 2022-02-15 Sony Interactive Entertainment LLC Self-healing machine learning system for transformed data
CN110379118A (zh) * 2019-07-26 2019-10-25 中车青岛四方车辆研究所有限公司 列车车下防火智能监控系统及方法
CN111137228B (zh) * 2019-11-18 2021-07-27 合创汽车科技有限公司 座舱屏幕控制方法、装置、计算机设备和存储介质
CN111010537B (zh) * 2019-12-06 2021-06-15 苏州智加科技有限公司 车辆控制方法、装置、终端及存储介质
US20210191367A1 (en) * 2019-12-20 2021-06-24 UiPath, Inc. System and computer-implemented method for analyzing a robotic process automation (rpa) workflow
US20210227113A1 (en) * 2020-01-20 2021-07-22 Monomer Software LLC Optical device field of view cleaning apparatus
DE102020209198A1 (de) * 2020-07-22 2022-01-27 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zur Bestimmung einer Abbildungs-Degradation eines bildgebenden Sensors
KR20220038858A (ko) 2020-09-21 2022-03-29 주식회사 스프링클라우드 가공된 자율주행 시나리오 데이터의 딥러닝 기반 불량 데이터 검출 장치 및 방법
CN112256094A (zh) * 2020-11-13 2021-01-22 广东博通科技服务有限公司 一种基于深度学习的激活函数装置及其使用方法
CN113049445B (zh) * 2021-03-22 2022-02-01 中国矿业大学(北京) 基于深度学习的水煤浆流动性检测装置及其检测方法

Also Published As

Publication number Publication date
CN109840586A (zh) 2019-06-04
US20190025773A1 (en) 2019-01-24
KR20190062171A (ko) 2019-06-05

Similar Documents

Publication Publication Date Title
DE102018125629A1 (de) DEEP-Learning-basierte Echtzeit-Detektion und -Korrektur von kompromittierten Sensoren in autonomen Maschinen
US20210279444A1 (en) Systems and methods for depth map sampling
US10728436B2 (en) Optical detection apparatus and methods
US10706890B2 (en) Cinematic space-time view synthesis for enhanced viewing experiences in computing environments
DE112019001605T5 (de) Trainieren, testen und verifizieren von autonomen maschinen unter verwendung simulierter umgebungen
DE102020102230A1 (de) Missbrauchsindex für erklärbare künstliche intelligenz in computerumgebungen
EP3468181A1 (de) Drohne zur wolkenvideoaufnahme und -erstellung
DE112019000049T5 (de) Für autonomes fahren geeignete objekterfassung und erfassungssicherheit
US20200126239A1 (en) Methods and system for multi-target tracking
DE202014103729U1 (de) Augmented-Reality mit Bewegungserfassung
DE112019006468T5 (de) Erkennung des abstands zu hindernissen bei anwendungen mit autonomen maschinen
US10671068B1 (en) Shared sensor data across sensor processing pipelines
DE112017000017T5 (de) Kameraeinstellungsanpassung basierend auf vorhergesagten umgebungsfaktoren und nachverfolgungssysteme, die diese einsetzen
DE112020000369T5 (de) Objekterfassung unter verwendung von verzerrten polygonen, die zur parkplatzerfassung geeignet ist
DE102018130115A1 (de) Kontextbasierte Unterdrückung und Verstärkung von Akustiksignalen in akustischen Umgebungen
DE112020002602T5 (de) Multi-objektverfolgung mit hilfe von korrelationsfiltern in videoanalyseanwendungen
CN110399775A (zh) 生成式对抗网络中的同时定位和建图约束
DE202018006448U1 (de) Skalieren eines Bilds eines Gesichts eines Sprechers basierend auf dem Abstand eines Gesichts und einer Grösse einer Anzeige
DE102018121019A1 (de) Erweitern von realen sensoraufzeichnungen mit simulierten sensordaten
US20210133996A1 (en) Techniques for motion-based automatic image capture
DE102018125628A1 (de) Zuverlässige Nachhallschätzung zur verbesserten automatischen Spracherkennung in Mehreinrichtungssystemen
DE112016005936T5 (de) Codefilter für Tiefenerfassung mit codiertem Licht in Tiefenbildern
Müggler Event-based vision for high-speed robotics
DE102019218373A1 (de) Hemisphären-cubemap-projektionsformat inabbildungsumgebungen
EP3956807A1 (de) Neuronales netzwerk zur kopfhaltungs- und blickschätzung mittels fotorealistischer synthetischer daten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: HGF EUROPE LLP, DE

Representative=s name: HGF EUROPE LP, DE