DE102022201468A1 - Messung basierend auf punktauswahl - Google Patents

Messung basierend auf punktauswahl Download PDF

Info

Publication number
DE102022201468A1
DE102022201468A1 DE102022201468.5A DE102022201468A DE102022201468A1 DE 102022201468 A1 DE102022201468 A1 DE 102022201468A1 DE 102022201468 A DE102022201468 A DE 102022201468A DE 102022201468 A1 DE102022201468 A1 DE 102022201468A1
Authority
DE
Germany
Prior art keywords
measurement
finger
environment
implementations
point
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
DE102022201468.5A
Other languages
English (en)
Inventor
Jean-Charles Bernard Marcel Bazin
Anselm Grundhoefer
Ivan Kolesov
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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of DE102022201468A1 publication Critical patent/DE102022201468A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/026Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring distance between sensor and object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/02Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness
    • G01B11/03Measuring arrangements characterised by the use of optical techniques for measuring length, width or thickness by measuring coordinates of points
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/28Measuring arrangements characterised by the use of optical techniques for measuring areas
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1686Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being an integrated camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)

Abstract

Verschiedene hierin offenbarte Implementierungen schließen Vorrichtungen, Systeme und Verfahren ein, die Messtechniken für elektronische Vorrichtungen bereitstellen, wie optische kopfgetragene Durchsicht-Vorrichtungen. In einigen Implementierungen wird eine Sichtlinientechnik verwendet, um eine 3D-Position eines Messpunkts zu identifizieren, um die Messung eines Objekts in einer 3D-Umgebung zu ermöglichen. In einigen Implementierungen werden unterschiedliche Messpunktidentifikationstechniken automatisch ausgewählt und verwendet, um eine 3D-Position eines Messpunkts zu identifizieren, um die Messung eines Objekts in einer 3D-Umgebung zu ermöglichen. In einigen Implementierungen wird eine 3D-Position eines Messpunkts identifiziert, um eine Messung eines Objekts in einer 3D-Umgebung zu ermöglichen, wobei der Messpunkt durch Auswählen von mehreren Kandidaten identifiziert wird, die unter Verwendung unterschiedlicher Messpunktauswahltechniken bestimmt werden.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich allgemein auf elektronische Vorrichtungen, die Messungen in 3D-Umgebungen bereitstellen und insbesondere auf Systeme, Verfahren und Vorrichtungen, die Messungen basierend auf Bildsensordaten und Benutzereingabe bereitstellen, die Messparameter identifizieren.
  • HINTERGRUND
  • Vorhandene elektronische Vorrichtungen ermöglichen es Benutzern, eine Größe des Objekts (z. B. einen Abstand zwischen Punkten) durch Abgreifpunkte auf einer Touchscreen-Anzeige zu messen, die eine physische Umgebung zeigen. Verbesserte Messtechniken können vorteilhaft sein, insbesondere für elektronische Vorrichtungen mit alternativen oder zusätzlichen Eingabemechanismen, die verwendet werden können, um Messparameter zu identifizieren.
  • KURZDARSTELLUNG
  • Verschiedene hierin offenbarte Implementierungen schließen Vorrichtungen, Systeme und Verfahren ein, die Messungen einer dreidimensionalen Umgebung (3D-Umgebung) basierend auf der Identifizierung von 3D-Positionen eines oder mehrerer Messpunkte bereitstellen. Dies kann zum Beispiel das Identifizieren von Anfangs- und Endpunkten einer Messung unter Verwendung einer Sichtlinientechnik (LOS-Technik) beinhalten (z. B. basierend auf einer Linie zwischen einem Blickwinkel des Benutzers und einem Finger, den der Benutzer positioniert, um die Orte der Punkte anzugeben). In einigen Implementierungen wird ein Strahl/eine Linie aus der 3D-Position eines Blickwinkels (z. B. dem Messauge oder dem Bildsensor) durch eine 3D-Position der Fingerspitze des Benutzers erweitert, und ein 3D-Messpunkt wird basierend darauf identifiziert, wo die Linie eine 3D-Umgebung schneidet (z. B. die physische Umgebung).
  • Verschiedene hierin offenbarte Implementierungen schließen Vorrichtungen, Systeme und Verfahren ein, die Messungen einer dreidimensionalen Umgebung (3D-Umgebung) basierend auf der Auswahl einer Punktidentifikationstechnik bereitstellen, um eine 3D-Position eines Messpunkts zu identifizieren. In einigen Implementierungen beinhaltet dies das Auswählen und/oder Umschalten zwischen einer Fingerberührungsmesstechnik und einer Fingersichtlinienmesstechnik. In einigen Implementierungen wird die Punktidentifikationstechnik basierend auf einer Beurteilung der physischen Nähe ausgewählt oder umgeschaltet.
  • Verschiedene hierin offenbarte Implementierungen schließen Vorrichtungen, Systeme und Verfahren ein, die Messungen einer dreidimensionalen Umgebung (3D-Umgebung) basierend auf der Identifizierung einer 3D-Position eines Messpunkts bereitstellen, wobei ein Messpunkt durch Auswählen von mehreren Zielen (z. B. Kandidatenmesspunkten) identifiziert wird, die unter Verwendung unterschiedlicher Punktauswahltechniken (z. B. Messtechniken) bestimmt werden. In einigen Implementierungen basiert die Auswahl unter den mehreren Zielen auf einer Bewertung der Wahrscheinlichkeit, dass jedes unterschiedliche Ziel die 3D-Position des tatsächlichen Messpunkts ist, z. B. basierend auf einer Beurteilung, deren Ziel durch den Benutzer bestimmt ist.
  • In einigen Implementierungen schließt ein Verfahren an einer elektronischen Vorrichtung mit einem Prozessor das Bestimmen einer 3D-Position eines Fingers in einer 3D-Umgebung und das Bestimmen einer 3D-Position eines Blickwinkels ein, wobei die 3D-Umgebung basierend auf dem Blickwinkel betrachtet wird. In einigen Implementierungen wird eine Richtung in der 3D-Umgebung basierend auf der 3D-Position des Blickwinkels und der 3D-Position des Fingers bestimmt. Dann wird eine 3D-Position eines Messpunkts in der 3D-Umgebung basierend auf der Richtung bestimmt, und eine Messung wird basierend auf der 3D-Position des Messpunkts bereitgestellt.
  • In einigen Implementierungen schließt ein Verfahren an einer elektronischen Vorrichtung mit einem Prozessor das Erfassen eines Fingers in einer 3D-Umgebung und das Bestimmen eines Zustands des Fingers basierend auf einem Bild der 3D-Umgebung ein. In einigen Implementierungen wird eine Punktidentifikationstechnik ausgewählt, um eine 3D-Position eines Messpunkts basierend auf dem Zustand des Fingers zu identifizieren. Dann wird die 3D-Position des Messpunkts basierend auf der ausgewählten Punktidentifikationstechnik und dem Bild der 3D-Umgebung identifiziert, und eine Messung wird basierend auf der 3D-Position des Messpunkts bereitgestellt.
  • In einigen Implementierungen schließt ein Verfahren an einer elektronischen Vorrichtung mit einem Prozessor das Empfangen eines Bildes einer physischen Umgebung ein. In einigen Implementierungen wird eine Vielzahl von Zielen identifiziert, wobei jede der Vielzahl von Zielen basierend auf einer unterschiedlichen Punktidentifikationstechnik identifiziert wird, wobei mindestens eine der Punktidentifikationstechniken auf dem Bild der physischen Umgebung basiert. Dann wird eine 3D-Position für einen Messpunkt basierend auf dem Auswählen eines Ziels der Vielzahl von Zielen ausgewählt, wobei das Ziel basierend auf dem Bewerten von 3D-Positionen der Vielzahl von Zielen ausgewählt wird und eine Messung basierend auf der ausgewählten 3D-Position des Messpunkts bereitgestellt wird.
  • Figurenliste
  • Damit die vorliegende Offenbarung von einem Durchschnittsfachmann verstanden werden kann, wird eine detailliertere Beschreibung unter Bezugnahme auf Gesichtspunkte einiger veranschaulichender Implementierungen bereitgestellt, von denen einige in den beigefügten Zeichnungen gezeigt werden.
    • 1 veranschaulicht beispielhafte Messtechniken zur Verwendung über eine elektronische Vorrichtung in einer 3D-Umgebung gemäß einigen Implementierungen.
    • 2 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Identifizieren einer 3D-Position eines Messpunkts unter Verwendung einer Sichtlinientechnik veranschaulicht, um eine Messung eines Objekts in einer 3D-Umgebung gemäß einigen Implementierungen zu ermöglichen.
    • 3 veranschaulicht einen beispielhaften Ansatz zum Auswählen zwischen Messtechniken in einer 3D-Umgebung gemäß einigen Implementierungen.
    • 4 veranschaulicht einen weiteren beispielhaften Ansatz zum Auswählen zwischen Messtechniken in einer 3D-Umgebung gemäß einigen Implementierungen.
    • 5 veranschaulicht noch einen weiteren beispielhaften Ansatz zum Auswählen zwischen Messtechniken in einer 3D-Umgebung gemäß einigen Implementierungen.
    • 6 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Identifizieren einer 3D-Position eines Messpunkts unter Verwendung einer Sichtlinientechnik veranschaulicht, um eine Messung eines Objekts in einer 3D-Umgebung gemäß einigen Implementierungen zu ermöglichen.
    • 7 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Auswählen einer Punktidentifikationstechnik veranschaulicht, die verwendet wird, um eine 3D-Position eines Messpunkts zu identifizieren, um eine Messung eines Objekts in einer 3D-Umgebung gemäß einigen Implementierungen zu ermöglichen.
    • 8 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Identifizieren einer 3D-Position eines Messpunkts veranschaulicht, um eine Messung eines Objekts in einer 3D-Umgebung zu ermöglichen, wobei der Messpunkt durch Auswählen von mehreren Zielen identifiziert wird, die unter Verwendung unterschiedlicher Punktauswahltechniken gemäß einigen Implementierungen bestimmt werden.
    • 9 veranschaulicht eine beispielhafte Fingerberührungsmesstechnik in einer 3D-Umgebung unter Verwendung einer elektronischen Vorrichtung gemäß einigen Implementierungen.
    • 10 veranschaulicht eine beispielhafte aktive Blickmesstechnik in einer 3D-Umgebung unter Verwendung einer elektronischen Vorrichtung gemäß einigen Implementierungen.
    • 11 veranschaulicht eine beispielhafte auf Sichtlinie basierende Messtechnik in einer 3D-Umgebung unter Verwendung einer elektronischen Vorrichtung gemäß einigen Implementierungen.
    • 12 veranschaulicht eine beispielhafte Betriebsumgebung gemäß einigen Implementierungen.
    • 13 veranschaulicht eine beispielhafte elektronische Vorrichtung gemäß einigen Implementierungen.
  • Gemäß allgemeiner Praxis sind die verschiedenen in den Zeichnungen veranschaulichten Merkmale möglicherweise nicht maßstabsgetreu gezeichnet. Dementsprechend können die Abmessungen der verschiedenen Merkmale der Übersichtlichkeit halber beliebig vergrößert oder verkleinert sein. Zudem können einige der Zeichnungen nicht alle Komponenten eines gegebenen Systems, Verfahrens oder einer gegebenen Vorrichtung darstellen. Schließlich können gleiche Bezugszeichen verwendet werden, um gleiche Merkmale überall in der Patentschrift und den Figuren gleich zu bezeichnen.
  • BESCHREIBUNG
  • Zahlreiche Details werden beschrieben, um ein gründliches Verständnis der in den Zeichnungen gezeigten beispielhaften Implementierungen bereitzustellen. Die Zeichnungen zeigen jedoch lediglich einige beispielhafte Gesichtspunkte der vorliegenden Offenbarung und sind daher nicht als einschränkend zu betrachten. Der Fachmann wird erkennen, dass andere effektive Gesichtspunkte oder Varianten nicht alle der hierin beschriebenen spezifischen Details einschließen.
  • Außerdem wurden bekannte Systeme, Verfahren, Komponenten, Vorrichtungen und Schaltungen nicht ausführlich beschrieben, um relevantere Gesichtspunkte der hierin beschriebenen beispielhaften Implementierungen nicht zu verunklaren.
  • Verschiedene hierin offenbarte Implementierungen schließen Vorrichtungen, Systeme und Verfahren ein, die Messungen einer 3D-Umgebung über elektronische Vorrichtungen wie Smartphones, Tablets und andere mobile elektronische Vorrichtungen bereitstellen. Zum Beispiel können hierin offenbarte Techniken auf elektronischen Vorrichtungen implementiert werden, die Ansichten oder Videos einer physischen Umgebung bereitstellen. In einigen Implementierungen wird eine Sichtlinientechnik verwendet, um eine 3D-Position eines Messpunkts zu identifizieren, um die Messung eines Objekts in einer 3D-Umgebung zu ermöglichen. In einigen Implementierungen werden unterschiedliche Messpunktidentifikationstechniken automatisch ausgewählt und verwendet, um eine 3D-Position eines Messpunkts zu identifizieren, um die Messung eines Objekts in einer 3D-Umgebung zu ermöglichen. In einigen Implementierungen wird eine 3D-Position eines Messpunkts identifiziert, um eine Messung eines Objekts in einer 3D-Umgebung zu ermöglichen, wobei der Messpunkt durch Auswählen von mehreren Kandidaten identifiziert wird, die unter Verwendung unterschiedlicher Messpunktauswahltechniken bestimmt werden.
  • 1 veranschaulicht beispielhafte Messtechniken zur Verwendung durch eine elektronische Vorrichtung in einer 3D-Umgebung gemäß einigen Implementierungen. Wie in 1 gezeigt, schließen beispielhafte Ansätze (a) eine Fingerberührungsmesstechnik 110, (b) eine aktive blickbasierte Messtechnik 120, (c) eine steuerungsbasierte Messtechnik 130, (d) eine feste fadenkreuzbasierte Messtechnik 140 und (e) eine sichtlinienbasierte Messtechnik 150 ein. In einigen Implementierungen wird eine elektronische Vorrichtung 105 verwendet. In einigen Implementierungen werden Sensoren der elektronischen Vorrichtung 105 verwendet, um die beispielhaften Messtechniken 110-150 zu implementieren. In einigen Implementierungen ist die elektronische Vorrichtung 105 eine mobile elektronische Vorrichtung wie ein Smartphone, Tablet oder dergleichen. Während die hierin offenbarten Techniken unter Bezugnahme auf die elektronische Vorrichtung 105 beschrieben und veranschaulicht werden, können beliebige Typen von elektronischen Vorrichtungen, die Ansichten einer 3D-Umgebung bereitstellen, in alternativen hierin beschriebenen Implementierungen verwendet werden.
  • In einigen Implementierungen verwenden die Messtechniken 110-150 eine erste Angabe und eine zweite Angabe, um ein Paar Messpunkte auszuwählen. In einigen Implementierungen verwenden die Messtechniken 110-150 eine zeitliche Angabe und eine räumliche Angabe, um Messpunkte auszuwählen. Die Messtechniken 110-150 verwenden Messpunkte, um eine Messung an einen Benutzer 115 der elektronischen Vorrichtung 105 auszugeben. In einigen Implementierungen ist die Messung ein Abstand zu einem Objekt von dem Benutzer 115. In einigen Implementierungen ist die Messung der Abstand zwischen einem ersten Messpunkt und einem zweiten Messpunkt (z. B. der die beiden gegenüberliegenden Seiten eines einzelnen Objekts oder jeweilige Punkte auf zwei unterschiedlichen Objekten markiert) in einer 3D-Umgebung. In einigen Implementierungen ist die Messung der Bereich einer Oberfläche oder ein Volumen, das durch eine Vielzahl von Messpunkten definiert wird.
  • Wie in 1 gezeigt, wird eine beispielhafte sprachunterstützte Fingerberührungsmesstechnik 110 unter Verwendung der elektronischen Vorrichtung 105 durchgeführt. Zunächst bewegt sich ein Benutzer 115, um einen ersten Punkt A auf einem physischen Objekt (z. B. einer Ecke der Tastatur) zu sehen und zu berühren, und sagt „Virtueller Assistent, bitte messen Sie von hier ...“. Zweitens bewegt sich der Benutzer 115, um einen zweiten Punkt B auf dem physischen Objekt zu sehen und zu berühren, und sagt „bis hier“. Eine Messfunktion an der elektronischen Vorrichtung 105 identifiziert Messpunkte unter Verwendung von Sensoren, die Daten bereitstellen, von denen die Benutzereingabe identifiziert wird. Zum Beispiel können die verbalen Befehle die Beurteilung von Bilddaten (des Fingers des Benutzers und der physischen Umgebung) zu entsprechenden Zeitpunkten auslösen. Die Messfunktion kann verschiedene Messungen bestimmen, wie den Abstand zwischen Punkt A und Punkt B und (z. B. visuell, hörbar, usw.) den Abstand zum Benutzer 115 bereitstellen.
  • Wie in 1 gezeigt, wird eine beispielhafte sprachunterstützte aktive Blickmesstechnik 120 unter Verwendung der elektronischen Vorrichtung 105 durchgeführt. In einer Implementierung sagt zuerst der Benutzer 115 „Virtueller Assistent, verwenden Sie bitte eine aktive Blickmessung zum Messen eines Abstands von hier“ und wählt einen Messpunkt aus, indem er einen Zielpunkt betrachtet (z. B. Punkt C). Eine Blickrichtung des Benutzers 115 (z. B. ein Messauge) wird bestimmt (z. B. über Bildsensoren, die Bilder des/der Benutzerauges(n) aufnehmen). Ein Marker, Punkt C, kann angezeigt werden, der angibt, wo die Blickrichtung die 3D-Umgebung schneidet. Die Blickrichtung wird verwendet, um die 3D-Koordinaten des Messpunkts C zu bestimmen. Eine Messfunktion an der elektronischen Vorrichtung 105 bestimmt den Abstand zu den 3D-Koordinaten von Punkt C und stellt diesen Abstand dem Benutzer 115 bereit. Zum Beispiel kann der Abstand als ein virtuelles Objekt bereitgestellt werden, beispielsweise visuell (z. B. eine Zahl mit Einheiten über einer gestrichelten Linie, die sich zum Punkt C erstreckt) oder als akustische Ausgabe präsentiert werden. In einigen Implementierungen verwenden die Blickmesstechniken 120 einen stereo-aktiven Blick (z. B. beide Augen).
  • In einigen Implementierungen schließt die Messung einen Abstand, eine Oberfläche, ein Volumen usw. ein. Ferner kann die Rückmeldung an den Benutzer auf verschiedene Weise für jede beschriebene Messtechnik (z. B. 110-150) bereitgestellt werden. In einigen Messtechniken kann eine Rückmeldung während Aktionen, um die Messung erreichen, visuell oder als eine akustische Ausgabe an den Benutzer bereitgestellt werden. In einigen Messtechniken kann jeder Messpunkt unter Verwendung einer Rückmeldung bestätigt werden (z. B. jede Kombination von visueller, akustischer, haptischer oder zeitlicher Angabe).
  • Wie in 1 gezeigt, verwendet eine beispielhafte steuerungsbasierte Messtechnik 130 sowohl eine Richtungsangabe als auch eine Auswahlangabe (z. B. zeitlich). In einigen Implementierungen zeigen steuerungsbasierte Messtechniken 130 ein Ziel oder einen Marker 105a in einer voreingestellten Position (z. B. einer Mittelposition) einer Anzeige der elektronischen Vorrichtung 105 an und dann werden Messpunkte durch Bewegen des Markers 105a und Auswählen eines oder mehrerer Messpunkte (z. B. Punkt D) mit einer Steuerung 105b ausgewählt. Zum Beispiel könnte die Steuerung 105b eine Vorrichtung sein, die in der Lage ist, auf einem Finger/Daumen des Benutzers 115 gehalten oder platziert zu werden. In einigen Implementierungen stellt die Steuerung 105b eine gesteuerte Bewegung in einer Richtung, eine gesteuerte Bewegung in zwei Richtungen und einen Auswahlmechanismus bereit (z. B. auf Ja oder Nein klicken; eine oder mehrere Tasten, druckempfindlich; usw.). In einer Implementierung ist die Steuerung 105b eine Art Joystick. In einer Implementierung ist der Marker 105a ein virtuelles Objekt.
  • Wie in 1 gezeigt, verwendet eine beispielhafte feste fadenkreuzbasierte Messtechnik 140 eine zeitliche Angabe (z. B. Stimme) und eine physische Angabe (z. B. festes Fadenkreuz). In einigen Implementierungen zeigen fadenkreuzbasierte Messtechniken 140 eine visuelle Verstärkung oder Marker 105c in einer festen Position einer Anzeige der elektronischen Vorrichtung 105 an. In einigen Implementierungen ist die Blickrichtung fest. In einigen Implementierungen werden die Messpunkte dann durch den Benutzer 115 ausgewählt, der seinen Kopf bewegt, so dass der Marker 105c mit einem Messpunkt ausgerichtet wird, um auszuwählen (z. B. Sichtlinie mit einem festen Cursor auf den Auswahlpunkt E). In einigen Implementierungen kann jede visuelle, akustische, haptische oder zeitliche Angabe verwendet werden, um den Punkt E auszuwählen. In einigen Implementierungen ist die Drehbewegung des Kopfes ausreichend, um Messpunkte auszuwählen.
  • Wie in 1 gezeigt, wird eine beispielhafte sprachunterstützte sichtlinienbasierte (LOS-basierte) Messtechnik 150 unter Verwendung der elektronischen Vorrichtung 105 durchgeführt. In einer Implementierung sagt zuerst der Benutzer 115 „Virtueller Assistent, bitte messen Sie einen Abstand bis hier“ und wählt ein Objekt oder Messpunkt F aus durch Ausrichten einer Fingerspitze 115f an einen Messpunkt (z. B. Punkt F) unter Verwendung eines Messauges 115a bei Sprechen des Wortes „hier“.
  • In einigen Implementierungen verwenden die LOS-basierten Messtechniken 150 absolute Positionierungs-LOS, wobei der Finger 115f direkt einen Messpunkt in der 3D-Umgebung identifiziert (z. B. schneidet die Linie durch den Finger die 3D-Umgebung). In einigen Implementierungen verwenden die LOS-basierten Messtechniken 150 relative Positionierungs-LOS, wobei ein Cursor im Raum bereitgestellt wird und der Finger 115f verwendet wird, um die Position (z. B. Feinabstimmung) des Cursors im Raum einzustellen. Somit schneidet eine Linie, die sich von dem Messauge 115a durch den Cursor erstreckt (z. B. nach links, rechts, näher, weiter, oben oder unten durch den Finger 115f eingestellt) die 3D-Umgebung, um 3D-Koordinaten des Messpunkts F zu bestimmen. Eine Messfunktion auf der elektronischen Vorrichtung 105 bestimmt den Abstand zu den 3D-Koordinaten von Punkt F und stellt diesen Abstand dem Benutzer 115 bereit.
  • 2 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Identifizieren einer 3D-Position eines Messpunkts unter Verwendung einer Sichtlinientechnik (LOS-Technik) veranschaulicht, um die Messung eines Objekts in einer 3D-Umgebung (z. B. Identifizieren einer Entfernung zu einem Objekt oder eines Abstands zwischen zwei Punkten) durch eine elektronische Vorrichtung zu ermöglichen. In einigen Implementierungen wird eine Linie aus einer 3D-Position eines Blickwinkels (z. B. einem Messauge) durch eine 3D-Position der Fingerspitze des Benutzers der elektronischen Vorrichtung erweitert, und die 3D-Position des Messpunkts wird basierend darauf identifiziert, wo die Linie die 3D-Umgebung schneidet. In einigen Implementierungen schließt eine 3D-Umgebung eine physische Umgebung oder eine XR-Umgebung ein.
  • Bei Block 210 überwacht das Verfahren 200 kontinuierlich die Initialisierung einer Messtechnik oder einer Messanwendung. In einigen Implementierungen sagt der Benutzer der elektronischen Vorrichtung, „Virtueller Assistent, ich möchte X messen“, wobei X ein Abstand zu einem Objekt ist, einen Abstand zwischen zwei unterschiedlichen Punkten oder Objekten, ein Oberflächenbereich, ein Volumen oder dergleichen. In einigen Implementierungen startet die Erfassung des Messaudioauslösers von „Virtueller Assistent“ und „Messen“ (z. B. durch die elektronische Vorrichtung oder den virtuellen Assistenten) eine Messfähigkeit an der elektronischen Vorrichtung. Zum Beispiel kann der Benutzer sagen, „Virtueller Assistent, Ich möchte von hier bis dort messen“, so dass zwei Messpunkte benötigt werden und der Finger des Benutzers wird zwischen einer ersten Messzeit, wenn „hier“ gesagt wird, und einer zweiten Messzeit, wenn „dort“ gesagt wird, bewegt. Wie in 2 gezeigt, fährt das Verfahren 200 nach dem Erfassen des Audioauslösers (z. B. Block 210, gibt ja zurück) mit Block 220 fort. Wenn der Messaudioauslöser bei Block 210 nicht erfasst wird, überwacht das Verfahren 200 weiterhin den Audioauslöser (z. B. Block 210, gibt nein zurück). In einigen Implementierungen überwacht das Verfahren 200 nur unter vorgeschriebenen Bedingungen den Messaudioauslöser bei Block 210. In einigen Implementierungen können andere Techniken verwendet werden, um eine Messtechnik auszulösen. Zum Beispiel können voreingestellte Gesten, Eingabevorrichtungen, Eingabetechniken usw. verwendet werden, um die Messtechnik auszulösen.
  • Bei Block 220 stellt das Verfahren 200 eine Reihe von Bildern von mindestens einem Bildsensor an der elektronischen Vorrichtung bereit. In einigen Implementierungen wird der Bildsensor bis Block 220 des Verfahrens 200 nicht aktiviert. In einigen Implementierungen ist der Bildsensor eine nach außen gerichtete Kamera. Zum Beispiel ist die Reihe von Bildern ein Kamera-Stream von einer nach vorne gerichteten RGB-D-Kamera. In einem anderen Beispiel ist die Reihe von Bildern von einem Stereo-Paar von Bildsensoren.
  • Bei Block 230 erfasst das Verfahren 200 einen Finger (z. B. Fingerspitze) des Benutzers der elektronischen Vorrichtung in der Reihe von Bildern. Wie in 2 gezeigt, fährt das Verfahren 200 bei erfolgreicher Erfassung des Fingers (z. B. Block 230, gibt ja zurück) mit Block 240 fort. Bei Block 230 wird die Erfassung des Fingers unter Verwendung verschiedener Bildverarbeitungstechniken implementiert. In einer Implementierung stellt das Stereosehen von Stereo-Bildsensoren die Erfassung und die 3D-Koordinate der Fingerspitze des Fingers bereit. In einer anderen Implementierung wird die maschinelle Lernklassifizierung verwendet, um den Finger in der Reihe von Bildern zu identifizieren und zu verfolgen. Zusätzliche Bildverarbeitungstechniken zum Erfassen des Fingers schließen, sind jedoch nicht darauf beschränkt, einen Schablonenvergleich (z. B. Finger oder Fingerspitze), eine Hauterfassung, eine Handerfassung und eine Hand- oder Fingerverfolgung ein. In einigen Implementierungen wird die Reihe von Bildern (z. B. kombiniert mit Daten von anderen Sensoren) an der elektronischen Vorrichtung verwendet, um eine Pose (z. B. Position und Ausrichtung) des Fingers unter Verwendung von Tiefendaten oder sichtbasierter Lokalisierung, wie VIO, SLAM oder dergleichen, zu verfolgen.
  • Bei Block 240 erfasst das Verfahren 200 einen Zustand des Fingers (z. B. Fingerspitze) des Benutzers der elektronischen Vorrichtung in der Reihe von Bildern. Im Allgemeinen kann der Benutzer der elektronischen Vorrichtung seine Finger entweder dazu verwenden, um ein Objekt (z. B. nahe gelegene Objekte) zu berühren oder um auf ein Objekt (z. B. weit entfernte Objekte) zu zeigen. Zum Beispiel kann der Finger des Benutzers verwendet werden, um die Ecke eines Buches in Reichweite des Benutzers zu berühren. In einem anderen Beispiel kann der Finger des Benutzers dazu verwendet werden, um auf die Spitze des Washington Monuments zu zeigen. Dementsprechend kann in einigen Implementierungen der Zustand des Fingers oder der Fingerspitze entweder berührender Art oder zeigender Art sein. In einigen Implementierungen kann der zeigende Zustand des Fingers bei Block 240 bestimmt werden, indem Bildverarbeitungstechniken den erfassten Finger in der Reihe von Bildern analysieren. Zum Beispiel kann bestimmt werden, dass die Form des Fingers eine zeigende Form ist. In einigen Implementierungen kann der zeigende Zustand des Fingers unter Verwendung der Tiefenanalyse der 3D-Umgebung bestimmt werden. Zum Beispiel kann es keine Objekte innerhalb eines räumlichen Abstand-Schwellenwerts des Fingers in der 3D-Umgebung geben. In einem anderen Beispiel befinden sich alle erfassten Objekte in der 3D-Umgebung weit entfernt (z. B. mehr als 2 Fuß oder einem zeigenden Abstand-Schwellenwert). Mit anderen Worten berührt der erfasste Finger kein Objekt in der 3D-Umgebung. In einigen Implementierungen wird die Reihe von Bildern (z. B. kombiniert mit Daten von anderen Sensoren) verwendet, um eine Pose des Fingers in der 3D-Umgebung unter Verwendung von Tiefendaten oder sichtbasierter Lokalisierung zu verfolgen, um den zeigenden Zustand des Fingers zu bestimmen. In einigen Implementierungen kann der zeigende Zustand des Fingers unter Verwendung von semantischen Informationen über die 3D-Umgebung bestimmt werden. Zusätzliche Techniken können verwendet werden, um den Fingerzustand zu erfassen, siehe zum Beispiel Block 440.Wenn das Verfahren 200 bei Block 240 den Zustand des Fingers als den zeigenden Zustand bestimmt, fährt das Verfahren 200 mit Block 250 fort.
  • Bei Block 250 erhält das Verfahren 200 die 3D-Koordinaten des Fingers oder der Fingerspitze und die 3D-Koordinaten eines „messenden“ Auges des Benutzers der elektronischen Vorrichtung. In einigen Implementierungen werden die 3D-Koordinaten der Fingerspitze unter Verwendung der gleichen Techniken bestimmt, die verwendet werden, um den Fingerzustand bei Block 240 zu erfassen oder um den Finger bei Block 230 zu erfassen. In einigen Implementierungen können die 3D-Koordinaten der Fingerspitze bestimmt werden, wenn der Fingerzustand bei Block 240 erfasst wird oder wenn der Finger bei Block 230 erfasst wird. In einigen Implementierungen wird das Messauge durch einen nach innen gerichteten Bildsensor an der elektronischen Vorrichtung bestimmt. Wenn zum Beispiel ein Auge offen ist und das andere Auge geschlossen ist, bestimmt ein Bild von dem nach innen gerichteten Bildsensor das offene Auge als das Messauge. In einigen Implementierungen werden voreingestellte Informationen verwendet, um das Messauge zu bestimmen. Zum Beispiel kann das dominante Auge als das Messauge des Benutzers voreingestellt werden. Alternativ ist das Messauge in einem Registrierungsvorgang der Messfähigkeit auf der elektronischen Vorrichtung voreingestellt. In einigen Implementierungen weist das Messauge eine bekannte räumliche Beziehung zu der elektronischen Vorrichtung auf. Dann berechnet das Verfahren 200 bei Block 250 einen Sichtlinien-Strahl (LOS-Strahl) (z. B. eine 3D-Linie), die sich von den 3D-Koordinaten des Messauges durch die 3D-Koordinaten der Fingerspitze in die 3D-Umgebung erstreckt.
  • In einigen Implementierungen werden die 3D-Koordinaten des Fingers nur erhalten, wenn der Finger ortsfest oder standfest ist. In einer Implementierung kann dem Benutzer eine Rückmeldung bereitgestellt werden, wenn der Benutzer „hier“ sagt und der Finger standfest ist. Wenn beispielsweise der Benutzer „hier“ sagt und die Bewegung durch den Finger unter einem Schwellenwert liegt, kann ein Cursor am 3D-Ort der Fingerspitze als visuelle Rückmeldung an den Benutzer angezeigt werden. In einem anderen Beispiel wird der Cursor angezeigt, wenn der Finger für einen voreingestellten Zeitraum oder 3 Sekunden standfest ist. In einigen Implementierungen kann der Benutzer dann, sobald der Cursor auf den 3D-Koordinaten der Fingerspitze angezeigt wird, seine Finger verwenden, um die 3D-Positionierung des Cursors (z. B. etwas nach links/rechts oder nach oben/unten bewegen) zu verfeinern. In noch einem anderen Beispiel kann eine Fehlermeldung (z. B. bitte den Finger stillhalten) angezeigt werden, wenn der Finger nicht standfest ist. In einigen Implementierungen muss die Bewegung des Bildsensors von der Bewegung des Fingers subtrahiert werden, um zu bestimmen, ob der Finger standfest ist (z. B. unter einem Bewegungs-Schwellenwert).
  • In einigen Implementierungen ist die Fingerspitze die Spitze des abgerundeten Abschnitts des Fingers. In einigen Implementierungen wird die Fingerspitze durch Farb- oder Formanalyse der Reihe von Bildern bestimmt. In einer Implementierung werden die 3D-Koordinaten der Fingerspitze unter Verwendung von zwei Kameras und Stereo-Bildgebungstechniken (z. B. Triangulation) bestimmt, um die 3D-Position zu bestimmen. In einer anderen Implementierung werden die 3D-Koordinaten der Fingerspitze unter Verwendung eines oder mehrerer 2D-Bilder und entsprechender Tiefeninformationen (z. B. unter Verwendung eines oder mehrerer Tiefensensoren) für jedes Pixel in dem 2D-Bild bestimmt. In einigen Implementierungen werden andere Definitionen für die Fingerspitze des Fingers verwendet. Beispielsweise kann ein Mittelpunkt der letzten 2 Zentimeter des Fingers als die Fingerspitze definiert werden. Alternativ kann ein Abstand von 1 Millimeter über der axialen Spitze des Fingers als die Fingerspitze definiert werden.
  • Bei Block 250 kann die Fingerspitze im Vergleich zu der 3D-Umgebung relativ groß sein und es kann eine visuelle Rückmeldung an den 3D-Koordinaten der Fingerspitze für eine genauere 3D-Position der Fingerspitze bereitgestellt werden. Zum Beispiel kann dem Benutzer an den 3D-Koordinaten der Fingerspitze ein einstellbarer virtueller Marker (z. B. Cursor) gezeigt werden. In einigen Implementierungen werden vorhergehende Bilder oder nachfolgende Bilder verwendet, um die 3D-Koordinaten der Fingerspitze anzupassen.
  • Bei Block 260 erfasst das Verfahren 200 einen Schnittpunkt des LOS-Strahls mit der 3D-Umgebung. In einigen Implementierungen stellt der Schnittpunkt des LOS-Strahls mit der 3D-Szene eine 3D-Koordinate eines Messpunkts bereit, der beispielsweise ein erster Messpunkt sein kann, der zum Messen eines Abstands zwischen zwei Objekten verwendet wird. In einigen Implementierungen kann, da die Fingerspitze einen gewünschten Messpunkt während der Auswahl oder Positionierung des gewünschten Messpunkts (z. B. Bestimmen der 3D-Koordinaten der Fingerspitze) verdeckt, zusätzliche Analysen verwendet werden. In einigen Implementierungen wird der Messpunkt auf ein bestimmtes Merkmal eingerastet, das durch die Fingerspitze verdeckt ist (z. B. die 3D-Koordinaten eines bestimmten Merkmals, das nahe/nahezu mit den ursprünglich berechneten 3D-Koordinaten der Fingerspitze ausgerichtet ist). Zum Beispiel kann ein Messpunkt zu einer Kante oder Ecke eingerastet werden, die von der Fingerspitze und sehr nahe der 3D-Koordinaten der Fingerspitze (z. B. innerhalb eines räumlichen Abstand-Schwellenwerts) abgedeckt wird. In einer Implementierung können semantische Informationen für Objekte, die durch die Fingerspitze abgedeckt sind, verwendet werden, um die Position des Messpunkts (z. B. die auf der Kante zwischen zwei unterschiedlichen Objekten sein soll), die durch die Fingerspitze verdeckt sind, einzurasten. In einer Implementierung können Computervisionstechniken verwendet werden, um einen Messpunkt zu identifizieren/auszuwählen, der schwieriger visuell ausgerichtet werden kann. Zum Beispiel kann die Fingerspitze verwendet werden, um einen Kreis zu verfolgen, und ein Objekt innerhalb des Kreises, wie eine Kante oder Ecke, kann als der Messpunkt identifiziert werden. In einigen Implementierungen werden vorhergehende Bilder oder nachfolgende Bilder, nachdem der Messpunkt durch die Fingerspitze positioniert wurde, verwendet, um zusätzliche Informationen zu liefern, um den Messpunkt an eine Position höherer Zuverlässigkeit einzurasten oder anzupassen. In einigen Implementierungen werden Daten von zusätzlichen Sensoren verwendet, um Messpunkte aufzulösen oder zu einzurasten. Zum Beispiel könnte die Blickerfassung verwendet werden, um einen Messpunkt zwischen einem Pixel auf der Kante eines Schreibtischs oder einem benachbarten Pixel auf dem Boden aufzulösen, basierend darauf, ob sich der Blick an der näheren Tiefe des Schreibtischs oder der weiteren Tiefe des Bodens schneidet.
  • In einigen Implementierungen können die Blöcke 230, 240, 250 und 260 wiederholt werden, um zusätzliche Messpunkte nach Bedarf zu erhalten, um einen Abstand, eine Oberfläche oder ein Volumen zu messen. Alternativ können die Blöcke 250 und 260 wiederholt werden, um zusätzliche Messpunkte zu erhalten, um einen Abstand, eine Oberfläche oder ein Volumen zu messen. In einigen Implementierungen wird dem Benutzer eine Rückmeldung bereitgestellt, wenn jeder Messpunkt bestimmt wird. Wenn zum Beispiel die Messung ein Abstand zwischen zwei Objekten ist, wird der erste Messpunkt dem Benutzer visuell angezeigt, dann wird der zweite Messpunkt angezeigt, und schließlich wird eine Linie zwischen den beiden Messpunkten angezeigt. In diesem Beispiel wird, wenn die Linie zwischen den beiden Messpunkten angezeigt wird, der Abstand zwischen den beiden Messpunkten dem Benutzer bereitgestellt (z. B. visuell oder akustisch). Wenn der letzte Messpunkt in Block 260 erhalten wird, wird der Bildsensor deaktiviert.
  • Bei Block 270 bestimmt das Verfahren 200, ob alle Messpunkte erhalten wurden, um die vom Benutzer angeforderte Messung bereitzustellen. Wie in 2 gezeigt, kehrt das Verfahren 200 zu Block 230 zurück, wenn ein aktueller Messpunkt nicht der letzte Messpunkt ist.
  • Wie in 2 gezeigt, fährt das Verfahren 200, wenn das Verfahren 200 bei Block 230 oder Block 240 nicht erfolgreich ist, mit Block 280 fort, wo andere Messtechniken verwendet werden. Verschiedene andere Messtechniken werden hierin zum Beispiel mit Bezug auf 1 beschrieben.
  • 3 veranschaulicht einen beispielhaften Ansatz zum Auswählen zwischen Messtechniken an einer elektronischen Vorrichtung in einer 3D-Umgebung gemäß einigen Implementierungen. In einigen Implementierungen wird, wenn der virtuelle Assistent an einer elektronischen Vorrichtung ausgelöst wird, um eine Messung durchzuführen, eine Auswahl unter den verfügbaren Messtechniken erforderlich. Wie in 1 gezeigt, schließen beispielhafte Messtechniken die Fingerberührungsmesstechnik 110, die aktive blickbasierte Messtechnik 120, die steuerungsbasierte Messtechnik 130, die feste fadenkreuzbasierte Messtechnik 140 und die sichtlinienbasierte Messtechnik 150 ein.
  • Wie in 3 gezeigt, wird, sobald die Messfähigkeit an der elektronischen Vorrichtung initiiert wird (z. B. Block 210, gibt ja zurück), ein Messtechnik-Auswahlmenü 300 dem Benutzer einer elektronischen Vorrichtung 305 bereitgestellt. Verschiedene Benutzerschnittstellentechniken können verwendet werden, um eine der Messtechniken im Auswahlmenü 300 auszuwählen. Sobald die Messtechnik ausgewählt ist, werden die Messpunkte unter Verwendung der ausgewählten Messtechnik bestimmt, und die Messung wird dem Benutzer der elektronischen Vorrichtung 305 bereitgestellt. In einigen Implementierungen sind nur die an der elektronischen Vorrichtung 305 verfügbaren Messtechniken im Auswahlmenü 300 aufgeführt. In einigen Implementierungen sind nicht alle Messtechniken auf der elektronischen Vorrichtung 305 verfügbar, da die zum Implementieren der Messtechnik erforderliche Hardware oder Software nicht auf der elektronischen Vorrichtung 305 vorhanden ist. Wie in 3 gezeigt, ist die aktive Blickverfolgung nicht auf der elektronischen Vorrichtung 305 eingeschlossen, und die aktive blickbasierte Messtechnik 120 ist im Auswahlmenü 300 nicht aufgeführt. In einigen Implementierungen können andere Techniken verwendet werden, um Arten von Messungen (z. B. Abstand zu einem Objekt, Abstand zwischen Objekten, Oberflächenbereich, Volumen oder sogar Änderungen der Messungen im Laufe der Zeit) auszuwählen. Zum Beispiel können spezifische gesprochene Ausdrücke oder Handgesten mit Arten von Messungen korrelieren. In einigen Implementierungen werden Messpunkte durch Gesten des Benutzers ausgewählt. In einigen Implementierungen kann die Messtechnik spezifisch durch den Benutzer der elektronischen Vorrichtung 305 identifiziert werden. Zum Beispiel kann der Benutzer sagen „Hey, Virtueller Assistent, verwende die aktive Blickmessung zum Messen des Abstands von hier ... zu dort“.
  • 4 veranschaulicht einen beispielhaften Ansatz zum Auswählen zwischen Messtechniken in einer 3D-Umgebung gemäß einigen Implementierungen. In einigen Implementierungen werden unterschiedliche Messpunktidentifikationstechniken automatisch ausgewählt und verwendet, um eine 3D-Position eines Messpunkts zu identifizieren, um die Messung eines Objekts in einer 3D-Umgebung zu ermöglichen. In einigen Implementierungen kann die Punktidentifikationstechnik zwischen einer ersten Fingerberührungsmesstechnik und einer zweiten Sichtlinienmesstechnik auswählen/umschalten. In einigen Implementierungen wird die Punktidentifikationstechnik basierend auf der Bildanalyse der 3D-Umgebung, der räumlichen Analyse der 3D-Umgebung oder dem semantischen Verständnis der 3D-Umgebung ausgewählt oder umgeschaltet.
  • Bei Block 410 überwacht das Verfahren 400 die Initialisierung einer Messanwendung. In einigen Implementierungen sagt der Benutzer einer elektronischen Vorrichtung, „Virtueller Assistent, ich möchte X messen“, wobei X ein Abstand zu einem Objekt, ein Abstand zwischen zwei unterschiedlichen Punkten, ein Oberflächenbereich, ein Volumen usw. ist. In einigen Implementierungen ist die elektronische Vorrichtung eine kopfgetragene Vorrichtung (head mounted device, HMD). In einigen Implementierungen beginnt die Erfassung des Messaudioauslösers durch Erfassen sowohl von „Virtueller Assistent“ als auch „messen“ innerhalb eines voreingestellten Zeitintervalls eine Messanwendung an der elektronischen Vorrichtung. Zum Beispiel kann der Benutzer sagen, „Virtueller Assistent, ich möchte den Oberflächenbereich dieses Tisches messen“, sodass die Eingabe durch den Benutzer, wie eine voreingestellte Anzahl von Messpunkten, erforderlich ist. Alternativ verwendet in diesem Beispiel ein weiterer Ansatz semantische Informationen (z. B. Durchführen von semantischer Segmentierung in den Bildströmen, Erfassen des Tisches und Messen seiner Oberfläche), um dem Benutzer die Messung bereitzustellen. Zusätzlich könnte in diesem Beispiel, wenn mehr als ein Tisch im Sichtfeld vorhanden ist, der Benutzer andere Auswahltechniken auswählen (z. B. berühren (oder gebeten werden, um zu berühren), zeigen, Stimme usw.), um den Tisch von Interesse anzuzeigen. In einigen Implementierungen wird der Finger des Benutzers der elektronischen Vorrichtung verwendet, um die Messpunkte einzugeben. Wie in 4 gezeigt, wird Block 410 wiederholt, wenn der Audioauslöser nicht erfasst wird (z. B. Block 410, gibt nein zurück). Andernfalls fährt das Verfahren 400 nach dem Erfassen des Audioauslösers (z. B. Block 410, gibt ja zurück) mit Block 420 fort.
  • Bei Block 420 stellt das Verfahren 400 eine Reihe von Bildern von mindestens einem Bildsensor an der elektronischen Vorrichtung bereit. Zum Beispiel ist die Reihe von Bildern ein kontinuierlicher Kamera-Stream von einer Anordnung nach außen gerichteten RGB-D-Kameras, die Bilder für bis zu 360° um die elektronische Vorrichtung herum bereitstellen. In einem anderen Beispiel ist die Reihe von Bildern von einer nach vorne gerichteten Kamera. In einigen Implementierungen wird die Reihe von Bildern bereitgestellt, bis der letzte Messpunkt erhalten wird.
  • Bei Block 430 erfasst das Verfahren 400 einen Finger (z. B. Fingerspitze) des Benutzers der elektronischen Vorrichtung in der Reihe von Bildern. In einigen Implementierungen wird die Erfassung des Fingers in der Reihe von Bildern unter Verwendung verschiedener Bildverarbeitungstechniken implementiert. In einer Implementierung können Stereo-Bildsensoren bereitgestellt werden und das Stereosehen stellt die Erfassung und Verfolgung (z. B. Triangulation) der Fingerspitze des Fingers bereit. Zusätzliche Bildverarbeitungstechniken zum Erfassen des Fingers können verwendet werden, siehe zum Beispiel Block 230. In einigen Implementierungen werden zusätzliche Bilder der 3D-Umgebung bereitgestellt, wenn der Finger nicht erfasst wird (z. B. Block 430, gibt nein zurück). Wie in 4 gezeigt, fährt das Verfahren 400 bei erfolgreicher Erfassung des Fingers (z. B. Block 430, gibt ja zurück) mit Block 440 fort.
  • Im Allgemeinen kann der Benutzer der elektronischen Vorrichtung seine Finger entweder dazu verwenden, um ein Objekt (z. B. nahe gelegenes Objekt) zu berühren oder um auf ein Objekt (z. B. weit entferntes Objekt) zu zeigen.
  • Bei Block 440 erfasst das Verfahren 400 einen Zustand des Fingers (z. B. Fingerspitze) des Benutzers der elektronischen Vorrichtung in der Reihe von Bildern. Zum Beispiel berührt der Finger des Benutzers die Ecke eines Buchs oder zeigt auf eine Spitze eines Gebäudes. Wenn das Verfahren 400 bei Block 440 bestimmt, dass der Zustand des Fingers ein LOS zeigender Zustand ist, fährt das Verfahren 400 mit Block 450 fort (z. B. LOS-Fingermesstechnik). Wenn das Verfahren 400 bei Block 440 bestimmt, dass der Zustand des Fingers der berührende Zustand ist, fährt das Verfahren 400 mit Block 460 fort (z. B. berührende Fingermesstechnik).
  • Bei Block 440 bestimmt das Verfahren 400, ob sich der Zustand des Fingers in der Luft befindet oder eine Oberfläche kontaktiert (z. B. LOS zeigend oder berührend), indem eine oder mehrere der folgenden Techniken oder Kombinationen davon verwendet werden. In einigen Implementierungen kann die Klassifizierung basierend auf maschinellem Lernen trainiert werden, um basierend auf einem Eingabebild oder -bildern „berühren“ oder „zeigen“ auszugeben. In einigen Implementierungen wird das Erscheinungsbild und die Positionierung des Fingers verwendet, um zu bestimmen, ob der Finger ein LOS zeigender Finger oder ein Finger ist, der eine Oberfläche berührt, da sich ein zeigender Finger in Erscheinungsbild, Geometrie, Positionierung usw. relativ zu einem berührenden Finger unterscheidet. In einigen Implementierungen kann die Schattenerfassung verwendet werden, da der Schatten des Fingers oder der Fingerspitze den Finger „berührt“, wenn der Finger die Oberfläche eines Objekts berührt. In einigen Implementierungen können Tiefeninformationen, Hautgeometrieverformung oder Hautfarbmodifikation (z. B. kann eine hellere Farbe annehmen), wenn der Finger die Oberfläche eines Objekts berührt, sein. In einigen Implementierungen verwendet die Bestimmung des Zustands des Fingers eine Schätzung, ob die Oberfläche oder das Objekt von Interesse nahe oder weit (z. B. innerhalb einer Reichweite oder eines Abstand-Schwellenwerts der Person) liegt. In einigen Implementierungen wird die Reihe von Bildern (z. B. kombiniert mit Daten von anderen Sensoren) an der elektronischen Vorrichtung verwendet, um eine Pose (z. B. Position und Ausrichtung) oder Bewegung des Fingers in der 3D-Umgebung unter Verwendung von sichtbasierter Lokalisierung, wie VIO, SLAM oder dergleichen, zu verfolgen. In einigen Implementierungen werden Verfahren der Tiefenschätzung verwendet, um die Oberfläche oder das Objekt von Interesse zu bewerten. In einigen Implementierungen kann die Tiefe der 3D-Umgebung um die Fingerspitze herum und die Fingerspitzentiefe selbst verglichen werden.
  • Ferner hängt die erhaltene Tiefe von den verfügbaren Sensoren, wie monokulare Kamera, Stereokamera, aktiven Tiefensensoren und einer Anzahl und Anordnung derselben ab. In einer Implementierung wird die Tiefenschätzung von der 3D-Blickverfolgung verwendet. In einigen Implementierungen bestimmen semantische Informationen über die 3D-Umgebung den Zustand des erfassten Fingers.
  • Bei Block 450 erhält das Verfahren 400 die 3D-Koordinaten des Fingers und die 3D-Koordinaten eines „messenden“ Auges. In einigen Implementierungen werden die 3D-Koordinaten des Fingers nur erhalten, wenn der Finger ortsfest oder standfest ist. In einigen Implementierungen kann ein Cursor am 3D-Ort der Fingerspitze als visuelle Rückmeldung an den Benutzer angezeigt werden. In einigen Implementierungen kann der Finger dann verwendet werden, um die 3D-Positionierung des Cursors (z. B. etwas links/rechts oder nach oben/unten bewegen) zu verfeinern. In einigen Implementierungen werden die 3D-Koordinaten der Fingerspitze als die 3D-Koordinaten des Fingers verwendet. In einigen Implementierungen ist die Fingerspitze die Spitze des abgerundeten Abschnitts des Fingers. In einigen Implementierungen wird die Fingerspitze durch Farb- oder Formanalyse der Reihe von Bildern bestimmt. In einigen Implementierungen wird das Messauge (z. B. offen) durch einen nach innen gerichteten Bildsensor an der elektronischen Vorrichtung bestimmt. In einigen Implementierungen werden voreingestellte Informationen verwendet, um das Messauge (z. B. das dominante Auge) zu bestimmen. Dann berechnet das Verfahren 400 bei Block 450 eine Sichtlinien-Linie (LOS-Linie) (z. B. eine 3D-Linie), die sich von dem Messauge durch die Fingerspitze in die 3D-Umgebung erstreckt und einen Schnittpunkt des LOS-Strahls mit der 3D-Umgebung erfasst. In einigen Implementierungen stellt der Schnittpunkt des LOS-Strahls mit der 3D-Szene die 3D-Koordinaten eines Messpunkts bereit, der beispielsweise ein erster Messpunkt sein kann, der zum Messen eines Abstands zwischen zwei Objekten verwendet wird. Zusätzliche Techniken zum Durchführen von Block 450 können verwendet werden, siehe zum Beispiel die Blöcke 250-260.
  • Bei Block 460 bestimmt das Verfahren 400, ob alle Messpunkte erhalten wurden, um die vom Benutzer angeforderte Messung bereitzustellen. In einigen Implementierungen kehrt das Verfahren 400 zu Block 450 zurück, wenn ein aktueller Messpunkt nicht der letzte Messpunkt ist. Wenn in Block 460 bestimmt wird, dass der letzte Messpunkt erhalten wird, wird der Bildsensor deaktiviert.
  • Bei Block 470 erhält das Verfahren 400 die 3D-Koordinaten des Fingers als 3D-Koordinate eines Messpunkts, der beispielsweise ein erster Messpunkt sein kann, der zum Messen eines Abstands zwischen zwei Objekten verwendet wird. In einigen Implementierungen werden die 3D-Koordinaten der Fingerspitze als die 3D-Koordinaten des Fingers verwendet. Zusätzliche Techniken zum Durchführen von Block 470 können verwendet werden, siehe zum Beispiel die Blöcke 250-260.
  • Bei Block 480 bestimmt das Verfahren 400, ob alle Messpunkte erhalten wurden, um die vom Benutzer angeforderte Messung bereitzustellen. In einigen Implementierungen kehrt das Verfahren 400 zu Block 470 zurück, wenn ein aktueller Messpunkt nicht der letzte Messpunkt ist. Wenn in Block 480 bestimmt wird, dass der letzte Messpunkt erhalten wird, wird der Bildsensor deaktiviert. In einigen Implementierungen ist für das Verfahren 400 nur eine LOS-Fingermesstechnik oder eine berührende Fingermesstechnik verfügbar.
  • In einigen Implementierungen können Block 450 und Block 470 wiederholt werden, um zusätzliche Messpunkte nach Bedarf zu erhalten, um einen Abstand, eine Oberfläche oder ein Volumen zu messen. In einigen Implementierungen wird dem Benutzer eine Rückmeldung bereitgestellt, wenn jeder Messpunkt bestimmt wird. Wenn zum Beispiel die Messung ein Abstand zwischen zwei Objekten ist, wird der erste Messpunkt dem Benutzer visuell angezeigt, dann wird der zweite Messpunkt angezeigt, und schließlich wird eine Linie zwischen den beiden Messpunkten angezeigt. In diesem Beispiel wird, wenn die Linie zwischen den beiden Messpunkten angezeigt wird, der Abstand zwischen den beiden Messpunkten dem Benutzer bereitgestellt (z. B. visuell oder akustisch).
  • Ein anderer beispielhafter Ansatz zum Implementieren von Messtechniken in einer 3D-Umgebung gemäß einigen Implementierungen initiiert alle möglichen Messtechniken, erzeugt aus jeder Messtechnik eine Kandidaten-3D-Position und bewertet dann eine Wahrscheinlichkeit, dass jede Kandidaten-3D-Position unter den Kandidaten-3D-Positionen der tatsächliche Messpunkt ist. Dieser Ansatz versucht nicht, die verwendete Messtechnik sofort oder schnell zu identifizieren. Stattdessen werden mehrere Kandidaten-3D-Positionen von entsprechenden Messtechniken gleichzeitig erzeugt und dann bewertet. In einigen Implementierungen basiert die Wahrscheinlichkeit auf einem oder mehreren Bildern einer 3D-Umgebung von einem Bildsensor einer elektronischen Vorrichtung. In einigen Implementierungen schließt die Wahrscheinlichkeit, ist aber nicht darauf beschränkt, die Lokalisierung in einem Bild der 3D-Umgebung (z. B. ist die Mitte wahrscheinlicher), die Bestimmung, dass ein Finger in der 3D-Umgebung vorhanden ist, die Bestimmung, dass der Finger ein Objekt berührt oder auf ein Objekt in der 3D-Umgebung zeigt, die Bestimmung, dass eine Tiefe der 3D-Umgebung nahe oder weit entfernt ist (z. B. größer als die Reichweite der Person), die Bestimmung, dass sich eine Hand eines Benutzers etwas oder viel bewegt, die Bestimmung, dass nur ein oder beide Augen eines Benutzers geöffnet sind, semantische Informationen über die 3D-Umgebung, Geometrie der 3D-Umgebung oder eine beliebige Kombination davon, ein.
  • 5 ist ein Diagramm, das eine Vielzahl von Zielmesspunkten veranschaulicht, die von unterschiedlichen Messtechniken gemäß einigen Implementierungen erzeugt werden. Wie in 5 gezeigt, schließt ein Bild einer 3D-Umgebung eine Vielzahl von Kandidaten-Messpunkten ein, die durch entsprechende Messtechniken erzeugt werden, nachdem eine Messfähigkeit an einer elektronischen Vorrichtung initiiert wurde. Ein Bild 500 einer 3D-Umgebung schließt einen Ziel-3D-Punkt T110, der unter Verwendung der Fingerberührungsmesstechnik 110 erzeugt wird, einen Ziel-3D-Punkt T120, der unter Verwendung der aktiven blickbasierten Messtechnik 120 erzeugt wird, einen Ziel-3D-Punkt T130, der unter Verwendung der steuerungsbasierten Messtechnik 130 erzeugt wird, einen Ziel-3D Punkt T140, der unter Verwendung der festen fadenkreuzbasierten Messtechnik 140 erzeugt wird, und einen Ziel-3D Punkt T150, der unter Verwendung der sichtlinienbasierten Messtechnik 150 erzeugt wird, ein. In einigen Implementierungen wird der Messpunkt automatisch unter den Zielpunkten T1 10-T150 ausgewählt, und nur der Messpunkt wird dem Benutzer angezeigt. Ferner kann der Benutzer eine Rückmeldung bereitstellen, die den automatisch ausgewählten Messpunkt verifiziert. In einigen Implementierungen werden Kandidaten-Messpunkte durch entsprechende Messtechniken 110-150 für zusätzliche Messpunkte (z. B. einen zweiten oder dritten Messpunkt) erzeugt, bevor eine spezifische Messtechnik ausgewählt wird.
  • 6 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Identifizieren einer 3D-Position eines Messpunkts unter Verwendung einer LOS-Technik veranschaulicht, um die Messung eines Objekts in einer 3D-Umgebung zu ermöglichen. In einigen Implementierungen wird ein Strahl/eine Linie aus der 3D-Position eines Blickwinkels (z. B. dem Messauge oder dem Bildsensor) durch eine 3D-Position der Fingerspitze des Benutzers erweitert, und der 3D-Messpunkt wird basierend darauf identifiziert, wo die Linie eine 3D-Umgebung schneidet (z. B. die physische Umgebung).
  • Bei Block 610 bestimmt das Verfahren 600 die 3D-Position eines Fingers (z. B. eine Fingerspitze) in einer 3D-Umgebung. In einigen Implementierungen wird der Finger in einem Bild erfasst. In einigen Implementierungen wird der Finger in einer Reihe von Bildern oder einem Bildstrom/-video erfasst. In einigen Implementierungen wird die 3D-Position des Fingers durch Erfassen des Fingers in einem Bild der 3D-Umgebung basierend auf Farbe, Form oder Verbindung zu einem Arm oder Handgelenk bestimmt. In einigen Implementierungen wird der Finger in einem oder mehreren Bildern basierend auf der maschinellen Lernklassifizierung, Schablonenvergleich (Fingerspitze), der Hauterfassung, der Handerfassung, der Tiefeninformationen und/oder der Hand-/Fingerverfolgung erfasst. In einigen Implementierungen können eine oder mehrere Handgesten verwendet werden, um den Finger zu erfassen.
  • In einigen Implementierungen sind die Bildsensoren herkömmliche Kameras (z. B. RGB-Kameras). In einigen Implementierungen werden die Bilder des Objekts durch eine Vielzahl von Bildsensoren gleichzeitig erhalten. Zusätzliche Techniken zum Bestimmen der 3D-Position des Fingers können verwendet werden, siehe zum Beispiel Block 250.
  • Bei Block 620 bestimmt das Verfahren 600 eine 3D-Position eines Blickwinkels, wobei die 3D-Umgebung basierend auf dem Blickwinkel betrachtet wird. In einigen Implementierungen ist der Blickwinkel ein Messauge eines Benutzers der elektronischen Vorrichtung oder ein Bildsensor auf der elektronischen Vorrichtung. In einigen Implementierungen kann die Position des Messauges basierend auf einem nach innen gerichteten Sensor (z. B. auf einem Smartphone oder Tablet) bestimmt werden. In einigen Implementierungen kann eines der Augen des Benutzers als das Messauge basierend auf dem offenen Auge ausgewählt werden, wobei das Auge das dominante Auge des Benutzers ist oder das Auge vorausgewählt ist (z. B. während der Initialisierung). In einigen Implementierungen kann die Position des Bildsensors (z. B. Messkamera) einer mobilen Vorrichtung basierend auf der Verfolgung der Position der mobilen Vorrichtung über Bewegungs- und/oder Bildsensoren bestimmt werden, welche die Bilder der Umgebung aufnehmen. Zusätzliche Techniken zum Bestimmen der 3D-Position des Blickwinkels können verwendet werden, siehe zum Beispiel Block 250.
  • Bei Block 630 bestimmt das Verfahren 600 eine Richtung in der 3D-Umgebung basierend auf der 3D-Position des Blickwinkels und der 3D-Position des Fingers. In einigen Implementierungen kann eine Linie gezogen werden, die von dem Blickwinkel ausgeht, durch die Fingerspitze verläuft und sich in die physische Umgebung erstreckt. In einigen Implementierungen kann eine 3D-Linie gezogen werden, die von der 3D-Position des Messauges ausgeht, durch die 3D-Position der Fingerspitze verläuft und sich in die physische Umgebung erstreckt. In einigen Implementierungen kann eine 3D-Linie gezogen werden, die von der 3D-Position der Messkamera ausgeht, durch die 3D-Position der Fingerspitze verläuft und sich in die physische Umgebung erstreckt. Zusätzliche Techniken zum Bestimmen der Richtung in der 3D-Umgebung basierend auf der 3D-Position des Blickwinkels und der 3D-Position des Fingers können verwendet werden, siehe zum Beispiel Block 250.
  • Bei Block 640 bestimmt das Verfahren 600 eine 3D-Position eines Messpunkts in der 3D-Umgebung basierend auf der Richtung. In einigen Implementierungen basiert die 3D-Position des Messpunkts auf dem Bestimmen, wo die 3D-Linie ein Objekt in der 3D-Umgebung schneidet. Zusätzliche Techniken zum Bestimmen der 3D-Position eines Messpunkts basierend auf der Richtung können verwendet werden, siehe zum Beispiel Block 250.
  • Bei Block 650 stellt das Verfahren 600 eine Messung basierend auf der 3D-Position des Messpunkts bereit. In einigen Implementierungen ist die Messung ein Abstand zu dem Objekt (z. B. Schnittpunkt) von dem Auge. In einigen Implementierungen ist die Messung der Abstand zwischen dem Punkt und einem anderen Punkt. In einigen Implementierungen ist die Messung der Bereich einer Oberfläche, der durch den Punkt und zusätzliche Messpunkte definiert ist. In einigen Implementierungen ist die Messung das Volumen, das durch den Punkt und eine Vielzahl anderer Punkte definiert ist. In einigen Implementierungen wird ein Satz von einer Vielzahl von Messpunkten bestimmt und der Satz von Messpunkten wird verwendet, um die Messung bereitzustellen.
  • In einigen Implementierungen können die Blöcke 610, 620, 630 und 640 wiederholt werden, um zusätzliche Messpunkte nach Bedarf zu erhalten, um einen Abstand, eine Oberfläche oder ein Volumen zu messen. In einigen Implementierungen wird dem Benutzer eine Rückmeldung bereitgestellt, wenn jeder Messpunkt bestimmt wird. Wenn zum Beispiel die Messung ein Abstand zwischen zwei Objekten ist, wird der erste Messpunkt dem Benutzer visuell angezeigt, dann wird der zweite Messpunkt angezeigt, und schließlich wird eine Linie zwischen den beiden Messpunkten angezeigt. In diesem Beispiel wird, wenn die Linie zwischen den beiden Messpunkten angezeigt wird, der Abstand zwischen den beiden Messpunkten dem Benutzer der elektronischen Vorrichtung bereitgestellt (z. B. visuell oder akustisch).
  • 7 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Auswählen einer Punktidentifikationstechnik veranschaulicht, die verwendet wird, um eine 3D-Position eines Messpunkts zu identifizieren, um eine Messung eines Objekts in einer 3D-Umgebung zu ermöglichen. In einigen Implementierungen kann die Punktidentifikationstechnik zwischen einer Fingerberührungsmesstechnik und einer Fingersichtlinienmesstechnik auswählen/umschalten. In einigen Implementierungen wird die Punktidentifikationstechnik basierend auf der physischen Nähe ausgewählt oder umgeschaltet.
  • Bei Block 710 erfasst das Verfahren 700 einen Finger (z. B. eine Fingerspitze) in einer 3D-Umgebung. In einigen Implementierungen wird der Finger in einem Bild der 3D-Umgebung erfasst. In einigen Implementierungen wird der Finger in der Reihe von Bildern erfasst. In einigen Implementierungen wird der Finger in einem oder mehreren Bildern basierend auf einer beliebigen Kombination von Farbe/Form, maschineller Lernklassifizierung, Schablonenvergleich (Fingerspitze); Hauterfassung, Handerfassung, Tiefe oder Hand-/Fingerverfolgung erfasst. In einigen Implementierungen wird die Bilderfassung des Fingers unter Verwendung verschiedener Bildverarbeitungstechniken implementiert. In einer Implementierung können Stereo-Bildsensoren bereitgestellt werden und das Stereosehen stellt die Erfassung und Verfolgung (z. B. Triangulation) der Fingerspitze des Fingers bereit. Weitere Techniken zum Erfassen des Fingers können verwendet werden, siehe zum Beispiel Block 230
  • Bei Block 720 bestimmt das Verfahren 700 einen Zustand des Fingers basierend auf einem Bild der 3D-Umgebung. In einigen Implementierungen wird bestimmt, dass sich der Zustand des Fingers in einem ersten Fingerzustand oder in einem zweiten Fingerzustand befindet. In einigen Implementierungen bei Block 720 bestimmt das Verfahren 700, ob der Zustand des Fingers ein Objekt in der 3D-Umgebung berührt oder auf das Objekt in der 3D-Umgebung zeigt. In einigen Implementierungen kann der Zustand des Fingers zwischen dem Zustand des Berührens eines Objekts und dem Zustand des Zeigens auf das Objekt (z. B. ob sich der Finger in der Luft befindet oder eine Oberfläche berührt) umschalten.
  • In einigen Implementierungen werden der Fingerzustand des Berührens und der Fingerzustand des Zeigens basierend auf einem oder mehreren Bildern des Fingers in der 3D-Umgebung bestimmt. In einigen Implementierungen werden der erste Fingerzustand des Berührens und der zweite Fingerzustand des Zeigens bestimmt, durch (i) Verwenden einer Tiefenlernklassifizierung, (ii) Verwenden einer Tiefe um eine Spitze des Fingers in der 3D-Umgebung und einer Tiefe der Fingerspitze, (iii) Bewerten eines Erscheinungsbilds oder einer Positionierung des Fingers relativ zu einer mobilen elektronischen Vorrichtung, (iv) Erfassen eines Schattens des Fingers, (v) Bewerten von Hautverformung oder Farbmodifikation des Fingers beim Berühren oder (vi) Schätzen, ob sich eine Oberfläche von Interesse unter Verwendung der Tiefenschätzung und Blickverfolgung nahe dem Finger befindet. Zusätzliche Techniken zum Bestimmen des Fingerzustands können verwendet werden, siehe zum Beispiel Block 440.
  • Bei Block 730 wählt das Verfahren 700 eine Punktidentifikationstechnik aus, um eine 3D-Position eines Messpunkts basierend auf dem Zustand des Fingers zu identifizieren. In einigen Implementierungen ist die Punktidentifikationstechnik entweder eine erste Punktidentifikationstechnik oder eine zweite Punktidentifikationstechnik basierend auf dem Zustand des Fingers. In einigen Implementierungen ist die Punktidentifikationstechnik entweder eine berührende Punktidentifikationstechnik oder eine zeigende Punktidentifikationstechnik basierend auf dem Zustand des Fingers.
  • Bei Block 740 identifiziert das Verfahren 700 die 3D-Position des Messpunkts basierend auf der ausgewählten Punktidentifikationstechnik und dem Bild der 3D-Umgebung aus. Zum Beispiel identifiziert die berührende Punktidentifikationstechnik ein Objekt in der 3D-Umgebung angrenzend an eine Fingerspitze des Fingers, um die 3D-Position des Messpunkts zu bestimmen. In einigen Implementierungen identifiziert die erste berührende Punktidentifikationstechnik das berührte zu messende Objekt basierend auf der 3D-Position einer Fingerspitze (siehe zum Beispiel Block 470). In einem anderen Beispiel erstreckt sich die zweite zeigende Punktidentifikationstechnik eine Linie von einem Blickwinkel (z. B. Messauge) durch eine Fingerspitze des Fingers in der 3D-Umgebung und bestimmt einen Schnittpunkt der Linie und eines Objekts in der 3D-Umgebung. In einigen Implementierungen identifiziert die zweite zeigende Punktidentifikationstechnik das entfernte zu messende Objekt basierend auf der Ausrichtung mit der Fingerspitze (siehe zum Beispiel Block 450).
  • Bei Block 750 stellt das Verfahren 700 eine Messung basierend auf der 3D-Position des Messpunkts bereit. In einigen Implementierungen ist die Messung ein Abstand zu dem Objekt von dem Benutzer. In einigen Implementierungen ist die Messung der Abstand zwischen einem ersten Messpunkt und einem zweiten Messpunkt oder zwei Objekten in einer 3D-Umgebung. In einigen Implementierungen ist die Messung der Bereich einer Oberfläche oder ein Volumen, das durch eine Vielzahl von Messpunkten definiert wird. In einigen Implementierungen können beide Zustände des Fingers eine Sichtlinienmessung verwenden, um die 3D-Koordinaten des Messpunkts zu bestimmen oder um die Messung bereitzustellen.
  • In einigen Implementierungen können die Blöcke 710-750 wiederholt werden, um zusätzliche Messpunkte nach Bedarf zu erhalten, um einen Abstand, eine Oberfläche oder ein Volumen zu messen. In einigen Implementierungen kann der Zustand des Fingers zwischen dem Zustand des Berührens eines Objekts und dem Zustand des Zeigens auf das Objekt (z. B. ob sich der Finger in der Luft befindet oder eine Oberfläche berührt) umschalten. In einigen Implementierungen können die Blöcke 740 und 750 wiederholt werden, um zusätzliche Messpunkte nach Bedarf zu erhalten, um einen Abstand, eine Oberfläche oder ein Volumen zu messen. In einigen Implementierungen wird ein Satz von einer Vielzahl von Messpunkten bestimmt und der Satz von Messpunkten wird verwendet, um die Messung bereitzustellen. In einigen Implementierungen wird dem Benutzer eine Rückmeldung bereitgestellt, wenn jeder Messpunkt bestimmt wird. In einigen Implementierungen bestätigt oder verwirft der Benutzer jeden Messpunkt, wenn er bestimmt wird.
  • 8 ist ein Flussdiagramm, das ein beispielhaftes Verfahren zum Identifizieren einer 3D-Position eines Messpunkts veranschaulicht, um eine Messung eines Objekts in einer 3D-Umgebung zu ermöglichen, wobei der Messpunkt durch Auswählen von mehreren Zielen (z. B. Möglichkeiten) identifiziert wird, die unter Verwendung unterschiedlicher Punktauswahltechniken (z. B. Messmodalitäten) bestimmt werden. In einigen Implementierungen basiert die Auswahl unter den mehreren Zielen auf einer Bewertung der Wahrscheinlichkeit, dass jedes unterschiedliche Ziel die 3D-Position des Messpunkts ist.
  • In Block 810 empfängt das Verfahren 800 ein Bild einer physischen Umgebung. In einigen Implementierungen werden eine Vielzahl von Bilder der physischen Umgebung empfangen.
  • Bei Block 820 identifiziert das Verfahren 800 eine Vielzahl von Zielen (z. B. mehrere mögliche 3D-Positionen eines Messpunkts), wobei jedes der Vielzahl von Zielen basierend auf einer unterschiedlichen Punktidentifikationstechnik identifiziert wird. In einigen Implementierungen basiert mindestens eine der Punktidentifikationstechniken auf dem Bild der physischen Umgebung. In einigen Implementierungen können die Punktidentifikationstechniken unterschiedlichen Benutzermessinteraktionsmodi entsprechen. Zum Beispiel können die Punktidentifikationsmodi (a) eine fingerbasierte Punktidentifikationstechnik, (b) eine aktive blickbasierte Punktidentifikationstechnik, (c) eine steuerungsbasierte Punktidentifikationstechnik, (d) eine feste fadenkreuzbasierte Punktidentifikationstechnik, und (e) eine sichtlinienbasierte Punktidentifikationstechnik einschließen.
  • Bei Block 830 wählt das Verfahren 800 eine 3D-Position für einen Messpunkt basierend auf der Auswahl eines Ziels von der Vielzahl von Zielen aus, wobei das Ziel basierend auf der Bewertung von 3D-Positionen der Vielzahl von Zielen ausgewählt wird. In einigen Implementierungen beinhaltet das Bewerten von 3D-Positionen der Vielzahl von Zielen das Bewerten der Wahrscheinlichkeit, dass jedes Ziel Eigenschaften eines Messziels aufweist. Somit kann jede der Vielzahl von Zielen als eine Kandidaten-3D-Position des Messpunkts betrachtet werden. In einigen Implementierungen wird eine 3D-Position für einen Messpunkt aus einer Vielzahl von Zielen ausgewählt, wobei die Auswahl gemäß der Wahrscheinlichkeit zu einem Messziel zu gehören vorgenommen wird. In einigen Implementierungen schließt das Bewerten, ob jedes Ziel Eigenschaften des ausgewählten Ziels aufweist (z. B. Messpunkt) ein Bewerten der Wahrscheinlichkeit, dass jedes Ziel der Messpunkt ist, ein. In einigen Implementierungen verwendet das Bewerten der Wahrscheinlichkeit, dass jedes Ziel der Messpunkt ist, Gesichtspunkte, die der Benutzerinteraktion mit den 3D-Positionen der Vielzahl von Zielen entsprechen. In einigen Implementierungen schließen Benutzerinteraktionen mit den 3D-Positionen der Vielzahl von Zielen Fingererscheinung, Bewegung von mindestens dem Finger, Fingerzustand, Augenzustand oder erfasste Gesten ein. In einigen Implementierungen basiert die Bewertung der Wahrscheinlichkeit, dass jedes Ziel der Messpunkt ist, auf semantischen Informationen der 3D-Umgebung. In einigen Implementierungen basiert das Bewerten der Wahrscheinlichkeit, dass jedes Ziel der Messpunkt ist, auf den räumlichen Eigenschaften der 3D-Umgebung oder physischen Eigenschaften der 3D-Positionen der Vielzahl von Zielen, einschließlich Ecken, Kanten, Linien, Gradienteninformationen, 3D-Forminformationen oder Tiefe. Zusätzliche Techniken zum Auswählen einer 3D-Position für einen Messpunkt basierend auf dem Auswählen eines Ziels der Vielzahl von Zielen können verwendet werden, siehe zum Beispiel 5.
  • Bei Block 840 stellt das Verfahren 800 eine Messung basierend auf der 3D-Position des Messpunkts bereit. In einigen Implementierungen ist die Messung ein Abstand, ein Bereich einer Oberfläche oder ein Volumen, das durch einen oder mehrere Messpunkte definiert ist. In einigen Implementierungen können die Blöcke 810-840 wiederholt werden, um zusätzliche Messpunkte zu erhalten, bevor eine Auswahl unter den Messtechniken durchgeführt wird. In einigen Implementierungen können die Blöcke 810-840 wiederholt werden, um zusätzliche Messpunkte nach Bedarf zu erhalten, um einen Abstand, eine Oberfläche oder ein Volumen zu messen. In einigen Implementierungen wird ein Satz von einer Vielzahl von Messpunkten bestimmt und der Satz von Messpunkten wird verwendet, um die Messung bereitzustellen. In einigen Implementierungen bestätigt oder verwirft der Benutzer jeden Messpunkt, wenn er bestimmt wird.
  • In einigen Implementierungen werden die Verfahren 200, 400, 600, 700 und 800 von einer Vorrichtung (z. B. elektronische Vorrichtung 1220, 1200 von 12 und 13) durchgeführt. Die Verfahren 200, 400, 600, 700 und 800 können unter Verwendung einer elektronischen Vorrichtung oder von mehreren Vorrichtungen in Kommunikation miteinander durchgeführt werden. In einigen Implementierungen werden die Verfahren 200, 400, 600, 700 und 800 durch Verarbeitungslogik, einschließlich Hardware, Firmware, Software oder einer Kombination davon, durchgeführt. In einigen Implementierungen werden die Verfahren 200, 400, 600, 700 und 800 durch einen Prozessor durchgeführt, der einen Code ausführt, der in einem nicht-transitorischen computerlesbaren Medium (z. B. einem Speicher) gespeichert ist. In einigen Implementierungen werden die Verfahren 200, 400, 600, 700 und 800 von einer elektronischen Vorrichtung mit einem Prozessor durchgeführt.
  • Obwohl verschiedene hierin beschriebene Messtechniken jeweils auf verschiedene elektronische Vorrichtungen anwendbar sind, einschließlich, aber nicht beschränkt auf mobile elektronische Vorrichtungen, Smartphones, touchscreenbasierte Personalcomputer, Tablets, HMDs (z. B. optische/Videoansichten) usw.
  • 9 veranschaulicht eine beispielhafte Fingerberührungsmesstechnik in einer 3D-Umgebung unter Verwendung einer elektronischen Vorrichtung gemäß einigen Implementierungen. Wie in 9 gezeigt, wird eine beispielhafte sprachunterstützte Fingerberührungsmesstechnik 110 unter Verwendung der elektronischen Vorrichtung 105 durchgeführt. Zunächst bewegt sich der Benutzer 115, um einen ersten Punkt A1 auf einem physischen Objekt (z. B. einer Ecke) zu sehen und zu berühren, und sagt „Virtueller Assistent, bitte messen Sie von hier ...“ Zweitens bewegt sich der Benutzer 115, um einen zweiten Punkt B1 auf dem physischen Objekt zu sehen und zu berühren, und sagt „bis hier“. Die beiden Messpunkte bestimmen den Abstand zwischen „hier“ und „dort“, der dem Benutzer 115 angezeigt wird. Zum Beispiel kann der Abstand als eine Anzahl mit Einheiten in einem hervorgehobenem Textfeld dem Benutzer angezeigt werden. Alternativ sind der 3D-Punkt A, eine Linie und der 3D-Punkt B virtuelle Objekte, die dem Benutzer 115 angezeigt werden, wobei der Abstand neben der Linie angezeigt ist. In einigen Implementierungen wird dem Benutzer 115 durch die elektronische Vorrichtung 105 eine akustische Antwort bereitgestellt (z. B. sagt der Virtuelle Assistent, „der Abstand beträgt 15 Zoll, bitte bestätigen“). In einigen Implementierungen werden Sensoren der elektronischen Vorrichtung 105 verwendet, um eine beispielhafte Fingerberührungsmesstechnik 110 zu unterstützen.
  • In einigen Implementierungen verwendet die Messtechnik 110 eine zeitliche Anzeige und eine physische Anzeige, um die Messung durchzuführen. Somit wird, wie in 9 gezeigt, wenn der Virtuelle Assistent aktiviert ist und bestimmt, dass die Fingerberührungsmesstechnik 110 verwendet werden soll, die Verfolgung (z. B. mindestens ein Bildsensor) und die Odometrie aktiviert (z. B. Bewegungssensoren, VIO, SLAM usw.). Für den ersten Schritt 932 wird der Finger (z. B. Fingerspitze) des Benutzers 115 in einem oder mehreren Bildern erfasst und eine erste 3D-Koordinate der Fingerspitze wird bestimmt. Für den zweiten Schritt 934 wird erneut der Finger des Benutzers 115 erfasst und die zweite 3D-Koordinate auf der Fingerspitze bestimmt. Dann wird im nächsten Schritt 936 der Abstand dem Benutzer mit der elektronischen Vorrichtung 105 angezeigt, und die Verfolgung und Odometrie werden deaktiviert.
  • 10 veranschaulicht eine beispielhafte aktive Blickmesstechnik in einer 3D-Umgebung unter Verwendung einer elektronischen Vorrichtung gemäß einigen Implementierungen. Wie in 10 gezeigt, wird eine beispielhafte sprachunterstützte aktive Blickmesstechnik 120 unter Verwendung der elektronischen Vorrichtung 105 durchgeführt. In einer Implementierung sagt zunächst der Benutzer 115 „Virtueller Assistent, bitte messen Sie von hier ...“ und wählt den Punkt aus, indem er auf den Punkt (z. B. Punkt 1010a) schaut. Zweitens sagt der Benutzer 115 „bis dort“ und wählt den zweiten Punkt aus, indem er auf den zweiten Punkt (z. b. Punkt 1010b) schaut.
  • In einigen Implementierungen verwenden die Messtechniken 120 sowohl eine zeitliche Anzeige als auch eine physische Anzeige. Somit werden, wie in 10 gezeigt, wenn der Virtuelle Assistent aktiviert ist und bestimmt, dass die aktive Blickmesstechnik 120 verwendet werden soll, der aktive Blick und Odometrie aktiviert. Für den ersten Schritt 1032 wird eine Blickrichtung eines Messauges 115a des Benutzers 115 bestimmt und ein Marker 1010a wird angezeigt, wobei ein Schnittpunkt der Blickrichtung mit der 3D-Umgebung die 3D-Koordinaten des Markers 1010a bestimmt. Für den zweiten Schritt 1034 wird ein Marker 1010b an der Blickrichtung des Messauges 115a angezeigt und ein Schnittpunkt der Blickrichtung mit der 3D-Umgebung bestimmt die 3D-Koordinaten des zweiten Markers 1010b. Dann wird im nächsten Schritt 1036 der Abstand 1020 dem Benutzer mit der elektronischen Vorrichtung 105 angezeigt, und der aktive Blick und die Odometrie werden deaktiviert. In einigen Implementierungen sind die gestrichelte Linie mit Abstand 1020 virtuelle Objekte.
  • In einigen Implementierungen können stereo-aktive Blickmesstechniken 120 verwendet werden. Zum Beispiel kann der Benutzer 115, wie in 10 gezeigt, die Messtechnik unter Verwendung des virtuellen Assistenten aktivieren und einen Punkt von Interesse auswählen, indem er auf den Punkt von Interesse schaut. In diesem Fall bestimmt der Schnittpunkt der Blickrichtung beider Augen 115s des Benutzers 115 Stereoblicke, welche die 3D-Koordinaten des Punktes von Interesse, Punkt S, bestimmen.
  • 11 veranschaulicht eine beispielhafte auf Sichtlinie basierende Messtechnik in einer 3D-Umgebung unter Verwendung einer elektronischen Vorrichtung gemäß einigen Implementierungen. Wie in 11 gezeigt, wird eine beispielhafte sprachunterstützte sichtlinienbasierte Messtechnik 150 unter Verwendung der elektronischen Vorrichtung 105 durchgeführt. In einer Implementierung sagt zuerst ein Benutzer 115 „Virtueller Assistent, messen Sie ein Volumen eines Quaders unter Verwendung eines ersten Punktes ...“ und wählt den Punkt durch Ausrichten der Fingerspitze 115f an den Punkt (z. B. Punkt A2) unter Verwendung eines Messauges 115a aus. Zweitens sagt der Benutzer 115 „eines zweiten Punktes“ und wählt den zweiten Punkt durch Punkt durch Ausrichten der Fingerspitze 115f an den zweiten Punkt (z. B. Punkt B2) unter Verwendung des Messauges 115a aus. Drittens sagt der Benutzer 115 „eines dritten Punktes“ und wählt den dritten Punkt durch Punkt durch Ausrichten der Fingerspitze 115f an den dritten Punkt (z. B. Punkt C2) unter Verwendung des Messauges 115a aus. Viertens sagt der Benutzer 115 „eines vierten Punktes“ und wählt den vierten Punkt durch Punkt durch Ausrichten der Fingerspitze 115f an den vierten Punkt (z. B. Punkt D2) unter Verwendung des Messauges 115a aus.
  • Wie in 11 gezeigt, wird, wenn der virtuelle Assistent aktiviert ist und bestimmt, dass die sichtlinienbasierte Messtechnik 150 verwendet werden soll, die Verfolgung von mindestens 1 Messauge, die Verfolgung des Fingers und die Odometrie aktiviert. Für den ersten Schritt 1132 wird eine Position des Messauges 115a des Benutzers 115 bestimmt, eine 3D-Position der Fingerspitze 115f wird bestimmt und eine Linie, die sich vom Messauge erstreckt durch die Fingerspitze 115f erstreckt schneidet die 3D-Umgebung, um 3D-Koordinaten eines ersten Punktes A2 (z. B. Marker) zu bestimmen. Dieser Prozess wird in einem zweiten Schritt 1134 für den zweiten Punkt B2 in einem dritten Schritt 1136 für den dritten Punkt C2 und in einem letzten und vierten Schritt 1138 für den vierten Punkt D2 wiederholt. Dann bestimmen die vier Messpunkte im nächsten Schritt 1140 das Volumen des Quaders 1150, der (Quader beträgt 4,9 m3) an den Benutzer 115 mit der elektronischen Vorrichtung 105 bereitgestellt wird. Sobald das Volumen bestimmt und dem Benutzer 115 bereitgestellt wird, kann die Verfolgung und Odometrie deaktiviert werden. In einigen Implementierungen wird eine Blickrichtung des Messauges 115a und die 3D-Position des Fingers in LOS-basierten Messtechniken 150 verwendet.
  • 12 veranschaulicht eine beispielhafte Betriebsumgebung 1200, in der die elektronische Vorrichtung 1220 in der physischen Umgebung 1205 verwendet wird. Eine physische Umgebung bezieht sich auf eine physische Welt, die Menschen ohne die Hilfe von elektronischen Systemen wahrnehmen können und/oder mit der sie ohne diese interagieren können. Eine physische Umgebung nimmt auf eine physische Welt Bezug, die Menschen ohne die Hilfe von elektronischen Systemen wahrnehmen können und/oder mit der sie ohne diese Hilfe interagieren können. Die physische Umgebung kann physische Merkmale wie eine physische Oberfläche oder ein physisches Objekt einschließen. Zum Beispiel entspricht die physische Umgebung einem physischen Park, der physische Bäume, physische Gebäude und physische Personen einschließt. Menschen können die physische Umgebung direkt wahrnehmen und/oder mit ihr interagieren, wie durch Sehen, Berühren, Hören, Schmecken und Riechen. Im Gegensatz dazu nimmt eine Umgebung der Cross-Reality (XR) auf eine ganz oder teilweise simulierte Umgebung Bezug, die Menschen über ein elektronisches System wahrnehmen und/oder mit der sie über eine elektronische Vorrichtung interagieren. Zum Beispiel kann die XR-Umgebung Inhalte erweiterter Realität (AR), vermischter Realität (MR), virtueller Realität und/oder dergleichen einschließen. Mit einem XR-System wird eine Teilmenge der physischen Bewegungen einer Person oder deren Darstellungen verfolgt, und als Reaktion darauf werden eine oder mehrere Eigenschaften eines oder mehrerer virtueller Objekte, die in der XR-Umgebung simuliert werden, so angepasst, dass sie mit mindestens einem physikalischen Gesetz übereinstimmen. Zum Beispiel kann ein XR-System die eine Kopfbewegung erfassen und als Reaktion darauf den der Person präsentierten graphischen Inhalt und ein akustisches Feld auf eine Weise anpassen, die dem ähnelt, wie solche Ansichten und Geräusche sich in einer physischen Umgebung verändern würden. Als weiteres Beispiel kann das XR-System eine Bewegung der elektronischen Vorrichtung erfassen, welche die XR-Umgebung darstellt (z. B. ein Mobiltelefon, ein Tablet, ein Laptop oder dergleichen), und als Reaktion darauf einen grafischen Inhalt und ein akustisches Feld, die der Person präsentiert werden, auf ähnliche Weise anpassen, wie sich solche Ansichten und Geräusche in einer physischen Umgebung ändern würden. In einigen Situationen (z. B. aus Gründen der Zugänglichkeit) kann das XR-System die Eigenschaft(en) des grafischen Inhalts in der XR-Umgebung als Reaktion auf Darstellungen physischer Bewegungen (z. B. Sprachbefehle) anpassen.
  • Es gibt viele verschiedene Arten von elektronischen Systemen, die einer Person ermöglichen, verschiedene XR-Umgebungen wahrzunehmen und/oder mit diesen zu interagieren. Beispiele sind am Kopf tragbare Systeme, projektionsbasierte Systeme, Heads-Up-Displays (HUDs), Fahrzeugwindschutzscheiben mit integrierter Anzeigefunktion, Fenster mit integrierter Anzeigefunktion, Displays, die als Linsen ausgebildet sind, die dazu bestimmt sind, auf den Augen einer Person platziert zu werden (z. B. ähnlich Kontaktlinsen), Kopfhörer/Ohrhörer, Lautsprecher-Arrays, Eingabesysteme (z. B. am Körper tragbare oder als Handgeräte ausgeführte Controller mit oder ohne haptische Rückmeldung), Smartphones, Tablets und Desktop-/Laptop-Computer. Ein am Kopf tragbares System kann einen oder mehrere Lautsprecher und ein integriertes opakes Display aufweisen. Alternativ kann ein am Kopf tragbares System konfiguriert sein, um ein externes opakes Display (z. B. ein Smartphone) aufzunehmen. Das am Kopf tragbare System kann einen oder mehrere bildgebende Sensoren enthalten, um Bilder oder Videoaufnahmen der physischen Umgebung zu erfassen, und/oder ein oder mehrere Mikrofone, um Audioaufnahmen der physischen Umgebung zu erfassen. Anstelle eines opaken Displays kann ein am Kopf tragbares System ein transparentes oder transluzentes Display aufweisen. Die transparente oder transluzente Anzeige kann ein Medium aufweisen, durch das Licht, das für Bilder repräsentativ ist, auf die Augen einer Person gerichtet wird. Die Anzeige kann eine digitale Lichtprojektion, OLEDs, LEDs, uLEDs, Flüssigkristalle auf Silicium, eine Laserscanning-Lichtquelle oder eine beliebige Kombination dieser Technologien nutzen. Das Medium kann ein Lichtwellenleiter, ein Hologrammmedium, ein optischer Kombinierer, ein optischer Reflektor oder eine Kombination davon sein. In einigen Implementierungen kann das transparente oder transluzente Display konfiguriert sein, um selektiv opak zu werden. Projektionsbasierte Systeme können eine retinale Projektionstechnologie einsetzen, die grafische Bilder auf die Netzhaut einer Person projiziert. Projektionssysteme können auch so konfiguriert sein, dass sie virtuelle Objekte in die physische Umgebung projizieren, beispielsweise als Hologramm oder auf einer physischen Oberfläche.
  • In dem Beispiel von 12 ist die Vorrichtung 1220 als eine einzige Vorrichtung veranschaulicht. Einige Implementierungen der Vorrichtung 1220 werden handgehalten. Zum Beispiel kann die Vorrichtung 1220 ein Mobiltelefon, ein Tablet, ein Laptop usw. sein. In einigen Implementierungen wird die Vorrichtung 1220 von einem Benutzer 1215 getragen. Zum Beispiel kann die Vorrichtung 1220 eine Uhr, ein Smartphone, eine Tablet usw. sein. In einigen Implementierungen werden Funktionen der Vorrichtung 1220 über zwei oder mehr Vorrichtungen erreicht, zum Beispiel zusätzlich einschließlich einer optionalen Basisstation. Andere Beispiele schließen einen Laptop, Desktop, Server oder eine andere solche Vorrichtung ein, die zusätzliche Fähigkeiten in Bezug auf Leistung, CPU-Fähigkeiten, GPU-Fähigkeiten, Speicherungsfähigkeiten, Speicherfähigkeiten und dergleichen einschließt. Die mehreren Vorrichtungen, die verwendet werden können, um die Funktionen der Vorrichtung 1220 zu erreichen, können über drahtgebundene oder drahtlose Kommunikationen miteinander kommunizieren.
  • 13 veranschaulicht ein Blockdiagramm einer beispielhaften Vorrichtung 1300. Die Vorrichtung 1300 veranschaulicht eine beispielhafte Vorrichtungskonfiguration für die Vorrichtung 1220. Während bestimmte Merkmale veranschaulicht sind, wird der Durchschnittsfachmann aus der vorliegenden Offenbarung erkennen, dass verschiedene andere Merkmale der Kürze halber nicht veranschaulicht worden sind, um relevantere Gesichtspunkte der hierin offenbarten Implementierungen nicht zu verunklaren. Zu diesem Zweck schließt die elektronische Vorrichtung 1300 in einigen Implementierungen als ein nicht einschränkendes Beispiel eine oder mehrere Verarbeitungseinheiten 1302 (z. B. Mikroprozessoren, ASICs, FPGAs, GPUs, CPUs, Verarbeitungskerne oder dergleichen), eine oder mehrere Eingabe/Ausgabe-Vorrichtungen (E/A-Vorrichtungen) und Sensoren 1306, eine oder mehrere Kommunikationsschnittstellen 1308 (z. B. USB, FIREWIRE, THUNDERBOLT, IEEE 802.3x, IEEE 802.11x, IEEE 802.16x, GSM, CDMA, TDMA, GPS, IR, BLUETOOTH, ZIGBEE, SPI, I2C oder dergleichen Schnittstellentypen), eine oder mehrere Programmierschnittstellen (z. B. E/A-Schnittstellen) 1310, eine oder mehrere Anzeigen 1312, ein oder mehrere nach innen und/oder nach außen gerichtete Sensorsysteme 1314, einen Speicher 1320 und einen oder mehrere Kommunikationsbusse 1304 zum Verbinden dieser und verschiedener anderer Komponenten ein.
  • In einigen Implementierungen schließen der eine oder die mehreren Kommunikationsbusse 1304 Schaltlogik ein, welche die Kommunikationen zwischen Systemkomponenten miteinander verbindet und steuert. In einigen Implementierungen schließen die eine oder mehreren E/A-Vorrichtungen und Sensoren 1306 mindestens eines von einer Trägheitsmesseinheit (IMU: inertial measurement unit), einem Beschleunigungssensor, einem Magnetometer, einem Gyroskop, einem Thermometer, einem oder mehreren physiologischen Sensoren (z. B. Blutdruckmessgerät, Herzfrequenzmessgerät, Blutsauerstoffsensor, Blutzuckersensor usw.), ein oder mehrere Mikrofone, ein oder mehrere Lautsprecher, einen Haptik-Motor, ein oder mehrere Tiefensensoren (z. B. ein strukturiertes Licht, eine Flugzeit oder dergleichen) oder dergleichen ein.
  • In einigen Implementierungen sind die eine oder die mehreren Anzeigen 1312 konfiguriert, um dem Benutzer den Inhalt darzustellen. In einigen Implementierungen entsprechen die eine oder die mehreren Anzeigen 1312 einer holografischen Anzeige, DLP-Anzeige (digital light processing), LCD-Anzeige (liquid-crystal display), LCoS-Anzeige (liquid crystal on silicon), OLET-Anzeige (organic light-emitting field-effect transitory), OLED-Anzeige (organic light-emitting diode), SED-Anzeige (surface-conduction electron-emitter), FED-Anzeige (field-emission display), QD-LED-Anzeige (quantum-dot light-emitting diode), MEMS-Anzeige (micro-electro-mechanical system) oder ähnlichen Anzeigearten. In einigen Implementierungen entsprechen die eine oder die mehreren Anzeigen 1312 diffraktiven, reflektiven, polarisierten, holographischen usw. Wellenleiteranzeigen. Zum Beispiel kann die elektronische Vorrichtung 1300 eine einzige Anzeige einschließen. In einem weiteren Beispiel schließt die elektronische Vorrichtung 1300 eine Anzeige für jedes Auge des Benutzers ein.
  • In einigen Implementierungen schließen die eine oder die mehreren nach innen oder außen gerichteten Sensorsysteme 1314 eine Bilderfassungsvorrichtung oder -anordnung, die Bilddaten erfasst, oder eine Audioerfassungsvorrichtung oder -anordnung (z. B. ein Mikrofon), die Audiodaten erfasst, ein. Der eine oder die mehreren Bildsensorsysteme 1314 können eine oder mehrere RGB-Kameras (z. B. mit einem Bildsensor eines komplementären Metalloxid-Halbleiters (CMOS) oder einem Bildsensor einer ladungsgekoppelten Vorrichtung (CCD)), Monochrom-Kameras, IR-Kameras oder dergleichen einschließen. In verschiedenen Implementierungen schließen das eine oder die mehreren Bildsensorsysteme 1314 ferner eine Beleuchtungsquelle ein, die Licht, wie ein Blitzlicht, emittiert. In einigen Implementierungen schließen das eine oder die mehreren Bildsensorsysteme 1314 ferner einen kamerainternen Bildsignalprozessor (ISP) ein, der konfiguriert ist, um eine Vielzahl von Verarbeitungsvorgängen an den Bilddaten auszuführen.
  • Der Speicher 1320 schließt Hochgeschwindigkeitsdirektzugriffsspeicher, wie DRAM, SRAM, DDR-RAM oder andere Festkörperdirektzugriffsspeichervorrichtungen, ein. In einigen Implementierungen schließt der Speicher 1320 einen nichtflüchtigen Speicher, wie eine oder mehrere Magnetplattenspeichervorrichtungen, optische Plattenspeichervorrichtungen, Flash-Speichervorrichtungen oder andere nichtflüchtige Festkörperspeichervorrichtungen, ein. Der Speicher 1320 schließt optional eine oder mehrere Speichervorrichtungen ein, die sich entfernt von der einen oder den mehreren Verarbeitungseinheiten 1302 befinden. Der Speicher 1320 umfasst ein nichtflüchtiges computerlesbares Speichermedium.
  • In einigen Implementierungen speichert der Speicher 1320 oder das nichtflüchtige computerlesbare Speichermedium des Speichers 1320 ein optionales Betriebssystem 1330 und einen oder mehrere Befehlsatz/-sätze 1340. Das Betriebssystem 1330 schließt Prozeduren zum Handhaben verschiedener grundlegender Systemdienste und zum Durchführen hardwareabhängiger Aufgaben ein. In einigen Implementierungen schließen der/die Befehlssatz/-sätze 1340 ausführbare Software ein, die durch binäre Informationen definiert ist, die in Form von elektrischer Ladung gespeichert sind. In einigen Implementierungen sind der/die Befehlssatz/-sätze 1340 Software, die von der einen oder den mehreren Verarbeitungseinheiten 1302 ausführbar sind, um eine oder mehrere der hierin beschriebenen Techniken auszuführen.
  • In einigen Implementierungen schließen der oder die Befehlssatz/-sätze 1340 einen 3D-Messgenerator 1342 ein, der durch die Verarbeitungseinheit(en) 1302 ausführbar ist, um Messungen in einer 3D-Umgebung gemäß einer oder mehreren der hierin offenbarten Techniken zu bestimmen.
  • Obwohl der/die Befehlssatz/-sätze 1340 als auf einer einzigen Vorrichtung befindlich dargestellt sind, versteht es sich, dass in anderen Implementierungen jede Kombination der Elemente in separaten Rechenvorrichtungen angeordnet sein kann. 13 ist eher als eine funktionale Beschreibung der verschiedenen Merkmale gedacht, die in einer bestimmten Implementierung vorhanden sind, im Gegensatz zu einem strukturellen Schema der hierin beschriebenen Implementierungen. Wie der Durchschnittsfachmann erkennt, könnten separat gezeigte Elemente kombiniert werden und könnten einige Elemente getrennt werden. Zum Beispiel varrieren die tatsächliche Anzahl von Befehlssätzen und die Aufteilung bestimmter Funktionen und wie die Merkmale ihnen zugeordnet sind von einer Implementierung zu einer anderen und hängen in einigen Implementierungen teilweise von der bestimmten Kombination von Hardware, Software oder Firmware ab, die für eine bestimmte Implementierung gewählt wird.
  • Es wird daher ersichtlich sein, dass die vorstehend beschriebenen Implementierungen in beispielhafter Weise angeführt werden, und dass die vorliegende Erfindung nicht auf das beschränkt ist, was hierin vorstehend im Einzelnen gezeigt und beschrieben worden ist. Vielmehr schließt der Umfang sowohl Kombinationen und Teilkombinationen der verschiedenen hierein vorstehend beschriebenen Merkmale als auch Variationen und Modifikationen davon ein, die dem Fachmann beim Lesen der vorhergehenden Beschreibung klar sind und die im Stand der Technik nicht offenbart sind.
  • Der Durchschnittsfachmann wird erkennen, dass gut bekannte Systeme, Verfahren, Komponenten, Vorrichtungen und Schaltungen nicht ausführlich beschrieben sind, um relevantere Gesichtspunkte der hierin beschriebenen beispielhaften Implementierungen nicht zu verunklaren. Darüber hinaus schließen andere geltende Gesichtspunkte und/oder Varianten nicht alle hierin beschriebenen spezifischen Details ein. Somit werden mehrere Details beschrieben, um ein gründliches Verständnis der in den Zeichnungen gezeigten beispielhaften Gesichtspunkte bereitzustellen. Darüber hinaus zeigen die Zeichnungen lediglich einige beispielhafte Ausführungsformen der vorliegenden Offenbarung und sind daher nicht als einschränkend zu betrachten.
  • Während diese Spezifikation viele spezifische Umsetzungsdetails enthält, sollten diese nicht als Beschränkungen des Umfangs von irgendwelchen Erfindungen oder von dem, was beansprucht werden kann, sondern eher als Beschreibungen von Merkmalen, die spezifisch für bestimmte Ausführungsformen bestimmter Erfindungen sind, ausgelegt werden. Bestimmte Merkmale, die in dieser Beschreibung im Zusammenhang mit separaten Ausführungsformen beschrieben sind, können auch in Kombination in einer einzigen Ausführungsform umgesetzt werden. Umgekehrt können verschiedene Merkmale, die im Zusammenhang mit einer einzigen Ausführungsform beschrieben werden, auch in mehreren Ausführungsformen getrennt oder in einer beliebigen geeigneten Unterkombination umgesetzt werden. Außerdem können, obwohl Merkmale vorstehend als in bestimmten Kombinationen wirksam beschrieben und sogar anfänglich als solche beansprucht werden können, ein oder mehrere Merkmale aus einer beanspruchten Kombination in einigen Fällen aus der Kombination herausgeschnitten werden, und die beanspruchte Kombination kann auf eine Unterkombination oder Variation einer Unterkombination gerichtet sein.
  • In gleicher Weise sollte, obwohl Operationen in den Zeichnungen in einer bestimmten Reihenfolge, dies nicht so verstanden werden als dass solche Operationen in der bestimmten gezeigten Reihenfolge oder in sequentieller Reihenfolge durchgeführt werden, oder dass alle dargestellten Operationen durchgeführt werden, um die gewünschten Ergebnisse zu erreichen. Beispielsweise können unter bestimmten Umständen Multitasking und Parallelverarbeitung vorteilhaft sein. Darüber hinaus sollte die Trennung der verschiedenen Systemkomponenten in den oben beschriebenen Ausführungsformen nicht so verstanden werden, als dass eine solche Trennung in allen Ausführungsformen notwendig wäre, und es sollte verstanden werden, dass die beschriebenen Programmkomponenten und Systeme im Allgemeinen zusammen in einem einzelnen Softwareprodukt integriert oder in mehrere Softwareprodukte gepackt sein können.
  • Somit wurden bestimmte Ausführungsformen des Gegenstands beschrieben. Andere Ausführungsformen liegen innerhalb des Schutzumfangs der folgenden Ansprüche. In einigen Fällen können die in den Ansprüchen angegebenen Aktionen in einer anderen Reihenfolge durchgeführt werden und dennoch wünschenswerte Ergebnisse erzielen. Zusätzlich erfordern die in den begleitenden Figuren dargestellten Prozesse nicht unbedingt die bestimmte Reihenfolge oder sequentielle Reihenfolge, um die gewünschten Ergebnisse zu erzielen. In bestimmten Implementierungen können Multitasking und Parallelverarbeitung vorteilhaft sein.
  • Ausführungsformen von in dieser Patentschrift beschriebenen Gegenständen und den Vorgängen können in digitaler elektronischer Schaltlogik oder in Computersoftware, Firmware oder Hardware implementiert werden, einschließlich der in dieser Patentschrift offenbarten Strukturen und ihrer strukturellen Äquivalente oder in Kombinationen von einem oder mehreren davon. Ausführungsformen des in dieser Patentschrift beschriebenen Gegenstands können als ein oder mehrere Computerprogramme implementiert werden, d. h. als ein oder mehrere Module von Computerprogrammanweisungen, die auf einem Computerspeichermedium zur Ausführung durch oder zur Steuerung des Betriebs einer Datenverarbeitungsvorrichtung codiert sind. Alternativ oder zusätzlich können die Programmanweisungen auf einem künstlich erzeugten ausgebreiteten Signal codiert werden, z. B. einem maschinenerzeugten elektrischen, optischen oder elektromagnetischen Signal, das erzeugt wird, um Informationen zur Übertragung an eine geeignete Empfängervorrichtung zur Ausführung durch eine Datenverarbeitungsvorrichtung zu codieren. Ein Computerspeichermedium kann eine computerlesbare Speichervorrichtung, ein computerlesbares Speichersubstrat, eine Speicheranordnung oder eine Speichervorrichtung mit wahlfreiem oder seriellem Zugriff oder eine Kombination von einem oder mehreren davon sein oder ist darin enthalten. Darüber hinaus kann, während ein Computerspeichermedium kein verbreitetes Signal ist, ein Computerspeichermedium eine Quelle oder ein Ziel von Computerprogrammanweisungen sein, die in einem künstlich erzeugten verbreiteten Signal codiert sind. Das Computerspeichermedium kann auch eine oder mehrere separate physische Komponenten oder Medien (z. B. mehrere CDs, Festplatten oder andere Speichervorrichtungen) sein oder darin enthalten sein.
  • Der Begriff „Datenverarbeitungsvorrichtung“ umfasst alle Arten von Geräten, Vorrichtungen und Maschinen zum Verarbeiten von Daten, einschließlich beispielhaft eines programmierbaren Prozessors, eines Computers, eines Systems auf einem Chip oder mehrerer oder Kombinationen davon. Die Vorrichtung kann spezielle Logikschaltungen, z. B. ein FPGA (Field Programmable Gate Array) oder eine ASIC (Application Specific Integrated Circuit) einschließen. Die Vorrichtung kann zusätzlich zu Hardware auch einen Code einschließen, der eine Ausführungsumgebung für das betreffende Computerprogramm erzeugt, z. B. ein Code, der Prozessorfirmware, einen Protokollstapel, ein Datenbankverwaltungssystem, ein Betriebssystem, eine plattformübergreifende Laufzeitumgebung, eine virtuelle Maschine oder eine Kombination von einem oder mehreren davon darstellt. Die Vorrichtung und die Ausführungsumgebung können verschiedene unterschiedliche Rechenmodellinfrastrukturen realisieren, wie Webdienste, verteilte Rechen- und Gitterrecheninfrastrukturen. Sofern nicht speziell anders angegeben, wird anerkannt, dass die in dieser Beschreibung enthaltenen Erläuterungen unter Verwendung von Begriffen wie „Verarbeiten“, „Rechnen“, „Berechnen“, „Bestimmen“ und „Identifizieren“ oder dergleichen sich auf Vorgänge oder Verfahren von einer Rechenvorrichtung beziehen, wie einem oder mehreren Computern oder einer ähnlichen elektronischen Vorrichtung oder Vorrichtungen, die Daten manipulieren oder umwandeln, die als physikalische elektronische oder magnetische Mengen in den Speichern, Registern oder anderen Vorrichtungen zur Informationsspeicherung, Übertragungsvorrichtungen oder Anzeigevorrichtungen der Computerplattform dargestellt werden.
  • Das System oder die Systeme, die hier diskutiert werden, sind nicht auf irgendeine spezielle Hardwarearchitektur oder Konfiguration beschränkt. Eine Rechenvorrichtung kann jede geeignete Anordnung von Komponenten einschließen, die ein auf einer oder mehreren Eingaben beruhendes Ergebnis liefert. Geeignete Rechenvorrichtungen schließen universelle mikroprozessorbasierte Computersysteme ein, die auf gespeicherte Software zugreifen, die das Rechensystem von einer Allzweckrechenvorrichtung zu einer spezialisierten Rechenvorrichtung programmiert oder konfiguriert, die eine oder mehrere Implementierungen des vorliegenden Gegenstands implementiert. Jede geeignete Programmier-, Skript- oder jede andere Art von Sprache oder Kombinationen von Sprachen können verwendet werden, um die hier enthaltenen Lehren in Software zu implementieren, die beim Programmieren oder Konfigurieren einer Computervorrichtung zu verwenden ist.
  • Implementierungen der hier offenbarten Verfahren können bei dem Betrieb solcher Rechenvorrichtungen durchgeführt werden. Die Reihenfolge der Blöcke, die in den obigen Beispielen dargestellt sind, kann beispielsweise variiert werden, Blöcke können neu geordnet, kombiniert bzw. in Unterblöcke zerlegt werden. Bestimmte Blöcke oder Prozesse können parallel durchgeführt werden. Die in dieser Patentschrift beschriebenen Vorgänge können als Vorgänge implementiert werden, die von einer Datenverarbeitungsvorrichtung auf Daten durchgeführt werden, die auf einer oder mehreren computerlesbaren Speichervorrichtungen gespeichert sind oder von anderen Quellen empfangen werden.
  • Die Verwendung von „angepasst für“ oder „konfiguriert zu“ hierin ist als offene und einschließende Sprache gemeint, die keine Vorrichtungen ausschließt, die an zusätzliche Aufgaben oder Schritte angepasst sind oder dafür konfiguriert sind, zusätzliche Aufgaben oder Schritte auszuführen. Zusätzlich soll die Verwendung „basierend auf‟ offen und einschließend sein, indem ein Prozess, Schritt, eine Berechnung oder eine andere Aktion, die auf der einen oder den mehreren angegebenen Bedingungen oder Werten basiert, in der Praxis auf zusätzlichen Bedingungen oder einem Wert über die genannten hinaus basieren kann. Die hier enthaltenen Überschriften, Listen und Nummerierungen dienen nur zur Erleichterung der Erläuterung und sollen nicht einschränkend sein.
  • Es versteht sich auch, dass, wenngleich die Begriffe „erste(r)“, „zweite(r)“ usw. hierin verwendet sein können, um verschiedene Elemente zu beschreiben, diese Elemente nicht durch diese Begriffe eingeschränkt werden. Diese Begriffe werden nur verwendet, um ein Element von einem anderen zu unterscheiden. Zum Beispiel könnte ein erster Knoten als ein zweiter Knoten bezeichnet werden, und in ähnlicher Weise könnte ein zweiter Knoten als erster Knoten bezeichnet werden, ohne die Bedeutung der Beschreibung zu ändern, solange jedes Vorkommen des „ersten Knotens“ konsequent umbenannt wird und jedes Vorkommen des „zweiten Knotens“ konsequent umbenannt wird. Bei dem ersten Knoten und dem zweiten Knoten handelt es sich bei beiden um Knoten, es handelt sich jedoch nicht um denselben Knoten.
  • Die hierin verwendete Terminologie dient lediglich der Beschreibung bestimmter Implementierungen und ist nicht dazu beabsichtigt, die Ansprüche einzuschränken. Wie in der Beschreibung der Implementierungen und den beiliegenden Ansprüchen verwendet, sollen die Singularformen „ein“, „eine“, „der“, „die“ und „das“ auch die Pluralformen einschließen, sofern es im Kontext nicht eindeutig anders angegeben ist. Es versteht sich auch, dass der Begriff „und/oder“, so wie er hierin verwendet wird, sich auf jegliche und alle möglichen Kombinationen von einem oder mehreren der damit zusammenhängenden, aufgeführten Elemente bezieht und diese einschließt. Es versteht sich ferner, dass die Begriffe „umfasst“ und/oder „umfassend“, wenn sie in dieser Patentschrift verwendet werden, das Vorhandensein von aufgeführten Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen und/oder Komponenten angeben, aber das Vorhandensein oder das Hinzufügen von einem oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Vorgängen, Elementen, Komponenten und/oder Gruppen davon nicht ausschließen.
  • Wie hierin verwendet, kann der Begriff „wenn“ als „falls“ oder „bei“ oder „infolge des Bestimmens“ oder „gemäß einer Bestimmung“ oder „infolge des Bestimmens“, dass eine genannte vorausgehende Bedingung, abhängig vom Kontext, erfüllt ist, verstanden werden. Ähnlich kann die Wendung „wenn bestimmt wird, [dass eine genannte vorausgehende Bedingung erfüllt ist]“ oder „falls [eine genannte vorausgehende Bedingung erfüllt ist]“ oder „wenn [eine genannte vorausgehende Bedingung erfüllt ist]“ als „bei Bestimmung“ oder „bei einer Bestimmung, dass“ oder „gemäß einer Bestimmung“ oder „beim Erkennen“ oder „infolge des Erkennens“ so interpretiert werden, dass eine genannte vorausgehende Bedingung, abhängig vom Kontext, erfüllt ist.

