DE202018000405U1 - Determine sparse against dense pattern lighting - Google Patents

Determine sparse against dense pattern lighting Download PDF

Info

Publication number
DE202018000405U1
DE202018000405U1 DE202018000405.7U DE202018000405U DE202018000405U1 DE 202018000405 U1 DE202018000405 U1 DE 202018000405U1 DE 202018000405 U DE202018000405 U DE 202018000405U DE 202018000405 U1 DE202018000405 U1 DE 202018000405U1
Authority
DE
Germany
Prior art keywords
user
distance
image
illumination
camera
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202018000405.7U
Other languages
German (de)
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
Priority to DE202018000405.7U priority Critical patent/DE202018000405U1/en
Publication of DE202018000405U1 publication Critical patent/DE202018000405U1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/14Measuring arrangements characterised by the use of optical techniques for measuring distance or clearance between spaced objects or spaced apertures
    • 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/24Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures
    • G01B11/25Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object
    • G01B11/2513Measuring arrangements characterised by the use of optical techniques for measuring contours or curvatures by projecting a pattern, e.g. one or more lines, moiré fringes on the object with several lines being projected in more than one direction, e.g. grids, patterns
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/02Systems using the reflection of electromagnetic waves other than radio waves
    • G01S17/06Systems determining position data of a target
    • G01S17/46Indirect determination of position data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24137Distances to cluster centroïds
    • G06F18/2414Smoothing the distance, e.g. radial basis function networks [RBFN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • G06V10/145Illumination specially adapted for pattern recognition, e.g. using gratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects
    • G06V2201/121Acquisition of 3D measurements of objects using special illumination

Abstract

Vorrichtung, umfassend:- Mittel zum Beurteilen eines Abstandes zwischen einem oder mehreren Benutzern und einer Kamera, angeordnet auf einer Vorrichtung, wobei die Vorrichtung einen Computerprozessor und einen Speicher umfasst, wobei der Abstand unter Verwendung von mindestens einem Sensor beurteilt wird, welcher auf der Vorrichtung angeordnet ist und an den Computerprozessor gekoppelt ist;- Mittel zum Bestimmen ob der beurteilte Abstand kleiner als ein Grenzwertabstand oder größer als der Grenzwertabstand ist;- Mittel zum Beleuchten von mindestens einem Benutzer mit Speckle-Musterbeleuchtung von einer Beleuchtung, die auf der Vorrichtung angeordnet ist, wobei:- falls der beurteilte Abstand kleiner ist als der Grenzwertabstand, weist die Speckle-Musterbeleuchtung eine erste Punktdichte auf; und- falls der beurteilte Abstand größer als der Grenzwertabstand ist, weist die Speckle-Musterbeleuchtung eine zweite Punktdichte auf, wobei die zweite Punktdichte größer als die erste Punktdichte ist.Apparatus comprising: means for assessing a distance between one or more users and a camera disposed on a device, the apparatus comprising a computer processor and a memory, the distance being assessed using at least one sensor located on the device and means coupled to the computer processor, means for determining whether the assessed distance is less than a threshold distance or greater than the threshold distance, means for illuminating at least one user with speckle pattern illumination from a lighting located on the device wherein: if the evaluated distance is less than the threshold distance, the speckle pattern illumination has a first dot density; and if the judged distance is greater than the threshold distance, the speckle pattern illumination has a second point density, the second point density being greater than the first point density.

Description

Technisches GebietTechnical area

Ausführungsformen, die hierin beschrieben sind, beziehen sich auf Systeme zum Beleuchten eines Subjekts in einem Bild, welches durch eine Kamera auf einer Vorrichtung aufgenommen wurde. Insbesondere beziehen sich Ausführungsformen, die hierin beschrieben sind, auf Bestimmen eines Typs von Beleuchtung basierend auf einem Abstand eines Subjekts von der Kamera.Embodiments described herein relate to systems for illuminating a subject in an image captured by a camera on a device. In particular, embodiments described herein relate to determining a type of illumination based on a distance of a subject from the camera.

Beschreibung des verwandten Stands der TechnikDescription of the Related Art

Gesichtserkennungsprozesse können verwendet werden um Nutzer von Computervorrichtungen mit einer Kamera zu authentifizieren. Gesichtserfassung kann in einem Gesichtserkennungsprozess verwendet werden um Gesichter zu identifizieren, welche für den Gesichtserkennungsprozess verwendet werden. In einigen Fällen wird Speckle Musterbeleuchtung in Gesichtserfassung und/oder Gesichtserkennungsprozessen verwendet um 3D-Map oder „Tiefenmap“ Bilder aufzunehmen. Beispiele von Tiefenmap Abbildung sind in U.S. Patent No. 8,150,142 von Freedman et al., U.S. Patent No. 8,749,796 von Pesach et al., und U.S. Patent No. 8,384,997 von Shpunt et al. beschrieben, welche hierin durch Bezugnahme eingeschlossen sind, als ob sie hierin vollständig dargelegt wären. Üblicherweise würde ein System sequenzielle Bilder von einer Szene unter Verwendung von sowohl der spärlichen Speckle Musterbeleuchtung aufnehmen als auch der dichten Speckle Musterbeleuchtung aufnehmen und dann würden beide der aufgenommenen Bilder analysiert werden um zu Bestimmen welches Beleuchtungsmuster für das gegenwärtige Subjekt von den Bildern besser geeignet ist. Das Aufnehmen und das Analysieren beider Bilder bevor eine Entscheidung getroffen wird welche Speckle Musterbeleuchtung zum Bestimmen von Tiefe in einer Szene verwendet werden soll, kann zeitaufwändig und energieverbrauchend sein, vor allem für mobile Geräte.Face recognition processes can be used to authenticate users of computing devices with a camera. Face detection can be used in a face recognition process to identify faces used for the face recognition process. In some cases, speckle pattern lighting is used in face detection and / or face recognition processes to capture 3D map or "depth map" images. Examples of depth map mapping are in US Pat. 8,150,142 by Freedman et al. US Pat. 8,749,796 by Pesach et al., and US Pat. 8,384,997 by Shpunt et al. which are incorporated herein by reference as if fully set forth herein. Typically, a system would capture sequential images of a scene using both the sparse speckle pattern illumination and the dense speckle pattern illumination, and then both of the captured images would be analyzed to determine which illumination pattern is more appropriate for the current subject of the images. Capturing and analyzing both images before deciding which speckle pattern light to use to determine depth in a scene can be time consuming and energy consuming, especially for mobile devices.

ZUSAMMENFASSUNGSUMMARY

Ein Abstand zwischen dem Gesicht eines Benutzers und dem Mobilgerät des Benutzers kann verwendet werden, um einen Beleuchtungstyp zu bestimmen, der zur Aufnahme eines Bildes verwendet werden soll. Der Abstand zwischen dem Gesicht des Benutzers und dem Mobilgerät kann durch Verwenden einer Kamera geschätzt werden, welche in dem Mobilgerät oder einem anderen Sensor eingeschlossen ist. Entweder das spärliche Muster oder das dichte Muster können zur Verwendung mit dem Gesicht des Benutzers ausgewählt werden, abhängig von dem geschätzten Abstand zwischen dem Gesicht des Benutzers und der Kamera. Falls das Gesicht des Benutzers in einem geringeren Abstand als ein Grenzwert von der Kamera entfernt ist, kann das spärliche Muster verwendet werden um Überlappung zwischen den Specks (z.B. Punkte) auf dem Gesicht des Benutzers in dem Beleuchtungsmuster zu verhindern. Falls das Gesicht des Benutzers weiter entfernt ist (z.B., größerer Abstand als der Grenzwert von der Kamera), dann kann das dichte Muster verwendet werden um erhöhte Auflösung in dem Bild bereitzustellen.A distance between a user's face and the user's mobile device may be used to determine an illumination type to be used to capture an image. The distance between the user's face and the mobile device may be estimated by using a camera included in the mobile device or other sensor. Either the sparse pattern or the dense pattern may be selected for use with the user's face, depending on the estimated distance between the user's face and the camera. If the user's face is at a distance closer than a threshold from the camera, the sparse pattern may be used to prevent overlap between the bacons (e.g., dots) on the user's face in the illumination pattern. If the user's face is farther away (e.g., greater distance than the camera's threshold), then the dense pattern can be used to provide increased resolution in the image.

Figurenlistelist of figures

Merkmale und Vorteile der Systeme und der Vorrichtung von den Ausführungsformen, welche in dieser Offenlegung beschrieben sind, werden erst unter Bezugnahme auf die folgende detaillierte Beschreibung von gegenwärtig bevorzugten, aber nichtsdestotrotz anschaulichen Ausführungsformen im Einklang mit den Ausführungsformen, welche in dieser Offenlegung beschrieben sind, voll wahrgenommen, wenn sie im Zusammenhang mit den beigefügten Zeichnungen berücksichtigt werden, in welchen:

  • 1 eine Darstellung von einer Ausführungsform von einer Vorrichtung zeigt, welche eine Kamera einschließt.
  • 2 eine Darstellung von einer Ausführungsform von einer Kamera zeigt.
  • 3 ein schematisches Diagramm von einer Ausführungsform von einer Beleuchtung zeigt.
  • 4 ein Diagramm von einer Ausführungsform von einer überlappenden Musterkonfiguration zeigt.
  • 5 ein Diagramm von einer Ausführungsform, welches dynamisches Steuern von projizierter Musterdichte veranschaulicht, zeigt.
  • 6 eine Darstellung von einer Ausführungsform von einem Prozessor auf einer Vorrichtung zeigt.
  • 7 eine Darstellung von einer Ausführungsform von einem neuralen Netzwerkmodul zeigt.
  • 8 ein Flussdiagramm für eine Ausführungsform von einem Trainingsprozess für ein neurales Netzwerkmodul zeigt.
  • 9 eine Darstellung von einer Ausführungsform von einem Prozessor mit einem neuralen Netzwerkmodul zeigt.
  • 10 ein Beispiel von einer Ausführungsform von einem Merkmalsraum mit Regionen zeigt.
  • 11 ein Flussdiagramm für eine Ausführungsform von einem Testprozess für ein neurales Netzwerkmodul zeigt.
  • 12 ein Flussdiagramm für eine Ausführungsform von einem Gesichtserfassungsprozess, welcher durch Verwenden eines neuralen Netzwerkmoduls auf einer Vorrichtung implementiert ist, zeigt.
  • 13 ein Flussdiagramm für eine Ausführungsform von einem Beleuchtungsbestimmungsprozess zeigt.
  • 14 ein Blockdiagramm von einer Ausführungsform von einem beispielhaften Computersystem zeigt.
  • 15 ein Blockdiagramm von einer Ausführungsform von einem computerzugänglichen Speichermedium zeigt.
Features and advantages of the systems and apparatus of the embodiments described in this disclosure will become more fully apparent upon reference to the following detailed description of presently preferred, but nonetheless illustrative embodiments, in accordance with the embodiments described in this disclosure when considered in conjunction with the attached drawings, in which:
  • 1 shows an illustration of an embodiment of a device that includes a camera.
  • 2 a representation of an embodiment of a camera shows.
  • 3 a schematic diagram of an embodiment of a lighting shows.
  • 4 shows a diagram of one embodiment of an overlapping pattern configuration.
  • 5 a diagram of an embodiment, which illustrates dynamic control of projected pattern density shows.
  • 6 shows an illustration of an embodiment of a processor on a device.
  • 7 shows an illustration of one embodiment of a neural network module.
  • 8th FIG. 10 shows a flowchart for one embodiment of a training process for a neural network module. FIG.
  • 9 shows an illustration of an embodiment of a processor with a neural network module.
  • 10 shows an example of one embodiment of a feature space with regions.
  • 11 FIG. 10 shows a flow chart for one embodiment of a neural network module testing process. FIG.
  • 12 a flow diagram for an embodiment of a face detection process, which is implemented by using a neural network module on a device shows.
  • 13 shows a flowchart for one embodiment of a lighting determination process.
  • 14 a block diagram of one embodiment of an exemplary computer system shows.
  • 15 shows a block diagram of one embodiment of a computer-accessible storage medium.

Während Ausführungsformen, die in dieser Offenlegung beschrieben sind, für diverse Modifikationen und alternative Formen empfänglich sein können, sind spezifische Ausführungsformen davon als Beispiele in den Zeichnungen gezeigt und werden hierin im Detail beschrieben. Es sollte jedoch verstanden werden, dass die Zeichnungen und detaillierte Beschreibung dazu nicht die Ausführungsformen zu der bestimmten Form, die offenbart ist, einschränken sollen, sondern im Gegenteil sollen alle Modifikationen, Äquivalente und Alternativen im Geiste und im Umfang der angehangenen Ansprüche abgedeckt sein. Die Überschriften, die hierin verwendet werden, sind nur für organisatorische Zwecke und sollen nicht verwendet werden um den Umfang der Beschreibung einzuschränken. Wie durchgehend in dieser Anmeldung verwendet, ist das Wort „kann“ in einem permissiven Sinne verwendet (d.h., bedeutend das Potenzial zu haben), anstatt in einem obligatorischen Sinne (d.h., bedeutend ein Muss). Ebenso, bedeuten die Wörter „einschließen“, „einschließend“, und „schließt ein“ einschließend, aber nicht darauf beschränkt.While embodiments described in this disclosure may be susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will be described in detail herein. It should be understood, however, that the drawings and detailed description thereof are not intended to limit the embodiments to the particular form disclosed, but on the contrary, all modifications, equivalents, and alternatives are intended to be included within the spirit and scope of the appended claims. The headings used herein are for organizational purposes only and should not be used to limit the scope of the description. As used throughout this application, the word "may" is used in a permissive sense (i.e., meaningful to have the potential) rather than in a mandatory sense (i.e., a must). Likewise, the words "include", "include" and "include" include, but are not limited to.

Diverse Einheiten, Schaltungen, oder andere Komponenten können als „konfiguriert zum“ Durchführen einer Aufgabe oder von Aufgaben beschrieben sein. In solchen Kontexten, ist „konfiguriert zum“ eine breite Rezitation von Struktur, welche generell „Schaltkreisanordnung aufweisend, welche“ die Aufgabe oder die Aufgaben während des Betriebs durchführt, bedeutet. Als solches, können die Einheit/Schaltung/Komponente konfiguriert sein die Aufgabe durchzuführen, selbst wenn die Einheit/Schaltung/Komponente gegenwärtig nicht eingeschaltet ist. Generell kann die Schaltung, welche die Struktur bildet, entsprechend dem „konfiguriert zum“, Hardwareschaltungen und/oder Speicher einschließen, welcher Programminstruktionen speichert, die ausführbar sind um den Betrieb umzusetzen. Der Speicher kann flüchtigen Speicher, wie zum Beispiel statischen oder dynamischen Speicher mit wahlweisem Zugriff und/oder nichtflüchtigen Speicher, wie zum Beispiel optischen oder magnetischen Festplattenspeicher, Flash Speicher, programmierbaren Nur-Lese-Speicher, usw. einschließen. Die Hardwareschaltungen können irgendeine Kombination von kombinatorischen Logikschaltungen, getakteten Speichervorrichtungen, wie zum Beispiel Flops, Register, Zwischenspeicher, usw., endliche Automaten, Speicher, wie zum Beispiel statischen Speicher mit wahlweisem Zugriff oder eingebetteten dynamischen Speicher mit wahlweisem Zugriff, individuell entworfene Schaltungen, programmierbare logische Felder, usw. einschließen. Ebenso können diverse Einheiten/Schaltungen/Komponenten als eine Aufgabe oder Aufgaben durchführend beschrieben werden, zweckmäßigerweise in der Beschreibung. Solche Beschreibungen sollten als den Ausdruck „konfiguriert zum“ einschließend interpretiert werden. Rezitieren einer Einheit/Schaltung/Komponente, welche konfiguriert ist zum Durchführen einer oder mehrerer Aufgaben, ist ausdrücklich nicht bestimmt 35 U.S.C. § 112(f) Interpretation für diese Einheit/Schaltung/Komponente geltend zu machen.Various units, circuits, or other components may be described as "configured to perform a task or tasks. In such contexts, "configured for" is a broad recitation of structure, which generally means "having circuitry that performs the task or tasks during operation. As such, the unit / circuit / component may be configured to perform the task even if the unit / circuit / component is not currently powered up. In general, the circuit that forms the structure may include "configured for" hardware circuits and / or memory that stores program instructions that are executable to implement the operation. The memory may include volatile memory, such as static or dynamic random access memory and / or nonvolatile memory, such as optical or magnetic hard disk memory, flash memory, programmable read only memory, and so on. The hardware circuits may be any combination of combinational logic circuits, clocked memory devices such as flops, registers, latches, etc., finite state machines, memory such as static random access memory or embedded random access dynamic memory, custom designed circuits, programmable memory include logical fields, etc. Likewise, various units / circuits / components may be described as performing a task or tasks, conveniently in the specification. Such descriptions should be interpreted as including the term "configured for". Reciting a unit / circuit / component configured to perform one or more tasks is expressly not intended. 35 U.S.C. § 112 (f) to assert interpretation for this unit / circuit / component.

In einer Ausführungsform können Hardwareschaltungen im Einklang mit dieser Offenbarung implementiert werden indem die Beschreibung der Schaltung in einer Hardwarebeschreibungssprache (hardware description language, HDL) wie Verilog oder VHDL kodiert wird. Die HDL-Beschreibung kann gegen eine Bibliothek von Zellen synthetisiert sein, welche für eine gegebene integrierte Schaltungsherstellungstechnologie konstruiert wurden, und können für Takten, Leistung, und andere Gründe modifiziert werden um in einer finalen Designdatenbank zu resultieren, welche an eine Fertigungsanlage übertragen werden können um Masken zu erzeugen und letztendlich die integrierte Schaltung zu produzieren. Manche Hardwareschaltungen oder Teile davon können auch in einem Schaltplaneditor maßgeschneidert werden und in den integrierten Schaltungsentwurf zusammen mit synthetisierter Schaltung aufgenommen werden. Die integrierten Schaltungen können Transistoren einschließen und können ferner andere Schaltungselemente einschließen (zum Beispiel passive Elemente wie Kondensatoren, Widerstände, Induktivitäten, usw.) und zwischen den Transistoren und Schaltungselementen zusammenschalten. Manche Ausführungsformen können mehrere integrierte Schaltungen implementieren, welche zusammengekoppelt sind um die Hardwareschaltungen zu implementieren, und/oder diskrete Elemente können in manchen Ausführungsformen verwendet werden.In one embodiment, hardware circuits may be implemented in accordance with this disclosure by encoding the description of the circuit in a hardware description language (HDL) such as Verilog or VHDL. The HDL description may be synthesized against a library of cells constructed for a given integrated circuit manufacturing technology and may be modified for clocks, performance, and other reasons to result in a final design database that can be transferred to a manufacturing facility Create masks and ultimately produce the integrated circuit. Some hardware circuits or parts thereof may also be tailored in a schematic editor and incorporated into the integrated circuit design along with synthesized circuitry. The integrated circuits may include transistors and may further include other circuit elements (eg, passive elements such as capacitors, resistors, inductors, etc.) and interconnect between the transistors and circuit elements. Some embodiments may implement multiple integrated circuits coupled together to implement the hardware circuits, and / or discrete elements may be used in some embodiments.

Der Umfang der vorliegenden Offenlegung schließt jedes Merkmal oder Kombination von Merkmalen, welche hierin offenbart sind (entweder explizit oder implizit), oder jede Verallgemeinerung davon ein, unbeachtet dessen ob es eines oder alle der Probleme löst, welche hierin adressiert sind. Dementsprechend können neue Ansprüche während der Rechtsverfolgung dieser Anmeldung formuliert werden (oder bei jeder Anmeldung, welche diese als Priorität beansprucht), entsprechend irgendeiner solchen Kombination von Merkmalen. Insbesondere, mit Bezug auf die angehängten Ansprüche, können Merkmale aus abhängigen Ansprüchen mit denen der unabhängigen Ansprüche kombiniert werden und Merkmale von jeweiligen unabhängigen Ansprüchen können in jeder angemessenen Art und Weise kombiniert werden und nicht nur in der spezifischen Kombination, wie sie in den angehängten Ansprüchen aufgezählt sind.The scope of the present disclosure includes any feature or combination of features disclosed herein (either explicit or implicit), or any generalization thereof, regardless of whether it solves any or all of the problems addressed herein. Accordingly, new claims may be formulated during the prosecution of this application (or in any application that uses them claimed as a priority) according to any such combination of features. In particular, with reference to the appended claims, features of the dependent claims may be combined with those of the independent claims, and features of respective independent claims may be combined in any appropriate manner and not only in the specific combination as recited in the appended claims are enumerated.

DETAILLIERTE BESCHREIBUNG DER AUSFÜHRUNGSFORMENDETAILED DESCRIPTION OF THE EMBODIMENTS

Die Beschreibung schließt Referenzen auf „eine Ausführungsform“ ein. Die Erscheinungen der Phrasen „in einer Ausführungsform“ müssen sich nicht zwangsläufiger Weise auf dieselbe Ausführungsform beziehen, obwohl Ausführungsformen, welche irgendeine Kombination der Merkmale einschließen, generell vorgesehen sind, es sei denn es wird hierin ausdrücklich abgelehnt. Spezielle Merkmale, Strukturen, oder Charakteristiken können in jeder angemessenen Art und Weise kombiniert werden, die mit dieser Offenbarung im Einklang steht.The description includes references to "one embodiment". The appearances of the phrases "in one embodiment" are not necessarily related to the same embodiment, although embodiments incorporating any combination of the features are generally intended unless expressly disclaimed herein. Special features, structures, or characteristics may be combined in any reasonable manner consistent with this disclosure.

Die vorliegende Offenbarung sieht ferner vor, dass die Entitäten, welche für die Sammlung, die Analyse, die Offenbarung, den Transfer, die Speicherung, oder andere Nutzung von solchen persönlichen Informationsdaten verantwortlich sind, den etablierten Datenschutzrichtlinien und/oder dem Datenschutz genügen. Insbesondere sollten solche Entitäten Datenschutzrichtlinien und Datenschutz implementieren und einheitlich verwenden, welche generell die industriellen oder gesetzlichen Anforderungen einhalten oder übertreffen um persönliche Informationsdaten privat und sicher zu erhalten. Zum Beispiel, in dem Fall des Entsperrens und/oder Autorisierung von Vorrichtungen unter Verwendung von Gesichtserkennung, sollten persönliche Informationen von den Benutzern für legitime und vernünftige Verwendungen von der Entität gesammelt werden, und nicht außerhalb dieser legitimen Verwendungen geteilt oder verkauft werden. Ferner sollte solche Sammlung nur vorkommen, nachdem die bewusste Zustimmung des Benutzers erhalten wurde. Zusätzlich würden solche Entitäten alle notwendigen Schritte zum Absichern und Schützen des Zugriffs auf solche persönlichen Informationsdaten vornehmen und sicherstellen, dass andere mit Zugriff auf die persönlichen Informationsdaten die Datenschutzrichtlinien und Prozeduren einhalten. Ferner können sich solche Entitäten selbst der Evaluierung durch Dritte aussetzen um ihr Einhalten der allgemein akzeptierten Datenschutzrichtlinien und des Datenschutzes zu zertifizieren.The present disclosure further contemplates that the entities responsible for collecting, analyzing, disclosing, transferring, storing, or otherwise using such personal informational information comply with established privacy policies and / or privacy. In particular, such entities should implement and consistently use privacy policies and privacy policies that generally comply with or exceed industry or legal requirements to keep personal information private and secure. For example, in the case of unlocking and / or authorizing devices using face recognition, personal information from the users should be collected for legitimate and reasonable uses by the entity, and not shared or sold outside of these legitimate uses. Further, such collection should occur only after the user's conscious consent has been obtained. In addition, such entities would take all necessary steps to secure and protect access to such personal informational information and to ensure that others with access to the personal informational information comply with privacy policies and procedures. Further, such entities may themselves suspend third party evaluation to certify their compliance with generally accepted privacy policies and data protection.

Trotz des Vorangegangenen sieht die vorliegende Offenbarung auch Ausführungsformen vor in welchen die Benutzer die Verwendung von, oder den Zugriff auf, persönliche Informationsdaten wahlweise blockieren können. D. h. die vorliegende Offenbarung sieht vor, dass Hardware und/oder Softwareelemente bereitgestellt werden können um Zugriff auf solche persönlichen Informationsdaten zu verhindern oder zu blockieren. Zum Beispiel kann die vorliegende Technologie konfiguriert sein um es Benutzern zu ermöglichen auszuwählen ob an der Sammlung von persönlichen Informationsdaten während der Registrierung für Dienste teilgenommen werden sollte („opt in“), oder ob nicht („opt out“).Notwithstanding the foregoing, the present disclosure also contemplates embodiments in which users may selectively block the use of, or access to, personal information data. Ie. the present disclosure provides that hardware and / or software elements may be provided to prevent or block access to such personal information data. For example, the present technology may be configured to allow users to select whether to participate in the collection of personal information data during the registration for services ("opt in") or not ("opt out").

1 veranschaulicht eine Darstellung einer Ausführungsform von einer Vorrichtung, welche eine Kamera einschließt. In gewissen Ausführungsformen schließt die Vorrichtung 100 die Kamera 102, den Prozessor 104, den Speicher 106, und die Anzeige 108 ein. Die Vorrichtung 100 kann eine kleine Rechenvorrichtung sein, welche in einigen Fällen klein genug ist um in der Hand gehalten zu werden (und somit auch allgemein als ein handgeführter Computer oder ein Taschencomputer bekannt ist). In gewissen Ausführungsformen ist Vorrichtung 100 irgendeine von verschiedenen Typen von Computersystemvorrichtungen, welche mobil oder tragbar sind und welche drahtlose Kommunikationen unter Verwendung von WLAN Kommunikation durchführen (zum Beispiel ein „Mobilgerät“). Beispiele von tragbaren Vorrichtungen schließen Mobiltelefone oder Smartphones und Tabletcomputer ein. Verschiedene andere Typen von Vorrichtungen können in diese Kategorie fallen, falls sie drahtlose oder funkbasierte Kommunikationsmöglichkeiten (zum Beispiel WiFi, zellular und/oder Bluetooth) einschließen, wie zum Beispiel Laptop Computer, tragbare Spielvorrichtungen, tragbare Internetvorrichtungen, und oder andere in der Hand gehaltene Vorrichtungen, als auch am Körper tragbare Vorrichtungen wie zum Beispiel intelligente Uhren, intelligente Brillen, Kopfhörer, Anhänger, Ohrhörer, usw. Im Allgemeinen kann der Begriff „mobile Vorrichtung“ weit definiert sein um jede elektronische, Rechen-, und/oder Telekommunikationsvorrichtung (oder Kombinationen von Vorrichtungen) zu umfassen, welche einfach durch einen Benutzer transportiert werden kann und zur drahtlosen Kommunikation unter Verwendung von, zum Beispiel, WLAN, WiFi, zellular, und/oder Bluetooth in der Lage ist. In gewissen Ausführungsformen schließt Vorrichtung 100 jede Vorrichtung ein, die durch einen Benutzer verwendet wird und einen Prozessor 104, Speicher 106, und Anzeige 108 aufweist. Anzeige 108 kann zum Beispiel ein LCD Bildschirm oder ein Berührungsbildschirm sein. In manchen Ausführungsformen schließt Anzeige 108 eine Benutzereingabeschnittstelle für Vorrichtung 100 ein (zum Beispiel ermöglicht die Anzeige dem Benutzer interaktive Eingabe). 1 FIG. 12 illustrates an illustration of an embodiment of a device that includes a camera. FIG. In certain embodiments, the device includes 100 the camera 102 , the processor 104 , the memory 106 , and the ad 108 one. The device 100 may be a small computing device, which in some cases is small enough to be held in the hand (and thus also commonly known as a hand-held computer or a pocket computer). In certain embodiments, the device is 100 any of various types of computer system devices that are mobile or portable and that perform wireless communications using WLAN communication (eg, a "mobile device"). Examples of portable devices include mobile phones or smartphones and tablet computers. Various other types of devices may fall into this category if they include wireless or wireless communication capabilities (e.g., WiFi, cellular, and / or Bluetooth), such as laptop computers, portable gaming devices, wearable Internet devices, and or other hand-held devices As well as body-wearable devices such as smart watches, smart glasses, headphones, tags, earphones, etc. In general, the term "mobile device" may be broadly defined to include any electronic, computing, and / or telecommunications device (or combinations of devices) which can be easily transported by a user and is capable of wireless communication using, for example, WLAN, WiFi, cellular, and / or Bluetooth. In certain embodiments, device includes 100 any device used by a user and a processor 104 , Storage 106 , and display 108 having. display 108 For example, it may be an LCD screen or a touch screen. In some embodiments, advertisements will close 108 a user input interface for device 100 (for example, the display allows the user interactive input).

Kamera 102 kann verwendet werden um Bilder von der externen Umgebung der Vorrichtung 100 aufzunehmen. In gewissen Ausführungsformen ist Kamera 102 positioniert um Bilder vor der Anzeige 108 aufzunehmen. Kamera 102 kann positioniert sein um Bilder von dem Benutzer aufzunehmen (zum Beispiel das Gesicht des Benutzers) während der Benutzer mit der Anzeige 108 interagiert. 2 veranschaulicht eine Darstellung von einer Ausführungsform der Kamera 102. In gewissen Ausführungsformen schließt Kamera 102 eine oder mehrere Linsen und einen oder mehrere Bildsensoren 103 zum Aufnehmen digitaler Bilder ein. Digitale Bilder, die durch Kamera 102 aufgenommen wurden, können beispielsweise Standbilder, bewegte Bilder, und/oder Rahmen-nach-Rahmen Bilder einschließen. camera 102 Can be used to take pictures of the external environment of the device 100 take. In certain embodiments, camera is 102 positioned around pictures in front of the display 108 take. camera 102 may be positioned to capture images of the user (e.g., the user's face) while the user is viewing the ad 108 interacts. 2 illustrates a representation of one embodiment of the camera 102 , In certain embodiments, camera closes 102 one or more lenses and one or more image sensors 103 to record digital pictures. Digital pictures taken by camera 102 For example, still images, moving images, and / or frame-by-frame may include images.

In gewissen Ausführungsformen schließt Kamera 102 Bildsensor 103 ein. Bildsensor 103 kann beispielsweise eine Anordnung von Sensoren sein. Sensoren in der Sensoranordnung können ladungsträgergekoppelte Bauelemente (charge coupled device, CCD) und/oder Metalloxid Halbleiter (complementary metal oxide semiconductor, CMOS) Sensorelemente einschließen, aber sind nicht darauf beschränkt, um Infrarotbilder (infrared, IR) oder andere nicht sichtbare elektromagnetische Strahlung aufzunehmen. In manchen Ausführungsformen schließt Kamera 102 mehr als einen Bildsensor ein um mehrere Typen von Bildern aufzunehmen. Zum Beispiel kann Kamera 102 sowohl IR Sensoren als auch RGB (rot grün blau, RGB) Sensoren einschließen. In gewissen Ausführungsformen schließt Kamera 102 Beleuchtungen 105 zum Beleuchten von Oberflächen (oder Subjekten) mit verschiedenen Typen von Licht, welches durch den Bildsensor 103 detektiert wird, ein. Zum Beispiel kann Kamera 102 eine Beleuchtung für sichtbares Licht einschließen (zum Beispiel eine „Blitzbeleuchtung“) und/oder Beleuchtungen für Infrarotlicht (zum Beispiel eine IR-Flut-Quelle und ein Speckle Musterprojektor). In manchen Ausführungsformen haben die IR-Flut-Quelle und der Speckle Musterprojektor andere Wellenlängen von Licht (zum Beispiel nicht Infrarot). In gewissen Ausführungsformen schließen Beleuchtungen 105 eine Anordnung von Lichtquellen wie zum Beispiel VCSELs (vertical-cavity surface-emitting lasers, oberflächenemittierende Laserdioden) ein, sind aber nicht darauf beschränkt. In manchen Ausführungsformen sind Bildsensoren 103 und Beleuchtungen 105 in einem einzelnen Chipgehäuse enthalten. In manchen Ausführungsformen sind Bildsensoren 103 und Beleuchtungen 105 auf separaten Chipgehäusen untergebracht.In certain embodiments, camera closes 102 image sensor 103 one. Image sensor 103 may be, for example, an array of sensors. Sensors in the sensor array may include charge coupled device (CCD) and / or metal oxide semiconductor (CMOS) sensor elements, but are not limited to receiving infrared (IR, IR) or other non-visible electromagnetic radiation , In some embodiments, camera closes 102 more than one image sensor to capture multiple types of images. For example, camera can 102 Both IR sensors and RGB (red green blue, RGB) include sensors. In certain embodiments, camera closes 102 lightings 105 for illuminating surfaces (or subjects) with different types of light transmitted through the image sensor 103 is detected, a. For example, camera can 102 include visible light illumination (eg, "flash illumination") and / or infrared light illumination (eg, an IR flood source and a speckle pattern projector). In some embodiments, the IR flood source and the speckle pattern projector have different wavelengths of light (for example, not infrared). In certain embodiments, lights close 105 an array of light sources such as, but not limited to, VCSELs (vertical-cavity surface-emitting lasers). In some embodiments, image sensors are 103 and lights 105 contained in a single chip package. In some embodiments, image sensors are 103 and lights 105 housed on separate chip housings.

In gewissen Ausführungsformen ist Bildsensor 103 ein IR Bildsensor, welcher zum Aufnehmen von Infrarotbildern verwendet wird, welche für Gesichtserfassung und/oder Tiefenerkennung verwendet werden. Zur Gesichtserfassung kann Beleuchtung 105A IR-Flutbeleuchtung bereitstellen um das Subjekt mit IR Beleuchtung zu fluten (zum Beispiel ein IR Blitzlicht) und Bildsensor 103 kann Bilder von dem IRflutbeleuchteten Subjekt aufnehmen. IR-Flutbeleuchtungsbilder können zum Beispiel zweidimensionale Bilder von dem Subjekt sein, welches durch IR Licht leuchtet wird. Speckle Musterbeleuchtung 105B kann IR-Beleuchtung mit einem Speckle Muster bereitstellen um eine Tiefenmap von einer Szene zu erzeugen. 3 veranschaulicht ein schematisches Diagramm von einer Ausführungsform von Beleuchtung 105B. Beleuchtung 105B kann zum Beispiel ähnlich zu einem integrierten optischen Projektor sein, wie beschrieben in U.S. Patentanmeldung mit der Veröffentlichungsnummer 2016/0178915 von Mor et al., auf die hierin Bezug genommen wird, als ob sie hierin vollständig dargelegt wäre. Beleuchtung 105B kann das Speckle Muster erzeugen und projizieren. Das Speckle Muster kann ein Muster von Lichtpunkten (zum Beispiel Muster von Punkten) mit einer bekannten und steuerbaren Konfiguration und Muster sein, welches auf ein Subjekt projiziert wird. In manchen Ausführungsformen ist Beleuchtung 105B eine Lichtquelle und gemusterte Transparentfolie und/oder eine Lichtquelle und eine Anordnung von Mikrolinsen, konfiguriert zum Ausbilden des Speckle Musters. Die Konfiguration und das Muster des Speckle Musters, die von Beleuchtung 105B bereitgestellt werden, können zum Beispiel basierend auf einer gewünschten Speckle Musterdichte (zum Beispiel Punktdichte) auf dem Subjekt ausgewählt werden. Bildsensor 103 kann Bilder von dem Subjekt, welches durch das Speckle Muster beleuchtet wird, aufnehmen. Das Speckle Muster auf dem Subjekt kann durch ein Abbildungs- und Verarbeitungssystem (zum Beispiel ein Bildsignal Prozessor (image signal processor, ISP), wie hierin beschrieben) beurteilt werden (zum Beispiel kann es analysiert und/oder verarbeitet werden) um eine dreidimensionale Map von dem Subjekt zu produzieren oder zu schätzen (zum Beispiel eine Tiefenmap oder ein Tiefenmapbild von dem Subjekt).In certain embodiments, image sensor is 103 an IR image sensor used to capture infrared images used for face detection and / or depth detection. For face detection can be lighting 105A Provide IR flood lighting to flood the subject with IR lighting (for example an IR flash) and image sensor 103 can take pictures of the IR flood-lit subject. IR flood illumination images may be, for example, two-dimensional images of the subject illuminated by IR light. Speckle pattern lighting 105B can provide IR lighting with a speckle pattern to create a depth map of a scene. 3 illustrates a schematic diagram of one embodiment of lighting 105B , lighting 105B For example, it may be similar to an integrated optical projector as described in US Pat US Patent Application Publication No. 2016/0178915 by Mor et al., incorporated herein by reference, as if fully set forth herein. lighting 105B The Speckle can create and project patterns. The speckle pattern may be a pattern of spots of light (for example, patterns of dots) with a known and controllable configuration and pattern projected onto a subject. In some embodiments, lighting is 105B a light source and patterned transparency and / or a light source and an array of microlenses configured to form the speckle pattern. The configuration and pattern of the speckle pattern made by lighting 105B may be selected based on a desired speckle pattern density (e.g., dot density) on the subject, for example. image sensor 103 can capture images of the subject illuminated by the speckle pattern. The speckle pattern on the subject may be assessed (eg, analyzed and / or processed) by an imaging and processing system (for example, an image signal processor (ISP) as described herein) around a three-dimensional map of to produce or estimate the subject (for example, a depth map or a depth map image of the subject).

Wie in 3 gezeigt, kann Beleuchtung 105B Halbleiter Chip 150 einschließen, auf welchem eine Anordnung von optischen Emittern ausgebildet ist. In gewissen Ausführungsformen sind die Emitter VCSELs. Jeder andere geeignete Typ von Laserdioden oder anderen optischen Emittern kann jedoch verwendet werden. Die Emitter können auf Chip 150 in einer gewissen geometrischen Gestaltung konstruiert sein (zum Beispiel ein regelmäßiges Gitter oder eine unkorrelierte (quasi zufällige) Gestaltung). Beispiele von verschiedenen geometrischen Gestaltungen sind in U.S. Patentanmeldungsveröffentlichung Nummer 2016/0178915 von Mor et al. beschrieben. In gewissen Ausführungsformen ist Chip 150 auf Unterbaugruppen-Substrat 152 montiert und zu Substrat 152 mithilfe von Drahtverbindungen 158 elektrisch verbunden. Externe Verbindungsanschlüsse (zum Beispiel Anodenkontakt 154 und Kathodenkontakt 156) können auf der entgegengesetzten Oberfläche des Substrats 152 ausgebildet sein. Projektionslinse 156 kann typischerweise auf Abstandshaltern 152 so montiert sein, dass der Chip 150 auf der Brennebene der Linse liegt. Diffraktives Optisches Auffächerungs-Element (Fan-Out Diffractive Optical Element, FO-DOE) 164 kann über der Projektionslinse 166 mithilfe dünner Abstandshalter 168 montiert sein. Projektionslinse 166 kann das Licht, welches durch die einzelnen VCSELs auf Chip 150 emittiert wird, sammeln und kollimieren. Die Kombination von den VCSELs und der Projektionslinse kann ein Muster von Lichtpunkten (zum Beispiel Gitter oder quasi zufällig) entsprechend zu der geometrischen Gestaltung der VCSELs auf Chip 150 erzeugen. In gewissen Ausführungsformen wird die Neigung oder Dichte des projizierten Musters (d. h. der Winkelabstand zwischen Lichtpunkten) durch die physischen Abstände zwischen den VCSELs auf Chip 150 und der Brennweite der Projektionslinse 166 bestimmt. Dieses Muster von Lichtpunkten kann auch als Baselinemuster bezeichnet werden.As in 3 shown, can lighting 105B Semiconductor chip 150 on which an array of optical emitters is formed. In certain embodiments, the emitters are VCSELs. However, any other suitable type of laser diode or other optical emitter may be used. The emitters can be on chip 150 be constructed in a certain geometric design (for example, a regular grid or an uncorrelated (quasi-random) design). Examples of different geometrical designs are in US Patent Application Publication Number 2016/0178915 by Mor et al. described. In certain embodiments, chip is 150 on subassembly substrate 152 mounted and to substrate 152 using wire connections 158 electrically connected. External connection connections (for example, anode contact 154 and cathode contact 156 ) may be on the opposite surface of the substrate 152 be educated. projection lens 156 can typically be on spacers 152 be mounted so that the chip 150 lying on the focal plane of the lens. Diffractive optical fan-out element (FO-DOE) 164 can be placed over the projection lens 166 using thin spacers 168 be mounted. projection lens 166 can the light passing through the individual VCSELs on chip 150 is emitted, collect and collimate. The combination of the VCSELs and the projection lens may be a pattern of light spots (for example, gratings or quasi-random) corresponding to the geometric design of the VCSELs on chip 150 produce. In certain embodiments, the tilt or density of the projected pattern (ie, the angular distance between spots of light) will be due to the physical distances between the VCSELs on the chip 150 and the focal length of the projection lens 166 certainly. This pattern of spots of light can also be called a baseline pattern.

DOE 164 kann als ein Strahlteiler funktionieren, welcher mehrere Replikate des Baselinemusters auf das Objekt oder die Szene produziert und projiziert. Die mehreren Replikate können im Verhältnis zueinander winkelversetzt sein und sich gegenseitig überlappen. Das resultierende Muster von Lichtpunkten, welches die Überlagerung der mehreren Replikate des Baselinemusters umfasst, kann als ein zusammengesetztes Muster bezeichnet werden. Aufgrund der Überlappung zwischen den mehreren Replikaten, können die Neigung und Dichte des zusammengesetzten Musters höher sein als das von dem Baselinemuster. Des Weiteren können die Neigung oder die Dichte des zusammengesetzten Musters nicht weiter durch die physischen Abstände zwischen den VCSELs und durch die Brennweite von der Projektionslinse eingeschränkt werden.DOE 164 may function as a beam splitter which produces and projects multiple replicas of the baseline pattern onto the object or scene. The multiple replicas may be angularly offset in relation to each other and overlap one another. The resulting pattern of spots of light comprising the superposition of the multiple replicas of the baseline pattern may be referred to as a composite pattern. Due to the overlap between the multiple replicates, the slope and density of the composite pattern may be higher than that of the baseline pattern. Furthermore, the tilt or density of the composite pattern can not be further limited by the physical distances between the VCSELs and the focal length of the projection lens.

Das obere Ende von 3 zeigt ein Beispiel von drei Replikaten des Baselinemusters mit einer Überlappung von 50 % zwischen ihnen, bezeichnet als 172, 174 und 176. Wie in 3 gezeigt, ist die Neigung des zusammengesetzten Musters zweimal feiner als die Neigung des Baselinemusters (die Neigung von einem einzelnen Replikat). Das Beispiel von 3 ist aus Gründen von Klarheit stark vereinfacht. Zum Beispiel zeigt 3 Musterreplikation in einer Dimension. In alternativen Ausführungsformen, kann DOE 164 Replikate erzeugen, welche winkelversetzt und in zwei Dimensionen überlappend sind.The upper end of 3 Figure 15 shows an example of three replicas of the baseline pattern with a 50% overlap between them, designated 172, 174 and 176. As in 3 shown, the slope of the composite pattern is twice finer than the inclination of the baseline pattern (the slope of a single replica). The example of 3 is greatly simplified for the sake of clarity. For example, shows 3 Pattern replication in one dimension. In alternative embodiments, DOE 164 Create replicates that are angularly offset and overlapping in two dimensions.

4 zeigt ein Diagramm von einer Ausführungsform von einer überlappenden Musterkonfiguration. Die linke Seite von 4 kennzeichnet ein einzelnes Replikat des Projektionsmusters, wobei die Lichtpunkte als Kreise gezeigt sind, die Mitte von der Linse mit einem Kreuz markiert ist, und die Periode des Musters (im Falle von Replikation ohne Überlappung) durch einen rechtwinkligen Rahmen markiert ist. Diese Gestaltung entspricht auch dem Baselinemuster, welches durch die FO DOE 164 anschließend repliziert wird. Die Mitte von 4 zeigt ein Replikationsschema 180, welches durch die FO DOE 164 ausgeführt wird, wobei die mittlere Position des Replikats mit einem „x“ markiert ist. Die rechte Seite von 4 zeigt ein entsprechendes zusammengesetztes Muster 182, welches von der DOE 164 projiziert wird. In Muster 182 sind die Lichtpunkte mit Kreisen markiert, die mittlere Position von jedem Replikat ist mit einem „x“ markiert, und die Mitte der Linse ist mit einem Kreuz markiert. Zur Einfachheit des Vergleichs ist die Mitte des zusammengesetzten Musters 182 in 4 (entsprechend der nullten Ordnung von DOE 164) mit einem Rechteck markiert. Wie deutlich in 4 ersichtlich, ist die Dichte der Kreise in dem Bereich von Mustern 182, in welchen sich die Replikate überlappen (d. h. die Dichte von dem zusammengesetzten Muster) höher als die Dichte der Kreise in Baselinemuster 178. 4 shows a diagram of one embodiment of an overlapping pattern configuration. The left side of 4 denotes a single replica of the projection pattern, the points of light being shown as circles, the center of the lens being marked with a cross, and the period of the pattern (in the case of non-overlapping replication) being marked by a rectangular frame. This design also conforms to the baseline pattern given by the FO DOE 164 subsequently replicated. The middle of 4 shows a replication scheme 180 which passed through the FO DOE 164 is executed, wherein the middle position of the replica is marked with an "x". The right side of 4 shows a corresponding composite pattern 182 which from the DOE 164 is projected. In pattern 182 the points of light are marked with circles, the middle position of each replica is marked with an "x", and the center of the lens is marked with a cross. For simplicity of comparison, the center of the composite pattern is 182 in 4 (corresponding to the zeroth order of DOE 164 ) marked with a rectangle. How clearly in 4 As can be seen, the density of the circles is in the range of patterns 182 in which the replicas overlap (ie the density of the composite pattern) higher than the density of the circles in baseline patterns 178 ,

In dem Beispiel von 4 hat Chip 150 (zum Beispiel die VCSEL Anordnung) eine unkorrelierte quasi zufällige Gestaltung. Die Anordnung ist mit den physikalischen minimalen Abstandseinschränkungen der Anordnung entworfen, aber berücksichtigt auch, dass 50 % Überlappung in der Y-Achse noch minimalen Abstand zwischen den Punkten freihalten werden. FO DOE 144 führt 3×5 aus (zum Beispiel, repliziert das Baselinemuster dreimal entlang einer Achse (pauschal als horizontal entsprechend der Orientierung der Zeichnung bezeichnet), und fünfmal entlang der orthogonalen Achse (als vertikal bezeichnet)). Auf der horizontalen Achse ist die FO Periode (Abstand zwischen „x“ Markierungen in Konfiguration 160) identisch zu der Breite von Baselinemuster 158. Auf der vertikalen Achse, ist die FO Periode die Hälfte des Ausmaßes des Baselinemusters.In the example of 4 has chip 150 (For example, the VCSEL arrangement) an uncorrelated quasi-random design. The arrangement is designed with the physical minimum spacing constraints of the array, but also takes into account that 50% overlap in the Y-axis will still keep minimal space between the points. FO DOE 144 performs 3 × 5 (for example, the baseline pattern replicates three times along one axis (referred to as horizontal in accordance with the orientation of the drawing) and five times along the orthogonal axis (referred to as vertical)). On the horizontal axis is the FO period (distance between "x" marks in configuration 160 ) identical to the width of baseline patterns 158 , On the vertical axis, the FO period is half the extent of the baseline pattern.

Wie in 4 gezeigt, können 2/3 des projizierten Musters 182 ein dichtes Muster einschließen, während an beiden vertikalen Enden das Muster spärlich ist, da es keine Überlappung hat. In diesem vereinfachten Beispiel nimmt das spärliche Muster einen relativ großen Teil des Musters ein, weil das Beispiel eine kleine Anzahl von Replikaten hat. In einem realen Projektor kann die Anzahl von Replikaten größer sein und deshalb kann der Teil des spärlichen Musters aus dem gesamten Sichtfeld (field of view, FOV) kleiner sein.As in 4 can show 2/3 of the projected pattern 182 include a dense pattern, while at both vertical ends the pattern is sparse because there is no overlap. In this simplified example, the sparse pattern occupies a relatively large portion of the pattern because the example has a small number of replicas. In a real projector, the number of replicas may be larger, and therefore the portion of the sparse pattern may be smaller from the total field of view (FOV).

In einigen Ausführungsformen kann Beleuchtung 105B dynamische Steuerung über die Dichte der Punkte in dem zusammengesetzten Muster bereitstellen. In einigen Ausführungsformen kann Beleuchtung 105B dazu in der Lage sein die Punktdichte zu erhöhen und zu verringern indem die VCSEL Anordnung in Segmente geteilt wird, und jedes Segment selektiv aktiviert oder deaktiviert wird.In some embodiments, lighting may be used 105B provide dynamic control over the density of the points in the composite pattern. In some embodiments, lighting may be used 105B to be able to increase and decrease the dot density by using the VCSEL Arrangement is divided into segments, and each segment is selectively activated or deactivated.

5 kennzeichnet ein Diagramm von einer Ausführungsform, welche dynamische Steuerung von projizierter Musterdichte veranschaulicht. Die linke Seite von 5 zeigt Chip 150 (zum Beispiel die VCSEL Anordnung), welche ein quasi zufälliges Muster erzeugen kann, wie zum Beispiel in 4 gezeigt. In gewissen Ausführungsformen ist Chip 150 in zwei Segmente geteilt, gekennzeichnet als A und B, mit einer ausgewählten Anzahl von Emittern in jedem von den Segmenten von der Anordnung. Die zwei Segmente können voneinander durch eine horizontale Einkerbung in der Mitte der Anordnung isoliert sein. In einigen Implementierungen sind die zwei Segmente elektrisch isoliert, aber schließen keine sichtbare Abgrenzung ein. In einigen Ausführungsformen schließt Segment A ungefähr 40 % von den Emittern in der Anordnung ein und schließt Segment B ungefähr 60 % von den Emittern in der Anordnung ein. 5 Figure 10 illustrates a diagram of an embodiment illustrating dynamic control of projected pattern density. The left side of 5 shows chip 150 (For example, the VCSEL arrangement), which can generate a quasi-random pattern, such as in 4 shown. In certain embodiments, chip is 150 divided into two segments, labeled A and B, with a selected number of emitters in each of the segments of the array. The two segments may be isolated from each other by a horizontal notch in the center of the assembly. In some implementations, the two segments are electrically isolated but do not include any visible boundaries. In some embodiments, segment A includes about 40% of the emitters in the array and includes segment B about 60% of the emitters in the array.

Beleuchtung 105B kann Steuerungsschaltungen einschließen (nicht in der Zeichnung gezeigt) um die VCSELs von jedem Segment separat anzutreiben (zum Beispiel durch separates Anlegen oder Abschalten der Energieversorgung für jedes Segment). Somit kann die Steuerungsschaltung nur Segment A antreiben (in welchem Fall die VCSELs von Segment A Licht emittieren und die VCSELs von Segment B dunkel sind), nur Segment B antreiben (in welchem Fall die VCSELs von Segment B Licht emittieren und die VCSELs von Segment A dunkel sind), oder beide Segmente antreiben (d. h. VCSELs von beiden Segmenten emittieren Licht).lighting 105B may include control circuits (not shown in the drawing) for separately driving the VCSELs of each segment (eg, by separately applying or disabling the power supply for each segment). Thus, the control circuitry can only drive segment A (in which case the VCSELs of segment A emit light and the VCSELs of segment B are dark), only drive segment B (in which case the VCSELs of segment B emit light and the VCSELs of segment A) are dark) or drive both segments (ie, VCSELs from both segments emit light).

Die rechte Seite von 5 zeigt die resultierenden Muster, welche durch Replizieren unter Verwendung einer FO DOE, wie für 4 beschrieben, erstellt wurden (nur der Bereich von dem mittleren Muster ist gezeigt). Da die FO DOE Periode die Hälfte der Musterbreite ist, ist es identisch zu der Breite von dem Muster, welches erzeugt wird indem nur die Hälfte der Anordnung betrieben wird. Deshalb stimmt die Replizierung mit der Hälfte der Anordnung überein (und hat keine Lücken und keine Überlappung zwischen der Kachel). Drei Muster 190A, 190B, 190C sind gezeigt, jeweils entsprechend der drei oben beschriebenen Modi (gekennzeichnet als „A“, „B“ und „A+B“). Wie in 5 gezeigt, variiert die Punktdichte von einem Modus zu einem anderen. Da das 2-D Muster von jedem Teil (A oder B) von der VCSEL Anordnung (Chip 150) mit einer unterschiedlichen Dichte konfiguriert ist (zum Beispiel, A = ungefähr 40 % der Emitter in der Anordnung, B = ungefähr 60 % der Emitter in der Anordnung), sind die Projektionsmuster, die in 190A, 190B, 190C gezeigt sind, jeweils spärlich (40 %), mittel (60 %) und dicht (100 %).The right side of 5 shows the resulting patterns, which are replicated using a FO DOE, as for 4 described (only the area of the middle pattern is shown). Since the FO DOE period is half the pattern width, it is identical to the width of the pattern that is generated by operating only half of the array. Therefore, the replication matches half of the array (and has no gaps and no overlap between the tile). Three patterns 190A . 190B . 190C are respectively shown corresponding to the three modes described above (indicated as "A", "B" and "A + B"). As in 5 As shown, dot density varies from one mode to another. Since the 2-D pattern of each part (A or B) of the VCSEL arrangement (chip 150 ) is configured with a different density (for example, A = about 40% of the emitters in the array, B = about 60% of the emitters in the array), the projection patterns shown in Figs. 190A, 190B, 190C are sparse, respectively (40%), medium (60%) and dense (100%).

Die Zerteilung von VCSELs in Segmente, wie in 5 gezeigt, ist lediglich ein Beispiel von Zerteilung. In einigen Ausführungsformen können die VCSELs in jede geeignete Anzahl von Segmenten in jeder gewünschten Weise geteilt werden. Zum Beispiel kann eine Anordnung, welche für 50 % Überlappung in beiden Achsen ausgestaltet ist, in vier Quadranten geteilt werden. Unterschiedliche Segmente müssen nicht notwendigerweise dieselbe Anzahl von VCSELs aufweisen oder ähnliche Formen haben. In einigen Implementierungen kann es mehr als zwei Segmente von VCSELs geben. Zum Beispiel kann Chip 150 vier Segmente von VCSELs einschließen, welche unabhängig voneinander angetrieben werden können (zum Beispiel kann ein Segment eingeschaltet sein während die anderen ausgeschaltet sind, irgendwelche zwei Segmente eingeschaltet sein während die übrigen Segmente ausgeschaltet sind, usw.), wobei alle unterschiedliche Muster und resultierende Dichten aufweisen. In einigen Implementierungen ist jede VCSEL in der Lage unabhängig angetrieben zu werden und unterschiedliche Muster können erzeugt werden indem die geeigneten VCSELs angetrieben werden.The division of VCSELs into segments, as in 5 is just an example of fragmentation. In some embodiments, the VCSELs may be divided into any suitable number of segments in any desired manner. For example, an array configured for 50% overlap in both axes can be divided into four quadrants. Different segments do not necessarily have the same number of VCSELs or have similar shapes. In some implementations, there may be more than two segments of VCSELs. For example, chip 150 include four segments of VCSELs that can be independently driven (eg, one segment may be on while the others are off, any two segments on while the remaining segments are off, etc.), all of which have different patterns and resulting densities , In some implementations, each VCSEL is able to be driven independently and different patterns can be generated by driving the appropriate VCSELs.

In gewissen Ausführungsformen können Bilder, welche durch Kamera 102 aufgenommen wurden, Bilder mit dem Gesicht des Benutzers einschließen (zum Beispiel ist das Gesicht des Benutzers in den Bildern enthalten). Ein Bild mit dem Gesicht des Benutzers kann jedes digitale Bild mit dem Gesicht des Benutzers innerhalb des Rahmens des Bildes angezeigt einschließen. Solch ein Bild kann lediglich das Gesicht des Benutzers einschließen, oder kann das Gesicht des Benutzers in einem kleineren Teil oder Bereich des Bildes einschließen.In certain embodiments, images taken by camera 102 include images with the user's face (for example, the user's face is included in the images). An image with the user's face may include any digital image with the user's face displayed within the frame of the image. Such an image may only include the user's face, or may include the user's face in a smaller portion or area of the image.

Das Gesicht des Benutzers kann mit ausreichender Auflösung in dem Bild aufgenommen werden um Bildverarbeitung von einem oder von mehreren Merkmalen von dem Gesicht des Benutzers in dem Bild zu ermöglichen.The user's face may be captured in the image with sufficient resolution to allow image processing of one or more features of the user's face in the image.

Bilder, welche durch Kamera 102 aufgenommen wurden, können durch Prozessor 104 verarbeitet werden. 6 zeigt eine Darstellung von einer Ausführungsform von Prozessor 104, welche in Vorrichtung 100 eingeschlossen ist. Prozessor 104 kann Schaltungen einschließen, welche konfiguriert sind um Instruktionen auszuführen, welche in Befehlssatzarchitektur definiert sind, die durch den Prozessor implementiert ist. Prozessor 104 kann die Hauptsteuersoftware von Vorrichtung 100 ausführen, wie zum Beispiel ein Betriebssystem. Allgemein kann Software, welche durch Prozessor 104 während Verwendung ausgeführt wird, die anderen Komponenten von Vorrichtung 100 steuern um die gewünschte Funktionalität der Vorrichtung zu realisieren. Die Prozessoren können auch andere Software ausführen. Diese Anwendungen können Benutzerfunktionalität bereitstellen, und können von dem Betriebssystem für Vorrichtungssteuerung auf niedrigerer Ebene, Planung, Speicherverwaltung, usw. abhängig sein.Pictures taken by camera 102 can be recorded by processor 104 are processed. 6 shows a representation of an embodiment of processor 104 which in device 100 is included. processor 104 may include circuits configured to execute instructions defined in instruction set architecture implemented by the processor. processor 104 can the main control software of device 100 run, such as an operating system. Generally, software can be used by the processor 104 while running, the other components of device 100 control to realize the desired functionality of the device. The processors can also run other software. These applications can Provide user functionality, and may be dependent on the operating system for lower level device control, scheduling, memory management, and so on.

In gewissen Ausführungsformen schließt Prozessor 104 Bildsignalprozessor (image signal processor, ISP) 110 ein. ISP 110 kann Schaltungen einschließen, welche für Verarbeitung von Bildern geeignet sind (zum Beispiel eine Bildsignalverarbeitungsschaltung), welche von Kamera 102 empfangen wurden. ISP 110 kann jede Hardware und/oder Software (zum Beispiel Programminstruktionen) einschließen, welche geeignet ist Bilder, welche durch Kamera 102 aufgenommen wurden, zu verarbeiten oder zu analysieren.In certain embodiments, processor includes 104 Image signal processor (ISP) 110. ISP 110 may include circuits which are suitable for processing images (for example, an image signal processing circuit), which are provided by the camera 102 were received. ISP 110 may include any hardware and / or software (e.g., program instructions) that is suitable for use by cameras 102 been recorded, processed or analyzed.

In gewissen Ausführungsformen schließt Prozessor 104 secure enclave Prozessor (SEP) 112 ein. In manchen Ausführungsformen ist SEP 112 in einem Gesichtserkennungsauthentifizierungsprozess beteiligt, welcher Bilder einbezieht, die durch Kamera 102 aufgenommen und durch ISP 110 verarbeitet wurden. SEP 112 kann eine sichere Schaltung sein, welche konfiguriert ist einen aktiven Benutzer als autorisiert Vorrichtung 100 zu verwenden zu authentifizieren (zum Beispiel der Benutzer, welcher derzeitig Vorrichtung 100 verwendet). Eine „sichere Schaltung“ kann eine Schaltung sein, welche eine isolierte interne Ressource vor direktem Zugriff durch eine externe Schaltung schützt. Die interne Ressource kann Speicher sein (zum Beispiel Speicher 106), welcher sensible Daten wie persönliche Informationen (zum Beispiel biometrische Informationen, Kreditkarteninformationen, usw.), Verschlüsselungsschlüssel, Zufallszahlgeneratorstartwerte usw. speichert. Die interne Ressource kann auch Schaltung sein, welche Dienste/Operationen, welche mit sensiblen Daten assoziiert sind, ausführt. Wie hierin beschrieben, kann SEP 112 jede Hardware und/oder Software (zum Beispiel Programminstruktionen) einschließen, welche dazu in der Lage sind einen Benutzer mithilfe des Gesichtserkennungsauthentifizierungsprozesses zu authentifizieren. Der Gesichtserkennungsauthentifizierungsprozess kann einen Benutzer authentifizieren indem Bilder von dem Benutzer mit Kamera 102 aufgenommen werden und die aufgenommenen Bilder mit früher gesammelten Bildern von einem autorisierten Benutzer für Vorrichtung 100 verglichen werden. In manchen Ausführungsformen können die Funktionen von ISP 110 und SEP 112 durch einen einzelnen Prozessor ausgeführt werden (zum Beispiel kann entweder ISP 110 oder SEP 112 beide Funktionalitäten ausführen und der andere Prozessor kann weggelassen werden).In certain embodiments, processor includes 104 secure enclave processor (SEP) 112. In some embodiments, SEP 112 involved in a face recognition authentication process involving images taken by camera 102 recorded and by ISP 110 were processed. September 112 may be a secure circuit that is configured to authorize an active user as an authorized device 100 to use to authenticate (for example, the user currently using the device 100 used). A "secure circuit" may be a circuit that protects an isolated internal resource from direct access by an external circuit. The internal resource can be memory (for example memory 106 ) which stores sensitive data such as personal information (for example, biometric information, credit card information, etc.), encryption keys, random number generator start values, and so on. The internal resource may also be circuitry that performs services / operations associated with sensitive data. As described herein, SEP 112 include any hardware and / or software (e.g., program instructions) that are capable of authenticating a user using the face recognition authentication process. The face recognition authentication process can authenticate a user by taking pictures of the user with the camera 102 and the captured images with previously collected images from an authorized user for device 100 be compared. In some embodiments, the functions of ISP 110 and SEP 112 be executed by a single processor (for example, either ISP 110 or SEP 112 perform both functions and the other processor can be omitted).

In gewissen Ausführungsformen führt Prozessor 104 einen Anmeldevorgang (zum Beispiel einen Bildanmeldevorgang oder einen Registrierungsvorgang) aus, um Bilder für einen autorisierten Benutzer von Vorrichtung 100 aufzunehmen und zu speichern (zum Beispiel die früher gesammelten Bilder). Während des Anmeldevorgangs kann Kameramodul 102 Bilder und/oder Bilddaten von einem autorisierten Benutzer aufnehmen (zum Beispiel sammeln) um anschließend den Benutzer mithilfe des Gesichtserkennungsauthentifizierungsprozesses zu authentifizieren. In manchen Ausführungsformen sind die Bilder und/oder Bilddaten (zum Beispiel Merkmalsdaten von den Bildern) von dem Anmeldevorgang in einer Vorlage in Vorrichtung 100 gespeichert. Die Vorlage kann zum Beispiel in einem Vorlageraum in Speicher 106 von Vorrichtung 100 gespeichert sein. In manchen Ausführungsformen kann der Vorlageraum durch das Hinzufügen und/oder Entfernen von Bildern von der Vorlage aktualisiert werden. Ein Vorlageaktualisierungsprozess kann durch Prozessor 104 ausgeführt werden um Vorlagebilder von dem Vorlageraum hinzuzufügen und/oder zu entfernen. Zum Beispiel kann der Vorlageraum mit zusätzlichen Bildern aktualisiert werden um sich an Veränderungen des Aussehens des autorisierten Benutzers und/oder an Änderungen der Hardwareleistungsfähigkeit im Laufe der Zeit anzupassen. Bilder können von dem Vorlageraum entfernt werden um das Hinzufügen von Bildern zu kompensieren, wenn der Vorlageraum zum Speichern von Vorlagebildern voll ist.In certain embodiments, the processor performs 104 a logon process (e.g., an image logon process or a registration process) to view images for an authorized user of the device 100 record and save (for example, the previously collected images). During the registration process, camera module 102 Capture (for example, collect) images and / or image data from an authorized user to subsequently authenticate the user using the face recognition authentication process. In some embodiments, the images and / or image data (for example, feature data from the images) from the sign up process are in a template in the device 100 saved. For example, the template may be stored in a storage room in memory 106 of device 100 be saved. In some embodiments, the template space may be updated by adding and / or removing images from the template. A template update process may be by processor 104 be executed to add template images of the Vorlageraum and / or remove. For example, the template room may be updated with additional images to accommodate changes in the appearance of the authorized user and / or changes in hardware performance over time. Images can be removed from the template space to compensate for the addition of images when the template space is full for storing template images.

In manchen Ausführungsformen nimmt Kameramodul 102 mehrere Paare von Bildern für eine Gesichtserkennungssitzung auf. Jedes Paar kann ein Bild einschließen, welches unter Verwendung eines zweidimensionalen Aufnahmemoduses (zum Beispiel ein Flut-IR Bild) aufgenommen wurde als auch ein Bild einschließen, welches unter Verwendung eines dreidimensionalen Aufnahmemoduses (zum Beispiel ein Tiefenmap Bild) aufgenommen wurde. In gewissen Ausführungsformen verarbeiten ISP 110 und/oder SEP 112 die Flut-IR Bilder und Tiefenmap Bilder unabhängig voneinander bevor eine abschließende Authentifizierungsentscheidung für den Benutzer getroffen wird. Zum Beispiel kann ISP 110 die Bilder unabhängig verarbeiten um Eigenschaften von jedem Bild separat zu bestimmen. SEP 112 kann dann die separaten Bildeigenschaften mit den gespeicherten Vorlagebildern für jeden Typ von Bild vergleichen um eine Authentifizierungsbewertung für jedes separate Bild zu erzeugen (zum Beispiel eine Übereinstimmungsbewertung, oder andere Einstufung von Übereinstimmung des Benutzers in dem gespeicherten Bild und in den gespeicherten Vorlagebildern). Die Authentifizierungsbewertungen für die separaten Bilder (zum Beispiel die Flut-IR und die Tiefenmap Bilder) können kombiniert werden um eine Entscheidung hinsichtlich der Identität von dem Benutzer zu treffen und um, wenn authentifiziert, dem Benutzer die Verwendung von Vorrichtung 100 zu erlauben (zum Beispiel die Vorrichtung entsperren).In some embodiments, the camera module takes 102 several pairs of images for a face recognition session. Each pair may include an image captured using a two-dimensional capture mode (eg, a flood IR image) as well as an image captured using a three-dimensional capture mode (eg, a depth map image). In certain embodiments, ISPs process 110 and / or SEP 112 the flood IR images and depth map images independently from each other before a final authentication decision is made for the user. For example, ISP 110 process the images independently to determine properties of each image separately. September 112 can then compare the separate image properties with the stored template images for each type of image to generate an authentication score for each separate image (e.g., a match score, or other rating of user compliance in the stored image and in the saved template images). The authentication scores for the separate images (eg flood IR and depth map images) may be combined to make a decision regarding the identity of the user and, if authenticated, to the user using the device 100 to allow (for example, unlock the device).

In einigen Ausführungsformen kombinieren ISP 110 und/oder SEP 112 die Bilder in jedem Paar um ein zusammengesetztes Bild bereitzustellen, welches für Gesichtserkennung verwendet wird. In einigen Ausführungsformen verarbeitet ISP 110 das zusammengesetzte Bild um Eigenschaften von dem Bild zu bestimmen, welche SEP 112 mit den gespeicherten Vorlagebildern vergleichen kann um eine Entscheidung hinsichtlich der Identität des Benutzers zu treffen und um, wenn authentifiziert, dem Benutzer die Verwendung von Vorrichtung 100 zu erlauben.In some embodiments, ISPs combine 110 and / or SEP 112 the pictures in each pair to provide a composite image used for face recognition. In some embodiments, ISP processes 110 the composite image to determine properties of the image which SEP 112 can compare with the stored template images to make a decision as to the identity of the user and, when authenticated, to the user using the device 100 to allow.

In einigen Ausführungsformen kann die Kombination von Flut-IR Bilddaten und Tiefenmap Bilddaten es SEP 112 ermöglichen Gesichter in einem dreidimensionalen Raum zu vergleichen. In einigen Ausführungsformen kommuniziert Kameramodul 102 Bilddaten an SEP 112 über einen sicheren Kanal. Der sichere Kanal kann zum Beispiel entweder ein dedizierter Pfad zur Kommunikation von Daten (zum Beispiel ein Pfad, welcher nur von den vorgesehenen Beteiligten geteilt wird) oder ein dedizierter Pfad zur Kommunikation verschlüsselter Daten unter Verwendung kryptografischer Schlüssel, welche nur den vorgesehenen Beteiligten bekannt sind, sein. In einigen Ausführungsformen kann Kameramodul 102 und/oder ISP 110 verschiedene Verarbeitungsoperationen auf Bilddaten ausführen bevor die Bilddaten an SEP 112 bereitgestellt werden um den Vergleich, welcher durch den SEP durchgeführt wird, zu vereinfachen.In some embodiments, the combination of flood IR image data and depth map image data may be SEP 112 allow to compare faces in a three-dimensional space. In some embodiments, the camera module communicates 102 Image data to SEP 112 over a secure channel. For example, the secure channel may either be a dedicated path for communicating data (eg, a path shared only by the intended parties) or a dedicated path for communicating encrypted data using cryptographic keys known only to the intended parties. be. In some embodiments, camera module 102 and / or ISP 110 perform various processing operations on image data before applying the image data to SEP 112 to facilitate the comparison performed by the SEP.

In gewissen Ausführungsformen betreibt Prozessor 104 eines oder mehrere Modelle von maschinellem Lernen. Maschinenlernmodelle können unter Verwendung jeder Kombination von Hardware und/oder Software (zum Beispiel Programminstruktionen) betrieben werden, welche in Prozessor 104 und/oder in Vorrichtung 100 angeordnet sind. In einigen Ausführungsformen wird eines oder werden mehrere neurale Netzwerkmodule 114 verwendet um die Maschinenlernmodelle auf Vorrichtung 100 zu betreiben. Neurale Netzwerkmodule 114 können in ISP 110 und/oder SEP 112 angeordnet sein.In certain embodiments, the processor operates 104 one or more models of machine learning. Machine learning models may be operated using any combination of hardware and / or software (e.g. program instructions) included in processor 104 and / or in device 100 are arranged. In some embodiments, one or more neural network modules will become 114 used around the machine learning models on device 100 to operate. Neural network modules 114 can in ISP 110 and / or SEP 112 be arranged.

7 zeigt eine Darstellung von einer Ausführungsform von neuralem Netzwerkmodul 114. Neurales Netzwerkmodul 114 kann jede Kombination von Hardware und/oder Software einschließen (zum Beispiel Programminstruktionen), welche sich in Prozessor 104 und/oder auf Vorrichtung 100 befinden. In einigen Ausführungsformen ist neurales Netzwerkmodul 114 ein mehrskaliges neurales Netzwerk oder ein anderes neurales Netzwerk bei dem die Skalierung von Kerneln, welche in dem Netzwerk verwendet werden, variieren kann. In einigen Ausführungsformen ist neurales Netzwerkmodul 114 ein rekurrentes neurales Netzwerk (RNN) wie zum Beispiel, aber nicht darauf beschränkt, ein gattergesteuertes rekurrentes Einheit (gated recurrent unit, GRU) rekurrentes neurales Netzwerk oder ein langes Kurzzeitgedächtnis (long short-term memory, LSTM) rekurrentes neurales Netzwerk. 7 shows a representation of an embodiment of neural network module 114 , Neural network module 114 may include any combination of hardware and / or software (e.g., program instructions) which may be in processor 104 and / or on device 100 are located. In some embodiments, neural network module is 114 a multi-scale neural network or other neural network in which the scaling of kernels used in the network may vary. In some embodiments, neural network module is 114 a recurrent neural network (RNN) such as, but not limited to, a gated recurrent unit (GRU) recurrent neural network or a long short-term memory (LSTM) recurrent neural network.

Neurales Netzwerkmodul 114 kann neurale Netzwerkschaltungen einschließen, welche mit Betriebsparametern installiert oder konfiguriert sind, welche von dem neuralen Netzwerkmodul oder einem ähnlichen neuralen Netzwerkmodul (zum Beispiel ein neurales Netzwerkmodul, welches auf einem unterschiedlichen Prozessor oder einer unterschiedlichen Vorrichtung betrieben wird) gelernt wurden. Zum Beispiel kann ein neurales Netzwerkmodul trainiert werden unter Verwendung von Trainingsbildern (zum Beispiel Referenzbilder) und/oder anderen Trainingsdaten um Betriebsparameter für die neuralen Netzwerkschaltungen zu erzeugen. Die Betriebsparameter, welche durch das Training erzeugt wurden, können dann dem neuralen Netzwerkmodul 114, welches auf Vorrichtung 100 installiert ist, bereitgestellt werden. Bereitstellen der Betriebsparameter, welche durch Training erzeugt wurden, an neurales Netzwerkmodul 114 auf Vorrichtung 100 erlaubt dem neuralen Netzwerkmodul unter Verwendung von Trainingsinformationen, welche in das neuralen Netzwerkmodul programmiert sind, zu operieren (zum Beispiel die Trainingserzeugten Betriebsparameter können durch das neurale Netzwerkmodul verwendet werden um Bilder, welche durch die Vorrichtung aufgenommen wurden, zu beurteilen und auf ihnen basierend zu operieren).Neural network module 114 may include neural network circuits installed or configured with operating parameters learned from the neural network module or similar neural network module (eg, a neural network module operating on a different processor or device). For example, a neural network module may be trained using training images (eg, reference images) and / or other training data to generate operational parameters for the neural network circuits. The operating parameters generated by the training may then be sent to the neural network module 114 which is on device 100 is installed. Provide the operating parameters generated by training to neural network module 114 on device 100 allows the neural network module to operate using training information programmed into the neural network module (e.g., the training generated operational parameters may be used by the neural network module to judge and operate on images captured by the device ).

In gewissen Ausführungsformen schließt neurales Netzwerkmodul 114 in Kodierungsmodul 116 und Dekodierungsmodul 118 ein. Kodierungsmodul 116 und Dekodierungsmodul 118 können Maschinenlernmodelle sein, welche innerhalb von neuralem Netzwerkmodul 114 betrieben werden (zum Beispiel werden das Kodierungsmodul und das Dekodierungsmodul im neuralen Netzwerkmodul ausgeführt). Kodierungsmodul 116 kann Bilder kodieren, welche in das Kodierungsmodul eingegeben werden, und kann Merkmale in den Bildern als Merkmalsvektoren in einem Merkmalsraum definieren (wie hierin beschrieben). Dekodierungsmodul 118 kann die Merkmalsvektoren in dem Merkmalsraum dekodieren, welche durch Kodierungsmodul 116 kodiert wurden, und kann eine Ausgabe erzeugen (wie hierin beschrieben).In certain embodiments, neural network module completes 114 in coding module 116 and decoding module 118 one. coding module 116 and decoding module 118 may be machine learning models, which are within neural network module 114 (for example, the coding module and the decoding module are executed in the neural network module). coding module 116 may encode images input to the encoding module and may define features in the images as feature vectors in a feature space (as described herein). decoding module 118 can decode the feature vectors in the feature space, which by coding module 116 and can generate an output (as described herein).

8 zeigt ein Flussdiagramm für eine Ausführungsform von einem Trainingsprozess 200 für ein neurales Netzwerkmodul. In gewissen Ausführungsformen ist Trainingsprozess 200 unter Verwendung eines neuralen Netzwerkmoduls implementiert (zum Beispiel ein neurales Netzwerkmodul zum Trainieren), welches sich auf einem anderen Computer Prozessor als Prozessor 104 befindet. 9 zeigt eine Darstellung von einer Ausführungsform von Prozessor 120 mit neuralem Netzwerkmodul 122, welches für Training verwendet werden kann (zum Beispiel das neurale Netzwerkmodul zum Trainieren). Neurales Netzwerkmodul 122 kann Kodierungsmodul 124 und Dekodierungsmodul 126 einschließen. In gewissen Ausführungsformen werden Bilder, welche früher aufgenommen wurden, dem neuralen Netzwerkmodul 122 als Trainingsbilder bereitgestellt. Bekannte Eigenschaften von den Trainingsbildern können zusammen mit den Trainingsbildern dem neuralen Netzwerkmodul 122 bereitgestellt werden (zum Beispiel können die Trainingsbilder um die bekannten Eigenschaften erweitert werden). In einigen Ausführungsformen kann Kamera 102 an Prozessor 120 und/oder neurales Netzwerkmodul 122 gekoppelt sein. Kamera 102 kann verwendet werden um Bilder von den Trainingsbildern aufzunehmen und um dem neuralen Netzwerkmodul 122 die von der Kamera aufgenommenen Bilder bereitzustellen. 8th shows a flowchart for an embodiment of a training process 200 for a neural network module. In certain embodiments, training process is 200 implemented using a neural network module (for example, a neural network module for training) that relies on a different computer processor than the processor 104 located. 9 shows a representation of one embodiment of processor with neural network module 122 , which can be used for training (for Example the neural network module for training). Neural network module 122 may be coding module 124 and decoding module 126 lock in. In certain embodiments, images captured earlier are the neural network module 122 provided as training images. Known properties of the training images, along with the training images, can be used by the neural network module 122 (for example, the training images can be extended by the known properties). In some embodiments, camera 102 to processor 120 and / or neural network module 122 be coupled. camera 102 can be used to take pictures of the training images and the neural network module 122 to provide the pictures taken by the camera.

Kodierungsmodul 124 und Dekodierungsmodul 126 können im Wesentlichen ähnlich oder im Wesentlichen gleich wie jeweils Kodierungsmodul 116 und Dekodierungsmodul 118 sein. Kodierungsmodul 124 und Dekodierungsmodul 126 können sich in neuralem Netzwerkmodul 122 auf Prozessor 120 befinden um durch Trainingsprozess 200 trainiert zu werden. Ausgegebene Betriebsparameter, welche vom „trainierten“ neuralen Netzwerkmodul 122 erzeugt wurden, können dann in neuralem Netzwerkmodul 114 auf Vorrichtung 100 zum Implementieren des „trainierten“ neuralen Netzwerkmodul auf der Vorrichtung verwendet werden.coding module 124 and decoding module 126 can be essentially similar or substantially the same as each coding module 116 and decoding module 118. coding module 124 and decoding module 126 can be in a neural network module 122 on processor 120 to move around through training process 200 to be trained. Output operating parameters derived from the "trained" neural network module 122 can then be generated in neural network module 114 on device 100 to implement the "trained" neural network module on the device.

In einigen Ausführungsformen ist Prozessor 120 ein GPU-befähigter Computer Prozessor. Neurales Netzwerkmodul zum Trainieren 122 auf dem GPU-befähigten Computer Prozessor kann Betriebsparameter unter Verwendung eines Gleitkommazahl-Darstellungsmodus ausgeben. Zum Beispiel können Betriebsparameter, welche von „trainiertem“ neuralen Netzwerkmodul 122 erzeugt wurden, Gewichtungen oder Kernel einschließen, welche unter Verwendung von Gleitkommazahlen beschrieben werden. In solchen Ausführungsformen kann es notwendig sein die Gleitkommabetriebsparameter in Gleitzahldarstellungen umzuwandeln bevor sie auf neuralem Netzwerkmodul 114 auf Vorrichtung 100 verwendet werden. Jeder im Fach bekannte Umwandlungsprozess kann verwendet werden um die Betriebsparameter von dem Gleitkommazahldarstellungsmodus in den Ganzzahlendarstellungsmodus umzuwandeln.In some embodiments, the processor is 120 a GPU-enabled computer processor. Neural network module for training 122 The GPU-enabled computer processor may output operating parameters using a floating-point representation mode. For example, operating parameters derived from "trained" neural network module 122 , weights or kernels described using floating point numbers. In such embodiments, it may be necessary to convert the floating point operation parameters to glide ratio representations before going to the neural network module 114 on device 100 be used. Any conversion process known in the art may be used to convert the operating parameters from the floating point number representation mode to the integer representation mode.

In gewissen Ausführungsformen, wie in 8 gezeigt, beginnt Trainingsprozess 200 mit Bereitstellen von Bildeingabe 202. Bildeingabe 202 kann Trainingsbilder einschließen, welche dem Trainingsprozess 200 bereitgestellt wurden (zum Beispiel Trainingsbilder, welche um die bekannten Informationen, wie oben beschrieben, erweitert wurden, oder welche mit diesen als Anmerkung versehen wurden (zum Beispiel beschriftet wurden), werden dem Trainingsprozess bereitgestellt). In einigen Ausführungsformen schließt Bildeingabe 202 Trainingsbilder, die mit Kamera 102 aufgenommen wurden, ein. Trainingsbilder können Referenzbilder oder andere Beispielbilder, welche von einer Datenbank von Bildern erhalten wurden, einschließen. Zum Beispiel können Trainingsbilder vom ImageNet oder einer anderen ähnlichen Bilderdatenbank erhalten werden. In gewissen Ausführungsformen ist Trainingsprozess 200 auf Flut-IR Beleuchtungsbilder implementiert, um das neurale Netzwerkmodul zur Gesichtserfassung in solchen Bildern zu trainieren. In einigen Ausführungsformen ist Trainingsprozess 200 auf Tiefenmap Bildern implementiert, um das neurale Netzwerkmodul für Gesichtserfassung in solchen Bildern zu trainieren. Bildeingabe 202 kann eine Vielzahl von Trainingsbilder mit einer breiten Palette von verschiedenen Benutzern und/oder Gesichtern in den Bildern einschließen. Die Gesichter in den Bildern können variierende Positionen in den Bildern und/oder Posen in den Bildern aufweisen. Die Positionen und/oder Posen von den Gesichtern in den Trainingsbildern können bekannt sein (zum Beispiel haben die Bilder Beschriftungen oder andere Indizien, welche die bekannten Information der Position und Posen identifizieren). Die bekannten Informationen von Position und Posen können in dem Trainingsprozess 200 als bekannte Daten 204 bereitgestellt werden. In einigen Ausführungsformen sind Trainingsbilder um bekannte Daten 204 erweitert.In certain embodiments, as in 8th Training process 200 begins by providing image input 202 , image input 202 may include training images which the training process 200 (for example, training images which have been augmented (for example, labeled) with the known information as described above, or which have been annotated with them, are provided to the training process). In some embodiments, image input completes 202 Training pictures taken with camera 102 were included. Training images may include reference images or other example images obtained from a database of images. For example, training images can be obtained from ImageNet or another similar image database. In certain embodiments, training process is 200 implemented on flood IR illumination images to train the neural network module for face detection in such images. In some embodiments, training process is 200 implemented on depth map images to train the facial neural network module in such images. image input 202 can include a variety of training images with a wide range of different users and / or faces in the images. The faces in the images may have varying positions in the images and / or poses in the images. The positions and / or poses of the faces in the training images may be known (for example, the images have captions or other indicia identifying the known position information and poses). The known information of position and poses can be used in the training process 200 as known data 204 to be provided. In some embodiments, training images are known data 204 extended.

In einigen Ausführungsformen werden die Trainingsbilder (zum Beispiel durch die Kamera aufgenommen) mit variierenden Abständen von der Kamera eingegeben. Der Wert des Abstands für jedes aufgenommene Bild kann bekannt sein und die bekannten Informationen können in bekannten Daten 204 zusammen mit den bekannten Informationen für Position und Posen bereitgestellt sein. Somit sind die bekannten Informationen von diesen Eigenschaften (Positionen und/oder Posen von dem Gesicht und Abstand zwischen dem Gesicht und Kamera) in bekannten Daten 204 eingeschlossen.In some embodiments, the training images (for example, captured by the camera) are input at varying distances from the camera. The value of the distance for each captured image may be known, and the known information may be in known data 204 be provided along with the known information for position and poses. Thus, the known information of these characteristics (positions and / or poses of the face and distance between the face and camera) are in known data 204 locked in.

Bildeingabe 202 kann dem Kodierungsprozess 206 bereitgestellt werden. Kodierungsprozess 206 kann zum Beispiel durch Kodierungsmodul 124, in 9 gezeigt, ausgeführt werden. In Kodierungsprozess 206, in 8 gezeigt, kann das Kodierungsmodul Bilder kodieren, die in dem Kodierungsprozess eingegeben werden, und kann Merkmale in den Bildern als Merkmalsvektoren in einem Merkmalsraum definieren. Zum Beispiel kann das Kodierungsmodul Gesichtsmerkmale im Gesicht eines Benutzers (und andere Merkmale in den Bildern) als Merkmalsvektoren in dem Merkmalsraum definieren. Kodierungsprozess 206 kann Merkmalsvektoren 208 ausgeben. Merkmalsvektoren 208 (zum Beispiel die Ausgabe von Kodierungsprozess 206 (und das Kodierungsmodul)) schließen Merkmalsvektoren in dem Merkmalsraum ein, welche die Gesichtsmerkmale des Benutzers repräsentieren (und/oder andere Merkmale in den Bildern). Ein Merkmalsraum kann ein N-dimensionaler Merkmalsraum sein. Ein Merkmalsvektor kann ein n-dimensionaler Vektor von numerischen Werten sein, welche Merkmale in den Bildern für einen Bereich in dem Merkmalsraum definieren, der einem Bereich in dem Bild entspricht. Zum Beispiel, in einigen Ausführungsformen, kann der Merkmalsvektor ein 1024-dimensionaler Vektor sein. Jede Anzahl an Dimensionen kann in verschiedenen Ausführungsformen implementiert werden.image input 202 can the coding process 206 to be provided. coding process 206 can for example by coding module 124 , in 9 shown to be executed. In coding process 206 , in 8th As shown, the coding module may encode images input in the encoding process and may define features in the images as feature vectors in a feature space. For example, the coding module may define facial features in the face of a user (and other features in the images) as feature vectors in the feature space. coding process 206 can feature vectors 208 output. feature vectors 208 (for example, the output of encoding process 206 (and the encoding module)) include feature vectors in the Feature space representing the facial features of the user (and / or other features in the images). A feature space may be an N-dimensional feature space. A feature vector may be an n-dimensional vector of numerical values defining features in the images for an area in the feature space corresponding to an area in the image. For example, in some embodiments, the feature vector may be a 1024-dimensional vector. Any number of dimensions may be implemented in various embodiments.

10 kennzeichnet ein Beispiel von einer Ausführungsform von Merkmalsraum 130 mit Regionen 132. Regionen 132 in Merkmalsraum 130 können, zum Beispiel, Zellen in einem Raster sein, wobei das Raster den Merkmalsraum darstellt. Im Beispiel von 10 ist Merkmalsraum 130 ein 8×8 Raster von Regionen 132. Merkmalsraum 130 kann jedoch wie benötigt ein anders dimensioniertes Raster aufweisen. Punkte 134 stellen Merkmalsvektoren in jeder der Regionen 132 dar. Regionen 132 in Merkmalsraum 130 können Regionen oder Bereichen in den Eingabebildern entsprechen. Somit ist im Beispiel von 10 das Eingabebild in 64 Regionen (8×8 Regionen) in Merkmalsraum 130 geteilt, wobei jede Region 132 eine andere Region des Eingabebildes darstellt. 10 indicates an example of one embodiment of feature space 130 with regions 132 , regions 132 in feature space 130 For example, cells may be in a grid, where the grid represents the feature space. In the example of 10 is feature space 130 an 8 × 8 grid of regions 132 , However, feature space 130 may have a different sized grid as needed. Points 134 represent feature vectors in each of the regions 132 Regions 132 in feature space 130 can correspond to regions or areas in the input screens. Thus, in the example of 10 the input image in 64 regions (8 × 8 regions) in feature space 130 shared, with each region 132 represents a different region of the input image.

In gewissen Ausführungsformen ist das Kodierungsmodul, welches beim Kodierungsprozess 206 verwendet wird (zum Beispiel Kodierungsmodul 124, gezeigt in 9) ein neurales Netzwerk. Zum Beispiel kann das Kodierungsmodul ein mehrskaliges neurales Netzwerk oder ein anderes neurales Netzwerk sein, bei dem die Skalierung von Kerneln, welche in dem Netzwerk verwendet werden, variieren kann. In gewissen Ausführungsformen ist das Kodierungsmodul ein mehrskaliges faltendes neuronales Netzwerk. Unter Verwendung eines mehrskaligen faltenden neuronalen Netzwerks kann Kodierungsprozess 206 eine Darstellung von Bildeingabe 202 mit Merkmalsvektoren in dem Merkmalsraum auf hoher Ebene auf hoher Ebene erzeugen. Zum Beispiel kann Kodierungsprozess 206 eine 32×32 Rasterdarstellung mit einem Merkmalsvektor in jeder Region (Zelle) von dem Raster erzeugen, wohingegen das Eingabebild eine höhere Auflösung aufweisen kann (zum Beispiel kann Bildeingabe 202 ein 256×256 Bild sein).In certain embodiments, the coding module involved in the coding process 206 is used (for example, coding module 124 , shown in 9 ) a neural network. For example, the coding module may be a multi-scale neural network or other neural network in which the scaling of kernels used in the network may vary. In certain embodiments, the coding module is a multi-scale convolutional neural network. Using a multiscale folding neural network, encoding process 206 a representation of image input 202 with feature vectors in the high-level feature space. For example, coding process 206 generate a 32x32 raster representation with a feature vector in each region (cell) of the raster, whereas the input image may have a higher resolution (for example, image input 202 may be a 256x256 image).

Wie in 8 gezeigt können Merkmalsvektoren 208 in dem Dekodierungsprozess 210 bereitgestellt werden. Dekodierungsprozess 210 kann, zum Beispiel, durch Dekodierungsmodul 126, gezeigt in 9, ausgeführt werden. In Dekodierungsprozess 210 kann das Dekodierungsmodul die Merkmalsvektoren in dem Merkmalsraum von Merkmalsvektoren 208, welche in Kodierungsprozess 206 erzeugt wurden, dekodieren. Dekodieren der Merkmalsvektoren kann Operieren auf den Merkmalsvektoren mit einem oder mehrerer Klassifizierern oder einem klassifikationsbefähigten Netzwerk einschließen, um Ausgabedaten 212 von Bildeingabe 202 zu bestimmen (zum Beispiel zu extrahieren). Ausgabedaten 212 können, zum Beispiel, Informationen oder Eigenschaften über Gesichter in Bildeingabe 202 einschließen.As in 8th feature vectors can be shown 208 provided in the decoding process 210. decoding process 210 can, for example, by decoding module 126 , shown in 9 to be executed. In decoding process 210 For example, the decoding module may include the feature vectors in the feature space of feature vectors 208 which in coding process 206 were generated, decode. Decoding the feature vectors may include operating on the feature vectors with one or more classifiers or a classification-enabled network to provide output data 212 from image input 202 to determine (for example, to extract). output data 212 can, for example, information or features about faces in image input 202 lock in.

In gewissen Ausführungsformen ist das Dekodierungsmodul, welches in Dekodierungsprozess 210 verwendet wird (zum Beispiel Dekodierungsmodul 126) ein neurales Netzwerk. Zum Beispiel kann das Dekodierungsmodul ein rekurrentes neurales Netzwerk (RNN) sein. In gewissen Ausführungsformen, ein gattergesteuertes rekurrentes Einheit (gated recurrent unit, GRU) rekurrentes neurales Netzwerk. Andere rekurrente neurale Netzwerke können jedoch auch verwendet werden, wie zum Beispiel ein langes Kurzzeitgedächtnis (long short-term memory, LSTM) rekurrentes neurales Netzwerk.In certain embodiments, the decoding module is in decoding process 210 is used (for example, decoding module 126 ) a neural network. For example, the decoding module may be a recurrent neural network (RNN). In certain embodiments, a gated recurrent unit (GRU) recurrent neural network. However, other recurrent neural networks may also be used, such as a long short-term memory (LSTM) recurrent neural network.

In gewissen Ausführungsformen schließt Dekodierungsprozess 210 Dekodieren von Merkmalsvektoren für jede Region in dem Merkmalsraum ein (zum Beispiel jede Region 132 in Merkmalsraum 130, gezeigt in dem Beispiel von 10). Merkmalsvektoren von jeder von den Regionen von dem Merkmalsraum können in nicht überlappende Boxen in Ausgabedaten 212 dekodiert werden. In gewissen Ausführungsformen schließt Dekodieren des Merkmalsvektors (zum Beispiel Extrahieren von Informationen von dem Merkmalsvektor) für eine Region Bestimmen (zum Beispiel Erkennen), ob eines oder mehrerer Gesichter in der Region präsent sind, ein. In Trainingsprozess 200 ist die Präsenz von Gesichtern in der Bildeingabe 202 bekannt und kann mit den dekodierten Merkmalsvektoren korreliert werden. Während Dekodierungsprozess 210 auf jeder Region in dem Merkmalsraum operiert, kann das Dekodierungsmodul eine Gesichtserfassungsbewertung für jede Region in dem Merkmalsraum bereitstellen (zum Beispiel eine Vorhersage basierend auf einem Vertrauenswert bezüglich dessen ob ein Gesicht oder Teil von einem Gesicht in der Region erkannt/präsent ist). In einigen Ausführungsformen, unter Verwendung des RNN, können mehrere Vorhersagen ob ein oder mehrere Gesichter präsent sind für jede Region des Merkmalsraums mit den Vorhersagen bereitgestellt werden, welche Vorhersagen über sowohl Gesichter in der Region als auch Gesichter um die Region einschließen (zum Beispiel in angrenzenden Regionen). Diese Vorhersagen können in Form einer finalen Entscheidung über die Präsenz von einem oder mehrerer Gesichter in Bildeingabe 202 reduziert werden. Ausgabedaten 212 können die Entscheidung über die Präsenz von einem oder mehrerer Gesichter in Bildeingabe 202 einschließen.In certain embodiments, decoding process concludes 210 Decode feature vectors for each region in the feature space (eg, each region 132 in feature space 130 shown in the example of 10 ). Feature vectors of each of the regions of the feature space may be in non-overlapping boxes in output data 212 be decoded. In certain embodiments, decoding the feature vector (eg, extracting information from the feature vector) for a region includes determining (e.g., detecting) whether one or more faces are present in the region. In training process 200 is the presence of faces in the image input 202 and can be correlated with the decoded feature vectors. During decoding process 210 on each region in the feature space, the decoding module may provide a face detection score for each region in the feature space (eg, a prediction based on a confidence score as to whether a face or part of a face is recognized / present in the region). In some embodiments, using the RNN, multiple predictions of whether one or more faces are present may be provided for each region of the feature space with the predictions including predictions about both faces in the region and faces around the region (eg, adjacent ones) regions). These predictions can take the form of a final decision on the presence of one or more faces in image input 202 be reduced. output data 212 can make the decision on the presence of one or more faces in image input 202 lock in.

