DE102022208561A1 - Accessoire-erkennung und bestimmung für avatar-registrierung - Google Patents

Accessoire-erkennung und bestimmung für avatar-registrierung Download PDF

Info

Publication number
DE102022208561A1
DE102022208561A1 DE102022208561.2A DE102022208561A DE102022208561A1 DE 102022208561 A1 DE102022208561 A1 DE 102022208561A1 DE 102022208561 A DE102022208561 A DE 102022208561A DE 102022208561 A1 DE102022208561 A1 DE 102022208561A1
Authority
DE
Germany
Prior art keywords
outline
models
interest
eyeglasses
determining
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
DE102022208561.2A
Other languages
English (en)
Inventor
Gabriela N. Venturini
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of DE102022208561A1 publication Critical patent/DE102022208561A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • G06V10/469Contour-based spatial representations, e.g. vector-coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • 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
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships

Abstract

Vorrichtungen, Verfahren und nicht-transitorische Programmspeichervorrichtungen (NPSDs) werden hierin offenbart, um einzelnen Benutzern eine Gelegenheit zu geben, angepasste Instanzen von dreidimensionalen (3D) Avataren zu erstellen, wobei jede Instanz des Avatars derart angepasst werden kann, dass sie bestimmte visuelle Eigenschaften und/oder Accessoires aufweist, die das Erscheinungsbild eines einzelnen Benutzers widerspiegeln können. Wenn Bilder erfasst werden, z. B. während eines Avatar-Registrierungs- oder -Anpassungsprozesses eines einzelnen Benutzers, können neuartige Formabgleichtechniken zwischen zweidimensionalen (2D) Objekten von Interesse (z. B. Brillenrahmen), die in dem Registrierungsbild identifiziert werden, und 3D-Modellen, die in einer oder mehreren 3D-Modellobjektbibliotheken gespeichert sind, eingesetzt werden. Eine Rangliste von 3D-Modellen aus einer Objektbibliothek, die die besten Formübereinstimmungen mit den identifizierten 2D-Objekten von Interesse in dem erfassten Bild bereitstellen, kann automatisch bestimmt und/oder dem Benutzer zur Auswahl präsentiert werden, z. B. über eine Benutzerschnittstelle, zur Verwendung bei der Erstellung und/oder Anpassung des 3D-Avatars des Benutzers.

