DE112020005360T5 - Fein differenzierte optische erkennung in erweiterter realität - Google Patents

Fein differenzierte optische erkennung in erweiterter realität Download PDF

Info

Publication number
DE112020005360T5
DE112020005360T5 DE112020005360.1T DE112020005360T DE112020005360T5 DE 112020005360 T5 DE112020005360 T5 DE 112020005360T5 DE 112020005360 T DE112020005360 T DE 112020005360T DE 112020005360 T5 DE112020005360 T5 DE 112020005360T5
Authority
DE
Germany
Prior art keywords
interest
images
regions
roi
camera
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
DE112020005360.1T
Other languages
English (en)
Inventor
Bing Zhou
Sinem Guven
Shu Tao
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE112020005360T5 publication Critical patent/DE112020005360T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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 OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/3827Portable transceivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Ein Zugriff auf eine dreidimensionale Punktwolkendarstellung, unter anderem Stellungen einer abtastenden Digitalkamera und entsprechende Videoeinzelbilder, wird erhalten. Die Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung wird verringert (downsampling), um einen Satz von Kandidaten für interessierende Bereiche zu erhalten. Die Kandidaten für interessierende Bereiche werden gefiltert, um als ausgewählte interessierende Bereiche mindestens teilweise auf der Grundlage der Stellungen der Kamera diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen enthalten, die unterschiedliche optische Zustände unterscheiden. Bilder interessierender Bereiche werden für die ausgewählten interessierenden Bereiche aus den entsprechenden der Videoeinzelbilder erzeugt; und ein Deep-Learning-Erkennungsmodell wird auf der Grundlage der Bilder interessierender Bereiche trainiert, wobei das trainierte Deep-Learning-Erkennungsmodell zum Beispiel verwendet werden kann, um einen optischen Zustand des Objekts für Reparaturanweisungen zu ermitteln.