In gewissen Ausführungsformen wird ein Gesicht in einer Region ohne große Überlappung mit angrenzenden Regionen erkannt während die Regionen als nicht überlappende Boxen dekodiert werden. In einigen Ausführungsformen können jedoch mehrere Regionen in Dekodierungsprozess 210 dasselbe Gesicht erkennen. Falls dasselbe Gesicht in mehreren Regionen erkannt wird, kann dann Vertrauen für diese Regionen in einer Reihenfolge eingestuft werden. Die mehreren Vorhersagen können verwendet werden um ein Vertrauen zu bestimmen, dass ein Gesicht, oder ein Teil von einem Gesicht, in jeder Region präsent ist (zum Beispiel können die Vorhersagen verwendet werden um Vertrauen für die Regionen einzustufen). Die Region bzw. die Regionen mit dem höchsten Vertrauen für das erkannte Gesicht können dann als die Region ausgewählt werden, welche in Trainingsprozess 200 verwendet werden. In certain embodiments, a face in a region that does not overlap with adjacent regions is recognized while the regions are being decoded as non-overlapping boxes. However, in some embodiments, multiple regions may be in decoding process 210 recognize the same face. If the same face is recognized in multiple regions, trust for those regions can then be ranked. The multiple predictions may be used to establish confidence that a face, or part of a face, is present in each region (for example, the predictions may be used to rank confidence for the regions). The region (s) with the highest confidence for the recognized face can then be selected as the region involved in the training process 200 be used.