Description

  • TECHNISCHES GEBIET
  • Diese Offenbarung bezieht sich allgemein auf das Gebiet der Bildverarbeitung. Insbesondere, aber nicht einschränkend, bezieht sie sich auf Techniken zum verbesserten dreidimensionalen (3D) Objektmodellabgleich für Objekte (z. B. persönliche Accessoires), die in zweidimensionalen (2D) Bildern identifiziert sind, z. B., wenn übereinstimmende Objekte von Interesse in Registrierungsbildern einzelner Benutzer identifiziert werden, die während eines 3D-Avatar-Erstellungs- oder -Anpassungsprozesses erfasst werden.
  • STAND DER TECHNIK
  • Ein „Avatar“, wie hierin verwendet, kann sich auf eine visuelle Darstellung eines einzelnen Benutzers einer Vorrichtung (oder deren Alter Ego) in einer virtuellen Umgebung beziehen. Ein Avatar nimmt oft die Form eines dreidimensionalen (3D) Modells, das in Computerspielen verwendet wird, oder eines zweidimensionalen (2D) Symbols oder Bilds an. Avatare werden zunehmend beim Online-Social Networking, beim Gaming und/oder bei anderen Online-Kommunikationen verwendet, üblicherweise als Ersatz für ein tatsächliches Foto des Benutzers.
  • Avatare können ein Maß an Privatsphäre bieten und dennoch ermöglichen, dass die Benutzer Kontrolle über ihre Online-Identitäten haben. Als Mittel zum Selbstausdruck können viele Benutzer wünschen, ihre eigenen Avatare anzupassen, um physische Eigenschaften zu zeigen, die die tatsächlichen Erscheinungsbilder der Benutzer widerspiegeln. Die Benutzer können auch ihre Avatare mit verschiedenen Accessoires, wie Kleidungsstücken, Brillen, Kopfbedeckung und mehr, anpassen, die individuelle Stile, Modegeschmäcker und/oder reale Erscheinungsbilder der Benutzer widerspiegeln können.
  • KURZDARSTELLUNG
  • In den in dieser Beschreibung beschriebenen Vorrichtungen, Verfahren und NPSDs kann jeder einzelne Benutzer eine Gelegenheit erhalten, angepasste Instanzen des individuellen Avatars des Benutzers zu erstellen, wobei jede Instanz des Avatars so angepasst werden kann, dass sie einen bestimmten Gesichtsausdruck, visuelle Eigenschaften, eine Körpersprache und/oder Accessoires aufweist, die ein Erscheinungsbild des einzelnen Benutzers in einer bestimmten Situationen und unter bestimmten Umständen widerspiegeln können.
  • Die von einer bestimmten Instanz eines Avatars eines Benutzers getragenen Accessoires können aus einer oder mehreren 3D-Modellobjektbibliotheken ausgewählt werden. Wenn Bilder, z. B. Registrierungsbilder, die während eines Avatar-Erstellungs- oder -Anpassungsprozesses eines einzelnen Benutzers erfasst werden können, erfasst werden, können neuartige Formabgleichtechniken zwischen 2D-Objekten von Interesse (z. B. Brillenrahmen), die im Registrierungsbild identifiziert werden, und 3D-Modellen, die in einer 3D-Modellobjektbibliothek gespeichert sind, angewendet werden. In einigen Beispielen kann eine Rangliste der 3D-Modelle aus der Objektbibliothek, die die besten Formübereinstimmungen mit den identifizierten 2D-Objekten von Interesse im Registrierungsbild bereitstellen, automatisch bestimmt und/oder dem Benutzer zur Auswahl, z. B. über eine Benutzerschnittstelle, zur Verwendung bei der Erstellung und/oder Anpassung des 3D-Avatars des Benutzers präsentiert werden.
  • Somit wird in einer ersten Ausführungsform eine Vorrichtung offenbart, die umfasst: einen Speicher; eine Bilderfassungsvorrichtung und einen oder mehrere Prozessoren, die mit dem Speicher wirkgekoppelt sind, wobei der eine oder die mehreren Prozessoren konfiguriert sind, um Anweisungen auszuführen, die den einen oder die mehreren Prozessoren veranlassen zum: Erhalten eines ersten Bildes (z. B. eines Avatar-Registrierungsbildes), das von der Bilderfassungsvorrichtung erfasst wird, wobei das erste Bild ein erstes Subjekt umfasst, das eine erste Brille trägt; Bestimmen eines ersten Umrisses der ersten Brille (z. B. mit der in einer spezifizierten Ansicht, wie einer Frontalansicht, ausgerichteten Brille); Erhalten einer Objektbibliothek, wobei die Objektbibliothek eine erste Vielzahl von 3D-Modellen von Brillen umfasst; Bestimmen eines zweiten Umrisses für jeden eines ersten Satzes der ersten Vielzahl von 3D-Modellen von Brillen in der Objektbibliothek (wobei z. B. jedes 3D-Modell in der spezifizierten Ansicht ausgerichtet ist), wobei der erste Satz der ersten Vielzahl von 3D-Modellen von Brillen einen Abschnitt der Modelle, die in der Objektbibliothek gespeichert sind, bis zu und einschließlich jedes Modells, das in der Objektbibliotheken gespeichert ist, umfassen kann; und Bestimmen eines Ähnlichkeitswerts für jedes der 3D-Modelle von Brillen in dem ersten Satz mindestens teilweise basierend auf einem Vergleich des ersten Umrisses mit dem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Brillen in dem ersten Satz.
  • In einigen solchen Ausführungsformen kann eine Rangliste der 3D-Modelle von Brillen in dem ersten Satz mindestens teilweise basierend auf ihren jeweiligen Ähnlichkeitswerten bestimmt werden. In anderen Ausführungsformen kann auf einer Anzeige der Vorrichtung mindestens ein Teil der Rangliste der 3D-Modelle von Brillen in dem ersten Satz präsentiert werden und dann, z. B. über die Benutzerschnittstelle der Vorrichtung, eine Auswahl eines ersten der 3D-Modelle von Brillen in dem ersten Satz empfangen. In solchen Ausführungsformen kann die Vorrichtung auch eine Ansicht eines Avatars präsentieren, der das erste Subjekt darstellt, wobei der Avatar das ausgewählte erste der 3D-Modelle von Brillen trägt.
  • In anderen Ausführungsformen kann das Vergleichen des ersten Umrisses mit einem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Brillen in dem ersten Satz umfassen: Ausrichten des ersten Umrisses und des zweiten Umrisses für das jeweilige 3D-Modell von Brillen in dem ersten Satz; und dann Schätzen der Fläche (z. B. in Bezug auf eine Gesamtzahl von Pixeln) zwischen dem ersten Umriss und dem ausgerichteten zweiten Umriss für das jeweilige 3D-Modell.
  • In anderen Ausführungsformen kann das Bestimmen des ersten Umrisses der ersten Brille umfassen: Erhalten eines ersten maskierten Bereichs aus dem ersten Bild, wobei der erste maskierte Bereich eine Angabe von Pixeln aus dem ersten Bild umfasst, von denen bestimmt wird, dass sie Teil eines Rahmens der ersten Brille sind; Extrahieren eines Satzes von Randpixeln aus dem ersten maskierten Bereich; Platzieren des Satzes von Randpixeln über ein Gitter, das eine Vielzahl von Zellen umfasst; Bestimmen eines Massenschwerpunktes von Randpixeln, die sich innerhalb jeder Zelle des Gitters befinden; und dann Bestimmen des ersten Umrisses der ersten Brille als eine geordnete Liste von Schlüsselpunkten, wobei die Schlüsselpunkte die Massenschwerpunkte von Zellen des Gitters umfassen, das Randpixel enthält, die einen Außenrand des Rahmens der ersten Brille darstellen.
  • In anderen Ausführungsformen kann das Bestimmen des zweiten Umrisses für jeden eines ersten Satzes der ersten Vielzahl von 3D-Modellen von Brillen in der Objektbibliothek für jedes 3D-Modell von Brillen im ersten Satz umfassen: Extrahieren eines Satzes von Randpixeln aus dem jeweiligen 3D-Modell, wie in einer spezifizierten Ansicht ausgerichtet; Platzieren des Satzes von Randpixeln über ein Gitter, das eine Vielzahl von Zellen umfasst; Bestimmen eines Massenschwerpunktes von Randpixeln, die sich innerhalb jeder Zelle des Gitters befinden; und dann Bestimmen des zweiten Umrisses des jeweiligen 3D-Modells als eine geordnete Liste von Schlüsselpunkten, wobei die Schlüsselpunkte die Massenschwerpunkte von Zellen des Gitters umfassen, das Randpixel enthält, die einen Außenrand des Rahmens des jeweiligen 3D-Modells einer Brille darstellen.
  • In noch anderen Ausführungsformen wird eine Vorrichtung offenbart, die umfasst: einen Speicher; eine Bilderfassungsvorrichtung und einen oder mehrere Prozessoren, die mit dem Speicher wirkgekoppelt sind, wobei der eine oder die mehreren Prozessoren konfiguriert sind, um Anweisungen auszuführen, die den einen oder die mehreren Prozessoren veranlassen zum: Erhalten eines ersten Bildes, das von der Bilderfassungsvorrichtung erfasst wird, wobei das erste Bild ein erstes Objekt von Interesse umfasst; Bestimmen eines ersten Umrisses des ersten Objekts von Interesse; Erhalten einer Objektbibliothek, wobei die Objektbibliothek eine erste Vielzahl von dreidimensionalen (3D) Modellen von Varianten des ersten Objekts von Interesse umfasst; Bestimmen eines zweiten Umrisses für jeden von einem ersten Satz der ersten Vielzahl von 3D-Modellen von Varianten des ersten Objekts von Interesse und dann Bestimmen eines Ähnlichkeitswerts für jedes der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz mindestens teilweise basierend auf einem Vergleich des ersten Umrisses mit dem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz.
  • In einigen solchen Ausführungsformen kann eine Rangliste der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz mindestens teilweise basierend auf ihren jeweiligen Ähnlichkeitswerten bestimmt werden. In anderen Ausführungsformen kann auf einer Anzeige der Vorrichtung mindestens ein Teil der Rangliste der 3D-Modelle von Varianten des ersten Objekts von Interesse im ersten Satz präsentiert werden und dann, z. B. über die Benutzerschnittstelle der Vorrichtung, eine Auswahl eines ersten der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz empfangen. In solchen Ausführungsformen kann die Vorrichtung auch eine Ansicht eines Avatars präsentieren, der das erste Subjekt darstellt, wobei das ausgewählte erste der 3D-Modelle von Varianten des ersten Objekts von Interesse in Verbindung mit dem Avatar präsentiert wird.
  • Verschiedene NPSD-Ausführungsformen werden hierin ebenfalls offenbart. Solche NPSDs sind von einem oder mehreren Prozessoren lesbar. Anweisungen können auf den NPSDs gespeichert sein, um zu bewirken, dass der eine oder die mehreren Prozessoren eine der hierin offenbarten Ausführungsformen durchführen. Ebenfalls werden hierin verschiedene Bildverarbeitungsverfahren gemäß den hierin offenbarten Vorrichtungs- und NPSD-Ausführungsformen offenbart.
  • Figurenliste
    • 1A veranschaulicht ein beispielhaftes System für einen Brillenrahmen, der in Registrierungsbildern übereinstimmt, gemäß einer oder mehreren Ausführungsformen.
    • 1B veranschaulicht einen beispielhaften Randerkennungsprozess für Brillenrahmen gemäß einer oder mehreren Ausführungsformen.
    • 1C veranschaulicht einen beispielhaften Randokklusionserkennungsprozess für Brillenrahmen gemäß einer oder mehreren Ausführungsformen.
    • 2 veranschaulicht eine beispielhafte Rangliste von 3D-Modellobjekten, die mit einem Objekt abgeglichen werden, das in einem Registrierungsbild identifiziert wird, gemäß einer oder mehreren Ausführungsformen.
    • 3A-3D sind Flussdiagramme, die Verfahren zum Durchführen eines Brillenrahmenabgleichens in Registrierungsbildern gemäß verschiedenen Ausführungsformen veranschaulichen.
    • 4 ist ein Flussdiagramm, das ein Verfahren zum Durchführen eines Abgleichens eines Objekts von Interesse in Bildern gemäß verschiedenen Ausführungsformen veranschaulicht.
    • 5 ist ein Blockdiagramm, das eine programmierbare elektronische Rechenvorrichtung veranschaulicht, in der eine oder mehrere der hierin offenbarten Techniken implementiert sein können.
  • DETAILLIERTE BESCHREIBUNG
  • In der nachfolgenden Beschreibung werden zu Erläuterungszwecken zahlreiche konkrete Details dargelegt, um ein gründliches Verständnis der hierin offenbarten Erfindungen zu schaffen. Es ist jedoch für den Fachmann ersichtlich, dass die Erfindungen ohne diese konkreten Details ausgeführt werden können. In anderen Fällen werden Strukturen und Vorrichtungen in Form eines Blockdiagramms gezeigt, um ein Verunklaren der Erfindungen zu vermeiden. Bezugnahmen auf Zahlen ohne tiefgestellte Zeichen oder Suffixe sind so zu verstehen, dass sie sich auf alle Instanz von tiefgestellten Zeichen und Suffixen beziehen, die der Bezugszahl entsprechen. Darüber hinaus wurden die in dieser Offenbarung verwendeten Formulierungen hauptsächlich aus Gründen der Lesbarkeit und zu Anweisungszwecken gewählt, und wurden möglicherweise nicht gewählt, um den Erfindungsgegenstand abzugrenzen oder einzuschränken, und somit kann es nötig sein, die Patentansprüche heranzuziehen, um den Erfindungsgegenstand zu bestimmen. Eine Bezugnahme in der Beschreibung auf „eine Ausführungsform“ (oder dergleichen) bedeutet, dass ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft, die bzw. das in Verbindung mit den Ausführungsformen beschrieben wird, in mindestens einer Ausführungsform einer der Erfindungen enthalten ist, und mehrere Bezugnahmen auf „eine Ausführungsform“ sind nicht dahin gehend zu verstehen, dass sie sich zwingend alle auf dieselbe Ausführungsform beziehen.
  • Eine physische Umgebung, wie hierin verwendet, bezieht sich auf eine physische Welt, die Menschen ohne die Hilfe von elektronischen Vorrichtungen wahrnehmen und/oder mit der sie ohne diese interagieren können. Die physische Umgebung kann physische Merkmale, wie eine physische Oberfläche oder ein physisches Objekt, einschließen. Zum Beispiel entspricht die physische Umgebung einem physischen Park, der physische Bäume, physische Gebäude und physische Personen einschließt. Menschen können die physische Umgebung direkt wahrnehmen und/oder mit ihr interagieren, wie durch Sehen, Berühren, Hören, Schmecken und Riechen. Im Gegensatz dazu nimmt eine Umgebung der Extended Reality (XR) auf eine vollständig oder teilweise simulierte Umgebung Bezug, die Menschen über eine elektronische Vorrichtung wahrnehmen und/oder mit der sie damit interagieren. Zum Beispiel kann die XR-Umgebung Inhalte der Augmented Reality (AR), Inhalte der Mixed Reality (MR), Inhalte der Virtual Reality (VR) und/oder dergleichen einschließen. Mit einem XR-System wird eine Teilmenge der physischen Bewegungen einer Person oder deren Repräsentation verfolgt, und als Reaktion darauf werden eine oder mehrere Eigenschaften eines oder mehrerer virtueller Objekte, die in der XR-Umgebung simuliert werden, so angepasst, dass sie mit mindestens einem physikalischen Gesetz übereinstimmen. Als ein Beispiel kann das XR-System eine Kopfbewegung erkennen und als Reaktion darauf den der Person präsentierten graphischen Inhalt und ein akustisches Feld auf eine Weise anpassen, die dem ähnelt, wie sich solche Ansichten und Geräusche in einer physischen Umgebung ändern würden. Als weiteres Beispiel kann das XR-System eine Bewegung der elektronischen Vorrichtung erkennen, welche die XR-Umgebung präsentiert (z. B. ein Mobiltelefon, ein Tablet, ein Laptop oder dergleichen), und als Reaktion darauf einen grafischen Inhalt und ein akustisches Feld, die der Person präsentiert werden, auf eine Weise anpassen, die dem ähnelt, wie sich solche Ansichten und Geräusche in einer physischen Umgebung ändern würden. In einigen Situationen (z. B. aus Gründen der Zugänglichkeit) kann das XR-System (eine) Eigenschaft(en) des grafischen Inhalts in der XR-Umgebung als Reaktion auf Repräsentationen physischer Bewegungen (z. B. Sprachbefehle) anpassen.
  • Es gibt viele unterschiedliche Arten von elektronischen Systemen, die einer Person ermöglichen, verschiedene XR-Umgebungen wahrzunehmen und/oder mit diesen zu interagieren. Beispiele schließen am Kopf tragbare Systeme, projektionsbasierte Systeme, Heads-Up-Anzeigen (HUDs), Fahrzeugwindschutzscheiben mit integrierter Anzeigefunktion, Fenster mit integrierter Anzeigefunktion, Anzeigen, die als Linsen gebildet sind, die dazu bestimmt sind, auf den Augen einer Person platziert zu werden (z. B. ähnlich Kontaktlinsen), Kopfhörer/Ohrhörer, Lautsprecheranordnungen, Eingabesysteme (z. B. am Körper tragbare oder als Handgeräte ausgeführte Steuerungen mit oder ohne haptische Rückmeldung), Smartphones, Tablets und Desktop-/Laptop-Computer ein. Ein am Kopf tragbares System kann einen oder mehrere Lautsprecher und eine integrierte opake Anzeige aufweisen. Alternativ kann ein am Kopf tragbares System konfiguriert sein, um eine externe opake Anzeige (z. B. ein Smartphone) aufzunehmen. Das am Kopf tragbare System kann einen oder mehrere bildgebende Sensoren, um Bilder oder Videoaufnahmen der physischen Umgebung zu erfassen, und/oder ein oder mehrere Mikrofone, um Audioaufnahmen der physischen Umgebung zu erfassen, enthalten. Anstelle einer opaken Anzeige kann ein am Kopf tragbares System eine transparente oder transluzente Anzeige aufweisen. Die transparente oder transluzente Anzeige kann ein Medium aufweisen, durch das Licht, das für Bilder repräsentativ ist, auf die Augen einer Person gerichtet wird. Die Anzeige kann eine digitale Lichtprojektion, OLEDs, LEDs, uLEDs, Flüssigkristalle auf Silicium, eine Laserscanning-Lichtquelle oder eine beliebige Kombination dieser Technologien nutzen. Das Medium kann ein Lichtwellenleiter, ein Hologrammmedium, ein optischer Kombinierer, ein optischer Reflektor oder eine Kombination davon sein. In einigen Implementierungen kann die transparente oder transluzente Anzeige konfiguriert sein, um selektiv opak zu werden. Projektionsbasierte Systeme können eine retinale Projektionstechnologie einsetzen, die grafische Bilder auf die Netzhaut einer Person projiziert. Projektionssysteme können auch so konfiguriert sein, dass sie virtuelle Objekte in die physische Umgebung projizieren, zum Beispiel als Hologramm oder auf einer physischen Oberfläche.
  • Gemäß einigen hierin beschriebenen Ausführungsformen kann jeder Benutzer eines Avatar-Anpassungssystems einen individualisierten Avatar zum Zuordnen zu seiner oder ihren virtuellen Identität erstellen, zum Beispiel durch eine Avatar-Bearbeitungsumgebung. Der Benutzer kann die Gesichtsmerkmale, Frisuren, Hauttöne, Kleidung, Accessoires usw. (zusammen als „Elemente“ bezeichnet) für seinen oder ihren Avatar auswählen und modifizieren und auch Farben, Formen und/oder Stile für jedes der Elemente seines Avatars spezifizieren. Sobald der Benutzer verschiedene Gesichtspunkte seines oder ihres individuellen Avatars spezifiziert hat, können die Avatar-Definitionsdaten gespeichert und zum Rendern des Avatars in verschiedenen virtuellen Umgebungen, wie in Online-Chatsitzungen, Internetforen, persönlichen Blogs, interaktiven Spielen, Adressbüchern, Kalendern und so weiter, abgerufen werden.
  • Ein individualisierter Avatar kann dem Benutzer, den er repräsentiert, in Bezug auf Erscheinungsbild und Mode ähneln. Bei herkömmlichen Systemen müssen jedoch die verschiedenen Elemente des Avatars jedes Benutzers manuell aus großen „Bibliotheken“ von virtuellen Objektelementen ausgewählt werden, was für den Benutzer in Bezug auf das Lokalisieren der virtuellen Objektelemente, die ihre Gesichtsausdrücke, Erscheinungsbilder, Körpersprache und/oder Accessoires, die sie möglicherweise in verschiedenen Situationen und unter verschiedenen Umständen zeigen, am genauesten nachahmen, mühsam und/oder schwierig sein kann. Obwohl Benutzer auch generische (oder sogar zufällig erzeugte) Elemente auswählen können, um ihre Avatare anzupassen, können solche generischen und/oder zufällig erzeugten Elemente die Individualität des Erscheinungsbilds, des Stils und/oder bevorzugter Accessoires des Benutzers möglicherweise nicht genau widerspiegeln.
  • Somit besteht ein Bedarf an Vorrichtungen, Verfahren und nicht-transitorischen Programmspeichervorrichtungen (NPSDs), um Benutzern einen intelligenteren und automatisierten Abgleich von Objekten von Interesse (z. B. Brillenrahmen), wie sie in 2D-Registrierungsbildern eines Benutzers identifiziert werden, bereitzustellen, wenn bestimmte 3D-Objektmodelle bestimmt werden, die während der Erstellung und/oder Anpassung eines 3D-Avatars für den Benutzer vorgeschlagen werden sollen.
  • Beispielhaftes System zum Brillenrahmenabgleichen in erfassten Bildern
  • Unter Bezugnahme auf 1A ist nun ein beispielhaftes System 100 zum Brillenrahmenabgleichen in Registrierungsbildern gemäß einer oder mehreren Ausführungsformen veranschaulicht. Hinweis: Obwohl die hierin beschriebenen Beispiele und Ausführungsformen hauptsächlich im Kontext des Abgleichens eines Brillenrahmens, der in einem erfassten Bild erkannt wird, liegen, versteht es sich, dass analoge Techniken zu den hierin beschriebenen in ähnlicher Weise verwendet werden können, um jede Art von Objekt von Interesse, das in einem erfassten Bild gefunden wird (und für das das System eine Objektmodellbibliothek aufweist), zu erkennen und abzugleichen. Ein beispielhaftes erstes Registrierungsbild 102 umfasst ein menschliches Subjekt 104, das eine erste Brille 106 trägt. Das beispielhafte erste Registrierungsbild 102 kann z. B. von einer Bilderfassungsvorrichtung (z. B. Webcam, Kamera oder dergleichen) einer elektronischen Vorrichtung zu einem beliebigen Zeitpunkt erfasst werden, wie wenn sich ein Benutzer in einem neuen System, Spiel, einer neuen App oder Online-Gemeinschaft registriert, die 3D-Avatare verwendet, oder wenn der Benutzer seinen Avatar für ein jeweiliges System, Spiel, eine jeweilige App oder Online-Gemeinschaft aktualisieren möchte. Alternativ kann ein zuvor erfasstes Bild des Benutzers verwendet werden, z. B. aus einer gespeicherten Fotobibliothek.
  • In einigen Ausführungsformen können eine oder mehrere Computervision-(CV)- und/oder andere Maschinenlem-(ML)-fähige Objekterkennungsalgorithmen auf den Registrierungsbildbereich 102 angewendet werden, um ein oder mehrere Objekte von Interesse zu identifizieren. In dem Beispiel des Systems 100 sind die Objekte von Interesse Brillenrahmen, und ein Objekterkennungsalgorithmus in diesem Beispiel hat einen maskierten Bereich 108 erzeugt, wobei die hellfarbigen Pixel in dem maskierten Bereich 108 Pixel darstellen, die von dem Algorithmus als Teil eines Rahmens einer ersten Brille bestimmt werden, die in dem Registrierungsbild 102 identifiziert ist. In anderen Ausführungsformen können selbstverständlich maskierte Bereiche erzeugt werden, die die der gegebenen Anwendung die Pixel in dem erfassten Bild angeben, für die bestimmt wird, dass sie ein Teil eines beliebigen Typs eines Objekts sind, das von Interesse ist (z. B. eines anderen Objekts als einer Brille, wie eines Bechers oder einer Tasse). In diesem Beispiel 100 wird eine zur Vorderseite gewandte Ansicht der Brille erwartet, jedoch können andere Ansichten des Objekts von Interesse auch akzeptabel sein, solange die 3D-Modellobjekte, mit denen es verglichen wird, in eine ähnliche Ansicht ausgerichtet sind, sodass ein gültiger Ähnlichkeitswert für das 3D-Modellobjekt bestimmt werden kann.
  • Sobald die Pixel, die als Teil eines Rahmens der ersten Brille bestimmt werden, in dem maskierten Bereich 108 identifiziert werden, kann ein erster Umriss 110 für die erste Brille erzeugt werden. In einigen Ausführungsformen kann es wünschenswert sein, einen einfachen Umriss eines Außenrandes des Objekts von Interesse zu erzeugen, wobei z. B. der Umriss eine geordnete Liste von Schlüsselpunkten umfasst, die auf einem Gitter erscheinen. Wie nachstehend erläutert, kann das Erstellen einer geordneten Liste von Schlüsselpunkten für die Umrisse der zwei ausgerichteten Formen (d. h. eines Umrisses des erkannten Objekts von Interesse im Bild und eines Umrisses eines übereinstimmenden Kandidaten-3D-Modells des Objekts von Interesse aus einer Objektbibliothek), wobei z. B. die Umrisse in der Form von Catmull-Rom-Splines, anderen Arten von Kurven, verbundenen Liniensegmenten oder dergleichen vorliegen können, eine einfachere Berechnung der Fläche zwischen den beiden Umrissen ermöglichen, wobei eine kleinere Fläche zwischen zwei Umrissen eine genauere Übereinstimmung in der Umrissform zwischen zwei Objekten angibt. Zum Beispiel wird in diesem Fall die 2D-Darstellung des Objekts von Interesse im Registrierungsbild mit einer spezifizierten Ansicht eines jeweiligen 3D-Modells einer Variante des Objekts von Interesse in einer 3D-Modellobjektbibliothek verglichen.
  • Wie nachstehend unter Bezugnahme auf 1B ausführlicher erläutert, kann in einigen Ausführungsformen der Prozess des Bestimmens des ersten Umrisses der ersten Brille umfassen: Extrahieren eines Satzes von Randpixeln aus dem ersten maskierten Bereich 108 (z. B. unter Verwendung eines beliebigen gewünschten Randerkennungsalgorithmus, z. B. der Sobel-Randerkennung); Platzieren des Satzes von Randpixeln über ein Gitter, das eine Vielzahl von Zellen umfasst; Bestimmen eines Massenschwerpunktes von Randpixeln, die sich innerhalb jeder Zelle des Gitters befinden (wobei die Dichte der Zellen in dem Gitter in Bezug auf die Größe des Maskenbereichs, der die erste Brille darstellt, angepasst werden kann, z. B. basierend darauf, wie fein oder grob ein Objektumriss für eine gegebene Implementierung benötigt wird); und dann Bestimmen einer geordneten Liste von Schlüsselpunkten (112), wobei die Schlüsselpunkte die Massenschwerpunkte der Zellen des Gitters umfassen, das Randpixel enthält, die einen Außenrand des Rahmens der ersten Brille darstellen.
  • In einigen Ausführungsformen kann das Bestimmen eines Außenrandes des Objekts von Interesse (d. h. im Gegensatz zu einem Innenrand) eine wichtige Überlegung sein, z. B. derart, dass nur die Silhouette des Objekts von Interesse mit den Silhouetten von Objekten in der 3D-Modellobjektbibliothek abgeglichen wird, während Innenränder (z. B. die Innenränder 114, die um die Linsen der Brillenrahmen in dem maskierten Bereich 108 identifiziert werden) ignoriert werden können.
  • Zum Beispiel wird nun unter Bezugnahme auf 1B ein beispielhafter Randerkennungsprozess für Brillenrahmen gemäß einer oder mehreren Ausführungsformen veranschaulicht. In einigen solchen Randerkennungsprozessen kann jede der Spalten von Zellen (z. B. einer beispielhaften Zellenspalte 140) in dem Gitter 150 in einer bestimmten Richtung durchquert werden, wie ein Durchqueren der Spalten von rechts nach links über das Gitter und dann ein Durchqueren der Zellen (z. B. einer beispielhaften Zelle 144) innerhalb jeder einzelnen Spalte von oben nach unten, wie durch die zwei beispielhaften Querrichtungspfeile in 1B veranschaulicht. Wenn die Zellen innerhalb einer einzelnen Zellenspalte durchquert werden, kann das erste Massenschwerpunktpixel (z. B. stellen die beispielhaften Pixel 146 Massenschwerpunktpixel für die Randpixel dar, die sich innerhalb ihrer jeweiligen Zellen befinden), das am nächsten zur Oberseite einer gegebenen Zellenspalte zu finden ist (z. B. ein Massenschwerpunktpixel 142A in der auseinandergezogenen Ansicht der beispielhaften Zellenspalte 140 in 1B), als ein „oberes“ Außenrandpixel betrachtet werden, und das letzte Massenschwerpunktpixel, das am nächsten zur Unterseite einer gegebenen Zellenspalte zu finden ist (z. B. ein Massenschwerpunktpixel 142D in der auseinandergezogenen Ansicht der beispielhaften Zellenspalte 140 in 1B) kann als ein „unteres“ Außenrandpixel betrachtet werden. Das andere Massenschwerpunktpixel, das in einer gegebenen Spalte identifiziert wird (z. B. Massenschwerpunktpixel 142B und 142C in der auseinandergezogenen Ansicht der beispielhaften Zellenspalte 140 in 1B), kann dann ignoriert werden, da es wahrscheinlich für einen Innenrand des in dem Bild erkannten Objekts von Interesse (z. B. einen Umriss einer Linse, im Fall einer Brille) repräsentativ ist.
  • In einigen Fällen können eine oder mehrere andere objektspezifische Heuristiken auch in dem Umrissbestimmungsprozess des Objekts von Interesse verwendet werden. Nun Bezug nehmend auf 1C ist ein beispielhafter Randokklusionserkennungsprozess 160 für Brillenrahmen gemäß einer oder mehreren Ausführungsformen veranschaulicht. Bei einigen solchen Randokklusionserkennungsprozessen kann, wenn das „obere“ Außenrandpixel 162 und das „untere“ Außenrandpixel 164 für eine gegebene Spalte von Zellen näher beieinander liegen, näher beieinander liegen als ein vorbestimmter Mindestschwellenabstand (z. B. näher als die geschätzte Breite des Nasenstegs 170 im Fall einer Brille), befunden werden, dass eine Okklusion (z. B., dass das Haar eines Benutzers den gesamten oder einen Abschnitt eines Außenrandes des Brillenrahmens abdeckt) entweder in dem oberen und/oder unteren Rand der gegebenen Spalte des Gitters, auf welches die Objektmaske gelegt wurde, vorliegt.
  • In einigen Fällen kann, wenn befunden wird, dass eine Okklusion vorliegt, die geordnete Liste von Schlüsselpunkten (z. B. eine geordnete Liste von Koordinatenpunkten in einer Richtung im Uhrzeigersinn oder gegen den Uhrzeigersinn um den Objektumriss 172, der bestimmt wird), die den Objektumriss darstellen, möglicherweise einfach kein gültiges entsprechendes „oberes " Außenrandpixel (oder „unteres“ Außenrandpixel) für die gegebene(n) Spalte(n) mit der/den befundenen Okklusion(en) identifizieren und dann den vorherigen gültigen oberen (oder unteren) Schlüsselpunkt mit der nächsten Spalte mit einem gültigen oberen (oder unteren) Schlüsselpunkt in dem Objektumriss in der Richtung der geordneten Liste verbinden. Es versteht sich, dass für Spalten, bei denen ein gültiges „oberes“ Außenrandpixel (oder „unteres“ Außenrandpixel) identifiziert wird (z. B. keine Okklusion in der Spalte erkannt wird), der Prozess einfach die Massenschwerpunktpixel spaltenweise weiter durchqueren kann, um eine geordnete Beziehung zwischen diesen Schlüsselpunkten herzustellen und den geschätzten Objektumriss 172 zu bilden.
  • Zum Beispiel wurde, wie in 1C in Beispiel 160 gezeigt, eine Anzahl identifizierter „oberer“ Außenrandmassenschwerpunktpixel in aufeinanderfolgenden Spalten innerhalb des Gitters (markiert mit Indizes 1 bis 6) als Okklusionspixel 166 (z. B. aufgrund dessen, dass sie als zu nahe bei dem entsprechenden „unteren“ Außenrandpixel in ihren jeweiligen Zellenspalten liegend bestimmt wurden) identifiziert und wurde somit bei der Erstellung des Brillenrahmenobjektumrisses 172 übersprungen. Ein Beispiel für eine Okklusion, die in einem Bild, das eine Brille enthält, auftritt, kann darin bestehen, dass Haare des Benutzers über dessen Stirn fallen und einen Abschnitt des Brillenrahmens abdecken. Unter der Annahme, dass die Spalten in dem in Beispiel 160 gezeigten Gitter beim Identifizieren der oberen Außenrandpixel des Brillenrahmenobjekts in einer Weise von rechts nach links durchquert werden, kann der vorherige gültige obere Schlüsselpunkt (d. h. das obere Außenrandpixel N, 162N in 1C) einfach mit der nächsten Spalte mit einem gültigen oberen Schlüsselpunkt (d. h. dem oberen Außenrandpixel N+1, 162N+1 in 1C) in dem Brillenrahmenobjektumriss verbunden werden, z. B. unter Verwendung eines Umrissverbindungssegments 168 (das z.B. ein geradliniges Liniensegment, eine Kurve oder eine andere gewünschte Art von Verbindung umfassen kann). Es versteht sich, dass, da das Umrissverbindungssegment 168 Massenschwerpunktpixel aus nicht benachbarten Spalten (d. h. aufgrund des Vorhandenseins der Okklusionspixel 166) verbindet, der Umriss 172 die genaue Form des Brillenrahmenobjektumrisses über diesen Bereich des Rahmens nicht verfolgen kann, sondern eine enge Annäherung an den wahren Umriss des Objekts bereitstellen und ermöglichen kann, dass der Objektumriss insgesamt abgeschlossen werden kann. Einem analogen Prozess kann gefolgt werden, um die „unteren“ Außenrandpixel 164 des Objektumrisses in der geordneten Liste von Schlüsselpunkten, die den Umriss des Objekts darstellen, zu identifizieren und zu verbinden, einschließlich des Überspringens beliebiger Spalten, bei denen das Vorhandensein einer Okklusion über dem unteren Außenrand des Objekts identifiziert wurde. (Es versteht sich, dass in anderen Implementierungen zusätzlich oder alternativ auch eine Liste von „linken“ Außenrandpixeln und „rechten“ Außenrandpixeln bestimmt und an der geeigneten Stelle innerhalb der geordneten Liste von Schlüsselpunkten, die den Umriss des Objekts darstellen, eingeschlossen werden kann.)
  • Natürlich kann, wenn es zu viele Spalten (und/oder Reihen) mit befundenen Okklusionen 166 gibt, damit ein ausreichend genauer Objektumriss des Objekts von Interesse erstellt werden kann, der Prozess einfach enden und/oder anfordern, dass der Benutzer einen Ersatz des ersten Registrierungsbildes mit weniger Okklusion erfasst. Eine Bestimmung, dass ein ausreichend genauer Objektumriss für ein gegebenes Objekt nicht identifiziert werden kann, kann erfolgen, wenn z. B.: (1) die Gesamtzahl der Pixel in dem maskierten Bereich 108 unter einem ersten Schwellenwert liegt (der z. B. angeben kann, dass das Subjekt entweder keine Brille trägt oder eine rahmenlose Brille trägt); oder (2) der Unterschied zwischen der Anzahl oder den Schlüsselpunkten, die rechts und links von dem Mittelpunkt der Brille identifiziert werden (z. B. dargestellt durch die geschätzte Nasenstegposition 170), größer ist als ein zweiter Schwellenwert (der z. B. entweder Okklusionen auf einer Seite des Gesichts des Subjekts angeben kann oder angeben kann, dass der Kopf des Subjekts zu weit zu einer Seite im Registrierungsbild gedreht ist, um eine gewünschte, z. B. frontale, Ansicht der Brillenrahmen zu erhalten).
  • In anderen Ausführungsformen versteht es sich jedoch, dass der Abgleichvorgang auch mehr als nur die Außenränder der Objekte von Interesse und die entsprechenden Ansichten der 3D-Modelle in der Objektbibliothek, falls gewünscht, berücksichtigen kann.
  • In diesen Fällen kann der erste Umriss des Objekts von Interesse sämtliche Ränder enthalten, die für einen gegebenen Abgleichvorgang von Interesse sind (z. B. kann bei übereinstimmenden Kaffeebechern, die in einem Bild identifiziert werden, die Form des Kaffeebechers innerhalb des Griffs, im Gegensatz zu nur der äußeren Silhouette des Kaffeebechers, auch relevant sein, um das am besten übereinstimmende Kaffeebecher-3D-Modell aus einer Objektbibliothek zu finden).
  • Unter erneuter Bezugnahme auf 1A und die 3D-Modellobjektbibliothek 120 sind verschiedene 3D-Modelle von Brillenrahmen veranschaulicht. In einigen Ausführungsformen kann ein zweiter Umriss für jeden eines ersten Satzes von einem oder mehreren der ersten Vielzahl von 3D-Modellen von Brillen in der Objektbibliothek bestimmt werden (mit anderen Worten muss ein zweiter Umriss nicht für jedes 3D-Modell in der Bibliothek bestimmt werden, z. B. wenn einige basierend auf der Größe, dem Objekttyp, dem Benutzerbereich, dem Benutzergeschlecht usw. herausgefiltert werden können, sodass Umrisse nur für einen Satz der 3D-Modelle in der Bibliothek bestimmt werden müssen). In Beispiel 100 wird das 3D-Modell für die mit 122 gekennzeichnete Brille zu Veranschaulichungszwecken ausführlicher untersucht. Insbesondere kann eine erste Modellansicht 124 für das Brillenmodell 122 erstellt werden, wobei z. B. die Brille in einer spezifizierten Ansicht ausgerichtet ist. In diesem Beispiel ist die 2D-Darstellung der in dem ersten Registrierungsbild identifizierten Brille wahrscheinlich in einer Frontalansicht ausgerichtet, sodass das Brillenmodell 122 auch in einer Frontalansicht für die Erzeugung der ersten Modellansicht 124 ausgerichtet sein kann.
  • Als Nächstes kann ein zweiter Umriss 126 für die erste Modellansicht 124 erstellt werden, z. B. nach einem Umrisserzeugungsprozess ähnlich dem oben in Bezug auf die Erzeugung des ersten Umrisses 110 für den maskierten Bereich 108 beschriebenen. Insbesondere kann für jedes 3D-Modell von Brillen in dem ersten Satz ein zweiter Umriss für den jeweiligen 3D-Modus erzeugt werden durch: Extrahieren eines Satzes von Randpixeln aus dem jeweiligen 3D-Modell, wie in einer spezifizierten Ansicht ausgerichtet; Platzieren des Satzes von Randpixeln über ein Gitter, das eine Vielzahl von Zellen umfasst; Bestimmen eines Massenschwerpunktes von Randpixeln, die sich innerhalb jeder Zelle des Gitters befinden; und dann Bestimmen einer geordneten Liste von Schlüsselpunkten, wobei die Schlüsselpunkte die Massenschwerpunkte von Zellen des Gitters umfassen, das Randpixel enthält, die einen Außenrand des Rahmens des jeweiligen 3D-Modells einer Brille darstellen.
  • Sobald ein erster Umriss für die erste Brille bestimmt wurde und ein zweiter Umriss für jedes 3D-Modell von Brillen im ersten Satz bestimmt wurde, kann bei Block 128 jeder jeweilige zweite Umriss mit dem ersten Umriss ausgerichtet werden, sodass sie miteinander verglichen werden können und ein Ähnlichkeitswert für das jeweilige 3D-Modell aus dem ersten Satz bestimmt werden kann. In einigen Fällen kann das Ausrichten des ersten Umrisses und eines jeweiligen zweiten Umrisses umfassen: Ausrichten der Schlüsselpunkte, die den ersten Umriss und den zweiten Umriss für das jeweilige 3D-Modell von Brillen in dem ersten Satz umfassen. Der Ausrichtungsvorgang kann nach Bedarf das Verschieben, Drehen und/oder Skalieren des ersten Umrisses einschließen, sodass ein gültiger Vergleich mit einem jeweiligen zweiten Umriss vorgenommen werden kann. In noch anderen Fällen kann ein Iterative Closest Point-Stilalgorithmus (ICP-Stilalgorithmus) verwendet werden, um die beiden Umrissformen schnell auszurichten.
  • Als Nächstes können, wie bei Block 130 gezeigt, der ausgerichtete erste und zweite Umriss miteinander verglichen werden, und ein Ähnlichkeitswert kann bei Block 132 bestimmt werden. In einigen Implementierungen kann das Bestimmen des Ähnlichkeitswerts zwischen zwei ausgerichteten Umrissen das Schätzen der Fläche (z. B. in Bezug auf eine Anzahl von Pixeln) zwischen dem ersten Umriss und dem ausgerichteten zweiten Umriss für das jeweilige 3D-Modell umfassen. Es versteht sich nun, dass, je kleiner die Anzahl von Pixeln zwischen dem ersten Umriss und dem jeweiligen zweiten Umriss ist, desto ähnlicher das jeweilige 3D-Modell der Brille ist, die vom Benutzer im Registrierungsbild getragen wird.
  • Unter Bezugnahme auf 2 ist nun eine beispielhafte Rangliste 200 von 3D-Modellobjekten, die mit einem Objekt abgeglichen werden, das in einem Registrierungsbild identifiziert wurde (in diesem Beispiel, eine erste Brille, dargestellt durch den maskierten Bereich 108), gemäß einer oder mehreren Ausführungsformen veranschaulicht. In diesem Beispiel zeigt sich, dass der Umrissvergleich 130, der oben in Bezug auf 1A erörtert wurde (d. h. zwischen dem ersten Umriss 110 und dem zweiten Umriss 126, der auf dem 3D-Modell 122 basierte), die zweitkleinste Fläche zwischen dem ersten Umriss und dem jeweiligen zweiten Umriss aufweist, und somit wird das entsprechende 3D-Modell der Brille 122 als das an zweiter Stelle stehende 3D-Modell angesehen. Es zeigt sich, dass der Umrissvergleich 202 (d. h. zwischen dem ersten Umriss 110 und einem zweiten Umriss, der auf dem 3D-Modell 212 basiert) die kleinste Fläche zwischen dem ersten Umriss und dem jeweiligen zweiten Umriss aufweist, und somit wird das entsprechende 3D-Modell der Brille 212 als das an erster Stelle stehende oder am besten übereinstimmende 3D-Modell der Brille angesehen. In einigen Ausführungsformen kann das Brillenmodell 212 dann einem Benutzer basierend darauf, dass der maskierte Bereich 108 in seinem Registrierungsbild identifiziert wird, zur Aufnahme in Verbindung mit seinem Avatar vorgeschlagen werden. Schließlich zeigt sich, dass ein beispielhafter Umrissvergleich 204 (d. h. zwischen dem ersten Umriss 110 und einem zweiten Umriss, der auf dem 3D-Modell 214 basiert) die drittkleinste Fläche zwischen dem ersten Umriss und dem jeweiligen zweiten Umriss aufweist, und somit wird das entsprechende 3D-Modell der Brille 214 als das an dritter Stelle stehende 3D-Modell der Brille angesehen.
  • Es versteht sich, dass in einigen Ausführungsformen die gesamte oder ein Teil der Liste der eingestuften 3D-Modelle einem Benutzer zur Auswahl, z. B. über eine Benutzerschnittstelle, präsentiert werden kann. Ein Benutzer wäre nicht verpflichtet, das am besten übereinstimmende 3D-Modell zur Aufnahme mit seinem Avatar auszuwählen, und in einigen Fällen könnte ein Benutzer eine 3D-Modellobjektbibliothek manuell durchsuchen und ein 3D-Objekt seiner Wahl (oder zufällig) zur Aufnahme in Verbindung mit seinem Avatar auswählen.
  • Beispielhafte Verfahren zum Brillenrahmenabgleichen in erfassten Bildern
  • 3A-3D sind Flussdiagramme, die Verfahren zum Durchführen eines Brillenrahmenabgleichens in erfassen Bildern, z. B. Avatar-Registrierungsbildern gemäß verschiedenen Ausführungsformen veranschaulichen. Unter Bezugnahme auf 3A beginnt ein Verfahren 300 bei Block 302 durch Erhalten eines ersten Bildes, das von einer Bilderfassungsvorrichtung erfasst wird, z. B. in Form eines Avatar-Registrierungsbildes, wobei das erste Bild ein erstes Subjekt umfasst, das eine erste Brille trägt. In einigen Ausführungsformen kann das Verfahren 300 bestimmen, dass eine Okklusion, die größer oder gleich einem Schwellenwert ist, in der ersten Brille vorhanden ist, wie in dem ersten Bild erfasst; und wenn dies der Fall ist, einen Ersatz eines ersten Bildes erhalten, das von der Bilderfassungsvorrichtung erfasst wird, wobei der Ersatz des ersten Bildes das erste Subjekt umfasst, das die erste Brille trägt, wobei weniger als der Schwellenwert der Okklusion in der ersten Brille, wie in dem Ersatz des ersten Bildes erfasst, vorhanden ist und wobei der erste Umriss der ersten Brille aus einer Darstellung der ersten Brille, die in dem Ersatz des ersten Bildes erfasst wird, bestimmt wird. Es versteht sich, dass der Ersatz des Bilderfassungsprozesses nach Bedarf (oder Wunsch) wiederholt werden kann, z. B., bis weniger als der Schwellenwert der Okklusion in der ersten Brille erkannt wird. Es versteht sich auch, dass in Bildern, in denen eine Brille nicht mit ausreichender Konfidenz erkannt wird, die verbleibenden Schritte des Verfahrens 300 einfach übersprungen und/oder durch einen manuelleren Prozess ersetzt werden können, der einem Benutzer ermöglicht, aus einer Bibliothek von 3D-Objektmodellen von Brillen (oder einer anderen Art von Objekt von Interesse) für ein beliebiges solches 3D-Objektmodell auszuwählen, das sie in ihren Avatar einschließen möchten (z. B., selbst wenn der Benutzer im echten Leben keine Brille trägt).
  • Als Nächstes kann das Verfahren 300 bei Block 304 einen ersten Umriss der ersten Brille bestimmen (z. B. mit der in einer spezifizierten Ansicht ausgerichteten Brille, wie einer Vorderansicht, Rückansicht, Seitenansicht, isometrischen Ansicht usw.). Als Nächstes kann das Verfahren 300 bei Block 306 eine Objektbibliothek erhalten, wobei die Objektbibliothek eine erste Vielzahl von dreidimensionalen Modellen von Brillen umfasst (z. B., wie in der 3D-Modellobjektbibliothek 120 von 1A veranschaulicht). Bei Block 308 kann das Verfahren 300 einen zweiten Umriss für jeden von einem ersten Satz von einem oder mehreren der ersten Vielzahl von 3D-Modellen von Brillen in der Objektbibliothek (wobei z. B. jedes 3D-Modell in der spezifizierten Ansicht ausgerichtet ist, d. h. in derselben ausgerichteten Ansicht, in der der erste Umriss aus der ersten Brille erstellt wurde) bis zu und einschließlich jedes der relevanten 3D-Objektmodelle in der Objektbibliothek bestimmen.
  • Als Nächstes kann das Verfahren 300 bei Block 310 einen Ähnlichkeitswert für jedes der 3D-Modelle von Brillen in dem ersten Satz basierend mindestens teilweise auf einem Vergleich des ersten Umrisses mit dem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Brillen in dem ersten Satz bestimmen. In einigen Implementierungen kann das Verfahren 300 auch durchführen: Bestimmen einer Rangliste der 3D-Modelle von Brillen in dem ersten Satz basierend mindestens teilweise auf ihren jeweiligen Ähnlichkeitswerten (Block 312); Präsentieren, auf einer Anzeige einer Vorrichtung, mindestens eines Teils der Rangliste der 3D-Modelle von Brillen in dem ersten Satz, z. B. wie in 2 veranschaulicht (Block 314); Empfangen, über eine Benutzerschnittstelle, einer Auswahl eines ersten der 3D-Modelle von Brillen in dem ersten Satz (Block 316) und/oder Präsentieren, auf der Anzeige der Vorrichtung, einer Ansicht eines Avatars, der das erste Subjekt darstellt, wobei der Avatar das ausgewählte erste der 3D-Modelle von Brillen trägt (Block 318). Wie gewünscht, kann der Benutzer zu Block 300 (z. B., um ein neues Bild zu erfassen, aus dem sein Avatar erzeugt und/oder angepasst werden soll); Block 314 (z. B., um erneut die Rangliste von 3D-Modellen zu sehen und/oder daraus auszuwählen) und/oder anderen Schritten im Prozess des Verfahrens 300 zurückkehren, z. B. jedes Mal, wenn die zusätzliche Modifikation oder Anpassung von Objekten, die in Verbindung mit seinem Avatar präsentiert werden, erwünscht ist.
  • Nun Bezug nehmend auf 3B ist ein Flussdiagramm gezeigt, das zusätzliche Details zum Durchführen von Block 310 des Verfahrens 300 veranschaulicht. Insbesondere kann bei Block 330 der Vergleich des ersten Umrisses mit einem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Brillen in dem ersten Satz ferner umfassen: Ausrichten des ersten Umrisses und des zweiten Umrisses für das jeweilige 3D-Modell von Brillen in dem ersten Satz (z. B. durch Ausrichten der Schlüsselpunkte der jeweiligen Umrisse). Die Ausrichtung in Schritt 330 kann nach Bedarf das Verschieben, Drehen und/oder Skalieren des ersten Umrisses einschließen, sodass ein gültiger Vergleich mit einem jeweiligen zweiten Umriss vorgenommen werden kann. Als Nächstes kann das Verfahren 300 bei Block 332 die Fläche (z. B. in Bezug auf eine Anzahl von Pixeln) zwischen dem ersten Umriss und dem ausgerichteten zweiten Umriss für das jeweilige 3D-Modell schätzen. In einigen Ausführungsformen kann die Fläche zwischen dem ersten Umriss und einem jeweiligen zweiten Umriss in eine Vielzahl von Parallelogrammen unterteilt sein, wobei die Parallelogramme in Paare von Dreiecken unterteilt sein können, sodass die Flächen jedes Paares von Dreiecken effizient berechnet und über die gesamte Fläche zwischen dem ersten und dem zweiten Umriss summiert werden können. Es versteht sich, dass eine kleinere Fläche (z. B. eine kleinere Anzahl von Gesamtpixeln) zwischen dem ersten und dem zweiten Umriss einen stärkeren Formabgleich zwischen der ersten Brille und dem jeweiligen 3D-Modell, das durch den jeweiligen zweiten Umriss dargestellt wird, widerspiegelt, während eine größere Fläche (z. B. eine größere Anzahl von Gesamtpixeln) zwischen dem ersten und dem zweiten Umriss einen schwächeren Formabgleich zwischen der ersten Brille und dem jeweiligen 3D-Modell, das durch den jeweiligen zweiten Umriss dargestellt wird, widerspiegelt.
  • Unter Bezugnahme auf 3C ist ein Flussdiagramm gezeigt, das zusätzliche Details zum Durchführen von Block 304 des Verfahrens 300 veranschaulicht. Insbesondere kann die Bestimmung des ersten Umrisses der ersten Brille ferner umfassen: Erhalten eines ersten maskierten Bereichs aus dem ersten Bild (wie z. B. des maskierten Bereichs 108, der in 1A veranschaulicht ist), wobei der erste maskierte Bereich eine Angabe von Pixeln aus dem ersten Bild umfasst, das als Teil eines Rahmens der ersten Brille bestimmt wird (Block 340); Extrahieren eines Satzes von Randpixeln aus dem ersten maskierten Bereich (Block 342); Platzieren des Satzes von Randpixeln über ein Gitter, das eine Vielzahl von Zellen umfasst (Block 344); Bestimmen eines Massenschwerpunktes von Randpixeln, die sich innerhalb jeder Zelle des Gitters befinden (Block 346); und Bestimmen des ersten Umrisses der ersten Brille als eine geordnete Liste von Schlüsselpunkten, wobei die Schlüsselpunkte die Massenschwerpunkte von Zellen des Gitters umfassen, das Randpixel enthält, die einen Außenrand des Rahmens der ersten Brille darstellen (Block 348).
  • Unter Bezugnahme auf 3D ist ein Flussdiagramm gezeigt, das zusätzliche Details zum Durchführen von Block 308 des Verfahrens 300 veranschaulicht. Insbesondere kann bei Block 360 die Bestimmung des zweiten Umrisses für jeden eines ersten Satzes der ersten Vielzahl von 3D-Modellen von Brillen in der Objektbibliothek (wie z. B. des zweiten Umrisses 126, der in 1A veranschaulicht ist) für jedes 3D-Modell von Brillen im ersten Satz ferner umfassen: Extrahieren eines Satzes von Randpixeln aus dem jeweiligen 3D-Modell, wie in einer spezifizierten Ansicht ausgerichtet (Block 362); Platzieren des Satzes von Randpixeln über ein Gitter, das eine Vielzahl von Zellen umfasst (Block 364); Bestimmen eines Massenschwerpunktes von Randpixeln, die sich innerhalb jeder Zelle des Gitters befinden (Block 366); und Bestimmen des zweiten Umrisses des jeweiligen 3D-Modells als eine geordnete Liste von Schlüsselpunkten, wobei die Schlüsselpunkte die Massenschwerpunkte von Zellen des Gitters umfassen, das Randpixel enthält, die einen Außenrand des Rahmens des jeweiligen 3D-Modells einer Brille darstellen (Block 368).
  • Beispielhafte Verfahren zum Abgleichen eines Objekts von Interesse in erfassten Bildern
  • Unter Bezugnahme auf 4 ist nun ein Flussdiagramm gezeigt, das ein Verfahren 400 zum Durchführen eines Abgleichens eines Objekts von Interesse in erfassten Bildern, z. B. Avatar-Registrierungsbildem, gemäß verschiedenen Ausführungsformen veranschaulicht. Das Verfahren 400 kann bei Block 402 beginnen, indem ein erstes Bild erhalten wird, das von einer Bilderfassungsvorrichtung erfasst wird, wobei das erste Bild ein erstes Objekt von Interesse umfasst. Es versteht sich, dass das Objekt von Interesse eine beliebige Art von erkennbarem Objekt in einem erfassten Bild (d. h. etwas anderes als eine Brille) sein kann und dass kein menschliches Subjekt in dem erfassten Bild vorhanden sein muss, um das Verfahren 400 durchzuführen. Mit anderen Worten kann ein 3D-Objektmodell, das mit einer 2D-Darstellung des Objekts in einem erfassten Bild übereinstimmt, einem Benutzer zur Auswahl präsentiert werden, egal, ob es für die Präsentation in Verbindung mit einem Avatar oder einer anderen Darstellung eines menschlichen Subjekts ausgewählt wird oder nicht. Als Nächstes kann das Verfahren 400 bei Block 404 einen ersten Umriss des ersten Objekts von Interesse bestimmen (wobei z. B. das Objekt von Interesse in einer spezifizierten Ansicht ausgerichtet ist).
  • Als Nächstes kann das Verfahren 400 bei Block 406 eine Objektbibliothek erhalten, wobei die Objektbibliothek eine erste Vielzahl von 3D-Modellen von Varianten des ersten Objekts von Interesse umfasst. Wenn zum Beispiel das in dem Bild in einem bestimmten Beispiel identifizierte Objekt von Interesse ein Kaffeebecher ist, kann die erhaltene Objektbibliothek eine Vielzahl von Varianten von Kaffeebecherformen und -größen umfassen, die später mit dem im Bild identifizierten Kaffeebecher verglichen werden können, um jeweilige Ähnlichkeitswerte für einen ersten Satz von Kaffeebecherobjektmodellvarianten zu bestimmen.
  • Als Nächstes kann das Verfahren 400 bei Block 408 einen zweiten Umriss für jeden von einem ersten Satz der ersten Vielzahl von 3D-Modellen von Varianten des ersten Objekts von Interesse bestimmen (wobei z. B. jedes 3D-Modell in der spezifizierten Ansicht ausgerichtet ist). Bei Block 410 kann das Verfahren 400 einen Ähnlichkeitswert für jedes der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz mindestens teilweise basierend auf einem Vergleich des ersten Umrisses mit dem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz bestimmen. Zum Beispiel können Techniken zum Bestimmen des Umrissvergleichs und der Ähnlichkeitswertbestimmung, die den oben im Kontext von Brillen beschriebenen ähnlich sind, auch verwendet werden, um Ähnlichkeitswerte zwischen beliebigen gewünschten Objekten von Interesse zu bestimmen, die in Bildern und entsprechenden 3D-Modellvarianten identifiziert wurden.
  • Schließlich kann in einigen Implementierungen das Verfahren 400 eine Rangliste der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz basierend mindestens teilweise auf ihren jeweiligen Ähnlichkeitswerten (Block 412) bestimmen und/oder, auf einer Anzeige einer Vorrichtung, mindestens einen Teil der Rangliste der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz präsentieren (Block 414). Bei Auswahl einer oder mehrerer der Varianten des ersten Objekts von Interesse, das dem Benutzer präsentiert wird, und falls gewünscht, kann das Verfahren 400 auch z. B., auf der Anzeige der Vorrichtung, eine Ansicht eines Avatars präsentieren, der das erste Subjekt darstellt (falls gewünscht), wobei der Avatar in Verbindung mit der/den ausgewählten einen oder mehreren Varianten des ersten Objekts von Interesse präsentiert wird.
  • Es versteht sich, dass die verschiedenen Blöcke, die vorstehend im Kontext der Flussdiagramme in 3A-3D und 4 beschrieben sind, in anderen Reihenfolgen für eine gegebene Implementierung durchgeführt werden können und nicht in der spezifischen Reihenfolge durchgeführt werden müssen, die in den Figuren gezeigt ist. Zusätzlich können ein oder mehrere Blöcke wahlweise in einigen Ausführungsformen durchgeführt und in anderen Ausführungsformen weggelassen werden.
  • Beispielhafte elektronische Rechenvorrichtungen
  • Nun Bezug nehmend auf 5 ist ein vereinfachtes Funktionsblockdiagramm einer veranschaulichenden programmierbaren elektronischen Rechenvorrichtung 500 gemäß einer Ausführungsform gezeigt. Die elektronische Vorrichtung 500 könnte zum Beispiel ein Mobiltelefon, eine persönliche Medienvorrichtung, eine tragbare Kamera oder ein Tablet, ein Notebook oder ein Desktop-Computersystem sein. Wie gezeigt, kann die elektronische Vorrichtung 500 einen Prozessor 505, eine Anzeige 510, eine Benutzerschnittstelle 515, eine Grafikhardware 520, Vorrichtungssensoren 525 (z. B. einen Näherungssensor/Umgebungslichtsensor, einen Beschleunigungsmesser, eine Inertialmesseinheit und/oder ein Gyroskop), ein Mikrofon 530, Audio-Codec(s) 535, (einen) Lautsprecher 540, eine Kommunikationsschaltlogik 545, eine Bilderfassungsvorrichtung 550, die z. B. mehrere Kameraeinheiten/optische Bildsensoren umfassen kann, die unterschiedliche Eigenschaften oder Fähigkeiten aufweisen (z. B. Standbildstabilisierung (SIS), HDR, OIS-Systeme, optischer Zoom, digitaler Zoom usw.), Video-Codec(s) 555, einen Speicher 560, eine Speicherung 565 und einen Kommunikationsbus 570 einschließen.
  • Der Prozessor 505 kann Anweisungen ausführen, die erforderlich sind, um den Betrieb von vielen Funktionen, die von der elektronischen Vorrichtung 500 durchgeführt werden (wie z. B. die Erzeugung und/oder Verarbeitung von Bildern gemäß den hierin beschriebenen verschiedenen Ausführungsformen), auszuführen oder zu steuern. Der Prozessor 505 kann zum Beispiel die Anzeige 510 ansteuern und eine Benutzereingabe von der Benutzerschnittstelle 515 empfangen. Die Benutzerschnittstelle 515 kann eine Vielfalt von Formen annehmen, wie eine Schaltfläche, eine Zehnertastatur, eine Drehsteuerung, ein Click Wheel, eine Tastatur, ein Anzeigebildschirm und/oder ein Touchscreen. Die Benutzerschnittstelle 515 könnte zum Beispiel die Verbindungsstelle sein, über die ein Benutzer einen erfassten Videostrom betrachten kann, und/oder einen oder mehrere bestimmte Bildrahmen angeben, die der Benutzer erfassen möchte (z. B. durch Klicken auf eine physische oder virtuelle Schaltfläche zu dem Zeitpunkt, zu dem der gewünschte Bildrahmen auf dem Anzeigebildschirm der Vorrichtung angezeigt wird). In einer Ausführungsform kann die Anzeige 510 einen Videostream anzeigen, wenn er erfasst wird, während der Prozessor 505 und/oder die Grafikhardware 520 und/oder die Bilderfassungsschaltlogik gleichzeitig den Videostream erzeugen und in dem Speicher 560 und/oder der Speicherung 565 speichern. Der Prozessor 505 kann ein System-on-Chip (SOC) sein, wie er in mobilen Vorrichtungen zu finden ist, und eine oder mehrere dedizierte Grafikverarbeitungseinheiten (GPUs) einschließen. Der Prozessor 505 kann auf Reduced-Instruction-Set-Computer-Architekturen (RISC-Architekturen) oder Complex-Instruction-Set-Computer-Architekturen (CISC-Architekturen) oder einer beliebigen anderen geeigneten Architektur basieren und kann einen oder mehrere Verarbeitungskerne einschließen. Die Grafikhardware 520 kann eine Spezialrechenhardware zum Verarbeiten von Grafiken und/oder Unterstützen des Prozessors 505 beim Durchführen von Rechenvorgängen sein. In einer Ausführungsform kann die Grafikhardware 520 eine oder mehrere programmierbare Grafikverarbeitungseinheiten (GPUs) und/oder einen oder mehrere spezialisierte SOCs einschließen, z. B. einen SOC, der speziell dazu ausgelegt ist, Vorgänge von neuronalen Netzen und von maschinellem Lernen (z. B. Faltungen) energieeffizienter zu implementieren als entweder die zentrale Verarbeitungseinheit (CPU) der Hauptvorrichtung oder eine typische GPU, wie die Neural Engine-Verarbeitungskerne von Apple.
  • Die Bilderfassungsvorrichtung 550 kann eine oder mehrere Kameraeinheiten umfassen, die konfiguriert sind, um Bilder, z. B. Registrierungsbilder, zu erfassen, die verarbeitet werden können, um angepasste 3D-Avatar-Modellversionen der erfassten Bilder gemäß dieser Offenbarung zu erzeugen. Die Ausgabe von der Bilderfassungsvorrichtung 550 kann mindestens teilweise durch den/die Videocodec(s) 555 und/oder den Prozessor 505 und/oder die Grafikhardware 520 und/oder eine/n dedizierte/n Bildverarbeitungseinheit oder Bildsignalprozessor, die/der innerhalb der Bilderfassungsvorrichtung 550 untergebracht ist, verarbeitet werden. Derart erfasste Bilder können in dem Speicher 560 und/oder der Speicherung 565 gespeichert werden. Der Speicher 560 kann eine oder mehrere verschiedene Arten von Medien einschließen, die von dem Prozessor 505, der Grafikhardware 520 und der Bilderfassungsvorrichtung 550 verwendet werden, um Vorrichtungsfunktionen durchzuführen. Zum Beispiel kann der Speicher 560 Speicher-Cache, Festwertspeicher (ROM) und/oder Speicher mit wahlfreiem Zugriff (RAM) einschließen. Die Speicherung 565 kann Medien (z. B. Audio-, Bild- und Videodateien), Computerprogrammanweisungen oder -software, Voreinstellungsinformationen, Vorrichtungsprofilinformationen und beliebige andere geeignete Daten speichern. Die Speicherung 565 kann ein oder mehrere nicht-transitorische Speichermedien, einschließlich zum Beispiel Magnetplatten (fest, Diskette und entfernbar) und Band, optische Medien, wie CD-ROMs und digitale Videodatenträger (DVDs), und Halbleiterspeichervorrichtungen, wie Electrically Programmable Read-Only Memory (EPROM) und Electrically Erasable Programmable Read-Only Memory (EEPROM), einschließen. Der Speicher 560 und die Speicherung 565 können verwendet werden, um Computerprogrammanweisungen oder Code, die in einem oder mehreren Modulen organisiert und in einer beliebigen gewünschten Computerprogrammiersprache geschrieben sind, aufzubewahren. Bei Ausführung zum Beispiel durch den Prozessor 505 kann der Computerprogrammcode eines/einen oder mehrere der hierin beschriebenen Verfahren oder Prozesse implementieren. Die Stromquelle 575 kann eine wiederaufladbare Batterie (z. B. eine Lithium-Ionen-Batterie oder dergleichen) oder eine andere elektrische Verbindung mit einer Stromversorgung, z. B. mit einer Netzstromquelle, umfassen, die dazu dient, die Stromversorgung der elektronischen Komponenten und zugehörigen Schaltlogik der elektronischen Vorrichtung 500 zu verwalten und/oder bereitzustellen.
  • Es sei klargestellt, dass die vorstehende Beschreibung veranschaulichend und nicht einschränkend sein soll. Zum Beispiel können die vorstehend beschriebenen Ausführungsformen in Kombination miteinander verwendet werden. Viele weitere Ausführungsformen werden dem Fachmann nach der Durchsicht der vorstehenden Beschreibung offensichtlich. Der Schutzumfang der Erfindung sollte deshalb Bezug nehmend auf die beigefügten Ansprüche zusammen mit dem vollständigen Schutzumfang von Äquivalenten, die von diesen Ansprüchen abgedeckt werden, bestimmt werden.

