DE102019216163A1 - Adaptives echtzeit-training für gesichtsdetektion für eine ultra-niederleistungs-architektur mit dauerbetrieb - Google Patents

Adaptives echtzeit-training für gesichtsdetektion für eine ultra-niederleistungs-architektur mit dauerbetrieb Download PDF

Info

Publication number
DE102019216163A1
DE102019216163A1 DE102019216163.4A DE102019216163A DE102019216163A1 DE 102019216163 A1 DE102019216163 A1 DE 102019216163A1 DE 102019216163 A DE102019216163 A DE 102019216163A DE 102019216163 A1 DE102019216163 A1 DE 102019216163A1
Authority
DE
Germany
Prior art keywords
face detection
detection model
update
processor
resolution image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102019216163.4A
Other languages
English (en)
Inventor
Charu Srivastava
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of DE102019216163A1 publication Critical patent/DE102019216163A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/168Feature extraction; Face representation
    • 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/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3231Monitoring the presence, absence or movement of users
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • 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/161Detection; Localisation; Normalisation
    • 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/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

Es werden Techniken diskutiert, die sich auf Implementieren einer Dauerbetrieb-Gesichtsdetektionsarchitektur bei ultraniedriger Leistung beziehen. Solche Techniken enthalten das Aktualisieren eines Gesichtsdetektionsmodells in einem Host-Prozessor unter Verwendung positiver und/oder negativer Validierung von Gesichtsdetektionsergebnissen von einer Dauerbetrieb-Mikrosteuereinheit, die an ultraniedriger Leistung arbeitet.