Description

  • Technisches Gebiet
  • Die vorliegende Erfindung betrifft die Elektro-, Elektronik- und Computertechnik und konkreter Erweiterte-Realität-Systeme (AR-Systeme) (AR = augmented reality) und dergleichen.
  • HINTERGRUND
  • Erweiterte Realität (AR) bereichert die Wahrnehmung von Umgebungen, indem Medien und Grafiken dem überlagert werden, was in der realen Welt zu sehen ist. In den letzten zehn Jahren wurden bedeutende Fortschritte bei AR erzielt und das Interesse daran hat zugenommen. Trotz dieser Fortschritte sind AR-Benutzererlebnisse nach wie vor dürftig und es mangelt ihnen an Intelligenz und Automatisierung, wodurch die Benutzerinteraktion ziemlich wenig intuitiv ist. Zwar ermöglicht AR ein Verfolgen virtueller Objekte und von Kommentaren in physischen Räumen über Computer-Vision-Techniken, sie ist von Natur aus jedoch nicht so intelligent, dass sie die Bedeutung dessen erkennt, was sie sieht. Im Bereich des technischen Supports kann AR zum Beispiel einen Notebook-Computer in Form einer Punktwolke erkennen, um verfolgte Kommentare über dem Computer zu ermöglichen, weiß aber eigentlich nicht, dass sie auf einen Computer schaut, ohne dass der Benutzer diese bestimmte Punktwolke als Notebook-Computer beschriftet hat. Weder wäre AR in der Lage zu verstehen, ob der Deckel des Notebook-Computers geöffnet oder geschlossen ist, noch, dass der Kühlkörper des Notebook-Computers entfernt wurde, und so weiter. Aktuelle Techniken erfordern, dass durch den Benutzer jegliche Interaktion gesteuert wird, die kennzeichnet, worauf der Benutzer schaut (z.B. durch vorheriges Beschriften von Objekten, Angeben des Zustands eines Objekts usw.), bevor der Benutzer den relevanten AR-Inhalt in der Ansicht des Benutzers anzeigen lassen kann, wodurch die Interaktion erheblich eingeschränkt wird. In der Technik besteht daher ein Bedarf zur Lösung des vorstehend erwähnten Problems.
  • KURZDARSTELLUNG
  • Ein Verfahren weist auf: Erhalten von Zugriff auf eine dreidimensionale Punktwolkendarstellung, unter anderem Stellungen einer abtastenden Digitalkamera und entsprechende Videoeinzelbilder; Verringern der Anzahl der Bildpunkte (downsampling) der dreidimensionalen Punktwolkendarstellung, um einen Satz von Kandidaten für interessierende Bereiche zu erhalten; Filtern der Kandidaten für interessierende Bereiche, um als ausgewählte interessierende Bereiche mindestens teilweise auf der Grundlage der Stellungen der Kamera diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen enthalten, die unterschiedliche optische Zustände unterscheiden; Erzeugen von Bildern interessierender Bereiche für die ausgewählten interessierenden Bereiche aus den entsprechenden der Videoeinzelbilder; und Trainieren eines Deep-Learning-Erkennungsmodells auf der Grundlage der Bilder interessierender Bereiche.
  • Unter einem weiteren Aspekt betrachtet stellt die vorliegende Erfindung ein nichtflüchtiges, durch einen Computer lesbares Medium bereit, das durch einen Computer ausführbare Anweisungen aufweist, die bei Ausführung durch einen Computer den Computer veranlassen, ein Verfahren durchzuführen aus: Erhalten von Zugriff auf eine dreidimensionale Punktwolkendarstellung, unter anderem Stellungen einer abtastenden Digitalkamera und entsprechende Videoeinzelbilder; Verringern der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung, um einen Satz von Kandidaten für interessierende Bereiche zu erhalten; Filtern der Kandidaten für interessierende Bereiche, um als ausgewählte interessierende Bereiche mindestens teilweise auf der Grundlage der Stellungen der Kamera diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen enthalten, die unterschiedliche optische Zustände unterscheiden; Erzeugen von Bildern interessierender Bereiche für die ausgewählten interessierenden Bereiche aus den entsprechenden der Videoeinzelbilder; und Trainieren eines Deep-Learning-Erkennungsmodells auf der Grundlage der Bilder interessierender Bereiche.
  • Unter einem weiteren Aspekt betrachtet stellt die vorliegende Erfindung eine Vorrichtung bereit, die aufweist: einen Speicher; und mindestens einen Prozessor, der mit dem Speicher verbunden und funktionsmäßig in der Lage ist zum: Erhalten von Zugriff auf eine dreidimensionale Punktwolkendarstellung, unter anderem Stellungen einer abtastenden Digitalkamera und entsprechende Videoeinzelbilder; Verringern der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung, um einen Satz von Kandidaten für interessierende Bereiche zu erhalten; Filtern der Kandidaten für interessierende Bereiche, um als ausgewählte interessierende Bereiche mindestens teilweise auf der Grundlage der Stellungen der Kamera diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen enthalten, die unterschiedliche optische Zustände unterscheiden; Erzeugen von Bildern interessierender Bereiche für die ausgewählten interessierenden Bereiche aus den entsprechenden der Video-Einzelbilder; Trainieren eines Deep-Learning-Erkennungsmodells auf der Grundlage der Bilder interessierender Bereiche.
  • Unter einem weiteren Aspekt betrachtet stellt die vorliegende Erfindung ein Computerprogrammprodukt für erweiterte Realität bereit, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium aufweist, das durch eine Verarbeitungsschaltung gelesen werden kann und auf dem Anweisungen zur Ausführung durch die Verarbeitungsschaltung gespeichert sind, um ein Verfahren zum Durchführen der Schritte der Erfindung durchzuführen.
  • Unter einem weiteren Aspekt betrachtet stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem durch einen Computer lesbaren Medium gespeichert ist und in den internen Speicher eines Digitalcomputers geladen werden kann, das Softwarecodeabschnitte aufweist, die beim Ausführen des Programms auf einem Computer zum Durchführen der Schritte der Erfindung dienen.
  • Grundgedanken der Erfindung stellen Techniken zur fein differenzierten optischen Erkennung in erweiterter Realität bereit. Bei einem Aspekt umfasst ein beispielhaftes Verfahren den Schritt des Erhaltens von Zugriff auf eine dreidimensionale Punktwolkendarstellung, unter anderem Stellungen einer abtastenden Digitalkamera und entsprechende Videoeinzelbilder; des Verringerns der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung, um einen Satz von Kandidaten für interessierende Bereiche zu erhalten; des Filterns der Kandidaten für interessierende Bereiche, um als ausgewählte interessierende Bereiche mindestens teilweise auf der Grundlage der Stellungen der Kamera diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen enthalten, die unterschiedliche optische Zustände unterscheiden; des Erzeugens von Bildern interessierender Bereiche für die ausgewählten interessierenden Bereiche aus den entsprechenden der Videoeinzelbilder; und des Trainierens eines Deep-Learning-Erkennungsmodells auf der Grundlage der Bilder interessierender Bereiche.
  • Im hierin verwendeten Sinne umfasst „Ermöglichen“ einer Aktion ein Durchführen der Aktion, ein Vereinfachen der Aktion, ein Beitragen zum Ausführen der Aktion oder ein Bewirken, dass die Aktion durchgeführt wird. Somit könnten als Beispiel und nicht als Einschränkung Anweisungen, die auf einem Prozessor ausgeführt werden, ermöglichen, dass eine Aktion durch Anweisungen ausgeführt wird, die auf einem entfernt angeordneten Prozessor ausgeführt werden, indem entsprechende Daten oder Befehle gesendet werden, um zu bewirken oder dazu beizutragen, dass die Aktion durchgeführt wird. Um Zweifel auszuschließen, wenn ein Akteur eine Aktion durch etwas anderes als Durchführen der Aktion ermöglicht, wird die Aktion ungeachtet dessen durch eine Entität oder eine Kombination von Entitäten durchgeführt.
  • Eine oder mehrere Ausführungsformen der Erfindung oder Elemente davon können in Form eines Computerprogrammprodukts realisiert sein, das ein durch einen Computer lesbares Speichermedium mit durch einen Computer verwendbarem Programmcode zum Durchführen der angegebenen Verfahrensschritte umfasst. Des Weiteren können eine oder mehrere Ausführungsformen der Erfindung oder Elemente davon in Form eines Systems (oder einer Vorrichtung) realisiert sein, das (die) einen Speicher und mindestens einen Prozessor umfasst, der mit dem Speicher verbunden und funktionsmäßig in der Lage ist, beispielhafte Verfahrensschritte durchzuführen. Bei einem noch weiteren Aspekt können eine oder mehrere Ausführungsformen der Erfindung oder Elemente davon in Form von Mitteln zum Ausführen eines oder mehrerer der hierin beschriebenen Verfahrensschritte realisiert sein; die Mittel können (i) (ein) Hardwaremodul(e), (ii) Softwaremodule umfassen, die auf einem durch einen Computer lesbaren Speichermedium (oder mehreren derartiger Medien) gespeichert und auf einem Hardwareprozessor realisiert sind, oder (iii) eine Kombination aus (i) und (ii); beliebige aus (i) bis (iii) realisieren die hierin dargelegten konkreten Techniken.
  • Techniken der vorliegenden Erfindung können wesentliche vorteilhafte technische Effekte bereitstellen. Zum Beispiel stellen eine oder mehrere Ausführungsformen eines oder mehreres bereit aus: fein differenzierter optischer Erkennung des Zustands eines Gegenstands wie z.B. einer in Reparatur befindlichen Maschine, die robust gegenüber Verdeckungen wie z.B. durch die Hand eines Benutzers oder Werkzeuge, robust gegenüber Kamerabewegungen ist und verzerrte Bilder automatisch ignoriert.
  • Diese und andere Merkmale und Vorteile der vorliegenden Erfindung werden anhand der folgenden ausführlichen Beschreibung veranschaulichender Ausführungsformen der Beschreibung deutlich, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist.
  • Figurenliste
  • Die vorliegende Erfindung wird nun in lediglich beispielhafter Form unter Bezugnahme auf bevorzugte Ausführungsformen beschrieben, die in den folgenden Figuren veranschaulicht sind:
    • 1 stellt eine Cloud-Computing-Umgebung gemäß Ausführungsformen der vorliegenden Erfindung bildlich dar;
    • 2 stellt Abstraktionsmodellschichten gemäß Ausführungsformen der vorliegenden Erfindung bildlich dar;
    • Die 3A, 3B, 3C und 3D stellen beispielhafte optische Zustände eines Computers bildlich dar, die unter Verwendung von Ausführungsformen der Erfindung erfasst werden können;
    • 4 ist ein kombiniertes Datenfluss-/Blockschema gemäß einer Ausführungsform der Erfindung;
    • 5 ist ein alternatives kombiniertes Datenfluss-/Blockschema gemäß einer Ausführungsform der Erfindung;
    • 6 zeigt einen beispielhaften Prozess zur Erzeugung von interessierenden Bereichen (regions of interest, ROI) gemäß einer Ausführungsform der Erfindung;
    • 7 zeigt einen beispielhaften Prozess zur Auswahl von interessierenden Bereichen (ROI) gemäß einer Ausführungsform der Erfindung;
    • 8 ist ein kombiniertes Datenfluss-/Blockschema mit Laufzeitdetails gemäß einer Ausführungsform der Erfindung;
    • 9 ist ein Entwurf eines beispielhaften Modells gemäß Ausführungsformen der Erfindung;
    • 10 ist ein Flussdiagramm, das eine stellungsunabhängige, grob differenzierte Erkennung zum Auswählen des korrekten Modells zur erneuten Lokalisierung gemäß einer Ausführungsform der Erfindung zeigt;
    • 11 zeigt eine beispielhafte ROI-Verdeckung, die durch Ausführungsformen der Erfindung wirksam behandelt werden kann;
    • 12 zeigt, wie gemäß einer Ausführungsform der Erfindung eine ROI-Optimierung Bewegungsgeschwindigkeit, Blickwinkel und Abstand der Einheit auswertet, um das optimale aufgenommene ROI-Bild auszuwählen;
    • 13 stellt eine Verwechslungsmatrix von Zustandserkennungsergebnissen gemäß einem Aspekt der Erfindung bildlich dar;
    • 14 stellt einen Vergleich der Erkennungsgenauigkeit von Datenerweiterung (data augmentation, DA) mit einer unterschiedlichen Anzahl von Trainingsbildern gemäß einem Aspekt der Erfindung bildlich dar;
    • 15 stellt eine Erkennungsgenauigkeit mit unterschiedlichen ROI-Größen gemäß einem Aspekt der Erfindung bildlich dar;
    • 16 stellt Falsch-Rate und Latenz bei unterschiedlichen Anzahlen von Versuchen gemäß einem Aspekt der Erfindung bildlich dar;
    • 17 stellt die Genauigkeit unterschiedlicher Modelle mit ROI-Erfassung oder Verwendung von Rohbild-Einzelbildern gemäß einem Aspekt der Erfindung bildlich dar;
    • 18 stellt gemäß einer Ausführungsform einen Vergleich der Genauigkeit unterschiedlicher Modelle bei zunehmender Komplexität von Objekten dar, die mehr ROIs erfordern;
    • 19 stellt die Gesamtzahl von Parametern unterschiedlicher Modelle bei zunehmender Anzahl von ROIs gemäß einem Aspekt der Erfindung bildlich dar;
    • 20 zeigt eine beispielhafte Genauigkeit von Modellen mit einem einfachen faltenden neuronalen Netz (lightweight convolutional neural network, LW-CNN) und einem diskreten CNN-LSTM (LSTM = long short-term memory, langes Kurzzeitgedächtnis) an fünf Objekten, die mit beispielhaften Ausführungsformen der Erfindung erreicht wurde;
    • 21 ist eine Tabelle, die unter unterschiedlichen Modi den Ressourcenverbrauch zeigt, der mit (einer) beispielhaften Ausführungsform(en) der Erfindung erreicht wurde; und
    • 22 stellt ein Computersystem bildlich dar, das beim Realisieren eines oder mehrerer Aspekte und/oder Elemente der Erfindung nützlich sein kann und außerdem für einen Cloud-Computing-Knoten gemäß einer Ausführungsform der vorliegenden Erfindung steht.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Es versteht sich von vornherein, dass eine Realisierung der hierin vorgestellten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist, obwohl diese Offenbarung eine ausführliche Beschreibung des Cloud-Computing enthält. Vielmehr können Ausführungsformen der vorliegenden Erfindung in Verbindung mit einer beliebigen anderen Art von Datenverarbeitungsumgebung realisiert werden, die gegenwärtig bekannt ist oder in Zukunft entwickelt wird.
  • Bei Cloud-Computing handelt es sich um ein Modell zur Bereitstellung von Diensten, um einen praktischen und bei Bedarf verfügbaren Netzwerkzugriff auf ein gemeinsam genutztes Reservoir konfigurierbarer Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Hauptspeicher, Speicher, Anwendungen, virtuelle Maschinen und Dienste) zu ermöglichen, die bei minimalem Verwaltungsaufwand oder minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Bereitstellungsmodelle umfassen.
  • Die Eigenschaften sind folgende:
    • On-demand Self Service (Selbstzuweisung bei Bedarf): Ein Cloud-Kunde kann sich einseitig Datenverarbeitungsfunktionen wie zum Beispiel Serverzeit und Netzwerkspeicher dem Bedarf entsprechend automatisch bereitstellen ohne dass eine Interaktion von Menschen mit dem Anbieter des Dienstes erforderlich ist.
    • Broad Network Access (umfassender Netzwerkzugriff): Es stehen Funktionen über ein Netzwerk zur Verfügung, auf die der Zugriff über Standardmechanismen erfolgt, die die Verwendung durch heterogene Plattformen Thin- oder Thick-Client-Plattformen (z.B. Mobiltelefone, Notebook-Computer und PDAs) unterstützen.
    • Resource Pooling (Ressourcenbündelung): Die Datenverarbeitungsressourcen des Anbieters werden gebündelt, um mehrere Kunden unter Verwendung eines Mehrfachnutzermodells mit unterschiedlichen physischen und virtuellen Ressourcen zu bedienen, die entsprechend dem Bedarf dynamisch zugewiesen und neu zugewiesen werden. Es besteht eine gefühlte Standortunabhängigkeit in der Weise, dass der Kunde im Allgemeinen keine Kontrolle oder Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber möglicherweise in der Lage ist, den Standort auf einer höheren Abstraktionsebene (z.B. Land, Bundesstaat oder Datenverarbeitungszentrum) anzugeben.
    • Rapid Elasticity (rasche Elastizität): Funktionen können rasch und elastisch bereitgestellt werden, in einigen Fällen automatisch, um den Funktionsumfang schnell nach oben anzupassen, und schnell freigegeben werden, um den Funktionsumfang schnell nach unten anzupassen. Für den Kunden entsteht oftmals der Eindruck, dass die zum Bereitstellen verfügbaren Funktionen unbegrenzt sind und jederzeit in jeder beliebigen Menge gekauft werden können.
    • Measured Service (bemessener Dienst): Cloud-Systeme steuern und optimieren automatisch die Ressourcenverwendung durch Nutzung einer Bemessungsfunktion auf einer bestimmten Abstraktionsebene, die für die Art des Dienstes geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Ressourcennutzung kann überwacht, gesteuert und gemeldet werden sodass Transparenz sowohl für den Anbieter als auch den Kunden des genutzten Dienstes besteht.
  • Die Dienstmodelle sind folgende:
    • Software as a Service (SaaS) (Software als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, die auf einer Cloud-Infrastruktur ausgeführten Anwendungen des Anbieters zu nutzen. Die Anwendungen sind über eine Thin-Client-Schnittstelle wie z.B. einen Webbrowser (z.B. auf dem Web beruhende E-Mail) von verschiedenen Client-Einheiten her zugänglich. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur, unter anderem Netzwerke, Server, Betriebssysteme, Speicherplatz oder sogar einzelne Anwendungsfähigkeiten, nicht, abgesehen von der möglichen Ausnahme eingeschränkter benutzerspezifischer Konfigurationseinstellungen von Anwendungen.
    • Platform as a Service (PaaS) (Plattform als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, auf der Cloud-Infrastruktur vom Kunden erzeugte oder erworbene Anwendungen bereitzustellen, die unter Verwendung von Programmiersprachen und Programmierwerkzeugen erzeugt wurden, die durch den Anbieter unterstützt werden. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur, unter anderem Netzwerke, Server, Betriebssysteme oder Speicherplatz, nicht, hat aber die Kontrolle über die bereitgestellten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendungen.
    • Infrastructure as a Service (laaS) (Infrastruktur als Dienst): Die dem Kunden bereitgestellte Funktion besteht darin, Verarbeitung, Speicherplatz, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Kunde beliebige Software bereitstellen und ausführen kann, zu der Betriebssysteme und Anwendungen gehören können. Der Kunde verwaltet oder steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicherplatz sowie bereitgestellte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Vernetzungskomponenten (z.B. Host-Firewalls).
  • Die Bereitstellungsmodelle sind folgende:
    • Private Cloud (private Cloud): Die Cloud-Infrastruktur wird ausschließlich für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und in den Räumen der Organisation oder außerhalb davon vorhanden sein.
    • Community Cloud (Community-Cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen genutzt und unterstützt eine bestimmte Benutzergemeinschaft, die gemeinsame Interessen hat (z.B. Gesichtspunkte im Zusammenhang mit einer Aufgabe, mit Sicherheitsanforderungen, Richtlinien und mit der Einhaltung von Gesetzen und Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und in den Räumen der Organisation oder außerhalb davon vorhanden sein.
    • Public Cloud (öffentliche Cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Gruppe in einem Industriezweig zur Verfügung gestellt und ist Eigentum einer Organisation, die Cloud-Dienste verkauft.
    • Hybrid cloud (Hybrid-Cloud): Bei der Cloud-Infrastruktur handelt es sich um eine Mischung aus zwei oder mehreren Clouds (Private Cloud, Community Cloud oder Public Cloud), die eigenständige Entitäten bleiben, aber über eine standardisierte oder proprietäre Technologie miteinander verbunden sind, die die Portierbarkeit von Daten und Anwendungen ermöglicht (z.B. Cloud-Zielgruppenverteilung (Cloud Bursting) zum Lastausgleich zwischen Clouds).
    • Eine Cloud-Computing-Umgebung ist dienstorientiert, wobei der Schwerpunkt auf Zustandsunabhängigkeit, geringer Kopplung, Modularität und semantischer Interoperabilität liegt. Im Mittelpunkt des Cloud-Computing steht eine Infrastruktur, die ein Netzwerk aus untereinander verbundenen Knoten aufweist.
  • Nunmehr unter Bezugnahme auf 1 ist dort eine veranschaulichende Cloud-Computing-Umgebung 50 bildlich dargestellt. Wie gezeigt umfasst die Cloud-Computing-Umgebung 50 einen oder mehrere Cloud-Computing-Knoten 10, mit denen durch Cloud-Kunden verwendete lokale Datenverarbeitungseinheiten wie zum Beispiel ein Personal Digital Assistant (PDA) oder Mobiltelefon 54A, ein Desktop-Computer 54B, ein Notebook-Computer 54C und/oder ein Automobil-Computersystem 54N Daten austauschen können. Die Knoten 10 können untereinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken wie zum Beispiel in einer hierin oben beschriebenen Private Cloud, Community Cloud, Public Cloud oder Hybrid Cloud oder in einer Kombination davon gruppiert sein (nicht gezeigt). Dies ermöglicht der Cloud-Computing-Umgebung 50, Infrastruktur, Plattformen und/oder Software als Dienste zu bieten, für die ein Cloud-Kunde keine Ressourcen auf einer lokalen Datenverarbeitungseinheit zu verwalten braucht. Es versteht sich, dass die Arten von in 1 gezeigten Datenverarbeitungseinheiten 54A bis N lediglich veranschaulichend sein sollen und dass die Datenverarbeitungsknoten 10 und die Cloud-Computing-Umgebung 50 über eine beliebige Art von Netzwerk und/oder über eine beliebige Art von Verbindung, die über ein Netzwerk aufgerufen werden kann (z.B. unter Verwendung eines Webbrowsers), mit einer beliebigen Art von computergestützter Einheit Daten austauschen können.
  • Nunmehr unter Bezugnahme auf 2 ist dort ein Satz funktionaler Abstraktionsschichten gezeigt, die durch die Cloud-Computing-Umgebung 50 (1) bereitgestellt werden. Es sollte von vornherein klar sein, dass die in 2 gezeigten Komponenten, Schichten und Funktionen lediglich veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie bildlich darstellt ist, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Eine Hardware- und Softwareschicht 60 umfasst Hardware- und Softwarekomponenten. Zu Beispielen von Hardwarekomponenten gehören:
    • Großrechner 61; auf der RISC-Architektur (RISC = Reduced Instruction Set Computer) beruhende Server 62; Server 63; Blade-Server 64; Speichereinheiten 65; und Netzwerke und Vernetzungskomponenten 66. Bei einigen Ausführungsformen enthalten Softwarekomponenten eine Netzwerk-Anwendungsserversoftware 67 und eine Datenbanksoftware 68.
  • Eine Virtualisierungsschicht 70 stellt eine Abstraktionsschicht bereit, von der aus die folgenden Beispiele von virtuellen Einheiten bereitgestellt sein können: virtuelle Server 71; virtueller Speicher 72; virtuelle Netzwerke 73, unter anderem virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 74; und virtuelle Clients 75.
  • Bei einem Beispiel kann eine Verwaltungsschicht 80 die nachstehend beschriebenen Funktionen bereitstellen. Eine Ressourcenbereitstellung 81 stellt die dynamische Beschaffung von Datenverarbeitungsressourcen und von anderen Ressourcen bereit, die genutzt werden, um Aufgaben innerhalb der Cloud-Computing-Umgebung durchzuführen. Eine Gebührenerfassung und Preisberechnung 82 stellt eine Kostenverfolgung bereit, während Ressourcen innerhalb der Cloud-Computing-Umgebung genutzt werden, sowie eine Abrechnung und Fakturierung der Inanspruchnahme dieser Ressourcen. Bei einem Beispiel können diese Ressourcen Anwendungssoftwarelizenzen umfassen. Eine Sicherheit stellt eine Identitätsüberprüfung für Cloud-Kunden und Aufgaben sowie einen Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 83 stellt Kunden und Systemadministratoren einen Zugriff auf die Cloud-Computing-Umgebung bereit. Eine Dienstgüteverwaltung (Service Level Management) 84 stellt eine Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die jeweils erforderliche Dienstgüte erreicht wird. Eine Planung und Erfüllung von Dienstgütevereinbarungen 85 (Service Level Agreement (SLA), Servicevertrag) stellt die Vorausplanung für und die Beschaffung von Cloud-Computing-Ressourcen bereit, für die auf der Grundlage eines SLA zukünftige Anforderungen erwartet werden.
  • Eine Betriebslastschicht 90 stellt Beispiele von Funktionalitäten bereit, für die die Cloud-Computing-Umgebung genutzt werden kann. Zu Beispielen von Betriebslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, gehören: Zuordnung und Navigation 91; Softwareentwicklung und -verwaltung 92 während des Lebenszyklus; Bereitstellung 93 von Schulungen in virtuellen Schulungsräumen; Verarbeitung 94 von Datenanalysen; Transaktionsverarbeitung 95; und ein Dienst auf Cloud-Basis zur fein differenzierten optischen Erkennung in erweiterter Realität 96, wobei es sich versteht, dass auf Cloud beruhende, nicht auf Cloud beruhende/lokale und kombinierte Ansätze genutzt werden könnten. Zum Beispiel befinden sich einige Ausführungsformen auf einem Smartphone, einem Notebook-Computer oder auf einer anderen mobilen Einheit 54A, 54C eines Benutzers und interagieren wahlweise mit Elementen in der Cloud.
  • Eine oder mehrere Ausführungsformen stellen vorteilhafterweise ein System und ein Verfahren zur über erweiterte Realität gesteuerten optischen Erkennung bereit. Trotz der jüngsten Fortschritte bei erweiterter Realität (AR) sind AR-Benutzererlebnisse nach wie vor simpel und es mangelt ihnen an Intelligenz und Automatisierung, wodurch die Benutzerinteraktion ziemlich wenig intuitiv ist. Zwar ermöglicht AR ein Verfolgen virtueller Objekte und von Kommentaren in physischen Räumen über Computer-Vision-Techniken, sie ist von Natur aus jedoch nicht so intelligent, dass sie die Bedeutung dessen erkennt, was sie sieht. Im Bereich des technischen Supports kann AR zum Beispiel einen Notebook-Computer in Form einer Punktwolke erkennen, um verfolgte Kommentare über dem Computer zu ermöglichen, weiß aber eigentlich nicht, dass sie auf einen Computer schaut, ohne dass der Benutzer diese bestimmte Punktwolke als Notebook-Computer beschriftet hat. Weder wäre AR in der Lage zu verstehen, ob der Deckel des Notebook-Computers geöffnet oder geschlossen ist, noch, dass der Kühlkörper des Notebook-Computers entfernt wurde, und so weiter. Das Fehlen semantischer, fein differenzierter Erkennung erfordert, dass durch den Benutzer jegliche Interaktion gesteuert wird, die kennzeichnet, worauf der Benutzer schaut (z.B. durch vorheriges Beschriften von Objekten, Angeben des Zustands eines Objekts usw.), bevor der Benutzer den relevanten AR-Inhalt in der Ansicht des Benutzers anzeigen lassen kann, und dadurch die Interaktion erheblich einschränkt. Um dieses Dilemma zu beseitigen und aufgewertete AR-Benutzererlebnisse bereitzustellen, stellen eine oder mehrere Ausführungsformen einen Ansatz mit einer feiner differenzierten optischen Erkennung bereit, die nicht nur Objekte erkennt, sondern auch Teile oder (eine) Zustandsänderung(en) eines Objekts. Dieser Ansatz ermöglicht AR-Anwendungen, automatisch die relevanten AR-Anweisungen im richtigen Kontext wiederzugeben, indem die Zustandsänderung als ein Teil eines Objekts erfasst wird.
  • Das Erkennen fein differenzierter Kategorien (z.B. Automodelle, Vogelarten) ist ein sehr anspruchsvolles Problem, da es die Fähigkeit erfordert, geringfügige optische Unterschiede zu lokalisieren und erkennen. Den meisten Arbeiten liegen durch den Menschen kommentierte Datensätze zugrunde, bei denen Abgrenzungsboxen genutzt werden, um relevante Merkmale darzustellen, dies lässt sich aber nur sehr schwer anpassen. Spärlich überwachte Teilemodelle unter Verwendung faltender neuronaler Netze (CNNs) mit Kategoriebeschriftungen hängen nicht von Umrandungsboxen zur Datenbeschriftung ab, wodurch ihre Anwendbarkeit erheblich ausgeweitet wird. Derartige Ansätze umfassen zwei Schritte, Teilelokalisierung durch Trainieren anhand von positiven/negativen Bildstellen und anschließendes Extrahieren fein differenzierter Merkmale zur Erkennung. Diese Ansätze sind jedoch nicht direkt anwendbar, wenn dynamische Kamerabewegungen Rauschen in die aufgenommenen Bilder einbringen. In ähnlicher Weise funktioniert ein Bereichsvorschlagsnetz (Region Proposal Network, RPN) nicht gut bei komplexen Szenarien wie z.B. bei der Zustandserkennung zur Hardwarereparatur, da viele Teile (z.B. RAM-Sticks, Schrauben) identisch aussehen können, dennoch kann eine Kombination aus diesen unterschiedliche Zustände der Hardware darstellen. Derartigen auf RPN beruhenden Modellen fehlt es an der Fähigkeit, sich auf bestimmte interessierende Teile zu konzentrieren. Bestehenden Ansätzen ist dieselbe Voraussetzung gemeinsam, dass die unterscheidbaren Teile in Eingabebildern entsprechend aufgenommen wurden, was in der Praxis möglicherweise nicht immer der Fall ist.
  • Techniken nach dem Stand der Technik setzen entweder Eingabebilder voraus, die aus zwölf feststehenden Winkeln (Azimutwinkeln mit einer Schrittweite von 30°) um das Objekt herum aufgenommen wurden, oder sie verwenden Zufallsbilder in Form von Gruppen oder Paaren. Im Gegensatz zu Systemen nach dem Stand der Technik, die voraussetzen, dass der Benutzer weiß, wie und wo die Eingabebilder aufgenommen werden müssen, führen eine oder mehrere Ausführungsformen den Benutzer beim Aufnehmen von Bildern der informativsten interessierenden Bereiche (ROIs) auf der Grundlage der Kamerastellung und der 3-D-Punktwolke, die das Zielobjekt darstellt.
  • Zur aktiven Erkennung gehört normalerweise ein Erlernen eines generativen Modells des Objekts und anschließend ein Auswählen von Ansichten auf der Grundlage von Entropieverringerung. Vor Kurzem wurde die „ShapeNets“-Struktur vorgeschlagen, um Objekte als Voxelgitter zu modellieren und ein generatives Modell auf der Grundlage von faltenden Deep Belief Networks zu erlernen, um eine Ansichtssynthese aus unsichtbaren Beobachtungspunkten zu ermöglichen. Ein Erlernen durchgängiger Richtlinien zur aktiven optischen Kategorisierung und eine Struktur zum Ausnutzen unsichtbarer Umgebungen für unbekannte Aufgaben wurden ebenfalls vorgeschlagen. Jedoch können derartige Modelle normalerweise die Vollständigkeit der Wahrnehmung des Objekts nicht so garantieren, dass alle zugehörigen Teile aufgenommen werden.
  • Ein oder mehrere Ausführungsformen stellen vorteilhafterweise eine Lösung bereit, die sich den Vorteil von AR-spezifischen Daten wie z.B. von in Echtzeit erzeugten 3-D-Merkmalpunkten und (einer) Kamerastellung(en) zunutze macht, um zur fein strukturierten optischen Erkennung die durch die Kamera aufgenommenen Bilder zu ergänzen. Zunächst werden ein Satz von Trainingsvideos verwendet und ROIs erlernt, die Erscheinungsbildänderungen enthalten, die unterschiedliche Zustände unterscheiden. Die Stellung der 6-DOF-Kamera (DOF = degree of freedom, Freiheitsgrad) wird aktiv verfolgt, um sicherzustellen, dass die Kamera in dem richtigen Abstand und Blickwinkel zu den ROIs gehalten und Verdeckungen oder andere Rauscheinflüsse der Eingangsbilder des Modells zur optischen Erkennung minimiert werden. Um die Stabilität der Erkennung zu verbessern, stellen ein oder mehrere Ausführungsformen ein diskretes faltendes neuronales Mehrfachdatenstrom-Netz (CNN) in Verbindung mit einem bidirektionalen langen Kurzzeitgedächtnis (LSTM) bereit, d.h. ein Diskretes-CNN-LSTM-Modell (DCL-Modell), um nicht nur räumliche, sondern auch zeitliche Daten zum Vorhersagen von Zustandsänderungen zu extrahieren.
  • Eine oder mehrere Ausführungsformen sind auf das spezifische Problem der fein differenzierten optischen Erkennung in einer mobilen AR-Umgebung gerichtet und kombinieren Bild-, 3-D-Merkmalpunkt- und Kamerastellungsdaten, um Objektzustandsänderungen aktiv vorherzusagen. Einige oder mehrere Ausführungsformen erzeugen ROI-Kandidaten aus zusammengeführten 3-D-Merkmalpunkten, die aus AR-Sitzungen gesammelt wurden, und extrahieren unterscheidbare ROIs automatisch unter Verwendung von Merkmaldarstellungen tiefer CNN, die zur fein differenzierten Erkennung verfolgt und zugeschnitten werden. Eine oder mehrere Ausführungsformen nutzen ein erfindungsgemäßes Diskretes-CNN-LSTM-Modell (DCL-Modell), das ROI-Bilder auf diskreten Mehrfachdatenstrom-CNN-Zweigen verteilt und Informationen mit bidirektionalen LSTM-Schichten vereinigt. Ein Mehrfachdatenstrom-CNN mit gemeinsam genutzten Gewichtungen löst das unvereinbare Problem zwischen hoher Bildauflösung, die für eine feine Differenziertheit erforderlich ist (und somit ein größeres Modell erfordert), und der mit zunehmender Anzahl von ROIs abnehmenden Auflösung. Die LSTM-Schichten vereinigen die optischen Informationen im Zeitbereich, um die Vorhersagestabilität weiter zu verbessern. Bei einer nicht einschränkenden, beispielhaften experimentellen Ausführungsform wurden unter Verwendung einer AR-Entwicklungsplattform (Erweiterte-Realität-Entwicklungsplattform ARKit für iOS von Apple) eine iOS-Anwendung und eine durchgängige Maschinenlernplattform (die Open-Source-Plattform TensorFlow) aufgebaut, um die Wirksamkeit unter Beweis zu stellen und unter Verwendung des Anwendungsszenarios zur Hardwarewartung umfangreiche Auswertungen bereitzustellen.
  • Erweiterte Realität (AR) wird aktuell für eine Vielfalt von Zwecken verwendet, unter anderem für technischen Support. Bei AR-Systemen handelt es sich um computergestützte Videosysteme, die die reale Welt mit virtuellem Material überlagern. Erweiterte Selbsthilfe schließt ein in Schritten erfolgendes Überlagern dreidimensionaler (3-D) animierter Anweisungen (animierter 3-D-Anweisungen) auf Bilder der Hardware ein, an der gearbeitet werden soll; es ist intuitiver und verbindlicher als frühere Systeme. Frühere Systeme erforderten normalerweise wegen des Fehlens einer fein differenzierten optischen Erkennung eine Analyse durch Menschen und eine manuelle Auswahl eines anwendbaren Satzes von Anweisungen, die angezeigt werden sollen. Eine oder mehrere Ausführungsformen erkennen vorteilhafterweise den Zustand des Objekts und die Reparatur und stellen automatisch einen korrekten Satz von Anweisungen bereit. Im hierin definierten Sinne bezeichnet ein „optischer Zustand” eines Objekts die optische Konfiguration eines Objekts wie z.B. einer in Reparatur befindlichen Maschine zu einem bestimmten Zeitpunkt; z.B. Batterie installiert/nicht installiert, Sperrklinke oben oder unten - eine Eigenschaft eines Objekts, die vorliegt, im Gegensatz zur bloßen Abwesenheit/Anwesenheit des Objekts an sich. Bei dem Beispiel der Batterie handelt es sich bei dem „optischen Zustand“ um den Zustand der Hauptplatine im Gegensatz zu der Batterie. Bei einer oder mehreren Ausführungsformen wird dies durch eine fein differenzierte optische Erkennung ermöglicht, die bisher nicht verfügbar ist. Siehe 3A. Gewünscht ist zu ermitteln, ob der Lüfter 303 und/oder die Batterie 305 entfernt wurden. Wegen des Abstands von der Kamera ist es schwierig zu ermitteln, ob die Batterie entfernt wurde, und somit ist ein „Heranzoomen“ zweckdienlich, wie in 3C. In 3B ist ein weiteres mögliches Problem zu sehen; d.h., die Batterie 305 ist durch Leitungen 307 verdeckt. In 3-D ist noch ein weiteres mögliches Problem zu sehen; d.h., die Batterie 305 ist durch die Hand eines Benutzers 309 verdeckt. Zu beachten ist auch die CPU 311.
  • Eine oder mehrere Ausführungsformen stellen vorteilhafterweise ein optisches Erkennungssystem bereit, das den optischen Zustand der in Reparatur befindlichen Maschine erkennt, das zum Beispiel die folgenden drei Funktionalitäten bereitstellen kann:
    • automatisches Darstellen entsprechender AR-Anweisungen,
    • Überprüfen, dass alle Voraussetzungen erfüllt sind, um zum nächsten Schritt zu gehen,
    • Beantworten der Frage „Wo bin ich“? (Erkennen des Zustands der Maschine nach einem unterbrochenen Reparaturprozess).
  • Eine oder mehrere Ausführungsformen stellen eine sehr fein differenzierte Wahrnehmung des Objekts bereit. Das Objekt kann vorteilhafterweise aus einem geeigneten Blickwinkel betrachtet werden, sodass Schlüsselkomponenten für die Kamera sichtbar sind. Eine oder mehrere Ausführungsformen ermöglichen ein Heranzoomen lokaler Bereiche des Bildes; zum Beispiel, um zu erkennen, ob eine kleine Schraube installiert ist oder fehlt (oder ein anderes fein differenziertes Detail). Das Objekt kann durch die Hand des Benutzers oder Werkzeuge zeitweilig verdeckt sein (3D), wodurch „Rauscheinflüsse“ in die Bilder eingebracht werden.
  • Darüber hinaus werden im Gegensatz zu herkömmlichen optischen Erkennungsszenarien, bei denen gut aufgenommene Bilder als Eingabe verwendet werden, die Eingabebilder bei AR-Szenarien von einer sich dynamisch bewegenden Kamera aufgenommen. Eine oder mehrere Ausführungsformen sind auf die Probleme im Zusammenhang mit zuverlässigen und stabilen Erkennungsergebnissen aufgrund teilweise aufgenommener Bilder oder verzerrter Bilder gerichtet, die durch schnelle Kamerabewegungen verursacht werden.
  • Bisher sind aktuelle Algorithmen zur optischen Erkennung nicht in der Lage, bei derartigen problematischen Fällen gute Ergebnisse bereitzustellen. Eine oder mehrere Ausführungsformen stellen vorteilhafterweise eine Struktur bereit, die zu einer fein differenzierten Erkennung in der Lage ist. Unter Bezugnahme auf 4 umfassen eine oder mehrere Ausführungsformen eine Offline-Phase 403 und eine Online-Phase 405. Bei der Offline-Phase können Objekte wegen der AR mit einer Kamera abgetastet werden, um dreidimensionale Merkmalpunkte (3-D-Merkmalpunkte) des Objekts zu erkennen und die Stellung des Objekts, die Ausrichtung und den Standort der Kamera zu verfolgen. Bei einer oder mehreren Ausführungsformen wird in der Offline-Phase zunächst das Objekt abgetastet, sodass bei 407 ein 3-D-Modell aufgebaut werden kann. In der Zwischenzeit werden bei 409 Videoeinzelbilder/Bilder des Objekts aufgenommen. Die aufgenommenen Daten werden zur Extraktion 411 von ROIs (interessierenden Bereichen) genutzt. Zum Beispiel handelt es sich bei der Batterie und bei dem CPU-Lüfter um interessierende Bereiche. Eine oder mehrere Ausführungsformen nutzen Algorithmen, um derartige ROIs automatisch zu extrahieren (Offline-ROI-Aufnahme) 413.
  • Sobald die ROIs aufgenommen wurden (Offline 413, Online 414), ermitteln eine oder mehrere Ausführungsformen ROI-Bilder (Offline 415, Online 416) - dies kann zum Beispiel Berechnungen einschließen, um zu ermitteln, wie Miniaturbilder zugeschnitten werden sollen, sowie eine Verkettung von Miniaturbildern. Zum Beispiel wird eine Anzahl interessierender Bilder verkettet (bei einem nicht einschränkenden Beispiel bei 541 und 803-1, 803-2, ..., 803-M, neun Bilder in einer drei-mal-drei-Anordnung) (wie z.B. die Batterie, die CPU, der Chip und dergleichen); die verketteten Bilder können während der Online-Phase 405 zur optischen Erkennung 417 verwendet werden. Bei einer oder mehreren Ausführungsformen wird während der Offline-Phase 403 ein Deep-Learning-Modell bei 419 auf der Grundlage der verketteten Bilder 415 trainiert. Das Modell wird online in Echtzeit zur optischen Erkennung 417 verwendet.
  • Bei einer oder mehreren Ausführungsformen handelt es sich bei der optischen Erkennung um einen zweistufigen Prozess: (i) ROI-Extraktion 411 und (ii) ROI-Verkettung sowie optische Erkennung. Eine oder mehrere Ausführungsformen speisen zur optischen Erkennung somit nicht das gesamte Bild in das Modell ein.
  • 4 zeigt somit zugehörige Schritte für den Systementwurf, die in eine Offline-Phase 403 und eine Online-Phase 405 unterteilt werden können. In der Offline-Phase 403 wird bei 407 zunächst das Objekt abgetastet (z.B. mit einer mobilen Einheit), um das Objektmodell zu aufzubauen, bei dem es sich um eine 3-D-Punktwolkendarstellung des Objekts handelt die zur erneuten Lokalisierung 404 verwendet werden kann. Während des Abtastens werden bei 409 die Kamerastellungen die erfassten Punktwolken und Videoeinzelbilder gesammelt. Die ROI-Extraktion verringert bei 411 die Anzahl von Bildpunkten der 3-D-Punktwolkendarstellung aus einem Objektmodell, um einen Satz von ROI-Kandidaten zu erzeugen, die bei 413 weiter gefiltert werden (z.B. aufgrund von (i) Verzerrungen, die durch übermäßig schnelle Kamerabewegungen verursacht wurden, und/oder von (ii) Verdeckung in dem interessierenden Bereich), sodass zum Beispiel nur diejenigen ROIs ausgewählt werden, die Erscheinungsbildänderungen enthalten. Auf der Grundlage der ausgewählten ROIs werden die gespeicherten Einzelbilder zugeschnitten, um ROI-Bilder 415 zu erzeugen, die zum Erkennungsmodelltraining 419 verwendet werden.
  • In der Online-Phase 405 werden zunächst das Objekt unter Verwendung des Objektmodells erfasst und die mobile Einheit in Bezug auf das Objekt bei 404 erneut lokalisiert, sodass die extrahierten ROIs in Bezug auf das Objekt an denselben Positionen bleiben. Auf der Grundlage dieser ROIs an dem Objekt wird bei 414 in jeden ROI hineingezoomt und die lokalen hochauflösenden Bilder werden zugeschnitten, die weiterverarbeitet werden, um Bilder 416 zu erhalten, die zur optischen Erkennung 417 (online) verwendet werden (die Bilder 415 werden zum Modelltraining 419 verwendet (offline)). Auf der Grundlage des erkannten „Zustands“ des Objekts werden entsprechende AR-Anweisungen automatisch dargestellt.
  • 5 zeigt eine alternative Ansicht, die hierin an anderer Stelle erörtert wird.
  • 6 zeigt einen beispielhaften Prozess zur ROI-Erzeugung. Zunächst wird bei 503 das interessierende Objekt (in diesem Fall ein Notebook-Computer) 502 mit einer AR-Entwicklungsplattform abgetastet; ein nicht einschränkendes Beispiel ist die Erweiterte-Realität-Entwicklungsplattform ARKit von Apple für mobile iOS-Einheiten; ein weiteres ist das Softwareentwicklungs-Toolkit ARCore von Google (der Fachmann ist mit der ARKit-Plattform, dem ARCore-Toolkit und dergleichen vertraut). Wie bei 505 zu sehen ist, führt dies zu einer akkumulierten Punktwolke aus Merkmalpunkten; im Wesentlichen eine Grobdarstellung des Objekts. Dann werden bei 507 die Ausreißer erfasst, die in der Ansicht 509 in Rot bildlich dargestellt sind. Bei 511 werden die Ausreißer entfernt, um eine Ansicht 513 zu erhalten, eine Punktwolkendarstellung des Objekts 502. Bei 515 wird die Anzahl von Bildpunkten des Voxelgitters verringert, um eine Ansicht 517 zu erhalten, wobei jeder Punkt ein Schwerpunkt eines kleinen Voxels des 3-D-Raums ist. Im Wesentlichen erfolgt die Verringerung der Anzahl der Bildpunkte auf eine bestimmte Größe. Dann werden bei 519 die Senkrechten der Voxel geschätzt, um eine Ansicht 521 zu erhalten. Bei 523 wird die Ansicht 521 verarbeitet, um Kandidaten für interessierende Bereiche 525-1, 525-2, 525-3, 525-4, 525-5, 525-6 und 525-7 zu erhalten. Um Unübersichtlichkeit zu vermeiden, sind nur sieben gezeigt; jedoch werden im Allgemeinen interessierende Bereiche erzeugt, um die gesamte Oberfläche des Objekts 502 zu bedecken. Normalerweise liegt ein ROI für jeden Punkt mit einer hervorstehenden Senkrechten vor; um Unübersichtlichkeit zu vermeiden, sind nur sieben ROIs gezeigt. Bei 529 werden die Kandidaten-ROIs auf das 2-D-Bild projiziert, um eine Ansicht 531 zu erhalten.
  • Eine oder mehrere Ausführungsformen nutzen die Kamerastellungsverfolgung in AR, um die Kamera auf interessierende Bereiche (ROIs) fokussiert zu halten, sodass rauschbehaftete Hintergrundinformationen herausgefiltert werden können; das Ergebnis ist gegenüber willkürlichen Einheitenbewegungen robust.
  • Nunmehr unter Bezugnahme auf 7 werden diejenigen ROIs erkannt, die anhand unterschiedlicher Objektzustände am leichtesten unterscheidbar sind. Es erfolgen ein Fokussieren auf diejenigen (unterscheidbaren) ROIs und ein Ausschließen der ROIs, die mehr rauschbehaftete Inhalte aufweisen (d.h. diejenigen, die Hintergrund enthalten). Die interessierenden Bereiche werden durch 3-D-Koordinaten dargestellt, die auf 2-D-Bilder projiziert werden. Bei 533 wird eine ROI-Extraktion durchgeführt, um eine Ansicht 535 mit zwei ROIs zu erhalten. Dann wird bei 537 ein Bildzuschneiden und -zoomen durchgeführt, um zugeschnittene und gezoomte Bilder 539 (kleine interessierende Bereiche) zu erhalten; Bilder werden normalerweise bei jedem ROI für jeden interessierenden Zustand erhalten. Die zugeschnittenen Bilder werden verkettet, wie bei 541 in der linken unteren Ecke von 7 zu sehen ist. Wie bei 543 zu sehen ist, wird ein Modell 545 trainiert, um derartige Bilder zu klassifizieren. Während des Trainingsprozesses ist es bei jeder Zustandsänderung normalerweise möglich zu ermitteln, welche ROIs die wesentlichsten Auswirkungen haben. Wenn es zum Beispiel wünschenswert ist zu erkennen, ob eine Batterie entfernt wurde, wird der Benutzer so geführt, dass er sich auf den Batterie-ROI konzentriert, um eine beliebige Unklarheit über den tatsächlichen Zustand zu beseitigen. In diesem Kontext beziehen sich die ROIs bei einigen oder mehreren Ausführungsformen auf alle ROIs, die eine wesentliche Auswirkung haben. Überdies ist auch bekannt, welche ROIs optische Änderungen aus einem Zustand in einen weiteren haben. Zum Beispiel haben eine oder mehrere Instanzen vier Zustände: Batterie, Batterie Aus, CPU Ein, CPU Aus und zwei ROIs (Batterie und CPU). Wenn das System in Bezug auf Batterie Ein/Aus nicht eindeutig ist, sollte dieser ROI anstelle der CPU abgetastet werden. Jeder ROI ist einer bestimmten Zustandsänderung zugehörig; bei einer oder mehreren Ausführungsformen bedeutet dies, wie die Benutzer beim Bewegen der Kamera geführt werden, wenn eine Verunsicherung auftritt. Die Wahrscheinlichkeit jedes Zustands gibt an, welcher Zustand erfasst werden soll. Wenn es sich zum Beispiel bei dem Zustand/der Wahrscheinlichkeit um den Zustand 0 handelt: 0,05, Zustand 1: 0,45, Zustand 2: 0,5, das bedeutet, dass das System durch den Zustand 1 und 2 durcheinandergebracht wurde. Die entsprechenden ROIs sollten abgetastet werden.
  • Nunmehr unter Bezugnahme auf 8 werden während der Laufzeit als Eingabe Videoeinzelbilder 703; 3-D-Merkmalpunkte 705; und Kamerastellungsdaten 707 (Kameraausrichtung und -standort) als Eingabe genommen, und auf der Grundlage des ROI wird bei 709 eine Projektion von 3-D auf 2-D ausgeführt, um Bilder für jeden ROI zu erhalten und diese zur Erkennung miteinander zu verketten. Ebenfalls unter Bezugnahme auf 708 nehmen eine oder mehrere Ausführungsformen ROI-Bilder nur auf, wenn Voxel belegt sind. Wie bei 711 zu sehen ist, werden für jeden ROI ein gezoomtes lokales Bild und eine Betrachtungsstellung erhalten, die verkettet werden können, um ein Erkennungsmodell 545 zu erhalten. Diese Technik erlaubt vorteilhafterweise ein Erhalten sehr fein differenzierter Bilder mit hoher Genauigkeit. Dies liegt an der Verwendung hochauflösender Bilder und an dem Zuschneiden, um nur ROIs mit Änderungen zu berücksichtigen. Einige oder mehrere Ausführungsformen sind gegenüber Kamerabewegungen robust und ignorieren automatisch alle verdeckten und/oder verzerrten (z.B. aufgrund einer zu schnellen Kameraverlagerung und/oder -drehung) Bilder.
  • Somit nutzen eine oder mehrere Ausführungsformen Kamerastellungsverfolgung und 3-D-Merkmalpunkte, bei denen es sich um „Nebenprodukte“ der AR handelt. Vorteilhafterweise sind eine oder mehrere Ausführungsformen in der Lage, sehr fein differenzierte Änderungen mit hoher Genauigkeit zu erkennen, da sehr detaillierte Teilbereiche aufgenommen werden. Beim Abtasten wird in derartige Bereiche hineingezoomt und diese werden zugeschnitten. Eine oder mehrere Ausführungsformen sind robust gegenüber Verdeckungen durch die Hand des Benutzers, Werkzeuge usw., da 2-D-Bilder nur aufgenommen werden, wenn interessierende Voxel belegt sind. Eine oder mehrere Ausführungsformen sind robust gegenüber Kamerabewegungen und ignorieren verzerrte Bilder automatisch.
  • 9 zeigt Aspekte des Modellentwurfs. Mehrere Zweige 803-1, 803-2, ..., 803-K sind zur Merkmalextraktion bereitgestellt. Diese werden durch Trennen der ROIs in mehrere Zweige erhalten; zum Beispiel enthält 803-1 die ROIs null bis acht; 803-2 enthält die ROIs neun bis siebzehn; und 803-K enthält die ROIs 9*(K-1) bis N-1 (N = Gesamtzahl von ROIs, die mit 0 bis N-1 nummeriert sind, und K = Anzahl von Zweigen). In einigen Fällen können weniger als acht ROIs vorliegen und zum Beispiel könnte nur ein einziger Zweig 803-1 genutzt werden. Durch Einbeziehen zu vieler ROIs in ein einzelnes Bild wird die Auflösung in unerwünschter Weise komprimiert, da die Eingabe in das CNN feststeht. Somit werden die ROIs normalerweise auf mehrere Zweige verteilt; dies spart vorteilhafterweise Berechnungsaufwand, da das Aktualisieren eines ROI-Bildes nur das Ausführen eines Zweiges der Merkmalextraktion erfordert. Somit ist der Merkmalextraktionsprozess allgemein bei 805 gezeigt und nimmt (ein) faltende(s) neuronale(s) Netz(e) 807 in Anspruch. Bei 809 wird eine Zusammenfassung räumlicher Informationen durch Verketten aller extrahierten Merkmale 810 durchgeführt, wie bei 811 zu sehen ist. Bei 813 wird eine Zusammenfassung zeitlicher Informationen für jeden Zeitschritt t-n, ..., t-1, t, durchgeführt, wobei die räumlichen Informationen zu einem Pool zusammengefasst sind. Bei einer oder mehreren Ausführungsformen wird eine Langes-Kurzzeitgedächtnis-Schicht (LSTM-Schicht) 815 verwendet, die letztlich zu einer vollständig verbundenen Schicht 817 zur Klassifizierung 819 führt. Die Verteilung der ROIs auf mehrere Zweige, sodass jeder ROI eine entsprechende Auflösung hat, ist bei einer oder mehreren Ausführungsformen vorteilhaft.
  • Eine oder mehrere Ausführungsformen stellen ein Verfahren zum Verschmelzen von 2-D-Videoeinzelbildern und 3-D-Punktwolken in AR zur fein differenzierten optischen Erkennung bereit, die gegenüber zufälligen Kamerabewegungen und Verdeckungen robust ist. Eine oder mehrere Ausführungsformen erzeugen ROI-Kandidaten aus akkumulierten spärlichen 3-D-Merkmalpunkten, die aus AR-Sitzungen gesammelt wurden, und extrahiert die am besten unterscheidbaren ROIs unter Verwendung einer gradientengewichteten Klassenaktivierungszuordnung (Gradient-weighted Class Activation Mapping, Grad-CAM). Eine oder mehrere Instanzen nutzen die exakte Kamerastellungsverfolgung zum Verfolgen und Zuschneiden von ROIs, sodass sich das Erkennungsmodell unabhängig davon auf ROIs konzentrieren kann, wie sich die Kamera bewegt (einige Ausführungsformen führen auf der Grundlage des Kamerastandorts ein automatisches Zuschneiden von ROIs durch). Dies ist im Vergleich zu Bereichsvorschlagsnetzen effizienter und robuster. Eine oder mehrere Ausführungsformen nutzen ein Mehrfachdatenstrom-CNN mit bidirektionalem LSTM mit einem neuronalen Netz mit Aufmerksamkeitsmechanismus, das Abfolgen von ROls und Kamerastellungen als Eingabe nimmt und die räumlichen und zeitlichen Informationen zur robusten optischen Erkennung extrahiert.
  • Eine oder mehrere Ausführungsformen sind in der Lage, sehr fein differenzierte Änderungen mit hoher Genauigkeit zu erkennen, da sehr detaillierte Teilbereiche aufgenommen werden. Beim Abtasten wird in derartige Bereiche hineingezoomt und diese werden zugeschnitten. Eine oder mehrere Ausführungsformen sind robust gegenüber Verdeckungen durch die Hand des Benutzers oder andere, da 2-D-Bilder nur aufgenommen wurden, wenn interessierende Voxel belegt sind. Eine oder mehrere Instanzen sind robust gegenüber Kamerabewegungen und ignorieren verzerrte Bilder automatisch.
  • Eine oder mehrere Ausführungsformen erkennen ROIs automatisch, indem sie aus den Daten lernen und als Eingabe nicht nur Bilder und Stellungen nehmen, sondern auch 3-D-Merkmalpunkte. Bei einer oder mehreren Ausführungsformen werden mehrere ROIs gleichzeitig aufgenommen und ROIs aus Bildern werden unter Verwendung von Kamerastellung und Projektion automatisch verfolgt und zugeschnitten. Eine oder mehrere Ausführungsformen nutzen ein Mehrfachdatenstrom-CNN-LSTM mit verteilten ROIverketteten Bildern als zugrundeliegendes Deep-Learning-Modell.
  • Eine oder mehrere Ausführungsformen stellen ein Verfahren zum Erzeugen einer über erweiterte Realität gesteuerten Reparaturanleitung bereit, unter anderem ein Abtasten eines interessierenden Objekts unter Verwendung einer mobilen Einheit; ein Extrahieren von Kamerastellung und Einzelbildinformationen aus der Abtastung; ein Extrahieren eines Einzelbildes, das interessierende Bereiche zeigt, die sich optisch ändernde Aspekte von Objekten definieren; ein Zuschneiden von Einzelbildern, die interessierende Bereiche zeigen, sodass sie nur relevante Abschnitte enthalten; und ein automatisches Erkennen der Verdeckung von interessierenden Zielbereichen, um das Deep-Learning-Modell nur dann zu aktivieren, wenn tatsächliche Änderungen vorliegen. Weitere Schritte enthalten ein Einspeisen zugeschnittener Einzelbilder in ein Deep-Learning-Modell, um optische Änderungen des Zustands des Objekts zu erkennen; ein Verwenden des erfassten Objektzustands, um zu ermitteln, welche Anweisung(en) über AR dargestellt werden soll(en); und ein Führen des Benutzers zu dem relevanten ROI auf der Grundlage von Echtzeit-Vorhersageergebnissen.
  • In einigen Fällen wird das Extrahieren von Einzelbildern, die interessierende Bereiche zeigen, automatisch durch Trainieren eines auf CNN beruhenden Deep-Learning-Modells durchgeführt, das enthält: Erzeugung von Kandidaten für interessierende Bereiche; und ein Auswählen der relevantesten interessierenden Bereiche. In einigen derartigen Fällen umfasst das Zuschneiden von Einzelbildern, sodass interessierende Bereiche nur relevante Abschnitte enthalten, um die Genauigkeit der optischen Erkennung zu erhöhen: ein Zuschneiden und Verketten der interessierenden Bereiche aus Einzelbildern; und Datenerweiterung einzelner Bilder interessierender Bereiche und ein Verketten dieser Bilder. In einigen derartigen Fällen werden zugeschnittene Einzelbilder in ein Deep-Learning-Modell eingespeist, um optische Änderungen des Zustands des Objekts zu erkennen; ein Mehrfachdatenstrom-CNN-LSTM-Modell nimmt verteilte verkettete Bilder als Eingabe zu Schlussfolgerungszwecken.
  • Der Fachmann wird somit erkennen, dass optische Erkennung in AR eine wichtige Rolle spielen kann, um den wahren Wert von AR-unterstützten Reparaturen zu realisieren. Eine oder mehrere Ausführungsformen stellen einen Ansatz zur fein differenzierten aktiven optischen Erkennung in erweiterter Realität bereit, der in der Lage ist, sehr fein differenzierte Einzelheiten eines komplexen 3-D-Objekts wie z.B. einer Schraube zu erkennen, die aus einer Maschine entfernt wurde. Eine nicht einschränkende beispielhafte Realisierungsform nutzt eine mobile App auf iOS-Basis und kann zur Hardwarewartung verwendet werden.
  • Eine Nutzung von AR-Verfolgung zur optischen Erkennung ist bei einer oder mehreren Ausführungsformen ziemlich relevant. Eine oder mehrere Instanzen stellen einen Algorithmus zur Einzelbildfilterung mit Gruppieren (clustering) von Stellungen und eine Auswahl des besten Einzelbildes auf der Grundlage von Trägheitssensoren bereit. Ausführungsformen können in vielen unterschiedlichen Anwendungen verwendet werden; z.B. AR-unterstützter Reparaturarbeiten (Fahrzeuge, Elektronik, selbst zusammengebaute Möbel und dergleichen); Ausbildung (Handwerk und dergleichen); Entertainment; Spiele; und so weiter.
  • Eine oder mehrere Ausführungsformen sind nicht auf ein Klassifizieren von Objektkategorien beschränkt, sondern vielmehr in der Lage, fein differenzierte Zustände zu klassifizieren. Eine oder mehrere Ausführungsformen sind in der Lage, 3-D-Objekte und nicht nur 2-D-Bilder zu verarbeiten. Eine oder mehrere Ausführungsformen arbeiten erfolgreich mit Kameras, die üblicherweise an mobilen Einheiten wie z.B. Telefonen, Tablet-Computern und dergleichen zu finden sind. Eine oder mehrere Ausführungsformen erkennen 3-D-Objekte in Videoeinzelbildern, in dem sie die Kamerastellung aus AR nutzten.
  • Erweiterte Realität wird zunehmend als neues Medium für Anwendungen zur Zwei-Wege-Fernzusammenarbeit eingesetzt, um Teilnehmer über optische Anweisungen ökonomischer und wirksamer anzuleiten. Benutzer streben bei Erweiterte-Realität-Anwendungen eine natürlichere Interaktion und eine Automatisierung an. Eine oder mehrere Ausführungsformen stellen neue optische Erkennungstechniken zum Verbessern des Benutzererlebnisses bereit. Zwar wird bei erweiterter Realität oftmals eine einfache Objekterkennung verwendet, um dieses Ziel zu erreichen, die meisten Zusammenarbeitsaufgaben sind jedoch so komplex, dass derartige Erkennungsalgorithmen nicht ausreichen. Eine oder mehrere Ausführungsformen stellen einen Ansatz zur aktiven und fein differenzierten optischen Erkennung für mobile erweiterte Realität bereit, der 2-D-Videoeinzelbilder, 3-D-Merkmalpunkte und Kamerastellungsdaten nutzt, um verschiedene Zustände eines Objekts zu erkennen. Bei einer nicht einschränkenden beispielhaften Anwendung handelt es sich um eine mobile Anwendung für den Hardwaresupport, die automatisch den Zustand eines Objekts erfasst, für das Support eingeholt wird, um den richtigen Satz von Informationen im richtigen Kontext darzustellen. Eine oder mehrere Ausführungsformen überwinden vorteilhafterweise Einschränkungen von Techniken nach dem Stand der Technik, die alle aufgrund des Fehlens einer semantischen, fein differenzierten Erkennung eine durch den Benutzer gesteuerten Interaktion erfordern.
  • Eine oder mehrere Ausführungsformen stellen aufgewertete AR-Benutzererlebnisse, eine feiner differenzierte optische Erkennung, bereit, d.h., sie erkennen nicht nur Objekte, sondern auch Teile oder Zustandsänderungen eines Objekts, die in einem breiten Bereich von Anwendungsszenarien verwendbar sind, unter anderem beim technischen Support. Eine oder mehrere Ausführungsformen überwinden vorteilhafterweise verschiedene Probleme beim Bereitstellen derartiger fein differenzierter optischer Erkennungsfähigkeiten. Zum Beispiel wechselt unter erneuter Bezugnahme auf das Beispiel der 3A bis 3D ein Techniker die CPU 311 dieses Computers. Um die relevanten AR-Anweisungen im richtigen Kontext darzustellen, sollte der Mechanismus zur optischen Erkennung in der Lage sein, die Zustandsänderung eines Teils dieses Computers zu erkennen - zum Beispiel der Hauptplatine. Nur wenn die Batterie 305 und der Lüfter 303 von der Hauptplatine entfernt wurden, sollten die AR-Anweisungen zum CPU-Ausbau dargestellt werden. Im Vergleich zu herkömmlichen Verfahren zur optischen Erkennung erfordert das Realisieren einer derartigen Zustandserkennung ein Behandeln der folgenden Probleme bei einer AR-Anwendung:
    • i) Kameraabstand: Je nach dem Zielobjekt oder den -objektteilen, die erkannt werden sollen, erfordert das Maschinenlernmodell normalerweise, dass sich die Kamera in einem sich ändernden Abstand zu dem Objekt befindet. Um zum Beispiel in 3A die gesamte Maschine in dem Sichtfeld (field of view, FoV) zu erkennen, muss die Kamera weit von der Maschine entfernt sein, während sich die Kamera zum Erkennen der Batterie näher an der Maschine befinden muss. Dies erfordert ein dynamisches Anpassen des Kameraabstands, um eine fein differenzierte optische Erkennung zu erreichen.
    • ii) Blickwinkel: Die relevanten Zielobjektteile sollten sichtbar sein, um erkannt zu werden. Dies bedeutet, dass die Kamera das Objekt aus einem bestimmten Winkel aufnehmen sollte. 3B zeigt die Maschine, die aus einem bestimmten Winkel betrachtet wird, bei dem die Batterie durch Leitungen verdeckt ist, während in 3C die Batterie deutlich sichtbar ist. Sofern nicht ein ordnungsgemäßer Blickwinkel aufrechterhalten wird, führt die optische Erkennung selbstverständlich zu einer schlechten Genauigkeit.
    • iii) Rauschbehaftete Eingabe: Wie in 3D gezeigt besteht ein häufiges Problem bei ARgesteuertem Hardwaresupport darin, dass das Objekt zeitweilig durch die Hand des Benutzers oder durch Werkzeuge verdeckt sein kann. Ebenso häufig werden die Eingabebilder durch eine sich bewegende Kamera aufgenommen; daher können sie hin und wieder verzerrt sein. Alle diese Faktoren führen bei den Eingabebildern zu Rauscheinflüssen für das Modell zur optischen Erkennung. Eine oder mehrere Ausführungsformen sind vorteilhafterweise robust beim Behandeln einer derartigen rauschbehafteten Eingabe, während sie gleichzeitig zuverlässige und stabile Erkennungsergebnisse bereitstellen. Außer in Bezug auf diese Probleme sind ein oder mehrere Ausführungsformen so gestaltet, dass sie innerhalb der Ressourcen- und Leistungseinschränkungen von mobilen Einheiten arbeiten.
  • Eine oder mehrere Ausführungsformen ermöglichen einer Maschine, den Prozess der menschlichen Wahrnehmung und Schlussfolgerung nachzuahmen: Um Zustandsänderungen zu erkennen, ermöglichen Ausführungsformen der Kamera, diskrete lokale Bereiche zu fokussieren, die bei unterschiedlichen Zuständen das Erscheinungsbild ändern; fordern den Benutzer auf, die ordnungsgemäßen Blickwinkel einzustellen, um Bilder aus diesen lokalen Bereichen zu sammeln, und treffen (eine) Vorhersage(en) über eine Zustandsänderung nur, wenn genügend optische Daten gesammelt wurden.
  • Ein oder mehrere Ausführungsformen machen sich den Vorteil von AR-spezifischen Daten wie z.B. von in Echtzeit erzeugten 3-D-Merkmalpunkten und (einer) Kamerastellung(en) zunutze, um zur fein strukturierten optischen Erkennung die durch die Kamera aufgenommenen Bilder zu ergänzen. Eine oder mehrere Ausführungsformen verwenden zunächst einen Satz von Trainingsvideos und erlernen interessierende Bereiche (ROIs), die Erscheinungsbildänderungen enthalten, die unterschiedliche Zustände unterscheiden. Eine oder mehrere Ausführungsformen verfolgen aktiv die Stellung der 6-DOF-Kamera (Kamera mit sechs Freiheitsgraden: X-, Y- und Z-Verschiebung plus Längswinkel, Gierwinkel und Rollwinkel), um sicherzustellen, dass die Kamera in dem richtigen Abstand und Blickwinkel zu den ROIs gehalten und Verdeckungen oder andere Rauscheinflüsse der Eingangsbilder des Modells zur optischen Erkennung minimiert werden. Um die Stabilität der Erkennung zu verbessern, stellen ein oder mehrere Ausführungsformen ein diskretes faltendes neuronales Mehrfachdatenstrom-Netz (CNN) in Verbindung mit einem bidirektionalen langen Kurzzeitgedächtnis (LSTM) bereit, d.h. ein Diskretes-CNN-LSTM-Modell (DCL-Modell), um nicht nur räumliche, sondern auch zeitliche Daten zum Vorhersagen von Zustandsänderungen zu extrahieren. Eine oder mehrere Ausführungsformen:
    • sind auf das spezifische Problem der fein differenzierten optischen Erkennung in einer mobilen AR-Umgebung gerichtet und kombinieren Bild-, 3-D-Merkmalpunkt- und Kamerastellungsdaten, um Objektzustandsänderungen aktiv vorherzusagen,
    • erzeugen ROI-Kandidaten aus zusammengeführten 3-D-Merkmalpunkten, die aus AR-Sitzungen gesammelt wurden, und extrahieren unterscheidbare ROIs automatisch unter Verwendung von Merkmaldarstellungen tiefer CNN, die zur fein differenzierten Erkennung verfolgt und zugeschnitten werden,
    • stellen ein Diskretes-CNN-LSTM-Modell (DCL-Modell) bereit, das ROI-Bilder auf diskreten Mehrfachdatenstrom-CNN-Zweigen verteilt und Informationen mit bidirektionalen LSTM-Schichten vereinigt. Ein Mehrfachdatenstrom-CNN mit gemeinsam genutzten Gewichtungen löst das unvereinbare Problem zwischen hoher Bildauflösung, die für eine feine Differenziertheit erforderlich ist somit ein größeres Modell erfordert, und der mit zunehmender Anzahl von ROIs abnehmenden Auflösung. Die LSTM-Schichten vereinigen die optischen Informationen im Zeitbereich, um die Vorhersagestabilität weiter zu verbessern,
    • stellen eine mobile Anwendung (z.B. iOS-Anwendung) unter Verwendung eines Toolkits wie z.B. ARKit und eines großen Maschinen Lernsystems wie z.B. TensorFlow bereit, die zum Beispiel bei dem Anwendungsszenario zur Hardwarewartung nützlich ist.
  • Die Abkürzung AFVR wird hierin für den Begriff „Active Fine-Grained Visual Recognition“ (aktive, fein differenzierte optische Erkennung) verwendet. Es ist sinnvoll, grundlegende AR-Konzepte zu berücksichtigen, die für eine oder mehrere Ausführungsformen von Bedeutung sind.
  • Objektmodell. Bei einem Objektmodell handelt es sich um eine Punktwolke oder eine Sammlung von 3-D-Merkmalpunkten, die ein physisches Objekt darstellen. Es ist aus Bildern aufgebaut, die aus unterschiedlichen Winkeln aufgenommen wurden, wobei sich das Objekt im Blickfeld befindet. Während einer AR-Sitzung wird das Objektmodell durch die mobile Einheit verwendet, um sich selbst erneut zu lokalisieren, d.h. ihre relative Position und Ausrichtung in Bezug auf das physische Objekt nachzuempfinden. Eine erneute Lokalisierung von Einheiten ist bei einer oder mehreren Ausführungsformen ziemlich relevant, da sie bestimmt, wo AR-Inhalt in Bezug auf das Objekt projiziert wird. Eine oder mehrere Ausführungsformen verwenden das Objektmodell nicht nur zur erneuten Lokalisierung, sondern auch zum Ermitteln der ROIs.
  • Kamerastellung. Kamerastellung bezeichnet die Position und die Ausrichtung einer mobilen Einheit im 3-D-Raum. AR-Software-Development-Kits (SDKs) wie z.B. ARKit und ARCore nutzen optisch-trägheitsbedingte Wegmessung, um die Kamerastellung unter Verwendung von Bewegungserfassung in Kombination mit Computer-Vision-Analyse der Szenerie zu verfolgen. Die Kamerastellung wird als 4x4-Matrix M dargestellt, die die Drehung, den Maßstab und den Übergang der Einheitenkoordinaten beschreibt.
  • Merkmalpunkte. Merkmalpunkte stellen beachtenswerte Merkmale dar, die auf Bildern erfasst wurden. Aus unterschiedlichen Blickwinkeln gesammelte Merkmalpunkte bilden das Objektmodell oder die Punktwolke, das bzw. die zur AR-Verfolgung verwendet wird. Merkmalpunkte in jedem Einzelbild werden dargestellt als P = {p0, p1, ..., pN}, wobei pi = {xi, yi, zi} die Position des Punktes i im 3-D-Raum ist und N die Gesamtzahl von Punkten ist.
  • Bei einer oder mehreren Ausführungsformen besteht ein Anfangsschritt von AFVR darin, interessierende Bereiche (ROIs) zu erkennen, die die Objektzustandsänderung darstellen. Dann wird die in AR verfolgte Kamerastellung genutzt, um die Kamera auf interessierte Bereiche (ROIs) fokussiert zu halten, sodass entsprechende Videoeinzelbilder zur Zustandserkennung aufgenommen werden. Schließlich werden Rauscheinflüsse in den Einzelbildern herausgefiltert, um die Robustheit der Erkennung zu verbessern. 5 veranschaulicht den Entwurf eines beispielhaften Systems, das sowohl Offline- als auch Online-Komponenten enthält.
  • In der Offline-Phase 403 werden zunächst Daten aus den AR-Fernsitzungen (AR remote sessions) über Crowdsourcing 599 entnommen oder (wie bei 597) ein bestimmter Benutzer muss das Objekt mit einer mobilen Einheit abtasten, um die relevanten Objektmodelle aufzubauen (wie bei 595) - 3-D-Punktwolkendarstellungen des Objekts in unterschiedlichen Zuständen. Außerdem werden die Kamerastellungen, die entsprechenden Merkmalpunkte und Videoeinzelbilder gesammelt. Als Nächstes erzeugt der ROI-Extraktionsschritt 593 auf der Grundlage von Videoeinzelbildern, die in unterschiedlichen Zuständen gesammelt wurden, einen Satz von ROIs. Diese ROIs bestimmen, welche Bilder aus den Videoeinzelbildern erzeugt werden sollten, um Objektzustände zu erkennen.
  • In der Online-Phase 405 erfasst die AFVR bei 591 zunächst das Objekt und lokalisiert unter Verwendung des Objektmodells die mobile Einheit in Bezug auf das Objekt neu. Die in der Offline-Phase erkannten ROIs 589 müssen ebenfalls dem Objekt zugeordnet werden, wie hierin an anderer Stelle beschrieben wird. Als Nächstes werden Bilder dieser ROIs zugeschnitten, um nur die relevanten Bereiche der ROIs 587 zu behalten, und diese werden weiterverarbeitet, um das Modell zur Zustandserkennung wie bei 585 zu trainieren. Während der Echtzeit-Erkennung 583 weist die mobile App den Benutzer (bei 581) an, die Kamera im richtigen Abstand und Blickwinkel zu dem Objekt zu positionieren, und wendet das trainierte Modell zur optischen Erkennung an, um den aktuellen Zustand vorherzusagen. Auf der Grundlage des vorhergesagten Zustands wird das anwendbare Objektmodell automatisch zur AR-Verfolgung ausgewählt und die entsprechenden AR-Anweisungen werden dementsprechend dargestellt.
  • Siehe auch 10, die zeigt, wie eine stellungsunabhängige, grob differenzierte Erkennung das korrekte Objektmodell zur erneuten Lokalisierung auswählt, die eine fein differenzierte Erkennung ermöglicht. Eine grob differenzierte Erkennung 1003 an einer Mehrzahl von Videoeinzelbildern (z.B. 1001-1, 1001-2, 1001-3; eine beliebige geeignete Anzahl von Einzelbildern kann verwendet werden) wird durchgeführt. Im Entscheidungsblock 1005 wird ermittelt, ob eine Zustandsänderung aufgetreten ist. Wenn nicht (NEIN-Zweig), geht das Verfahren zur fein differenzierten Erkennung 1011, werden dem Benutzer bei 1013 die AR-Anweisungen dargestellt und der Benutzer manipuliert die Einheit bei 1015, während weitere Einzelbilder aufgenommen werden. Wenn andererseits eine Zustandsänderung aufgetreten ist (JA-Zweig des Entscheidungsblocks 1005), wird ein neues Objektmodell bei 1007 geladen, die Einheit wird bei 1009 neu lokalisiert und das Verfahren wird mit der fein differenzierten Erkennung 1011 fortgesetzt.
  • Aufbau des Objektmodells: Zum Aufbauen eines Objektmodells werden das physische Objekt unter Verwendung der Scannerfunktionalität von ARKit (oder von gleichwertiger Software) abgetastet und Merkmalpunkte extrahiert, um die 3-D-Punktwolke zu erstellen. Die aus den Videoeinzelbildern extrahierten Merkmalpunkte werden im Verlauf des Abtastens aus unterschiedlichen Blickwinkeln akkumuliert. Zu beachten ist, dass ein Kompromiss zwischen der Genauigkeit und dem Berechnungsaufwand der AR-Verfolgung besteht, der durch die Dichte der Merkmalpunkte in der Punktwolke bestimmt wird. Bei einer oder mehreren Ausführungsformen werden eine relativ spärliche AR-Verfolgung und dichtere Punktwolken zur ROI-Erkennung genutzt, wie hierin an anderer Stelle beschrieben wird.
  • Bei einer oder mehreren Ausführungsformen werden für physische Objekte in unterschiedlichen Zuständen getrennte spärliche und dichte Punktwolken aufgebaut. Dies kann zum Beispiel erreicht werden, wenn der Benutzer von vornherein die unterschiedlichen Zustände eines Objekts kennt und in jedem Zustand eine getrennte Abtastung durchführt. Punktwolken, die unterschiedliche Zustände darstellen, können außerdem im Rahmen von AR-gesteuerten Fernunterstützungssitzungen erhalten werden, wenn der Benutzer ausdrücklich während der Sitzung die Zustandsänderung verbal oder manuell markiert. Ein beispielhafter erfindungsgemäßer Algorithmus zur Erzeugung von Punktwolken nimmt Bilder als Eingabe, die jedem inbegriffenen Zustand entsprechen, und erzeugt die relevanten Punktwolken.
  • In der Praxis können die erzeugten Punktwolken aufgrund von zum Beispiel Ungenauigkeit der Tiefenschätzung viele rauschbehaftete Merkmalpunkte enthalten. Eine oder mehrere Ausführungsformen filtern ferner die Merkmalpunkte, indem die „nicht glatten” Ausreißer aus der Nachbarschaft jedes Merkmalpunktes entfernt werden. Insbesondere werden für jeden Punkt pi dessen mittlerer Abstand zu allen seinen k nächsten Nachbarpunkten qj{j = 1, 2, ..., k) berechnet als: d ¯ i = 1 / k j = 1 k dist ( p i , q j )
    Figure DE112020005360T5_0001
    und die Standardabweichung als: σ = 1 k 1 j = 1 k ( d j d ¯ i ) 2
    Figure DE112020005360T5_0002
    wobei dist(pi, qj) der euklidische Abstand zwischen den Punkten pi und qj ist. Unter der Annahme, dass es sich bei dem Abstand zu Nachbarn um eine Gauß'sche Verteilung: N ( d ¯ i , σ 2 )
    Figure DE112020005360T5_0003
    handelt, werden alle Punkte mit Abständen d > µ + α σ als Ausreißer betrachtet und somit entfernt. Hierbei ist a ein Parameter, der die „Glattheit“ der Punktwolkenoberfläche steuert. Bei einer oder mehreren Ausführungsformen werden k = 50 und α = 1,0 gesetzt. Wie in 6 gezeigt werden zuerst s erfasst, das bei 509 rot markiert ist, und anschließend die saubere Punktwolke 513 abgeleitet.
  • Nach diesem Schritt werden die Punktwolken erhalten, die das Objekt robust in unterschiedlichen Zuständen darstellen. Für jeden Zustand wird eine dichte Punktwolke mit mehr Merkmalpunkten zur ROI-Erkennung erzeugt, während zur effizienten Verfolgung eine spärliche Punktwolke mit einer verringerten Anzahl von Bildpunkten erstellt wird. Die in unterschiedlichen Zuständen erzeugten Punktwolken können leicht in demselben 3-D-Koordinatensystem ausgerichtet werden, da sie zur erneuten Lokalisierung dieselbe eher spärliche Punktwolke verwenden. Die erneute Lokalisierung über ARKit weist eine gewisse Toleranz gegenüber Erscheinungsbild- oder Formänderungen auf; somit funktioniert eine erneute Lokalisierung gut, solange Objektänderungen teilweise erfolgen oder geringfügig sind.
  • ROI-Erkennung: Bei einem ROI handelt es sich um ein Segment im 3-D-Raum, in dem sich das physische Erscheinungsbild eines Objekts aufgrund der Zustandsänderung ändert. Um die Änderungen in einem ROI optisch zu erkennen, wird der ROI in einen Bereich in dem 2-D-Bild projiziert, das aus einem bestimmten Blickwinkel des Objekts aufgenommen wurde. Die einfachste Weise zum Erkennen eines ROI besteht darin, sich auf menschliches Wissen zu stützen: Ein Experte kann bei bestehenden Bildern die Umgrenzungen von ROIs zeichnen. In der Praxis ist dies mühsam und kann aufgrund unterschiedlicher Interpretationen durch den Menschen leicht zu Unstimmigkeiten bei Definitionen von ROIs oder Zuständen führen. Daher stellen eine oder mehrere Ausführungsformen einen Ansatz zum automatischen Erkennen der ROIs bereit, wobei ein Satz von unterschiedlichen Zuständen beschrifteten Bildern und Punktwolken vorausgesetzt wird, wie hierin anderer Stelle erörtert wird.
  • Voxelisierung: Bei einer oder mehreren Ausführungsformen wird der 3-D-Raum in Voxel einer festen Größe segmentiert. Ein ROI umfasst ein oder mehrere Voxel, die einen (oder keine) Merkmalpunkte enthalten können. Zum Erkennen der ROIs ist eine einheitliche Weise zum Projizieren von Voxeln auf 2-D-Bilder geeignet. Zu diesem Zweck wird der Ankerpunkt für ein Voxel definiert, der der Schwerpunkt aller in diesem Voxel enthaltenen Merkmalpunkte sein soll. Beim Projizieren des Voxels wird dieser Ankerpunkt zuerst auf das 2-D-Bild projiziert. Zentriert um diesen Anker wird ein quadratischer Bereich mit der Breite w aus dem Bild zugeschnitten, um das entsprechende Voxel darzustellen. Dies stellt sicher, dass das projizierte Bild genügend optische Einzelheiten der Objektoberfläche enthält. Die Ansicht 517 zeigt die Ankerpunkte für alle Voxel eines Beispielobjekts.
  • Um sicherzustellen, dass genügend optische Einzelheiten für ein Voxel gesammelt werden, muss sichergestellt sein, das im Sichtfeld der Kamera zu sehen ist. Dies wird ermöglicht, indem die Senkrechte des Ankerpunkts in Bezug auf die Objektoberfläche geschätzt wird. Der Vektor der Senkrechten am Ankerpunkt wird geschätzt, indem die Senkrechte der Ebenentangente zu der Objektoberfläche am Ankerpunkt berechnet wird. Dies kann durch Kleinste-Quadrate-Ebeneneinpassung unter Verwendung von Bibliotheken wie z.B. einer Punktwolkenbibliothek (point cloud library, pcl) erreicht werden. Beispiele der geschätzten Senkrechtenvektoren sind in Ansicht 521 gezeigt.
  • ROI-Bildauswahl: Bei durch eine Kamera aufgenommenen Bildern eines Objekts werden die ROI-Kandidatenbilder zugeschnitten, die als Eingabe für eine Objektzustandserkennung dienen können. Bei einem ROI-Kandidatenbild handelt es sich um ein quadratisches Segment, das um den Voxelanker bei {x, y, z} mit der Breite w zugeschnitten wurde. Der Voxelanker und alle Eckpunkte eines ROI-Kandidaten werden auf das durch die Kamera aufgenommene Bild projiziert, und das Mindest-Umrandungsrechteck wird gewählt, das den projizierten ROI als Zuschnittbereich bedeckt. Bei der Kamerastellung (die als Transformationsmatrix Mcamera dargestellt ist) und den Koordinaten eines Punktes im 3-D-Raum Pworld, wird dieser Punkt in Kamerakoordinaten projiziert mit: P c a m e r a = P w o r l d M c a m e r a
    Figure DE112020005360T5_0004
    wobei Pcamera der projizierte Punkt in Kamerakoordinaten ist. Der Punkt wird mit Perspektivprojektion in Kamerakoordinaten in die Bildebene projiziert, indem einfach die X- und die Y-Koordinate durch die Z-Koordinate dividiert werden: P ' x = P c a m e r a x P c a m e r a z P ' y = P c a m e r a y P c a m e r a z
    Figure DE112020005360T5_0005
  • Danach wird der 2-D-Punkt im Bildraum in Rasterraum umgewandelt, der als Pixel Koordinaten dargestellt wird: visible = { yes | P ' x | W 2  or  | P ' y | H 2 no otherwise
    Figure DE112020005360T5_0006
    P n o r m ' x = P ' . x + width / 2 width P n o r m ' y = P ' . y + height / 2 height
    Figure DE112020005360T5_0007
    wobei W, H die Breite und Höhe der Arbeitsfläche im Rasterraum sind und P n o r m ' x ,   P n o r m ' y
    Figure DE112020005360T5_0008
     
    Figure DE112020005360T5_0009
    normalisierte Koordinaten im Rasterraum sind, die weiterhin mit der Auflösung des Einzelbildes multipliziert werden, sodass die Pixelkoordinaten erhalten werden können. Ein ROI befindet sich nur innerhalb des FoV, wenn die vier projizierten Eckpunkte sichtbar sind. Die Bilder für jeden sichtbaren ROI werden aus dem Roh-Einzelbild mit voller Auflösung zugeschnitten und ihre Größe auf eine feststehende Auflösung geändert. Mehrere ROIs können gleichzeitig zugeschnitten werden, solange sie sich innerhalb des FoV befinden und für die Kamera in einem Einzelbild sichtbar sind. Einige Beispiele von ROI-Kandidatenbildern sind bei 525-1 bis 525-7 gezeigt, nachdem die Zuschneideschritte angewendet wurden.
  • Als Nächstes werden aus diesen ROI-Kandidaten diejenigen ausgewählt, bei denen die Objektzustände am besten unterschieden werden können. Eine oder mehrere Ausführungsformen verwenden gradientengewichtete Klassenaktivierungszuordnung (Grad-CAM), um eine ROI-Bildauswahl durchzuführen. Für jeden Zustand des Objekts sind gesammelte Bilder aus unterschiedlichen Blickwinkeln verfügbar. Jedes Bild wird zugeschnitten, um die ROI-Kandidatenbilder zu erhalten. Anhand der Position der entsprechenden Voxel werden die zugeschnittenen Bilder als Eingabedaten für Grad-CAM sortiert und zu einzelnen Bildern verkettet und deren Größe auf eine feststehende Auflösung (z.B. 224 × 224) geändert, wie in dem ganz linken der drei Bilder 541 gezeigt. Bei jedem Zustand gibt eine Teilmenge dieser Kandidatenbilder die Erscheinungsbildänderung des Objekts wieder.
  • Tiefergehende Darstellungen in einem faltenden neuronalen Netz (CNN) erfassen optische Merkmale höherer Ebenen. Zustandsspezifische Informationen in dem Eingabebild (d.h. aus Voxeln mit Erscheinungsbildänderung) werden üblicherweise in den letzten faltenden Schichten erfasst, die semantische und räumliche Informationen höherer Ebene enthalten. Grad-CAM verwendet die Gradienteninformationen, die in die letzte faltende Schicht des CNN fließen, um die Bedeutung jedes Kandidatenbildes zu verstehen (andere Methoden wie z.B. SIFT und ORB könnten bei anderen Ausführungsformen verwendet werden; jedoch wurde bei Experimenten festgestellt, dass diese Techniken beim Erkennen von ROIs nicht so leistungsfähig sind, da sie anstelle des Erkennens geringfügiger optischer Unterschiede nach Ähnlichkeiten suchen). Ein Ziel der ROI-Auswahl besteht darin, eine klassenunterscheidende Lokalisierungskarte Gc ∈ ℝu×v der Breite u und Höhe v für eine beliebige Klasse c zu erhalten. Zu diesem Zweck wird der Gradient einer Klassenwahrscheinlichkeit yc in Bezug auf Merkmalkarten Ak einer faltenden Schicht berechnet, d.h. y c A k .
    Figure DE112020005360T5_0010
    Somit können die Gewichtungen α k c
    Figure DE112020005360T5_0011
    über globale Mittelwertbildung zusammengefasst werden als: α k c = 1 Z i j y c A i j k
    Figure DE112020005360T5_0012
    wobei Zder Normalisierungsfaktor ist und die Gewichtung α k c
    Figure DE112020005360T5_0013
    die Bedeutung der Merkmalkarte A für eine Zielklasse c erfasst. Bei der farbcodierten Darstellung (Heat-Map) der Grad-CAM handelt es sich um eine Kombination von Merkmalkarten, auf die begradigte lineare Einheiten (rectified linear units, ReLU) folgen: G c = ReLU ( k α k c A k )
    Figure DE112020005360T5_0014
  • Dies führt zu einer groben Heat-Map derselben Größe wie die faltenden Merkmalkarten (7 x 7 in dem Fall der letzten faltenden Schichten von ResNet50). Dann wird die Heat-Map auf 0 bis 1 normalisiert, und ihre Größe wird in die des Eingabebildes geändert, was durch Überlagern des Eingabebildes mit der Heat-Map visualisiert wird, wie bei 541 gezeigt.
  • Ein vorab trainiertes ResNet50 auf ImageNet wird bei einer oder mehreren Ausführungsformen als zugrunde liegendes Modell genutzt und fein abgestimmt, um die verketteten Bilder aus allen Zuständen zu klassifizieren und dann die Grad-CAM-Karten zu erzeugen. Die Grad-CAM-Karten geben direkt die Bedeutung jedes Kandidatenbildes zum Unterscheiden eines bestimmten Zustands an. Das am weitesten links befindliche der Bilder 541 zeigt das verkettete Bild einer Teilmenge von ROI-Kandidatenbildern, die für eine Computerhauptplatine gesammelt wurden. Bei diesem Beispiel hat das Objekt drei Zustände: Standard, Batterie entfernt, CPU entfernt. Das zugeschnittene Bild, das Batterie entfernt angibt, befindet sich in der rechten oberen Ecke der Bildverkettung, während sich das für CPU entfernt in der Mitte der Verkettung befindet. Das mittlere der Bilder 541 zeigt die dem Bild überlagerte Grad-CAM-Heat-Map, die korrekt die beiden vorstehend aufgeführten zugeschnittenen Bilder angibt, bei denen es sich um die besten ROI-Bilder zum Unterscheiden dieser drei Zustände handelt.
  • Eine oder mehrere Ausführungsformen bauen einen Super-Satz aus allen 3 ROI-Topkandidaten für jeden aus Grad-CAM ausgewählten Zustand auf und entfernen die Duplikate. Dieser neue Satz von ROIs wird zum endgültigen Training des Modells zur optischen Erkennung und für Schlussfolgerungen während der Online-Phase verwendet.
  • Modell zur optischen Erkennung: Mit den verketteten ROI-Bildern als Eingabe werden jetzt CNN-Modelle zum Vorhersagen der Klasse oder des Zustands eines Objekts entwickelt. Bei einfachen Szenarien, bei denen ein Objekt nur eine kleine Anzahl von ROIs hat (z.B. weniger als 6 x 6 verkettete ROI-Bilder), reicht ein einfaches, flaches CNN mit Max. Pooling und Batch-Normalisierung aus. Mit zunehmender Komplexität des Anwendungsszenarios sind mehr ROIs nötig, um alle Zustände einzubeziehen. In derartigen Fällen verursacht ein einfaches Verketten aller ROI-Bilder zu einer einzigen Eingabe möglicherweise Probleme: Die Auflösung jedes ROI nimmt mit zunehmender Anzahl von ROIs ab, da die Auflösung verkettete Bilder feststeht, was zum Verlust optischer Einzelheiten führt. Wenn die Auflösung jedes ROI beibehalten wird, steigt die Auflösung verkettete Bilder schnell an und ist zur Eingabe in ein einfaches CNN-Modell nicht geeignet.
  • Um diesem Problem zu begegnen, stellen eine oder mehrere Ausführungsformen ein Diskretes-CNN-LSTM-Modell bereit, das Schichten mit diskreter Mehrfachzweig-Extraktion optischer Merkmale enthält, auf die Schichten mit Zusammenfassung räumlicher und zeitlicher Informationen zur endgültigen Klassifizierung folgen. 9 zeigt die Architektur des DCL-Modells. Das Mehrfachzweig-CNN extrahiert räumliche Merkmale aus verketteten ROI-Bildern, die durch eine Pooling-Schicht zusammengefasst werden. Eine LSTM-Schicht fasst zwecks stabiler Vorhersage ferner die zeitlichen Informationen zusammen. Eine Merkmalextraktion 805 umfasst mehrere Merkmalextraktionszweige, von denen jeder verkettete ROI-Bilder (die maximal neun ROIs enthalten) als Eingabe nimmt. Eine oder mehrere Ausführungsformen verwenden ein vorab trainiertes ResNet50 auf ImageNet als Basismodell zur Merkmalextraktion, entfernen jedoch die letzte vollständig verbundene Schicht des Modells, wodurch ein 2048-dimensionaler Merkmalvektor für jedes Eingabebild erhalten wird, der dann einer Pooling-Schicht zugeführt wird. Bei einer oder mehreren Ausführungsformen läuft die ResNet50-Schlussfolgerung nur, wenn eine ROI-Bildaktualisierung für das verknüpfte Eingabebild vorliegt. Die Bildmerkmale, die für andere ungeänderte Zweige extrahiert wurden, werden wiederverwendet. Auf diese Weise wird der Berechnungsaufwand zur Merkmalextraktion minimiert, wodurch der Berechnungsaufwand und der Stromverbrauch erheblich verringert werden, wenn das Modell auf mobilen Einheiten realisiert ist.
  • Eine oder mehrere Ausführungsformen verketten alle extrahierten Bildmerkmale nach der Pooling-Schicht zu einem einzigen Merkmalvektor, der alle zugehörigen optischen Informationen zur Zustandserkennung darstellt. Anstelle des Einspeisens dieses Merkmalvektors in ein vollständig verbundenes, tiefes neuronales Netz verwenden eine oder mehrere Ausführungsformen LSTM zum Modellieren der zeitlichen Beziehung zwischen Zuständen: Die zeitliche Abfolge der Merkmalvektoren wird der LSTM-Schicht zugeführt, die die Objektzustandsverteilung vorhersagt. Wie hierin an anderer Stelle erörtert wird, verbessert das Nutzen der zeitlichen Beziehung zwischen Zuständen die Vorhersagegenauigkeit des Modells erheblich.
  • Aktive optische Erkennung: Das Modell zur optischen Erkennung kann offline unter Verwendung der Daten trainiert werden, die von vornherein gesammelt wurden. Beim Aufbauen der mobilen Anwendung zum Erkennen des Zustands eines Objekts werden das trainierte Modell zur optischen Erkennung realisiert und außerdem zwei weitere Entwurfsaspekte berücksichtigt: erneute Lokalisierung und ROI-Erfassung.
  • Erneute Lokalisierung: Eine erneute Lokalisierung stellt sicher, dass die Kamerastellung in Bezug auf feststehende Objektkoordinaten über AR-Sitzungen hinweg kontinuierlich verfolgt wird. Dies ist sowohl für das Erfassen der korrekten ROIs als auch für das Darstellen von AR-Kommentaren an den richtigen Positionen in Bezug auf das Objekt relevant. Eine oder mehrere Ausführungsformen verwenden die während der Erstellung des Objektmodells erhaltene spärliche Punktwolke zur erneuten Lokalisierung, indem die Objektverfolgungsfunktion des ARKit genutzt wird. Bei einer bestimmten AR-Anwendung gibt es zwei mögliche Zustandsänderungsszenarien: 1) Die Zustandsänderung zieht eine geringfügige Erscheinungsbildänderung nach sich, daher kann dieselbe spärliche Punktwolke zum Verfolgen verwendet werden; 2) die Zustandsänderung zieht eine größere Erscheinungsbildänderung nach sich, sodass eine neue Punktwolke geladen werden muss und die AR-Sitzung neu lokalisiert wird. Eine oder mehrere Ausführungsformen minimieren die erneute Lokalisierung, um die Verfolgungsungenauigkeiten zu verringern, die bei AR-Sitzungen auftreten. Zu diesem Zweck wird zum Beispiel ein ResNet50-Modell angepasst, das von dem Objekt aufgenommene Echtzeit-Bilder verwendet, um die Bedeutsamkeit von Zustandsänderungen zu ermitteln, und löst eine erneute Lokalisierung nur aus, wenn dies notwendig ist.
  • ROI-Erfassung: Ein zugehöriger Aspekt schließt das Erfassen von ROIs als Bildsegmente ein, die aus der Kameraansicht zugeschnitten wurden. Um die ROI-Bilder in einer robusten Online-Weise zu erfassen, sind eine oder mehrere Ausführungsformen ferner auf die folgenden Probleme gerichtet: Verdeckungserkennung, ROI-Bildaktualisierung und Rückmeldung über Einheitenbewegung.
  • Verdeckungserkennung. Ein ROI kann für die Kamera nur aus bestimmten Blickwinkeln sichtbar sein, oder es kann durch andere Objekte in der Szenerie verdeckt sein. 11 zeigt ein derartiges Beispiel. Die Kamerastellung 1101 führt zu einem gültigen Erfassen des ROI, während in der Ansicht 1103 der ROI für die Kamera vom Beobachtungspunkt der Kamera aus verdeckt ist.
  • Ein einfacher Ansatz besteht darin zu prüfen, ob auf jedem Einzelbild genügend 3-D-Merkmalpunkte für einen ROI erkannt werden, um zu ermitteln, ob der ROI verdeckt ist. Jedoch werden Merkmalpunkte wegen des Berechnungsaufwands normalerweise nicht in Echtzeit für jedes einzelne Bild erzeugt. Es sollte zu diesem Zeitpunkt beachtet werden, dass der Fachmann mit der Art und Weise vertraut ist, in der Merkmalpunkte in ARKit erzeugt werden: Während sich die mobile Einheit bewegt, wird die Bewegung der Einheit mit einer hohen Häufigkeit aktualisiert, um die geringfügige Verlagerung zu erkennen. Die Merkmalpunkte werden dann trianguliert, um ihre 3-D-Positionen abzuleiten, die ebenfalls zum Kalibrieren des Kamerastellungsfehlers durch ARKit verwendet werden. Somit liegt eine Verzögerung zwischen den erkannten Merkmalpunkten und dem aktuellen Einzelbild vor. Während sich die Einheit aus der „Sichtbar-Stellung“ in die „Unsichtbar-Stellung“ bewegt (z.B. aus der Stellung 1101 in 1103), sind die in 1101 erkannten Merkmale für eine kurze Zeit auch in 1103 vorhanden. Um diese Latenz zu berücksichtigen, werden die vergangenen aufeinanderfolgenden fünf Einzelbilder sowie die Merkmalpunkte untersucht, die in dem entsprechenden Zeitraum erkannt wurden, um zu ermitteln, ob der ROI verdeckt ist.
  • Um für einen bestimmten ROI eine Verdeckung zu ermitteln, sollten die folgenden drei Bedingungen erfüllt sein: i) Innerhalb des Kamera-FoV: Der projizierte ROI sollte innerhalb des aktuellen Videoeinzelbildes liegen, sodass es zum Aktualisieren bereit ist. ii) Nicht genügend Merkmalpunkte erkannt: Zum Erfassen von ROI müssen genügend Merkmalpunkte erkannt werden. Wenn während eines kurzen Zeitraums von drei Sekunden nicht genügend Merkmalpunkte (z.B. >10) erkannt werden, weist dies darauf hin, dass eine Verdeckung auftritt. Eine oder mehrere Ausführungsformen verwenden die akkumulierten Merkmalpunkte während eines kurzen Zeitraums, um Falsch-Positive zu vermeiden, da die Merkmalpunkte selbst dann zu spärlich sein können, wenn der ROI nicht verdeckt ist. iii) Genügend Bewegung der Einheit: Da die Merkmalpunkte auf Triangulation beruhen, die eine Bewegung der Einheit erfordert, bleiben die Merkmalpunkte eines Einzelbildes unverändert oder es werden keine Merkmalpunkte erzeugt, wenn die Einheit ortsfest bleibt. Ohne genügende Merkmalpunkte ist es normalerweise nicht möglich zu unterscheiden, ob der ROI verdeckt ist.
  • ROI-Bildaktualisierung. Wenn ein Objektzustand online vorhergesagt wird, (d.h. während der Verwendung der AR-Anwendung), nutzt die optische Erkennung Bilder aus allen ROIs mit Ausnahme derjenigen, die optisch nicht geändert wurden. Zwischenzeitlich sind, während sich die Kamera um ein Objekt bewegt, nicht alle ROIs für die Kamera sichtbar, da sich einige ROIs entweder außerhalb des FoV der Kamera befinden oder sie verdeckt sind. Es gibt zwei Arten von Verdeckung: dauerhafte Verdeckung, die bedeutet, dass ein ROI durch andere Objektkomponenten bei einem Objektzustand dauerhaft verdeckt ist (z.B. deckt ein Lüfter eine CPU ab); und vorübergehende Verdeckung, die durch einen ungeeigneten Blickwinkel verursacht wird oder eine zeitweilige Verdeckung durch andere Objekte wie z.B. die Hand eines Benutzers bezeichnet. Bei einem bestimmten ROI, wenn dieser während einer langen Zeit als verdeckt erkannt wird (eine oder mehrere Ausführungsformen legen einen empirischen Wert von 5 s fest, aber andere Ausführungsformen könnten davon abweichen), wenn die Einheit durch den Benutzer aktiv bewegt wird, während sich der ROI innerhalb des FOV befindet, wird die Verdeckung als dauerhaft klassifiziert. In derartigen Fällen wird das Bild für diesen ROI zwecks Konsistenz auf Nullen zurückgesetzt (der Zustand „Lüfter ist Ein“ in 3A kann entweder vor oder nach dem Erfassen der CPU auftreten, je nachdem, ob die Maschine montiert oder demontiert wird). In ähnlicher Weise werden die zugehörigen ROIs zurückgesetzt, wenn eine Komponente entfernt ist. Dies wird erkannt, wenn sich derartige ROIs innerhalb des FOV befinden, aber nicht während eines Zeitraums erkannt, wenn sie nicht verdeckt sind.
  • Wenn eine vorübergehende Verdeckung erkannt wird oder sich unsichtbare ROIs außerhalb des FoV befinden, wird angenommen, dass keine optische Änderung vorliegt. Daher werden während der Modellvorhersage die entsprechenden Merkmalextraktionszweige in 9 nicht aktiviert, sondern es werden die zuvor erkannten Vektoren erneut verwendet, wodurch die unnötigen Berechnungen auf der mobilen Einheit minimiert werden, um ein Erwärmen der Einheit zu verhindern. Gewöhnlich betrachtet der Benutzer die Objektänderungen normalerweise durch die Kamera, in der AR-Kommentare angezeigt werden; daher werden derartige Änderungen passiv erfasst. In seltenen Fällen ist es möglich, dass der Benutzer einen Teil der Hardware zerlegt hat, wodurch ihr optischer Zustand geändert wurde, wenn sie jedoch verdeckt ist oder sich außerhalb des FoV befindet, wird dies nicht als Zustandsänderung angesehen und der nächste Satz von Anweisungen wird dem Benutzer nicht bereitgestellt. Daher fordert eine beispielhafte App Benutzer auf, die Kamera zu bewegen, um die geänderten Objektteile zu betrachten, sodass die ROIs wirksam aktualisiert werden können, wodurch reaktionsschnelle und exakte Erkennungsergebnisse ermöglicht werden.
  • Wenn der Benutzer die Kamera über ein Objekt hält, schwankt die Qualität der aufgenommenen Videoeinzelbilder wahrscheinlich (z.B. verzerrte Bilder aufgrund schneller Bewegung, unübersichtliche Bilder aufgrund des Blickwinkels oder großer Abstand zwischen der Kamera und dem Objekt). Um eine robuste Erkennung sicherzustellen, filtern eine oder mehrere Ausführungsformen ferner die ROI-Bilder heraus, um den Bildsatz mit der besten Qualität als Eingabe für das Modell zur optischen Erkennung zu extrahieren. Wie in 12 gezeigt werden für jeden ROI Bewegungs- und Drehgeschwindigkeit v
    Figure DE112020005360T5_0015
    der Einheit, der Winkel zwischen der Kamera-Senkrechten und der ROI-Senkrechten α und der Abstand von Kamera zu ROI d verfolgt. Bei einer gegebenen Kamerastellung (xp, yp, zp, nxp, nyp, nzp} wobei {xp, yp, zp} die Kameraposition ist und n̂p = {nxp, nyp, nzp} die Kamera-Senkrechte ist, und einem ROI {xr, yr, zr, nxr, nyr, nzr, wr} kann der Abstand von der Kamera zu einem ROI berechnet werden als: d = ( x p x r ) 2 + ( y p y r ) 2 + ( z p z r ) 2
    Figure DE112020005360T5_0016
    und der Winkel zwischen den Senkrechten der Kamera und dem ROI beträgt α = n ^ p n ^ r | n ^ p | | n ^ r | .
    Figure DE112020005360T5_0017
    Die Bewegungs-/Drehgeschwindigkeit wird bei der Kamerastellung geschätzt, wenn ein Einzelbild bei pt und der Stellung bei ΔT zu vor pt-ΔT aufgenommen wird (ΔT ist bei einer oder mehreren Ausführungsformen auf 0,1 s eingestellt). Die absolute kombinierte Bewegungs-/Drehgeschwindigkeit kann berechnet werden als | v | = | ( p t p t Δ T ) .
    Figure DE112020005360T5_0018
    Die Bewegungsgeschwindigkeit und die Drehgeschwindigkeit werden vor der Berechnung normalisiert, um ihren Beitrag zu der kombinierten Geschwindigkeit auszugleichen. Eine oder mehrere Ausführungsformen verwalten eine Warteschlange von 5 Eingabebildern für jeden ROI, und diese werden alle 300 ms aktualisiert, wenn ein infrage kommender ROI aufgenommen wird, indem der erste ROI aus der Warteschlange geschoben und der neue ROI in die Warteschlange eingestellt werden. Fünf Bilder ist bei einer oder mehreren Ausführungsformen ein geeigneter Wert, da er nur ein kleines Zeitfenster von 1,5 s erfordert und die Auswirkung von Bildern minimiert, die aufgenommen werden, wenn der ROI den FOV verlässt. Eine oder mehrere Instanzen führen der Warteschlange ein ROI-Bild nur zu, wenn | v | < δ v ,   α < 60 °
    Figure DE112020005360T5_0019
    und d < 1m, wobei δv ein Schwellenwert ist, sodass Bilder nicht verzerrt werden, wenn sich die Einheit innerhalb dieses Schwellenwertes bewegt (hierbei handelt es sich um empirische Zahlen, die aus umfangreichen Experimenten erhalten wurden; δv kann davon abweichen, zum Beispiel bei anderen Beleuchtungsbedingungen). Um den optimalen ROI auszuwählen, wird derjenige mit dem kleinsten α gewählt, da dieser sich gemäß den Experimenten am meisten auf die Leistungsfähigkeit bezüglich der infrage kommenden ROIs auswirkt. Ohne ein derartiges Einreihen in eine Warteschlange und eine derartige Auswahl erfolgt die letzte Aktualisierung bei einem ROI normalerweise, wenn er im Begriff ist, das FoV zu verlassen, was nicht optimal ist.
  • Rückmeldungen über die Bewegung der Einheit. Um eine hochwertige ROI-Aufnahme sicherzustellen, sollte die Kamera der Einheit ordnungsgemäß positioniert werden. Rückmeldungen können über die AR-App bereitgestellt werden, um den Benutzer beim Positionieren der Kamera zu führen, sodass diese sich an der richtigen Position befindet und der Benutzer die Kamera nicht zu schnell oder zu weit weg von den ROIs bewegt. Die Rückmeldeinformationen können zum Beispiel nur angezeigt werden, wenn ROI-Bilder nicht in geeigneter Weise aufgenommen wurden. Wenn insbesondere die ROIs nicht während eines Zeitraums (z.B. 10 s) aktualisiert werden, was bedeutet, dass sie nicht aus passenden Winkeln oder Abständen betrachtet werden, werden die entsprechenden Anweisungen angezeigt, um den Benutzer zu bitten, die mobile Einheit zu bewegen. Wenn andererseits Erkennungsergebnisse nicht eindeutig sind, wird der Benutzer angewiesen, die Einheit in Richtung des Sammelns von mehr ROI-Bildern zu bewegen, die derartigen, nicht eindeutigen Zuständen aus der ROI-Erkennung zugehörig sind, bis der Objektzustand eindeutig ist.
  • Experimentelle Realisierung: Eine nicht einschränkende experimentelle Realisierung von AFVR umfasste zwei Teile: ein Programm zum Offline-Modeltraining, das einen oder mehrere Server ausführt, und eine mobile Online-AR-App, die die extrahierten ROIs und das trainierte Modell nutzt, um eine fein differenzierte optische Erkennung durchzuführen.
  • Offline-Modelltraining
  • Erzeugung von Trainingsdaten. Das ROI-Zuschneiden während der Sammlung von Trainingsdaten erzeugt eine Mehrzahl von Bildern für jeden ROI bei jedem Objektzustand, die als Trainingsbild für das Modeltraining verkettet werden. Um den Aufwand bei der Sammlung von Trainingsdaten zu minimieren, werden nur wenige Minuten zum Objektabtasten benötigt. Dann werden die gesammelten Daten in zwei Schritten aufgewertet:
  • (i)Datenerweiterung. Zunächst werden die ROI-Bilder erweitert, indem bestehende Ansätze wie z.B. Zufallsdrehung, Verschiebung und Abschneiden genutzt werden. Eine Zufallsdrehung der ROI-Bilder ermöglicht eine viel robustere Leistungsfähigkeit der Erkennung, wenn das Objekt aus Zufallswinkeln betrachtet wird. Außerdem werden die ROI-Bilder Verschoben und abgeschnitten, da das aufgenommene ROI-Bild möglicherweise nicht mittig ist und aufgrund des Versatzes bei der ROI-Verfolgung, der durch einen Fehler bei der Schätzung der Stellung der Einheit verursacht wird, in einer Vielfalt unterschiedlicher Arten außermittig sein kann. Mit einer derartigen Erweiterung werden die Bilder für jeden ROI bei jedem Objektzustand mit Daten befüllt.
  • (ii) Bildverkettung. Um die Bilder zu erzeugen, die für das Modelltraining verwendbar sind, sollten die einzelnen Bilder für jeden ROI verkettet werden. Da diese ROI-Bilder die Informationen der entsprechenden ROIs erfassen und sie zu unterschiedlichen Zeiten aufgenommen werden können, sind sie somit voneinander halbabhängig. Um die verketteten Bilder zu erweitern, werden die Bilder aus jedem ROI-Bildsatz zufällig gezeichnet und als neue Trainingsprobe verkettet. Dies erhöht die Trainingsdatenmenge erheblich und erfasst außerdem die Vielfalt der Kombinationen von ROI-Bildern.
  • Eine oder mehrere Ausführungsformen verwenden dieselben Techniken, um die Trainingsdaten sowohl für die ROI-Extraktion als auch für das Training des Modells zur fein differenzierten optischen Erkennung zu erzeugen.
  • Modeltraining. Um Trainingsdaten zu sammeln, wird das Objekt bei jedem Zustand ungefähr 2 min lang abgetastet. Zu beachten ist, dass dies ein einmaliger Zeitaufwand zum Aufbauen des Modells für ein neues Objekt ist. Zu Auswertungszwecken wurde dieses Programm offline auf einem PC mit einer GPU GTX 1080 ausgeführt. Die API Keras mit TensorFlow-Backend wird bei einer oder mehreren Ausführungsformen für CNN-Aufbau und -Training verwendet. Nach dem Training wird das Modell zur optischen Erkennung in das Format CoreML zum Ausführen auf der iOS-Plattform umgewandelt.
  • Mobile Online-App
  • Für Echtzeit-Tests und -Auswertung wurde eine experimentelle, auf iOS beruhende mobile Anwendung entwickelt. ARKit wird als AR-SDK zur erneuten Lokalisierung, Verfolgung der Kamerastellung und Darstellung des AR-Erlebnisses verwendet. Die CoreML-Struktur wird zum Ausführen von Maschinenlernschlussfolgerungen auf der Einheit verwendet. Eine Aufgabe zur Echtzeit-Erkennung wird geplant und das Ergebnis wird mit Hilfe mehrerer Versuche stabilisiert:
    • Erkennungsplanung. Ein Zeitgeber wird geplant, um zu prüfen, ob die ROIs alle 300 ms aktualisiert werden, und die CNN-Merkmalerkennungszweige werden ausgeführt, deren Eingabebild aktualisiert wurde. Die Schichten zur Zusammenfassung und Klassifizierung der räumlichen und zeitlichen Informationen werden einmal pro Sekunde ausgeführt, wenn eine beliebige CNN-Merkmalaktualisierung ausgelöst wird. Durch Aktualisieren jedes Zweiges nur dann, wenn sich der ROI ändert, werden unnötige Berechnungen verringert.
  • Vorhersagestabilisierung. Um das Ergebnis der Zustandsvorhersage weiter zu stabilisieren, insbesondere während der Übergänge aus einem Zustand in einen anderen, wird eine Vorhersage nach der Methode des gleitenden Durchschnitts genutzt. Eine Warteschlange mit den letzten N Vorhersageergebnissen wird gepuffert, und es wird nur ein Endergebnis ausgegeben, wenn ein vorhergesagter Zustand N - 1 Mal von N auftritt.
  • Auswertung: Der AFVR-Algorithmus wurde unter mehreren Aspekten ausgewertet: Erkennungsgenauigkeit und Auswirkungsfaktoren, Vergleich mit bestehenden Ansätzen und Ressourcenaufwand.
  • Erkennungsgenauigkeit und Auswirkungsfaktoren: Um den Entwurf des Gesamtsystems zu validieren, wurde zunächst die Leistungsfähigkeit eines einfachen LightWeight-CNN-Modells (LW-Modell) mit dem ROI-Erfassungsmechanismus ausgewertet, danach folgte ein Vergleich mit auf DCL und VGG beruhenden Modellen. Bei dem LW-Modell handelt es sich um ein CNN mit zwei Schichten, auf das Pooling-Schichten und vollständig verbundene Schichten zur Klassifizierung folgen.
  • Genauigkeit der Zustandserkennung: Betrachtet wird die Aufgabe des Ersetzens einer CPU bei einer Desktop-Maschine, die aus sechs Schritten besteht (z.B. Entfernen von Schrauben/Lüfter, Abklemmen von Leitungen, Lösen der CPU-Verriegelung usw.). Die Maschine wird bei jedem Zustand 2 min lang als Trainingsdaten und eine 1 min lang zum Testen abgetastet. Videoeinzelbilder werden alle 300 ms aufgenommen; somit werden bei einer Datensammlung von 1 min/s 200 Einzelbilder aufgenommen. Die ROIs werden extrahiert und das LW-Modell wird zur Auswertung trainiert. 13 zeigt die Verwechslungsmatrix der Ergebnisse. Die Erkennungsgenauigkeit liegt bei den meisten Zuständen nahe 95 % oder darüber, ausgenommen bei Zustand drei, der fälschlicherweise als benachbarte Zustände erkannt wurde. Dieser Zustand ist leichter mit benachbarten Zuständen zu verwechseln, da der optische Unterschied sehr gering ist: Die Lüfterhaube verdeckt bis tief in die Maschine hinein und er ist nur aus einer sehr begrenzten Anzahl von Blickwinkeln sichtbar. Zu beachten ist, dass diese Ergebnisse auf einzelnen Erkennungsergebnissen beruhen. Es wurde festgestellt, dass fehlerhafte Ergebnisse normalerweise einander nicht benachbart sind; somit können die Genauigkeit und die Stabilität mit mehreren Versuchen verbessert werden, was später ausgewertet wird. Ungeachtet dessen zeigen die Gesamtergebnisse, dass AFVR für die Verwendung in der Praxis robust genug ist.
  • Faktoren, die die Modellgenauigkeit beeinflussen:
    • Datenerweiterung. Bei der Auswertung wurde festgestellt, wie wirksam Datenerweiterung (DA) die Leistungsfähigkeit verbessern kann, indem die Trainingsbilder mit Daten befüllt werden, insbesondere bei begrenzten Trainingsdaten. 14 zeigt die Erkennungsgenauigkeit bei unterschiedlichen Mengen von Trainingsproben von 300 bis 1500. Es ist zu erkennen, dass Datenerweiterung die Genauigkeit erheblich verbessert, insbesondere, wenn die Trainingsproben sehr begrenzt sind (z.B. <900). Mit zunehmender Größe wird die Leistungsfähigkeit der Genauigkeit stabil, sowohl mit als auch ohne DA, obwohl sie mit DA geringfügig höher ist, was auf die Verbesserung der Modellverallgemeinerung durch DA hinweist.
  • ROI-Größe. Die ROI-Größe (die Länge/Breite des Quadrats) ist für das Erreichen der besten Leistungsfähigkeit der Erkennung relevant. Eine geringere ROI-Größe ermöglicht eine fokussiertere Wahrnehmung der Objektteile und somit eine feiner differenzierte Erkennung, führt aber auch zu einem kleineren Erfassungsbereich, bei dem die unterscheidbaren Teile aufgrund von Versatz fehlen können, der durch Bewegungen der Einheit verursacht wird. In derartigen Fällen erzeugt sie größere Fehler. Eine größere ROI-Größe ermöglicht eine umfangreichere Erfassung, somit weniger möglicherweise fehlende unterscheidbare Teile, erfasst aber gleichzeitig auch mehr Hintergrund-„Rauschen“ und verringert die Auflösung kritischer Bereiche zur Zustandserkennung. Die Auswirkung unterschiedlicher ROI-Größen auf die Erkennungsgenauigkeit wurde ausgewertet. 15 zeigt die sich ergebende Genauigkeit bei einer ROI-Größe von 1 bis 9 cm. Es wurden Daten bei einer ROI-Größe von 1, 3, 5, 7, 9 cm gesammelt. Das Experiment zeigt, dass 5 cm die optimale Größe ist, da sie die höchste Genauigkeit erreicht. Je nach der tatsächlichen Größe des Objekts kann sich die optimale ROI-Größe unterscheiden.
  • Erkennungsstabilisierung. Stabile und genaue Erkennungsergebnisse sind unerlässlich, da eine beliebige falsche Erkennung gegenstandslose Animationen oder Anweisungen in der AR-Anwendung auslöst. Dies ist nicht nur störend, sondern verwirrt außerdem Benutzer, was zu einem unangenehmen Benutzererlebnisse führt. Die Falsch-Rate (d.h. ungenaue Zustandserkennung) und Latenz wurden ausgewertet, wenn für jeden Zyklus mehrere Erkennungsversuche durchgeführt wurden. Ein Erkennungsversuch erfolgte z.B. alle 300 ms; somit lautet eine Erkenntnis aus mehreren Versuchen, dass dies schnell genug ist und für den Benutzer keine offensichtliche Verzögerung verursacht. Mindestens N - 1 Versuche von N Versuchen in einem Zyklus müssen dasselbe Ergebnis zeigen, um ein Zustandsergebnis festzustellen. 16 zeigt, dass mehr Versuche die Falsch-Rate um den Preis einer höheren Latenz schnell senken. Dies liegt daran, dass mehr Versuche stabilere Ergebnisse ergeben und somit falsche Ergebnisse verringern. Bei fünf Versuchen beträgt die Falsch-Rate weniger als 0,5 %. Für jeden Erkennungszyklus wurden fünf Versuche gewählt, um einen Ausgleich zwischen Stabilität und Latenz zu finden. Zu beachten ist, dass sich in einem praktischen Anwendungsfall die Objektzustände nicht häufig ändern und eine Latenz von 1 bis 2 s vernachlässigt werden kann.
  • Vergleich mit bestehenden Ansätzen
  • Genauigkeitsvergleich. Die Leistungsfähigkeit der LW- und des DCL-Modells und eines repräsentativen Objekterkennungsmodells VGG16 wurden verglichen. Da ROI-Erfassung eine unerlässliche Komponente für AFVR ist, wurde außerdem die Leistungsfähigkeit aller Modelle mit ROI-Erfassung und Roh-Einzelbildern verglichen. Das VGG16 wurde mit vorab trainierten Gewichtungen aus ImageNet fein abgestimmt und während des Trainings wurden alle Schichten mit Ausnahme der letzten zwei vollständig verbundenen Schichten eingefroren. 17 zeigt die Ergebnisse. Mit ROI-Erfassung erreichten alle drei Modelle eine hohe Genauigkeit (>97 %) und das DCL-Modell hatte die höchste Genauigkeit von 99,87 %. Das auf VGG beruhende Modell hat ebenfalls eine Genauigkeit von 97,74 %, was die Leistungsfähigkeit der durch VGG16 extrahierten Merkmale unter Beweis stellt. Die Ergebnisse mit ROI-Erfassung sind wesentlich höher als bei denen, die Roh-Einzelbilder als Eingabe verwenden, die lediglich eine Genauigkeit von 50 % erreichen. Dies liegt hauptsächlich an den Verdeckungen und an der fehlenden feinen Differenziertheit. Die Bilder sehen bei einigen Zuständen möglicherweise gleich aus, wenn die sich ändernden Teile verdeckt sind, wodurch bei den Trainings- und Testdaten ein hohes Maß an Rauschen verursacht wird. Das auf VGG beruhende Modell hat unter den dreien, die Roh-Einzelbilder verwenden, die höchste Genauigkeit, die sogar noch besser als bei dem DCL-Modell ist. Dies liegt möglicherweise daran, dass das DCL-Modell mehrere „rauschbehaftete“ Einzelbilder als Eingabe nimmt, was schwieriger zusammenzuführen ist.
  • Auswirkung der Anzahl von ROIs. Mit der zunehmenden Anzahl von ROIs nimmt die Auflösung verketteter Bilder zu, wenn sich die Auflösung jedes ROI nicht ändert. Wenn die Auflösung verketteter Bilder feststeht, nimmt die Auflösung jedes ROI-Bildes ab. Bilder mit einer zu großen Auflösung müssen möglicherweise umgestaltet werden, sodass sie in Modelle wie z.B. VGG passen. An einem komplexeren Objekt wurden neue Daten gesammelt, und es wurden mehr ROIs hinzugefügt. 18 zeigt die Ergebnisse für 8,16 und 32 ROls. Mit der ansteigenden Anzahl von ROIs sinkt die Genauigkeit des VGG-Modells aufgrund der Größenänderung auf <75 %. LW hat eine bessere Leistungsfähigkeit als VGG auf Kosten einer erhöhten Modellgröße (zunehmende Parameter). Das DCL-Modell hat die beste Leistungsfähigkeit und zeigt nur eine geringfügige Abnahme bei der Genauigkeit.
  • Modellgrößenvergleich. Die Größe eines Modells ist für dessen effiziente Ausführung relevant, insbesondere auf einer mobilen Einheit mit eingeschränkten Ressourcen. 19 zeigt die Anzahl von Parametern der drei Modelle mit zunehmender Anzahl von ROIs. Das auf VGG beruhende Modell hat eine konstante Anzahl von 14,85 M, da die Bilder auf eine feststehende Auflösung von 224 x 224 gerändert wurden. Das DCL-Modell nutzt VGG zur Merkmalextraktion und enthält somit mehr Parameter als VGG. Der Parameter nimmt mit jeweils 9 weiteren ROIs um ˜1,6 M zu (unter der Annahme, dass das Eingabebild für jeden Zweig 9 ROIs umfasst). Das LW-Modell hat die wenigsten Parameter, wenn ROI weniger als 25 beträgt; danach nimmt es erheblich schneller als das DCL-Modell zu. Somit ist das DCL Modell besser für komplexe Objekte geeignet.
  • Ergebnisse bei mehr Objekten: Um eine Verallgemeinerung zu veranschaulichen, wurden Experimente an fünf Objekten durchgeführt, unter anderem an komplexeren Maschinen wie z.B. Servern. 20 zeigt die Kastengrafik (boxplot) der Genauigkeit sowohl des LW- als auch des DCL-Modells, die in beiden Fällen über 95 % liegt. Das DCL Modell hat eine höhere mittlere Genauigkeit, über 98 %.
  • Ressourcenaufwand: Die Inanspruchnahme von Ressourcen ist relevant für ein angenehmes Benutzererlebnis und eine gute Nutzbarkeit. Bei der Verwendung von CPU und Speicher wurde der AFVR-Ressourcenaufwand an einem iPhone 8 gemessen. Diese Kennzahlen wurden verglichen, als die mobile App in unterschiedlichen Betriebsarten betrieben wurde: nur AR, AR mit LW-Modellschlussfolgerung und AR mit DCL-Modellschlussfolgerung. Zu Vergleichszwecken zeigt die Tabelle in 21 die typischen Messwerte. Die optische Erkennung erhöht die CPU-Last nur geringfügig um ungefähr 1 bis 1,5 % und nimmt über 30 MB Speicher in Anspruch. Bei diesem Gesamtaufwand kann AFVR leicht 60 Einzelbilder pro Sekunde erreichen, was bei Dauergebrauch keine Überhitzung verursacht.
  • Modeltrainingsaufwand. Der Modelltrainingsaufwand umfasst zwei Aspekte: Datensammlungsaufwand und Berechnungsaufwand. Zwecks Datensammlung kann ein bestimmter Benutzer das Objekt in jedem Zustand abtasten (was jeweils ungefähr 1 bis 2 min dauert) oder es können gemeinsam erarbeitete Daten aus Fernunterstützungssitzungen genutzt werden. In ihrem aktuellen Zustand sind die gemeinsam erarbeiteten Daten rauschbehaftet und erfordern eine manuelle Vorverarbeitung. Hinsichtlich des Berechnungsaufwands handelt es sich bei allen auf der mobilen Einheit gesammelten Daten um einen „Nebenprodukt“ von AR, wodurch ein minimaler Zusatzaufwand verursacht wird. Modelltraining führt wegen der relativ kleinen Datenmenge für ein bestimmtes Objekt im Backend ebenfalls zu einem geringen Aufwand.
  • Ausgeklügeltere Modelle. Das beispielhafte DCL-Modell nutzte VGG16 mit vorab trainierten Gewichtungen aus ImageNet als Basismodell, was akzeptable Ergebnisse ergibt. Das Trainieren eines Basismodells auf der Grundlage eines domänenspezifischen Datensatzes kann die Genauigkeit und Effizienz weiter verbessern. Darüber hinaus können ausgeklügeltere neuronale Netze wie z.B. zeitlich-räumliche faltende Netze verwendet werden, um die Leistungsfähigkeit zu verbessern.
  • Somit stellen eine oder mehrere Ausführungsform einen Algorithmus zur aktiven, fein differenzierten optischen Erkennung bereit, der sowohl 2-D-Videoeinzelbilder als auch 3-D-Merkmalpunkte in AR kombiniert, um den sich ändernden optischen Zustand von 3-D-Objekten zu erkennen, selbst wenn die Änderung ziemlich geringfügig ist. Eine oder mehrere Ausführungsformen sind gegenüber zufälligen Kamerabewegungen robust und stellen zuverlässige und stabile Ergebnisse der optischen Erkennung bereit, indem sie über eine auf iOS beruhende mobile App realisiert werden, die sich auf AR-unterstützte Hardwarewartung konzentriert.
  • Eine oder mehrere Ausführungsformen konzentrieren sich speziell auf eine fein differenzierte Erkennung optischer Zustände in AR. Eine oder mehrere Ausführungsformen erfordern kein Vorab-Abtasten und Vorab-Beschriften jeder Hardwarekomponente und anschließendes Verwenden einiger standardmäßiger Computer-Vision-Abgleichalgorithmen auf Pixelebene, um die Hardwarekomponente zu erkennen. Das Vorab-Abtasten oder Vorab-Beschriften einzelner Teile der Hardware ist wegen der Unmöglichkeit, die Teile von der Hauptplatine zu trennen, unter Umständen nicht immer möglich. Eine oder mehrere Ausführungsformen stellen eine fein differenzierte Erkennung optischer Zustände (im Gegensatz zur Komponentenerkennung) bereit, die auch die kleinsten Änderungen in der Szenerie (wie z.B. Entfernen einer kleinen Schraube, Anheben eines winzigen Hebels usw.) verfolgt. Dieses Erkennungsniveau ist mit einer auf 3-D-Punktwolken beruhenden Erkennung von Objekten oder Teilen nicht möglich und nutzt hierin offenbarte neuartige Deep-Learning-Techniken. Dies umfasst das Nutzen von Bildern, 3-D-Merkmalpunkten und Kamerastellungen in AR.
  • Eine oder mehrere Ausführungsformen stellen einen Algorithmus zur optischen Erkennung bereit. Eine oder mehrere Ausführungsformen erkennen und verstehen die aktuelle AR-Szenerie (d.h. den Objektzustand wie z.B. Deckel geöffnet im Gegensatz zu Deckel geschlossen, Hebel oben im Gegensatz zu Hebel unten, Schraube installiert im Gegensatz zu Schraube nicht installiert usw.) und stellen den anwendbaren Satz von Anweisungen automatisch dar, da nicht jede Anweisung zu jedem Maschinenzustand passt (z.B. kann ein Lüfter nicht entfernt werden, solange der obere Deckel der Maschine nicht geöffnet wurde). Um das Zustandserkennungsproblem zu lösen, stellen eine oder mehrere Ausführungsformen eine Reihe von Deep-Learning-Modellen und -Techniken bereit, die Bilder, 3-D-Merkmalpunkte und Kamerastellungen in AR nutzen.
  • Eine oder mehrere Ausführungsformen analysieren die optischen Erscheinungsbilder des ATM, um gezielte Anweisungen für diesen ATM-Zustand bereitzustellen, unter anderem eine Reihe spezieller Deep-Learning-Techniken zur fein differenzierten Erkennung optischer Zustände wie z.B. automatische ROI-Erkennung, ROI-Zuschneiden, Verdeckungserkennung unter Verwendung von 3-D-Merkmalpunkten und dergleichen.
  • Eine oder mehrere Ausführungsformen stellen eine fein differenzierte Objektzustandserkennung bereit, die ein Analysieren der aktuellen Szenerie und ein Vorhersagen des Objektzustands erfordert. Zum Beispiel ermöglicht eine herkömmliche Teileerkennung ein Erkennen einer CPU-Abdeckung in der Szenerie, wenn eine Hauptplatine betrachtet wird, während eine oder mehrere Ausführungsformen erkennen, ob diese CPU-Abdeckung geöffnet oder geschlossen ist, ob ihr Hebel angehoben ist oder sich unten befindet, im Wesentlichen sehr geringfügige Unterschiede in der Hauptszenerie, die normale Algorithmen zur Teileerkennung nicht unterscheiden können. Das Erkennen des optischen Zustands (zusammen mit den geringfügigen Änderungen des optischen Zustands) eines Objekts ist im Vergleich zum Erkennen eines Teils eines Objekts eine ganz andere Aufgabe. Darüber hinaus stellen eine oder mehrere Ausführungsformen eine Reihe von Techniken wie z.B. automatische ROI-Erkennung, ROI-Zuschneiden, Verdeckungserkennung unter Verwendung von 3-D-Merkmalpunkten usw. bereit.
  • Bisherige Arbeitsabläufe erfordern eine manuelle Erkennung von interessierenden Bereichen (was eine Verallgemeinerung erschwert) und unterstützen die Verdeckungserkennung nicht (was ohne Grund zu Ineffizienz beim Ausführen des Deep-Learning-Modells zu Schlussfolgerungszwecken führt, selbst wenn die Zielregion verdeckt ist, wodurch sich die Einheit bei mobilen Einheiten möglicherweise erwärmt). Bisherige Arbeitsabläufe nehmen Bilder und Kamerastellung(en) als Eingabe und erfassen die ROIs nacheinander, die zur Erkennung in ein Mehrfachdatenstrom-CNN eingespeist werden. Eine oder mehrere Ausführungsformen erlernen die ROIs automatisch über ein Deep-Learning-Modell (kein manueller Aufwand), nutzen eine zeitliche Abfolge von Eingabebildern, um eine höhere Genauigkeit sicherzustellen, und unterstützen Verdeckungserkennung mit den in Echtzeit erkannten 3-D-Merkmalpunkten. Schließlich erfassen eine oder mehrere Ausführungsformen mehrere ROIs gleichzeitig und verwenden zur Erkennung ein verbessertes Deep-Learning-Modell, das als Mehrfachdatenstrom-CNN-LSTM-Modell bezeichnet wird.
  • Um noch einmal darauf hinzuweisen, eine oder mehrere Ausführungsformen ermöglichen ein Erkennen eines optischen Zustands eines Objekts (wie z.B. Abdeckung installiert im Gegensatz zu nicht installiert, DIMM installiert im Gegensatz zu nicht installiert, CPU-Hebel oben im Gegensatz zu und usw.). Eine oder mehrere Ausführungsformen stellen eine Reihe von Erfassungsalgorithmen für Bild-ROIs und neuronalen Netzen zur ObjektZustandserkennung bereit, die das gesamte optische Erscheinungsbild des Objekts einbezieht, die komplexer als die Objekt-Teileerkennung ist.
  • Eine oder mehrere Ausführungsformen funktionieren auf mobilen Einheiten mit normalen Kameras (keine Spezialausrüstung erforderlich - kann ohne eine Kamera mit Tiefenerkennung durchgeführt werden) und stellen eine fein differenzierte Objektzustandserkennung bereit. Im Kontext des Bereichs des technischen Supports würden Algorithmen nach dem Stand der Technik ein Erkennen ermöglichen, dass es sich bei dem, worauf das AR-System schaut, um einen Notebook-Computer handelt, während eine oder mehrere Ausführungsformen zum Erkennen des Zustands des Notebook-Computers (z.B. CPU-Hebel unten) beitragen, um dem AR-System zu ermöglichen, die richtigen Anweisungen darzustellen (z.B. CPU-Abdeckung anheben). In dem Wissen, dass es sich bei dem Objekt um einen Notebook-Computer handelt (d.h. Objekterkennung auf höherer Ebene), reicht es nicht aus, das richtige Ausmaß von Reparaturanweisungen darzustellen, und ein feineres Maß von Differenziertheit der Erkennung wird vorteilhafterweise durch eine oder mehrere Ausführungsformen bereitgestellt.
  • Um noch einmal darauf hinzuweisen, eine oder mehrere Ausführungsformen stellen ein Verfahren zur fein differenzierten Objektzustandserkennung in AR bereit, das in vollem Umfang den Vorteil der AR-Ausgaben wie z.B. Kamerastellungsinformationen und 3-D-Objektmodelle nutzt. Darüber hinaus sind eine oder mehrere Ausführungsformen auf das Verdeckungsproblem gerichtet, um die Effizienz und die Genauigkeit des Deep-Learning-Modells mit den erkannten 3-D-Merkmalpunkten aus AR zu erhöhen. Hinsichtlich der Strategie zur Auswahl der aktiven Ansicht können eine oder mehrere Ausführungsformen erkennen, welche ROIs abgetastet werden müssen, und die Benutzer führen, um die Kameras in AR-Szenarien zu bewegen.
  • Im Gegensatz zur allgemeinen Objektklassifizierung nach dem Stand der Technik stellen eine oder mehrere Ausführungsformen eine fein differenzierte optische Erkennung bereit, bei der unterscheidbare Bereiche möglicherweise nur aus einem bestimmten Blickwinkel sichtbar sind. Eine oder mehrere Ausführungsformen erfordern kein Aufnehmen einer festen Anzahl von Bildern, sondern erfassen die zugehörigen ROIs automatisch über das Verfolgen der Kamerastellung und 3-D-2-D-Projektion. Eine oder mehrere Ausführungsformen nutzen LSTM-Schichten zum Zusammenfassen zeitlicher Informationen.
  • Angesichts der bisherigen Erörterung wird klar sein, dass allgemein ausgedrückt ein beispielhaftes Verfahren gemäß einem Aspekt der Erfindung ein Erhalten von Zugriff auf eine dreidimensionale Punktwolkendarstellung 505 eines Objekts 502 umfasst, die Stellungen einer abtastenden Digitalkamera (z.B. in einem Telefon 569) und entsprechende Videoeinzelbilder umfasst; dieser Schritt kann zum Beispiel durch Abtasten des Objekts mit einer mit einem Prozessor verbundenen Digitalkamera und Sammeln der Videoeinzelbildern entsprechenden Stellungen und entsprechender Merkmalpunkte durchgeführt werden. Bei einer oder mehreren Ausführungsformen sind die Stellungen/Punkte/Einzelbilder vorteilhafterweise Nebenprodukte von AR. Es sollte beachtet werden, dass bisher normalerweise allein Bilder als Grundlage der optischen Erkennung verwendet wurden; eine oder mehrere Ausführungsformen betten im Gegensatz hierzu die Ergebnisse des Modells in erweiterte Realität ein und stellen somit ein Medium bereit, über das Stellungen, Merkmalpunkte, Einzelbilder und dergleichen in der AR-Umgebung erzeugt werden. Eine oder mehrere Ausführungsformen erstellen neuartige Modelle, die diese AR-Nebenprodukte nutzen. Siehe die ROI-Erfassung 589 in der Online-Phase 405 - die Kamerastellung kann genutzt werden, da die ROIs 3-D-Standorte im 3-D-Raum definieren. Es ist wünschenswert, die Bilder um den ROI zuzuschneiden. Eine Projektion von 3-D-Standorten auf 2-D-Bilder wird durchgeführt. Die Kamerastellung wird genutzt, um die Projektion/das Zuschneiden auszuführen. Die Punktwolke wird zur Verdeckungserkennung verwendet, wie in 11 zu sehen ist.
  • Weitere Schritte umfassen, bei 515, das Verringern der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung, um einen Satz von Kandidaten 525-1 bis 525-7 für interessierende Bereiche zu erhalten; Filtern der Kandidaten für interessierende Bereiche, um als ausgewählte interessierende Bereiche 535 mindestens teilweise auf der Grundlage der Stellungen der Kamera diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen enthalten, die unterschiedliche optische Zustände unterscheiden; Erzeugen von Bildern 415 interessierender Bereiche für die ausgewählten interessierenden Bereiche aus den entsprechenden der Videoeinzelbilder; und, bei Schritt 419, Trainieren eines Deep-Learning-Erkennungsmodells auf der Grundlage der Bilder interessierender Bereiche.
  • Einige Instanzen umfassen ferner, wie bei 405, ein Ermitteln eines optischen Zustands des Objekts mit der mit dem Prozessor verbundenen Digitalkamera unter Verwendung des trainierten Deep-Learning-Erkennungsmodells.
  • Einige Ausführungsformen umfassen ferner, wie bei 1013, auf der Grundlage des ermittelten Zustands ein Bereitstellen von Erweiterte-Realität-Anweisungen, die das Objekt betreffen, für einen Benutzer. Zum Beispiel kann eine Datenbank in dem AR-System enthalten sein, die Anweisungen für eine Überlagerung über eine Ansicht des Objekts enthält, die in Verbindung mit einem optischen Zustand des Objekts gespeichert sind. Eine derartige Datenbank kann sich in einem lokalen Speicher in einer Einheit 569 befinden und/oder wie in Bezug auf die 1 und 2 beschrieben in einer Cloud gespeichert sein. Wenn der Zustand ermittelt wurde, wird die Datenbank auf die entsprechenden Anweisungen abgefragt, und diese werden auf einem Bildschirm einer Vorrichtung 569 der Ansicht des Objekts überlagert angezeigt. Eine Anzeige 24 steht allgemein für einen derartigen Bildschirm.
  • Einige Instanzen umfassen ferner, wie bei 404, ein erneutes Lokalisieren der Digitalkamera in Bezug auf das Objekt vor dem Ermitteln des Zustands des Objekts.
  • In einigen Fällen umfasst das Verringern der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung zum Erhalten des Satzes von Kandidaten für interessierenden Bereiche, wie bei 511 gezeigt, ein Entfernen von Ausreißern.
  • In einigen Fällen umfasst das Filtern der Kandidaten für interessierende Bereiche, um diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen aufweisen, wie bei 537, ein Bild-Zuschneiden und -Zoomen.
  • In einigen Fällen umfasst das Ermitteln des Zustands des Objekts, wie bei 709, ein Erfassen von Bildern für diejenigen der interessierenden Bereiche, die belegte interessierende Voxel enthalten; und ein Bereitstellen eines entsprechenden gezoomten lokalen Bildes und einer entsprechenden Betrachtungsstellung 711 für jeden der interessierenden Bereiche, die die belegten Voxel enthalten, für das Erkennungsmodell 545.
  • Bei einigen Ausführungsformen umfasst das Modell ein Modell mit faltendem neuronalen Mehrfachdatenstrom-Netz und langem Kurzzeitgedächtnis; und das Ermitteln des Zustands des Objekts umfasst: ein Trennen der interessierenden Bereiche in eine Mehrzahl von Zweigen 803-1 ... 803-K; wie bei 805, ein Extrahieren von Merkmalen aus den entsprechenden gezoomten lokalen Bildern unter Verwendung eines faltenden neuronalen Netzes des Modells mit faltendem neuronalen Mehrfachdatenstrom Netz und langem Kurzzeitgedächtnis; wie bei 809, ein Zusammenfassen räumlicher Informationen durch Verketten der extrahierten Merkmale; und, wie bei 813, ein Zusammenfassen zeitlicher Informationen durch Pooling der räumlichen Informationen für eine Mehrzahl von Zeitschritten und ein Bereitstellen der gepoolten Informationen für eine Langes-Kurzzeitgedächtnis-Schicht 815, um eine vollständig verbundene Schicht 817 zur Klassifizierung zu erhalten, um den Zustand des Objekts zu ermitteln.
  • Eine oder mehrere Ausführungsformen umfassen ferner ein Unterlassen des Erfassens von Bildern für diejenigen der interessierenden Bereiche, die keine belegten interessierenden Voxel enthalten, um die Empfindlichkeit gegenüber mindestens einem aus Verdeckung und Kamerainstabilität zu verringern, wie bei 708, 709 bildlich dargestellt.
  • Bei einer oder mehreren Ausführungsformen umfasst das Objekt 502 eine zu reparierende Informationstechnologie-Ressource, die Digitalkamera und der Prozessor sind Teil einer mobilen Einheit 569, 54A und das Bereitstellen der Erweiterte-Realität-Anweisungen umfasst ein Veranschaulichen eines Reparaturablaufs für die Informationstechnologie-Ressource. Ein weiterer Schritt kann ein Reparieren der Ressource gemäß den Anweisungen umfassen.
  • Eine oder mehrere Ausführungsformen der Erfindung oder Elemente davon können in Form einer Vorrichtung realisiert sein, die einen Speicher und mindestens einen Prozessor umfasst, der mit dem Speicher verbunden und funktionsmäßig in der Lage ist, beispielhafte Verfahrensschritte durchzuführen. 22 stellt ein Computersystem bildlich dar, das beim Realisieren eines oder mehrerer Aspekte und/oder Elemente der Erfindung nützlich sein kann und außerdem für einen Cloud-Computing-Knoten gemäß einer Ausführungsform der vorliegenden Erfindung steht. Nunmehr unter Bezugnahme auf 22 ist ein Cloud-Computing-Knoten 10 nur ein Beispiel eines geeigneten Cloud-Computing-Knotens und nicht dazu gedacht, eine beliebige Einschränkung hinsichtlich des Schutzbereiches oder der Funktionalität von Ausführungsformen der hierin beschriebenen Erfindung nahezulegen. Ungeachtet dessen kann der Cloud-Computing-Knoten 10 realisiert werden und/oder eine beliebige der hierin oben dargelegten Funktionalitäten durchführen.
  • In dem Cloud-Computing-Knoten 10 liegt ein Computersystem/Server 12 vor, das bzw. der in Verbindung mit zahlreichen anderen Universal- oder Spezial-Datenverarbeitungssystemumgebungen oder derartigen Konfigurationen funktionsfähig ist. Zu Beispielen allgemein bekannter Datenverarbeitungssysteme, -umgebungen und/oder - konfigurationen, die zur Verwendung in Verbindung mit dem Computersystem/Server 12 geeignet sein können, können Personal-Computer-Systeme, Server-Computersysteme, Thin-Clients, Thick-Clients, Hand- oder Notebook-Einheiten, Multiprozessorsysteme, auf Mikroprozessoren beruhende Systeme, Set-Top-Boxen, programmierbare Einheiten der Konsumgüterelektronik, Netzwerk-PCs, Minicomputersysteme, Großrechnersysteme und verteilte Cloud-Computing-Umgebungen, zu denen beliebige der oben erwähnten Systeme oder Einheiten und dergleichen gehören, ohne auf diese beschränkt zu sein.
  • Das Computersystem/der Server 12 kann im allgemeinen Kontext von auf einem Computersystem ausführbaren Anweisungen beschrieben werden, wie zum Beispiel von Programmmodulen, die durch ein Computersystem ausgeführt werden. Programmmodule können im Allgemeinen Routinen, Programme, Objekte, Komponenten, Logik und Datenstrukturen usw. enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen realisieren. Das Computersystem/der Server 12 kann in verteilten Cloud-Computing-Umgebungen praktisch realisiert sein, in denen Aufgaben durch entfernt angeordnete Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk verbunden sind. Bei einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl auf lokal als auch auf entfernt angeordneten Computersystem-Speichermedien befinden, unter anderem auf Speichereinheiten.
  • Wie in 22 gezeigt ist das Computersystem/der Server 12 in dem Cloud-Computing-Knoten 10 in Form einer Universal-Datenverarbeitungseinheit gezeigt. Zu den Komponenten des Computersystems/des Servers 12 können, ohne auf diese beschränkt zu sein, ein oder mehrere Prozessoren oder Verarbeitungseinheiten 16, ein Systemhauptspeicher 28 und ein Bus 18 gehören, der verschiedene Systemkomponenten einschließlich des Systemhauptspeichers 28 mit dem Prozessor 16 verbindet.
  • Der Bus 18 stellt eine oder mehrere beliebiger verschiedener Arten von Busstrukturen dar, zu denen ein Speicherbus oder eine Speichersteuereinheit, ein Peripheriebus, ein Accelerated Graphics Port und ein Prozessorbus oder lokaler Bus gehören, die eine beliebige einer Vielfalt von Busarchitekturen nutzen. Als Beispiel und nicht als Einschränkung gedacht gehören zu derartigen Architekturen ein ISA-Bus (ISA = Industry Standard Architecture), ein MCA-Bus (MCA = Micro Channel Architecture), der EISA-Bus (EISA = Enhanced ISA), ein lokaler VESA-Bus (VESA = Video Electronics Standards Association) und ein PCI-Bus (PCI = Peripheral Component Interconnect).
  • Das Computersystem/der Server 12 umfasst normalerweise eine Vielfalt von Medien, die durch Computersysteme gelesen werden können. Bei derartigen Medien kann es sich um beliebige verfügbare Medien handeln, auf die das Computersystem/der Server 12 zugreifen kann, und zu diesen Medien gehören sowohl flüchtige als auch nichtflüchtige Medien, wechselbare und nichtwechselbare Medien.
  • Zum Systemhauptspeicher 28 können durch Computersysteme lesbare Medien in Form von flüchtigem Speicher wie zum Beispiel Direktzugriffsspeicher (Random Access Memory, RAM) 30 und/oder Cache 32 gehören. Das Computersystem/der Server 12 kann ferner andere wechselbare/nichtwechselbare, flüchtige/nichtflüchtige Computersystem-Speichermedien umfassen. Lediglich beispielhaft kann ein Speichersystem 34 zum Lesen von einem und Schreiben auf ein nichtwechselbares, nichtflüchtiges magnetisches Medium (nicht dargestellt und normalerweise als „Festplatte“ bezeichnet) bereitgestellt sein. Obwohl nicht gezeigt, können ein Magnetplattenlaufwerk zum Lesen von einer und Schreiben auf eine wechselbare nichtflüchtige Magnetplatte (z.B. eine „Diskette“) und ein optisches Plattenlaufwerk zum Lesen von einer oder Schreiben auf eine wechselbare, nichtflüchtige optische Platte wie z.B. ein CD-ROM, DVD-ROM oder ein anderes optisches Medium bereitgestellt sein. In derartigen Fällen kann jede dieser Einheiten durch eine oder mehrere Datenmedienschnittstellen mit dem Bus 18 verbunden sein. Wie ferner bildlich dargestellt und nachfolgend beschrieben ist, kann der Speicher 28 mindestens ein Programmprodukt enthalten, das eine Gruppe (z.B. mindestens eines) von Programmmodulen enthält, die so konfiguriert sind, dass die Funktionen von Ausführungsformen der Erfindung ausgeführt werden.
  • Ein Programm/Dienstprogramm 40, das eine Gruppe (mindestens eines) von Programmmodulen 42 enthält, kann als Beispiel und nicht als Einschränkung im Speicher 28 sowie in einem Betriebssystem, in einem oder mehreren Anwendungsprogrammen oder in anderen Programmmodulen und Programmdaten gespeichert sein. Jedes der Betriebssysteme, ein oder mehrere Anwendungsprogramme, andere Programmmodule und Programmdaten oder eine bestimmte Kombination davon kann bzw. können eine Realisierungsform einer Vernetzungsumgebung umfassen. Die Programmmodule 42 führen allgemein die Funktionen und/oder Methodiken von Ausführungsformen der Erfindung wie hierin beschrieben aus.
  • Das Computersystem/der Server 12 kann außerdem mit einer oder mehreren externen Einheiten 14 Daten austauschen, zum Beispiel mit einer Tastatur, einer Zeigeeinheit, einer Anzeigeeinheit 24 usw.; mit einer oder mehreren Einheiten, die es einem Benutzer ermöglichen, mit dem Computersystem/Server 12 zu interagieren; und/oder mit beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.), die es dem Computersystem/Server 12 ermöglichen, mit einer oder mehreren anderen Datenverarbeitungseinheiten Daten auszutauschen. Ein derartiger Datenaustausch kann über Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 22 stattfinden. Darüber hinaus kann das Computersystem/der Server 12 über einen Netzwerkadapter 20 mit einem oder mehreren Netzwerken Daten austauschen, zum Beispiel mit einem lokalen Netzwerk (Local Area Network, LAN), mit einem allgemeinen Weitverkehrsnetzwerk (Wide Area Network, WAN) und oder mit einem öffentlichen Netzwerk (z.B. dem Internet). Wie bildlich dargestellt ist, tauscht der Netzwerkadapter 20 über den Bus 18 Daten mit den anderen Komponenten des Computersystems/Servers 12 aus. Es sollte klar sein, dass, obwohl nicht gezeigt, andere Hardware- und/oder Softwarekomponenten in Verbindung mit dem Computersystem/Server 12 verwendet werden könnten. Zu Beispielen gehören, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber, redundante Verarbeitungseinheiten und externe Festplattenlaufwerksanordnungen, RAID-Systeme (RAID = Redundant Array of Independent Disks), Bandlaufwerke, Speichersysteme zur Datenarchivierung usw.
  • Somit können eine oder mehrere Ausführungsformen Software verwenden, die auf einem Universalcomputer oder auf einer Arbeitsstation ausgeführt wird. Unter Bezugnahme auf 22 könnte eine derartige Realisierungsform zum Beispiel einen Prozessor 16, einen Speicher 28 und eine Eingabe/Ausgabe-Schnittstelle 22 zu einer Anzeige 24 sowie (eine) externe Einheit(en) 14 wie z.B. eine Tastatur, eine Zeigeeinheit oder dergleichen nutzen. Der Begriff „Prozessor“ ist im hierin verwendeten Sinne so zu verstehen, dass er alle Verarbeitungseinheiten umfasst, zum Beispiel eine CPU (CPU = central processing unit, Zentraleinheit) und/oder andere Formen von Verarbeitungsschaltungen. Ferner kann sich der Begriff „Prozessor“ auf einen oder mehrere einzelne Prozessoren beziehen. Der Begriff „Speicher“ soll alle Speicherarten umfassen, die einem Prozessor oder einer CPU zugehörig sind, wie z.B. RAM (Random Access Memory, Direktzugriffspeicher) 30, ROM (Read Only Memory, Nur-Lese-Speicher), eine fest installierte Speichereinheit (zum Beispiel ein Festplattenlaufwerk 34), eine wechselbare Speichereinheit (zum Beispiel eine Diskette), Flash-Speicher und dergleichen. Darüber hinaus ist der Ausdruck „Eingabe/Ausgabe-Schnittstelle“ im hierin verwendeten Sinne so zu verstehen, dass er eine Schnittstelle zu beispielsweise einem oder mehrere Mechanismen zum Eingeben von Daten in die Verarbeitungseinheit (zum Beispiel eine Maus) und einen oder mehrere Mechanismen zum Bereitstellen von Ergebnissen im Zusammenhang mit der Verarbeitungseinheit (zum Beispiel einen Drucker) bezeichnen soll. Der Prozessor 16, der Speicher 28 und die Eingabe/Ausgabe-Schnittstelle 22 können untereinander zum Beispiel über den Bus 18 als Teil der Datenverarbeitungseinheit 12 verbunden sein. Geeignete Verbindungen, zum Beispiel über den Bus 18, können auch einer Netzwerkschnittstelle 20 wie z.B. einer Netzwerkkarte, die als Schnittstelle zu einem Computernetzwerk bereitgestellt sein kann, sowie einer Medienschnittstelle wie z.B. einem Diskettenlaufwerk oder einem CD-ROM-Laufwerk bereitgestellt sein kann, die als Schnittstelle zu geeigneten Medien bereitgestellt sein kann.
  • Dementsprechend kann Computersoftware, die Anweisungen oder Code zum Durchführen der Methodiken der Erfindung wie hier beschrieben umfasst, auf einer oder mehreren der zugehörigen Speichereinheiten (zum Beispiel ROM, fest installierter Speicher oder wechselbarer Speicher) gespeichert sein und im verwendungsbereiten Zustand durch eine CPU teilweise oder ganz geladen (zum Beispiel in den RAM) und umgesetzt werden. Zu derartiger Software könnte, ohne auf diese beschränkt zu sein, Firmware, residente Software, Mikrocode und dergleichen gehören.
  • Ein Datenverarbeitungssystem, das zum Speichern und/oder Ausführen von Programmcode geeignet ist, umfasst mindestens einen Prozessor 16, der über einen Systembus 18 direkt oder indirekt mit Speicherelementen 28 verbunden ist. Zu den Speicherelementen können lokaler Speicher, der während der eigentlichen Umsetzung des Programmcodes genutzt wird, Massenspeicher und Cache-Speicher 32 gehören, die eine zeitweilige Speichermöglichkeit für mindestens einen Teil des Programmcodes bereitstellt, um während der Umsetzung die Anzahl der Codeabrufe aus dem Massenspeicher zu verringern.
  • Eingabe/Ausgabe-Einheiten bzw. E/A-Einheiten (einschließlich und ohne auf diese beschränkt zu sein, Tastaturen, Anzeigeeinheiten, Zeigeeinheiten und dergleichen) können entweder direkt oder über zwischengeschaltete E/A-Steuereinheiten mit dem System verbunden sein.
  • Netzwerkadapter 20 können ebenfalls mit dem System verbunden sein, sodass das Datenverarbeitungssystem über zwischengeschaltete private oder öffentliche Netzwerke mit anderen Datenverarbeitungssystemen, entfernt angeordneten Druckern oder Speichereinheiten verbunden werden kann. Modems, Kabelmodems und Ethernet-Karten sind nur einige der gegenwärtig erhältlichen Arten von Netzwerkadaptern.
  • In dem hierin einschließlich der Ansprüche verwendeten Sinn gehört zu einem „Server“ ein physisches Datenverarbeitungssystem (zum Beispiel das in 22 gezeigte System 12), auf dem ein Serverprogramm ausgeführt wird. Es versteht sich, dass zu einem derartigen physischen Server eine Anzeigeeinheit und eine Tastatur gehören können.
  • Eine oder mehrere Ausführungsformen können mindestens teilweise in dem Kontext einer Cloud- oder Virtuelle-Maschine-Umgebung realisiert sein, obwohl dies nur beispielhaft und nicht einschränkend gemeint ist. Es wird erneut Bezug auf die 1 bis 2 und den beigefügten Text genommen. Betrachtet wird z.B. ein Dienst 96 auf Cloud-Basis zur fein differenzierten optischen Erkennung in einer mobilen erweiterten Realität, die sich auf der Schicht 90 befindet.
  • Es sollte beachtet werden, dass zu beliebigen der hier beschriebenen Verfahren ein zusätzlicher Schritt des Bereitstellens eines Systems gehören kann, das eigene Softwaremodule aufweist, die auf einem durch einen Computer lesbaren Speichermedium verkörpert sind; die Module können zum Beispiel ein beliebiges oder alle der entsprechenden Elemente umfassen, die in den Blockschemata bildlich dargestellt oder hierin beschrieben sind; als Beispiel und nicht als Einschränkung gedacht, ein beliebiges/beliebiger, einige oder alle der beschriebenen Module/Blöcke und/oder Teilmodule/Teilblöcke. Die Verfahrensschritte können dann unter Verwendung der unterschiedlichen Softwaremodule und/oder Teilmodule des Systems wie oben beschrieben ausgeführt werden, indem ein oder mehrere Hardwareprozessoren wie z.B. 16 ausgeführt werden. Ferner kann ein Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit Code gehören, der so ausgelegt ist, dass er umgesetzt wird, um mindestens einen oder mehrere hier beschriebene Verfahrensschritte auszuführen, unter anderem die Bereitstellung des Systems mit den unterschiedlichen Softwaremodulen.
  • Ein Beispiel einer Benutzeroberfläche, das in einigen Fällen genutzt werden könnte, ist HTML-Code (HTML = hypertext markup language), der durch einen Server oder dergleichen zu einem Browser einer Datenverarbeitungseinheit eines Benutzers ausgegeben wird. Die HTML wird durch den Browser auf der Datenverarbeitungseinheit des Benutzers aufgelöst, um eine grafische Benutzeroberfläche (GUI, graphical user interface) zu erstellen.
  • Einzelheiten eines beispielhaften Systems und Produkts
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) enthalten, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert sind, um einen Prozessor zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine materielle Einheit handeln, auf der Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen aufbewahrt und gespeichert sein können. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel, ohne auf diese beschränkt zu sein, um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine beliebige geeignete Kombination des Vorstehenden handeln. Eine nicht erschöpfende Liste genauerer Beispiele des durch einen Computer lesbaren Speichermediums umfasst Folgendes: eine transportable Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flash-Speicher), einen statischen Direktzugriffsspeicher (SRAM), einen transportablen Nur-Lese-Speicher in Form einer Compact Disc (CD-ROM), eine Digital Versatile Disc (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder erhöhte Strukturen in einer Rille mit darauf aufgezeichneten Anweisungen oder beliebige geeignete Kombinationen des Vorstehenden. Ein durch einen Computer lesbares Speichermedium im hierin verwendeten Sinne ist nicht so auszulegen, dass es sich dabei um flüchtige Signale an sich handelt, beispielsweise um Funkwellen oder sich frei ausbreitende elektromagnetische Wellen, um elektromagnetische Wellen, die sich durch einen Hohlleiter oder andere Übertragungsmedien ausbreiten (z.B. ein Lichtwellenleiterkabel durchlaufende Lichtimpulse) oder um elektrische Signale, die über ein Kabel übertragen werden.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können über ein Netzwerk, zum Beispiel das Internet, ein lokales Netzwerk ein Weitverkehrsnetzwerk und/oder ein kabelloses Netzwerk von einem durch einen Computer lesbaren Speichermedium auf betreffende Datenverarbeitungs-/Verarbeitungseinheiten oder auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, Drahtlosübertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder eine Netzwerkschnittstelle in der Datenverarbeitungs-/Verarbeitungseinheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der jeweiligen Datenverarbeitungs-/Verarbeitungseinheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Operationen der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (ISA = Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben sind, unter anderem objektorientierte Programmiersprachen wie z.B. Smalltalk, C++ oder dergleichen sowie prozedurale Programmiersprachen wie z.B. die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Bei dem letztgenannten Szenario kann der entfernt angeordnete Computer mit dem Computer des Benutzers über eine beliebige Art von Netzwerk verbunden sein, unter anderem über ein lokales Netzwerk (Local Area Network, LAN) oder über ein Weitverkehrsnetzwerk (Wide Area Network, WAN), oder die Verbindung kann zu einem externen Computer hergestellt werden (beispielsweise über das Internet unter Nutzung eines Internetdienstanbieters (Internet Service Provider)). Bei einigen Ausführungsformen können elektronische Schaltungen, zu denen beispielsweise programmierbare Logikschaltungen, vor Ort programmierbare Gatteranordnungen (Field-Programmable Gate Arrays, FPGA) oder programmierbare Logik-Arrays (PLA) gehören, die durch einen Computer lesbaren Programmanweisungen ausführen, indem Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen genutzt werden, um die elektronische Schaltung zu personalisieren, sodass Aspekte der vorliegenden Erfindung durchgeführt werden.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Flussdiagrammdarstellungen und/oder Blockschemata von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird klar sein, dass jeder Block der Flussdiagramme und/oder der Blockschemata und Kombinationen von Blöcken in den Flussdiagrammen und/oder Blockschemata mit Hilfe von durch einen Computer lesbaren Programmanweisungen realisiert werden kann bzw. können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder anderer programmierbaren Datenverarbeitungsvorrichtungen bereitgestellt werden, um eine Maschine zu erzeugen, sodass die Anweisungen, die über den Prozessor des Computers oder anderer programmierbarer Datenverarbeitungsvorrichtungen ausgeführt werden, Mittel schaffen, um die in einem Block bzw. in den Blöcken des Flussdiagramms bzw. der Flussdiagramme und/oder des Blockschemas bzw. der Blockschemata angegebenen Funktionen/Aktionen zu realisieren. Diese durch einen Computer lesbaren Programmanweisungen können ebenfalls in einem durch einen Computer lesbaren Medium gespeichert sein, das einen Computer, andere programmierbare Datenverarbeitungsvorrichtungen oder andere Einheiten anweisen kann, in einer bestimmten Weise zu funktionieren, sodass das durch einen Computer lesbare Medium mit darauf gespeicherten Anweisungen ein Erzeugnis aufweist, das Anweisungen enthält, die die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebene Funktion/Aktion realisieren.
  • Die durch einen Computer lesbaren Programmanweisungen können auch in einen Computer, in andere programmierbare Datenverarbeitungsvorrichtungen oder in andere Einheiten geladen werden, um zu bewirken, dass auf dem Computer, auf anderen programmierbaren Vorrichtungen oder anderen Einheiten eine Reihe von Operationen ausgeführt wird, um einen mittels Computer realisierten Prozess zu schaffen, sodass die Anweisungen, die auf dem Computer, auf anderen programmierbaren Vorrichtungen oder Einheiten ausgeführt werden, die in einem Block bzw. in den Blöcken der Flussdiagramme und/oder der Blockschemata angegebenen Funktionen/Aktionen realisieren.
  • Die Flussdiagramme und Blockschemata in den Figuren veranschaulichen die Architektur, Funktionalität und Wirkungsweise möglicher Realisierungsformen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Flussdiagrammen bzw. in den Blockschemata ein Modul, ein Segment oder einen Abschnitt von Anweisungen darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zum Realisieren der angegebenen Logikfunktion bzw. Logikfunktionen aufweist. Bei einigen alternativen Realisierungsformen können die in dem Block angegebenen Funktionen in einer anderen als in der Reihenfolge ausgeführt werden, die in den Figuren angegeben ist. Zum Beispiel können zwei hintereinander aufgeführte Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können je nach der mit den Blöcken verbundenen Funktionalität manchmal in umgekehrter Reihenfolge ausgeführt werden. Darüber hinaus ist anzumerken, dass jeder Block der Blockschemata und/oder Flussdiagrammdarstellungen sowie Kombinationen von Blöcken in den Blockschemata und/oder Flussdiagrammdarstellungen mit Hilfe zweckgebundener hardwaregestützter Systeme zum Ausführen der angegebenen Funktionen bzw. Aktionen oder mit Hilfe von Kombinationen aus zweckgebundener Hardware und zweckgebundenen Computeranweisungen realisiert werden kann bzw. können.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung sollen der Veranschaulichung dienen, sind jedoch nicht als vollständig oder auf die Erfindung in der offenbarten Form beschränkt gedacht. Für Fachleute sind viele Modifikationen und Variationen denkbar, ohne dass diese eine Abweichung vom Schutzumfang der beschriebenen Ausführungsformen darstellen würden. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung bzw. die technische Verbesserung gegenüber den auf dem Markt vorgefundenen Technologien zu erläutern bzw. anderen mit entsprechenden Fachkenntnissen das Verständnis der hierin offenbarten Ausführungsformen zu ermöglichen.

Claims (20)

  1. Verfahren, das aufweist: Erhalten von Zugriff auf eine dreidimensionale Punktwolkendarstellung, unter anderem Stellungen einer abtastenden Digitalkamera und entsprechende Videoeinzelbilder; Verringern der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung, um einen Satz von Kandidaten für interessierende Bereiche zu erhalten; Filtern der Kandidaten für interessierende Bereiche, um als ausgewählte interessierende Bereiche mindestens teilweise auf der Grundlage der Stellungen der Kamera diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen enthalten, die unterschiedliche optische Zustände unterscheiden; Erzeugen von Bildern interessierender Bereiche für die ausgewählten interessierenden Bereiche aus den entsprechenden der Videoeinzelbilder; und Trainieren eines Deep-Learning-Erkennungsmodells auf der Grundlage der Bilder interessierender Bereiche.
  2. Verfahren nach Anspruch 1, das ferner ein Ermitteln eines optischen Zustands des Objekts mit der mit dem Prozessor verbundenen Digitalkamera unter Verwendung des trainierten Deep-Learning-Erkennungsmodells aufweist.
  3. Verfahren nach Anspruch 2, das ferner auf der Grundlage des ermittelten Zustands ein Bereitstellen von Erweiterte-Realität-Anweisungen für einen Benutzer aufweist, die das Objekt betreffen.
  4. Verfahren nach Anspruch 3, das ferner ein erneutes Lokalisieren der Digitalkamera in Bezug auf das Objekt vor dem Ermitteln des Zustands des Objekts aufweist.
  5. Verfahren nach Anspruch 4, wobei das Verringern der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung zum Erhalten des Satzes von Kandidaten für interessierenden Bereiche ein Entfernen von Ausreißern umfasst.
  6. Verfahren nach Anspruch 5, wobei das Filtern der Kandidaten für interessierende Bereiche zum Auswählen derjenigen der Kandidaten für interessierende Bereiche, die Erscheinungsbildänderungen enthalten, ein Bild-Zuschneiden und -Zoomen aufweist.
  7. Verfahren nach einem der Ansprüche 4 bis 6, wobei das Ermitteln des Zustands des Objekts aufweist: Erfassen von Bildern für diejenigen der interessierenden Bereiche, die belegte interessierende Voxel enthalten; Bereitstellen eines entsprechenden gezoomten lokalen Bildes und einer entsprechenden Betrachtungsstellung für jeden der interessierenden Bereiche, die die belegten Voxel enthalten, für das Erkennungsmodell.
  8. Verfahren nach Anspruch 7, wobei: das Modell ein Modell mit faltendem neuronalen Mehrfachdatenstrom-Netz und langem Kurzzeitgedächtnis aufweist; und das Ermitteln des Zustands des Objekts aufweist: Trennen der interessierenden Bereiche in eine Mehrzahl von Zweigen; Extrahieren von Merkmalen aus den entsprechenden gezoomten lokalen Bildern unter Verwendung eines faltenden neuronalen Netzes des Modells mit faltendem neuronalen Mehrfachdatenstrom Netz und langem Kurzzeitgedächtnis; Zusammenfassen räumlicher Informationen durch Verketten der extrahierten Merkmale; Zusammenfassen zeitlicher Informationen durch Pooling der räumlichen Informationen für eine Mehrzahl von Zeitschritten und ein Bereitstellen der gepoolten Informationen für eine Langes-Kurzzeitgedächtnis-Schicht, um eine vollständig verbundene Schicht zur Klassifizierung zu erhalten, um den Zustand des Objekts zu ermitteln.
  9. Verfahren nach einem der Ansprüche 7 oder 8, das ferner ein Unterlassen des Erfassens von Bildern für diejenigen der interessierenden Bereiche aufweist, die keine belegten interessierenden Voxel enthalten, um die Empfindlichkeit gegenüber mindestens einem aus Verdeckung und Kamerainstabilität zu verringern.
  10. Verfahren nach einem der Ansprüche 3 bis 9, wobei das Objekt eine zu reparierende Informationstechnologie-Ressource aufweist, die Digitalkamera und der Prozessor Teil einer mobilen Einheit sind und das Bereitstellen der Erweiterte-Realität-Anweisungen ein Veranschaulichen eines Reparaturablaufs für die Informationstechnologie-Ressource aufweist.
  11. Vorrichtung, die aufweist: einen Speicher; und mindestens einen Prozessor, der mit dem Speicher verbunden und funktionsmäßig in der Lage zum: Erhalten von Zugriff auf eine dreidimensionale Punktwolkendarstellung, unter anderem Stellungen einer abtastenden Digitalkamera und entsprechende Videoeinzelbilder; Verringern der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung, um einen Satz von Kandidaten für interessierende Bereiche zu erhalten; Filtern der Kandidaten für interessierende Bereiche, um als ausgewählte interessierende Bereiche mindestens teilweise auf der Grundlage der Stellungen der Kamera diejenigen der Kandidaten für interessierende Bereiche auszuwählen, die Erscheinungsbildänderungen enthalten, die unterschiedliche optische Zustände unterscheiden; Erzeugen von Bildern interessierender Bereiche für die ausgewählten interessierenden Bereiche aus den entsprechenden der Video-Einzelbilder; und Trainieren eines Deep-Learning-Erkennungsmodells auf der Grundlage der Bilder interessierender Bereiche.
  12. Vorrichtung nach Anspruch 11, wobei der mindestens eine Prozessor ferner funktionsmäßig in der Lage ist, unter Verwendung des trainierten Deep-Learning-Erkennungsmodells mit der Digitalkamera einen optischen Zustand des Objekts zu ermitteln, wobei die Digitalkamera mit dem Prozessor verbunden ist.
  13. Vorrichtung nach Anspruch 12, wobei der mindestens eine Prozessor ferner funktionsmäßig in der Lage ist, auf der Grundlage des ermittelten Zustands einem Benutzer Erweiterte-Realität-Anweisungen bereitzustellen, die das Objekt betreffen.
  14. Vorrichtung nach Anspruch 13, wobei der mindestens eine Prozessor ferner funktionsmäßig in der Lage ist, vor dem Ermitteln des Zustands des Objekts die Digitalkamera in Bezug auf das Objekt erneut zu lokalisieren.
  15. Vorrichtung nach Anspruch 14, wobei: das Verringern der Anzahl der Bildpunkte der dreidimensionalen Punktwolkendarstellung zum Erhalten des Satzes von Kandidaten für interessierenden Bereiche ein Entfernen von Ausreißern umfasst; das Filtern der Kandidaten für interessierende Bereiche zum Auswählen derjenigen der Kandidaten für interessierende Bereiche, die Erscheinungsbildänderungen enthalten, ein Bild-Zuschneiden und -Zoomen aufweist; und das Ermitteln des Zustands des Objekts aufweist: Erfassen von Bildern für diejenigen der interessierenden Bereiche, die belegte interessierende Voxel enthalten; Bereitstellen eines entsprechenden gezoomten lokalen Bildes und einer entsprechenden Betrachtungsstellung für jeden der interessierenden Bereiche, die die belegten Voxel enthalten, für das Erkennungsmodell.
  16. Vorrichtung nach einem der Ansprüche 14 bis 15, wobei das Ermitteln des Zustands des Objekts aufweist: Erfassen von Bildern für diejenigen der interessierenden Bereiche, die belegte interessierende Voxel enthalten; Bereitstellen eines entsprechenden gezoomten lokalen Bildes und einer entsprechenden Betrachtungsstellung für jeden der interessierenden Bereiche, die die belegten Voxel enthalten, für das Erkennungsmodell.
  17. Vorrichtung nach Anspruch 16, wobei: das Modell ein Modell mit faltendem neuronalen Mehrfachdatenstrom-Netz und langem Kurzzeitgedächtnis aufweist; und das Ermitteln des Zustands des Objekts aufweist: Trennen der interessierenden Bereiche in eine Mehrzahl von Zweigen; Extrahieren von Merkmalen aus den entsprechenden gezoomten lokalen Bildern unter Verwendung eines faltenden neuronalen Netzes des Modells mit faltendem neuronalen Mehrfachdatenstrom Netz und langem Kurzzeitgedächtnis; Zusammenfassen räumlicher Informationen durch Verketten der extrahierten Merkmale; und Zusammenfassen zeitlicher Informationen durch Pooling der räumlichen Informationen für eine Mehrzahl von Zeitschritten und ein Bereitstellen der gepoolten Informationen für eine Langes-Kurzzeitgedächtnis-Schicht, um eine vollständig verbundene Schicht zur Klassifizierung zu erhalten, um den Zustand des Objekts zu ermitteln; und der mindestens eine Prozessor ferner funktionsmäßig in der Lage ist, das Erfassen von Bildern für diejenigen der interessierenden Bereiche zu unterlassen, die keine belegten interessierenden Voxel enthalten, um die Empfindlichkeit gegenüber mindestens einem aus Verdeckung und Kamerainstabilität zu verringern.
  18. Vorrichtung nach den Ansprüchen 13 bis 17, wobei das Objekt eine zu reparierende Informationstechnologie-Ressource aufweist, die Digitalkamera und der Prozessor Teil einer mobilen Einheit sind und das Bereitstellen der Erweiterte-Realität-Anweisungen ein Veranschaulichen eines Reparaturablaufs für die Informationstechnologie-Ressource aufweist.
  19. Computerprogrammprodukt zum Verwalten von erweiterter Realität, wobei das Computerprogrammprodukt aufweist: ein durch einen Computer lesbares Speichermedium, das durch eine Verarbeitungsschaltung lesbar ist und auf dem Speicheranweisungen zur Ausführung durch die Verarbeitungsschaltung gespeichert sind, um ein Verfahren nach einem der Ansprüche 1 bis 10 durchzuführen.
  20. Computerprogramm, das auf einem durch einen Computer lesbaren Medium gespeichert ist, das in den internen Speicher eines Digitalcomputers ladbar ist und Softwarecodeabschnitte zum Durchführen des Verfahrens nach einem der Ansprüche 1 bis 10 aufweist, wenn das Programm auf einem Computer ausgeführt wird.
DE112020005360.1T 2020-01-02 2020-12-23 Fein differenzierte optische erkennung in erweiterter realität Pending DE112020005360T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/732,424 2020-01-02
US16/732,424 US11023730B1 (en) 2020-01-02 2020-01-02 Fine-grained visual recognition in mobile augmented reality
PCT/IB2020/062376 WO2021137111A1 (en) 2020-01-02 2020-12-23 Fine-grained visual recognition in mobile augmented reality

Publications (1)

Publication Number Publication Date
DE112020005360T5 true DE112020005360T5 (de) 2022-09-15

Family

ID=76094613

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112020005360.1T Pending DE112020005360T5 (de) 2020-01-02 2020-12-23 Fein differenzierte optische erkennung in erweiterter realität

Country Status (8)

Country Link
US (1) US11023730B1 (de)
JP (1) JP2023508590A (de)
KR (1) KR20220092589A (de)
CN (1) CN114902294B (de)
AU (1) AU2020418608B2 (de)
DE (1) DE112020005360T5 (de)
GB (1) GB2607749A (de)
WO (1) WO2021137111A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308345B2 (en) * 2019-05-31 2022-04-19 Apple Inc. Saliency of an object for image processing operations
US11341650B2 (en) 2020-03-19 2022-05-24 At&T Intellectual Property I, L.P. Method for accelerating three-dimensional object segmentation with point cloud simplifications
JP7440332B2 (ja) * 2020-04-21 2024-02-28 株式会社日立製作所 事象解析システムおよび事象解析方法
CN113587975A (zh) * 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 用于管理应用环境的方法、设备和计算机程序产品
EP3968274A1 (de) * 2020-09-14 2022-03-16 Tata Consultancy Services Limited Verfahren und system zur anlageninspektion mittels unbemannter luftfahrzeuge
US11756317B2 (en) * 2020-09-24 2023-09-12 Argo AI, LLC Methods and systems for labeling lidar point cloud data
US11792438B2 (en) * 2020-10-02 2023-10-17 Lemon Inc. Using neural network filtering in video coding
US11593597B2 (en) * 2020-11-16 2023-02-28 GM Global Technology Operations LLC Object detection in vehicles using cross-modality sensors
US11640700B2 (en) * 2021-02-26 2023-05-02 Huawei Technologies Co., Ltd. Methods and systems for rendering virtual objects in user-defined spatial boundary in extended reality environment
WO2022212852A1 (en) * 2021-04-02 2022-10-06 Liveperson, Inc. Domain adaptation of ai nlp encoders with knowledge distillation
US11688112B2 (en) * 2021-05-07 2023-06-27 Nxp B.V. Method for generating detailed visualization of machine learning model behavior
US11868444B2 (en) 2021-07-20 2024-01-09 International Business Machines Corporation Creating synthetic visual inspection data sets using augmented reality
CN115439688B (zh) * 2022-09-01 2023-06-16 哈尔滨工业大学 一种基于周围区域感知与关联的弱监督物体检测方法
CN115546879B (zh) * 2022-11-29 2023-02-17 城云科技(中国)有限公司 用于表情识别的细粒度识别模型及方法
CN115953418B (zh) * 2023-02-01 2023-11-07 公安部第一研究所 安检ct三维图像中笔记本区域剥离方法、存储介质及设备
KR102585261B1 (ko) * 2023-04-26 2023-10-06 주식회사 케이유전자 3차원 보정객체의 단일 영상을 활용하여 적응형 영상 증강 방법 기반의 최적화된 다중 카메라 보정 시스템
CN116468870B (zh) * 2023-06-20 2024-01-23 佛山科学技术学院 一种城市道路三维可视化建模方法及系统
CN116608866B (zh) * 2023-07-20 2023-09-26 华南理工大学 基于多尺度细粒度特征融合的图片导航方法、装置及介质

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711293B1 (en) 1999-03-08 2004-03-23 The University Of British Columbia Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image
DE602007003849D1 (de) 2007-10-11 2010-01-28 Mvtec Software Gmbh System und Verfahren zur 3D-Objekterkennung
JP4956375B2 (ja) * 2007-10-30 2012-06-20 キヤノン株式会社 画像処理装置、画像処理方法
KR100920931B1 (ko) 2007-11-16 2009-10-12 전자부품연구원 Tof 카메라를 이용한 로봇의 물체 자세 인식 방법
DE102009049849B4 (de) 2009-10-19 2020-09-24 Apple Inc. Verfahren zur Bestimmung der Pose einer Kamera, Verfahren zur Erkennung eines Objekts einer realen Umgebung und Verfahren zur Erstellung eines Datenmodells
JP5624394B2 (ja) * 2010-07-16 2014-11-12 キヤノン株式会社 位置姿勢計測装置、その計測処理方法及びプログラム
JP6004809B2 (ja) * 2012-03-13 2016-10-12 キヤノン株式会社 位置姿勢推定装置、情報処理装置、情報処理方法
CN102737236B (zh) * 2012-07-06 2015-06-24 北京大学 一种基于多模态传感器数据自动获取车辆训练样本方法
JP5788461B2 (ja) * 2013-11-05 2015-09-30 ファナック株式会社 バラ積みされた物品をロボットで取出す装置及び方法
US9846996B1 (en) 2014-02-03 2017-12-19 Wells Fargo Bank, N.A. Systems and methods for automated teller machine repair
US9547935B2 (en) * 2014-02-24 2017-01-17 Vricon Systems Ab Method and a system for building a three-dimensional model from satellite images
US20150325047A1 (en) 2014-05-06 2015-11-12 Honeywell International Inc. Apparatus and method for providing augmented reality for maintenance applications
JP2015228050A (ja) * 2014-05-30 2015-12-17 ソニー株式会社 情報処理装置および情報処理方法
US11181637B2 (en) * 2014-09-02 2021-11-23 FLIR Belgium BVBA Three dimensional target selection systems and methods
US9554030B2 (en) * 2014-09-29 2017-01-24 Yahoo! Inc. Mobile device image acquisition using objects of interest recognition
US9460517B2 (en) * 2014-10-22 2016-10-04 Pointivo, Inc Photogrammetric methods and devices related thereto
JP6405891B2 (ja) * 2014-10-29 2018-10-17 富士通株式会社 位置・姿勢推定装置、位置・姿勢推定方法、及び、プログラム
KR102290392B1 (ko) * 2014-12-02 2021-08-17 삼성전자주식회사 얼굴 등록 방법 및 장치, 얼굴 인식 방법 및 장치
WO2016103621A1 (ja) * 2014-12-24 2016-06-30 パナソニックIpマネジメント株式会社 3次元情報復元装置、3次元情報復元システム、及び3次元情報復元方法
US9953110B2 (en) 2015-02-06 2018-04-24 Clearedge3D, Inc. Apparatus and method for interactively extracting shapes from a point cloud
US10109074B2 (en) * 2015-03-24 2018-10-23 Sharper Shape Oy Method and system for inertial measurement having image processing unit for determining at least one parameter associated with at least one feature in consecutive images
US9875427B2 (en) 2015-07-28 2018-01-23 GM Global Technology Operations LLC Method for object localization and pose estimation for an object of interest
US9830706B2 (en) * 2015-09-17 2017-11-28 Skycatch, Inc. Generating georeference information for aerial images
EP3391339A2 (de) * 2015-12-18 2018-10-24 Iris Automation, Inc. System für visuelles echtzeitsituationsbewusstsein
JP2017134467A (ja) * 2016-01-25 2017-08-03 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
AU2017221222B2 (en) 2016-02-15 2022-04-21 Pictometry International Corp. Automated system and methodology for feature extraction
CN107301651A (zh) * 2016-04-13 2017-10-27 索尼公司 对象跟踪装置和方法
JP6701930B2 (ja) * 2016-04-28 2020-05-27 富士通株式会社 オーサリング装置、オーサリング方法およびオーサリングプログラム
US10580205B2 (en) * 2016-05-27 2020-03-03 Rakuten, Inc. 3D model generating system, 3D model generating method, and program
JP6615723B2 (ja) * 2016-09-07 2019-12-04 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および対象物認識方法
WO2018078986A1 (ja) * 2016-10-24 2018-05-03 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
CN109891351B (zh) * 2016-11-15 2022-05-06 深圳市大疆创新科技有限公司 基于图像的对象检测和对应的移动调整操纵的方法和系统
US10747300B2 (en) 2017-08-17 2020-08-18 International Business Machines Corporation Dynamic content generation for augmented reality assisted technology support
WO2019039282A1 (ja) * 2017-08-22 2019-02-28 ソニー株式会社 画像処理装置および画像処理方法
JP2019062340A (ja) * 2017-09-26 2019-04-18 キヤノン株式会社 像振れ補正装置および制御方法
CN107679250B (zh) * 2017-11-01 2020-12-01 浙江工业大学 一种基于深度自编码卷积神经网络的多任务分层图像检索方法
US11127202B2 (en) * 2017-12-18 2021-09-21 Parthiv Krishna Search and rescue unmanned aerial system
US10592726B2 (en) 2018-02-08 2020-03-17 Ford Motor Company Manufacturing part identification using computer vision and machine learning
CN111819601A (zh) * 2018-02-26 2020-10-23 英特尔公司 为图像处理进行点云配准的方法和系统
WO2019194561A1 (ko) * 2018-04-03 2019-10-10 한국과학기술원 이동형 단말기에서의 증강 현실을 제공하기 위한 위치 인식 방법 및 시스템
JP6973258B2 (ja) * 2018-04-13 2021-11-24 オムロン株式会社 画像解析装置、方法およびプログラム
CN110264509B (zh) * 2018-04-27 2022-10-14 腾讯科技(深圳)有限公司 确定图像捕捉设备的位姿的方法、装置及其存储介质
US11198340B2 (en) 2018-05-01 2021-12-14 Continental Automotive Systems, Inc. Coupler and tow-bar detection for automated trailer hitching via cloud points
JP6988704B2 (ja) * 2018-06-06 2022-01-05 トヨタ自動車株式会社 センサ制御装置、物体探索システム、物体探索方法及びプログラム
CN111640176A (zh) * 2018-06-21 2020-09-08 华为技术有限公司 一种物体建模运动方法、装置与设备
US11003939B2 (en) * 2018-07-06 2021-05-11 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and storage medium
US10885721B2 (en) * 2018-09-28 2021-01-05 Jido Inc. Method for detecting objects and localizing a mobile computing device within an augmented reality experience
US11398040B2 (en) * 2018-10-08 2022-07-26 Ulc Technologies, Llc System and method for data acquisition
CN115086606A (zh) * 2018-12-05 2022-09-20 深圳阿科伯特机器人有限公司 移动目标的监控方法、装置、系统、存储介质及机器人
KR20200075623A (ko) * 2018-12-18 2020-06-26 (주)제노레이 2차원 의료 영상 및 3차원 의료 영상의 정합을 이용한 치과 치료 계획 장치 및 방법
CN109949375B (zh) 2019-02-02 2021-05-14 浙江工业大学 一种基于深度图感兴趣区域的移动机器人目标跟踪方法
US10915779B2 (en) * 2019-04-26 2021-02-09 Unikie Oy Method for extracting uniform features from point cloud and system therefor
CN110321943B (zh) * 2019-06-25 2021-08-31 中国科学院自动化研究所 基于半监督深度学习的ct图像分类方法、系统、装置
CN110378945B (zh) * 2019-07-11 2021-06-18 Oppo广东移动通信有限公司 深度图处理方法、装置和电子设备
CN110490917A (zh) * 2019-08-12 2019-11-22 北京影谱科技股份有限公司 三维重建方法及装置

Also Published As

Publication number Publication date
US11023730B1 (en) 2021-06-01
GB202211236D0 (en) 2022-09-14
CN114902294A (zh) 2022-08-12
WO2021137111A1 (en) 2021-07-08
KR20220092589A (ko) 2022-07-01
GB2607749A (en) 2022-12-14
JP2023508590A (ja) 2023-03-02
CN114902294B (zh) 2023-10-20
AU2020418608B2 (en) 2023-03-02
AU2020418608A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
DE112020005360T5 (de) Fein differenzierte optische erkennung in erweiterter realität
Mathias et al. ATLAS: A three-layered approach to facade parsing
DE102016222267A1 (de) Verfahren und System zum Erfassen eines sich bewegenden Objekts mit einer einzelnen Kamera
DE112007001789B4 (de) Verfahren zum Bewerten eines Bildes im Hinblick auf eine dominante Linie
DE102019007196A1 (de) Identifizieren von Zielobjekten unter Nutzung der skalierungsdiversen Segmentierung dienender neuronaler Netzwerke
DE112021003744T5 (de) Strichcodescannen basierend auf gestenerkennung und -analyse
DE112012001984T5 (de) Integrieren von Video-Metadaten in 3D-Modelle
CN110827236B (zh) 基于神经网络的脑组织分层方法、装置、计算机设备
DE112021002867T5 (de) Defektdetektion für eine leiterplattenbaugruppe
DE112021004329T5 (de) Durch einen computer automatisierte erkennung von interaktiven aktivitäten auf der grundlage der feststellung von schlüsselpunkten
Pujol et al. A soft computing approach to violence detection in social media for smart cities
DE202014010922U1 (de) Erzeugung von Tiefenkarten
DE112020005732T5 (de) Erzeugen von trainingsdaten zur objekterkennung
DE102022202017A1 (de) Konzeptbasiertes kontradiktorisches Erzeugungsverfahren mit steuerbarer und diverser Semantik
CN105075264A (zh) 用精确的运动信息增强运动图片
DE102022202014A1 (de) Funktionstest für bewegliche Objekte in sicherheitskritischen Anwendungen mit räumlichem Darstellungslernen und kontradiktorischer Erzeugung
DE112020004920T5 (de) Verfolgen von datenstromobjekten mit verzögerter objekterkennung
DE102022201780A1 (de) Visuelles Analysesystem zum Bewerten, Verstehen und Verbessern tiefer neuronaler Netze
DE112021004380T5 (de) Maschinelles merkmalslernen zur produktformulierung
DE112020005693T5 (de) Verfahren zum suchen nach bildern unter verwendung von rotationsgesteneingaben
DE112019001822B4 (de) Änderung und Darstellung von Audio- und Video-Multimedia
DE112020003213T5 (de) Bakterienklassifizierung
DE102022124537A1 (de) Verfahren zur erstellung eines optimierten/adaptiven bereichs von interesse (roi) basierend auf einer erkennung einer strichcodeposition im sichtfeld (fov)
DE112022001468T5 (de) Selektives unkenntlichmachen von bildern
Ni Application of motion tracking technology in movies, television production and photography using big data

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R084 Declaration of willingness to licence