Claims (15)

  1. Verfahren, umfassend: an einem Prozessor: Bestimmen einer dreidimensionalen Position (3D-Position) eines Fingers in einer 3D-Umgebung; Bestimmen einer 3D-Position eines Blickwinkels, wobei die 3D-Umgebung basierend auf dem Blickwinkel betrachtet wird; Bestimmen einer Richtung in der 3D-Umgebung basierend auf der 3D-Position des Blickwinkels und der 3D-Position des Fingers; Bestimmen einer 3D-Position eines Messpunkts in der 3D-Umgebung basierend auf der Richtung; und Bereitstellen einer Messung basierend auf der 3D-Position des Messpunkts.
  2. Verfahren nach Anspruch 1, wobei das Bestimmen der 3D-Position des Fingers das Erfassen des Fingers in einem Bild der 3D-Umgebung basierend auf Farbe, Form oder Verbindung zu einem Arm oder Handgelenk umfasst.
  3. Verfahren nach Anspruch 1, wobei das Bestimmen der 3D-Position des Fingers das Erfassen entweder eines ersten Zustands des Fingers, bei dem der Finger ein Objekt in der 3D-Umgebung berührt oder das Erfassen eines zweiten Zustands des Fingers umfasst, bei dem der Finger auf das Objekt in der 3D-Umgebung ausgerichtet ist.
  4. Verfahren nach Anspruch 1, wobei das Bestimmen der 3D-Position des Blickwinkels das Bestimmen einer Position eines Messauges eines Benutzers oder einer Position eines Bildsensors einer mobilen elektronischen Vorrichtung umfasst, wobei das Messauge basierend darauf ausgewählt wird, dass das Messauge offenen ist, dass das Messauge das dominante Auge ist oder dass das Messauge vorausgewählt ist, und wobei die Position des Bildsensors basierend auf der Verfolgung der Position der mobilen elektronischen Vorrichtung über Bewegungssensoren oder Bildsensoren bestimmt wird, die Bilder der 3D-Umgebung aufnehmen.
  5. Verfahren nach Anspruch 1, wobei das Bestimmen der 3D-Position des Messpunkts umfasst: Erweitern einer Linie von dem Blickwinkel durch eine Fingerspitze des Fingers in der 3D-Umgebung; und Bestimmen eines Schnittpunkts der Linie und eines Objekts in der 3D-Umgebung.
  6. Verfahren nach Anspruch 1, wobei die Messung ein Abstand zu dem Messpunkt, ein Abstand zwischen dem Messpunkt und einem zweiten Messpunkt, ein Oberflächenbereich, der basierend auf dem Messpunkt identifiziert wird, oder ein Volumen, das basierend auf dem Messpunkt identifiziert wird, ist.
  7. Verfahren nach Anspruch 6, wobei ein Satz von einer Vielzahl von Messpunkten bestimmt wird und der Satz von Messpunkten verwendet wird, um die Messung bereitzustellen.
  8. Verfahren, umfassend: an einem Prozessor: Erfassen eines Fingers in einer 3D-Umgebung; Bestimmen eines Zustands des Fingers basierend auf einem Bild der 3D-Umgebung; Auswählen einer Punktidentifikationstechnik, um eine 3D-Position eines Messpunkts basierend auf dem Zustand des Fingers zu identifizieren; Identifizieren der 3D-Position des Messpunkts basierend auf der ausgewählten Punktidentifikationstechnik und dem Bild der 3D-Umgebung; und Bereitstellen einer Messung basierend auf der 3D-Position des Messpunkts.
  9. Verfahren nach Anspruch 8, wobei das Bestimmen der 3D-Position des Fingers das Erfassen des Fingers in einem Bild der 3D-Umgebung basierend auf Farbe, Form oder Verbindung zu einem Arm oder Handgelenk umfasst.
  10. Verfahren nach Anspruch 8, wobei das Bestimmen des Zustands des Fingers basierend auf einem Bild der 3D-Umgebung (i) das Verwenden einer maschinellen Lernklassifizierung, (ii) das Verwenden einer Tiefe um eine Spitze des Fingers in der 3D-Umgebung und einer Tiefe der Fingerspitze, (iii) das Bewerten eines Erscheinungsbilds oder einer Positionierung des Fingers relativ zu einer mobilen elektronischen Vorrichtung, (iv) das Erfassen eines Schatten des Fingers, (v) das Bewerten von Hautverformung oder Farbmodifikation des Fingers beim Berühren oder (vi) das Schätzen, ob sich eine Oberfläche von Interesse unter Verwendung von Tiefenschätzung und Blickverfolgung nahe dem Finger befindet, umfasst.
  11. Verfahren nach Anspruch 8, wobei die ausgewählte Punktidentifikationstechnik eine erste berührende Punktidentifikationstechnik oder eine zweite zeigende Punktidentifikationstechnik basierend auf dem Zustand des Fingers umfasst.
  12. Verfahren nach Anspruch 8, wobei das Bestimmen der 3D-Position des Messpunkts das Identifizieren eines Objekts in der 3D-Umgebung angrenzend an eine Fingerspitze des Fingers umfasst.
  13. Verfahren nach Anspruch 8, wobei das Bestimmen der 3D-Position des Messpunkts umfasst: Erweitern einer Linie von dem Blickwinkel durch eine Fingerspitze des Fingers in der 3D-Umgebung; und Bestimmen eines Schnittpunkts der Linie und eines Objekts in der 3D-Umgebung.
  14. Verfahren nach Anspruch 8, wobei die Messung ein Abstand zu dem Messpunkt, ein Abstand zwischen dem Messpunkt und einem zweiten Messpunkt, ein Oberflächenbereich, der basierend auf dem Messpunkt identifiziert wird, oder ein Volumen, das basierend auf dem Messpunkt identifiziert wird, ist.
  15. System, umfassend: Speicher; und einen oder mehrere Prozessoren an einer Vorrichtung, der/die mit dem Speicher gekoppelt ist/sind, wobei der Speicher Programmanweisungen umfasst, die, wenn sie auf dem einen oder den mehreren Prozessoren ausgeführt werden, bewirken, dass das System Vorgänge durchführt, umfassend: Bestimmen einer dreidimensionalen Position (3D-Position) eines Fingers in einer 3D-Umgebung; Bestimmen einer 3D-Position eines Blickwinkels, wobei die 3D-Umgebung basierend auf dem Blickwinkel betrachtet wird; Bestimmen einer Richtung in der 3D-Umgebung basierend auf der 3D-Position des Blickwinkels und der 3D-Position des Fingers; Bestimmen einer 3D-Position eines Messpunkts in der 3D-Umgebung basierend auf der Richtung; und Bereitstellen einer Messung basierend auf der 3D-Position des Messpunkts.