Description

  • HINTERGRUND
  • In einigen Vorrichtungen läuft Gesichtsdetektion immer ab (z. B. wenn die Vorrichtungen eine Anzeigebeleuchtung aufweisen, die gedimmt wird, in eine Schlaf- oder moderne Bereitschaftsbetriebsart versetzt wird usw.), um die Vorrichtung aus der Niederleistungs-Betriebsart zu bringen, wenn ein Gesicht detektiert wird. Dadurch ist die Vorrichtung anwenderbewusster und leistungseffizienter, da unnötige Ein- und Ausschaltvorgänge nicht verwendet werden, wenn sich kein Anwender mit der Vorrichtung beschäftigt. Aktuelle Gesichtserkennungssysteme weisen im Kontext solcher Niederleistungs-Anwendungsfälle Einschränkungen auf. Einige erfordern eine hohe rechnerische Komplexität und/oder weisen Einschränkungen in der Genauigkeit der Gesichtsdetektion auf.
  • Deshalb sind aktuelle Techniken zur Gesichtsdetektion und/oder -erkennung für die Fähigkeit zum Dauerbetrieb von Vorrichtungen nicht geeignet. Es ist mit Bezug auf diese und andere Überlegungen, dass die vorliegenden Verbesserungen benötigt worden sind. Solche Verbesserungen können kritisch werden, wenn sich die Implementierung von Vorrichtungen mit Dauerbetrieb in einer Vielzahl von Kontexten weiter verbreitet.
  • Figurenliste
  • Die hier beschriebene Materie ist als Beispiel und nicht als Einschränkung in den begleitenden Zeichnungen dargestellt. Zur Vereinfachung und Verdeutlichung der Darstellung sind in den Figuren dargestellte Elemente nicht notwendigerweise maßstabsgerecht gezeichnet. Beispielsweise können die Abmessungen einiger Elemente im Vergleich zu anderen Elementen zur Verdeutlichung übertrieben sein. Ferner sind, wenn es als geeignet betrachtet wurde, Bezugszeichen unter den Figuren wiederholt, um entsprechende oder analoge Elemente anzugeben; es zeigen:
    • 1 ein Beispielsystem zum Bereitstellen von Gesichtsdetektion im Dauerbetrieb dar;
    • 2 ein beispielhaftes Gesichtsdetektionsverfahren dar;
    • 3 eine beispielhafte durch eine Mikrosteuereinheit ausgeführte Inferenzverarbeitung und eine beispielhafte durch einen Prozessor ausgeführte Gesichtsdetektionsmodell-Aktualisierungsverarbeitung dar;
    • 4 ein beispielhaftes Gesichtsdetektionsmodell-Trainingsmodul dar;
    • 5 ein Ablaufdiagramm, das einen Beispielprozess zum Implementieren und Aktualisieren eines Gesichtsdetektionsmodells in einer Niederleistungs-Mikrosteuereinheit;
    • 6 ein Ablaufdiagramm, das einen Beispielprozess zum Initiieren einer Aktualisierung für ein Gesichtsdetektionsmodell, der in einer Niederleistungs-Mikrosteuereinheit implementiert ist;
    • 7 ein Ablaufdiagramm, das einen Beispielprozess zum Implementieren eines Gesichtsdetektionsmodells mit einer Niederleistungs-Mikrosteuereinheit basierend auf Metadatenmerkmalen;
    • 8 ein Ablaufdiagramm, das einen Beispielprozess zur Gesichtsdetektion in einer Dauerbetriebs-Architektur;
    • 9 ein erläuterndes Diagramm eines Beispielsystems zur Gesichtsdetektion in einer Dauerbetriebs-Architektur;
    • 10 ein erläuterndes Diagramm eines Beispielsystems; und
    • 11 eine beispielhafte Vorrichtung mit kleinem Formfaktor dar, das insgesamt in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Eine oder mehrere Ausführungsformen oder Implementierungen sind jetzt mit Bezug auf die beigefügten Figuren beschrieben. Obwohl spezifische Konfigurationen und Anordnungen diskutiert sind, ist zu verstehen, dass das zu erläuternden Zwecken dient. Fachleute der relevanten Technik werden erkennen, dass andere Konfigurationen und Anordnungen eingesetzt werden können, ohne von dem Geist und dem Schutzbereich der Beschreibung abzuweichen. Es wird für Fachleute der relevanten Technik offensichtlich sein, dass die Techniken und/oder Anordnungen, die hier beschrieben sind, auch in einer Vielzahl anderer Systeme und Anwendungen, die andere als die hier beschriebenen sind, eingesetzt werden können.
  • Obwohl die folgende Beschreibung verschiedene Implementierungen darlegt, die in Architekturen wie beispielsweise als Ein-Chip-System- (SoC-) Architekturen manifestiert sein können, sind hier beschriebene Implementierungen der Techniken und/oder Anordnungen nicht auf spezielle Architekturen und/oder Berechnungssysteme beschränkt und können durch irgendein/e Architektur und/oder Berechnungssystem für ähnliche Zwecke implementiert sein. Beispielsweise können verschiedene Architekturen, die beispielsweise mehrere Chips und/oder Baugruppen mit integrierter Schaltung (IC) einsetzen, und/oder verschiedene Berechnungsvorrichtungen und/oder Endanwender- (CE-) Geräte wie z. B. Multifunktionsgeräte, Tablets, Smartphones usw. die hier beschriebenen Techniken und/oder Anordnungen implementieren. Ferner kann, obwohl die folgende Beschreibung zahlreiche spezifische Einzelheiten wie z. B. Logikimplementierungen, Typen und wechselseitige Beziehungen von Systemkomponenten, Logikunterteilungs/Integrationswahl usw. darlegen kann, der beanspruchte Gegenstand ohne solche spezifische Einzelheiten praktiziert werden. In anderen Fällen kann ein Teil des Materie wie beispielsweise Steuerungsstrukturen und vollständige Software-Anweisungssequenzen nicht im Einzelnen gezeigt sein, um die hier offenbarte Materie nicht zu verdecken.
  • Die hier offenbarte Materie kann in Hardware, Firmware, Software oder irgendeiner Kombination daraus implementiert sein. Die hier offenbarte Materie kann auch in Form von Anweisungen implementiert sein, die auf einem maschinenlesbaren Medium gespeichert sind und die durch einen oder mehrere Prozessoren gelesen und ausgeführt werden können. Ein maschinenlesbares Medium kann irgendeine/en Medium und/oder Mechanismus zum Speichern oder Übertragen von Informationen in einer durch eine Maschine (z. B. eine Berechnungsvorrichtung) lesbaren Form enthalten. Beispielsweise kann ein maschinenlesbares Medium Festwertspeicher (ROM); Direktzugriffsspeicher (RAM); Magnetplattenspeichermedien; optische Speichermedien; Flash-Speichervorrichtungen; elektrische, optische, akustische oder andere Formen verbreiteter Signale (z. B. Trägerwellen, Infrarotsignale, digitale Signale usw.) und andere enthalten.
  • Bezugnahmen in der Spezifikation auf „eine Implementierung“, eine „Beispielimplementierung“ oder Beispiele oder Ausführungsformen usw. geben an, dass die beschriebene Implementierung ein/e spezielles Merkmal, Struktur oder Eigenschaft enthalten kann, jedoch kann jede Ausführungsform nicht notwendigerweise das/die spezielle Merkmal, Struktur oder Eigenschaft enthalten. Außerdem beziehen sich solche Ausdrücke nicht notwendigerweise auf dieselbe Implementierung. Ferner ist, wenn ein/e spezielle/s Merkmal, Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben ist, vorgeschlagen, dass es in der Kenntnis eines Fachmanns ist, ein/e solche/s Merkmal, Struktur oder Eigenschaft in Verbindung mit anderen Implementierungen, seien sie hier ausdrücklich beschrieben oder nicht, auszuführen. Die Begriffe „im Wesentlichen“, „nahe“, „ungefähr“, „neben“ und „etwa“ beziehen sich im Allgemeinen auf einen Bereich innerhalb von +/- 10 % eines Zielwerts. Der Begriff „erfüllt“, wenn er in Bezug auf einen Schwellenwert verwendet ist, gibt an, dass der fragliche Wert die durch den Schwellenwert gesetzte Bedingung erfüllt. Der Begriff „günstig im Vergleich“, wenn er in Bezug auf einen Schwellenwert verwendet ist, gibt an, dass der fragliche Wert größer als der oder größer als der oder gleich dem Schwellenwert ist. Ähnlich gibt der Begriff „ungünstig im Vergleich“, wenn er in Bezug auf einen Schwellenwert verwendet ist, an, dass der fragliche Wert kleiner als der oder kleiner als der oder gleich dem Schwellenwert ist.
  • Verfahren, Vorrichtungen, Einrichtungen, Berechnungsplattformen und Artikel sind hier in Bezug auf Dauerbetrieb-Gesichtsdetektion und insbesondere auf Echtzeittraining von Gesichtsdetektionsmodellen zum Gebrauch durch eine Niederleistungs-Mikrosteuereinheit beschrieben.
  • Wie vorstehend beschrieben kann es wünschenswert sein, eine Fähigkeit zum Dauerbetrieb für Vorrichtungen wie z.B. Personalcomputer bereitzustellen, so dass die Vorrichtung bei Vorhandensein eines Gesichts immer verfügbar ist. Bei einer Detektion kann die Vorrichtung in einen Zustand mit höherer Leistung übergehen. Beispielsweise kann die Vorrichtung nach der Detektion eines Gesichts durch eine Niederleistungs-Mikrosteuereinheit einen Hochleistungs-Prozessor wie z. B. einen Mikroprozessorkern zur Validierung eines detektierten Gesichts, Präsentation einer Login-Aufforderung usw. einschalten. Wie hier verwendet sind die Begriffe Niederleistung und Hochleistung so gemeint, dass sie angeben, dass die Niederleistungs-Vorrichtung (z. B. ein Chip mit integrierter Schaltung) an einer wesentlich niedrigeren Leistung als eine Hochleistungs-Vorrichtung (z. B. ein Chip mit integrierter Schaltung) arbeitet. Beispielsweise kann eine Ultra-Niederleistungs-Vorrichtung mit einer Leistung im Bereich von 0 mW bis 100 mW arbeiten, wie z. B. mit oder unterhalb von 10 mW, und eine Hochleistungs-Vorrichtung kann mit einer Leistung oder höher als 1 W arbeiten, wie z. B. 2 W oder höher. Insbesondere kann die Dauerbetriebs-Fähigkeit mit ultra-niedriger Leistung vorgesehen sein, während die Hochleistungs-Vorrichtung mit einer für die Vorrichtung normalen Leistung arbeiten kann. Obwohl sie in Bezug auf Personalcomputer-Anwendungen diskutiert sind, können die diskutierten Systeme und Techniken in irgendeinem geeigneten Formfaktor angewandt werden. Wie er hier verwendet ist, gibt der Begriff Personalcomputer eine Vorrichtung an, die eine Größe und einen Formfaktor aufweist, die sie zum Gebrauch durch eine einzige Person geeignet macht, wie z. B. ein Desktop-Computer, ein Laptop-Computer, ein Netbook, ein Tablet usw.
  • Die hier diskutierten Techniken stellen Gesichtsdetektion mit ultra-geringer Leistung (z. B. < 100 mW oder < 10 mW) in dem Kontext einer Architektur mit Dauerbetrieb bereit. Wie hier diskutiert ist ein optimiertes und adaptives Gesichtsdetektionsmodell, das in einen eingeschränkten Speicherort (z. B. nicht mehr als 512 KB Speicherfußabdruck) passt und in einer eingeschränkten Berechnungsumgebung implementiert sein kann, implementiert, um Gesichtsmerkmale eines primären Anwenders unter unterschiedlichen Beleuchtungsbedingungen zu detektieren und zu lernen. Darüber hinaus verbessern die hier diskutierten Techniken ein vortrainiertes Gesichtsmodell basierend auf dem primären Anwender der Vorrichtung und können das Trainingsmodell basierend auf der Umgebung und dem Verwendungskontext zur Gesichtsdetektion adaptiv ändern. Beispielsweise kann in dem Fall der Gesichtsdetektion unter speziellen Beleuchtungsbedingungen ein optimales Gesichtsdetektionsmodell aus zwei oder mehr Gesichtsdetektionsmodellen ausgewählt werden, und das gewählte Gesichtsdetektionsmodell kann zur verbesserten Gesichtsdetektion angewandt werden. Basierend auf Training unter Verwendung von Bildern des primären Anwenders und/oder Optimierung der Leistungsfähigkeit existierender Gesichtsmodelle unter unterschiedlichen Beleuchtungsbedingungen verbessert sich die Gesichtsdetektionsleistungsfähigkeit mit der Zeit hinsichtlich der gesamten Genauigkeit und Präzision der Inferenzlösung für die Dauerbetriebs-Architektur mit ultra-niedriger Leistung.
  • In einigen Ausführungsformen implementiert eine Mikrosteuereinheit an einem niedrigen Leistungspegel ein Gesichtsdetektionsmodell auf einem Bild mit geringer Auflösung. Wenn ein Gesicht durch die Mikrosteuereinheit detektiert wird, wird ein Gesichtsdetektionssignal für einen mit der Mikrosteuereinheit gekoppelten Prozessor bereitgestellt. Der Prozessor implementiert in Reaktion auf das Gesichtsdetektionssignal an einem höheren Leistungspegel (höher als der niedrige Leistungspegel) ein weiteres Gesichtsdetektionsmodell auf einem Bild mit hoher Auflösung, um das Gesichtsdetektionssignal zu validieren. Basierend auf der Validierung (z. B. entweder positiven Validierung, dass tatsächlich ein Gesicht detektiert wurde, oder der Validierung von falsch positiv, dass kein Gesicht detektiert wurde) wird eine Aktualisierung für das durch die Mikrosteuereinheit implementierte Gesichtsdetektionsmodell erzeugt. Die Aktualisierung wird dann für die Mikrosteuereinheit zur Implementierung in einem nachfolgenden Niederleistungs-Zustand der Vorrichtung gespeichert.
  • In einer Ausführungsform kann basierend auf mehreren positiven Validierungen ein neues Gesichtsdetektionsmodell erzeugt werden, so dass Bilder, die den mehreren positiven Validierungen entsprechen (z. B. Bilder mit hoher Auflösung) wenigstens als ein Abschnitt einer Trainingsmenge zum Trainieren eines neuen Gesichtsdetektionsmodells verwendet werden. In einer Ausführungsform wird die hohe Auflösung vor dem Training heruntergesampelt. Zusätzlich können Metadaten (z. B. Ort, Zeit, Ergebnis der Detektion, das validiert ist, usw.), die den Bildern entsprechen, in dem Training verwendet werden. Beispielsweise kann die Trainingsmenge nur Bilder umfassen, die gemeinsam verwendete Metadatenmerkmale aufweisen. Wie hier verwendet gibt ein Metadatenmerkmal ein Merkmal an, das dem Bild entspricht, jedoch nicht Teil der Bilddaten ist, wie z. B. die Tageszeit, zu der das Bild aufgenommen wurde, eine Beleuchtungsbedingung, unter der das Bild aufgenommen wurde, ein geographischer Ort, an dem das Bild aufgenommen wurde, usw. Mehrere Gesichtsdetektionsmodelle können erzeugt werden, so dass jedes einem/einer unterschiedlichen Metadatenmerkmal oder Merkmalsmenge entspricht. Beispielsweise können ein Morgen-Gesichtsdetektionsmodell (das z. B. Bilder aufweist, die von 7 bis 9 Uhr aufgenommen sind), ein Mittags-Gesichtsdetektionsmodell (das z. B. Bilder aufweist, die von 11 bis 13 Uhr aufgenommen sind) und ein Abend-Gesichtsdetektionsmodell (das z. B. Bilder aufweist, die von 16 bis 19 Uhr aufgenommen sind) erzeugt werden. Zusätzlich oder als Alternative kann ein Büro-Detektionsmodell (das z. B. Bilder aufweist, die an einem Arbeitsplatz aufgenommen sind) und ein Heim-Detektionsmodell (das z. B. Bilder aufweist, die an einem Wohnort aufgenommen sind) erzeugt werden, und so weiter.
  • In der Implementierung oder an der Inferenz kann das einschlägige Gesichtsdetektionsmodell durch die Mikrosteuereinheit in dem Niederleistungs-Zustand der Vorrichtung verwendet werden. Beispielsweise kann in einem Hochleistungs-Zustand das einschlägige Gesichtsdetektionsmodell für die Mikrosteuereinheit gespeichert werden. Wie hier verwendet gibt der Begriff Speichern, der im Kontext von Speichern eines Gesichtsdetektionsmodells verwendet ist, an, dass das Modell gespeichert wird, entweder durch Übertragung durch eine Vorrichtung zu einer weiteren oder durch Abrufen durch eine Vorrichtung von der anderen Vorrichtung oder einen Zwischendienst. Nachfolgend kann in dem Niederleistungs-Zustand die Mikrosteuereinheit im Dauerbetrieb das einschlägige Gesichtsdetektionsmodell zur Gesichtsdetektion mit der Erwartung verwenden, dass die Vorrichtung unter Bedingungen, für die das Modell trainiert wurde, verwendet wird. Beispielsweise kann in einem Hochleistungs-Zustand nach Mittag ein Abend-Gesichtsdetektionsmodell geladen und zur Implementierung am Abend verwendet werden. Wie zu erkennen ist, kann das Gesichtsdetektionsmodell dadurch zur Detektion unter unterschiedlichen Beleuchtungsbedingungen oder sogar mit einem unterschiedlichen Gesicht trainiert werden, wenn die Vorrichtung durch unterschiedliche Personen zu unterschiedlichen Tageszeiten, an unterschiedlichen Orten usw. verwendet wird.
  • In anderen Ausführungsformen kann basierend auf einer oder mehreren falsch positiven Detektionen ein neuer Schwellenwert für ein Gesichtsdetektionsmodell bestimmt werden, um die Falsch-positiv-Rate zu verringern. Wie hier verwendet enthält ein Gesichtsdetektionsmodell ein vortrainiertes Standard-Modell zum Vergleich von Eingabebildern von einer Kamera mit geringer Auflösung und einen Schwellenwert zum Vergleich des Ergebnisses des Modellvergleichs. Beispielsweise kann das Gesichtsdetektionsmodell ein Hauptkomponentenanalysemodell (z. B. ein lineares Diskriminanzmodell oder ein lineares Fisher-Diskriminanzmodell) enthalten, so dass ein eingehendes Bild in einen Vektor umgesetzt, normalisiert und auf einen Eigenraum projiziert werden kann, um einen Hauptkomponentenvektor für das eingehende Bild zu bestimmen. Der resultierende Hauptkomponentenvektor wird dann mit Hauptkomponentenvektoren des Gesichtsdetektionsmodells verglichen, um einen Abstand in Bezug auf das Gesichtsdetektionsmodell zu bestimmen. Der Gesichtsabstand des Bilds des Niederleistungssystems wird dann mit dem vortrainierten Modell verglichen, so dass ein euklidischer Abstand einen Schwellenwert des Modells zur Gesichtsdetektion erfüllt. Deshalb enthält das Gesichtsdetektionsmodell die Hauptkomponentenvektoren des Gesichtsdetektionsmodells und den Schwellenwert. Wie diskutiert kann, wenn falsch Positive detektiert werden, eine Aktualisierung für das Gesichtsdetektionsmodell das Abstimmen des Schwellenwerts und seine Aktualisierung für die Mikrosteuereinheit enthalten.
  • Andere Modellaktualisierungen als die hier diskutierten können zusätzlich zu den oder als Alternative zu den diskutierten Ausführungsformen verwendet werden. Die diskutierten Techniken können in einem Personalcomputer oder anderen Vorrichtungsanwendungen verwendet werden, um eigenständige Dauerbetriebs- (AON-) Fähigkeit für die Vorrichtung bereitzustellen, die sehr wenig Energie verbraucht und es ermöglicht, dass der Host-Prozessor in einen modernen Bereitschafts-Niederleistungs-Zustand eintritt, wobei der PC in einem Schlafzustand eintreten kann, der in dem Milliwatt-Bereich arbeitet, und gleichzeitig immer noch aktiv nach Gesichtsdetektion suchen kann.
  • 1 stellt ein Beispielsystem 100 zum Bereitstellen von Gesichtsdetektion im Dauerbetrieb dar, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. Wie in 1 gezeigt, enthält das System 100 eine Mikrosteuereinheit 101, die mit einem Prozessor 102 gekoppelt ist. In einigen Ausführungsformen ist die Mikrosteuereinheit 101 eine integrierte Schaltung oder ein Chip und kann als eine monolithische integrierte Schaltung charakterisiert sein. In einigen Ausführungsformen ist die Mikrosteuereinheit 101 ein Abschnitt eines Host-Prozessors, der auch den Prozessor 102 enthält. Die Mikrosteuereinheit 101 kann als ein Ultra-Niederleistungs-Begleitprozessor für den Prozessor 102 charakterisiert sein. Insbesondere arbeitet die Mikrosteuereinheit 101 an einem Leistungspegel 114, der niedrig ist und als ultraniedrig (z. B. weniger als 100 mW) charakterisiert sein kann. In einer Ausführungsform ist der Prozessor 102 ein/e physikalisch separate/r integrierte Schaltung oder Chip, die/der mit der Mikrosteuereinheit 101 gekoppelt ist. In einer weiteren Ausführungsform ist die Mikrosteuereinheit 101 ein Abschnitt oder eine Teilkomponente eines Host-Prozessors, der auch den Prozessor 102 enthält. In einigen Ausführungsformen, in denen der Prozessor 102 und die Mikrosteuereinheit 101 separate physikalische Entitäten sind, kann der Prozessor 102 auch als eine monolithische integrierte Schaltung charakterisiert sein. Der Prozessor 102 kann in Bezug auf die Mikrosteuereinheit 101 als ein Host-Prozessor charakterisiert sein. Insbesondere arbeitet der Prozessor 102, wenn er eingeschaltet ist, an einem Leistungspegel 124, der ein Standard-Leistungspegel für Prozessorbetrieb ist. Obwohl er in Bezug auf den Betrieb mit dem Leistungspegel 124 dargestellt ist, kann der Prozessor 102 zum Betrieb an mehreren Leistungspegeln gemäß einem Leistungsmanagementprotokoll fähig sein. Insbesondere kann der Prozessor 102 in einen Schlafzustand oder eine moderne Bereitschaftsbetriebsart an einem sehr niedrigen Leistungspegel eintreten, wenn er nicht verwendet wird. In einem solchen niedrigen Leistungszustand kann das System 100 in einer Dauerbetriebsart arbeiten, wobei der Prozessor in einem Schlafzustand oder einer modernen Bereitschaftsbetriebsart ist und die Mikrosteuereinheit 101 an einem niedrigen Leistungspegel 114 arbeitet, um die Umgebung des Systems 100 auf ein menschliches Gesicht zu überwachen.
  • Der Leistungspegel 114 und der Leistungspegel 124 können irgendwelche geeigneten Leistungspegel sein, so dass der Leistungspegel 114 niedriger ist als der Leistungspegel 124. In einer Ausführungsform ist der Leistungspegel 114 in dem Bereich von 5 mW bis 100 mW. In einer Ausführungsform ist der Leistungspegel 114 nicht höher als 50 mW. In einer Ausführungsform ist der Leistungspegel 114 nicht höher als 10 mW. In einer Ausführungsform ist der Leistungspegel 124 nicht niedriger als 1 W. In einer Ausführungsform ist der Leistungspegel 124 nicht niedriger als 2 W. In einer Ausführungsform ist der Leistungspegel 124 nicht niedriger als 0,5 W. In einer Ausführungsform ist der Leistungspegel 114 nicht höher als 2 % des Leistungspegels 124. In einer Ausführungsform ist der Leistungspegel 114 nicht höher als 1 % des Leistungspegels 124. In einer Ausführungsform ist der Leistungspegel 114 nicht höher als 0,5 % des Leistungspegels 124. Die Mikrosteuereinheit 101 kann an irgendeiner geeigneten Taktfrequenz oder Rate wie z. B. 50 Hz arbeiten.
  • Die Mikrosteuereinheit 101 enthält einen Gesichtsdetektor 111, einen Speicher 112 und eine Schnittstelle 113. Der Speicher 112 speichert ein Gesichtsdetektionsmodell zur Implementierung durch den Gesichtsdetektor 111. Wenn ein Gesicht detektiert wird, wird ein Gesichtsdetektionssignal 132 (Gesicht detektiert) durch die Schnittstelle 113 für den Prozessor 102 bereitgestellt. Beispielsweise können die Mikrosteuereinheit 101 und der Prozessor 102 über eine Verbindung durch eine serielle Peripherieschnittstelle (SPI), eine Verbindung zwischen integrierten Schaltungen (I2C) oder eine Allzweck-Eingabe/Ausgabe- (GPIO-) Verbindung verbunden sein. Darüber hinaus werden, wenn eine Gesichtsdetektionsmodellaktualisierung 133 (Modellaktualisierung) über die Schnittstelle 113 von dem Prozessor 102 empfangen wird, die Gesichtsdetektionsmodellaktualisierung (z. B. die Hauptkomponentenvektoren des Gesichtsdetektionsmodells, ein Schwellenwert des Gesichtsdetektionsmodells oder beides) in dem Speicher 112 zum Gebrauch durch den Gesichtsdetektor 111 gespeichert. Insbesondere werden sowohl die Hauptkomponentenvektoren des Gesichtsdetektionsmodells als auch ein Schwellenwert des Gesichtsdetektionsmodells zur Implementierung des Gesichtsdetektionsmodells benötigt, jedoch können entweder die Hauptkomponentenvektoren oder der Schwellenwert oder beide Teil einer Aktualisierung sein. In einer Ausführungsform kann der Speicher 112 eine Zuweisung enthalten, die die Mikrosteuereinheit 101 darauf einschränkt, dass sie nur zum Speichern eines einzigen Gesichtsdetektionsmodells fähig ist. In einigen Ausführungsformen können zwei oder mehr Gesichtsdetektionsmodelle gespeichert werden. In einer Ausführungsform enthält der Speicher 112 eine Gesichtsdetektionsmodell-Laufzeitspeicherzuweisung, die nicht größer als 7 KB ist. Der Speicher 112 kann irgendeinen geeigneten Speicher wie z. B. statischen Direktzugriffsspeicher (SRAM) aufweisen und kann irgendeinen Speicherplatz wie z. B. 512 KB aufweisen.
  • Wie gezeigt ist die Mikrosteuereinheit 101 mit einer Kamera 103 gekoppelt. Die Kamera 103 kann irgendein/e geeignete/s Kamera oder Kameramodul enthalten. In einer Ausführungsform ist die Kamera 103 eine Niederleistungs-Kamera, die nur zum Erreichen eines Bilds 131 mit geringer Auflösung mit niedriger Rahmenrate (z. B. 30 fps) fähig ist. Bilder 131 mit geringer Auflösung können von irgendeiner geeigneten Auflösung wie z. B. 320x240 Pixel sein. In einer Ausführungsform ist die Kamera 103 eine RGB-Kamera, und die Bilder 131 mit geringer Auflösung sind RGB-Bilder. In einer Ausführungsform ist die Kamera 103 eine IR-Kamera, und die Bilder 131 mit geringer Auflösung sind IR-Bilder. Darüber hinaus ist der Prozessor 102 mit der Kamera 104 gekoppelt. Die Kamera 104 kann irgendein/e geeignete/s Kamera oder Kameramodul enthalten. In einer Ausführungsform ist die Kamera 104 eine Kamera mit Standardleistung (die z. B. mit einer höheren Leistungsanforderung als die Kamera 103 arbeitet) und ist zum Erhalten von Bildern 141 mit voller oder hoher Auflösung mit derselben oder einer höheren Rahmenrate (z. B. 30. 60 oder 90 fps) fähig. Bilder 141 mit hoher Auflösung können von irgendeiner geeigneten Auflösung wie z. B. 2048x1536 Pixel sein. In einer Ausführungsform sind die Kamera 103 und die Kamera 104 physikalisch unterscheidbare Kameras. In einer weiteren Ausführungsform sind die Fähigkeiten, die in Bezug auf die Kameras 103, 104 diskutiert sind, durch eine einzige Kamera bereitgestellt (z. B. eine Hybrid-Kamera, die in einem modernen Bereitschaftszustand auf eine geringe Auflösung herunter skaliert werden kann und mit voller Auflösung in einem Hochleistungs-Zustand arbeiten kann). Darüber hinaus kann der Prozessor 102 mit einer IR-Kamera 105 (IRC) und einem Infrarotsender 107 (IRT) gekoppelt sein. In Ausführungsformen, in denen die Kamera 104 eine IR-Kamera ist, kann die IR-Kamera 105 nicht enthalten sein, und stattdessen kann eine RGB-Kamera implementiert sein. Der IR-Sender kann ein IR-Muster zur Detektion durch die IR-Kamera 105 (oder die Kamera 104) senden. Solche Komponenten können zusätzlich zu der Kamera 104 verwendet werden, um die Gesichtsdetektion auszuführen oder zu validieren.
  • Der Prozessor 102 kann ferner eine zentrale Verarbeitungseinheit 121, eine Grafikverarbeitungseinheit 122 und einen Speicher 123 enthalten. In einer Ausführungsform ist der Prozessor 102 ein Prozessorkern, der die zentrale Verarbeitungseinheit 121, die Grafikverarbeitungseinheit 122 und den Speicher 123 enthält. In anderen Ausführungsformen enthält der Prozessor 102 nur die zentrale Verarbeitungseinheit 121, und die Grafikverarbeitungseinheit 122 ist getrennt von der zentralen Verarbeitungseinheit 121 implementiert. Der Speicher 123 kann integriert sein, wie gezeigt, oder der Speicher 123 kann getrennt von dem Prozessor 102 implementiert sein. Der Prozessor 102 kann als ein Mikroprozessor, ein zentraler Prozessor, eine zentrale Verarbeitungseinheit, ein Host-Prozessor, ein Haupt-Host-Prozessor usw. charakterisiert sein.
  • Der Gesichtsdetektor 111 implementiert ein aktuelles in dem Speicher 112 gespeichertes Gesichtsdetektionsmodell. Das Gesichtsdetektionsmodell kann irgendein geeignetes Gesichtsdetektionsmodell sein wie z. B. ein Hauptkomponentenanalysemodell (z. B. ein lineares Eigen- oder Fisher-Diskriminanzmodell). Wie sie hier verwendet sind, sind die Begriffe Hauptkomponentenanalyse-Gesichtsdetektionsmodell, Hauptkomponentenanalysemodell, lineares Diskriminanzmodell und lineares Fisher-Diskriminanzmodell austauschbar verwendet und geben eine Maschinenlern-Strukturerkennungsprozedur an, die eine Anzahl von (möglicherweise) korrelierten Variablen in eine (kleinere) Anzahl von unkorrelierten Variablen, die als Hauptkomponenten bezeichnet sind, transformiert. Solche Techniken können verwendet werden, um in einer Trainingsphase ein Modell, das Vektoren (z. B. Hauptkomponentenvektoren), die für eine Trainingsmenge von Bildern repräsentativ sind, und einen Schwellenwert enthält, vorzutrainieren, so dass in einer Implementierungsphase ein Vektor (z. B. ein Hauptkomponentenvektor), der für ein eingehendes Bild repräsentativ ist, mit den Modellvektoren verglichen oder an ihnen gemessen wird, um einen Abstand des Vektors des eingehenden Bilds von den Modellvektoren zu bestimmen. Der Abstand wird dann mit dem Modell-Schwellenwert verglichen.
  • 2 stellt ein beispielhaftes Gesichtsdetektionsverfahren 200 dar, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. Beispielsweise kann das Gesichtsdetektionsverfahren 200 durch den Gesichtsdetektor 111 unter Verwendung eines im Speicher 112 gespeicherten Modells ausgeführt werden, um ein Hauptkomponentenanalyse-Gesichtsdetektionsmodell zu implementieren. Wie in 2 gezeigt wird ein Eingabebild 201 zum Verarbeiten empfangen. Das Eingabebild 201 kann einem ausgewählten aus den Bildern 131 mit geringer Auflösung entsprechen. In einer Ausführungsform wird optionale Vorverarbeitung ausgeführt, um eines der Bilder 131 mit geringer Auflösung auf das Eingabebild 210 beschneiden oder das Bild auf andere Weise zu modifizieren. Das Eingabebild 201 kann von irgendeiner geeigneten Auflösung wie z. B. ein 320x240 Pixel-Bild oder Rahmen sein. In einer Ausführungsform enthält das Eingabebild 201 einen einzigen (Luminanz-) Kanal. Unter Verwendung des Eingabebilds 201 wird in Operation 211 ein Gesichtsvektor 202 erzeugt. Der Gesichtsvektor 202 kann unter Verwendung irgendeiner geeigneten Technik oder Techniken erzeugt werden. In einer Ausführungsform ist er eine 1-dimensionale Abtastung (z. B. Rasterabtastung) von Luminanzwerten des Eingabebilds 201. Der Gesichtsvektor kann bei Operation 212 normalisiert (z. B. kann ein Durchschnittsgesichtsvektor, wie er durch das Gesichtsdetektionsmodell 204 bereitgestellt wird, von dem Gesichtsvektor 202 subtrahiert werden) und auf einen Eigenraum, wie er durch das Gesichtsdetektionsmodell 204 bereitgestellt ist (z. B. basierend auf Eigenvektoren, wie sie durch das Gesichtsdetektionsmodell 204 bereitgestellt sind), projiziert werden, um einen Hauptkomponentenvektor 203 zu erzeugen. Der Hauptkomponentenvektor 203 kann als ein charakteristischer Vektor oder einfach ein Vektor bezeichnet sein. Der Hauptkomponentenvektor 203 wird mit den Hauptkomponentenvektoren 205 des Gesichtsdetektionsmodells 204 verglichen, um in Operation 213 einen Abstand, D, des Hauptkomponentenvektors 203 von den Hauptkomponentenvektoren 205 zu bestimmen. Der Abstand, D, kann unter Verwendung irgendeiner geeigneten Technik oder Techniken bestimmt werden, wie z. B. eine Technik mit Summe der Quadrate absoluter Differenzen, usw. Der Abstand, D, stellt ein Maß für den Unterschied zwischen dem Eingabebild 201 und dem (vortrainierten) Gesichtsdetektionsmodell 204 bereit, das verwendet werden kann, um ein Gesicht (z. B. Anwesenheit des Anwenders) zu detektieren. Wie in Operation 214 gezeigt ist, wird, falls der Abstand, D, einen Schwellenwert 206 erfüllt (z. B. D kleiner ist als der Schwellenwert 206), ein Gesicht detektiert, wie bei der Gesichtsdetektion 207 gezeigt ist. Andernfalls wird kein Gesicht detektiert, wie bei keine Gesichtsdetektion 208 gezeigt ist.
  • Wie diskutiert wird ein vortrainiertes Gesichtsdetektionsmodell 204 in den Speicher 112 geladen. In einer Ausführungsform wird der Gesichtsdetektor 111 durch die Mikrosteuereinheit 101 implementiert und führt den Gesichtsdetektionsprozess in Firmware durch Implementieren des Gesichtsdetektionsmodells 204 kontinuierlich aus. Eingabebilder, die durch die Kamera 103 (z. B. eine Kamera mit geringer Leistung) aufgenommen sind, werden optional auf ein interessierendes Gebiet vorverarbeitet (z. B. beschnitten). Ein Abstand zwischen dem in dem Speicher 112 gespeicherten vortrainierten Gesichtsdetektionsmodell 204 und dem vorverarbeiteten Bild wird bestimmt. Falls der Gesichtsabstand innerhalb eines vordefinierten Schwellenwerts 206 des vortrainierten Gesichtsdetektionsmodells 204 ist, wird ein Gesicht detektiert. Wie diskutiert kann eine solche Inferenzverarbeitung an einem niedrigen Leistungspegel von 10 mW Leistung bei 30 Hz unter Verwendung von 7 KB Speicher ausgeführt werden.
  • Zurück zu 1 führt, wie diskutiert, der Gesichtsdetektor 111 Inferenz basierend auf Bildern 131 mit geringer Auflösung aus, um solche Eingabebilder mit einem detektierten menschlichen Gesicht zu vergleichen. Falls kein Gesicht detektiert wird, fährt der Gesichtsdetektor 111 fort, Bilder 131 mit geringer Auflösung (oder Eingabebilder, die Bildern 131 mit geringer Auflösung entsprechen) zu überwachen, bis ein Gesicht detektiert wird. Wenn ein Gesicht detektiert wird, wird ein Gesichtsdetektionssignal 132 über die Schnittstelle 113 von der Mikrosteuereinheit 101 für den Prozessor 102 bereitgestellt. Das Gesichtsdetektionssignal kann irgendein geeignetes Signal sein wie z. B. ein Allzweck-Eingabe/Ausgabe- (GPIO-) Signal. Das Gesichtsdetektionssignal 132 kann als ein Aufwecksignal, Einschaltsignal usw. charakterisiert sein. In Reaktion auf das Gesichtsdetektionssignal 132 schaltet der Prozessor 102 aus einer Bereitschaftsbetriebsart (z. B. einem Ultra-Niederleistungs-Zustand oder einer modernen Bereitschaftsbetriebsart) auf den Leistungspegel 124 hoch. Der Prozessor 102 stellt ferner Gesichtsdetektionsmodellaktualisierungen 133 bereit, wie hier weiter diskutiert ist. Gesichtsdetektionsmodellaktualisierungen 133 können unter Verwendung irgendeiner geeigneten Technik oder Techniken wie z. B. Schreiboperationen auf der seriellen peripheren Schnittstelle (SPI) vorgenommen werden.
  • 3 stellt eine beispielhafte Inferenzverarbeitung, die durch die Mikrosteuereinheit 101 ausgeführt wird, und eine beispielhafte Modellaktualisierungsverarbeitung, die durch den Prozessor 102 ausgeführt wird, dar, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt sind. Wie in 3 gezeigt ist, stellt die Mikrosteuereinheit 101 über den Gesichtsdetektor 111, der ein im Speicher 112 gespeichertes Gesichtsdetektionsmodell implementiert, Gesichtsdetektion (z. B. Inferenz) bereit. Beispielsweise wird in Operation 310 eine Dauerbetrieb-Gesichtsdetektion durch die Mikrosteuereinheit 101 in einer Niederleistungsbetriebsart des Systems 100 implementiert. Eine solche Dauerbetrieb-Gesichtsdetektion kann initiiert werden, wenn der Prozessor 102 beispielsweise in eine Ultra-Niederleistungs-, Niederleistungs-, moderne Bereitschaftsbetriebsart oder Bereitschaftsbetriebsart eintritt. In Reaktion darauf, dass die Dauerbetrieb-Gesichtsdetektion initiiert wird, werden in Operation 302 Bilder mit geringer Auflösung empfangen. Beispielsweise können Bilder 131 mit geringer Auflösung von der Kamera 103 empfangen werden. In der Operation 303 werden die Bilder mit geringer Auflösung vorverarbeitet (z. B. auf ein interessierendes Gebiet beschnitten). Unter Verwendung der vorverarbeiteten Bilder wird in Operation 304 ein Abstand (z. B. der Gesichtsabstand) von einem vortrainierten Gesichtsdetektionsmodell 306 bestimmt, beispielsweise wie in Bezug auf 2 diskutiert, und in Operation 305 mit einem Schwellenwert des vortrainierten Gesichtsdetektionsmodells 306 verglichen. Falls kein Gesicht detektiert wird, fährt die Dauerbetrieb-Gesichtsdetektion wie diskutiert fort. Falls ein Gesicht detektiert wird, wird in Operation 307 ein Host-System-Aufwecksignal (z. B. das Gesichtsdetektionssignal 132) für den Prozessor bereitgestellt.
  • In Reaktion auf das Host-System-Aufwecksignal schaltet der Prozessor 102 aus einer modernen Bereitschaftsbetriebsart hoch, wie diskutiert, und ermöglicht in Operation 314 eine Host-Gesichtsdetektion. Die Host-Gesichtsdetektion wird durch den Prozessor 102 auf dem Leistungspegel 124 unter Verwendung irgendeiner geeigneten Technik oder Techniken ausgeführt, so dass die Host-Gesichtsdetektion ein Gesichtsdetektionsmodell auf einem Bild implementiert, das eine höhere Auflösung als diejenige des Bilds, das verwendet wird, um Gesichtsdetektion in der Mikrosteuereinheit 102 auszuführen, aufweist. In einer Ausführungsform implementiert die Host-Gesichtsdetektion ein Hauptkomponentenanalyse-Gesichtsdetektionsmodell auf einem Bild mit höherer Auflösung als dasjenige, das in der Hauptkomponentenanalyse-Gesichtsdetektionsmodell verwendet wird, das durch die Mikrosteuereinheit 102 verwendet wird. In einer weiteren Ausführungsform implementiert die Host-Gesichtsdetektion ein Gesichtsdetektionsmodell mit einem neuronalen Faltungsnetz. Wie hier verwendet gibt der Begriff Gesichtsdetektionsmodell mit einem neuronalen Faltungsnetz irgendein Modell an, das ein künstliches neuronales Netz implementiert, um ein Eingabebild zu klassifizieren. In noch weiteren Ausführungsformen können IR-Gesichtsdetektionstechniken in der Host-Gesichtsdetektion verwendet werden.
  • Wie in Operation 317 gezeigt ist, wird eine Bestimmung basierend auf der Host-Gesichtsdetektion durch den Prozessor 102 dazu vorgenommen, ob ein Gesicht detektiert wird. Eine solche Verarbeitung kann als eine Validierung der Gesichtsdetektion durch die Mikrosteuereinheit charakterisiert werden. Wie hier verwendet gibt der Begriff Validierung das Überprüfen an, um die Gültigkeit einer Gesichtsdetektion zu bestimmen, und gibt nicht das Ergebnis an (z. B. dass die Gesichtsdetektion tatsächlich validiert ist). Beispielsweise kann die Validierung zu einer positiven Validierung (z. B. dass eine Gesichtsdetektion richtig ist) oder einer falsch positiven oder negativen Validierung (z. B. dass die Gesichtsdetektion nicht richtig ist) führen. Wie gezeigt werden, falls die Validierung zu einer positiven Validierung führt, in Operation 321 Metadaten, die der Gesichtsdetektion entsprechen, (z. B. Tageszeit, Beleuchtungsbedingung, ein geographischer Ort usw.), der Schwellenwert des vortrainierten Gesichtsdetektionsmodells 306 und ein Bild der Gesichtsdetektion (z. B. ein Bild mit hoher Auflösung oder geringer Auflösung) zusammen mit einem Kennzeichen, dass die Gesichtsdetektion positiv war, gespeichert.
  • Die Verarbeitung fährt zu Operation 320 fort, wo eine Bestimmung vorgenommen wird, ob ein Gesichtsdetektionstraining getriggert worden ist. Beispielsweise kann ein Gesichtsdetektionstraining getriggert werden, wenn eine Schwellenwertanzahl von Gesichtsdetektionssignalen empfangen worden sind, wenn eine Schwellenwertanzahl von Gesichtsdetektionen mit positiver Validierung vorgenommen worden ist, wenn eine Schwellenwertanzahl von Gesichtsdetektionen mit falsch positiver Validierung vorgenommen worden ist, ein Anwender Gesichtsdetektionstraining angefordert hat, usw. Solche Trigger sind hier mit Bezug auf 6 weiter diskutiert. Falls ja fährt die Verarbeitung mit Operation 319 fort, wo Bilder, die Gesichtsdetektionen mit positiver Validierung entsprechen, oder aktuelle Bildaufnahme mit einem bekannten Anwender (z. B. auf Anwenderanforderung) ausgeführt wird, um Bilder zu erhalten, von denen bekannt ist (oder stark vermutet wird), dass sie einen normalen Anwender des Systems 100 enthalten. Zusätzlich können optional auch Metadaten, die den Bildern entsprechen, erhalten werden.
  • Das Verarbeiten fährt mit Operation 318 fort, wo ein oder mehrere Gesichtsdetektionsmodelle unter Verwendung der diskutierten Bilder und/oder Metadaten trainiert und/oder aktualisiert werden. In einigen Ausführungsformen findet das Trainieren in Reaktion auf eine Anwenderanforderung statt. In solchen Ausführungsformen kann die Operation 319 das Erhalten eines oder mehrerer Bilder des Anwenders dadurch, dass man den Anwender zur Kamera 104 blicken und die Bildaufnahme ausführen lässt, enthalten. Insbesondere können Metadatenmerkmale auch solchen Bildern basierend auf der Zeit, dem Ort, der Beleuchtung usw. solcher Bilder beigefügt werden. Nachfolgend kann das Trainieren des Gesichtsdetektionsmodells (wie nachstehend weiter diskutiert) unter Verwendung der erhaltenen Bilder des Anwenders als wenigstens Teil einer/eines Trainingsmenge oder -körpers ausgeführt werden.
  • Zusätzlich oder als Alternative kann die/der Trainingsmenge oder -körper Bilder enthalten, die Gesichtsdetektionen mit positiver Validierung entsprechen. Das heißt, das Bild kann bei Gesichtsdetektionen mit positiver Validierung für das Trainieren gespeichert werden, wie diskutiert. Das Trainieren des Gesichtsdetektionsmodells kann unter Verwendung der gesicherten Bilder (von denen vermutet ist, dass sie das Gesicht eines primären Anwenders aufweisen) als wenigstens Teil der/des Trainingsmenge oder -körpers ausgeführt werden. Darüber hinaus können Metadatenmerkmale auch solchen Bildern basierend auf der Zeit, dem Ort, der Beleuchtung usw. solcher Bilder beigefügt werden.
  • Mit Bezug auf solche Metadatenmerkmale kann irgendeines der diskutierten Bilder gemäß den Metadatenmerkmalen organisiert oder ausgelagert werden, so dass individuelle Trainingsmengen erhalten werden, wobei jede Trainingsmenge ein oder mehrere gemeinsame Metadatenmerkmale aufweist. Beispielsweise kann eine erste Trainingsmenge Morgen-Bilder aufweisen, eine zweite Trainingsmenge kann Mittags-Bilder aufweisen, und so weiter. Darüber hinaus können solche Trainingsmengen eine Kombination von Metadatenmerkmalen aufweisen, wie z. B. dass eine erste Trainingsmenge Morgen-Büro-Bilder aufweist, eine zweite Trainingsmenge Mittags-Büro-Bilder aufweist, eine dritte Trainingsmenge Morgen-Heim-Bilder aufweist usw. Beispielsweise kann jede Trainingsmenge ein unterscheidbares Metadatenmerkmal oder eine unterscheidbare Kombination aus zwei oder mehreren Metadatenmerkmalen aufweisen.
  • 4 stellt ein beispielhaftes Gesichtsdetektionsmodell-Trainingsmoduls 400 dar, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. Beispielsweise kann das Gesichtsdetektionsmodell-Trainingsmodul 400 durch den Prozessor 102 am Leistungspegel 124 implementiert sein, um eine Gesichtsdetektionsmodellaktualisierung zu erzeugen. Wie diskutiert kann ein Gesichtsdetektionsmodell Hauptkomponentenvektoren, einen Schwellenwert und andere Aspekte enthalten, die für die Mikrosteuereinheit 101 zur Implementierung während der Inferenz gespeichert sein können. Wie gezeigt kann das Gesichtsdetektionsmodell-Trainingsmodul 400 eine oder mehrere Trainingsmengen von Bildern 401, 403, 405 trainieren, die optional jeweils Metadatenmerkmale 402, 404, 406, die ihnen entsprechen, aufweisen können.
  • In einer Ausführungsform trainiert das Gesichtsdetektionsmodell-Trainingsmodul 400 ein einziges Gesichtsdetektionsmodell basierend nur auf der Trainingsmenge von Bildern 401. Irgendeine der Trainingsmengen von Bildern 401, 403, 405 kann irgendeine Anzahl von Bildern enthalten, wie z. B. 500-2.000 Bilder. Die Erzeugung eines Gesichtsdetektionsmodells 411 wird jetzt mit Bezug auf die Trainingsmenge von Bildern 401 diskutiert. Wie zu erkennen ist, können solche Techniken verwendet werden, um irgendeine Anzahl von Gesichtsdetektionsmodellen 411 zu erzeugen, von denen jedes auf einer der Trainingsmengen von Bildern 401, 403, 405 basiert. Darüber hinaus kann jedes der mehreren Gesichtsdetektionsmodelle 411 einem der Metadatenmerkmale 402, 404, 406 entsprechen, so dass ein Gesichtsdetektionsmodell 411 für jede Instanziierung der Metadatenmerkmale 402, 404, 406 erzeugt wird. Solche Gesichtsdetektionsmodelle 411 können dann implementiert werden, wenn die Umgebung des Systems 100 einem der Metadatenmerkmale 402, 404, 406 entspricht (oder erwartet wird, dass es ihm entspricht), wie hier weiter diskutiert ist.
  • Wie gezeigt wird die Trainingsmenge von Bildern 401 durch das Bildverarbeitungsmodul 420 verarbeitet. Das Bildverarbeitungsmodul 420 kann irgendwelche geeigneten Vorverarbeitungsoperationen ausführen, wie z. B. Beschneiden auf ein detektiertes interessierendes Gebiet oder dergleichen. In dem Gesichtsdurchschnittsbildungsmodul 421 wird die verarbeitete Trainingsmenge von Bildern 401 verwendet, um ein Durchschnittsgesicht 406 der Gesichter in der Trainingsmenge von Bildern 401 zu bestimmen. In dem Bilddifferenzbildungsmodul 422 wird eine Differenz jedes aus der Trainingsmenge von Bildern 401 zu dem Durchschnittsgesicht 406 gebildet, um Differenzbilder 407 zu erzeugen. Solche Differenzbildung für Bilder kann als Bildnormalisierung charakterisiert sein. Das Eigenvektorbestimmungsmodul 423 wird verwendet, um Eigenvektoren 408, die dem entsprechen, zu bilden. In einer Ausführungsform werden die Differenzbilder 407 jeweils in einen entsprechenden Vektor geformt (z. B. unter Verwendung von Rasterabtasttechniken), und eine Kovarianzmatrix, die Eigenvektoren 408 enthält, wird unter Verwendung der Differenzbildvektoren bestimmt (z. B. durch Lösen von C = ATA, wobei A eine Matrix von Differenzbildvektoren ist und C die Eigenvektormatrix ist). In dem Hauptkomponentenvektor-Bestimmungsmodul 424 wird für jedes aus der Trainingsmenge von Bildern 401 ein Hauptkomponentenvektor bestimmt, so dass der Hauptkomponentenvektor ein Bild als eine Linearkombination aus Eigenvektoren 408 repräsentiert. Wie gezeigt werden die resultierenden Hauptkomponentenvektoren 409 in dem Speicher 427 als ein Gesichtsdetektionsmodell 411 gespeichert. Darüber hinaus kann ein Schwellenwert 410 für das Gesichtsdetektionsmodell 411 über ein Schwellenwerterzeugungsmodul 426 bestimmt werden. Wie gezeigt können in einem Abstandsmessmodul 425 Abstände für die Trainingsmenge von Bildern 410 und optionale falsch positive Trainingsbilder verwendet werden, um für jedes einen Abstand zu bestimmen. Die Abstände und die bekannten positiven (und negativen) Ergebnisse können dann verwendet werden, um den Schwellenwert 410 durch Anwenden eines ersten Schwellenwerts, Bestimmen einer Falschannahmerate (FAR) und einer Falschzurückweisungsrate (FRR) basierend auf dem Schwellenwert und Variieren des Schwellenwerts, bis die FAR und die FRR optimiert sind, auf iterative Weise zu bestimmen. Die falsch positiven Trainingsbilder können in Operation 316 gesichert werden, wie hier diskutiert ist.
  • Zurück zu 3 werden, wie gezeigt, nach dem Trainieren des Gesichtsdetektionsmodells 411 die aktualisierte(n) Gesichtsdetektionsmodell(e) in dem Speicher 312 gespeichert und über die Operation 313 in die Mikrosteuereinheit 101 geladen, um das vortrainierte Gesichtsdetektionsmodell 306 zu ersetzen oder zu aktualisieren. In einigen Ausführungsformen werden nur Abschnitte des vortrainierten Gesichtsdetektionsmodells 306 aktualisiert (z. B. wird der Schwellenwert geändert). In anderen Ausführungsformen wird das vollständige vortrainierte Gesichtsdetektionsmodell 306 aktualisiert (z. B. das vortrainierte Gesichtsdetektionsmodell 306). In jedem Fall ist die Modifikation des vortrainierten Gesichtsdetektionsmodells 306 hier als eine Aktualisierung charakterisiert.
  • Zurück zu Operation 317 fährt, falls die Validierung zu einer falsch positiven Validierung führt (z. B. das Gesicht nicht validiert wird), die Verarbeitung zu Operation 316 fort, wo Metadaten, die der Gesichtsdetektion entsprechen, (z. B. Tageszeit, Beleuchtungsbedingung, ein geographischer Ort usw.) und ein Bild der Gesichtsdetektion (z. B. ein Bild mit hoher Auflösung oder geringer Auflösung) zusammen mit einem Kennzeichen, dass die Gesichtsdetektion falsch oder negativ war, gespeichert werden. Die Verarbeitung fährt mit Operation 315 fort, wo eine Bestimmung dazu vorgenommen wird, ob ein vortrainiertes Gesichtsdetektionsmodell eine negative Gesichtsdetektion bereitstellt, die dem aktuellen Bild entspricht. Falls ja wird das vortrainierte Gesichtsdetektionsmodell über Operation 313 in die Mikrosteuereinheit 101 geladen, um das vortrainierte Gesichtsdetektionsmodell 306 zu ersetzen oder zu aktualisieren. Das Bestimmen eines vortrainierten Gesichtsdetektionsmodells, das eine negative Gesichtsdetektion bereitstellt, die dem aktuellen Bild entspricht, kann das Bestimmen nur einer Schwellenwertänderung für das aktuelle vortrainierte Gesichtsdetektionsmodell oder das Bestimmen eines vollständig unterschiedlichen vortrainierten Gesichtsdetektionsmodells, das eine negative Gesichtsdetektion bereitstellt, die dem aktuellen Bild entspricht, enthalten. Falls nein wird keine Änderung an dem Schwellenwert vorgenommen, und die Verarbeitung fährt mit Operation 311 fort, wo eine Zeitüberschreitung erreicht wird, ein Signal zu der Mikrosteuereinheit 101 gesendet wird, um die Dauerbetrieb-Gesichtsdetektion zu implementieren, und der Prozessor 102 in einen Ultra-Niederleistungs-, Niederleistungs- oder Bereitschaftsleistungs-Zustand zurückgeführt wird.
  • Beispielsweise wenn der Prozessor 102 (z. B. der Hauptprozessor des Systems 100) aufwacht, kann seine Steuerlogik eine Anforderung zu der Kamera 104 (z. B. einer hochauflösenden Host-Kamera) für Auto-Login-Dienste übertragen. Wie diskutiert bestimmt der Prozessor 102 am Leistungspegel 124 (an einem höheren Vertrauensniveau in Bezug auf die Verarbeitung in der Mikrosteuereinheit 101), ob ein tatsächliches Gesicht vorhanden ist, das durch die Kamera 104 detektiert wird, (z. B. unter Verwendung einer hinsichtlich der Rechenanforderung anspruchsvolleren, hinsichtlich der Speichergröße größeren usw. Gesichtserkennung auf einem hochauflösenden Bild). Der Prozessor 102 speichert positive Metadaten des Bilds und den Schwellenwert aus der Mikrosteuereinheit 101. Wie diskutiert werden solche Daten später verwendet, um das aktuelle durch den Anwender vortrainierte Modell zu aktualisieren (und zu verbessern). Wenn ein Bild falsch detektiert wird (z. B. wird ein falsch positives detektiert), werden die Metadaten und Schwellenwerte als Nicht-Gesichtsdaten verwendet, um für negative Bedingungen zu trainieren und das vortrainierte Modell zu verbessern. Zusätzlich oder als Alternative kann, basierend auf dem Schwellenwert der negativen Bedingung, ein relevantes Modell bestimmt werden (z. B. für die aktuellen Umgebungsbedingungen)., Das ausgewählte Modell, das den Schwellenwertbereich erfüllt, wird dann zum Gebrauch durch die Mikrosteuereinheit 101 bereitgestellt.
  • 5 ist ein Ablaufdiagramm, das einen Beispielprozess 500 zum Implementieren und Aktualisieren eines Gesichtsdetektionsmodells in einer Niederleistungs-Mikrosteuereinheit darstellt, der in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. Der Prozess 500 kann eine oder mehrere Operationen 501-507 enthalten, wie in 5 dargestellt ist. Der Prozess 500 oder Abschnitte davon kann durch irgendein/e hier diskutierte Vorrichtung oder System, wie z. B. das System 100, ausgeführt werden.
  • Der Prozess 500 beginnt bei Operation 501, wo ein erstes Gesichtsdetektionsmodell unter Verwendung irgendeiner geeigneten Technik oder Techniken wie hier diskutiert, wie z. B. den mit Bezug auf 14 beschriebenen, vortrainiert wird. In einer Ausführungsform wird das erste Gesichtsdetektionsmodell unter Verwendung eines Trainingskörpers ohne Kenntnis des Anwenders oder Verwenden von Mustern des Systems 100 vortrainiert. Beispielsweise kann das erste Gesichtsdetektionsmodell ein initiales Gesichtsdetektionsmodell sein. In einer Ausführungsform wird das erste Gesichtsdetektionsmodell basierend auf Bildern trainiert, die vorher durch das System 100 erhalten wurden, wie hier diskutiert. Die Verarbeitung fährt mit Operation 502 fort, wo das erste Gesichtsdetektionsmodell für die Mikrosteuereinheit 101 gespeichert wird.
  • Die Verarbeitung fährt mit Operation 503 fort, wo das erste Gesichtsdetektionsmodell durch die Mikrosteuereinheit 101 an einem ersten Leistungspegel (z. B. an dem Leistungspegel 114) implementiert wird, wie hier diskutiert. Die Verarbeitung fährt mit Operation 504 fort, wo bei Gesichtsdetektion der Prozessor 102 hochgeschaltet wird (z. B. von einem niedrigen, Bereitschafts- oder ultraniedrigen Leistungspegel auf den Leistungspegel 124). Die Verarbeitung fährt mit Operation 505 fort, wo ein zweites Gesichtsdetektionsmodell in dem Prozessor 102, der an dem Leistungspegel 124 (z. B. an einer höheren Leistung wie der Leistungspegel 114) arbeitet, implementiert wird, um die Gesichtsdetektion zu validieren.
  • Die Verarbeitung fährt mit Operation 506 fort, wo eine Aktualisierung für das erste Gesichtsdetektionsmodell erzeugt wird. In einer Ausführungsform enthält die Aktualisierung ein drittes Gesichtsdetektionsmodell, das basierend auf mehreren gesicherten Bildern aus positiven Validierungen und negativen Validierungen erzeugt ist. Die Bilder aus positiven Validierungen werden wenigstens als Teil einer Trainingsmenge verwendet, um das dritte Gesichtsdetektionsmodell zu trainieren, so dass die Bilder aus positiven Validierungen verwendet werden, um ein Durchschnittsgesicht zu bestimmen, und so weiter. Darüber hinaus werden die Bilder aus negativen Validierungen als Teil einer Prüfmenge verwendet, um einen Schwellenwert für das dritte Gesichtsdetektionsmodell zu bestimmen (z. B. um falsche Annahmen zu bewerten).
  • In einer Ausführungsform enthält die Aktualisierung ein drittes Gesichtsdetektionsmodell, das aus mehreren gesicherten Gesichtsdetektionsmodellen ausgewählt ist, so dass das ausgewählte Modell ein negatives Ergebnis für die aktuellen Bilder bereitstellt. Beispielsweise sind Hauptkomponentenanalyse-Gesichtsdetektionsmodelle gegen Umgebungslichtbedingungen empfindlich. Durch Aktualisieren des vortrainierten Gesichtsdetektionsmodells (z. B. über eine Schwellenwertänderung oder das Ersetzen des gesamten Modells) werden eine gesteigerte Genauigkeit und Effizienz bereitgestellt.
  • Die Verarbeitung fährt mit Operation 507 fort, wo das aktualisierte vortrainierte Gesichtsdetektionsmodell für die Mikrosteuereinheit 101 gespeichert wird. Die Verarbeitung kann ferner nach einer Zeitüberschreitungsdauer oder einem Abschaltbefehl oder dergleichen dadurch fortfahren, dass Ultra-Niederleistungs-Gesichtsdetektion in der Mikrosteuereinheit 101 initiiert wird und der Prozessor 102 zu dem niedrigen, Bereitschafts- oder ultraniedrigen Leistungspegel zurückkehrt, so dass der Prozess 500 mit Operation 503 fortfährt wie gezeigt.
  • 6 ist ein Ablaufdiagramm, das einen Beispielprozess 600 zum Initiieren einer Aktualisierung eines Gesichtsdetektionsmodells, das in einer Niederleistungs-Mikrosteuereinheit implementiert ist, darstellt, der in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. Der Prozess 600 kann eine oder mehrere Operationen 601-606 enthalten, wie in 6 dargestellt ist. Der Prozess 600 oder Abschnitte davon kann durch irgendein/e hier diskutierte Vorrichtung oder System, wie z. B. das System 100, ausgeführt werden.
  • Der Prozess 600 beginnt bei Operation 601, wo der Prozessor 102 aktiviert wird. Der Prozessor 102 kann über das Gesichtsdetektionssignal 132 oder durch eine andere Aufweck-Instanziierung aktiviert werden. Die Verarbeitung fährt mit Operation 602 fort, wo eine Bestimmung dafür vorgenommen wird, ob eine Anzahl von Gesichtsdetektionen von der Mikrosteuereinheit 101 größer als ein Schwellenwert ist. Der Schwellenwert kann eine periodische Aktualisierung für das Gesichtsdetektionsmodell bereitstellen. Der Schwellenwert kann irgendeine geeignete Anzahl sein, wie z. B. 20k, 30k, 40k usw. In einer Ausführungsform kann die Operation 602 anstelle eines Schwellenwerts für die Anzahl von Gesichtsdetektionen einen Schwellenwert für die Zeit seit der letzten Aktualisierung implementieren, beispielsweise 3 Monate, 6 Monate usw. Falls der Schwellenwert erfüllt ist, fährt die Verarbeitung mit Operation 605 fort, wo eine Gesichtsdetektionsmodellaktualisierung ausgeführt wird. Die Gesichtsdetektionsmodellaktualisierung kann unter Verwendung irgendeiner geeigneten Technik oder Techniken ausgeführt werden, die denjenigen, die mit Bezug auf 4 diskutiert sind, und das Gesichtsdetektionsmodell wird für die Mikrosteuereinheit 101 gespeichert.
  • Falls nicht fährt die Verarbeitung mit Operation 603 fort, wo eine Bestimmung dafür vorgenommen wird, ob eine Anzahl von falsch positiven Gesichtsdetektionen von der Mikrosteuereinheit 101 größer als ein Schwellenwert ist. Der Schwellenwert kann Aktualisierung für das Gesichtsdetektionsmodell bereitstellen, wenn eine spezielle Anzahl von Fehlern auftritt. Der Schwellenwert kann irgendeine geeignete Anzahl sein, wie z. B. 200, 500, 1k usw. Falls der Schwellenwert erfüllt ist, fährt die Verarbeitung mit Operation 605 fort, wo eine Gesichtsdetektionsmodellaktualisierung wie vorstehend diskutiert ausgeführt wird.
  • Falls nicht fährt die Verarbeitung mit Operation 604 fort, wo eine Bestimmung vorgenommen wird, ob eine durch einen Anwender initiierte Kalibrierung angefordert worden ist. Die durch einen Anwender initiierte Kalibrierung kann unter Verwendung irgendeiner geeigneten Technik oder Techniken vorgenommen werden, wie z. B. dass der Anwender einen Software-Befehl eingibt, der Anwender zu einer Anforderung zum Aktualisieren auffordert wird, usw. In einigen Ausführungsformen kann die Aufforderung des Anwenders im Zusammenhang damit vorgenommen werden, dass einer der Schwellenwerte der Operationen 602, 603 erfüllt ist. Falls die durch den Anwender initiierte Kalibrierung angefordert worden ist, fährt die Verarbeitung mit Operation 605 fort, wo eine Gesichtsdetektionsmodellaktualisierung wie diskutiert ausgeführt wird.
  • Falls nicht fährt die Verarbeitung mit Operation 606 fort (oder die Verarbeitung fährt von Operation 605 zu Operation 606 fort), wo, wenn eine Zeitüberschreitung erreicht wird, basierend auf einem Befehl von einem Anwender usw. ein Signal zu der Mikrosteuereinheit 101 gesendet wird, um die Dauerbetrieb-Gesichtsdetektion zu implementieren, und der Prozessor 102 zu einem Ultra-Niederleistungs-, Niederleistungs- oder Bereitschaftsleistungs-Zustand zurückgeführt wird.
  • 7 ist ein Ablaufdiagramm, das einen Beispielprozess 700 zum Implementieren eines Gesichtsdetektionsmodells in einer Niederleistungs-Mikrosteuereinheit basierend auf Metadatenmerkmalen darstellt, der in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. Der Prozess 700 kann eine oder mehrere Operationen 701-707 enthalten, wie in 7 dargestellt ist. Der Prozess 700 oder Abschnitte davon kann durch irgendein/e hier diskutierte Vorrichtung oder System, wie z. B. das System 100, ausgeführt werden.
  • Der Prozess 700 beginnt in Operation 701, wo Metadatenmerkmale, die dem System 100 entsprechen, bestimmt werden. Die Metadatenmerkmale können irgendwelche geeigneten Merkmale sein. Wie er hier verwendet ist, gibt der Begriff Metadatenmerkmal ein Merkmal außerhalb eines Bilds an, das den Inhalt des Bilds beeinflussen kann. Beispiele enthalten die Tageszeit, die Beleuchtungsbedingungen, den geographischen Ort usw. Beispielsweise kann eine Tageszeit die Tageszeit sein, an der das Bild aufgenommen wurde (und kann Datum und Jahr enthalten), und ein solches Metadatenmerkmal kann die (angenommene) Umgebungslichtbedingung des Bilds, ob das Bild im Gebäude oder im Freien aufgenommen wurde, einen Anwendern, den das Bild wahrscheinlich enthält, usw. beeinflussen. Eine Bildaufnahmebedingung kann Kameraeigenschaften, einen Lichtsensorwert, der der Bildaufnahme entspricht, usw. enthalten, und ein solches Metadatenmerkmal kann wieder die Umgebungslichtbedingung des Bilds beeinflussen. Ein geographischer Ort kann die Breiten- und Längenkoordinaten sein, an denen das Bild aufgenommen wurde (und kann Straßenadresse usw. enthalten), und ein solches Metadatenmerkmal kann die (angenommene) Umgebungslichtbedingung des Bilds, ob das Bild im Gebäude oder im Freien aufgenommen wurde, den Anwendern, den das Bild wahrscheinlich enthält, usw. beeinflussen.
  • Die Verarbeitung fährt mit Operation 702 fort, wo ein Gesichtsdetektionsmodell, das dem/der in Operation 701 bestimmten Metadatenmerkmal oder Merkmalskombination, entspricht, bestimmt wird. Beispielsweise kann der Prozessor 102 auf eine Nachschlagetabelle oder dergleichen zugreifen, die ein spezielles Gesichtsdetektionsmodell für das Metadatenmerkmal oder die Merkmalskombination referenziert. Eine solche Abbildung von Metadatenmerkmal oder Merkmalskombination auf ein Gesichtsdetektionsmodell kann unter Verwendung irgendeiner geeigneten Technik oder Techniken vorgenommen werden. In einigen Ausführungsformen können das Metadatenmerkmal oder die Merkmalskombination in einen speziellen Metadatenmerkmalsbereich oder -bereiche von Merkmalskombination ausgelagert werden, und das Gesichtsdetektionsmodell, das dem Bereich aus den Bereichen von Merkmalskombination entspricht, kann ausgewählt werden. Beispielsweise kann für einen Zeitstempel von 7:30 Uhr ein Gesichtsdetektionsmodell, das einem Bereich von 6 bis 10 Uhr entspricht, ausgewählt werden.
  • Jedes der Gesichtsdetektionsmodelle kann wie vorstehend mit Bezug auf 4 diskutiert trainiert worden sein, so dass jedes Gesichtsdetektionsmodell mit einer Trainingsmenge, die Bilder aus dem speziellen Merkmalsbereich oder Bereichen von Merkmalskombinationen enthält, trainiert wurde. Beispielsweise können, mit Bezug auf 4, Metadatenmerkmal(e) 402 einen Bereich eines Merkmals (z. B. einen Bereich von Zeit, Orten, Beleuchtungsbedingungen usw.) oder Merkmale angeben, so dass jedes Bild aus der Trainingsmenge von Bildern 401 die Metadatenmerkmal(e) 402 aufweist. Ähnlich können die Metadatenmerkmal(e) 404 einen Bereich eines Merkmals oder von Merkmalen angeben, so dass jedes Bild aus der Trainingsmenge von Bildern 403 die Metadatenmerkmal(e) 404 aufweist, und die Metadatenmerkmal(e) 406 können einen Bereich eines Merkmals oder von Merkmalen angeben, so dass jedes Bild aus der Trainingsmenge von Bildern 405 die Metadatenmerkmal(e) 406 aufweist. In dem Kontext des Beispiels werden drei Gesichtsdetektionsmodelle 411 erzeugt, eines für jede der Trainingsmengen von Bildern 401, 403, 405 und der entsprechenden Metadatenmerkmal(en) 402, 404, 406. Obwohl in Bezug auf drei Trainingsmengen von Bildern 401, 403, 405, entsprechenden Metadatenmerkmal(en) 402, 404, 406 und Gesichtsdetektionsmodellen 411 dargestellt, kann irgendeine Anzahl von Trainingsmengen von Bildern, entsprechenden Metadatenmerkmal(en) und Gesichtsdetektionsmodellen implementiert sein.
  • Die Verarbeitung fährt mit Operation 703 fort, wo das ausgewählte Gesichtsdetektionsmodell als ein aktualisiertes Gesichtsdetektionsmodell in die Mikrosteuereinheit 101 zur Implementierung gespeichert wird. Die Verarbeitung fährt mit Operation 704 fort, wo das ausgewählte Gesichtsdetektionsmodell durch die Mikrosteuereinheit 101 implementiert wird (nach der Initialisierung der Dauerbetrieb-Gesichtsdetektion durch die Mikrosteuereinheit 101 und dem Übergang des Prozessors 102 in eine Ultra-Niederleistungs-, Bereitschafts- oder Niederleistungs-Betriebsart), um ein Gesicht wie hier diskutiert zu detektieren. Die Verarbeitung fährt mit Operation 705 fort, wo nach der Detektion eines Gesichts und dem Hochschalten des Prozessors 102 eine Bestimmung vorgenommen wird, ob eine Metadatenmerkmalsänderung für das System 100 stattgefunden hat. Falls keine Änderung detektiert wird, fährt die Verarbeitung mit Operation 707 fort, wo kontinuierliches Überwachen ausgeführt wird, um zu bestimmen, ob eine Metadatenmerkmalsänderung im System 100 stattfindet. Falls ja fährt die Verarbeitung mit Operation 706 fort, wo ein Gesichtsdetektionsmodell, das dem Metadatenmerkmal oder der Merkmalskombination entspricht, bestimmt und für die Mikrosteuereinheit 101 gespeichert wird, wie mit Bezug auf die Operationen 702, 703 diskutiert ist.
  • 8 ist ein Ablaufdiagramm, das einen Beispielprozess 800 zur Gesichtsdetektion in einer Dauerbetriebs-Architektur darstellt, der in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. Der Prozess 800 kann eine oder mehrere Operationen 801-804 enthalten, wie in 8 dargestellt ist. Der Prozess 800 kann wenigstens einen Teil der Gesichtsdetektions- und Vorrichtungsaufwecktechniken bilden. Als nicht einschränkendes Beispiel kann der Prozess 800 wenigstens einen Teil der Gesichtsdetektions- und Vorrichtungsaufwecktechniken, die durch das System 100 wie hier diskutiert ausgeführt werden, bilden. Darüber hinaus wird der Prozess 800 hier mit Bezug auf das System 900 von 9 beschrieben.
  • 9 ist ein erläuterndes Diagramm eines Beispielsystems 900 zur Gesichtsdetektion in einer Dauerbetriebs-Architektur, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. Wie in 9 gezeigt ist, kann das System 900 einen zentralen Prozessor 901, einen Bildprozessor 902, einen Speicher 903, eine Kamera 904 und eine Dauerbetrieb-Steuereinheit (z. B. die Mikrosteuereinheit) 905 enthalten. Wie ebenfalls gezeigt ist, enthält oder implementiert der zentrale Prozessor 901 ein Gesichtsdurchschnittsbildungsmodul 421, ein Bilddifferenzbildungsmodul 422, ein Eigenvektorbestimmungsmodul 423, ein Hauptkomponentenvektor-Bestimmungsmodul 424, ein Abstandsmessmodul 425 und ein Schwellenwerterzeugungsmodul 426. Die Dauerbetrieb-Steuereinheit 905 enthält oder implementiert einen Gesichtsdetektor 111, einen Speicher 112 und eine Schnittstelle 113. Solche Komponenten oder Module können implementiert sein, um Operationen wie hier diskutiert zu implementieren. Der Speicher 903 kann Bilder, Gesichtsdetektionsmodelle, Gesichtsdetektionsmodellaktualisierungen oder irgendwelche anderen hier diskutierten Daten speichern.
  • Wie gezeigt sind in einigen Beispielen ein oder mehrere aus dem Gesichtsdurchschnittsbildungsmodul 421, dem Bilddifferenzbildungsmodul 422, dem Eigenvektorbestimmungsmodul 423, dem Hauptkomponentenvektor-Bestimmungsmodul 424, dem Abstandsmessmodul 425 und dem Schwellenwerterzeugungsmodul 426 über den zentralen Prozessor 901 implementiert. In anderen Beispielen sind ein oder mehrere Abschnitte des Gesichtsdurchschnittsbildungsmoduls 421, des Bilddifferenzbildungsmoduls 422, des Eigenvektorbestimmungsmoduls 423, des Hauptkomponentenvektor-Bestimmungsmoduls 424, des Abstandsmessmoduls 425 und des Schwellenwerterzeugungsmoduls 426 über den Bildprozessor 902, einen Videoprozessor oder einen Grafikprozessor implementiert. In noch anderen Beispielen sind ein oder mehrere Abschnitte des Gesichtsdurchschnittsbildungsmoduls 421, des Bilddifferenzbildungsmoduls 422, des Eigenvektorbestimmungsmoduls 423, des Hauptkomponentenvektor-Bestimmungsmoduls 424, des Abstandsmessmoduls 425 und des Schwellenwerterzeugungsmoduls 426 über eine Bild- oder Videoverarbeitungs-Pipeline oder -Einheit implementiert.
  • Der Bildprozessor 902 kann irgendeine/n Anzahl und Typ von Grafik-, Bild- oder Videoverarbeitungseinheiten enthalten, die die Operationen wie hier diskutiert bereitstellen können. In einigen Beispielen kann der Bildprozessor 902 ein Bildsignalprozessor sein. Solche Operationen können über Software oder Hardware oder eine Kombination daraus implementiert sein. Beispielsweise kann der Bildprozessor 902 eine Schaltungsanordnung enthalten, die dediziert ist, um Bilddaten, die aus dem Speicher 903 erhalten werden, zu manipulieren. Der zentrale Prozessor 901 kann irgendeine/n Anzahl und Typ von Verarbeitungseinheiten oder Modulen enthalten, die Steuerung und andere Funktionen hoher Ebene für das System 900 bereitstellen können und/oder irgendwelche Operationen wie hier diskutiert bereitstellen können. Der Speicher 903 kann irgendein Typ eines Speichers sein, wie z. B. flüchtiger Speicher (z. B. statischer Direktzugriffsspeicher (SRAM), dynamischer Direktzugriffsspeicher (DRAM) usw.) oder nichtflüchtiger Speicher (z. B. Flash-Speicher usw.) und so weiter. In einem nicht einschränkenden Beispiel kann der Speicher 903 durch Cache-Speicher implementiert sein.
  • In einer Ausführungsform sind ein oder mehrere Abschnitte des Gesichtsdurchschnittsbildungsmoduls 421, des Bilddifferenzbildungsmoduls 422, des Eigenvektorbestimmungsmoduls 423, des Hauptkomponentenvektor-Bestimmungsmoduls 424, des Abstandsmessmoduls 425 und des Schwellenwerterzeugungsmoduls 426 über eine Ausführungseinheit (EU) des Bildprozessors 902 implementiert. Die EU kann beispielsweise programmierbare Logik oder Schaltungsanordnung wie z. B. einen Logik-Kern oder Kerne enthalten, die eine große Gruppe von programmierbaren Logikfunktionen bereitstellen können. In einer Ausführungsform sind ein oder mehrere Abschnitte des Gesichtsdurchschnittsbildungsmoduls 421, des Bilddifferenzbildungsmoduls 422, des Eigenvektorbestimmungsmoduls 423, des Hauptkomponentenvektor-Bestimmungsmoduls 424, des Abstandsmessmoduls 425 und des Schwellenwerterzeugungsmoduls 426 über dedizierte Hardware wie z. B. Schaltungsanordnung mit fester Funktion oder dergleichen implementiert. Die Schaltungsanordnung mit fester Funktion kann dedizierte Logik oder Schaltungsanordnung enthalten und kann eine Gruppe von Eintrittspunkten mit fester Funktion enthalten, die auf die dedizierte Logik für einen festen Zweck oder eine feste Funktion abbilden können. In einigen Ausführungsformen können ein oder mehrere Abschnitte des Gesichtsdurchschnittsbildungsmoduls 421, des Bilddifferenzbildungsmoduls 422, des Eigenvektorbestimmungsmoduls 423, des Hauptkomponentenvektor-Bestimmungsmoduls 424, des Abstandsmessmoduls 425 und des Schwellenwerterzeugungsmoduls 426 über eine anwendungsspezifische integrierte Schaltung (ASIC) implementiert sein. Die ASIC kann eine integrierte Schaltungsanordnung enthalten, die angepasst ist, um die hier diskutierten Operationen auszuführen. Die Kamera 904 kann irgendeine Kamera enthalten, die ein/en geeignetes/n Objektiv und Bildsensor und/oder zugehörige Hardware zum Aufnehmen von Bildern oder Video aufweist.
  • Zurück zur Diskussion von 8 beginnt der Prozess 800 in Operation 801, wo ein erstes Gesichtsdetektionsmodell auf einem Bild mit geringer Auflösung unter Verwendung einer Mikrosteuereinheit, die an einem ersten Leistungspegel arbeitet, implementiert wird. In einer Ausführungsform stellt die Mikrosteuereinheit in Reaktion auf eine positive Gesichtsdetektion, die dem ersten Bild mit geringer Auflösung entspricht, ein Gesichtsdetektionssignal bereit. Das erste Gesichtsdetektionsmodell kann irgendein geeignetes Modell sein. In einer Ausführungsform ist das erste Gesichtsdetektionsmodell ein Hauptkomponentenanalyse-Gesichtsdetektionsmodell. Darüber hinaus kann der erste Leistungspegel irgendeine geeignete Leistung sein. In einer Ausführungsform ist der Leistungspegel nicht höher als 10 mW.
  • Die Verarbeitung fährt mit Operation 802 fort, wobei ein Prozessor, der von der Mikrosteuereinheit physikalisch getrennt ist, in Reaktion auf das Gesichtsdetektionssignal ein zweites Gesichtsdetektionsmodell auf einem Bild mit hoher Auflösung an einem zweiten Leistungspegel höher als der erste Leistungspegel implementiert, um das Gesichtsdetektionssignal zu validieren. Das zweite Gesichtsdetektionsmodell kann irgendein geeignetes Modell sein. In einer Ausführungsform ist das zweite Gesichtsdetektionsmodell ein Hauptkomponentenanalyse-Gesichtsdetektionsmodell. In einer Ausführungsform ist das zweite Gesichtsdetektionsmodell ein Gesichtsdetektionsmodell mit einem neuronalen Faltungsnetz. Der zweite Leistungspegel kann irgendeine geeignete Leistung sein. In einer Ausführungsform ist der zweite Leistungspegel nicht niedriger als 0,5 W.
  • Die Verarbeitung fährt mit Operation 803 fort, wo der Prozessor eine Aktualisierung für das erste Gesichtsdetektionsmodell basierend wenigstens teilweise auf der Validierung erzeugt. In einer Ausführungsform wird die Gesichtsdetektion als eine positive Gesichtsdetektion validiert, und der Prozessor erzeugt die Aktualisierung für das erste Gesichtsdetektionsmodell durch Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung des Trainingskörpers, der mehrere validierte Bilder enthält (z. B. Bilder, die als positive Gesichtsdetektionen validiert sind), die ein Bild enthalten, das dem Bild mit hoher Auflösung (z. B. einer heruntergesampelten Version des Bild mit hoher Auflösung) entspricht, so dass die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell enthält. In einer Ausführungsform dient der Prozessor zum Trainieren des dritten Gesichtsdetektionsmodells in Reaktion darauf, dass eine Schwellenwertanzahl von Gesichtsdetektionssignalen von der Mikrosteuereinheit erfüllt ist.
  • In einer Ausführungsform wird die Gesichtsdetektion als eine falsch positive Gesichtsdetektion invalidiert, und der Prozessor erzeugt die Aktualisierung für das erste Gesichtsdetektionsmodell durch Bestimmen eines dritten Gesichtsdetektionsmodells, das ein negatives Gesichtsdetektionsergebnis aufweist, das dem Bild mit hoher Auflösung entspricht, so dass die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell enthält. In einer Ausführungsform besteht das dritte Gesichtsdetektionsmodell aus einem aktualisierten Schwellenwert für das erste Gesichtsdetektionsmodell.
  • In einer Ausführungsform erzeugt der Prozessor die Aktualisierung für das erste Gesichtsdetektionsmodell durch Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder mit einem oder mehreren gemeinsamen Metadatenmerkmalen umfasst, so dass die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst. In einer Ausführungsform dient der Prozessor zum Speichern der Aktualisierung in Reaktion darauf, dass das eine oder die mehreren gemeinsamen Metadatenmerkmale für das System detektiert werden. In einer Ausführungsform enthalten das eine oder die mehreren gemeinsamen Metadatenmerkmale eines aus einer Tageszeit, einer Bildaufnahmebedingung oder einem geographischen Ort der mehreren validierten Bilder.
  • In einer Ausführungsform erzeugt der Prozessor die Aktualisierung für das erste Gesichtsdetektionsmodell durch Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder enthält, die in Reaktion auf eine Anwenderanforderung aufgenommen werden, so dass die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell enthält.
  • Die Verarbeitung fährt mit Operation 804 fort, wo der Prozessor die Aktualisierung für das erste Gesichtsdetektionsmodell für die Mikrosteuereinheit speichert. In einer Ausführungsform speichert der Prozessor die Aktualisierung durch Senden der Aktualisierung zu der Mikrosteuereinheit. In einer Ausführungsform speichert der Prozessor die Aktualisierung dadurch, dass er ermöglicht, dass die Mikrosteuereinheit die Aktualisierung von dem Prozessor abruft.
  • Verschiedene Komponenten der hier beschriebenen Systeme können in Software, Firmware und/oder Hardware und/oder irgendeiner Kombination daraus implementiert sein. Beispielsweise können verschiedene Komponenten der Systeme, die hier diskutiert sind, wenigstens teilweise durch Hardware eines Berechnungs-Ein-Chip-Systems (Berechnungs-SoC) bereitgestellt sein, wie es z. B. in einem Berechnungssystem zu finden ist, wie z. B. einem Smartphone. Fachleute können erkennen, dass hier beschriebene Systeme zusätzliche Komponenten enthalten können, die in den entsprechenden Figuren nicht abgebildet worden sind. Beispielsweise können die hier diskutierten Systeme zusätzliche Komponenten enthalten, wie z. B. Kommunikations-Module und dergleichen, die im Interesse der Deutlichkeit nicht abgebildet worden sind.
  • Obwohl die Implementierung in den hier diskutierten Beispielprozessen das Durchführen aller gezeigten Operationen in der dargestellten Reihenfolge enthalten kann, ist die vorliegende Offenbarung in dieser Hinsicht nicht beschränkt, und in verschiedenen Beispielen kann die Implementierung der Beispielprozesse hier nur eine Teilmenge der gezeigten Operationen, dass die Operationen in einer anderen als der gezeigten Reihenfolge ausgeführt werden, oder zusätzliche Operationen enthalten.
  • Zusätzlich können eine oder mehrere der hier diskutierten Operationen in Reaktion auf Anweisungen, die durch ein oder mehrere Computerprogrammprodukte bereitgestellt sind, durchgeführt werden. Solche Programmprodukte können Signalführungsmedien enthalten, die Anweisungen bereitstellen, die dann, wenn sie ausgeführt werden, beispielsweise durch einen Prozessor, die hier beschriebene Funktionalität bereitstellen können. Die Computerprogrammprodukte können in irgendeiner Form aus einem oder mehreren maschinenlesbaren Medien bereitgestellt sein. Somit kann beispielsweise ein Prozessor, der eine/n oder mehrere Grafikverarbeitungseinheit(en) oder Prozessorkern(e) enthalten kann, einen oder mehrere der Blöcke der Beispielprozesse hier in Reaktion auf Programmcode und/oder Befehle oder Befehlssätze, die durch ein oder mehrere maschinenlesbare Medien zu dem Prozessor befördert werden, durchführen. Im Allgemeinen kann ein maschinenlesbares Medium Software in der Form von Programmcode und/oder Befehlen oder Befehlssätzen transportieren, die bewirken können, dass irgendeine der Vorrichtungen und/oder Systeme, die hier beschrieben sind, wenigstens Abschnitte der hier diskutierten Operationen und/oder irgendwelche Abschnitte der hier diskutierten Systeme oder irgendein/e andere/s Modul oder Komponente, wie hier beschrieben, implementieren..
  • Wie in irgendeiner hier beschriebenen Implementierung verwendet bezieht sich der Begriff „Modul“ oder „Komponente“ auf irgendeine Kombination aus Software-Logik, Firmware-Logik, Hardware-Logik und/oder Schaltungsanordnung, die konfiguriert ist, die hier beschriebene Funktionalität bereitzustellen. Die Software kann als ein Software-Paket, Code und/oder Befehlssatz oder Befehle verwirklicht sein, und „Hardware“, wie sie in irgendeiner hier beschriebenen Implementierung verwendet ist, kann beispielsweise, einzeln oder in irgendeiner Kombination, fest verdrahtete Schaltungsanordnung, programmierbare Schaltungsanordnung, Zustandsautomaten-Schaltungsanordnung, Schaltungsanordnung mit fester Funktion, Ausführungseinheit-Schaltungsanordnung und/oder Firmware, die Befehle speichert, die durch eine programmierbare Schaltungsanordnung ausgeführt werden, enthalten. Die Module können, gemeinsam oder individuell, als eine Schaltungsanordnung verwirklicht sein, die einen Teil eines größeren Systems bildet, beispielsweise eine integrierte Schaltung (IC), ein Ein-Chip-System (SoC) und so weiter.
  • 10 ist ein erläuterndes Diagramm eines Beispielsystems 1000, das in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. In verschiedenen Implementierungen kann das System 1000 ein mobiles System sein, obwohl das System 1000 in diesem Kontext nicht beschränkt ist. Das System 1000 kann irgendwelche hier diskutierten Module oder Techniken implementieren und/oder ausführen. Beispielsweise kann das System 1000 in einen Personalcomputer (PC), einen Server, einen Laptop-Computer, einen Ultra-Laptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Hand-Computer, einen Palmtop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Mobiltelefon, eine Kombination Mobiltelefon/PDA, ein Fernsehgerät, eine intelligente Vorrichtung (z. B. Smartphone, Smart-Tablet oder Smart-Fernsehgerät), eine Vorrichtung für mobiles Internet (MID), eine Nachrichtenübermittlungsvorrichtung, eine Datenkommunikationsvorrichtung, Kameras (z. B. Kompaktkamera, Super-Zoom-Kameras, digitale Einzelobjektiv-Reflex- (DSLR-) Kameras) und so weiter integriert sein. In einigen Beispielen kann das System 1000 über eine Cloudcomputing-Umgebung implementiert sein.
  • In verschiedenen Implementierungen enthält das System 1000 eine Plattform 1002, die mit einer Anzeigevorrichtung 1020 gekoppelt ist. Die Plattform kann Inhalt von einer Inhaltsvorrichtung wie z. B. (einer) Inhaltsdienstvorrichtung(en) 1030 oder Inhaltszustellungsvorrichtung(en) 1040 oder anderen ähnlichen Inhaltsquellen empfangen. Eine Navigationssteuereinheit 1050, die ein oder mehrere Navigationsmerkmale enthält, kann verwendet werden, um beispielsweise mit der Plattform 1002 und/oder der Anzeigevorrichtung 1020 zusammenzuwirken. Jede dieser Komponenten ist nachstehend genauer beschrieben.
  • In verschieden Implementierungen kann die Plattform 1002 irgendeine Kombination aus einem Chipsatz 1005, einem Prozessor 1010, einem Speicher 1012, einer Antenne 1013, einer Speichereinrichtung 1014, einem Grafikteilsystem 1015, Anwendungen 1016 und/oder Funkvorrichtung 1018 enthalten. Der Chipsatz 1005 kann die Kommunikation zwischen dem Prozessor 1010, dem Speicher 1012, der Speichervorrichtung 1014, dem Grafikteilsystem 1015, den Anwendungen 1016 und/oder der Funkvorrichtung 1018 bereitstellen. Beispielsweise kann der Chipsatz 1005 einen Speicheradapter (nicht abgebildet) enthalten, der zum Bereitstellen von Kommunikation mit der Speichereinrichtung 1014 fähig ist.
  • Der Prozessor 1010 kann als „Complex Instruction Set Computer“- (CISC-) oder „Reduced Instruction Set Computer“- (RISC-) Prozessoren, mit dem x86-Befehlssatz kompatible Prozessoren, Mehrkern- oder irgendein anderer Mikroprozessor oder zentrale Verarbeitungseinheit (CPU) implementiert sein. In verschiedenen Implementierungen kann der Prozessor 1010 ein Zweikern-Prozessor(en), mobile Zweikern-Prozessor(en) und so weiter sein.
  • Der Speicher 1012 kann als eine flüchtige Speichervorrichtung wie z. B., ohne darauf beschränkt zu sein, ein Direktzugriffsspeicher (RAM), dynamischer Direktzugriffsspeicher (DRAM) oder statischer RAM (SRAM) implementiert sein.
  • Die Speichereinrichtung 1014 kann als eine nichtflüchtige Speichereinrichtung wie z. B., ohne darauf beschränkt zu sein, ein Magnetplattenlaufwerk, ein optisches Plattenlaufwerk, ein Bandlaufwerk, eine interne Speichervorrichtung, eine angeschlossene Speichervorrichtung, Flash-Speicher, batteriegestützter SDRAM (synchroner DRAM) und/oder über ein Netz zugängliche Speichervorrichtung sein. In verschiedenen Implementierungen kann die Speichereinrichtung 1014 Technologie enthalten, um den durch Speicherleistung verbesserten Schutz für wertvolle digitale Medien zu erhöhen, beispielsweise wenn mehrere Festplattenlaufwerke enthalten sind.
  • Der Bildsignalprozessor 1017 kann als ein spezialisierter digitaler Signalprozessor oder dergleichen, der zur Bild- oder Videorahmenverarbeitung verwendet wird, implementiert sein. In einigen Beispielen kann der Bildsignalprozessor 1017 basierend auf einer Ein-Befehl-mehrere-Daten- oder Mehrere-Befehle-mehrere-Daten-Architektur oder dergleichen implementiert sein. In einigen Beispielen kann der Bildsignalprozessor 1017 als ein Medienprozessor charakterisiert sein. Wie hier diskutiert kann der Bildsignalprozessor 1017 basierend auf einer Ein-Chip-System-Architektur und/oder basierend auf einer Mehrkern-Architektur implementiert sein.
  • Das Grafikteilsystem 1015 kann Verarbeitung von Bildern wie z. B. Standbild oder Video zur Anzeige ausführen. Das Grafikteilsystem 1015 kann beispielsweise eine Grafikverarbeitungseinheit (GPU) oder eine visuelle Verarbeitungseinheit (VPU) sein. Eine analoge oder digitale Schnittstelle kann verwendet werden, um das Grafikteilsystem 1015 und die Anzeigevorrichtung 1020 kommunikationstechnisch zu koppeln. Beispielsweise kann die Schnittstelle irgendeine aus einer hochauflösenden Multimedia-Schnittstelle, DisplayPort, drahtloses HDMI und/oder drahtlose HD-konforme Techniken sein. Das Grafikteilsystem 1015 kann in den Prozessor 1010 oder den Chipsatz 1005 integriert sein. In einigen Implementierungen kann das Grafikteilsystem 1015 eine eigenständige Vorrichtung sein, die mit dem Chipsatz 1005 kommunikationstechnisch gekoppelt ist.
  • Die Grafik- und/oder Videoverarbeitungstechniken, die hier beschrieben sind, können in verschiedenen Hardware-Architekturen implementiert sein. Beispielsweise kann die Grafik- und/oder Videofunktionalität innerhalb eines Chipsatzes integriert sein. Alternativ kann ein diskreter Grafik- und/oder Videoprozessor verwendet werden. In noch einer weiteren Implementierung können die Grafik- und/oder Videofunktionen durch einen Allzweckprozessor, der einen Mehrkernprozessor enthält, bereitgestellt sein. In weiteren Ausführungsformen können die Funktionen in einem Unterhaltungsgerät implementiert sein.
  • Die Funkvorrichtung 1018 kann eine oder mehrere Funkvorrichtungen enthalten, die zum Senden und Empfangen von Signalen unter Verwendung verschiedener geeigneter drahtloser Kommunikationstechniken fähig sind. Solche Techniken können die Kommunikation über ein oder mehrere drahtlose Netze einbeziehen. Beispielhafte drahtlose Netze enthalten (ohne jedoch darauf beschränkt zu sein) drahtlose lokale Netze (WLANs), drahtlose persönliche Netze (WPANs), drahtlose Regionalnetze (WMANs), Mobilfunknetze und Satellitennetze. Beim Kommunizieren über solche Netze kann die Funkvorrichtung 1018 in Übereinstimmung mit einem oder mehreren anwendbaren Standards in irgendeiner Version arbeiten.
  • In verschiedenen Implementierungen kann die Anzeigevorrichtung 1020 irgendeine/n Monitor vom Fernsehtyp oder Anzeigevorrichtung enthalten. Die Anzeigevorrichtung 1020 kann beispielsweise einen Computer-Anzeigebildschirm, eine Anzeigevorrichtung mit berührungssensitivem Bildschirm, einen Videomonitor, eine fernsehgerätähnliche Vorrichtung und/oder ein Fernsehgerät enthalten. Die Anzeigevorrichtung 1020 kann digital und/oder analog sein. In verschiedenen Implementierungen kann die Anzeigevorrichtung 1020 eine holografische Anzeigevorrichtung sein. Außerdem kann die Anzeigevorrichtung 1020 eine transparente Oberfläche sein, die eine visuelle Projektion empfangen kann. Solche Projektionen können verschiedene Formen von Informationen, Bildern und/oder Objekten transportieren. Beispielsweise können solche Projektionen eine visuelle Überlagerung für eine Anwendung für mobile erweiterte Realität (MAR) sein. Unter der Steuerung einer oder mehrerer Software-Anwendungen 1016 kann die Plattform 1002 eine Anwenderschnittstelle 1022 auf der Anzeigevorrichtung 1020 anzeigen.
  • In verschiedenen Implementierungen können Inhaltsdienstvorrichtung(en) 1030 durch irgendeinen nationalen, internationalen und/oder unabhängigen Dienst gehostet sein und somit für die Plattform 1002 beispielsweise über das Internet zugänglich sein. Inhaltsdienstvorrichtung(en) 1030 können mit der Plattform 1002 und/oder mit der Anzeigevorrichtung 1020 gekoppelt sein. Die Plattform 1002 und/oder die Inhaltsdienstvorrichtung(en) 1030 können mit einem Netz 1060 gekoppelt sein, um Medieninformationen zu und von dem Netz 1060 zu kommunizieren (z. B. zu senden und/oder zu empfangen). Inhaltszustellungsvorrichtung(en) 1040 können auch mit der Plattform 1002 und/oder mit der Anzeigevorrichtung 1020 gekoppelt sein.
  • In verschiedenen Implementierungen können Inhaltsdienstvorrichtung(en) 1030 eine Kabelfernseh-Box, einen Personalcomputer, Netz-, Telefon-, Internet-unterstützte Vorrichtungen oder Geräte, die zum Zustellen digitaler Informationen und/oder Inhalt fähig sind, und irgendeine andere ähnliche Vorrichtung, die zum unidirektionalen oder bidirektionalen Kommunizieren von Inhalt zwischen Inhaltsanbietern und der Plattform 1002 und/oder der Anzeigevorrichtung 1020 über das Netz 1060 oder direkt fähig sind, enthalten. Es ist zu verstehen, dass der Inhalt unidirektional und/oder bidirektional zu und von irgendeiner der Komponenten in dem System 1000 und einem Inhaltsanbieter über das Netz 1060 kommuniziert werden kann. Beispiele für den Inhalt können irgendwelche Medieninformationen enthalten, die beispielsweise Video, Musik, medizinische und Spiele-Informationen und so weiter enthalten.
  • Inhaltsdienstvorrichtung(en) 1030 können den Inhalt wie z.B. ein Kabelfernsehprogramm, das Medieninformationen enthält, digitale Informationen und/oder anderen Inhalt empfangen. Beispiele für Inhaltsanbieter können irgendwelche Kabel- oder Satellitenfernsehen- oder Radio- oder Internet-Inhaltsanbieter enthalten. Die bereitgestellten Beispiele bedeuten nicht, dass sie die Implementierungen in Übereinstimmung mit der vorliegenden Offenbarung auf irgendeine Weise einschränken.
  • In verschiedenen Implementierungen kann die Plattform 1002 Steuersignale von der Navigationssteuereinheit 1050 empfangen, die eine oder mehrere Navigationsmerkmale aufweisen. Die Navigationsmerkmale der Navigationssteuereinheit 1050 können beispielsweise verwendet werden, um mit der Anwenderschnittstelle 1022 zusammenzuwirken. In verschiedenen Ausführungsformen kann die Navigationssteuereinheit 1050 eine Zeigevorrichtung sein, die eine Computer-Hardware-Komponente (insbesondere eine Vorrichtung für eine menschliche Schnittstelle) sein kann, die es einem Anwender ermöglicht, räumliche (z. B. kontinuierliche und mehrdimensionale) Daten in einen Computer einzugeben. Viele Systeme wie z. B. grafische Anwenderschnittstellen (GUI) und Fernsehgeräte und Monitore ermöglichen es dem Anwender, den Computer oder das Fernsehgerät unter Verwendung physischer Gesten zu steuern und Daten dafür bereitzustellen.
  • Bewegungen der Navigationsmerkmale der Navigationssteuereinheit 1050 können auf einer Anzeigevorrichtung (z. B. der Anzeigevorrichtung 1020) durch Bewegungen eines Zeigers, eines Cursors, eines Fokusrings oder anderer visueller Kennzeichen, die auf der Anzeigevorrichtung angezeigt werden, repliziert werden. Beispielsweise können beispielsweise unter der Steuerung von Software-Anwendungen 1016 die Navigationsmerkmale, die sich auf der Navigationssteuereinheit 1050 befinden, auf virtuelle Navigationsmerkmale, die auf der Anwenderschnittstelle 1022 angezeigt werden, abgebildet sein. In verschiedenen Ausführungsformen, kann die Navigationssteuereinheit 1050 keine separate Komponente sein, sondern in die Plattform 1002 und/oder die Anzeigevorrichtung 1020 integriert sein. Die vorliegende Offenbarung ist jedoch nicht auf die Elemente oder auf den Kontext, die hier gezeigt oder beschrieben sind, beschränkt.
  • In verschiedenen Implementierungen können Treiber (nicht gezeigt) Technologie enthalten, die es beispielsweise Anwendern ermöglichen, die Plattform 1002 wie z. B. ein Fernsehgerät mit dem Berühren einer Taste nach dem initialen Hochlaufen sofort an- und abschalten, wenn das aktiviert ist. Programmlogik kann es ermöglichen, dass die Plattform 1002 Inhalt zu Medienadaptern oder anderen Inhaltsdienstvorrichtung(en) 1030 oder Inhaltszustellungsvorrichtung(en) 1040 streamt, selbst wenn die Plattform „abgeschaltet“ ist. Zusätzlich kann der Chipsatz 1005 kann beispielsweise Hardware und/oder Software-Unterstützung für 5.1-Raumklang-Audio und/oder hochauflösendes 7.1-Raumklang-Audio enthalten. Treiber können einen Grafiktreiber für integrierte Grafikplattformen enthalten. In verschiedenen Ausführungsformen kann der Grafiktreiber eine „Peripheral Component Interconnect“- (PCI-) Express-Grafikkarte enthalten.
  • In verschiedenen Implementierungen können irgendeine oder mehrere der Komponenten, die in dem System 1000 gezeigt sind, integriert sein. Beispielsweise können die Plattform 1002 und die Inhaltsdienstvorrichtung(en) 1030 integriert sein, oder die Plattform 1002 und die Inhaltszustellungsvorrichtung(en) 1040 können integriert sein, oder die Plattform 1002, die Inhaltsdienstvorrichtung(en) 1030 und die Inhaltszustellungsvorrichtung(en) 1040 können beispielsweise integriert sein. In verschiedenen Ausführungsformen können die Plattform 1002 und die Anzeigevorrichtung 1020 eine integrierte Einheit sein. Die Anzeigevorrichtung 1020 und die Inhaltsdienstvorrichtung(en) 1030 können integriert sein, oder die Anzeigevorrichtung 1020 und die Inhaltszustellungsvorrichtung(en) 1040 können beispielsweise integriert sein. Diese Beispiele bedeuten nicht, dass sie die vorliegende Offenbarung einschränken.
  • In verschiedenen Ausführungsformen kann das System 1000 als eine drahtloses System, ein drahtgebundenes System oder eine Kombination aus beiden implementiert sein. Wenn es als ein drahtloses System implementiert ist, kann das System 1000 Komponenten und Schnittstellen enthalten, die zum Kommunizieren über ein drahtloses gemeinsam verwendetes Medium geeignet sind, wie z. B. eine oder mehrere Antennen, Sender, Empfänger, Sender/Empfänger, Verstärker, Filter, Steuerlogik und so weiter. Ein Beispiel für drahtlose gemeinsam verwendete Medien kann Abschnitte eines drahtlosen Spektrums, wie z. B. des RF-Spektrums, und so weiter enthalten. Wenn es als ein drahtgebundenes System implementiert ist, kann das System 1000 Komponenten und Schnittstellen enthalten, die zum Kommunizieren über drahtgebundene Kommunikationsmedien geeignet sind, wie z. B. Eingabe/Ausgabe- (I/O-) Adapter, physikalische Verbindungselemente zum Verbinden des I/O-Adapters mit einem entsprechenden drahtgebundenen Kommunikationsmedium, eine Netzschnittstellenkarte (NIC), eine Plattensteuereinheit, eine Videosteuereinheit, eine Audiosteuereinheit und dergleichen. Beispiele für drahtgebundene Kommunikationsmedien können eine Leitung, ein Kabel, Metallleitungen, eine Leiterplatte (PCB), eine Rückwandplatine, ein Schalt-Fabric, Halbleitermaterial, eine Zweidrahtleitung, ein Koaxialkabel, Lichtwellenleiter und so weiter enthalten.
  • Die Plattform 1002 kann einen oder mehrere logische oder physikalische Kanäle aufbauen, um Informationen zu kommunizieren. Die Informationen können Medieninformationen und Steuerinformationen enthalten. Medieninformationen können sich auf irgendwelche Daten beziehen, die für einen Anwender bestimmten Inhalt repräsentieren. Beispiele für Inhalt können beispielsweise Daten aus einer Sprachkonversation, einer Videokonferenz, einem Streaming-Video, einer Nachricht der elektronischen Post („Email“), eine Sprachnachricht, alphanumerische Symbole, Grafik, Bild, Video, Text und so weiter enthalten. Daten aus einer Sprachkonversation können beispielsweise Sprachinformationen, Sprechpausen, Hintergrundgeräusche, Beruhigungsgeräusche, Töne und so weiter sein. Steuerinformationen können sich auf irgendwelche Daten beziehen, die Befehle, Anweisungen und Steuerwörter, die für ein automatisiertes System bestimmt sind, repräsentieren. Beispielsweise können die Steuerinformationen verwendet werden, um Medieninformationen durch das System zu leiten oder einen Knoten anzuweisen, die Medieninformationen auf eine vorbestimmte Weise zu verarbeiten. Die Ausführungsformen sind jedoch nicht auf die Elemente oder den Kontext, die in 10 gezeigt oder beschrieben sind, beschränkt.
  • Wie vorstehend beschrieben kann das System 1000 in variierenden physikalischen Bauarten oder Formfaktoren verwirklicht sein. 11 stellt eine beispielhafte Vorrichtung 1100 mit kleinem Formfaktor dar, die in Übereinstimmung mit wenigstens einigen Implementierungen der vorliegenden Offenbarung ausgelegt ist. In einigen Beispielen kann das System 1000 über die Vorrichtung 1100 implementiert sein. In anderen Beispielen können andere hier diskutierte Systeme oder Abschnitte davon über die Vorrichtung 1100 implementiert sein. In verschiedenen Ausführungsformen kann beispielsweise die Vorrichtung 1100 als eine mobile Berechnungsvorrichtung, die Drahtlosfähigkeiten aufweist, implementiert sein. Eine mobile Berechnungsvorrichtung kann sich auf irgendeine Vorrichtung beziehen, die ein Verarbeitungssystem und eine mobile Energiequelle oder -versorgung, wie beispielsweise eine oder mehrere Batterien, aufweist.
  • Beispiele einer mobilen Berechnungsvorrichtung können einen Personalcomputer (PC), einen Laptop-Computer, einen Ultra-Laptop-Computer, ein Tablet, ein Touchpad, einen tragbaren Computer, einen Hand-Computer, einen Palmtop-Computer, einen persönlichen digitalen Assistenten (PDA), ein Mobiltelefon, eine Kombination Mobiltelefon/PDA, eine intelligente Vorrichtung (z. B. Smartphone, Smart-Tablet oder intelligentes mobiles Fernsehgerät), eine Vorrichtung für mobiles Internet (MID), eine Nachrichtenübermittlungsvorrichtung, eine Datenkommunikationsvorrichtung, Kameras (z. B. Kompaktkamera, Super-Zoom-Kameras, digitale Einzelobjektiv-Reflex- (DSLR-) Kameras) und so weiter enthalten.
  • Beispiele für eine mobile Berechnungsvorrichtung können ebenfalls Computer enthalten, die ausgelegt sind, um von einer Person getragen zu werden, wie z. B. Handgelenk-Computer, Finger-Computer, Brillen-Computer, Gürtelklip-Computer, Armband-Computer, Schuh-Computer, Kleidungs-Computer und andere tragbare Computer. In verschiedenen Ausführungsformen kann beispielsweise eine mobile Berechnungsvorrichtung als ein Smartphone implementiert sein, das sowohl zum Ausführen von Computer-Anwendungen als auch zur Sprachkommunikation und/oder Datenkommunikation fähig ist. Obwohl einige Ausführungsformen mit einer mobilen Berechnungsvorrichtung, die als ein Smartphone implementiert ist, als Beispiel beschrieben sein können, ist zu erkennen, dass andere Ausführungsformen auch unter Verwendung anderer drahtloser mobiler Berechnungsvorrichtungen implementiert sein können. Die Ausführungsformen sind in diesem Kontext nicht eingeschränkt.
  • Wie in 11 gezeigt ist, kann die Vorrichtung 1100 ein Gehäuse mit einer Vorderseite 1101 und einer Rückseite 1102 enthalten. Die Vorrichtung 1100 enthält eine Anzeigevorrichtung 1104, eine Eingabe/Ausgabe- (I/O-) Vorrichtung 1106, eine Kamera 1115, eine Kamera 1105 und eine integrierte Antenne 1108. Die Vorrichtung 1100 kann außerdem Navigationsmerkmale 1112 enthalten. Die I/O-Vorrichtung 1106 kann irgendeine geeignete I/O-Vorrichtung zum Eingeben von Informationen in eine mobile Berechnungsvorrichtung enthalten. Beispiele für die I/O-Vorrichtung 1106 können eine alphanumerische Tastatur, ein numerisches Tastenfeld, ein Touchpad, Eingabetasten, Knöpfe, Schalter, Mikrofone, Lautsprecher, eine Spracherkennungsvorrichtung und Software und so weiter enthalten. Informationen können außerdem mit Hilfe eines Mikrofons (nicht gezeigt) in die Vorrichtung 1100 eingegeben werden oder können durch eine Spracherkennungsvorrichtung digitalisiert werden. Wie gezeigt kann die Vorrichtung 1100 die Kamera 1105 und einen Blitz 1110, die in die Rückseite 1102 (oder an anderer Stelle) der Vorrichtung 1100 integriert sind, und eine Kamera 1115, die in die Vorderseite 1101 der Vorrichtung 1100 integriert ist, enthalten. In einigen Ausführungsformen können eine der oder beide Kameras 1115, 1105 in Bezug auf die Anzeigevorrichtung 1104 beweglich sein. Die Kamera 1115 und die Kamera 1105 können Komponenten eines Bildaufnahmemoduls oder einer Pipeline sein, um Farbbilddaten zu erzeugen, die in Streaming-Video verarbeitet werden, das zu der Anzeigevorrichtung 1104 ausgegeben und/oder beispielsweise entfernt von der Vorrichtung 1100 über die Antenne 1108 kommuniziert wird. Beispielsweise kann die Kamera 1115 Eingabebilder aufnehmen, und über Augenkontakt korrigierte Bilder können für die Anzeigevorrichtung 1104 bereitgestellt und/oder entfernt von der Vorrichtung 1100 über die Antenne 1108 kommuniziert werden.
  • Verschiedene Ausführungsformen können unter Verwendung von Hardware-Elementen, Software-Elementen oder einer Kombination aus beiden implementiert sein. Beispiele für Hardware-Elemente können Prozessoren, Mikroprozessoren, Schaltungen, Schaltungselemente (z. B. Transistoren, Widerstände, Kondensatoren, Induktivitäten und so weiter), integrierte Schaltungen, anwendungsspezifische integrierte Schaltungen (ASIC), programmierbare Logikvorrichtungen (PLD), digitale Signalprozessoren (DSP), feldprogrammierbares Gatter-Array (FPGA), Logik-Gatter, Register, Halbleitervorrichtung, Chips, Mikrochips, Chipsätze und so weiter enthalten. Beispiele für Software können Software-Komponenten, Programme Anwendungen, Computerprogramme Anwendungsprogramme, Systemprogramme, Maschinenprogramme, Betriebssystem-Software, Middleware, Firmware, Software-Module, Routinen, Subroutinen, Funktionen, Methoden, Prozeduren, Software-Schnittstellen, Anwendungsprogrammschnittstellen (API), Befehlssätze, Rechencode, Berechnungscode, Codesegmente, Computercodesegmente, Wörter, Werte, Symbole oder irgendeine Kombination daraus enthalten. Das Bestimmen, ob eine Ausführungsform unter Verwendung von Hardware-Elementen und/oder Software-Elementen implementiert wird, kann in Übereinstimmung mit einer Anzahl von Faktoren variieren, wie z. B. der gewünschten Rechengeschwindigkeit, Leistungspegeln, Wärmetoleranzen, Verarbeitungszyklusbudget, Eingangsdatenraten, Ausgabedatenraten, Speicherbetriebsmittel, Datenbusgeschwindigkeiten und anderen Konstruktions- oder Leistungsfähigkeitseinschränkungen.
  • Ein oder mehrere Aspekte wenigstens einer Ausführungsform können durch repräsentative Anweisungen implementiert sein, die auf eine maschinenlesbaren Medium gespeichert sind, das verschiedene Logik innerhalb des Prozessors repräsentiert, die dann, wenn sie durch eine Maschine gelesen werden, bewirken, dass die Maschine Logik zum Ausführen der hier beschriebenen Techniken herstellt. Solche Repräsentationen, als IP-Kerne bezeichnet, können auf einem greifbaren, maschinenlesbaren Medium gespeichert und verschiedenen Kunden oder Produktionsanlagen zugeführt werden, um in die Herstellungsmaschinen geladen zu werden, die die Logik oder den Prozessor tatsächlich herstellen.
  • Die Erfindung wird unter anderem durch die folgenden Bestimmungen offenbart:
    1. 1. System, das Folgendes umfasst:
      • eine Mikrosteuereinheit zum Implementieren, an einem ersten Leistungspegel, eines ersten Gesichtsdetektionsmodells auf einem Bild mit geringer Auflösung, wobei die Mikrosteuereinheit zum Bereitstellen eines Gesichtsdetektionssignals in Reaktion auf eine positive Gesichtsdetektion, die dem ersten Bild mit geringer Auflösung entspricht, dient; und
      • einen Prozessor, der mit der Mikrosteuereinheit gekoppelt ist, wobei der Prozessor dazu dient, in Reaktion auf das Gesichtsdetektionssignal, an einem zweiten Leistungspegel höher als der erste Leistungspegel ein zweites Gesichtsdetektionsmodell auf einem Bild mit hoher Auflösung zu implementieren, um das Gesichtsdetektionssignal zu validieren, eine Aktualisierung für das erste Gesichtsdetektionsmodell basierend wenigstens teilweise auf der Validierung zu erzeugen und die Aktualisierung für das erste Gesichtsdetektionsmodell für die Mikrosteuereinheit zu speichern.
    2. 2. System nach Bestimmung 1, wobei die Gesichtsdetektion als eine positive Gesichtsdetektion validiert wird und dass der Prozessor zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell dient, umfasst, dass der Prozessor dient zum:
      • Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder umfasst, die ein Bild umfassen, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    3. 3. System nach einer der vorhergehenden Bestimmungen 1 oder 2, insbesondere nach Bestimmung 2, wobei dass der Prozessor zum Trainieren des dritten Gesichtsdetektionsmodells dient, in Reaktion darauf ist, dass eine Schwellenwertanzahl von Gesichtsdetektionssignalen von der Mikrosteuereinheit erfüllt ist.
    4. 4. System nach einer der vorhergehenden Bestimmungen 1 - 3, insbesondere nach Bestimmung 1, wobei die Gesichtsdetektion als eine falsch positive Gesichtsdetektion invalidiert wird und dass der Prozessor zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell dient, umfasst, dass der Prozessor dient zum:
      • Bestimmen eines dritten Gesichtsdetektionsmodells, das ein negatives Gesichtsdetektionsergebnis aufweist, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    5. 5. System nach einer der vorhergehenden Bestimmungen 1 - 4, insbesondere nach Bestimmung 4, wobei das dritte Gesichtsdetektionsmodell aus einem aktualisierten Schwellenwert für das erste Gesichtsdetektionsmodell besteht.
    6. 6. System nach einer der vorhergehenden Bestimmungen 1 - 5, insbesondere nach Bestimmung 1, wobei dass der Prozessor zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell dient, umfasst, dass der Prozessor dient zum:
      • Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder mit einem oder mehreren gemeinsamen Metadatenmerkmalen umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    7. 7. System nach einer der vorhergehenden Bestimmungen 1 - 6, insbesondere nach Bestimmung 6, wobei dass der Prozessor zum Speichern der Aktualisierung dient, in Reaktion darauf ist, dass das eine oder die mehreren gemeinsamen Metadatenmerkmale für das System detektiert werden.
    8. 8. System nach einer der vorhergehenden Bestimmungen 1 - 7, insbesondere nach Bestimmung 6, wobei das eine oder die mehreren gemeinsamen Metadatenmerkmale eines aus einer Tageszeit, einer Bildaufnahmebedingung oder einem geographischen Ort der mehreren validierten Bilder umfassen.
    9. 9. System nach einer der vorhergehenden Bestimmungen 1 - 8, insbesondere nach Bestimmung 1, wobei dass der Prozessor zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell dient, umfasst, dass der Prozessor dient zum:
      • Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder, die in Reaktion auf eine Anwenderanforderung erfasst werden, umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    10. 10. System nach einer der vorhergehenden Bestimmungen 1 - 9, insbesondere nach Bestimmung 1, wobei das erste Gesichtsdetektionsmodell ein erstes Hauptkomponentenanalyse-Gesichtsdetektionsmodell umfasst und das zweite Gesichtsdetektionsmodell eines aus einem zweiten Hauptkomponentenanalyse-Gesichtsdetektionsmodell oder einem Gesichtsdetektionsmodell mit einem neuronalen Faltungsnetz umfasst.
    11. 11. System nach einer der vorhergehenden Bestimmungen 1 - 10, insbesondere nach Bestimmung 1, wobei der erste Leistungspegel nicht höher als 100 mW ist und der zweite Leistungspegel nicht niedriger als 0,5 W ist.
    12. 12. Gesichtsdetektionsverfahren für eine Dauerbetrieb-Architektur, das Folgendes umfasst:
      • Implementieren in einer Mikrosteuereinheit, die an einem ersten Leistungspegel arbeitet, eines ersten Gesichtsdetektionsmodells auf einem Bild mit geringer Auflösung;
      • Bereitstellen von der Mikrosteuereinheit eines Gesichtsdetektionssignals in Reaktion auf eine positive Gesichtsdetektion, die dem ersten Bild mit geringer Auflösung entspricht;
      • Implementieren in einem Prozessor, der an einem zweiten Leistungspegel höher als der erste Leistungspegel arbeitet, und in Reaktion auf das Gesichtsdetektionssignal eines zweiten Gesichtsdetektionsmodells auf einem Bild mit hoher Auflösung, um das Gesichtsdetektionssignal zu validieren;
      • Erzeugen in dem Prozessor einer Aktualisierung für das erste Gesichtsdetektionsmodell basierend wenigstens teilweise auf der Validierung; und
      • Speichern für die Mikrosteuereinheit der Aktualisierung für das erste Gesichtsdetektionsmodell.
    13. 13. Verfahren nach einer der vorhergehenden Bestimmungen, insbesondere nach Bestimmung 12, wobei die Gesichtsdetektion als eine positive Gesichtsdetektion validiert wird und das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst:
      • Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder umfasst, die eines aus dem Bild mit geringer Auflösung oder dem Bild mit hoher Auflösung umfassen, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    14. 14. Verfahren nach einer der vorhergehenden Bestimmungen 12 oder 13, insbesondere Bestimmung nach 12, wobei die Gesichtsdetektion als eine falsch positive Gesichtsdetektion invalidiert wird und das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst:
      • Bestimmen eines dritten Gesichtsdetektionsmodells, das ein negatives Gesichtsdetektionsergebnis aufweist, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    15. 15. Verfahren nach einer der vorhergehenden Bestimmungen 12 - 14, insbesondere nach Bestimmung 12, wobei das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst:
      • Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder mit einem oder mehreren gemeinsamen Metadatenmerkmalen umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    16. 16. Verfahren nach einer der vorhergehenden Bestimmungen 12 - 15, insbesondere nach Bestimmung 15, wobei das Speichern der Aktualisierung in Reaktion darauf ist, dass das eine oder die mehreren gemeinsamen Metadatenmerkmale für das System detektiert werden und das eine oder die mehreren gemeinsamen Metadatenmerkmale eines aus einer Tageszeit, einer Bildaufnahmebedingung oder einem geographischen Ort der mehreren validierten Bilder umfassen.
    17. 17. Wenigstens ein maschinenlesbares Medium, das mehrere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einem Prozessor ausgeführt werden, die Vorrichtung veranlassen zum Ausführen von Gesichtsdetektion für eine Dauerbetrieb-Architektur durch:
      • Empfangen in Reaktion darauf, dass eine Mikrosteuereinheit, die an einem ersten Leistungspegel arbeitet, ein erstes Gesichtsdetektionsmodell auf einem Bild mit geringer Auflösung implementiert, eines Gesichtsdetektionssignals, das eine positive Gesichtsdetektion in dem ersten Bild mit geringer Auflösung angibt;
      • Implementieren in dem Prozessor, der an einem zweiten Leistungspegel höher als der erste Leistungspegel arbeitet, und in Reaktion auf das Gesichtsdetektionssignal eines zweiten Gesichtsdetektionsmodells auf einem Bild mit hoher Auflösung, um das Gesichtsdetektionssignal zu validieren;
      • Erzeugen in dem Prozessor einer Aktualisierung für das erste Gesichtsdetektionsmodell basierend wenigstens teilweise auf der Validierung; und
      • Senden von dem Prozessor der Aktualisierung für das erste Gesichtsdetektionsmodell zu der Mikrosteuereinheit.
    18. 18. Maschinenlesbares Medium nach einer der vorhergehenden Bestimmungen, insbesondere nach Bestimmung 17, wobei die Gesichtsdetektion als eine positive Gesichtsdetektion validiert wird und das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst:
      • Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder umfasst, die eines aus dem Bild mit geringer Auflösung oder dem Bild mit hoher Auflösung umfassen, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    19. 19. Maschinenlesbares Medium nach einer der vorhergehenden Bestimmungen 17 oder 18, insbesondere nach Bestimmung 17, wobei die Gesichtsdetektion als eine falsch positive Gesichtsdetektion invalidiert wird und das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst:
      • Bestimmen eines dritten Gesichtsdetektionsmodells, das ein negatives Gesichtsdetektionsergebnis aufweist, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    20. 20. Maschinenlesbares Medium nach einer der vorhergehenden Bestimmungen 17 - 19, insbesondere nach Bestimmung 17, wobei das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst:
      • Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder mit einem oder mehreren gemeinsamen Metadatenmerkmalen umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
    21. 21. Maschinenlesbares Medium nach einer der vorhergehenden Bestimmungen 17 - 20, insbesondere nach Bestimmung 20, wobei das Speichern der Aktualisierung in Reaktion darauf ist, dass das eine oder mehreren gemeinsamen Metadatenmerkmale für das System detektiert werden, und das eine oder die mehreren gemeinsamen Metadatenmerkmale eines aus einer Tageszeit, einer Bildaufnahmebedingung oder einem geographischen Ort der mehreren validierten Bilder umfassen.
  • Obwohl hier dargelegte spezielle Merkmale mit Bezug auf verschiedene Implementierungen beschrieben worden sind, soll diese Beschreibung nicht in einem einschränkenden Sinn gedeutet werden. Somit sind verschiedene Modifikationen der hier beschriebenen Implementierungen und außerdem andere Implementierungen, die für Fachleute der Technik, zu der die vorliegende Offenbarung gehört, offensichtlich sind, als in dem Geist und Schutz der vorliegenden Offenbarung liegend betrachtet.
  • Es ist zu erkennen, dass die Ausführungsformen nicht auf die so beschriebenen Ausführungsformen beschränkt sind, sondern mit Modifikation und Veränderung praktiziert werden können, ohne von dem Schutzbereich der beigefügten Ansprüche abzuweichen. Beispielsweise können die vorstehenden Ausführungsformen eine spezifische Kombination von Merkmalen enthalten. Die vorstehenden Ausführungsformen sind jedoch in dieser Hinsicht nicht eingeschränkt, und die vorstehenden Ausführungsformen können in verschiedenen Implementierungen das Durchführen nur einer Teilmenge solcher Merkmale, Durchführen einer anderen Reihenfolge solcher Merkmale, Durchführen einer anderen Kombination solcher Merkmale und/oder Durchführen zusätzlicher Merkmale zu denen, die ausdrücklich aufgelistet sind, enthalten. Der Schutzbereich der Ausführungsformen sollte deshalb mit Bezug auf die beigefügten Ansprüche bestimmt werden, zusammen mit dem vollständigen Umfang von Äquivalenten, zu denen solche Ansprüche berechtigt sind.