In gewissen Ausführungsformen, wenn die Präsenz von einem oder mehreren Gesichtern in einer Region erkannt wird, schließen die Vorhersagen, welche durch Dekodierungsprozess 210 erzeugt werden, Beurteilungen (zum Beispiel Bestimmungen) von einer oder mehreren Eigenschaften des erkannten Gesichtes bzw. der erkannten Gesichter in der Region ein. Die beurteilten Eigenschaften können eine Position des Gesichtes im Verhältnis zu einer Mitte von der Region (zum Beispiel Versatz von dem Gesicht von der Mitte von der Region), eine Pose von dem Gesicht in der Region, und einen Abstand zwischen dem Gesicht in der Region und der Kamera einschließen. Pose des Gesichts kann Neigung, Gierung, und/oder Rollen des Gesichts einschließen. Die beurteilten Eigenschaften können in Ausgabedaten 212 zusammen mit der Entscheidung zu der Präsenz von einem oder mehreren Gesichtern in Bildeingabe 202 eingeschlossen sein.In certain embodiments, when the presence of one or more faces in a region is detected, the predictions made by the decoding process close 210 generated, judgments (for example, determinations) of one or more characteristics of the recognized face (s) in the region. The judged features may include a position of the face relative to a center of the region (for example, offset from the face of the center of the region), a pose of the face in the region, and a distance between the face in the region and include the camera. Pose of the face may include tilt, yaw, and / or rolling of the face. The assessed properties can be in output data 212 along with the decision to the presence of one or more faces in image input 202 be included.