Claims (20)

  1. Vorrichtung, umfassend: einen Speicher; eine Bilderfassungsvorrichtung und einen oder mehrere Prozessoren, die mit dem Speicher wirkgekoppelt sind, wobei der eine oder die mehreren Prozessoren dazu konfiguriert sind, Anweisungen auszuführen, die den einen oder die mehreren Prozessoren veranlassen zum: Erhalten eines ersten Bildes, das von der Bilderfassungsvorrichtung erfasst wird, wobei das erste Bild ein erstes Subjekt umfasst, das eine erste Brille trägt; Bestimmen eines ersten Umrisses der ersten Brille; Erhalten einer Objektbibliothek, wobei die Objektbibliothek eine erste Vielzahl von dreidimensionalen (3D) Modellen von Brillen umfasst; Bestimmen eines zweiten Umrisses für jeden von einem ersten Satz der ersten Vielzahl von 3D-Modellen von Brillen in der Objektbibliothek und Bestimmen eines Ähnlichkeitswerts für jedes der 3D-Modelle von Brillen in dem ersten Satz mindestens teilweise basierend auf einem Vergleich des ersten Umrisses mit dem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Brillen in dem ersten Satz.
  2. Vorrichtung nach Anspruch 1, wobei der eine oder die mehreren Prozessoren ferner konfiguriert sind, um Anweisungen auszuführen, die den einen oder die mehreren Prozessoren veranlassen zum: Bestimmen einer Rangliste der 3D-Modelle von Brillen in dem ersten Satz mindestens teilweise basierend auf ihren jeweiligen Ähnlichkeitswerten.
  3. Vorrichtung nach Anspruch 2, wobei die Vorrichtung ferner eine Anzeige umfasst und der eine oder die mehreren Prozessoren ferner konfiguriert sind, um Anweisungen auszuführen, die den einen oder die mehreren Prozessoren veranlassen zum: Präsentieren, auf der Anzeige, mindestens eines Teils der Rangliste der 3D-Modelle von Brillen in dem ersten Satz.
  4. Vorrichtung nach Anspruch 3, wobei die Vorrichtung ferner eine Benutzerschnittstelle umfasst und der eine oder die mehreren Prozessoren ferner konfiguriert sind, um Anweisungen auszuführen, die den einen oder die mehreren Prozessoren veranlassen zum: Empfangen, über die Benutzerschnittstelle, einer Auswahl eines ersten der 3D-Modelle von Brillen in dem ersten Satz und Präsentieren, auf der Anzeige der Vorrichtung, einer Ansicht eines Avatars, der das erste Subjekt darstellt, wobei der Avatar das ausgewählte erste der 3D-Modelle von Brillen trägt.
  5. Vorrichtung nach Anspruch 1, wobei der erste Umriss einen Umriss einer Frontalansicht der ersten Brille umfasst.
  6. Vorrichtung nach Anspruch 1, wobei der Ähnlichkeitswert für jedes der 3D-Modelle von Brillen in dem ersten Satz umfasst: eine geschätzte Fläche zwischen dem ersten Umriss und dem zweiten Umriss für das jeweilige 3D-Modell von Brillen in dem ersten Satz.
  7. Vorrichtung nach Anspruch 6, wobei die Anweisungen zum Bestimmen eines Ähnlichkeitswerts für jedes der 3D-Modelle von Brillen in dem ersten Satz ferner Anweisungen umfassen, die konfiguriert sind, um den einen oder die mehreren Prozessoren zu veranlassen zum: Ausrichten des ersten Umrisses und des zweiten Umrisses für das jeweilige 3D-Modell von Brillen in dem ersten Satz, bevor die Fläche zwischen dem ersten Umriss und dem zweiten Umriss für das jeweilige 3D-Modell geschätzt wird.
  8. Nicht-transitorische Programmspeichervorrichtung (NPSD), umfassend computerlesbare Anweisungen, die von einem oder mehreren Prozessoren ausführbar sind zum: Erhalten eines ersten Bildes, das von einer Bilderfassungsvorrichtung erfasst wird, wobei das erste Bild ein erstes Subjekt umfasst, das eine erste Brille trägt; Bestimmen eines ersten Umrisses der ersten Brille; Erhalten einer Objektbibliothek, wobei die Objektbibliothek eine erste Vielzahl von dreidimensionalen (3D) Modellen von Brillen umfasst; Bestimmen eines zweiten Umrisses für jeden von einem ersten Satz der ersten Vielzahl von 3D-Modellen von Brillen in der Objektbibliothek und Bestimmen eines Ähnlichkeitswerts für jedes der 3D-Modelle von Brillen in dem ersten Satz mindestens teilweise basierend auf einem Vergleich des ersten Umrisses mit dem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Brillen in dem ersten Satz.
  9. NPSD nach Anspruch 8, ferner umfassend computerlesbare Anweisungen, die von dem einen oder den mehreren Prozessoren ausführbar sind zum: Bestimmen einer Rangliste der 3D-Modelle von Brillen in dem ersten Satz mindestens teilweise basierend auf ihren jeweiligen Ähnlichkeitswerten.
  10. NPSD nach Anspruch 9, ferner umfassend computerlesbare Anweisungen, die von dem einen oder den mehreren Prozessoren ausführbar sind zum: Präsentieren, auf einer Anzeige, mindestens eines Teils der Rangliste der 3D-Modelle von Brillen in dem ersten Satz.
  11. NPSD nach Anspruch 10, ferner umfassend computerlesbare Anweisungen, die von dem einen oder den mehreren Prozessoren ausführbar sind zum: Empfangen einer Auswahl eines ersten der 3D-Modelle von Brillen in dem ersten Satz und Präsentieren, auf der Anzeige, einer Ansicht eines Avatars, der das erste Subjekt darstellt, wobei der Avatar das ausgewählte erste der 3D-Modelle von Brillen trägt.
  12. Bildverarbeitungsverfahren, umfassend: Erhalten eines ersten Bildes, das von einer Bilderfassungsvorrichtung erfasst wird, wobei das erste Bild ein erstes Objekt von Interesse umfasst; Bestimmen eines ersten Umrisses des ersten Objekts von Interesse; Erhalten einer Objektbibliothek, wobei die Objektbibliothek eine erste Vielzahl von dreidimensionalen (3D) Modellen von Varianten des ersten Objekts von Interesse umfasst; Bestimmen eines zweiten Umrisses für jeden von einem ersten Satz der ersten Vielzahl von 3D-Modellen von Varianten des ersten Objekts und Bestimmen eines Ähnlichkeitswerts für jedes der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz mindestens teilweise basierend auf einem Vergleich des ersten Umrisses mit dem jeweiligen zweiten Umriss für jedes der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz.
  13. Verfahren nach Anspruch 12, ferner umfassend: Bestimmen einer Rangliste der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz mindestens teilweise basierend auf ihren jeweiligen Ähnlichkeitswerten.
  14. Verfahren nach Anspruch 13, ferner umfassend: Präsentieren, auf einer Anzeige, mindestens eines Teils der Rangliste der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz.
  15. Verfahren nach Anspruch 12, wobei der erste Umriss und jeder der zweiten Umrisse für die 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz umfassen: einen Umriss einer spezifizierten Ansicht des ersten Objekts von Interesse bzw. Umrisse der spezifizierten Ansicht der Varianten des ersten Objekts von Interesse.
  16. Verfahren nach Anspruch 12, wobei der Ähnlichkeitswert für jedes der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz umfasst: eine geschätzte Fläche zwischen dem ersten Umriss und dem zweiten Umriss für das jeweilige 3D-Modell der Varianten des ersten Objekts von Interesse in dem ersten Satz.
  17. Verfahren nach Anspruch 16, wobei das Bestimmen eines Ähnlichkeitswerts für jedes der 3D-Modelle von Varianten des ersten Objekts von Interesse in dem ersten Satz ferner umfasst: Ausrichten des ersten Umrisses und des zweiten Umrisses für das jeweilige 3D-Modell der Variante des ersten Objekts von Interesse in dem ersten Satz vor dem Schätzen der Fläche zwischen dem ersten Umriss und dem zweiten Umriss für das jeweilige 3D-Modell.
  18. Verfahren nach Anspruch 12, wobei das Bestimmen eines ersten Umrisses des ersten Objekts von Interesse ferner umfasst: Erhalten eines ersten maskierten Bereichs aus dem ersten Bild, wobei der erste maskierte Bereich eine Angabe von Pixeln aus dem ersten Bild umfasst, das als Teil des ersten Objekts von Interesse bestimmt wird.
  19. Verfahren nach Anspruch 18, wobei das Bestimmen eines ersten Umrisses des ersten Objekts von Interesse ferner umfasst: Extrahieren eines Satzes von Randpixeln aus dem ersten maskierten Bereich; Platzieren des Satzes von Randpixeln über ein Gitter, das eine Vielzahl von Zellen umfasst; Bestimmen eines Massenschwerpunktes von Randpixeln, die sich innerhalb jeder Zelle des Gitters befinden; und Bestimmen des ersten Umrisses des ersten Objekts von Interesse als eine geordnete Liste von Schlüsselpunkten, wobei die Schlüsselpunkte die Massenschwerpunkte von Zellen des Gitters umfassen, das Randpixel enthält, die einen Außenrand des ersten Objekts von Interesse darstellen.
  20. Verfahren nach Anspruch 12, wobei das Bestimmen eines zweiten Umrisses für jeden eines ersten Satzes der ersten Vielzahl von 3D-Modellen von Varianten des ersten Objekts von Interesse in der Objektbibliothek ferner umfasst: für jedes 3D-Modell von Varianten des ersten Objekts von Interesse in dem ersten Satz: Extrahieren eines Satzes von Randpixeln aus dem jeweiligen 3D-Modell, wie in einer spezifizierten Ansicht ausgerichtet; Platzieren des Satzes von Randpixeln über ein Gitter, das eine Vielzahl von Zellen umfasst; Bestimmen eines Massenschwerpunktes von Randpixeln, die sich innerhalb jeder Zelle des Gitters befinden; und Bestimmen des zweiten Umrisses des jeweiligen 3D-Modells als eine geordnete Liste von Schlüsselpunkten, wobei die Schlüsselpunkte die Massenschwerpunkte von Zellen des Gitters umfassen, das Randpixel enthält, die einen Außenrand des jeweiligen 3D-Modells einer Variante des ersten Objekts von Interesse darstellen.