Claims (25)

  1. Gesichtsdetektionsverfahren für eine Dauerbetrieb-Architektur, das Folgendes umfasst: Implementieren in einer Mikrosteuereinheit, die an einem ersten Leistungspegel arbeitet, eines ersten Gesichtsdetektionsmodells auf einem Bild mit geringer Auflösung; Bereitstellen von der Mikrosteuereinheit eines Gesichtsdetektionssignals in Reaktion auf eine positive Gesichtsdetektion, die dem ersten Bild mit geringer Auflösung entspricht; Implementieren in einem Prozessor, der an einem zweiten Leistungspegel höher als der erste Leistungspegel arbeitet, und in Reaktion auf das Gesichtsdetektionssignal eines zweiten Gesichtsdetektionsmodells auf einem Bild mit hoher Auflösung, um das Gesichtsdetektionssignal zu validieren; Erzeugen in dem Prozessor einer Aktualisierung für das erste Gesichtsdetektionsmodell basierend wenigstens teilweise auf der Validierung; und Speichern für die Mikrosteuereinheit der Aktualisierung für das erste Gesichtsdetektionsmodell.
  2. Verfahren nach Anspruch 1, wobei die Gesichtsdetektion als eine positive Gesichtsdetektion validiert wird und das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst: Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder umfasst, die eines aus dem Bild mit geringer Auflösung oder dem Bild mit hoher Auflösung umfassen, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  3. Verfahren nach einem der vorhergehenden Ansprüche 1 oder 2, insbesondere nach Anspruch 2, wobei das Trainieren des dritten Gesichtsdetektionsmodells in Reaktion darauf ist, dass eine Schwellenwertanzahl von Gesichtsdetektionssignalen von der Mikrosteuereinheit erfüllt ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche 1-3, insbesondere nach Anspruch 1, wobei die Gesichtsdetektion als eine falsch positive Gesichtsdetektion invalidiert wird und das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst: Bestimmen eines dritten Gesichtsdetektionsmodells, das ein negatives Gesichtsdetektionsergebnis aufweist, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  5. Verfahren nach einem der vorhergehenden Ansprüche 1-4, insbesondere nach Anspruch 4, wobei das dritte Gesichtsdetektionsmodell aus einem aktualisierten Schwellenwert für das erste Gesichtsdetektionsmodell besteht.
  6. Verfahren nach einem der vorhergehenden Ansprüche 1-5, insbesondere nach Anspruch 1, wobei das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst: Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder mit einem oder mehreren gemeinsamen Metadatenmerkmalen umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  7. Verfahren nach einem der vorhergehenden Ansprüche 1-6, insbesondere nach Anspruch 6, wobei das Speichern der Aktualisierung in Reaktion darauf ist, dass das eine oder die mehreren gemeinsamen Metadatenmerkmale für das System detektiert werden.
  8. Verfahren nach einem der vorhergehenden Ansprüche 1-7, insbesondere nach Anspruch 6 oder 7, wobei das eine oder die mehreren gemeinsamen Metadatenmerkmale eines aus einer Tageszeit, einer Bildaufnahmebedingung oder einem geographischen Ort der mehreren validierten Bilder umfassen.
  9. Verfahren nach einem der vorhergehenden Ansprüche 1-8, insbesondere nach Anspruch 1, wobei das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst: Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder, die in Reaktion auf eine Anwenderanforderung erfasst werden, umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  10. Verfahren nach einem der vorhergehenden Ansprüche 1 bis 9, insbesondere nach den Ansprüchen 1 bis 9, wobei das erste Gesichtsdetektionsmodell ein erstes Hauptkomponentenanalyse-Gesichtsdetektionsmodell umfasst und das zweite Gesichtsdetektionsmodell eines aus einem zweiten Hauptkomponentenanalyse-Gesichtsdetektionsmodell oder einem Gesichtsdetektionsmodell mit einem neuronalen Faltungsnetz umfasst.
  11. Verfahren nach einem der vorhergehenden Ansprüche 1-10, insbesondere nach den Ansprüchen 1 bis 10, wobei der erste Leistungspegel nicht höher als 100 mW ist und der zweite Leistungspegel nicht niedriger als 0,5 W ist.
  12. System, das Folgendes umfasst: eine Mikrosteuereinheit zum Implementieren, an einem ersten Leistungspegel, eines ersten Gesichtsdetektionsmodells auf einem Bild mit geringer Auflösung, wobei die Mikrosteuereinheit zum Bereitstellen eines Gesichtsdetektionssignals in Reaktion auf eine positive Gesichtsdetektion, die dem ersten Bild mit geringer Auflösung entspricht, dient; und einen Prozessor, der mit der Mikrosteuereinheit gekoppelt ist, wobei der Prozessor dazu dient, in Reaktion auf das Gesichtsdetektionssignal, an einem zweiten Leistungspegel höher als der erste Leistungspegel ein zweites Gesichtsdetektionsmodell auf einem Bild mit hoher Auflösung zu implementieren, um das Gesichtsdetektionssignal zu validieren, eine Aktualisierung für das erste Gesichtsdetektionsmodell basierend wenigstens teilweise auf der Validierung zu erzeugen und die Aktualisierung für das erste Gesichtsdetektionsmodell für die Mikrosteuereinheit zu speichern.
  13. System nach Anspruch 12, wobei die Gesichtsdetektion als eine positive Gesichtsdetektion validiert wird und dass der Prozessor zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell dient, umfasst, dass der Prozessor dient zum: Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder umfasst, die ein Bild umfassen, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  14. System nach einem der vorhergehenden Ansprüche 12 oder 13, insbesondere nach Anspruch 12, wobei die Gesichtsdetektion als eine falsch positive Gesichtsdetektion invalidiert wird und dass der Prozessor zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell dient, umfasst, dass der Prozessor dient zum: Bestimmen eines dritten Gesichtsdetektionsmodells, das ein negatives Gesichtsdetektionsergebnis aufweist, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  15. System nach einem der vorhergehenden Ansprüche 12-14, insbesondere nach Anspruch 12, wobei dass der Prozessor zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell dient, umfasst, dass der Prozessor dient zum: Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder mit einem oder mehreren gemeinsamen Metadatenmerkmalen umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  16. System nach einem der vorhergehenden Ansprüche 12-15, insbesondere nach Anspruch 15, wobei dass der Prozessor zum Speichern der Aktualisierung dient, in Reaktion darauf ist, dass das eine oder die mehreren gemeinsamen Metadatenmerkmale für das System detektiert werden und das eine oder die mehreren gemeinsamen Metadatenmerkmale eines aus einer Tageszeit, einer Bildaufnahmebedingung oder einem geographischen Ort der mehreren validierten Bilder umfassen.
  17. Wenigstens ein maschinenlesbares Medium, das mehrere Anweisungen umfasst, die in Reaktion darauf, dass sie auf einem Prozessor ausgeführt werden, die Vorrichtung veranlassen zum Ausführen von Gesichtsdetektion für eine Dauerbetrieb-Architektur durch: Empfangen in Reaktion darauf, dass eine Mikrosteuereinheit, die an einem ersten Leistungspegel arbeitet, ein erstes Gesichtsdetektionsmodell auf einem Bild mit geringer Auflösung implementiert, eines Gesichtsdetektionssignals, das eine positive Gesichtsdetektion in dem ersten Bild mit geringer Auflösung angibt; Implementieren in dem Prozessor, der an einem zweiten Leistungspegel höher als der erste Leistungspegel arbeitet, und in Reaktion auf das Gesichtsdetektionssignal eines zweiten Gesichtsdetektionsmodells auf einem Bild mit hoher Auflösung, um das Gesichtsdetektionssignal zu validieren; Erzeugen in dem Prozessor einer Aktualisierung für das erste Gesichtsdetektionsmodell basierend wenigstens teilweise auf der Validierung; und Senden von dem Prozessor der Aktualisierung für das erste Gesichtsdetektionsmodell zu der Mikrosteuereinheit.
  18. Maschinenlesbares Medium nach Anspruch 17, wobei die Gesichtsdetektion als eine positive Gesichtsdetektion validiert wird und das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst: Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder umfasst, die eines aus dem Bild mit geringer Auflösung oder dem Bild mit hoher Auflösung umfassen, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  19. Maschinenlesbares Medium nach einem der vorhergehenden Ansprüche 17 oder 18, insbesondere nach Anspruch 17, wobei die Gesichtsdetektion als eine falsch positive Gesichtsdetektion invalidiert wird und das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst: Bestimmen eines dritten Gesichtsdetektionsmodells, das ein negatives Gesichtsdetektionsergebnis aufweist, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  20. Maschinenlesbares Medium nach einem der vorhergehenden Ansprüche 17-19, insbesondere nach Anspruch 17, wobei das Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfasst: Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder mit einem oder mehreren gemeinsamen Metadatenmerkmalen umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  21. Maschinenlesbares Medium nach einem der vorhergehenden Ansprüche 17-20, insbesondere nach Anspruch 20, wobei das Speichern der Aktualisierung in Reaktion darauf ist, dass das eine oder die mehreren gemeinsamen Metadatenmerkmale für das System detektiert werden und das eine oder die mehreren gemeinsamen Metadatenmerkmale eines aus einer Tageszeit, einer Bildaufnahmebedingung oder einem geographischen Ort der mehreren validierten Bilder umfassen.
  22. System, das Folgendes umfasst: Mittel zum Implementieren, an einem ersten Leistungspegel, eines ersten Gesichtsdetektionsmodells auf einem Bild mit geringer Auflösung; Mittel zum Bereitstellen eines Gesichtsdetektionssignals in Reaktion auf eine positive Gesichtsdetektion, die dem ersten Bild mit geringer Auflösung entspricht; Mittel zum Implementieren, an einem zweiten Leistungspegel höher als der erste Leistungspegel und in Reaktion auf das Gesichtsdetektionssignal, eines zweiten Gesichtsdetektionsmodells auf einem Bild mit hoher Auflösung, um das Gesichtsdetektionssignal zu validieren; Mittel zum Erzeugen einer Aktualisierung für das erste Gesichtsdetektionsmodell basierend wenigstens teilweise auf der Validierung; und Mittel zum Speichern der Aktualisierung für das erste Gesichtsdetektionsmodell.
  23. System nach Anspruch 22, wobei die Gesichtsdetektion als eine positive Gesichtsdetektion validiert wird und die Mittel zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfassen: Mittel zum Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder umfasst, die eines aus dem Bild mit geringer Auflösung oder dem Bild mit hoher Auflösung umfassen, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  24. System nach einem der vorhergehenden Ansprüche 21 oder 22, insbesondere nach Anspruch 22, wobei die Gesichtsdetektion als eine falsch positive Gesichtsdetektion invalidiert wird und die Mittel zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfassen: Mittel zum Bestimmen eines dritten Gesichtsdetektionsmodells, das ein negatives Gesichtsdetektionsergebnis aufweist, das dem Bild mit hoher Auflösung entspricht, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
  25. System nach einem der vorhergehenden Ansprüche 21-23, insbesondere nach Anspruch 22, wobei die Mittel zum Erzeugen der Aktualisierung für das erste Gesichtsdetektionsmodell Folgendes umfassen: Mittel zum Trainieren eines dritten Gesichtsdetektionsmodells unter Verwendung eines Trainingskörpers, der mehrere validierte Bilder mit einem oder mehreren gemeinsamen Metadatenmerkmalen umfasst, wobei die Aktualisierung für das erste Gesichtsdetektionsmodell das dritte Gesichtsdetektionsmodell umfasst.