In Trainingsprozess 200 können die Werte von den Eigenschaften von dem Gesicht bzw. von den Gesichtern bestimmt werden, indem dekodierte Merkmalsvektoren mit bekannten Daten 204 korreliert werden. Zum Beispiel können Bekannte Daten 204 bekannte Eigenschaften von dem Gesicht bzw. von den Gesichtern in Bildeingabe 202 mit den bekannten Eigenschaften, welche die Eigenschaften definieren, die durch Dekodierungsprozess 210 beurteilt werden, bereitstellen. In gewissen Ausführungsformen, während Trainingsprozess 200, schließt Korrelieren dekodierter Merkmalsvektoren mit bekannten Daten 204 ein, dass das Dekodierungsmodul für Dekodierungsprozess 210 Unterschiede zwischen dekodierten Merkmalsvektoren und bekannten Daten 204 beurteilt. Das Erkennungsmodul kann, zum Beispiel, Fehlerfunktionsanalyse (oder ähnliche Analysen) auf den Unterschieden zwischen den dekodierten Merkmalsvektoren und bekannten Daten 204 durchführen und den Merkmalsvektordekodierungsprozess verfeinern bis der Merkmalsvektordekodierungsprozess die bekannten Daten genau bestimmt. Während mehrere Trainingsbilder in Trainingsprozess 200 verarbeitet werden, kann somit Dekodierungsprozess 210 (und Kodierungsprozess 206) durch die Trainingsbilder in Bildeingabe 202 und durch die bekannten Daten 204 trainiert werden, um die Präsenz von Gesicht bzw. von Gesichtern genau zu erkennen und um Werte von Eigenschaften von dem Gesicht bzw. von den Gesichtern zu beurteilen.In training process 200 For example, the values of the characteristics of the face (s) may be determined by decoded feature vectors with known data 204 be correlated. For example, known data 204 known characteristics of the face or faces in image input 202 with the known properties defining the properties by decoding process 210 be judged. In certain embodiments, during training process 200 , concludes correlating decoded feature vectors with known data 204 a that the decoding module for decoding process 210 Differences between decoded feature vectors and known data 204 assessed. The recognition module may, for example, perform error function analysis (or similar analyzes) on the differences between the decoded feature vectors and known data 204 and refine the feature vector decoding process until the feature vector decoding process accurately determines the known data. While several training images in training process 200 can be processed thus decoding process 210 (and coding process 206 ) through the training images in image input 202 and by the known data 204 be trained to accurately recognize the presence of face (s) and to judge values of facial features (faces).