DE102022201468.5A 2021-02-12 2022-02-11 Messung basierend auf punktauswahl Pending DE102022201468A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163148796P 2021-02-12 2021-02-12
US63/148,796 2021-02-12
US17/668,868 2022-02-10
US17/668,868 US20220261085A1 (en) 2021-02-12 2022-02-10 Measurement based on point selection

Publications (1)

Publication Number Publication Date
DE102022201468A1 true DE102022201468A1 (de) 2022-08-18

Family

ID=82610874

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022201468.5A Pending DE102022201468A1 (de) 2021-02-12 2022-02-11 Messung basierend auf punktauswahl

Country Status (4)

Country Link
US (1) US20220261085A1 (de)
KR (1) KR20220115886A (de)
CN (1) CN114923418A (de)
DE (1) DE102022201468A1 (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230300310A1 (en) * 2022-03-18 2023-09-21 Htc Corporation Wearable device and control method thereof

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101489467B (zh) * 2006-07-14 2011-05-04 松下电器产业株式会社 视线方向检测装置和视线方向检测方法
DE102008020772A1 (de) * 2008-04-21 2009-10-22 Carl Zeiss 3D Metrology Services Gmbh Darstellung von Ergebnissen einer Vermessung von Werkstücken
US9041775B2 (en) * 2011-03-23 2015-05-26 Mgestyk Technologies Inc. Apparatus and system for interfacing with computers and other electronic devices through gestures by using depth sensing and methods of use
JP6146094B2 (ja) * 2013-04-02 2017-06-14 富士通株式会社 情報操作表示システム、表示プログラム、および、表示方法
US20150323998A1 (en) * 2014-05-06 2015-11-12 Qualcomm Incorporated Enhanced user interface for a wearable electronic device
US20160147408A1 (en) * 2014-11-25 2016-05-26 Johnathan Bevis Virtual measurement tool for a wearable visualization device
JP6618276B2 (ja) * 2015-05-29 2019-12-11 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及び記憶媒体
US9792687B2 (en) * 2015-08-31 2017-10-17 Intel Corporation Point-to-point distance measurements in 3D camera images
CN106705837B (zh) * 2015-11-17 2019-12-06 华为技术有限公司 一种基于手势的物体测量方法及装置
US10942024B2 (en) * 2016-02-02 2021-03-09 Sony Corporation Information processing apparatus, information processing method, and recording medium
US10852913B2 (en) * 2016-06-21 2020-12-01 Samsung Electronics Co., Ltd. Remote hover touch system and method
JP6955369B2 (ja) * 2017-05-22 2021-10-27 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム
EP3524926B1 (de) * 2018-02-08 2020-05-20 Leica Geosystems AG Auf erweiterter realität basierendes system mit perimeterdefinitionsfunktionalität und entsprechendes inspektionsverfahren
US11126257B2 (en) * 2018-04-17 2021-09-21 Toyota Research Institute, Inc. System and method for detecting human gaze and gesture in unconstrained environments
CN109579745A (zh) * 2018-11-26 2019-04-05 江苏科技大学 基于增强现实和手机软件的新型房屋面积测算方法
CN110136190A (zh) * 2019-03-26 2019-08-16 华为技术有限公司 一种测距方法及电子设备
CN111443802B (zh) * 2020-03-25 2023-01-17 维沃移动通信有限公司 测量方法及电子设备

Also Published As

Publication number Publication date
KR20220115886A (ko) 2022-08-19
US20220261085A1 (en) 2022-08-18
CN114923418A (zh) 2022-08-19

Similar Documents

Publication Publication Date Title
CN114402589B (zh) 用于2d和3d图形用户界面中的元素映射的智能触笔光束和辅助概率输入
DE202017104403U1 (de) Erkennen des Benutzerbewegungsbereichs für Virtual-Reality-Benutzeroberflächen
CN110633008B (zh) 用户交互解释器
CN108780358A (zh) 基于视场显示三维虚拟对象
DE202017106773U1 (de) Okulare Videostabilisierung
DE112016004114T5 (de) Stereorenderingsystem
DE102018103572A1 (de) Informationsverarbeitungseinrichtung, informationsverarbeitungsverfahren und aufzeichnungsmedium
DE202017006742U1 (de) Eingabegerät-Stabilisierungstechniken für virtuelle Realitätssysteme
DE202018006448U1 (de) Skalieren eines Bilds eines Gesichts eines Sprechers basierend auf dem Abstand eines Gesichts und einer Grösse einer Anzeige
US20220157083A1 (en) Gesture tracking system
DE102020116144A1 (de) Virtuelle inhalte, positioniert basierend auf detektiertem objekt
DE102019218787A1 (de) Verfahren, vorrichtung und system zum erzeugen von mit einer darstellung eines artikels verbundenen angeboten
DE102014114131A1 (de) Verfahren zur Informationsverarbeitung und elektronisches Gerät
DE102022201468A1 (de) Messung basierend auf punktauswahl
DE102022110363A1 (de) Verfahren und vorrichtung zur debugging-programmausführung und inhaltswiedergabe
CN117337426A (zh) 音频加强的增强现实
US20240144533A1 (en) Multi-modal tracking of an input device
US11321926B2 (en) Method and device for content placement
US11544865B1 (en) Posture detection and correction
DE102023206172A1 (de) Positionieren von inhalt innerhalb von 3d-umgebungen
US20230290042A1 (en) Content playback and modifications in a 3d environment
DE102022107945A1 (de) Lokalisierungsgenauigkeitsreaktion
DE112018007292T5 (de) Datenverarbeitungsvorrichtung, datenverarbeitungsverfahren und aufzeichnungsmedium
DE102022113648A1 (de) Transparente einsatzidentifikation
DE112019003239T5 (de) Breakpoints auf view-basis

Legal Events

Date Code Title Description
R012 Request for examination validly filed