DE102022208561.2A 2021-08-23 2022-08-18 Accessoire-erkennung und bestimmung für avatar-registrierung Pending DE102022208561A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163236082P 2021-08-23 2021-08-23
US63/236,082 2021-08-23

Publications (1)

Publication Number Publication Date
DE102022208561A1 true DE102022208561A1 (de) 2023-02-23

Family

ID=85132545

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022208561.2A Pending DE102022208561A1 (de) 2021-08-23 2022-08-18 Accessoire-erkennung und bestimmung für avatar-registrierung

Country Status (4)

Country Link
US (1) US20230055013A1 (de)
KR (1) KR20230029533A (de)
CN (1) CN115713619A (de)
DE (1) DE102022208561A1 (de)

Also Published As

Publication number Publication date
KR20230029533A (ko) 2023-03-03
CN115713619A (zh) 2023-02-24
US20230055013A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
EP3631570B1 (de) Verfahren, vorrichtung und computerprogramm zum virtuellen anpassen einer brillenfassung
Brennan Caricature generator
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102018102194A1 (de) Elektronische Einrichtung, Informationsverarbeitungsverfahren und Programm
EP2691934B1 (de) Phantombilddatenbank (3d)
CN101779218A (zh) 化妆模拟系统、化妆模拟装置、化妆模拟方法以及化妆模拟程序
JP2005038375A (ja) 目の形態分類方法及び形態分類マップ並びに目の化粧方法
US20110194757A1 (en) Image processing apparatus using the difference among scaled images as a layered image and method thereof
KR20080084933A (ko) 얼굴 분류 방법, 얼굴 분류 장치, 분류맵, 얼굴 분류프로그램, 및 상기 프로그램이 기록된 기록매체
CN110531853B (zh) 一种基于人眼注视点检测的电子书阅读器控制方法及系统
CN109584153A (zh) 修饰眼部的方法、装置和系统
Koutras et al. A perceptually based spatio-temporal computational framework for visual saliency estimation
DE212020000467U1 (de) Vorrichtung, um ein Video mit einer computermodifizierten Abbildung eines erwünschten Gesichts einer Person bereitzustellen
DE102014114131A1 (de) Verfahren zur Informationsverarbeitung und elektronisches Gerät
TWI471807B (zh) Face classification method, face classification device, classification chart, face classification program and recorded the program of the recording media
DE102022208561A1 (de) Accessoire-erkennung und bestimmung für avatar-registrierung
Findlay et al. Perceptual cues and object recognition
Wang et al. Style transformed synthetic images for real world gaze estimation by using residual neural network with embedded personal identities
Hsiao et al. A method for the analysis of the interaction between users and objects in 3D navigational space
DE212020000466U1 (de) System, um eine computermodifizierte Visualisierung des erwünschten Gesichts einer Person bereitzustellen
DE112018006367T5 (de) Informationsverarbeitungseinrichtung, Informationsverarbeitungsverfahren und Programm.
DE112018003790T5 (de) Verfahren und System zur Einschätzung einer Kopfhaltung
DE102018006838A1 (de) Dynamisches Mapping von virtuellen und physischen Interaktionen
DE102023209330A1 (de) Ausrichten von benutzerdarstellungen
Groth et al. Automatic Face Re-enactment in Real-World Portrait Videos to Manipulate Emotional Expression

Legal Events

Date Code Title Description
R012 Request for examination validly filed