In gewissen Ausführungsformen werden Ausgaben für Pose des Gesichts und/oder Abstand zwischen dem Gesicht und der Kamera diskretisiert (zum Beispiel als diskrete Ausgaben bereitgestellt). Zum Beispiel Neigungs-, Gierungs- und Rollwerte können als Gleitkommawerte dekodiert werden. In einigen Ausführungsformen können die Gleitkommawerte positive oder negative Gleitkommawerte sein. Anstatt eine Regression auf den Gleitkommawerten durchzuführen, können Gleitkommawertausgaben diskretisiert werden indem ein minimaler und ein maximaler Wertebereich gewählt wird und dann die Gleitkommaausgaben in K Fächer (engl.: bins) geteilt werden, wobei K eine positive ganze Zahl ist. Unter Verwendung der Fächer und falls die Ausgabe in ein Fach fällt, wird eine 1 zugeordnet, und falls die Ausgabe nicht in ein Fach fällt, wird eine 0 zugeordnet. Falls der Gleitkommawert nicht in dem Wertebereich liegt, welcher durch die Fächer abgebildet wird, kann er zuerst zu dem nächsten Wert in dem Wertebereich angeklammert werden. Somit können die Gleitkommaausgaben von einem Gleitkommawert zu einem diskreten Vektor aus oen und 1en transformiert werden (zum Beispiel ist ein Merkmalsvektor ein diskreter Vektor aus oen und 1en). Das Netzwerk (zum Beispiel das Kodierungsmodul) kann dann trainiert werden, um die K-dimensionalen Vektoren anstatt eines einzelnen Gleitkommawerts vorherzusagen. Während der Laufzeit (zum Beispiel während Betrieb auf einer Vorrichtung) kann ein einzelner Gleitkommawert von diesen K-dimensionalen Ausgaben wiederhergestellt werden, indem die Aktivierung für jedes Fach des Netzwerks als eine Gewichtung behandelt wird. Dann die gewichtete Summe von den mittleren Werten von jedem Fach zu verwenden, kann einen einzelnen Gleitkommawert ergeben.In certain embodiments, facial pose cost and / or distance between the face and the camera are discretized (for example, provided as discrete outputs). For example, slope, yaw, and roll values can be decoded as floating-point values. In some embodiments, the floating point values may be positive or negative floating point values. Instead of performing a regression on the floating point values, floating-point value outputs can be discretized by selecting a minimum and a maximum value range and then dividing the floating-point outputs into K bins, where K is a positive integer. Using the trays and if the output falls into a bin, a 1 is assigned, and if the output does not fall into a bin, a 0 is assigned. If the floating point value is not within the range of values represented by the bins, it can first be clipped to the next value in the range of values. Thus, the floating point outputs can be transformed from a floating point value to a discrete vector of oen and 1en (for example, a feature vector is a discrete vector of oen and 1en). The network (eg, the coding module) may then be trained to predict the K-dimensional vectors rather than a single floating-point value. During runtime (for example, during operation on a device), a single floating-point value of these K-dimensional outputs can be recovered by treating the activation as a weight for each compartment of the network. Then using the weighted sum of the mean values of each bin can yield a single floating-point value.

Als Beispiel kann der minimale und maximale Wertebereich o bis 10 sein, und es kann zehn Fächer geben. Wenn dann ein Gleitkommatrainingsziel zwischen 0 und 1 liegt, wird es dem ersten Fach zugeordnet, falls es zwischen 1 und 2 liegt, wird es dem zweiten Fach zugeordnet, und so weiter. Werte unter null werden dem ersten Fach zugeordnet, und Werte über zehn werden dem letzten Fach zugeordnet. Mit dieser Prozedur würde ein Trainingswert von 2,4 in den Vektor (0 0 1 0 0 0 0 0 0 0) transformiert werden, ein Trainingswert von -1,3 würde in den Vektor (1 0 0 0 0 0 0 0 0 0) transformiert werden und ein Trainingswert von 11,9 würde in den Vektor (0 0 0 0 0 0 0 0 0 1) transformiert werden. Während der Laufzeit, falls der Netzwerkausgabevektor (0 0 1 1 0 0 0 0 0 0) ist, würde die gewichtete Summenprozedur in dem Wert 3,0 resultieren.As an example, the minimum and maximum value ranges may be o through 10, and there may be ten compartments. Then, if a floating point training target is between 0 and 1, it will be assigned to the first bin, if it is between 1 and 2, it will be assigned to the second bin, and so on. Values below zero are assigned to the first bin, and values over ten are assigned to the last bin. With this procedure, a training value of 2.4 in the vector ( 0 0 1 0 0 0 0 0 0 0 ), a training value of -1.3 would be in the vector ( 1 0 0 0 0 0 0 0 0 0) and a training value of 11.9 would be transformed into the vector ( 0 0 0 0 0 0 0 0 0 1). During runtime, if the network output vector ( 0 0 1 1 0 0 0 0 0 0 ), the weighted sum procedure would result in the value 3.0.

In einigen Ausführungsformen, während des Trainings, kann der K-dimensionale Vektor auf „weichen“ Zuordnungen mithilfe jedem geeigneten Algorithmus oder jeder geeigneten Formel basieren. Zum Beispiel, wenn eine Startfachzuordnung wie oben gegeben ist, kann den benachbarten Fächern auch ein Wert gegeben werden, welcher sich auf die Differenz zwischen dem Ziel und dem Mittelwert des Fachs bezieht. Als ein Beispiel kann der Trainingswert von 2,4 in dem obigen Beispiel stattdessen basierend auf einer einfachen exponentiellen Gleichung in den Vektor (0.671 .54 0 0 0 0 0 0) transformiert werden.In some embodiments, during training, the K-dimensional vector may be based on "soft" assignments using any suitable algorithm or formula. For example, if a starter mapping is given as above, the adjacent bins may also be given a value related to the difference between the target and the mean of the bin. As an example, the training value of 2.4 in the above example may instead be based on a simple exponential equation in the vector (FIG. 0671 .54 0 0 0 0 0 0).

Transformieren der Gleitkommawerte zu diskreten Vektoren erlaubt es Dekodierungsprozess 200 (und dem Dekodierungsmodul) auf Werten für Pose des Gesichts und/oder Abstand zwischen dem Gesicht und der Kamera zu operieren, indem klassifiziert wird in welchem Fach die Werte sind, anstatt eine Regressionslösung zu verwenden, welche für Gleitkommawerte benötigt wird. Nach dem Klassifizieren kann Dekodierungsprozess 210 Mapping von einer gewichteten Summe von welchem Gleitkommawert die Mitte von einem Fach darstellt einschließen (zum Beispiel gewichteter Durchschnitt vom Buckel des Fachs). Das Klassifizieren und Mappen des diskreten Vektors und der Fächer kann Ausgabe von Pose und/oder Positionsbeurteilungen bereitstellen, welche relativ genau sind.Transforming floating-point values to discrete vectors allows decoding process 200 (and the decoding module) to operate on pose-for-face values and / or distance between the face and the camera by classifying in which pocket the values are, rather than using a regression solution needed for floating-point values. After classifying can decoding process 210 Mapping a weighted sum of which floating-point value represents the center of a bin (for example, weighted average of the hump of the bin). Classifying and mapping the discrete vector and the trays may provide output of pose and / or position judgments that are relatively accurate.

Verwenden von Klassifizierungen auf diskrete Vektoren anstatt von Regression von Gleitkommawerten kann es Dekodierungsprozess 210 erlauben einfacher zu lernen (zum Beispiel in Trainingsprozess 200 trainiert zu werden), da neurale Netzwerke typischerweise besser sind Klassifizierungen statt Regressionen vorzunehmen. Zusätzlich können Fehlerfunktionssignale für Regressionen relativ groß sein, da Fehlerfunktionssignale in Regressionen umso größer sind desto größer der Unterschied ist, wohingegen Fehlerfunktionssignale für diskrete Vektoren und Fächer im Wesentlichen gleich sind, unabhängig davon wie groß ein Unterschied in einem Fehler ist. Somit kann Verwenden diskreter Vektoren und Fächer in Dekodierungsprozess 210 zum Beurteilen von Pose und/oder Position für das Dekodierprozesslernen effizienter sein als das Verwenden von Gleitkommawerten.Using declarations on discrete vectors instead of regression of floating point values, it may decode process 210 allow easier learning (for example in training process 200 training), since neural networks are typically better at classifying rather than regressing. Additionally, error function signals for regressions may be relatively large, since error function signals in regressions are larger the greater the difference, whereas error function signals for discrete vectors and fans are substantially the same regardless of how large a difference in error is. Thus, using discrete vectors and compartments in decoding process 210 to evaluate pose and / or position for decoding process learning more efficiently than using floating-point values.

Wie beschrieben kann Trainingsprozess 200 Trainingskodierprozess 206 und Dekodierprozess 210 (und ihre entsprechenden Kodierungs- und Dekodierungsmodule) auf einer Vielzahl von Trainingsbildern mit einer Vielzahl von verschiedenen Benutzern und/oder Gesichtern in den Bildern zusammen mit variierenden Eigenschaften von den Gesichtern in den Bildern einschließen. Nachdem Trainingsprozess 200 auf einem Satz von Trainingsbildern abgeschlossen ist, können Betriebsparameter 214 durch den Trainingsprozess basierend auf der Korrelation zwischen den dekodierten Merkmalsvektoren und bekannten Daten 204 erzeugt werden. Betriebsparameter 214 schließen Parameter ein, welche in neuralem Netzwerkmodul 122 genutzt werden können (zum Beispiel Kodierungsmodul 124 und Dekodierungsmodul 126), gezeigt in 9, um Gesicht bzw. um Gesichter zu erkennen, welche in das neurale Netzwerkmodul von Kamera 102 eingegeben werden und um Werte von Eigenschaften von dem Gesicht beziehungsweise von den Gesichtern zu beurteilen (zum Beispiel eine Position von dem Gesicht, eine Pose von dem Gesicht, und ein Abstand zwischen dem Gesicht und der Kamera). In einigen Ausführungsformen schließen Betriebsparameter 214 Klassifizierungsparameter ein, welche in Dekodierungsmodul 126 verwendet werden. Klassifizierungsparameter können Parameter einschießen, welche zum Klassifizieren der dekodierten Merkmalsvektoren verwendet werden, welche mit bekannten Daten 204 während des Trainingsprozesses 200 korreliert wurden. Dekodierungsmodul 126 kann dann dazu in der Lage sein Merkmalsvektoren für ein aufgenommenes Bild zu klassifizieren, welche durch Kodierungsmodul 124 unter Verwendung der Klassifizierungsparameter erzeugt wurden. Dekodieren der Merkmalsvektoren für das aufgenommene Bild durch Klassifizieren der Merkmalsvektoren (unter Verwendung der Klassifizierungsparameter) kann es neuralem Netzwerkmodul 122 erlauben die Präsenz von Gesicht bzw. die Präsenz von Gesichtern und die Werte von Eigenschaften von dem Gesicht bzw. von den Gesichtern in dem aufgenommenen Bild zu beurteilen.As described can training process 200 Trainingskodierprozess 206 and decoding process 210 (and their corresponding encoding and decoding modules) on a plurality of training images having a plurality of different users and / or faces in the images along with varying characteristics of the faces in the images. After training process 200 completed on a set of training images, operating parameters 214 through the training process based on the correlation between the decoded feature vectors and known data 204 be generated. operating parameters 214 include parameters which in neural network module 122 can be used (for example, coding module 124 and decoding module 126 ), shown in 9 to detect face or faces entering into the camera neural network module 102 and to evaluate values of characteristics of the face (s) (for example, a position of the face, a pose of the face, and a distance between the face and the camera). In some embodiments, operating parameters include 214 Classification parameters included in decoding module 126 be used. Classification parameters may include parameters used to classify the decoded feature vectors associated with known data 204 during the training process 200 were correlated. decoding module 126 may then be able to classify feature vectors for a captured image by encoding module 124 were generated using the classification parameters. Decoding the feature vectors for the captured image by classifying the feature vectors (using the classification parameters) may be a neural network module 122 allow the presence of face or the presence of faces and the values of properties of the face (s) to be assessed in the captured image.

In einigen Ausführungsformen können Betriebsparameter 214 getestet werden indem die Betriebsparameter in neurales Netzwerkmodul 122 eingegeben werden und das Modul auf einem Beispielbild mit bekannten Informationen (zum Beispiel bekannte Gesichtsposition, bekannte Pose, und bekannter Abstand) zu betreiben. 11 zeigt ein Flussdiagramm für eine Ausführungsform von einem Testprozess für neurales Netzwerkmodul 122. In Testprozess 215 kann Beispielbildeingabe 216 dem neuralen Netzwerkmodul 122 zusammen mit Betriebsparametern 214 bereitgestellt werden. Neurales Netzwerkmodul 122 kann Beispielausgabedaten 218 bereitstellen indem Beispieleingabebild 216 unter Verwendung von Betriebsparametern 214 verarbeitet wird. Beispielausgabedaten 218 können mit bekannten Beispielbilddaten 220 verglichen werden um zu sehen ob die Daten in Übereinstimmungsdaten 222 übereinstimmen.In some embodiments, operating parameters 214 be tested by the operating parameters in neural network module 122 and operate the module on a sample image with known information (e.g., known face position, known pose, and known distance). 11 shows a flow chart for one embodiment of a test process for neural network module 122 , In test process 215 can sample picture input 216 the neural network module 122 together with operating parameters 214 to be provided. Neural network module 122 can sample output data 218 provide by example input image 216 using operating parameters 214 is processed. Sample output 218 can with known sample image data 220 be compared to see if the data in match data 222 to match.