DE102019216163.4A 2018-11-21 2019-10-21 Adaptives echtzeit-training für gesichtsdetektion für eine ultra-niederleistungs-architektur mit dauerbetrieb Pending DE102019216163A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/198,580 2018-11-21
US16/198,580 US10963745B2 (en) 2018-11-21 2018-11-21 Real time adaptive training face detection for ultra low power always on architecture

Publications (1)

Publication Number Publication Date
DE102019216163A1 true DE102019216163A1 (de) 2020-05-28

Family

ID=65720385

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019216163.4A Pending DE102019216163A1 (de) 2018-11-21 2019-10-21 Adaptives echtzeit-training für gesichtsdetektion für eine ultra-niederleistungs-architektur mit dauerbetrieb

Country Status (3)

Country Link
US (1) US10963745B2 (de)
CN (1) CN111209788A (de)
DE (1) DE102019216163A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10887542B1 (en) * 2018-12-27 2021-01-05 Snap Inc. Video reformatting system
US11665312B1 (en) * 2018-12-27 2023-05-30 Snap Inc. Video reformatting recommendation
IT201900000133A1 (it) * 2019-01-07 2020-07-07 St Microelectronics Srl "Procedimento di elaborazione di immagini, sistema, veicolo e prodotto informatico corrispondenti"
KR20210051242A (ko) 2019-10-30 2021-05-10 삼성전자주식회사 멀티 렌즈 영상 복원 장치 및 방법
US11687778B2 (en) 2020-01-06 2023-06-27 The Research Foundation For The State University Of New York Fakecatcher: detection of synthetic portrait videos using biological signals
US11740687B2 (en) * 2020-04-21 2023-08-29 Western Digital Technologies, Inc. Variable power mode inferencing
WO2021249649A1 (en) * 2020-06-11 2021-12-16 Telefonaktiebolaget Lm Ericsson (Publ) Authorization using an optical sensor
KR20220019170A (ko) 2020-08-07 2022-02-16 삼성전자주식회사 대기 모드에서 오브젝트 검출을 위한 프로세서, 이를 포함하는 전자 장치 및 그의 작동 방법
WO2022081142A1 (en) * 2020-10-13 2022-04-21 Google Llc Distributed sensor data processing using multiple classifiers on multiple devices
US20220198022A1 (en) * 2020-12-23 2022-06-23 Intel Corporation Secure device power-up apparatus and method
US11706546B2 (en) * 2021-06-01 2023-07-18 Sony Semiconductor Solutions Corporation Image sensor with integrated single object class detection deep neural network (DNN)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103534664B (zh) * 2011-05-12 2016-08-31 苹果公司 存在感测
EP2704052A1 (de) * 2012-08-28 2014-03-05 Solink Corporation Transaktionsverifizierungssystem
US9800781B2 (en) * 2013-03-15 2017-10-24 Intel Corporation Method, apparatus, system, and computer readable medium for image processing software module configuration
US20170132466A1 (en) * 2014-09-30 2017-05-11 Qualcomm Incorporated Low-power iris scan initialization
US10627887B2 (en) * 2016-07-01 2020-04-21 Microsoft Technology Licensing, Llc Face detection circuit
US10984235B2 (en) * 2016-12-16 2021-04-20 Qualcomm Incorporated Low power data generation for iris-related detection and authentication
US10614332B2 (en) * 2016-12-16 2020-04-07 Qualcomm Incorportaed Light source modulation for iris size adjustment
US20180173933A1 (en) * 2016-12-16 2018-06-21 Qualcomm Incorporated User authentication using iris sector
JP2018160799A (ja) * 2017-03-23 2018-10-11 ソニーセミコンダクタソリューションズ株式会社 制御装置、制御方法、プログラム、及び、電子機器システム
GB2546459B (en) * 2017-05-10 2018-02-28 Tomlinson Martin Data verification
US10922395B2 (en) * 2018-01-05 2021-02-16 Stmicroelectronics, Inc. Facial authentication systems and methods utilizing time of flight sensing
US10699126B2 (en) * 2018-01-09 2020-06-30 Qualcomm Incorporated Adaptive object detection and recognition
US10681313B1 (en) * 2018-09-28 2020-06-09 Ambarella International Lp Home monitoring camera featuring intelligent personal audio assistant, smart zoom and face recognition features