Wenn Beispielausgabedaten 218 mit bekannten Beispielbilddaten 220 übereinstimmen dann werden in 224 die Betriebsparameter eingestellt (zum Beispiel können Betriebsparameter 214 eingestellt und verwendet werden um neurales Netzwerkmodul 114 auf Prozessor 104, gezeigt in 6, zur Verwendung in einem Gesichtserfassungsprozess wie hierin beschrieben zu programmieren). Wenn Beispielausgabedaten 218 mit bekannten Beispielbilddaten 220 nicht übereinstimmen (innerhalb gewünschter Toleranzen) dann kann der Trainingsprozess (zum Beispiel Trainingsprozess 200, gezeigt in 8) in 226 fein abgestimmt werden. Feinabstimmen des Trainingsprozesses kann Bereitstellen zusätzlicher Trainingsbilder zu Trainingsprozess 200 und/oder andere Anpassungen in dem Trainingsprozess einschließen, um die Betriebsparameter für neurales Netzwerkmodul 122 zu verfeinern (oder um neue Betriebsparameter zu erzeugen). If sample output data 218 with known sample image data 220 then, at 224, the operating parameters are set (for example, operating parameters 214 can be set and used by neural network module 114 on the processor 104 , shown in 6 to be programmed for use in a face detection process as described herein). If sample output data 218 with known sample image data 220 can not match (within desired tolerances) then the training process (for example, training process 200 , shown in 8th ) in 226 fine tuned. Fine tuning the training process may provide additional training images to the training process 200 and / or other adjustments in the training process to the neural network module operating parameters 122 to refine (or to create new operating parameters).

Sobald Betriebsparameter 214 für neurales Netzwerkmodul 122 in 224 eingestellt sind, können die Betriebsparameter auf Vorrichtung 100, gezeigt in 1, angewandt werden indem die Betriebsparameter dem neuralen Netzwerkmodul 114 auf der Vorrichtung bereitgestellt werden. In gewissen Ausführungsformen sind Betriebsparameter 214 für neurales Netzwerkmodul 122 in einem Zahlendarstellungsmodus der unterschiedlich zu dem Zahlendarstellungsmodus ist, welchen neurales Netzwerkmodul 114 verwendet um zu arbeiten. Zum Beispiel kann neurales Netzwerkmodul 122 Gleitkommazahlen verwenden während neurales Netzwerkmodul 114 ganze Zahlen verwendet. Folglich werden in solchen Ausführungsformen Betriebsparameter 214 für neurales Netzwerkmodul 122 von den Gleitkomma-Betriebsparametern zu ganzzahligen Betriebsparametern zur Verwendung in neuralem Netzwerkmodul 114 umgewandelt.Once operating parameters 214 for neural network module 122 are set in 224, the operating parameters on device 100 , shown in 1 , be applied by the operating parameters of the neural network module 114 be provided on the device. In certain embodiments, operating parameters 214 for neural network module 122 in a number representation mode that is different from the number representation mode, which neural network module 114 used to work. For example, neural network module 122 Use floating-point numbers during neural network module 114 integers used. Consequently, in such embodiments, operating parameters 214 for neural network module 122 from the floating point operating parameters to integer operating parameters for use in the neural network module 114 transformed.

Nachdem Betriebsparameter zu neuralem Netzwerkmodul 114 bereitgestellt wurden, kann das neurale Netzwerkmodul auf Vorrichtung 100 operieren um einen Gesichtserfassungsprozess auf der Vorrichtung zu implementieren. 12 stellt ein Flussdiagramm für eine Ausführungsform von Gesichtserfassungsprozess 250 dar, welcher unter Verwendung von neuralem Netzwerkmodul 114 auf Vorrichtung 100 implementiert wird. Bildeingabe 252 kann ein Bild einschließen, welches unter Verwendung von Kamera 102 auf Vorrichtung 100 aufgenommen wurde. Das aufgenommene Bild kann ein Flut-IR Beleuchtungsbild oder ein Tiefenmap Bild sein. Gesichtserfassungprozess 250 kann verwendet werden um zu erkennen ob eines oder mehrere Gesichter in dem Bild sind (zum Beispiel Platzieren eines Begrenzungsfelds um das Gesicht bzw. um die Gesichter) und, falls eines oder mehrere Gesichter erkannt wurden, um Werte von Eigenschaften von dem Gesicht bzw. von den Gesichtern zu beurteilen (zum Beispiel Position, Pose, und/oder Abstand).After operating parameters to neural network module 114 may be provided, the neural network module on device 100 operate to implement a face detection process on the device. 12 FIG. 10 illustrates a flowchart for one embodiment of the face detection process. FIG 250 which is using neural network module 114 on device 100 is implemented. image input 252 can include an image using camera 102 on device 100 has been recorded. The captured image may be a flood IR illumination image or a depth map image. Face detection process 250 can be used to detect whether one or more faces are in the image (e.g., placing a bounding box around the face or faces) and, if one or more faces were detected, to obtain values of characteristics from the face to judge the faces (for example position, pose, and / or distance).

Das aufgenommene Bild von Bildeingabe 252 kann dem Kodierungsprozess 254 bereitgestellt werden. Kodierungsprozess 254 kann durch Kodierungsmodul 116, gezeigt in 7, durchgeführt werden. In gewissen Ausführungsformen ist Kodierungsmodul 116 ein mehrskaliges faltendes neurales Netzwerk (zum Beispiel ist Kodierungsmodul 116 im Wesentlichen dasselbe neurale Netzwerk wie Kodierungsmodul 124). In Kodierungsprozess 254 kann Kodierungsmodul 116 Bildeingabe 252 kodieren um Merkmale in dem Bild als Merkmalsvektoren in einem Merkmalsraum darzustellen (zum Beispiel ein Merkmalsraum, der im Wesentlichen ähnlich zu Merkmalsraum 130, gezeigt in 10, ist). Kodierungsprozess 254 kann Merkmalsvektoren 256 ausgeben. Merkmalsvektoren 256 können zum Beispiel kodierte Bildmerkmale sein, die als Vektoren dargestellt sind.The captured image of image input 252 can the coding process 254 to be provided. coding process 254 can by coding module 116 , shown in 7 , be performed. In certain embodiments, coding module is 116 a multi-scale folding neural network (for example, coding module 116 essentially the same neural network as the coding module 124 ). In coding process 254 can be coding module 116 image input 252 to represent features in the image as feature vectors in a feature space (eg, a feature space substantially similar to feature space 130 , shown in 10 is). coding process 254 can feature vectors 256 output. feature vectors 256 For example, they may be encoded image features represented as vectors.

Merkmalsvektoren 256 können dem Dekodierungsprozess 258 bereitgestellt werden. Dekodierungsprozess 258 kann durch Dekodierungsmodul 118, gezeigt in 7, durchgeführt werden. In gewissen Ausführungsformen ist Dekodierungsmodul 118 ein rekurrentes neurales Netzwerk (zum Beispiel ist Dekodierungsmodul 118 im Wesentlichen dasselbe neurale Netzwerk wie Dekodierungsmodul 126). In Dekodierungsprozess 258 kann das Dekodierungsmodul Merkmalsvektoren 256 dekodieren, um eine oder mehrere Eigenschaften von Bildeingabe 252 zu beurteilen, um Ausgabedaten 260 von der Bildeingabe zu bestimmen (zum Beispiel zu extrahieren). Dekodieren der Merkmalsvektoren kann Klassifizieren der Merkmalsvektoren unter Verwendung von Klassifizierungsparametern, welche während des Trainingsprozess 200 bestimmt wurden, einschließen. Klassifizieren der Merkmalsvektoren kann Operieren auf den Merkmalsvektoren mit einem oder mehrerer Klassifizierern oder einem klassifikations-tauglichen Netzwerk einschließen. In gewissen Ausführungsformen schließt Dekodierungsprozess 258 Dekodieren von Merkmalsvektoren für jede Region in dem Merkmalsraum ein. Merkmalsvektoren von jeder von den Regionen des Merkmalsraums können in nichtüberlappende Boxen in Ausgabedaten 260 dekodiert werden. In gewissen Ausführungsformen schließt Dekodieren des Merkmalsvektors (zum Beispiel Extrahieren von Informationen von dem Merkmalsvektor) für eine Region Bestimmen (zum Beispiel Erkennen), ob eines oder mehrerer Gesichter in der Region präsent sind, ein. Während Dekodierungsprozess 258 auf jeder Region in dem Merkmalsraum operiert, kann das Dekodierungsmodul eine Gesichtserfassungsbewertung (zum Beispiel eine Vorhersage basierend auf einer Vertrauensbewertung hinsichtlich dessen, ob ein Gesicht oder ein Teil von einem Gesicht in der Region erkannt/präsent ist) für jede Region in dem Merkmalsraum bereitstellen. In einigen Ausführungsformen, unter Verwendung des RNN, können mehrere Vorhersagen hinsichtlich dessen, ob eines oder mehrere Gesichter (oder Teile von Gesichtern) präsent sind, für jede Region des Merkmalsraums mit den Vorhersagen bereitgestellt werden, einschließlich Vorhersagen über sowohl Gesichter in der Region als auch über Gesichter um die Region (zum Beispiel in benachbarten Regionen). Diese Vorhersagen können auf eine finale Entscheidung zu der Präsenz von einem oder von mehreren Gesichtern in Bildeingabe 252 reduziert werden. Ausgabedaten 260 können die Entscheidung zu der Präsenz von einem oder von mehreren Gesichtern in Bildeingabe 252 (zum Beispiel in dem aufgenommenen Bild) einschließen. In einigen Ausführungsformen können mehrere Regionen, die in Dekodierungsprozess 258 dekodiert werden, dasselbe Gesicht erkennen. Vertrauensreihenfolgen von Regionen können durch Dekodierungsprozess 258 auch bestimmt werden. Falls dasselbe Gesicht in mehreren Regionen erkannt wird, kann die Reihenfolge von Vertrauen für diese Regionen verwendet werden um die Region mit dem höchsten Vertrauen für das erkannte Gesicht zu bestimmen. Die Region mit der höchsten Vertrauensbewertung kann dann ausgewählt werden um Ausgabedaten 260 bereitzustellen (einschließlich zusätzlicher Daten für Werte von Eigenschaften von dem erkannten Gesicht).feature vectors 256 can the decoding process 258 to be provided. decoding process 258 can by decoding module 118 , shown in 7 , be performed. In certain embodiments, decoding module is 118 a recurrent neural network (for example, decoding module 118 essentially the same neural network as the decoding module 126 ). In decoding process 258 the decoding module can feature vectors 256 decode to one or more properties of image input 252 to judge to output data 260 from the image input to determine (for example, to extract). Decoding the feature vectors may classify the feature vectors using classification parameters that are used during the training process 200 were included. Classifying the feature vectors may include operating on the feature vectors with one or more classifiers or a classification-capable network. In certain embodiments, decoding process concludes 258 Decoding feature vectors for each region in the feature space. Feature vectors from each of the regions of feature space may be in non-overlapping boxes in output data 260 be decoded. In certain embodiments, decoding the feature vector (eg, extracting information from the feature vector) for a region includes determining (e.g., detecting) whether one or more faces are present in the region. During decoding process 258 on each region in the feature space, the decoding module may provide a face detection score (e.g., a prediction based on a confidence score as to whether a face or part of a face is detected in the region) for each region in the feature space. In some embodiments, Using the RNN, multiple predictions as to whether one or more faces (or parts of faces) are present can be provided for each region of the feature space with the predictions, including forecasts of both faces in the region and faces around them Region (for example in neighboring regions). These predictions may indicate a final decision on the presence of one or more faces in image input 252 be reduced. output data 260 can make the decision to the presence of one or more faces in image input 252 (for example, in the captured image). In some embodiments, multiple regions may be involved in the decoding process 258 be decoded, recognize the same face. Regions of trust can also be determined by decode process 258. If the same face is detected in multiple regions, the order of trust for those regions can be used to determine the region with the highest confidence in the detected face. The region with the highest confidence rating can then be selected for output data 260 (including additional data for values of characteristics of the detected face).

Wenn die Präsenz von einem oder mehrerer Gesichter in einer Region von dem Merkmalsraum erkannt werden, schließen die Vorhersagen, welche durch Dekodierungsprozess 258 erzeugt wurden, Beurteilungen (zum Beispiel Bestimmungen) von einem oder mehrerer Werte von Eigenschaften von dem erkannten Gesicht bzw. von den erkannten Gesichtern in der Region ein. Beurteilen von Eigenschaften von dem erkannten Gesicht beziehungsweise von den erkannten Gesichtern kann Klassifizieren der Merkmalsvektoren während des Dekodierens von den Merkmalsvektoren unter Verwendung von Klassifizierungsparametern (von Trainingsprozess 200 erhalten), welche mit den Eigenschaften, welche beurteilt werden, assoziiert sind, einschließen. In gewissen Ausführungsformen schließen die beurteilten Werte von den Eigenschaften eine Position von dem Gesicht im Verhältnis zu einer Mitte von der Region (zum Beispiel Versatz vom Gesicht von der Mitte von der Region), eine Pose von dem Gesicht in der Region, und einen Abstand zwischen dem Gesicht in der Region und der Kamera ein. In gewissen Ausführungsformen schließt die Pose des Gesichts Neigung, Gierung und/oder Rollen des Gesichts ein. Beurteilte Werte von den Eigenschaften können in den Ausgabedaten 260 zusammen mit der Entscheidung zu der Präsenz von einem oder von mehreren Gesichtern in Bildeingabe 252 eingeschlossen sein.When the presence of one or more faces in a region is recognized by the feature space, the predictions made by the decoding process close 258 generated, judgments (for example, determinations) of one or more values of characteristics of the recognized face (s) in the region. Judging properties of the recognized face (s) may be classified as the feature vectors during decoding from the feature vectors using classification parameters (from training process 200 obtained) associated with the properties to be assessed. In certain embodiments, the assessed values of the characteristics include a position of the face relative to a center of the region (eg, offset from the face of the center of the region), a pose of the face in the region, and a distance between the face in the region and the camera. In certain embodiments, the pose of the face includes inclination, yaw, and / or rolling of the face. Judged values from the properties can be found in the output data 260 included with the decision to presence of one or more faces in image input 252.

In gewissen Ausführungsformen werden Ausgabedaten 260 dem nachgeschalteten Prozess 262 bereitgestellt. Nachgeschalteter Prozess 262 kann jeden Prozess einschließen, der dem Gesichtserfassungsprozess 250 auf Vorrichtung 100 nachgeschaltet ist und der dazu in der Lage ist die Gesichtserfassungsprozessausgabe zu verwenden. Beispiele von nachgeschaltetem Prozess 262 schließen zusätzliche Bildsignalverarbeitung und security enclave Verarbeitung, wie zum Beispiel Gesichtserkennungsverarbeitung, ein, aber sind nicht darauf beschränkt. In einigen Ausführungsformen werden einer oder mehrerer Werte in Ausgabedaten 260 verwendet, um eine oder mehrere Operationen auf Vorrichtung 100 zu steuern. In einigen Ausführungsformen können die Abstandswerte in Ausgabedaten 260 verwendet werden, um eine Operation von Speckle Musterbeleuchtungsausgabe von Kamera 102 auf Vorrichtung 100 zu steuern. Zum Beispiel können Abstandswerte in Ausgabedaten 260 verwendet werden, um eine Dichte (oder eine Dichte-Einstellung) für Speckle Musterbeleuchtungsausgabe von Kamera 102 zu bestimmen, wie hierin beschrieben.In certain embodiments, output data becomes 260 the downstream process 262 provided. Downstream process 262 can include any process involving the face detection process 250 on device 100 is downstream and is able to use the face detection process output. Examples of downstream process 262 include additional image signal processing and security enclave processing, such as face recognition processing, but are not limited thereto. In some embodiments, one or more values become output data 260 used to perform one or more operations on device 100 to control. In some embodiments, the distance values may be in output data 260 used to be an operation of Speckle pattern illumination output from camera 102 on device 100 to control. For example, distance values can be in output data 260 used to set a density (or density setting) for Speckle pattern lighting output from camera 102 as described herein.

Wie in 12 gezeigt, kann Gesichtserfassungsprozess 250 verwendet werden um eines oder mehrere Gesichter in einem Bild zu erkennen, welches durch Kamera 102 auf Vorrichtung 100 aufgenommen wurde. Ausgabedaten 260 können eine Entscheidung dazu einschließen, dass eines oder mehrere Gesichter in dem aufgenommenen Bild zusammen mit Daten für Werte von Eigenschaften von dem erkannten Gesicht bzw. von den erkannten Gesichtern enthalten sind (zum Beispiel Position, Pose, und/oder Abstand von der Kamera). Gesichtserfassungsprozess 250 nutzt ein einzelnes Netzwerkmodul (zum Beispiel neurales Netzwerkmodul 114) um Gesichtserfassungsausgabe zusammen mit Position, Pose und Abstand von der Kamera von dem erkannten Gesicht bzw. von den erkannten Gesichtern bereitzustellen. Verwenden des neuralen Netzwerkmoduls 114 erlaubt es Gesichtserfassungsprozess 250 mit reduzierter Rechenkomplexität zu implementieren, weil Berechnungen für Gesichtserfassung und Vorhersage von Position, Pose und Abstand zwischen diesen Aufgaben geteilt werden. Teilen dieser Aufgaben kann auch bessere Laufzeitleistung bereitstellen.As in 12 can be shown, face detection process 250 be used to detect one or more faces in an image, which by camera 102 on device 100 has been recorded. output data 260 may include a decision to include one or more faces in the captured image along with data for values of characteristics of the detected face (s) (e.g., position, pose, and / or distance from the camera). Face detection process 250 uses a single network module (for example neural network module 114 ) to provide face detection output along with position, pose and distance from the camera from the recognized face (s). Using the neural network module 114 allows face detection process 250 to be implemented with reduced computational complexity because calculations for face detection and prediction of position, pose and distance between these tasks are shared. Sharing these tasks can also provide better runtime performance.

In gewissen Ausführungsformen wird Gesichtserfassungsprozess 250 für ein Bild verwendet, welches unter Verwendung von Flut-Infrarot Beleuchtung zum Beleuchten eines Gesichts eines Benutzers aufgenommen wurde. Zum Beispiel wird Gesichtserfassungsprozess 250 für ein Bild, das durch Kamera 102 aufgenommen wurde, verwendet, wenn der Benutzer durch Flutbeleuchtung 105A, gezeigt in 2, beleuchtet wird. Wie oben beschrieben, können Ausgabedaten 260 von Gesichtserfassungsprozess 250 eine Beurteilung (zum Beispiel eine Abschätzung) von Abstand zwischen dem Gesicht des Benutzers und Kamera 102 einschließen. In gewissen Ausführungsformen wird die Abschätzung der Distanz zwischen dem Gesicht des Benutzers und Kamera 102 verwendet, um eine Dichte von Beleuchtung zu bestimmen, welche durch Speckle Beleuchtung 105B bereitgestellt wird (zum Beispiel eine Dichte von Speckle Muster Infrarot-Beleuchtung, welche den Benutzer beleuchtet).In certain embodiments, face detection process 250 for an image taken using flood-infrared illumination to illuminate a user's face. For example, face detection process 250 for a picture taken by camera 102 was taken when used by flood lighting the user 105A , shown in 2 , is illuminated. As described above, output data 260 from face detection process 250 a judgment (for example a Estimation) of distance between the user's face and camera 102 lock in. In certain embodiments, the estimation of the distance between the user's face and camera 102 used to determine a density of lighting, which is due to speckle lighting 105B (for example, a density of speckle pattern infrared lighting which illuminates the user).

13 veranschaulicht ein Flussdiagramm für eine Ausführungsform von Beleuchtungsbestimmungsprozess 300. Prozess 300 kann verwendet werden um eine Dichte von Beleuchtung zu bestimmen, welche durch Speckle Beleuchtung 105B auf Vorrichtung 100 bereitgestellt wird, wenn ein Bild durch Kamera 102 auf der Vorrichtung aufgenommen wird. Gesichtsabstandsabschätzung 302 schließt eine Abschätzung eines Abstands zwischen dem Gesicht eines Benutzers und Kamera 102 auf Vorrichtung 100 ein. In gewissen Ausführungsformen wird Gesichtsabstandsabschätzung 302 durch Ausgabedaten 260 von Gesichtserfassungsprozess 250 unter Verwendung eines infrarotbeleuchteten Bildes, welches durch Kamera 102 wie oben beschrieben aufgenommen wurde, bereitgestellt. In einigen Ausführungsformen wird Gesichtsabstandsabschätzung durch einen anderen Sensor auf Vorrichtung 100 bereitgestellt. Zum Beispiel kann Vorrichtung 100 einen Näherungssensor, einen Lasersensor, oder einen anderen Sensor, welcher dazu in der Lage ist Abstandsinformationen zwischen dem Benutzer und der Vorrichtung zu beurteilen, einschließen. 13 illustrates a flowchart for one embodiment of lighting determination process 300 , process 300 can be used to determine a density of lighting, which is provided by speckle lighting 105B on device 100 is provided when a picture by camera 102 is recorded on the device. Face distance estimation 302 concludes an estimate of a distance between a user's face and camera 102 on device 100 one. In certain embodiments, facial distance estimation becomes 302 through output data 260 from face detection process 250 using an infrared illuminated image, which is transmitted by camera 102 provided as described above. In some embodiments, facial distance estimation is performed by another sensor on the device 100 provided. For example, device may 100 a proximity sensor, a laser sensor, or other sensor capable of judging distance information between the user and the device.

In 304 wird der abgeschätzte Abstand von 302 mit einem ausgewählten oder Grenzwertabstand verglichen. In gewissen Ausführungsformen ist der Grenzwertabstand ein Abstand von Vorrichtung 100 bei welchem Punkte (Speckles) in einem dichten Punktemuster (zum Beispiel ein Punktemuster mit höherer Dichte) sich nicht mehr überlappen. Zum Beispiel können über dem Grenzwertabstand die Punkte (zum Beispiel das Speckle Muster) in Fokus sein. Unter dem Grenzwertabstand werden Punkte in dem Speckle Muster jedoch größer und gehen aus dem Fokus. In einigen Fällen unter dem Grenzwertabstand (zum Beispiel wenn 100 % von den Emittern für das dichte Punktemuster gestellt sind) können die Punkte in dem Speckle Muster zu groß werden und sich überlappen und das Subjekt wird flachfeldbeleuchtet (engl.: flat field illuminated). Wenn flachfeldbeleuchtet, können die einzelnen Punkte nicht voneinander unterschieden werden (zum Beispiel die Position oder die Grenzen von jedem Punkt sind nicht länger erkennbar) und dreidimensionale Messungen können schwierig oder unmöglich werden. Somit kann Überlappen zwischen den Punkten in dem Speckle Muster verhindern, dass dreidimensionale Information über das Subjekt bestimmt werden können.In 304 For example, the estimated distance of 302 is compared to a selected or threshold distance. In certain embodiments, the threshold distance is a device distance 100 where dots (speckles) in a dense dot pattern (eg, a higher density dot pattern) no longer overlap. For example, above the threshold distance, the points (for example, the speckle pattern) may be in focus. Below the threshold distance, however, dots in the speckle pattern become larger and go out of focus. In some cases, below the threshold distance (for example, when 100% of the dense dot pattern emitters are placed), the dots in the speckle pattern may become too large and overlap, and the subject will be flat field illuminated. When flat-field lit, the individual points can not be distinguished (for example, the position or boundaries of each point are no longer recognizable), and three-dimensional measurements can be difficult or impossible. Thus, overlapping between the points in the speckle pattern can prevent three-dimensional information about the subject from being determined.

Um die Probleme mit Punkten in dem Speckle Muster, welche zu groß werden oder sich überlappen, zu überwinden, kann spärliche Punktedichte verwendet werden. Wie hierin beschrieben, wird spärliche Punktedichte bereitgestellt indem ein anteiliger Prozentsatz von den Emittern in dem Feld von Beleuchtung 105B verwendet wird (zum Beispiel ungefähr 40 % von den Emittern). Verwenden von weniger Emittern stellt mehr Zwischenräume zwischen den Punkten in dem Muster bereit. Somit ermöglichen die größeren Zwischenräume, obwohl die Punkte größer sind, dass die Punkte unterschieden und für dreidimensionale Messungen verwendet werden können. In gewissen Ausführungsformen ist der Prozentsatz von Emittern, welche verwendet werden um ein spärliches Punktedichtemuster bereitzustellen, ein maximaler Prozentsatz (Dichte) von Emittern, welche, bei einem Grenzwertabstand, noch Unterscheidung zwischen den Punkten erlaubt (zum Beispiel stellt eine maximale erlaubte Dichte bereit). Zum Beispiel stellt in einer Ausführungsform Nutzen von ungefähr 40 % von den Emittern eine maximale erlaubte Dichte bei ungefähr 20 cm Abstand zwischen der Beleuchtung und dem Subjekt bereit. In solch einer Ausführungsform beginnt folglich, wenn mehr als ungefähr 40 % von den Emittern verwendet werden, die Auflösung (zum Beispiel Unterscheidung) zwischen den Punkten gefährdet zu sein.To overcome the problems with spots in the speckle pattern that become too large or overlap, sparse dot density can be used. As described herein, sparse dot density is provided by a proportionate percentage of the emitters in the field of illumination 105B used (for example, about 40% of the emitters). Using fewer emitters provides more spaces between the points in the pattern. Thus, although the dots are larger, the larger spaces allow the dots to be distinguished and used for three-dimensional measurements. In certain embodiments, the percentage of emitters used to provide a sparse dot density pattern is a maximum percentage (density) of emitters which, at a threshold distance, still allows discrimination between the dots (eg, provides a maximum allowed density). For example, in one embodiment, about 40% of the emitters provide a maximum allowable density at about 20 cm distance between the illumination and the subject. Thus, in such an embodiment, when more than about 40% are used by the emitters, the resolution (for example, discrimination) between the points begins to be compromised.

Für Vorrichtung 100 (zum Beispiel eine tragbare Vorrichtung) kann der Grenzwertabstand zwischen ungefähr 20 cm und ungefähr 60 cm sein. In gewissen Ausführungsformen ist der Grenzwertabstand zwischen ungefähr 20 cm und ungefähr 35 cm. In einigen Ausführungsformen ist der Grenzwertabstand zwischen ungefähr 10 cm und ungefähr 70 cm. In einigen Ausführungsformen ist der Grenzwertabstand zwischen ungefähr 30 cm und ungefähr 50 cm. Der Grenzwertabstand kann, zum Beispiel abhängig von der Optik von Kamera 102 und/oder der Optik von Speckle Beleuchtung 105B, variieren.For device 100 (For example, a portable device), the threshold distance may be between about 20 cm and about 60 cm. In certain embodiments, the threshold distance is between about 20 cm and about 35 cm. In some embodiments, the threshold distance is between about 10 cm and about 70 cm. In some embodiments, the threshold distance is between about 30 cm and about 50 cm. The limit distance can, for example, depending on the optics of camera 102 and / or the optics of Speckle lighting 105B , vary.

Falls in 304 der abgeschätzte Abstand von 302 geringer als der Grenzwertabstand (zum Beispiel 25 cm) ist, dann wird spärliche Musterbeleuchtung durch Speckle Beleuchtung 105B in 306 bereitgestellt (zum Beispiel nur Segment A (ungefähr 40 % von den Emittern in der Beleuchtung), gezeigt in 5, wird betrieben). Falls der abgeschätzte Abstand von 302 größer als der Grenzwertabstand ist, dann wird dichte Musterbeleuchtung durch Speckle Beleuchtung 105B in 308 bereitgestellt (zum Beispiel sowohl Segment A als auch Segment B (ungefähr 100 % von den Emittern), gezeigt in 5, werden betrieben). In gewissen Ausführungsformen schließt spärliche Musterbeleuchtung Speckle Musterbeleuchtung mit einer spärlichen Punktdichte ein (zum Beispiel eine geringere Punktdichte), während dichte Musterbeleuchtung Speckle Musterbeleuchtung mit einer dichten Punktdichte (zum Beispiel eine höhere Punktdichte) einschließt. Folglich hat dichte Musterbeleuchtung eine höhere Punkt (Speckle) Dichte als spärliche Musterbeleuchtung.In 304, if the estimated distance of 302 is less than the threshold distance (eg, 25 cm), then sparse pattern illumination is provided by speckle illumination 105B at 306 (eg, only segment A (approximately 40% of the emitters in the illumination) shown in 5 , is operated). If the estimated distance of 302 is greater than the threshold distance then dense pattern illumination will result from speckle illumination 105B at 308 (for example, both Segment A and Segment B (approximately 100% of the emitters) shown in FIG 5 , Are operated). In certain embodiments, sparse pattern lighting includes speckle pattern lighting with sparse dot density (e.g., lower dot density), while dense pattern lighting speckle pattern dense dot density patterning (e.g., higher dot density) Dot density). Consequently, dense pattern illumination has a higher speckle density than sparse pattern illumination.

Sobald Beleuchtung durch Beleuchtung 105B unter Verwendung von entweder spärlicher Musterbeleuchtung 306 oder dichter Musterbeleuchtung 308 bereitgestellt wird, kann eines oder mehrere Bilder unter Verwendung von Kamera 102 in 310 aufgenommen werden. Das Bild bzw. die Bilder, aufgenommen in 310, ist bzw. sind specklemusterbeleuchtete Bilder (zum Beispiel ein Tiefenkamerabild bzw. Tiefenkamerabilder) von dem Benutzer. In einigen Ausführungsformen wird das Speckle Muster Bild bzw. werden die Speckle Muster Bilder verwendet um Tiefeninformation für eines oder mehrere Gesichtsmerkmale von dem Benutzer in 312 zu beurteilen. Tiefeninformation kann basierend auf einer bekannten Konfiguration und Punktemuster, welches durch Speckle Beleuchtung 105B erzeugt wird, beurteilt werden (zum Beispiel sind die Konfiguration und Dichte von der spärlichen Musterbeleuchtung oder der dichten Musterbeleuchtung bekannt). Das Bild bzw. die Bilder, aufgenommen durch Kamera 102 mit Speckle Musterbeleuchtung, können zweidimensionale Bilder bzw. ein zweidimensionales Bild sein, mit variierenden Zwischenräumen zwischen den Punkten in den Bildern bzw. dem Bild, basierend auf den Merkmalen auf welche die Beleuchtung projiziert wird. Tiefen in dem aufgenommenen Bild bzw. in den aufgenommenen Bildern können dann interpoliert werden indem die Zwischenräume von den Punkten (Speckles) in dem aufgenommenen Bild bzw. in den aufgenommenen Bildern beurteilt werden.Once lit by lighting 105B using either sparse pattern lighting 306 or dense pattern lighting 308 is provided, one or more images using camera 102 be recorded in 310. The image (s) taken in 310 is speckle pattern illuminated images (eg, a depth camera image) from the user. In some embodiments, the speckle pattern image (s) is used to assess depth information for one or more facial features of the user in 312. Depth information can be based on a known configuration and point pattern, which is provided by speckle lighting 105B are generated (for example, the configuration and density of the sparse pattern illumination or the dense pattern illumination are known). The picture or pictures, taken by camera 102 with speckle pattern illumination, may be two-dimensional images or a two-dimensional image, with varying gaps between the points in the images, based on the features on which the illumination is projected. Depths in the captured image (s) can then be interpolated by judging the spaces between the points (speckles) in the captured image (s).

In einigen Ausführungsformen wird das Bild bzw. werden die Bilder, aufgenommen in 310, zusammen mit Flut-Infrarotbeleuchtungsbildern bzw. Flut-Infrarotbeleuchtungsbild 314 dem Gesichtserfassungsprozess 316 bereitgestellt. Flut-Infrarotbeleuchtungsbild bzw. Flut-Infrarotbeleuchtungsbilder 314 können Bilder einschließen, welche verwendet werden um Gesichtsabstandsabschätzung 302 bereitzustellen. Gesichtserfassungsprozess 316 kann Beurteilen einschließen, ob der Benutzer im Bild bzw. in Bildern, aufgenommen in 310, und Flut-Infrarotbeleuchtungsbild bzw. Flut-Infrarotbeleuchtungsbildern 314 ein autorisierter Benutzer von Vorrichtung 100 ist.In some embodiments, the image (s) taken in 310 are combined with flood-infrared lighting images 314 the face detection process 316 provided. Flood infrared lighting image or flood infrared lighting images 314 may include images that are used for facial distance estimation 302 provide. Face detection process 316 may include judging whether the user is in the picture, taken in 310, and flood infrared lighting images 314 an authorized user of device 100 is.

In gewissen Ausführungsformen wird, nachdem Bild bzw. Bilder in 310 aufgenommen wurden, ein neues Flut-Infrarotbeleuchtungsbild in 318 aufgenommen und das aufgenommene Bild wird Gesichtsabstandsabschätzung 302 bereitgestellt um Prozess 300 erneut zu beginnen und um eine neue Bestimmung für Dichte von Beleuchtung (zum Beispiel Musterbestimmung) bereitzustellen, welche durch Speckle Beleuchtung 105B bereitgestellt wird. Zum Beispiel kann Prozess 300 auf dem neuen Flut-Infrarotbeleuchtungsbild implementiert werden, um den Abstand zwischen dem Benutzer und Kamera 102 erneut zu beurteilen und um zu Bestimmen ob die Dichte von der Speckle Musterbeleuchtung geändert werden muss (zum Beispiel umgeschaltet von spärlichem Muster zu dichtem Muster oder umgekehrt).In certain embodiments, after images have been captured in 310, a new flood infrared illumination image is taken in 318 and the captured image becomes facial distance estimation 302 to restart process 300 and provide a new determination for density of illumination (eg, pattern determination) provided by speckle illumination 105B. For example, process can 300 can be implemented on the new flood infrared lighting image to the distance between the user and camera 102 to reassess and to determine if the density of the speckle pattern illumination needs to be changed (for example, switched from sparse pattern to dense pattern or vice versa).

In gewissen Ausführungsformen wechselt Kamera 102, gezeigt in 2, zwischen Aufnehmen von Flut-Infrarotbeleuchtungsbildern und Speckle Musterbeleuchtungsbildern ab. Zum Beispiel kann Kamera 102 Bilder mit 60 fps (Rahmen pro Sekunde, frames per second) aufnehmen, wobei zwischen 30 Rahmen von Flut-Infrarotbeleuchtungsbildern und 30 Rahmen von Speckle Musterbeleuchtungsbildern in einer Sekunde abgewechselt wird. Folglich kann in einigen Ausführungsformen erneute Beurteilung der Musterbestimmung unter Verwendung des neuen Flut Infrarotbeleuchtungsbildes zwischen Aufnehmen aufeinanderfolgender Rahmen (Bilder) mit Speckle Musterbeleuchtung (zum Beispiel erneute Beurteilung der Musterbestimmung alle 1/30 Sekunden) stattfinden. Die erneute Beurteilung kann jedoch über einen längeren Zeitraum stattfinden. Die erneute Beurteilung der Musterbestimmung kann stattfinden nachdem ein Stapel von Speckle Musterbeleuchtungsbildern aufgenommen wurde. Zum Beispiel kann die erneute Beurteilung der Musterbestimmung auftreten nachdem eine festgelegte Anzahl an Speckle Musterbeleuchtungsbildern aufgenommen wurde, oder nachdem eine festgelegte Zeitspanne von Aufnehmen von Speckle Musterbeleuchtungsbildern abgeschlossen wurde.In certain embodiments, the camera changes 102 , shown in 2 between capturing flood infrared lighting images and speckle pattern lighting images. For example, camera can 102 Record images at 60 fps (frames per second, frames per second) alternating between 30 frames of high-tide floodlighting and 30 frames of speckle pattern lighting frames in one second. Thus, in some embodiments, retesting the pattern determination using the new flood infrared illumination image may take place between capturing successive frames (images) with speckle pattern illumination (eg retesting pattern determination every 1/30 second). However, the reassessment can take place over a longer period of time. The re-evaluation of the pattern determination may take place after a batch of speckle pattern lighting images has been taken. For example, the re-evaluation of the pattern determination may occur after a specified number of speckle pattern illumination images have been captured or after a specified period of time has elapsed from receiving speckle pattern illumination images.

In einigen Ausführungsformen kann die erneute Beurteilung der Musterbestimmung durch eine Aktion, welche auf Vorrichtung 100 gemacht wurde, ausgelöst werden. Zum Beispiel kann die Musterbestimmung erneut beurteilt werden, wenn Kamera 102 veranlasst wird neue Bilder aufzunehmen. Der Anlass kann sein, dass ein Verschlussknopf für Kamera 102 gedrückt wird, oder wenn ein Entsperrknopf (oder virtueller Entsperrknopf) für Vorrichtung 100 gedrückt wird.In some embodiments, the re-evaluation of the pattern determination may be by an action based on device 100 was made to be triggered. For example, the pattern determination may be reassessed when camera 102 is prompted to take new pictures. The occasion may be that a shutter button for camera 102 is pressed, or if an unlock button (or virtual unlock button) for device 100 is pressed.

Abschätzen des Abstands zwischen dem Gesicht des Benutzers und Kamera 102 und Verwenden des abgeschätzten Abstands zum Bestimmen einer Dichte von Beleuchtung, welche durch Speckle Beleuchtung 105B bereitgestellt wird, ermöglicht es Tiefenbilder mit nur einer Dichte zur Tiefeninformationsbestimmung aufzunehmen. Folglich kann Prozess 300 Tiefeninformation schneller bereitstellen und kann Geschwindigkeiten zum Erkennen des Benutzers verbessern (zum Beispiel schnellere Gesichtserfassung und/oder schnellere Gesichtserkennung). Zusätzlich kann Aufnehmen von Tiefenbildern mit nur einer Dichte Energieersparnisse für Vorrichtung 100 bereitstellen.Estimating the distance between the user's face and camera 102 and using the estimated distance to determine a density of illumination caused by speckle illumination 105B is provided, it allows to capture depth images with only one density for depth information determination. Consequently, process can 300 Provide depth information faster and can improve user recognition speeds (eg, faster face detection and / or faster facial recognition). In addition, capturing depth images with only one density can save energy for the device 100 provide.

In gewissen Ausführungsformen kann einer oder können mehrere Prozessschritte, die hierin beschrieben wurden, durch einen oder mehrere Prozessoren (zum Beispiel ein Computerprozessor), welche Instruktionen ausführen, die auf einem nichtflüchtigen computerlesbaren Medium gespeichert sind, ausgeführt werden. Zum Beispiel kann Prozess 300, gezeigt in 13, einen oder mehrere Schritte aufweisen, welche durch einen oder mehrere Prozessoren ausgeführt werden, welche Instruktionen, die als Programminstruktionen in einem computerlesbaren Speichermedium gespeichert sind, ausführen (zum Beispiel ein nichtflüchtiges computerlesbares Speichermedium). 14 stellt ein Blockdiagramm von einer Ausführungsform von beispielhaftem Computersystem 510 dar. Beispielhaftes Computersystem 510 kann verwendet werden um eine oder mehrere Ausführungsformen zu implementieren, die hierin beschrieben wurden. In einigen Ausführungsformen ist Computersystem 510 durch einen Benutzer betreibbar um eine oder mehrere Ausführungsformen, die hierin beschrieben wurden, wie zum Beispiel Prozess 300, gezeigt in 13, zu implementieren. In der Ausführungsform von 14 schließt Computersystem 510 Prozessor 512, Speicher 514, und verschiedene Peripheriegeräte 516 ein. Prozessor 512 ist an Speicher 514 und Peripheriegeräte 516 gekoppelt. Prozessor 512 ist konfiguriert um Instruktionen auszuführen, die Instruktionen für Prozess 300 einschließen, welche in Software sein können. In verschiedenen Ausführungsformen kann Prozessor 512 jeden gewünschten Befehlssatz implementieren (zum Beispiel Intel Architecutre-32 (IA 32, auch bekannt als x86), IA-32 mit 64 Bit Erweiterungen, x86-64, PowerPC, Sparc, MIPS, ARM, IA-64, usw.). In einigen Ausführungsformen schließt Computersystem 510 mehr als einen Prozessor ein. Darüber hinaus kann Prozessor 512 einen oder mehrere Prozessoren oder einen oder mehrere Prozessorkerne einschließen. In certain embodiments, one or more process steps described herein may be performed by one or more processors (eg, a computer processor) executing instructions stored on a non-transitory computer-readable medium. For example, process can 300 , shown in 13 comprise one or more steps executed by one or more processors executing instructions stored as program instructions in a computer readable storage medium (e.g., a non-transitory computer readable storage medium). 14 FIG. 12 illustrates a block diagram of one embodiment of an exemplary computer system. FIG 510 dar. Exemplary computer system 510 can be used to implement one or more embodiments described herein. In some embodiments, computer system is 510 operable by a user to one or more embodiments described herein, such as process 300 , shown in 13 , to implement. In the embodiment of 14 closes computer system 510 processor 512 , Memory 514, and various peripherals 516 one. processor 512 is at memory 514 and peripherals 516 coupled. processor 512 is configured to execute instructions containing instructions for process 300 which may be in software. In various embodiments, processor 512 implement any desired instruction set (for example, Intel Architec- 32 (IA 32 also known as x86), IA- 32 with 64 bit extensions, x86-64, PowerPC, Sparc, MIPS, ARM, IA- 64 , etc.). In some embodiments, computer system includes 510 more than one processor. In addition, processor can 512 include one or more processors or one or more processor cores.

Prozessor 512 kann an Speicher 514 und Peripheriegeräte 516 in jeder gewünschten Art und Weise gekoppelt sein. Zum Beispiel kann Prozessor 512 in einigen Ausführungsformen an Speicher 514 und/oder Peripheriegeräte 516 über verschiedene Zwischenverbindungen gekoppelt sein. Alternativ oder zusätzlich können einer oder mehrere Brückenchips verwendet werden um Prozessor 512, Speicher 514 und Peripheriegeräte 516 zu koppeln.processor 512 can to memory 514 and peripherals 516 be coupled in any way you want. For example, processor 512 memory in some embodiments 514 and / or peripherals 516 be coupled via different interconnections. Alternatively or additionally, one or more bridge chips may be used for processor 512 , Storage 514 and peripherals 516 to pair.

Speicher 514 kann jeden Typ von Speichersystemen umfassen. Zum Beispiel kann Speicher 514 DRAM, und insbesondere double data rate (DDR) SDRAM, RDRAM, usw. umfassen. Eine Speichersteuerung kann eingeschlossen sein um mit Speicher 514 zu kommunizieren, und/oder Prozessor 512 kann eine Speichersteuerung einschließen. Speicher 514 kann die Instruktionen speichern, die durch Prozessor 512 während Benutzung ausgeführt werden, oder kann Daten speichern auf denen basierend durch den Prozessor während Benutzung operiert werden soll, usw.Storage 514 can include any type of storage system. For example, memory can 514 DRAM, and in particular double data rate (DDR) SDRAM, RDRAM, etc. include. A memory controller may be included to memory 514 to communicate, and / or processor 512 may include a memory controller. Storage 514 can save the instructions by processor 512 may be executed during use, or may store data to be operated upon by the processor during use, etc.

Peripheriegeräte 516 können jede Art von Hardwarevorrichtungen darstellen, welche in Computersystem 510 eingeschlossen oder daran gekoppelt sein können (zum Beispiel Speichervorrichtungen, optional einschließend computer-zugängliches Speichermedium 600, gezeigt in 15, andere Eingabe/Ausgabe (I/O, Input/Output) Vorrichtungen, wie zum Beispiel Video Hardware, Audio Hardware, Benutzerschnittstellenvorrichtungen, Netzwerk Hardware, usw.).peripherals 516 can represent any type of hardware devices used in computer system 510 or may be coupled thereto (for example, storage devices, optionally including computer-accessible storage medium 600 , shown in 15 , other input / output (I / O, input / output) devices, such as video hardware, audio hardware, user interface devices, network hardware, etc.).