Also Published As

Publication number Publication date
US20190087690A1 (en) 2019-03-21
US10963745B2 (en) 2021-03-30
CN111209788A (zh) 2020-05-29

Similar Documents

Publication Publication Date Title
DE102019216163A1 (de) Adaptives echtzeit-training für gesichtsdetektion für eine ultra-niederleistungs-architektur mit dauerbetrieb
CN108898579B (zh) 一种图像清晰度识别方法、装置和存储介质
CN109359592B (zh) 视频帧的处理方法、装置、电子设备及存储介质
CN109543714B (zh) 数据特征的获取方法、装置、电子设备及存储介质
CN111401376B (zh) 目标检测方法、装置、电子设备以及存储介质
CN110675328B (zh) 基于条件生成对抗网络的低照度图像增强方法及装置
US20210343041A1 (en) Method and apparatus for obtaining position of target, computer device, and storage medium
DE102020123304A1 (de) Tiefes lernen für engmaschige semantische segmentierung in video mit automatisierter interaktivität und verbesserter zeitlicher kohärenz
DE112017002119T5 (de) Augenkontaktkorrektur in Echtzeit unter Verwendung von auf neuronalen Netzwerken basierendem maschinellem Lernen
US20120027252A1 (en) Hand gesture detection
US8421877B2 (en) Feature data compression device, multi-directional face detection system and detection method thereof
US20230013451A1 (en) Information pushing method in vehicle driving scene and related apparatus
DE102018125739A1 (de) Dynamische Kalibrierung von Mehrkamerasystemen mithilfe einer Vielzahl von Multi View-Bildrahmen
US20210248427A1 (en) Method and system of neural network object recognition for image processing
US11763470B2 (en) Method and apparatus for aligning image frames, electronic device and storage medium
DE102020108640A1 (de) Sprachgesteuerte Kamera mit AI-Szenendetektion zur präzisen Fokussierung
DE202017007296U1 (de) Elektronische Vorrichtung, umfassend einen gebogenen Anzeigebereich
DE102017126270A1 (de) Mehrfach-Kamera-Aufnahme eines HDR-Bildes
WO2023202285A1 (zh) 图像处理方法、装置、计算机设备及存储介质
DE102021119882A1 (de) Videohintergrundschätzung unter verwendung von räumlich-zeitlichen modellen
CN113658065A (zh) 图像降噪方法及装置、计算机可读介质和电子设备
CN111277751B (zh) 拍照方法、装置、存储介质及电子设备
Rao et al. UMFA: a photorealistic style transfer method based on U-Net and multi-layer feature aggregation
WO2023001110A1 (zh) 神经网络训练方法、装置及电子设备
CN117132515A (zh) 一种图像处理方法及电子设备

Legal Events

Date Code Title Description
R082 Change of representative

Representative=s name: HGF EUROPE LLP, DE

Representative=s name: HGF EUROPE LP, DE

R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: G06K0009620000

Ipc: G06V0030190000