Nun auf 15 zu sprechen kommend, ein Blockdiagramm von einer Ausführungsform von computer-zugänglichem Speichermedium 600 schließt eine oder mehrere Datenstrukturen, die Vorrichtung 100 darstellen, ein (veranschaulicht in 1), eingeschlossen in einer integrierten Schaltungsstruktur und einer oder mehreren Codesequenzen, die Prozess 300 darstellen (gezeigt in 13). Jede Codesequenz kann eine oder mehrere Instruktionen einschließen, welche, wenn sie durch einen Prozessor in einem Computer ausgeführt werden, die Operationen implementieren, die für die entsprechende Codesequenz beschrieben wurden. Im Allgemeinen kann ein computer-zugängliches Speichermedium jedes Speichermedium einschließen, welches durch einen Computer während der Verwendung zugänglich ist, um dem Computer Instruktionen und/oder Daten bereitzustellen. Zum Beispiel kann ein computer-zugängliches Speichermedium nicht-flüchtige Speichermedien einschließen, wie zum Beispiel magnetische oder optische Medien, zum Beispiel, Festplatte (fest oder entfernbar), Band, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, oder Blu-Ray. Speichermedien können ferner flüchtige oder nicht-flüchtige Speichermedien, wie zum Beispiel RAM (zum Beispiel synchroner dynamischer RAM (SDRAM), Rambus DRAM (RDRAM), statischen RAM (SRAM), usw.), ROM, oder Flash Speicher einschließen. Die Speichermedien können physikalisch innerhalb des Computers, an welchen die Speichermedien Instruktionen/Daten bereitstellen, eingeschlossen sein. Alternativ können die Speichermedien an den Computer angeschlossen sein. Zum Beispiel können die Speichermedien an den Computer über ein Netzwerk oder eine Drahtlosverbindung, wie zum Beispiel Netzwerkspeicherlösung (engl.: network attached storage), angeschlossen sein. Die Speichermedien können durch eine Peripherieschnittstelle, wie zum Beispiel der Universal Serial Bus (USB), angeschlossen sein. Im Allgemeinen kann computer-zugängliches Speichermedium 600 Daten in einer nicht-flüchtigen Art und Weise speichern, wobei nicht-flüchtig sich in diesem Kontext darauf bezieht die Instruktionen/Daten nicht auf einem Signal zu übertragen. Zum Beispiel kann nichtflüchtiger Speicher flüchtig sein (und kann die gespeicherten Instruktionen/Daten in Antwort auf ein Ausschalten verlieren), oder kann nicht-flüchtig sein.Now up 15 to speak, a block diagram of one embodiment of computer-accessible storage medium 600 includes one or more data structures, the device 100 represent, a (illustrated in 1 ), included in an integrated circuit structure and one or more code sequences, the process 300 represent (shown in 13 ). Each code sequence may include one or more instructions which, when executed by a processor in a computer, implement the operations described for the corresponding code sequence. In general, a computer-accessible storage medium may include any storage medium that is accessible by a computer during use to provide instructions and / or data to the computer. For example, a computer-accessible storage medium may include non-volatile storage media, such as magnetic or optical media, for example, hard disk (fixed or removable), tape, CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, or Blu-Ray. Storage media may further include volatile or non-volatile storage media, such as RAM (for example, synchronous dynamic RAM (SDRAM), Rambus DRAM (RDRAM), static RAM (SRAM), etc.), ROM, or flash memory. The storage media may be physically included within the computer to which the storage media provide instructions / data. Alternatively, the storage media may be connected to the computer. For example, the storage media may be connected to the computer via a network or wireless connection, such as network attached storage. The storage media may be connected through a peripheral interface, such as the Universal Serial Bus (USB). In general, computer-accessible storage medium 600 may store data in a non-transitory manner, non-transiently in this context referring to not transmitting the instructions / data on a signal. For example, non-volatile memory may be volatile (and may be stored instructions / data in response to a switch-off), or may be non-volatile.

Weitere Modifikationen und alternative Ausführungsformen von verschiedenen Aspekten und den Ausführungsformen, die in dieser Offenbarung beschrieben wurden, werden dem Fachmann im Lichte dieser Beschreibung ersichtlich sein. Dementsprechend ist diese Beschreibung nur als veranschaulichend zu verstehen und ist für den Zweck gedacht dem Fachmann die allgemeine Weise der Ausführung dieser Ausführungsformen näherzubringen. Es ist zu verstehen, dass die Formen von den Ausführungsformen, welche hierin gezeigt und beschrieben sind, als die derzeit bevorzugten Ausführungsformen zu verwenden sind. Elemente und Materialien können für die hierin veranschaulichten und beschriebenen ausgetauscht werden, Teile und Prozesse können umgekehrt werden, und gewisse Merkmale von den Ausführungsformen können unabhängig verwendet werden, alles wie es dem Fachmann nach dem Nutzen dieser Beschreibung offensichtlich wäre. Änderungen können in den Elementen, die hierin beschrieben wurden, durchgeführt werden ohne von dem Geiste und dem Umfang der nachfolgenden Ansprüche abzuweichen.Further modifications and alternative embodiments of various aspects and the embodiments described in this disclosure will become apparent to those skilled in the art in light of this description. Accordingly, this description is to be considered as illustrative only and is intended for the purpose of assisting one of ordinary skill in the art to generally practice the implementation of these embodiments. It should be understood that the forms of the embodiments shown and described herein are to be used as the presently preferred embodiments. Elements and materials may be substituted for those illustrated and described herein, parts and processes may be reversed, and certain features of the embodiments may be used independently, all as would be apparent to those skilled in the art after the benefit of this description. Changes may be made in the elements described herein without departing from the spirit and scope of the following claims.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturCited patent literature

  • US 8150142 [0002]US 8150142 [0002]
  • US 8749796 [0002]US 8749796 [0002]
  • US 8384997 [0002]US 8384997 [0002]
  • US 2016/0178915 [0015, 0016]US 2016/0178915 [0015, 0016]

Claims (15)

Vorrichtung, umfassend: - Mittel zum Beurteilen eines Abstandes zwischen einem oder mehreren Benutzern und einer Kamera, angeordnet auf einer Vorrichtung, wobei die Vorrichtung einen Computerprozessor und einen Speicher umfasst, wobei der Abstand unter Verwendung von mindestens einem Sensor beurteilt wird, welcher auf der Vorrichtung angeordnet ist und an den Computerprozessor gekoppelt ist; - Mittel zum Bestimmen ob der beurteilte Abstand kleiner als ein Grenzwertabstand oder größer als der Grenzwertabstand ist; - Mittel zum Beleuchten von mindestens einem Benutzer mit Speckle-Musterbeleuchtung von einer Beleuchtung, die auf der Vorrichtung angeordnet ist, wobei: - falls der beurteilte Abstand kleiner ist als der Grenzwertabstand, weist die Speckle-Musterbeleuchtung eine erste Punktdichte auf; und - falls der beurteilte Abstand größer als der Grenzwertabstand ist, weist die Speckle-Musterbeleuchtung eine zweite Punktdichte auf, wobei die zweite Punktdichte größer als die erste Punktdichte ist.Apparatus comprising: - means for assessing a distance between one or more users and a camera disposed on a device, the device comprising a computer processor and a memory, wherein the distance is judged using at least one sensor disposed on the device and on the computer processor is coupled; - means for determining whether the assessed distance is less than a threshold distance or greater than the threshold distance; Means for illuminating at least one user with speckle pattern illumination from a light fixture disposed on the device, wherein: if the judged distance is smaller than the threshold distance, the speckle pattern illumination has a first dot density; and if the evaluated distance is greater than the threshold distance, the speckle pattern illumination has a second point density, the second point density being greater than the first point density. Vorrichtung nach Anspruch 1, ferner umfassend Mittel zum Aufnehmen mindestens eines ersten Bildes von dem mindestens einen Benutzer, wobei das mindestens eine erste Bild ein Bild von dem mindestens einen Benutzer umfasst, welches aufgenommen wurde während der mindestens eine Benutzer mit der Speckle-Musterbeleuchtung von der Beleuchtung beleuchtet wurde.Device after Claim 1 further comprising means for receiving at least a first image from the at least one user, the at least one first image comprising an image of the at least one user captured while the at least one user having the speckle pattern illumination was illuminated by the illumination. Vorrichtung nach Anspruch 2, ferner umfassend Mittel zum Beurteilen von Tiefeninformationen für eines oder mehrerer Merkmale von dem mindestens einen Benutzer in dem mindestens einen ersten Bild.Device after Claim 2 further comprising means for assessing depth information for one or more features of the at least one user in the at least one first image. Vorrichtung nach irgendeinem der Ansprüche 2 bis 3, ferner umfassend Mittel zum Beurteilen, ob der mindestens eine Benutzer ein autorisierter Benutzer von der Vorrichtung ist, unter Verwendung des mindestens einen ersten Bildes.Device according to any one of Claims 2 to 3 further comprising means for judging whether the at least one user is an authorized user of the device using the at least one first image. Vorrichtung nach irgendeinem der Ansprüche 2 bis 4, ferner umfassend: - Mittel zum Beurteilen eines zweiten Abstands zwischen dem mindestens einen Benutzer und der Kamera, wobei der zweite Abstand unter Verwendung des mindestens einen Sensors, der auf der Vorrichtung angebracht ist und an den Computerprozessor gekoppelt ist, beurteilt wird; und - Mittel zum Bestimmen ob der zweite beurteilte Abstand kleiner als der Grenzwertabstand oder größer als der Grenzwertabstand ist; - Mittel zum Beleuchten mindestens eines Benutzers mit Speckle-Musterbeleuchtung von der Beleuchtung, die auf der Vorrichtung angeordnet ist, wobei: - falls der zweite beurteilte Abstand kleiner als der Grenzwertabstand ist, die Speckle-Musterbeleuchtung eine erste Punktdichte aufweist; und - falls der zweite beurteilte Abstand größer als der Grenzwertabstand ist, die Speckle-Musterbeleuchtung eine zweite Punktdichte aufweist, wobei die zweite Punktdichte größer als die erste Punktdichte ist; und - Mittel zum Aufnehmen mindestens eines zweiten Bildes von dem mindestens einen Benutzer, wobei das mindestens eine zweite Bild ein Bild von dem mindestens einen Benutzer umfasst, welches aufgenommen wurde, während der mindestens eine Benutzer mit Speckle-Musterbeleuchtung von der Beleuchtung beleuchtet wurde.Device according to any one of Claims 2 to 4 , further comprising: - means for assessing a second distance between the at least one user and the camera, the second distance being assessed using the at least one sensor mounted on the device and coupled to the computer processor; and means for determining whether the second evaluated distance is less than the threshold distance or greater than the threshold distance; - means for illuminating at least one user with speckle pattern illumination from the illumination disposed on the device, wherein: if the second assessed distance is less than the threshold distance, the speckle pattern illumination has a first point density; and if the second evaluated distance is greater than the threshold distance, the speckle pattern illumination has a second point density, the second point density being greater than the first point density; and means for capturing at least one second image from the at least one user, wherein the at least one second image comprises an image of the at least one user captured while the at least one user with speckle pattern illumination has been illuminated by the illumination. Vorrichtung nach irgendeinem der Ansprüche 1 bis 5, wobei die Mittel zum Beurteilen des Abstands zwischen einem oder mehreren Benutzern und der Kamera, angeordnet auf einer Vorrichtung, umfassen: - Mittel zum Aufnehmen mindestens eines Flutbildes von dem einen oder von den mehreren Benutzern, unter Verwendung der Kamera, angeordnet auf der Vorrichtung, wobei das mindestens eine Flutbild ein Bild von mindestens einem Benutzer umfasst, welches aufgenommen wurde während der mindestens eine Benutzer mit Flut-Infrarotbeleuchtung von einer ersten Beleuchtung, die auf der Vorrichtung angeordnet ist, beleuchtet wurde; und - Mittel zum Beurteilen des Abstands zwischen dem mindestens einen Benutzer und der Kamera von dem mindestens einen Flutbild.Device according to any one of Claims 1 to 5 wherein the means for assessing the distance between one or more users and the camera disposed on a device comprises: means for capturing at least one tide image from the one or more users using the camera disposed on the device, wherein the at least one tide image comprises an image of at least one user captured while the at least one flood-infused user has been illuminated by a first illumination disposed on the device; and means for assessing the distance between the at least one user and the camera from the at least one tide image. Vorrichtung nach Anspruch 6, wobei das mindestens eine Flutbild ein Gesicht von dem mindestens einen Benutzer einschließt, und wobei der beurteilte Abstand einen Abstand zwischen dem Gesicht von dem mindestens einen Benutzer und der Kamera umfasst.Device after Claim 6 wherein the at least one tide image includes a face of the at least one user, and wherein the judged distance comprises a distance between the face of the at least one user and the camera. Vorrichtung nach irgendeinem der Ansprüche 6 bis 7, ferner umfassend ein Beurteilen einer Pose eines Gesichtes des mindestens einen Benutzers von dem mindestens einen Flutbild.Device according to any one of Claims 6 to 7 further comprising judging a pose of a face of the at least one user from the at least one tide image. Vorrichtung nach irgendeinem der Ansprüche 6 bis 8, ferner umfassend: - Mittel zum Aufnehmen mindestens eines zweiten Flutbildes von dem mindestens einen Benutzer unter Verwendung der Kamera, wobei das mindestens zweite Flutbild ein Bild von dem mindestens einen Benutzer umfasst, welches aufgenommen wurde während der mindestens eine Benutzer mit Flut-Infrarotbeleuchtung von dem ersten Projektor beleuchtet wurde; - Mittel zum Beurteilen eines zweiten Abstands zwischen dem mindestens einen Benutzer und der Kamera von dem mindestens einen zweiten Flutbild; - Mittel zum Bestimmen ob der zweite beurteilte Abstand kleiner ist als der Grenzwertabstand oder größer ist als der Grenzwertabstand; - Mittel zum Beleuchten mindestens eines Benutzers mit Speckle-Musterbeleuchtung von der Beleuchtung, die auf der Vorrichtung angeordnet ist, wobei: - falls der zweite beurteilte Abstand kleiner als der Grenzwertabstand ist, weist die Speckle-Musterbeleuchtung die erste Punktdichte auf; und - falls der zweite beurteilte Abstand größer als der Grenzwertabstand ist, weist die Speckle-Musterbeleuchtung die zweite Punktdichte auf, wobei die zweite Punktdichte größer als die erste Punktdichte ist; und - Mittel zum Aufnehmen mindestens eines zusätzlichen Bildes von dem mindestens einen Benutzer, wobei das mindestens eine zusätzliche Bild ein Bild von dem mindestens einen Benutzer umfasst, welches aufgenommen wurde während der mindestens eine Benutzer mit der Speckle-Musterbeleuchtung von der Beleuchtung beleuchtet wurde.Device according to any one of Claims 6 to 8th , further comprising: means for receiving at least one second tide image from the at least one user using the camera, wherein the at least second tide image comprises an image of the at least one user captured while the at least one flood infrared illumination user is therefrom first projector was lit; - Means for assessing a second distance between the at least one user and the camera from the at least one second tide image; - means for determining whether the second evaluated distance is less than the threshold distance or greater than the threshold distance; Means for illuminating at least one user with speckle pattern illumination from the illumination disposed on the device, wherein: if the second evaluated distance is less than the threshold distance, the speckle pattern illumination has the first point density; and if the second evaluated distance is greater than the threshold distance, the speckle pattern illumination has the second point density, the second point density being greater than the first point density; and means for capturing at least one additional image from the at least one user, wherein the at least one additional image comprises an image of the at least one user captured while the at least one user with the speckle pattern illumination has been illuminated by the illumination. Vorrichtung nach irgendeinem der Ansprüche 6 bis 9, wobei die Mittel zum Beurteilen des Abstands zwischen dem mindestens einen Benutzer und der Kamera von dem mindestens einen Flutbild umfasst: - Mittel zum Kodieren des mindestens einen Flutbildes, unter Verwendung eines Kodierungsmoduls, das auf der Vorrichtung angeordnet ist, um Merkmalsvektoren zu erzeugen, welche Merkmale von Subjekten in dem Flutbild in einem Merkmalsraum definieren, wobei der Merkmalsraum eine Vielzahl von Regionen umfasst, wobei jeder Merkmalsvektor Merkmale für eine Region in dem Merkmalsraum definiert; - Mittel zum Dekodieren der erzeugten Merkmalsvektoren für jede Region in dem Merkmalsraum, unter Verwendung eines Dekodierungsmoduls, das auf der Vorrichtung angeordnet ist, um einen Abstand von der Kamera von dem mindestens einen Benutzer in der Region zu beurteilen; und - Mittel zum Bereitstellen einer Ausgabe von dem Dekodierungsmodul über den beurteilten Abstand von der Kamera von dem mindestens einen Benutzer in der Region.Device according to any one of Claims 6 to 9 wherein the means for assessing the distance between the at least one user and the camera from the at least one tide image comprises: means for encoding the at least one tide image using a coding module disposed on the device to generate feature vectors Define features of subjects in the tide image in a feature space, the feature space comprising a plurality of regions, each feature vector defining features for a region in the feature space; - means for decoding the generated feature vectors for each region in the feature space, using a decoding module located on the device to judge a distance from the camera from the at least one user in the region; and means for providing an output from the decoding module about the judged distance from the camera from the at least one user in the region. Vorrichtung, umfassend: - eine Kamera; - eine erste Beleuchtung, die Flut-Infrarotbeleuchtung bereitstellt; - eine zweite Beleuchtung, die Speckle-Musterbeleuchtung bereitstellt; - Schaltungen, die an die Kamera, die erste Beleuchtung, und die zweite Beleuchtung gekoppelt sind, wobei die Schaltungen konfiguriert sind zum: - Beleuchten eines oder mehrerer Benutzer mit Flut-Infrarotbeleuchtung von der ersten Beleuchtung; - Aufnehmen mindestens eines ersten Bildes von mindestens einem Benutzer, während der mindestens eine Benutzer mit Flut-Infrarotbeleuchtung von der ersten Beleuchtung beleuchtet wird; - Beurteilen eines Abstands zwischen dem mindestens einen Benutzer und der Kamera von dem mindestens einen ersten Bild; - Beleuchten des mindestens einen Benutzers mit Speckle-Musterbeleuchtung von der zweiten Beleuchtung, während eine Punktdichte in der Speckle-Musterbeleuchtung eine erste Dichte ist, falls der beurteilte Abstand kleiner als ein Grenzwertabstand zwischen dem mindestens einen Benutzer und der Kamera ist, und wobei die Punktdichte in der Speckle-Musterbeleuchtung eine zweite Dichte ist, falls der beurteilte Abstand größer als der Grenzwertabstand ist, wobei die erste Dichte kleiner als die zweite Dichte ist; und - Aufnehmen mindestens eines zweiten Bildes von dem mindestens einen Benutzer während der mindestens eine Benutzer mit der Speckle-Musterbeleuchtung von der zweiten Beleuchtung beleuchtet wird.Apparatus comprising: - a camera; a first illumination providing flood infrared illumination; a second illumination providing speckle pattern illumination; Circuits coupled to the camera, the first illumination, and the second illumination, the circuits being configured to: - Illuminate one or more users with flood infrared lighting from the first lighting; - capturing at least one first image of at least one user while the at least one flood-illuminated user is illuminated by the first illumination; - judging a distance between the at least one user and the camera from the at least one first image; Illuminating the at least one user with speckle pattern illumination from the second illumination while a point density in the speckle pattern illumination is a first density if the assessed distance is less than a threshold distance between the at least one user and the camera, and wherein the point density in the speckle pattern illumination is a second density if the evaluated distance is greater than the threshold distance, the first density being less than the second density; and - capturing at least one second image of the at least one user while illuminating the at least one user with the speckle pattern illumination from the second illumination. Vorrichtung nach Anspruch 11, wobei die Kamera einen Infrarotsensor umfasst.Device after Claim 11 wherein the camera comprises an infrared sensor. Vorrichtung nach irgendeinem der Ansprüche 11 bis 12, wobei die zweite Beleuchtung ein Feld von Lichtemittern umfasst, und wobei die erste Dichte Betreiben von ungefähr 40 % von den Lichtemittern umfasst.Device according to any one of Claims 11 to 12 wherein the second illumination comprises an array of light emitters, and wherein the first density comprises operating approximately 40% of the light emitters. Vorrichtung nach irgendeinem der Ansprüche 11 bis 13, wobei, falls der beurteilte Abstand gleich zu dem Grenzwertabstand ist, die Punktdichte in der Speckle-Musterbeleuchtung die zweite Dichte ist.Device according to any one of Claims 11 to 13 in that, if the judged distance is equal to the threshold distance, the dot density in the speckle pattern illumination is the second density. Vorrichtung nach irgendeinem der Ansprüche 1 bis 14, wobei der Grenzwertabstand zwischen ungefähr 20 cm und ungefähr 60 cm ist.Device according to any one of Claims 1 to 14 where the threshold distance is between about 20 cm and about 60 cm.
DE202018000405.7U 2018-01-26 2018-01-26 Determine sparse against dense pattern lighting Active DE202018000405U1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202018000405.7U DE202018000405U1 (en) 2018-01-26 2018-01-26 Determine sparse against dense pattern lighting

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE202018000405.7U DE202018000405U1 (en) 2018-01-26 2018-01-26 Determine sparse against dense pattern lighting

Publications (1)

Publication Number Publication Date
DE202018000405U1 true DE202018000405U1 (en) 2018-05-14

Family

ID=62251494

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202018000405.7U Active DE202018000405U1 (en) 2018-01-26 2018-01-26 Determine sparse against dense pattern lighting

Country Status (1)

Country Link
DE (1) DE202018000405U1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150142B2 (en) 2007-04-02 2012-04-03 Prime Sense Ltd. Depth mapping using projected patterns
US8384997B2 (en) 2008-01-21 2013-02-26 Primesense Ltd Optical pattern projection
US8749796B2 (en) 2011-08-09 2014-06-10 Primesense Ltd. Projectors of structured light
US20160178915A1 (en) 2011-08-09 2016-06-23 Apple Inc. Overlapping pattern projector

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150142B2 (en) 2007-04-02 2012-04-03 Prime Sense Ltd. Depth mapping using projected patterns
US8384997B2 (en) 2008-01-21 2013-02-26 Primesense Ltd Optical pattern projection
US8749796B2 (en) 2011-08-09 2014-06-10 Primesense Ltd. Projectors of structured light
US20160178915A1 (en) 2011-08-09 2016-06-23 Apple Inc. Overlapping pattern projector

Similar Documents

Publication Publication Date Title
US10401158B2 (en) Determining sparse versus dense pattern illumination
McCloskey et al. Detecting gan-generated imagery using color cues
Raghavendra et al. Exploring the usefulness of light field cameras for biometrics: An empirical study on face and iris recognition
US10896318B2 (en) Occlusion detection for facial recognition processes
US10769414B2 (en) Robust face detection
US10762335B2 (en) Attention detection
US10713475B2 (en) Face detection, pose estimation, and distance from a camera estimation using a single network
US10769415B1 (en) Detection of identity changes during facial recognition enrollment process
Hu et al. A proto-object based saliency model in three-dimensional space
CN111598065A (en) Depth image acquisition method, living body identification method, apparatus, circuit, and medium
DE202018000408U1 (en) Face detection, pose estimation, and estimation of a distance from a camera using a single network
Lyu Estimating vignetting function from a single image for image authentication
CN111222433A (en) Automatic face auditing method, system, equipment and readable storage medium
DE202018000407U1 (en) Device for updating face recognition templates
Hong et al. Near-infrared image guided reflection removal
DE112019006666T5 (en) Determination of areas of interest for photographic functions
You et al. Tampering detection and localization base on sample guidance and individual camera device convolutional neural network features
DE202018000405U1 (en) Determine sparse against dense pattern lighting
Zia et al. Exploring chromatic aberration and defocus blur for relative depth estimation from monocular hyperspectral image
Ruby et al. The Mertens Unrolled Network (MU-Net): a high dynamic range fusion neural network for through the windshield driver recognition
Majeed et al. A novel method to enhance color spatial feature extraction using evolutionary time-frequency decomposition for presentation-attack detection
Schauerte et al. Bottom-up audio-visual attention for scene exploration
Grinchuk et al. Training a multimodal neural network to determine the authenticity of images
Malik et al. A Novel Deep Learning-Based Method for Real-Time Face Spoof Detection
Perumal et al. Image enhancement for face recognition using color segmentation and Edge detection algorithm

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R151 Utility model maintained after payment of second maintenance fee after six years