DE112017006406T5 - Intelligentes automatisches zuschneiden von bildern - Google Patents

Intelligentes automatisches zuschneiden von bildern Download PDF

Info

Publication number
DE112017006406T5
DE112017006406T5 DE112017006406.6T DE112017006406T DE112017006406T5 DE 112017006406 T5 DE112017006406 T5 DE 112017006406T5 DE 112017006406 T DE112017006406 T DE 112017006406T DE 112017006406 T5 DE112017006406 T5 DE 112017006406T5
Authority
DE
Germany
Prior art keywords
image
user
metadata
mask
computer
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
DE112017006406.6T
Other languages
English (en)
Inventor
Amit Kumar Agrawal
Alexander Adrian Hugh Davidson
Prakash Ramu
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies 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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of DE112017006406T5 publication Critical patent/DE112017006406T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/194Segmentation; Edge detection involving foreground-background segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/15Processing image signals for colour aspects of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/207Image signal generators using stereoscopic image cameras using a single 2D image sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/356Image reproducers having separate monoscopic and stereoscopic modes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • G06T2207/10012Stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Im Vorliegenden können Techniken zum Bereitstellen einer genauen Funktion des automatischen Zuschneidens für Bilder, die von einer Bilderfassungsvorrichtung erfasst wurden, beschrieben werden. Beispielsweise können eine oder mehrere Bildmasken für ein Farbbild, das von einer Bilderfassungsvorrichtung erfasst wurde, von einem Computersystem empfangen werden. Metadaten über das Farbbild, die Teile des Bildes als Vordergrund und das Farbbild selbst identifizieren, können ebenfalls vom Computersystem empfangen werden. Ferner kann eine Darstellung eines Benutzers und eines einem Benutzer zugeordneten Bodenbereichs unter Verwendung der einen oder mehreren Bildmasken und der Metadaten aus dem Farbbild extrahiert werden. Ein erster Bereich des Farbbildes kann in Bezug auf die extrahierte Darstellung des Benutzers und den dem Benutzer zugeordneten Bodenbereich zugeschnitten werden, um einen zweiten Bereich des Farbbildes zu erzeugen. In Ausführungsformen kann ein dritter Bereich des Farbbildes basierend auf den empfangenen Metadaten verschleiert werden.

Description

  • HINTERGRUND
  • Mit netzwerkfähigen Vorrichtungen können Menschen eine Vielzahl von Funktionen ausführen, die zuvor nur von mehreren separaten Vorrichtungen ausgeführt wurden. Bei Verwendung einer netzwerkfähigen Vorrichtung kann ein Benutzer beispielsweise Medien wie Musik und Filme streamen, online nach Artikeln oder Diensten suchen oder Videospiele spielen, also Aktivitäten ausführen, für die zuvor die Verwendung eines Radios, Fernsehers, persönliches Einkaufen oder eine Videospielkonsole erforderlich war. Heutzutage können Benutzer die technologisch fortschrittlicheren Vorrichtungen nutzen, um eine Reihe von Zielen zu erreichen, z. B. eine größere soziale Online-Präsenz, indem sie aktiver mit Social-Media-Websites umgehen. Zum Beispiel kann ein Benutzer Informationen darüber posten oder bereitstellen, wo er sich befindet, was er tut oder Bilder von sich selbst. Wenn Benutzer mehr Informationen austauschen, werden sie möglicherweise davon verunsichert, wie sie aussehen oder was sie tragen. In der heutigen geschäftigen Welt ist es jedoch für Benutzer schwierig, genau zu beurteilen, wie bestimmte Outfits ausgesehen haben, wann ein bestimmtes Outfit getragen wurde und was ein bestimmtes Outfit ausmachte, wenn sie einen bestimmten Look oder Stil nachbilden möchten. Gegenwärtige Technologien verfügen nur über begrenzte Fähigkeiten, um es einem Benutzer zu ermöglichen, ein bestimmtes Aussehen oder einen bestimmten Stil wiederherzustellen. Dies kann sich nachteilig auf den Informationsaustausch und die soziale Aktivität des Benutzers auswirken.
  • Figurenliste
  • Verschiedene Ausführungsformen der vorliegenden Offenbarung werden in Bezug auf die Zeichnungen beschrieben, in denen:
    • 1 einen beispielhaften Arbeitsablauf für eine Service-Funktion des automatischen Zuschneidens gemäß mindestens einer Ausführungsform darstellt;
    • 2 Beispiele eines Maskenbildes und eines Farbbildes, die außermittig sind und von einer Bilderfassungsvorrichtung erfasst werden, gemäß mindestens einer Ausführungsform darstellt;
    • 3 Beispiele eines Maskenbildes und eines Farbbildes darstellt, die gemäß der hierin beschriebenen Funktion des automatischen Zuschneidens automatisch zugeschnitten wurden, um ein zentrierteres und nützlicheres Bild für einen Benutzer gemäß mindestens einer Ausführungsform zu erzeugen;
    • 4 Beispiele für eine Mittelschnittoperation darstellt, die von herkömmlichen Bildverarbeitungsanwendungen durchgeführt wird, und eine automatisches Zuschneiden-Operation, die von der hier beschriebenen Funktion des automatischen Zuschneidens durchgeführt wird, gemäß mindestens einer Ausführungsform;
    • 5 eine beispielhafte Maske darstellt, die Vordergrundobjekte und Hintergrundobjekte gemäß mindestens einer Ausführungsform identifiziert;
    • 6 ein beispielhaftes Flussdiagramm für eine Service-Funktion des automatischen Zuschneidens gemäß mindestens einer Ausführungsform darstellt;
    • 7 ein beispielhaftes Flussdiagramm für eine Service-Funktion des automatischen Zuschneidens gemäß mindestens einer Ausführungsform darstellt;
    • 8 eine beispielhafte Architektur zum Implementieren einer Service-Funktion des automatischen Zuschneidens darstellt, die mindestens eine Benutzervorrichtung, eine Bilderfassungsvorrichtung und einen oder mehrere Dienstanbieter-Computer gemäß mindestens einer Ausführungsform umfasst und
    • 9 eine Umgebung darstellt, in der verschiedene Ausführungsformen implementiert werden können.
  • DETAILLIERTE BESCHREIBUNG
  • In der folgenden Beschreibung werden verschiedene Ausführungsformen beschrieben. Zu Erklärungszwecken werden spezifische Konfigurationen und Details angegeben, um ein gründliches Verständnis der Ausführungsformen zu ermöglichen. Für den Fachmann ist es jedoch auch offensichtlich, dass die Ausführungsformen ohne die spezifischen Details ausgeführt werden können. Weiterhin können bekannte Merkmale weggelassen oder vereinfacht werden, um die beschriebene Ausführungsform nicht zu verdecken.
  • Die hierin beschriebenen Techniken ermöglichen eine Funktion des automatischen Zuschneidens, bei der eine Maske und ein Farbbild eines Benutzers (oder eines beliebigen Artikels, Gegenstands usw.) verwendet werden, die von einer Bilderfassungsvorrichtung erfasst werden, um sie intelligent und ohne den Benutzer in dem Bild umgebende überflüssige Bereiche zuzuschneiden (d. h. diese zu entfernen) und das Bild neu zu fokussieren, so dass die Darstellung des Benutzers in dem überarbeiteten oder resultierenden Bild im Vordergrund steht, zentriert ist und mit einer höheren Klarheit als andere Gegenstände in dem Bild, wie beispielsweise der Hintergrund, dargestellt wird. In einigen Beispielen kann „automatisches Zuschneiden“ als computerimplementierte Operation beschrieben werden, bei der die Größe eines Bildinhalts geändert oder der Inhalt neu angepasst wird. Wie hierin verwendet, umfasst „Zuschneiden“ oder „zuschneiden“ das Entfernen eines oder mehrerer Bereiche eines Bildes. In Ausführungsformen kann das automatische Zuschneiden das Zuschneiden oder Entfernen von überflüssigen Bereichen eines Bildes umfassen, um eine Komposition besser an die Darstellung eines Benutzers im Bild selbst anzupassen oder deren Größe zu ändern, und kann das Anpassen eines Seitenverhältnisses des Bildes umfassen. Gemäß mindestens einer Ausführungsform kann das automatische Zuschneiden durch eine native Anwendung auf der Computervorrichtung eines Benutzers (d. h. Mobiltelefon, Laptop, Tablet-Computer, Videospielvorrichtung usw.) implementiert werden, die Informationen von einer Bilderfassungsvorrichtung empfängt zum genauen automatischen Zuschneiden eines Bildes, um ein Bild mit der richtigen Größe und ein zentriertes Bild eines Benutzers in der Bildkomposition darzustellen. In einigen Ausführungsformen kann eine Computervorrichtung einer Bilderfassungsvorrichtung zugeordnet und dazu konfiguriert sein, die hierin beschriebene Funktion des automatischen Zuschneidens zu verwenden, wobei in diesem Fall die relevanten Informationen, die zum automatischen Zuschneiden eines Bildes erforderlich sind, erhalten werden würden, anstatt von einer separaten Bilderfassungsvorrichtung empfangen zu werden. Beispielsweise kann die Benutzervorrichtung, die zum Verwenden einer Anwendung konfiguriert ist, die die Funktion des automatischen Zuschneidens implementiert, auch zum Verwenden eines Tiefensensors und eines Farbsensors zum Erfassen und Erhalten eines Maskenbildes und eines Farbbildes eines Benutzers konfiguriert sein.
  • In einem nicht einschränkenden Beispiel kann sich ein Benutzer vor einer Bilderfassungsvorrichtung positionieren, um ein Bild von sich selbst und dem aktuell von ihm getragenen Outfit zu erfassen. Wie hierin beschrieben, kann die Bilderfassungsvorrichtung einen Tiefensensor verwenden, um ein Tiefenbild des Benutzers zu erfassen, und einen Farbsensor, um ein Farbbild des Benutzers zu erfassen und Metadaten zu erzeugen, die Teile des Bildes als Vordergrund, Hintergrund oder Fuß- oder Bodenregion identifizieren. Die Maske, das Farbbild und die Metadaten können über ein verfügbares Netzwerk, beispielsweise ein drahtloses Netzwerk, an das Mobiltelefon des Benutzers übertragen werden. Eine Anwendung des Mobiltelefons kann die empfangenen Informationen interpretieren, um bestimmte Teile des Bildes zu entfernen und automatisch zuzuschneiden oder eine Darstellung des Benutzers und einen Boden- oder Fußbereich innerhalb der Zusammensetzung des nicht entfernten Teils des Bildes anzupassen. Das resultierende oder überarbeitete Bild kann dann dem Benutzer über eine Benutzerschnittstelle des Mobiltelefons angezeigt werden. Wie hierin beschrieben, kann der Benutzer mit der Benutzerschnittstelle interagieren, um mehrere automatisch zugeschnittene Bilder von sich selbst in verschiedenen Outfits anzuzeigen, in einem Outfit enthaltene Artikel nachzubestellen oder neu zu bestellen oder Teile von Bildern zu kombinieren, um ein neues Outfit zu Vergleichszwecken zu erzeugen.
  • In Ausführungsformen kann eine Bilderfassungsvorrichtung mindestens einen Tiefensensor enthalten, der zum Erfassen von Tiefeninformationen oder eines Tiefenbildes eines Benutzers konfiguriert ist, und einen Farbsensor, der zum Erfassen eines Farbbildes des Benutzers konfiguriert ist. Ein Beispiel für eine Bilderfassungsvorrichtung kann einen Intel® SR 300-Sensor umfassen, der so konfiguriert ist, dass er einen Tiefensensor zum Erfassen eines dreidimensionalen (3D) Bildes eines Benutzers und eine Rot-Grün-Blau-Kamera (RGB) zum Erfassen eines Farbbildes des Benutzers verwendet. Die Bilderfassungsvorrichtung kann dazu konfiguriert sein, eine oder mehrere Softwareanwendungen oder Algorithmen zu verwenden, die von den Softwarealgorithmen implementiert werden, um das 3D-Bild des Benutzers in dem Tiefenbild in eine zweidimensionale (2D) Maske oder ein Maskenbild zu übersetzen oder umzuwandeln und Metadaten zu erzeugen, die eine relative Tiefe jedes Pixels identifizieren, sowie eine Identifikation des Vordergrunds oder Hintergrunds und eine Farbe für jedes Pixel eines von der Bilderfassungsvorrichtung erfassten Bildes. Gemäß mindestens einer Ausführungsform kann die Bilderfassungsvorrichtung das 3D-Tiefenbild unter Verwendung des Farbbildes als Referenz und der Erfassung von Vordergrundobj ekten gegenüber Hintergrundobj ekten in ein 2D-Maskenbild umwandeln, um eine Darstellung des Benutzers aus dem Farbbild zu extrahieren. Die Bilderfassungsvorrichtung kann so konfiguriert sein, dass sie das 2D-Maskenbild, das Farbbild und die Metadaten an die Computervorrichtung eines Benutzers überträgt, auf der die native Anwendung die hierin beschriebenen Funktionen des automatischen Zuschneidens unter Verwendung des 2D-Maskenbildes ausführen kann. In einigen Ausführungsformen können die Bilderfassungsvorrichtung und zugehörige Softwareanwendungen oder Algorithmen eine Maske unter Verwendung des Farbbildes erzeugen.
  • Gemäß mindestens einer Ausführungsform kann die Bilderfassungsvorrichtung konfiguriert sein, um einen Fußbereich des Benutzers durch Markieren bestimmter Teile des Bildes in den Metadaten als einen Boden- oder Benutzerfußbereich zu identifizieren oder zu approximieren. Tiefensensoren haben häufig Probleme, Vorder- und Hintergrundobjekte in der Nähe von sich kreuzenden Ebenen zu identifizieren, z. B. dort, wo sich die Füße des Benutzers mit dem Boden eines Raums schneiden. In Ausführungsformen ist die Bilderfassungsvorrichtung dazu konfiguriert, Pixeln, die in die Schnittebenen fallen (z. B. „Fußbereich des Benutzers“), eindeutige Werte zuzuweisen, die in den Metadaten enthalten sein können. Die Anwendung, die die Funktion des automatischen Zuschneidens implementiert, kann die Metadaten interpretieren und andere Teile der Darstellung des Benutzers (d. h. den Kopf- und Körperbereich des Benutzers) im Bild intelligent mit dem Fuß- oder Bodenbereich eines Bildes kombinieren, um eine genaue Vordergrunddarstellung des Benutzers in einem überarbeiteten Bild zu erstellen. Die hierin beschriebene Funktion des automatischen Zuschneidens kann das Präsentieren oder Anzeigen eines überarbeiteten und automatisch zugeschnittenen Bildes eines Benutzers für den Benutzer über seine zugeordnete Benutzervorrichtung umfassen.
  • Die Anwendung der Benutzervorrichtung kann dazu konfiguriert sein, eine Unschärfeoperation oder eine andere geeignete Verschleierungsoperation für Gegenstände oder Pixel durchzuführen, die als Hintergrund markiert sind, wie durch die von der Bilderfassungsvorrichtung empfangenen Metadaten identifiziert. Auf diese Weise erhält der Benutzer ein intelligentes und genau zugeschnittenes Bild von sich selbst, das eine größere Klarheit aufweist, genau an die Bildzusammensetzung angepasst oder in der Größe angepasst ist und Hintergrundobjekte unscharf macht oder entfernt. Das überarbeitete Bild, das dem Benutzer präsentiert wird, kann verwendet werden, um zuvor vom Benutzer getragene Outfits durch Vergleichen anderer zuvor aufgenommener und automatisch zugeschnittener Bilder zu vergleichen. In Ausführungsformen kann die von der Anwendung implementierte Funktion des automatischen Zuschneidens einen historischen Katalog von erfassten und automatisch zugeschnittenen Bildern des Benutzers führen, um die Outfits zu vergleichen, als Katalog der Garderobe des Benutzers zu dienen und Outfits zu mischen und anzupassen durch Entfernen von Teilen eines Benutzers in einem Bild und Ersetzen durch andere Teile aus anderen automatisch zugeschnittenen Bildern. Beispielsweise kann ein Benutzer mit einer Benutzeroberfläche interagieren, um den Beinbereich seines Körpers zu entfernen und ihn durch einen Beinbereich eines anderen erfassten und gespeicherten Bildes zu ersetzen, um zu vergleichen, wie unterschiedliche Hosen oder Röcke mit einem bestimmten Hemd oder einer bestimmten Bluse aussehen würden. Gemäß mindestens einer Ausführungsform kann die Anwendung, die die Funktion des automatischen Zuschneidens implementiert, so konfiguriert sein, dass sie einen Artikelerkennungsalgorithmus verwendet, um einen oder mehrere Artikel zu identifizieren, die in dem Bild des Benutzers enthalten sind, wie z. B. ein Hemd, eine Bluse, eine Hose, einen Rock, einen Hut oder Schuhe, die der Benutzer trägt.
  • Die native Anwendung kann einen Katalog von Artikeln, die von einem elektronischen Marktplatz verwaltet werden, mit dem Artikelerkennungsalgorithmus nutzen, um die Artikel in dem Bild zu identifizieren und eine Option darzustellen oder dem Benutzer zu ermöglichen, die Artikel von dem elektronischen Marktplatz zu kaufen. In einigen Ausführungsformen kann die Service-Funktion des automatischen Zuschneidens automatisch Listen von Artikelwebseiten generieren, wenn ein Artikel in einem Bild erkannt wird, um den Artikel über einen Online-Marktplatz oder einen elektronischen Marktplatz anzubieten. Geeignete Artikelerkennungsalgorithmen können das Analysieren von Barcodes oder Etiketten umfassen, die mit einem im Bild enthaltenen Artikel verknüpft sind. Die im Bild enthaltenen Barcodes oder Etiketten können mit einer Barcode- oder Etikettendatenbank abgeglichen werden, um den Artikel im Bild zu identifizieren. In einigen Ausführungsformen kann ein Bild über einen Algorithmus analysiert werden, um Bildeigenschaften für jeden in einem Bild enthaltenen Artikel zu bestimmen. Die optische Zeichenerkennung kann verwendet werden, um Etiketten oder Markierungen zu verarbeiten, die einem Artikel im Bild zugeordnet und mit Etiketten oder Markierungen anderer Artikel in einem Artikelkatalog abgeglichen sind. In Ausführungsformen kann ein Bildverarbeitungsalgorithmus ein Bild in mehrere Teile fragmentieren und jeden Teil einzeln verarbeiten, um in einem Bild enthaltene Artikel zu identifizieren. In einigen Implementierungen kann ein Benutzer in dem Bild enthaltene Bereiche oder Artikel einzeln identifizieren oder markieren, um einem Algorithmus zu ermöglichen, die in dem Bild enthaltenen Artikel zu identifizieren.
  • 1 stellt einen beispielhaften Arbeitsablauf für eine Service-Funktion des automatischen Zuschneidens gemäß mindestens einer Ausführungsform dar. Der Arbeitsablauf 100 von 1 enthält eine Bilderfassungsvorrichtung 102, die ein Tiefenbild des Benutzers erfasst 104 (wie durch die gestrichelten Linien angedeutet), das zum Erzeugen des Maskenbildes 106 verwendet werden kann, und ein Farbbild 108 eines Benutzers 110. Der Benutzer kann mit einer Benutzervorrichtung 112 interagieren, um den Bilderfassungsprozess durch die Bilderfassungsvorrichtung 102 zu beginnen, oder direkt mit der Bilderfassungsvorrichtung 102 interagieren, um mit der Erfassung von Bildern des Benutzers 110 zu beginnen. Gemäß mindestens einer Ausführungsform kann die Bilderfassungsvorrichtung 102 einen Tiefensensor 114 und einen Farbsensor 116 enthalten. In Ausführungsformen kann der Tiefensensor 114 dazu konfiguriert sein, ein 3D-Tiefenbild oder Tiefeninformationen des Benutzers 110 zu erfassen, die verwendet werden können, um das Maskenbild 106 unter Verwendung einer Softwareanwendung und/oder eines Algorithmus der Bilderfassungsvorrichtung 102 zu erzeugen. Der Farbsensor 116 kann dazu konfiguriert sein, ein Farbbild oder ein RGB-Bild (108) des Benutzers 110 aufzunehmen. In Ausführungsformen kann die Bilderfassungsvorrichtung dazu konfiguriert sein, eine Tiefe für jedes im Farbbild 108 enthaltene Pixel zu bestimmen, ein Pixel als im Vordergrund oder Hintergrund des Farbbildes 108 liegend zu identifizieren und Metadaten zu erzeugen, die die Tiefe, die Bestimmung des Vordergrundes/Hintergrundes und die Farbe jedes Pixels aus den aufgenommenen Bildern 106 und 108 angeben. Die Bilderfassungsvorrichtung 102 kann dazu konfiguriert sein, das 3D-Tiefenbild oder die Tiefeninformationen des Benutzers 110 in ein 2D-Maskenbild (106) umzuwandeln, wobei das Farbbild 108 und die Tiefe jedes Pixels und die Identifizierung von Vordergrundgegenständen gegenüber Hintergrundobjekten verwendet werden, wie dies durch die Metadaten angezeigt ist.
  • Im Arbeitsablauf 100 werden das Farbbild des Benutzers 108, das Maskenbild 106 und die Metadaten über Netzwerke 118 an die Benutzervorrichtung 112 übertragen. Eine Anwendung, die dazu konfiguriert ist, auf der Benutzervorrichtung 112 ausgeführt zu werden, kann die hierin beschriebene Funktion des automatischen Zuschneidens implementieren. In einigen Ausführungsformen werden das Farbbild des Benutzers 108, das Maskenbild 106 und die Metadaten über Netzwerke 118 an einen oder mehrere Dienstanbieter-Computer 120 zur ähnlichen Verarbeitung wie die Anwendung auf der Benutzervorrichtung 112 übertragen. Wie hierin beschrieben, kann die Anwendung der Benutzervorrichtung 112 eine Darstellung des Benutzers, einen dem Benutzer zugeordneten Bodenbereich, aus dem Farbbild 108 extrahieren, einen oder mehrere Bereiche des Farbbildes 108 entfernen, die extrahierte Darstellung des Benutzers und den Bodenbereich zum automatischen Zuschneiden, Ändern der Größe oder Anpassen in den Bereich, der nicht entfernt wurde, um besser in die Zusammensetzung des resultierenden Bildes zu passen, und zum Weichzeichnen aller verbleibenden Bereiche, die nicht als Vordergrund (d. h. Hintergrund) angegeben sind, kombinieren, basierend auf den Metadaten. Der Arbeitsablauf 100 zeigt ein Beispiel für das Farbbild 108 und das Maskenbild 106, das automatisch zugeschnitten wurde, um überflüssige Bereiche zu entfernen und die Darstellung des Benutzers neu zusammenzustellen, um zentrierter zu sein und den Benutzer bei 122 genau darzustellen. Die Benutzervorrichtung 112 kann dem Benutzer 110 über eine Benutzerschnittstelle das überarbeitete Bild 122 anzeigen. In einigen Ausführungsformen kann das überarbeitete Bild 122 über Netzwerke 118 an einen oder mehrere Dienstanbieter-Computer 120 übertragen werden, um bei 124 eine historische Sammlung von automatisch zugeschnittenen Bildern des Benutzers zu führen.
  • Gemäß mindestens einer Ausführungsform kann der Benutzer 110 mit der Benutzervorrichtung 112 interagieren, um durch eine Vielzahl von anderen automatisch zugeschnittenen Bildern von sich selbst zu scrollen oder zu blättern, um zu sehen, wie sie in bestimmten Outfits ausgesehen haben, wenn bestimmte Outfits getragen wurden, oder um Outfits zu mischen und anzupassen, durch Ausschneiden von Teilen eines Bildes und Kleben auf ein anderes Bild (z. B. Entfernen eines Hemds und Ersetzen durch ein Hemd aus einem anderen automatisch zugeschnittenen Bild). In Ausführungsformen können die Benutzervorrichtung 112 und die Bilderfassungsvorrichtung 102 einander zugeordnet sein oder Komponenten voneinander enthalten, so dass eine Kommunikation über Netzwerke 118 nicht erforderlich ist. Gemäß mindestens einer Ausführungsform können die Dienstanbieter-Computer 120 oder die Benutzervorrichtung 112 dazu konfiguriert sein, Gegenstände oder Artikel in dem automatisch zugeschnittenen Bild 122 zu identifizieren, um es dem Benutzer 110 zu ermöglichen, die identifizierten Artikel oder Gegenstände zu kaufen, neu zu bestellen oder zum Verkauf an andere Benutzer anzubieten.
  • 2 stellt Beispiele eines Maskenbildes und eines Farbbildes, die außermittig sind und von einer Bilderfassungsvorrichtung erfasst werden, gemäß mindestens einer Ausführungsform dar. 2 stellt ein Beispiel eines anfänglichen Farbbildes, das von einem Benutzer bei 202 durch eine Bilderfassungsvorrichtung (102 von 1) erfasst wurde und eines Maskenbildes 204 des Benutzers dar, das unter Verwendung eines Tiefenbildes oder von Tiefeninformationen erzeugt wird, die gleichzeitig von der Bilderfassungsvorrichtung erfasst werden. Wie in 2 dargestellt, ist das anfängliche Farbbild, das von dem Benutzer 202 erfasst wurde, außermittig, umfasst Bereiche des Hintergrunds, die nicht erforderlich sind, und der Benutzer ist nicht der Hauptfokus oder das klare Objekt des Bildes. 2 zeigt auch den ungefähren Fußbereich des Benutzers 206. Wie hierin beschrieben, kompensiert das Maskenbild 204 Probleme, die mit sich überschneidenden Ebenen verbunden sind, wenn Tiefenbilder von sich überschneidenden Ebenen, wie z. B. Füßen und dem Boden, aufgenommen werden, indem ein Bereich um die Füße des Benutzers angenähert wird und den Pixeln im ungefähren Bereich bestimmte Werte zugewiesen werden, welche die Region als Fußregion angeben und als Vordergrund einzubeziehen sind. In Ausführungsformen kann die Anwendung, die die Funktion des automatischen Zuschneidens implementiert, die Darstellung des Benutzers, die unter Verwendung des Maskenbildes 204 und des ungefähren Fußbereichs des Benutzers 206 extrahiert wurde, aus dem Farbbild 202 intelligent und genau kombinieren. Diese extrahierte Darstellung der Benutzer- und Fußbereichskombination kann verwendet werden, um das anfängliche Farbbild 202 automatisch zuzuschneiden, um das Bild in der Zusammensetzung des Bildes besser anzupassen und seine Größe zu ändern und ein zentrierteres und nützlicheres Bild des Benutzers zu erzeugen.
  • 3 stellt Beispiele eines Maskenbildes und eines Farbbildes dar, die gemäß der hierin beschriebenen Funktion des automatischen Zuschneidens automatisch zugeschnitten wurden, um ein zentrierteres und nützlicheres Bild für einen Benutzer gemäß mindestens einer Ausführungsform zu erzeugen. 3 enthält das automatisch zugeschnittene Bild des Benutzers 302 und das automatisch zugeschnittene und kombinierte Bild des Benutzers und des Fußbereichs in dem Maskenbild 304. Wie in 1 und wieder in 3 dargestellt, wurden bei der Darstellung des Benutzers 306 bestimmte Bereiche aus dem anfänglichen Farbbild 202 von 2 entfernt und die Darstellung wurde automatisch zugeschnitten, um besser in die Komposition des Bildbereichs in 302 zu passen. 3 zeigt auch das Maskenbild der Kombination des ungefähren Fußbereichs und der Darstellung des Benutzers bei 304. Wie hierin beschrieben, können andere Teile des automatisch zugeschnittenen Bildes 302 gemäß einer Benutzerpräferenz verschwommen sein. Das Maskenbild 304 ermöglicht eine engere Anpassung um die Darstellung des Benutzers in einem Bild und somit ein genaueres automatisches Zuschneiden, das eine größere Menge von überflüssigen Bereichen und eine Unschärfe von Hintergrunddetails entfernen kann, so dass ein klareres Bild des Benutzers über die Benutzervorrichtung dargestellt wird.
  • 4 stellt Beispiele für eine Mittelschnittoperation dar, die von herkömmlichen Bildverarbeitungsanwendungen durchgeführt wird, und eine automatisches Zuschneiden-Operation, die von der hier beschriebenen Funktion des automatischen Zuschneidens durchgeführt wird, gemäß mindestens einer Ausführungsform. 4 zeigt ein Beispiel herkömmlicher Funktionen des automatischen Zuschneidens, die bei 402 einen stumpfen Zentriervorgang ausführen. Wie in dem Maskenbild dargestellt, bei dem eine Mittelschnittoperation durchgeführt worden ist 402, existiert ein großer nicht erforderlicher Bereich 404, der zu einer tatsächlichen außermittigen Ansicht oder Darstellung des Benutzers führt, die für den Vergleich des Outfits oder dafür, den Blick eines Betrachters zum Hauptthema des Bildes, das der Benutzer ist, zu lenken, nicht nützlich ist. Zum Vergleich stellt das Maskenbild 406 auf der rechten Seite von 4 die durchgeführte Funktion des automatischen Zuschneidens dar, die hier beschrieben wird. Wie in 4 dargestellt, enthält das Maskenbild 406 weniger leeren Raum oder nicht benötigten Raum 408 auf jeder Seite der Darstellung des Benutzers 410. Das automatisch zugeschnittene Bild 406 lenkt den Blick des Betrachters auf den Gegenstand des Bildes, der der Benutzer ist, während nicht benötigte Gegenstände und Artikel von beiden Seiten entfernt werden, und führt zu einem wirklich zentrierten Bild des Benutzers innerhalb der Zusammensetzung des anfänglich aufgenommenen Bildes, wie z. B. Bild 202 von 2. In Ausführungsformen kann das Maskenbild 406 von der Bilderfassungsvorrichtung unter Verwendung von Tiefeninformationen erzeugt werden, die von einem Tiefensensor der Bilderfassungsvorrichtung erfasst werden.
  • 5 stellt ein beispielhaftes Maskenbild dar, das Vordergrundobjekte und Hintergrundobjekte gemäß mindestens einer Ausführungsform identifiziert. Ein Maskenbild oder eine Bildmaske, wie sie hier verwendet werden, können sich auf eine Maske beziehen, die von der Bilderfassungsvorrichtung unter Verwendung von Tiefeninformationen erzeugt wird, die von einem Tiefensensor der Bilderfassungsvorrichtung erfasst und verwendet werden, um eine Darstellung des Benutzers aus einem Farbbild zu extrahieren, das auch von der Bilderfassungsvorrichtung erfasst wird. Die Bildmaske oder das Maskenbild kann eine 2D-Bildmaske enthalten, die aus einem von der Bilderfassungsvorrichtung erfassten 3D-Tiefenbild unter Verwendung zugehöriger Softwareanwendungen oder Bildumwandlungsalgorithmen umgewandelt wird. 5 enthält eine automatische Zuschneideoperation, wie hierin beschrieben, die an einem anfänglichen Bild (wie beispielsweise dem Bild 202 von 2) durchgeführt wird, das von einer Bilderfassungsvorrichtung aufgenommen wurde. Das überarbeitete Bild 500 ist ein Beispiel für eine Bildmaske, bei der verschiedene Bereiche des Bildes angegeben sind, wie beispielsweise der ungefähre Fußbereich des Benutzers 502, eine Maskenbilddarstellung des Benutzers 504, ein unscharfer Hintergrund des Bildes 506 und ein Vordergrundgegenstand 508 (wie der Benutzer 110 von 1). Gemäß mindestens einer Ausführungsform kann die Bilderfassungsvorrichtung einen oder mehrere Gegenstände zwischen der Maskenbilddarstellung des Benutzers 504 und der Bilderfassungsvorrichtung 102 der 1 erfassen und identifizieren. In solchen Fällen können dem Benutzer über die Benutzervorrichtung 112 Anweisungen zum Entfernen der störenden Gegenstände/Artikel und zum erneuten Erfassen eines Bildes von sich selbst bereitgestellt werden. In einigen Ausführungsformen können, wenn ein Teil des Benutzers verdeckt ist, Anweisungen für den Benutzer zum erneuten Erfassen eines Bildes von sich selbst bereitgestellt werden.
  • 6 und 7 veranschaulichen beispielhafte Abläufe für eine Funktion des automatischen Zuschneidens gemäß Ausführungsformen. Diese Prozesse werden als logisches Flussdiagramm dargestellt, wobei jede Operation eine Folge von Operationen darstellt, die in Hardware, Computeranweisungen oder einer Kombination davon implementiert werden können. Im Kontext von Computeranweisungen stellen die Operationen computerausführbare Anweisungen dar, die auf einem oder mehreren computerlesbaren Speichermedien gespeichert sind, die, wenn sie von einem oder mehreren Prozessoren ausgeführt werden, die genannten Operationen ausführen. Im Allgemeinen umfassen computerausführbare Anweisungen Routinen, Programme, Gegenstände, Komponenten, Datenstrukturen und dergleichen, die bestimmte Funktionen ausführen oder bestimmte Datentypen implementieren. Die Reihenfolge, in der die Operationen beschrieben werden, soll nicht als Einschränkung aufgefasst werden, und eine beliebige Anzahl der beschriebenen Operationen kann in einer beliebigen Reihenfolge und oder parallel kombiniert werden, um den Prozess zu implementieren.
  • Zusätzlich können einige, beliebige oder alle Prozesse (oder alle anderen hierin beschriebenen Prozesse oder Variationen und/oder Kombinationen davon) unter der Steuerung eines oder mehrerer Computersysteme ausgeführt werden, die mit ausführbaren Anweisungen konfiguriert sind, und können als Code implementiert werden (z. B. ausführbare Anweisungen, ein oder mehrere Computerprogramme oder eine oder mehrere Anwendungen) die gemeinsam auf einem oder mehreren Prozessoren durch Hardware oder Kombinationen davon ausgeführt werden. Wie oben erwähnt, kann der Code auf einem computerlesbaren Speichermedium beispielsweise in Form eines Computerprogramms gespeichert werden, das eine Vielzahl von Anweisungen enthält, die von einem oder mehreren Prozessoren ausgeführt werden können. Das computerlesbare Speichermedium kann nichtflüchtig sein.
  • In einigen Beispielen können der eine oder die mehreren Dienstanbieter-Computer (ein oder mehrere Dienstanbieter-Computer 120 und 816) und/oder die Benutzervorrichtungen 112 und 804, die mindestens das in 1 und 8 gezeigte Modul für automatisches Zuschneiden 832 verwenden, die Prozesse 600 und 700 der 6 und 7 ausführen. In 6 kann der Prozess 600 das Empfangen einer ersten Bildmaske eines Bildes eines Benutzers, des Bildes und von Metadaten über das Bild bei 602 von einer Bilderfassungsvorrichtung umfassen. In Ausführungsformen kann die erste Bildmaske ein Beispiel einer Tiefenbildmaske sein. Gemäß mindestens einer Ausführungsform können die Metadaten mehrere eindeutige Werte für einen oder mehrere Teile angeben, die in dem Bild enthalten sind, und die Bilderfassungsvorrichtung kann konfiguriert sein, um ein Maskenbild des Benutzers und ein Farbbild des Benutzers zu erfassen. Das Maskenbild des Benutzers kann eine 3D-Darstellung des Benutzers enthalten, die von der Bilderfassungsvorrichtung verwendet wird, um eine Tiefe des Benutzers und einen Vordergrundort des Benutzers in Bezug auf einen Hintergrund des von der Bilderfassungsvorrichtung erfassten Bildes zu identifizieren. Ein Farbbild kann ein RGB-Bild des Benutzers enthalten und die erste Bildmaske kann das Maskenbild und das Farbbild umfassen.
  • Der Prozess 600 kann das Extrahieren einer Darstellung des Benutzers und einer Darstellung eines dem Benutzer zugeordneten Bodenbereichs aus dem Bild basierend auf der ersten Bildmaske und den Metadaten bei 604 umfassen. In Ausführungsformen kann die Darstellung des Benutzers eine erste Teilmenge von Teilen einer Vielzahl von Teilen enthalten, die in dem Bild enthalten sind, und die Darstellung des Bodenbereichs kann eine zweite Teilmenge von Teilen der Vielzahl von Teilen enthalten, die in dem Bild enthalten sind. Der Prozess 600 kann das Entfernen eines ersten Bereichs des Bildes in Bezug auf die extrahierte Darstellung des Benutzers in dem Bild basierend auf der ersten Bildmaske und den Metadaten umfassen, wodurch bei 606 ein zweiter Bereich des Bildes erzeugt wird. Zum Beispiel kann die Anwendung, die die hierin beschriebene Funktion des automatischen Zuschneidens implementiert, dazu konfiguriert sein, einen oder mehrere Bereiche des Bildes unter Verwendung des bekannten Ortes des Benutzers im Bild und der Identifizierung von Hintergrundobjektbereichen, wie durch die Metadaten angegeben, zu entfernen.
  • Der Prozess 600 kann das Kombinieren der extrahierten Darstellung des Benutzers mit dem Bodenbereich des Bildes in Bezug auf den zweiten Bereich des Bildes basierend auf der ersten Bildmaske und den Metadaten bei 608 umfassen. Wie hierin beschrieben, kann das Kombinieren der extrahierten Darstellung des Benutzers mit dem Bodenbereich des Bildes das Lösen von Problemen unterstützen, die historisch mit Tiefenbildern verbunden sind, die versuchen, Tiefen oder Bilder in sich kreuzenden Ebenen zu erfassen. Ein verbesserter Übergang vom Benutzer zum Bodenbereichs kann erreicht werden, indem der als Bodenbereich markierte Bereich genutzt und der dem Benutzer zugeordnete Bereich kombiniert wird, um die Kombination der Darstellung des Benutzers und des Bodenbereichs innerhalb des Bereichs der Zusammensetzung der Fläche, die nach dem Entfernen von überflüssigen Flächen übrigbleibt, anzupassen und automatisch zuzuschneiden. Der Prozess 600 kann bei 610 durch Anzeigen eines überarbeiteten Bildes des Benutzers über eine Benutzerschnittstelle abgeschlossen werden, die die Kombination der extrahierten Darstellung des Benutzers mit dem Bodenbereich des Bildes umfasst, der in dem zweiten Bereich des Bildes enthalten ist. In einigen Ausführungsformen umfasst das Anzeigen des überarbeiteten Bildes das Verwischen oder sonstige Verschleiern anderer Bereiche des Bildes, die nicht der Benutzer sind (d. h. der Hintergrund), um ein klareres Bild des Benutzers zu erzeugen, ohne ablenkende Bilder oder Details vom Hintergrund.
  • Der Prozess 700 kann das Empfangen einer ersten Bildmaske, die eine 2D-Darstellung eines Benutzers in einem Bild und erste Metadaten umfasst, von einer Bilderfassungsvorrichtung bei 702 umfassen. In Ausführungsformen können die ersten Metadaten eine erste Teilmenge von Bereichen in dem Bild als in einem Vordergrund des Bildes befindlich identifizieren. Der Prozess 700 kann das Empfangen einer zweiten Bildmaske von der Bilderfassungsvorrichtung umfassen, die eine Darstellung eines dem Benutzer zugeordneten Bodenbereichs in dem Bild und zweite Metadaten bei 704 umfasst. In Ausführungsformen können die zweiten Metadaten eine zweite Teilmenge von Bereichen in dem Bild als den Vordergrund des Bildes identifizieren. Der Prozess 700 kann bei 706 das Empfangen eines Farbbildes des Benutzers von der Bilderfassungsvorrichtung umfassen. In Ausführungsformen können die erste Bildmaske und die zweite Bildmaske von einem Tiefensensor der Bilderfassungsvorrichtung erfasst werden und das Farbbild des Benutzers kann von einem Farbsensor der Bilderfassungsvorrichtung erfasst werden. Der Prozess 700 kann das Extrahieren der Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs aus dem Farbbild des Benutzers basierend auf der ersten Bildmaske, der zweiten Bildmaske, den ersten Metadaten und den zweiten Metadaten bei 708 umfassen. Wie hierin beschrieben, kann der Extraktionsprozess die Bildmasken und Metadaten verwenden, um eine engere Anpassung eines Bereichs um die Darstellung des Benutzers und des Bodenbereichs zu erzeugen, mit dem extrahiert und das zum Zuschneiden und automatischen Zuschneiden verwendet werden soll.
  • Der Prozess 700 kann das Zuschneiden eines ersten Bereichs des Farbbildes des Benutzers in Bezug auf die extrahierte Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs basierend auf der ersten Bildmaske und der zweiten Bildmaske umfassen, wodurch ein zweiter Bereich des Farbbildes bei 710 erzeugt wird. Gemäß mindestens einer Ausführungsform kann eine Anwendung, die zum Implementieren der Funktion des automatischen Zuschneidens konfiguriert ist, zum Entfernen eines oder mehrerer Bereiche eines Bildes konfiguriert sein, die nicht zum Präsentieren eines Bildes des Benutzers mit bestimmten Seitenverhältnissen erforderlich sind (z. B. überflüssige Bereiche des Bildes). In Ausführungsformen kann die Anwendung die fremden Bereiche identifizieren, indem sie einen Abstand zwischen der Darstellung des Benutzers innerhalb des Bildes und einem fraglichen Bereich innerhalb des Bildes selbst und einem Schwellenwert berechnet. Beispielsweise kann ein Bereich, der eine bestimmte Anzahl von Pixeln von dem Pixel entfernt ist, der eine Darstellung des Benutzers enthält, als überflüssig angesehen und aus einem überarbeiteten automatisch zugeschnittenen Bild des Benutzers entfernt oder zugeschnitten werden. Der Prozess 700 kann bei 710 abgeschlossen werden, indem ein dritter Bereich des zugeschnittenen Farbbildes basierend auf den ersten Metadaten und den zweiten Metadaten verschleiert wird. In Ausführungsformen kann die extrahierte Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs kombiniert und angepasst oder in der Größe angepasst werden, um in die Zusammensetzung des erzeugten zweiten Bereichs des Farbbildes zu passen, während alle anderen Bereiche (d. h. der dritte Bereich) verschleiert sind. In Ausführungsformen kann ein Benutzer angewiesen werden, zwischenliegende Gegenstände zwischen der Bilderfassungsvorrichtung zu entfernen oder ein anderes Bild von sich selbst zu erfassen, wenn ein oder mehrere Teile des Benutzers nicht sichtbar sind oder von der Bilderfassungsvorrichtung blockiert werden. Anweisungen können an die Anwendung der Benutzervorrichtung übertragen und von dieser präsentiert werden.
  • 8 stellt eine beispielhafte Architektur zum Implementieren einer Service-Funktion des automatisches Zuschneidens dar, die mindestens eine Benutzervorrichtung, eine Bilderfassungsvorrichtung und einen oder mehrere Dienstanbieter-Computer gemäß mindestens einer Ausführungsform umfasst und In der Architektur 800 können ein oder mehrere Benutzer 802 (z. B. Kunden, Benutzer usw.) Benutzercomputervorrichtungen 804(1)-(N) (zusammen Benutzervorrichtungen 804) verwenden, um auf eine Browseranwendung 806 oder eine Benutzerschnittstelle (UI) zuzugreifen, auf die über die Browseranwendung 806 über ein oder mehrere Netzwerke 808 zugegriffen werden kann, um Informationen zu und von der Bilderfassungsvorrichtung 810 zu empfangen oder zu übertragen, wie z. B. ein Maskenbild, ein Farbbild, Metadaten oder andere geeignete Informationen zum Erzeugen eines automatisch zugeschnittenes Bildes eines Benutzers, das von der Bilderfassungsvorrichtung 810 erfasst wurde und dem Benutzer 802 über die Benutzervorrichtung 804 das überarbeitete Bild zu präsentieren. Die „Browseranwendung“ 806 kann jede Browser-Steuerung oder native Anwendung von Benutzervorrichtung 804 sein, die zum Ermöglichen der Darstellung von Inhalten oder zur Interaktion mit durch die Benutzervorrichtung 804 angezeigten Bildern auf eine Netzwerkseite oder eine andere Information wie eine UI für eine native Software-Anwendung zugreifen oder diese anzeigen kann. Eine native Softwareanwendung kann eine Anwendung oder ein Programm enthalten, die bzw. das zur Verwendung auf einer bestimmten Plattform (beispielsweise einem Betriebssystem) oder einer bestimmten Vorrichtung (beispielsweise einem bestimmten Typ einer mobilen Vorrichtung oder einer Benutzervorrichtung 804) entwickelt wurde. In Ausführungsformen kann die Bilderfassungsvorrichtung 810 eine oder mehr Komponenten (beispielsweise Tiefensensor, Farbsensor, Kamera, Videorecorder, Videostrom-Aufnahmevorrichtung, usw.) zum Erfassen eines Tiefenbildes und eines Farbbildes des Benutzers 802 umfassen.
  • Die Benutzervorrichtungen 804 können mindestens einen Speicher 812 und eine oder mehrere Verarbeitungseinheiten oder einen oder mehrere Prozessoren 814 enthalten. Der Speicher 812 kann Programmanweisungen speichern, die auf den Prozessoren 814 geladen und ausgeführt werden können, sowie Daten, die während der Ausführung dieser Programme erzeugt werden. In Abhängigkeit von der Konfiguration und dem Typ der Benutzervorrichtungen 804 kann der Speicher 812 flüchtig sein (wie beispielsweise ein Direktzugriffsspeicher (RAM)) und/oder nichtflüchtig (wie beispielsweise Nur-Lese-Speicher (ROM), Flash-Speicher usw.). Die Benutzervorrichtungen 804 können auch einen zusätzlichen entfernbaren Speicher und/oder einen nicht entfernbaren Speicher umfassen, einschließlich, aber nicht beschränkt auf einen magnetischen Speicher, optische Platten und/oder einen Bandspeicher. Die Plattenlaufwerke und ihre zugeordneten nichtflüchtigen computerlesbaren Medien können eine nichtflüchtige Speicherung von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und anderen Daten für die Benutzervorrichtungen 804 bereitstellen. In einigen Implementierungen kann der Speicher 812 mehrere verschiedene Speichertypen enthalten, wie beispielsweise einen statischen Direktzugriffsspeicher (SRAM), einen dynamischen Direktzugriffsspeicher (DRAM) oder einen ROM.
  • Wenn man sich den Inhalten des Speichers 812 genauer zuwendet, kann der Speicher 812 ein Betriebssystem und ein oder mehrere Anwendungsprogramme oder -dienste zum Implementieren der hierin offenbarten Merkmale enthalten. Zusätzlich kann der Speicher 812 ein oder mehrere Module zum Implementieren der hierin beschriebenen Merkmale einschließlich des Moduls zum automatischen Zuschneiden 832 enthalten.
  • Die Architektur 800 kann auch einen oder mehrere Dienstanbieter-Computer 816 enthalten, die in einigen Beispielen Rechenressourcen zur Verfügung stellen können, wie beispielsweise, jedoch nicht beschränkt auf, Client-Einheiten, Datenspeicherung mit niedriger Latenz, dauerhafte Datenspeicherung, Datenzugriff, Management, Virtualisierung, Hosted-Computing-Umgebung oder „Cloud-basierte“ Lösungen, Leistungsmanagement für elektronische Inhalte usw. Der eine oder die mehreren Dienstanbieter-Computer 816 können den oder die Dienstanbieter-Computer 1XX von 1 implementieren oder ein Beispiel dafür sein. Der eine oder die mehreren Dienstanbieter-Computer 816 können auch so betrieben werden, dass sie dem einen oder den mehreren Benutzern 802 Site-Hosting-, Computeranwendungsentwicklungs- und/oder Implementierungsplattformen, Kombinationen des Vorstehenden oder dergleichen bereitstellen.
  • In einigen Beispielen können die Netzwerke 808 ein beliebiges oder eine Kombination von vielen verschiedenen Arten von Netzwerken enthalten, wie beispielsweise Kabelnetzwerke, das Internet, drahtlose Netzwerke, zellulare Netzwerke und andere private und/oder öffentliche Netzwerke. Während das veranschaulichte Beispiel die Benutzer 802 darstellt, die mit der Bilderfassungsvorrichtung 810 und den Dienstanbieter-Computern 816 über die Netzwerke 808 kommunizieren, können die beschriebenen Techniken gleichermaßen in Fällen angewendet werden, in denen die Benutzer 802 mit der Bilderfassungsvorrichtung 810 oder einem oder mehreren Dienstanbieter-Computern 816 über die eine oder die mehreren Benutzervorrichtungen 804 über ein Festnetztelefon, über einen Kiosk oder auf irgendeine andere Weise interagieren. Es wird auch angemerkt, dass die beschriebenen Techniken in anderen Client/Server-Anordnungen (z. B. Set-Top-Boxen usw.) sowie in Nicht-Client/Server-Anordnungen (z. B. lokal gespeicherte Anwendungen, Peer-to-Peer-Anordnungen usw.) angewendet werden können.
  • Der eine oder die mehreren Dienstanbieter-Computer 816 können ein beliebiger Typ von Computervorrichtung sein, wie beispielsweise, ohne darauf beschränkt zu sein, ein Mobiltelefon, ein Smartphone, ein persönlicher digitaler Assistent (PDA), ein Laptop-Computer, ein Desktop-Computer, ein Server-Computer, eine Thin-Client-Vorrichtung, ein Tablet-PC usw. Zusätzlich sollte angemerkt werden, dass in einigen Ausführungsformen der eine oder die mehreren Dienstanbieter-Computer 816 von einer oder mehreren virtuellen Maschinen ausgeführt werden können, die in einer gehosteten Computerumgebung implementiert sind. Die gehostete Computerumgebung kann eine oder mehrere schnell bereitgestellte und freigegebene Computerressourcen enthalten, wobei die Computerressourcen Computer-, Netzwerk- und/oder Speichervorrichtungen enthalten können. Eine gehostete Computerumgebung kann auch als Cloud-Computerumgebung oder verteilte Computerumgebung bezeichnet werden. In einigen Beispielen können der eine oder die mehreren Dienstanbieter-Computer 816 über die Netzwerke 808 oder über andere Netzwerkverbindungen mit der Benutzervorrichtung 804 und der Bilderfassungsvorrichtung 810 in Kommunikation stehen. Der eine oder die mehreren Dienstanbieter-Computer 816 können einen oder mehrere Server enthalten, die möglicherweise in einem Cluster angeordnet sind oder als einzelne Server, die nicht miteinander verbunden sind.
  • In einer veranschaulichenden Konfiguration können der eine oder die mehreren Dienstanbieter-Computer 816 mindestens einen Speicher 818 und eine oder mehrere Verarbeitungseinheiten oder Prozessoren 820 enthalten. Der oder die Prozessoren 820 können in geeigneter Weise in Hardware, computerausführbaren Anweisungen, Firmware oder Kombinationen davon implementiert sein. Computerausführbare Anweisungen oder Firmware-Implementierungen des Prozessors/der Prozessoren 820 können computerausführbare oder maschinenausführbare Anweisungen enthalten, die in einer geeigneten Programmiersprache geschrieben sind, um die verschiedenen Funktionen auszuführen, die beschrieben werden, wenn sie von einer Hardware-Computervorrichtung wie einem Prozessor ausgeführt werden. Der Speicher 818 kann Programmanweisungen speichern, die auf dem Prozessor/den Prozessoren 820 geladen und ausgeführt werden können, sowie Daten, die während der Ausführung dieser Programme erzeugt werden. Abhängig von der Konfiguration und dem Typ des einen oder der mehreren Dienstanbieter-Computer 816 kann der Speicher 818 flüchtig (wie z. B. RAM) und/oder nichtflüchtig (wie z. B. ROM, Flash-Speicher usw.) sein. Der eine oder die mehreren Dienstanbieter-Computer 816 oder Server können auch einen zusätzlichen Speicher 822 enthalten, der einen entfernbaren Speicher und/oder einen nicht entfernbaren Speicher enthalten kann. Der zusätzliche Speicher 822 kann einen Magnetspeicher, optische Platten und/oder einen Bandspeicher umfassen, ist aber nicht darauf beschränkt. Die Plattenlaufwerke und ihre zugeordneten computerlesbaren Medien können eine nichtflüchtige Speicherung von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und anderen Daten für die Computervorrichtungen bereitstellen. In einigen Implementierungen kann der Speicher 818 mehrere verschiedene Speichertypen enthalten, wie beispielsweise SRAM, DRAM oder ROM.
  • Der Speicher 818, der zusätzliche Speicher 822, sowohl entfernbar als auch nicht entfernbar, sind alle Beispiele für nichtflüchtige computerlesbare Speichermedien. Beispielsweise können computerlesbare Speichermedien flüchtige oder nichtflüchtige, entfernbare oder nicht entfernbare Medien enthalten, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern von Informationen wie computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten implementiert sind. Der Speicher 818 und der zusätzliche Speicher 822 sind alle Beispiele für nichtflüchtige Computerspeichermedien. Zusätzliche Arten von nichtflüchtigen Computerspeichermedien, die in dem einen oder den mehreren Dienstanbieter-Computern 816 vorhanden sein können, können PRAM, SRAM, DRAM, RAM, ROM, EEPROM, Flash-Speicher oder andere Speichertechnologie, CD-ROM, ROM, DVD oder einen anderen optischen Speicher, Magnetkassetten, Magnetband, Magnetplattenspeicher oder andere Magnetspeichervorrichtungen oder jedes andere Medium, das zum Speichern der gewünschten Informationen verwendet werden kann und auf das von einem oder mehreren Dienstanbieter-Computern 816 zugegriffen werden kann, enthalten, jedoch nicht auf diese beschränkt. Kombinationen von irgendwelchen der oben genannten sollten ebenfalls in den Umfang nichtflüchtiger computerlesbarer Medien einbezogen werden.
  • Der eine oder die mehreren Dienstanbieter-Computer 816 können auch Kommunikationsverbindungsschnittstellen 824 enthalten, die es dem einen oder den mehreren Dienstanbieter-Computern 816 ermöglichen, mit einem Datenspeicher, einer anderen Computervorrichtung oder Server, Benutzerendgeräten und/oder anderen Vorrichtungen auf den Netzwerken 808 zu kommunizieren. Der eine oder die mehreren Dienstanbieter-Computer 816 können auch E/A-Vorrichtungen 826 enthalten, wie z. B. eine Tastatur, eine Maus, einen Stift, eine Spracheingabevorrichtung, eine Berührungseingabevorrichtung, eine Anzeige, Lautsprecher, einen Drucker usw.
  • Wenn man sich den Inhalten des Speichers 818 genauer zuwendet, kann der Speicher 818 ein Betriebssystem 828, einen oder mehrere Datenspeicher 830 und/oder ein oder mehrere Anwendungsprogramme oder -dienste zum Implementieren der hierin offenbarten Merkmale, einschließlich des Moduls für das automatische Zuschneiden 832, enthalten. Gemäß mindestens einer Ausführungsform kann das Modul für das automatische Zuschneiden 832 dazu konfiguriert sein, mindestens ein Maskenbild, ein Farbbild und Metadaten von der Bilderfassungsvorrichtung 810 zu senden, um eine Darstellung des Benutzers 802 aus dem Farbbild unter Verwendung des Maskenbildes und der Metadaten zu extrahieren, einen Benutzerbereich der Darstellung des Benutzers mit einem Boden- oder Fußbereich des Bildes zu kombinieren, Teile des Bildes, die überflüssig sind, zu entfernen oder zu beschneiden und die Darstellung des Benutzers in der Zusammenstellung des Bildes automatisch zuzuschneiden oder anzupassen, zur Präsentation für den Benutzer 802 über die Benutzervorrichtung 804. Die Bilder können analysiert werden, um Gegenstände oder Artikel zu identifizieren, die in dem Bild enthalten sind, wie beispielsweise ein T-Shirt oder eine Hose, die der Benutzer trägt. Das Modul für das automatische Zuschneiden 832 kann dazu konfiguriert sein, über die Benutzervorrichtung 804 eine Option zum Bestellen der identifizierten Artikel zu erzeugen und dem Benutzer 802 zu präsentieren, oder um Artikelangebotswebseiten zu erzeugen, um die Artikel zum Verkauf auf einem elektronischen Marktplatz anzubieten.
  • Die Bilderfassungsvorrichtung 810 kann mindestens einen Speicher 834 und eine oder mehrere Verarbeitungseinheiten oder Prozessoren 836 enthalten. Der Speicher 834 kann Programmanweisungen speichern, die auf dem Prozessor/den Prozessoren 836 geladen und ausgeführt werden können, sowie Daten, die während der Ausführung dieser Programme erzeugt werden. In Abhängigkeit von der Konfiguration und dem Typ der Bilderfassungsvorrichtung 810 kann der Speicher 834 flüchtig sein (wie beispielsweise ein Direktzugriffsspeicher (RAM)) und/oder nichtflüchtig (wie beispielsweise Nur-Lese-Speicher (ROM), Flash-Speicher usw.). Die Bilderfassungsvorrichtung 810 können auch einen zusätzlichen entfernbaren Speicher und/oder einen nicht entfernbaren Speicher umfassen, einschließlich, aber nicht beschränkt auf einen magnetischen Speicher, optische Platten und/oder einen Bandspeicher. Die Plattenlaufwerke und ihre zugeordneten nichtflüchtigen computerlesbaren Medien können eine nichtflüchtige Speicherung von computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen und anderen Daten für die Bilderfassungsvorrichtung 810 bereitstellen. In einigen Implementierungen kann der Speicher 834 mehrere verschiedene Speichertypen enthalten, wie beispielsweise einen statischen Direktzugriffsspeicher (SRAM), einen dynamischen Direktzugriffsspeicher (DRAM) oder einen ROM.
  • Wenn man sich den Inhalten des Speichers 834 genauer zuwendet, kann der Speicher 834 ein Betriebssystem und/oder eine Firmware zum Implementieren der hierin offenbarten Merkmale enthalten. Zusätzlich kann der Speicher 834 ein oder mehrere Module zum Implementieren der hierin beschriebenen Merkmale einschließlich des Bilderfassungsvorrichtungsmoduls 838 enthalten. In Ausführungsformen kann das Bilderfassungsvorrichtungsmodul 838 dazu konfiguriert sein, ein Tiefenbild oder Tiefeninformationen über den Benutzer 802 und ein Farbbild des Benutzers 802 zu erfassen und eindeutige Werte zu erzeugen, die ein Pixel des Bildes als Vordergrund, Hintergrund oder Teil des Benutzers, Teil eines Boden- oder Fußbereichs sowie Tiefe und Farbe, die als Metadaten gespeichert sind, identifizieren. Das Bilderfassungsvorrichtungsmodul 838 kann dazu konfiguriert sein, ein 3D-Tiefenbild des Benutzers 802 in eine 2D-Bildmaske umzuwandeln oder eine Bildmaske unter Verwendung des Tiefenbildes oder der Tiefeninformationen des Benutzers 802 zu erzeugen, wie sie von der Bilderfassungsvorrichtung 810 erfasst wurden. Das Bilderfassungsvorrichtungsmodul 838 kann das Maskenbild, das Farbbild und die Metadaten über die Netzwerke 808 und/oder die Dienstanbieter-Computer 816 an die Benutzervorrichtung 804 übermitteln.
  • 9 veranschaulicht Aspekte einer beispielhaften Umgebung 900 zum Implementieren von Aspekten gemäß verschiedenen Ausführungsformen. Es versteht sich, dass zum Zwecke der Erläuterung eine webbasierte Umgebung verwendet wird, jedoch gegebenenfalls unterschiedliche Umgebungen verwendet werden können, um verschiedene Ausführungsformen zu implementieren. Die Umgebung enthält eine elektronische Client-Vorrichtung 902, die eine beliebige geeignete Vorrichtung enthalten kann, die zum Senden und Empfangen von Anforderungen, Nachrichten oder Informationen über ein geeignetes Netzwerk 904 und zum Übermitteln von Informationen an einen Benutzer der Vorrichtung eingerichtet ist. Beispiele für solche Client-Vorrichtungen umfassen PCs, Mobiltelefone, Handmessaging-Vorrichtungen, Laptops, Set-Top-Boxen, Assistenten für persönliche Daten, Lesegeräte für elektronische Bücher und dergleichen. Das Netzwerk kann ein beliebiges geeignetes Netzwerk umfassen, einschließlich eines Intranets, des Internets, eines zellularen Netzwerks, eines lokalen Netzwerks oder eines anderen solchen Netzwerks oder einer Kombination davon. Komponenten, die für ein solches System verwendet werden, können mindestens teilweise von der Art des ausgewählten Netzwerks und/oder der ausgewählten Umgebung abhängen. Protokolle und Komponenten zur Kommunikation über ein solches Netzwerk sind allgemein bekannt und werden hier nicht im Detail erörtert. Die Kommunikation über das Netzwerk kann durch drahtgebundene oder drahtlose Verbindungen und Kombinationen davon ermöglicht werden. In diesem Beispiel umfasst das Netzwerk das Internet, da die Umgebung einen Webserver 906 zum Empfangen von Anforderungen und zum Bereitstellen von Inhalten als Antwort darauf umfasst, obwohl für andere Netzwerke eine alternative Vorrichtung verwendet werden könnte, die einem ähnlichen Zweck dient, wie dies für einen Durchschnittsfachmann offensichtlich wäre.
  • Die veranschaulichende Umgebung enthält mindestens einen Anwendungsserver 908 und einen Datenspeicher 910. Es versteht sich, dass es mehrere Anwendungsserver, Schichten oder andere Elemente, Prozesse oder Komponenten geben kann, die verkettet oder auf andere Weise konfiguriert sein können und die interagieren können, um Aufgaben wie das Abrufen von Daten aus einem geeigneten Datenspeicher auszuführen. Der Begriff „Datenspeicher“, wie er hier verwendet wird, bezieht sich auf eine beliebige Vorrichtung oder eine beliebige Kombination von Vorrichtungen, die in der Lage sind, Daten zu speichern, darauf zuzugreifen und abzurufen in jeder Standard-, verteilten oder Cluster-Umgebung. Der Anwendungsserver kann jede geeignete Hardware und Software zur Integration in den Datenspeicher nach Bedarf enthalten, um Aspekte einer oder mehrerer Anwendungen für die Client-Vorrichtung auszuführen, wobei ein Großteil des Datenzugriffs und der Geschäftslogik für eine Anwendung verarbeitet wird. Der Anwendungsserver stellt in Zusammenarbeit mit dem Datenspeicher Zugriffskontrolldienste bereit und kann Inhalte wie Text, Grafiken, Audio und/oder Video generieren, die an den Benutzer übertragen werden, und die dem Benutzer vom Webserver in Form von Hypertext Markup Language („HTML“), Extensible Markup Language („XML“) oder einer anderen geeigneten strukturierten Sprache in diesem Beispiel bereitgestellt werden können. Die Verarbeitung aller Anforderungen und Antworten sowie die Übermittlung von Inhalten zwischen der Client-Vorrichtung 902 und dem Anwendungsserver 908 kann vom Webserver ausgeführt werden. Es versteht sich, dass die Web- und Anwendungsserver nicht erforderlich sind und lediglich beispielhafte Komponenten sind, da der hier diskutierte strukturierte Code auf jeder geeigneten Vorrichtung oder jedem geeigneten Hostcomputer ausgeführt werden kann, wie an anderer Stelle hierin diskutiert.
  • Der Datenspeicher 910 kann mehrere separate Datentabellen, Datenbanken oder andere Datenspeichermechanismen und Medien zum Speichern von Daten in Bezug auf einen bestimmten Aspekt enthalten. Beispielsweise umfasst der dargestellte Datenspeicher Mechanismen zum Speichern von automatisch zugeschnittenen Bildern 912 für jeden bestimmten Benutzer der Dienst- und Benutzerinformationen 916, die verwendet werden können, um Inhalte für die Produktionsseite bereitzustellen und/oder Gegenstände und Outfits für den Benutzer zu empfehlen. Es wurde auch gezeigt, dass der Datenspeicher einen Mechanismus zum Speichern von historischen Outfit-Kombinationen 914 enthält, die zum Berichten, Analysieren oder für andere Zwecke, wie zum Beispiel zum Empfehlen von Outfits, zu bestellenden Artikeln oder zu verwendenden Diensten, verwendet werden können. Es versteht sich, dass es viele andere Aspekte geben kann, die möglicherweise in dem Datenspeicher gespeichert werden müssen, beispielsweise für Seitenbildinformationen und für den Zugriff auf richtige Informationen, die in einem der oben aufgeführten Mechanismen nach Bedarf oder in zusätzlichen Mechanismen im Datenspeicher 910 gespeichert werden können. Der Datenspeicher 910 kann durch eine ihm zugeordnete Logik zum Empfangen von Anweisungen vom Anwendungsserver 908 und zum Erhalten, Aktualisieren oder anderweitigen Verarbeiten von Daten als Antwort darauf betrieben werden. In einem Beispiel kann ein Benutzer eine Suchanforderung für einen bestimmten Artikeltyp senden. In diesem Fall kann der Datenspeicher auf die Benutzerinformationen zugreifen, um die Identität des Benutzers zu überprüfen, und kann auf die Katalogdetailinformationen zugreifen, um Informationen zu Elementen dieses Typs abzurufen. Die Informationen können dann an den Benutzer zurückgegeben werden, beispielsweise in einer Ergebnisliste auf einer Webseite, die der Benutzer über einen Browser auf der Benutzervorrichtung 902 einsehen kann. Informationen zu einem bestimmten Artikel können auf einer speziellen Seite oder in einem speziellen Fenster des Browsers angezeigt werden.
  • Jeder Server enthält normalerweise ein Betriebssystem, das ausführbare Programmanweisungen für die allgemeine Verwaltung und den Betrieb dieses Servers bereitstellt, und enthält normalerweise ein computerlesbares Speichermedium (z. B. Festplatte, Arbeitsspeicher, Nur-Lese-Speicher usw.), das Anweisungen speichert, die, wenn sie von einem Prozessor des Servers ausgeführt werden, es dem Server ermöglichen, seine beabsichtigten Funktionen auszuführen. Geeignete Implementierungen für das Betriebssystem und die allgemeine Funktionalität der Server sind bekannt oder im Handel erhältlich und können von Fachleuten, insbesondere im Lichte der vorliegenden Offenbarung, leicht implementiert werden.
  • Die Umgebung ist in einer Ausführungsform eine verteilte Computerumgebung, die mehrere Computersysteme und -komponenten verwendet, die über Kommunikationsverbindungen miteinander verbunden sind, wobei ein oder mehrere Computernetzwerke oder direkte Verbindungen verwendet werden. Es ist jedoch für den Durchschnittsfachmann ersichtlich, dass ein solches System in einem System mit weniger oder einer größeren Anzahl von Komponenten, als in 9 dargestellt, gleich gut funktionieren könnte. Somit soll die Darstellung des Systems 900 in 9 als veranschaulichend angesehen werden und den Umfang der Offenbarung nicht einschränken.
  • Die verschiedenen Ausführungsformen können ferner in einer Vielzahl von Betriebsumgebungen implementiert werden, die in einigen Fällen einen oder mehrere Benutzercomputer, Computervorrichtungen oder Verarbeitungsvorrichtungen umfassen können, die zum Betreiben einer beliebigen Anzahl von Anwendungen verwendet werden können. Benutzer- oder Client-Vorrichtungen können eine Reihe von Allzweck-PCs umfassen, wie z. B. Desktop- oder Laptop-Computer, auf denen ein Standardbetriebssystem ausgeführt wird, sowie Mobil-, Funk- und Handheld-Vorrichtungen, auf denen mobile Software ausgeführt wird und die eine Reihe von Netzwerken und Messaging-Protokollen unterstützen können. Ein solches System kann auch eine Anzahl von Workstations umfassen, auf denen verschiedene im Handel erhältliche Betriebssysteme und andere bekannte Anwendungen für Zwecke wie Entwicklung und Datenbankverwaltung ausgeführt werden. Diese Vorrichtungen können auch andere elektronische Vorrichtungen wie Dummy-Terminals, Thin-Clients, Spielesysteme und andere Vorrichtungen umfassen, die über ein Netzwerk kommunizieren können.
  • Die meisten Ausführungsformen verwenden mindestens ein Netzwerk, das Fachleuten bekannt ist, um die Kommunikation unter Verwendung einer Vielzahl von im Handel erhältlichen Protokollen zu unterstützen, wie z. B. Transmission Control Protocol/Internet Protocol („TCP/IP“), Open System Interconnection („OSI“), FTP (File Transfer Protocol), UPNP (Universal Plug and Play), NFS (Network File System), CIFS (Common Internet File System) und AppleTalk®. Das Netzwerk kann beispielsweise ein lokales Netzwerk, ein Weitverkehrsnetz, ein virtuelles privates Netzwerk, das Internet, ein Intranet, ein Extranet, ein öffentliches Telefonnetz, ein Infrarotnetz, ein drahtloses Netzwerk und eine beliebige Kombination davon sein.
  • In Ausführungsformen, die einen Webserver verwenden, kann der Webserver eine Vielzahl von Server- oder Mid-Tier-Anwendungen ausführen, einschließlich HTTP-Server (Hypertext Transfer Protocol), FTP-Server, CGI-Server (Common Gateway Interface), Datenserver, Java-Server und Business-Anwendungsserver. Der oder die Server können auch in der Lage sein, Programme oder Skripte als Antwort auf Anforderungen von Benutzervorrichtungen auszuführen, beispielsweise durch Ausführen einer oder mehrerer Webanwendungen, die als ein oder mehrere Skripte oder Programme implementiert sein können, die in einer beliebigen Programmiersprache geschrieben sind, z. B. Java®, C, C# oder C++ oder einer beliebigen Skriptsprache wie Perl, Python oder TCL sowie Kombinationen davon. Zu den Servern können auch Datenbankserver gehören, unter anderem solche, die im Handel von Oracle®, Microsoft®, Sybase® und IBM® erhältlich sind.
  • Die Umgebung kann eine Vielzahl von Datenspeichern und anderen Speicher- und Speichermedien enthalten, wie oben erläutert. Diese können sich an verschiedenen Orten befinden, z. B. auf einem Speichermedium, das sich auf einem oder mehreren Computern befindet (und/oder resident ist) oder von einem oder allen Computern im Netzwerk entfernt ist. In einem bestimmten Satz von Ausführungsformen können sich die Informationen in einem Speicherbereichsnetzwerk („SAN“) befinden, das Fachleuten bekannt ist. In ähnlicher Weise können alle erforderlichen Dateien zum Ausführen der Funktionen, die den Computern, Servern oder anderen Netzwerkvorrichtungen zugewiesen sind, je nach Bedarf lokal und/oder entfernt gespeichert werden. Wenn ein System computergestützte Vorrichtungen enthält, kann jede dieser Vorrichtungen Hardwareelemente enthalten, die über einen Bus elektrisch gekoppelt sein können, wobei die Elemente beispielsweise mindestens eine Zentraleinheit („CPU“), mindestens eine Eingabevorrichtung (z. B. Maus, Tastatur, Controller, Touchscreen oder Tastenfeld) und mindestens eine Ausgabevorrichtung (z. B. Anzeigevorrichtung, Drucker oder Lautsprecher) enthalten. Ein solches System kann auch eine oder mehrere Speichervorrichtungen wie Plattenlaufwerke, optische Speichervorrichtungen und Festkörperspeichervorrichtungen wie Direktzugriffsspeicher („RAM“) oder Nur-Lese-Speicher („ROM“) enthalten, sowie Wechseldatenträger, Speicherkarten, Flash-Karten usw.
  • Solche Vorrichtungen können auch ein computerlesbares Speichermedium-Lesegerät, eine Kommunikationsvorrichtung (z. B. ein Modem, eine Netzwerkkarte (drahtlos oder drahtgebunden), eine Infrarot-Kommunikationsvorrichtung usw.) und einen Arbeitsspeicher wie oben beschrieben enthalten. Das Lesegerät für computerlesbare Speichermedien kann mit einem computerlesbaren Speichermedium verbunden oder dafür konfiguriert sein, ein solches zu empfangen, das entfernte, lokale, feste und/oder entfernbare Speichermedien sowie Speichermedien für temporäres und/oder dauerhafteres Aufbewahren, Speichern, Übertragen und Abrufen von computerlesbaren Informationen darstellt. Das System und verschiedene Vorrichtungen umfassen typischerweise auch eine Anzahl von Softwareanwendungen, Modulen, Diensten oder anderen Elementen, die sich in mindestens einer Arbeitsspeichervorrichtung befinden, einschließlich eines Betriebssystems und Anwendungsprogrammen, wie einer Client-Anwendung oder einem Webbrowser. Es versteht sich, dass alternative Ausführungsformen zahlreiche Variationen von den oben beschriebenen aufweisen können. Zum Beispiel kann auch angepasste Hardware verwendet werden und/oder bestimmte Elemente können in Hardware, Software (einschließlich tragbarer Software wie Applets) oder beiden implementiert werden. Ferner kann eine Verbindung mit anderen Computervorrichtungen wie Netzwerk-Eingabe/Ausgabe-Vorrichtungen verwendet werden.
  • Speichermedien Computerlesbare Medien zum Enthalten von Code oder von Teilen von Code können beliebige geeignete Medien umfassen, die auf dem Fachgebiet bekannt sind oder verwendet werden, einschließlich Speichermedien und Kommunikationsmedien, wie z. B. flüchtige und nichtflüchtige, entfernbare und nicht entfernbare Medien, ohne darauf beschränkt zu sein, die in einem beliebigen Verfahren oder einer beliebigen Technologie zum Speichern und/oder Übertragen von Informationen wie computerlesbaren Anweisungen, Datenstrukturen, Programmmodulen oder anderen Daten, einschließlich RAM, ROM, elektrisch löschbarem programmierbarem Nur-Lese-Speicher („EEPROM“), Flash-Speicher oder anderer Speichertechnologie, Compact-Disc-Nur-Lese-Speicher („CD-ROM“), Digital Versatile Disk (DVD) oder anderem optischen Speicher, Magnetkassetten, Magnetbändern, Magnetplattenspeichern oder anderen magnetischen Speichervorrichtungen oder anderen Medien, mit denen die gewünschten Informationen gespeichert werden können, implementiert sind und auf die eine Systemvorrichtung zugreifen kann. Basierend auf der hierin bereitgestellten Offenbarung und Lehre wird ein Durchschnittsfachmann andere Wege und/oder Verfahren zur Implementierung der verschiedenen Ausführungsformen erkennen.
  • Die Beschreibung und die Zeichnungen sind dementsprechend eher veranschaulichend als einschränkend zu verstehen. Es ist jedoch offensichtlich, dass verschiedene Modifikationen und Änderungen daran vorgenommen werden können, ohne vom breiteren Geist und Umfang der Offenbarung abzuweichen, wie sie in den Ansprüchen dargelegt sind.
  • Weitere Variationen liegen im Geist der vorliegenden Offenbarung. Während die offenbarten Techniken für verschiedene Modifikationen und alternative Konstruktionen anfällig sind, sind bestimmte veranschaulichte Ausführungsformen davon in den Zeichnungen gezeigt und wurden oben im Detail beschrieben. Es versteht sich jedoch, dass nicht beabsichtigt ist, die Offenbarung auf die bestimmte Form oder die bestimmten offenbarten Formen zu beschränken, sondern dass im Gegenteil beabsichtigt ist, alle Modifikationen, alternativen Konstruktionen und Äquivalente abzudecken, die in den Geist und Umfang der Offenbarung fallen, wie in den beigefügten Ansprüchen definiert.
  • Die Verwendung der Begriffe „ein“ und „eine/r“ und „der/die/das“ und ähnlicher Verweise im Zusammenhang mit der Beschreibung der offenbarten Ausführungsformen (insbesondere im Zusammenhang mit den folgenden Ansprüchen) soll so ausgelegt werden, dass sie sowohl den Singular als auch den Plural abdeckt, sofern hierin nichts anderes angegeben ist oder der Kontext dem eindeutig widerspricht. Die Begriffe „umfassen“, „haben“, „aufweisen“ und „enthalten“ sind als nicht einschränkende Begriffe zu verstehen (d. h. bedeuten „einschließlich, aber nicht darauf beschränkt“), sofern nicht anders angegeben. Der Begriff „verbunden“ ist so zu verstehen, dass etwas teilweise oder vollständig in etwas enthalten ist, daran angehängt oder zusammengefügt ist, selbst wenn etwas dazwischenliegt. Die Angabe von Wertebereichen hierin soll lediglich als Kurzform dienen, um sich einzeln auf jeden einzelnen Wert zu beziehen, der in den Bereich fällt, sofern hier nichts anderes angegeben ist, und jeder einzelne Wert wird in die Beschreibung aufgenommen, als ob er hier einzeln angegeben wäre. Alle hier beschriebenen Verfahren können in jeder geeigneten Reihenfolge durchgeführt werden, sofern hier nichts anderes angegeben ist oder der Kontext dem eindeutig widerspricht. Die Verwendung aller hierin bereitgestellten Beispiele oder beispielhaften Ausdrücke (z. B. „wie“) soll lediglich Ausführungsformen der Offenbarung besser veranschaulichen und stellt keine Einschränkung des Umfangs der Offenbarung dar, sofern nicht anders beansprucht. Keine Sprache in der Beschreibung sollte so ausgelegt werden, dass sie ein nicht beanspruchtes Element anzeigt, das für die Ausübung der Offenbarung wesentlich ist.
  • Eine disjunktive Sprache wie der Ausdruck „mindestens eines von X, Y oder Z“ soll, sofern nicht ausdrücklich anders angegeben, in dem Kontext verstanden werden, der allgemein verwendet wird, um darzustellen, dass ein Gegenstand, Begriff usw. entweder X, Y oder Z sein kann oder eine beliebige Kombination davon (z. B. X, Y und/oder Z). Somit soll und sollte eine solche disjunktive Sprache nicht generell bedeuten, dass bei bestimmten Ausführungsformen mindestens eines von X, mindestens eines von Y oder mindestens eines von Z vorhanden sein muss.
  • Bevorzugte Ausführungsformen dieser Offenbarung werden hierin beschrieben, einschließlich der den Erfindern bekannten besten Art zum Ausführen der Offenbarung. Variationen dieser bevorzugten Ausführungsformen können für den Fachmann beim Lesen der vorstehenden Beschreibung offensichtlich werden. Die Erfinder erwarten von Fachleuten, dass sie solche Variationen nach Bedarf anwenden, und die Erfinder beabsichtigen, dass die Offenbarung anders als hier spezifisch beschrieben praktiziert wird. Dementsprechend umfasst diese Offenbarung alle Modifikationen und Äquivalente des in den beigefügten Ansprüchen angegebenen Gegenstands, soweit dies nach geltendem Recht zulässig ist. Darüber hinaus ist jede Kombination der oben beschriebenen Elemente in allen möglichen Variationen davon von der Offenbarung umfasst, sofern hier nichts anderes angegeben ist oder der Kontext diesbezüglich eindeutig widerspricht.
  • Alle hier zitierten Bezugnahmen, einschließlich Veröffentlichungen, Patentanmeldungen und Patente, werden hiermit durch Bezugnahme in demselben Umfang aufgenommen, als ob jede Bezugnahme einzeln und spezifisch als durch Bezugnahme aufgenommen angegeben und in ihrer Gesamtheit hierin dargelegt wäre.
  • Beispiele der Ausführungsformen der vorliegenden Offenbarung können im Hinblick auf die folgenden Abschnitte beschrieben werden:
    1. 1. Computerimplementiertes Verfahren, umfassend: Empfangen einer ersten Bildmaske eines Bildes eines Benutzers, des Bildes und von Metadaten über das Bild durch ein Computersystem und von einer Bilderfassungsvorrichtung, wobei die Metadaten mehrere eindeutige Werte für einen oder mehrere in dem Bild enthaltene Teile angeben, wobei die Bilderfassungsvorrichtung dazu konfiguriert ist, ein Tiefenbild des Benutzers und ein Farbmaskenbild des Benutzers zu erfassen, wobei das Tiefenbild des Benutzers eine dreidimensionale (3D) Darstellung des Benutzers enthält, die von der Bilderfassungsvorrichtung verwendet wird, um eine Tiefe des Benutzers und einen Vordergrundort des Benutzers in Bezug auf einen Hintergrund des von der Bilderfassungsvorrichtung erfassten Bildes zu identifizieren, wobei das Farbmaskenbild ein Rot-Grün-Blau-Bild (RGB) des Benutzers umfasst, wobei das erste Maskenbild das Tiefenbild und das Farbmaskenbild umfasst; Extrahieren einer Darstellung des Benutzers und einer Darstellung eines Bodenbereichs, der mit der Darstellung des Benutzers assoziiert ist, aus dem Bild durch das Computersystem, basierend mindestens teilweise auf der ersten Bildmaske und den Metadaten, wobei die Darstellung des Benutzers aus einer ersten Teilmenge von Teilen des einen oder der mehreren Teile, die in dem Bild enthalten sind, und die Darstellung des Bodenbereichs aus einer zweiten Teilmenge von Teilen des einen oder der mehreren Teile besteht, die in dem Bild enthalten sind; Entfernen eines ersten Bereichs des Bildes durch das Computersystem in Bezug auf die extrahierte Darstellung des Benutzers in dem Bild, basierend mindestens teilweise auf der ersten Bildmaske und den Metadaten, wodurch ein zweiter Bereich des Bildes erzeugt wird; Kombinieren der extrahierten Darstellung des Benutzers mit dem Bodenbereich des Bildes in Bezug auf den zweiten Bereich des Bildes durch das Computersystem, mindestens teilweise basierend auf der ersten Bildmaske und den Metadaten; und Anzeigen eines überarbeiteten Bildes des Benutzers durch das Computersystem über eine Benutzerschnittstelle des Computersystems, wobei das überarbeitete Bild des Benutzers die Kombination der extrahierten Darstellung des Benutzers mit dem in dem zweiten Bereich des Bildes enthaltenen Bodenbereich des Bildes umfasst.
    2. 2. Computerimplementiertes Verfahren nach Abschnitt 1, wobei einer oder mehrere der mehreren durch die Metadaten angezeigten eindeutigen Werten ein Pixel im Bild als im Hintergrund des Bildes befindlich identifizieren.
    3. 3. Computerimplementiertes Verfahren nach Abschnitt 1, ferner umfassend das mindestens teilweise Verschleiern eines Teils des einen oder der mehreren Teile des Bildes basierend auf den Metadaten.
    4. 4. Computerimplementiertes Verfahren nach Abschnitt 1, ferner umfassend das Identifizieren eines in dem Bild enthaltenen Artikels mindestens teilweise auf der Grundlage eines Artikelerkennungsalgorithmus und eines Artikelkatalogs, die von einem elektronischen Marktplatz geführt werden.
    5. 5. Computerimplementiertes Verfahren nach Abschnitt 4, ferner umfassend das Anzeigen eines interaktionsfähigen Objekts über die Benutzerschnittstelle des Computersystems, das konfiguriert ist, um das Bestellen des in dem Bild enthaltenen Artikels zu ermöglichen.
    6. 6. Computerimplementiertes Verfahren nach Abschnitt 1, ferner umfassend das Aktualisieren des überarbeiteten Bildes des Benutzers mit einem bestimmten Teil eines anderen überarbeiteten Bildes des Benutzers, das von dem Computersystem verwaltet wird.
    7. 7. Computerimplementiertes Verfahren, umfassend:
      • Empfangen einer ersten Bildmaske durch ein Computersystem und von einer Bilderfassungsvorrichtung, die eine zweidimensionale (2D) Darstellung eines Benutzers in einem von der Bilderfassungsvorrichtung erfassten Bild und erste Metadaten umfasst, die eine erste Teilmenge von Bereichen in dem Bild als im Vordergrund des Bildes befindlich identifizieren, Empfangen einer zweiten Bildmaske durch das Computersystem und von der Bilderfassungsvorrichtung, die eine Darstellung eines dem Benutzer zugeordneten Bodenbereichs in dem von der Bilderfassungsvorrichtung erfassten Bild und zweite Metadaten umfasst, die eine zweite Teilmenge von Bereichen in dem Bild als Vordergrund des Bildes identifizieren, Empfangen eines Farbbildes des Benutzers durch das Computersystem und von der Bilderfassungsvorrichtung; Extrahieren der Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs aus dem Farbbild des Benutzers durch das Computersystem, mindestens teilweise basierend auf der ersten Bildmaske, der zweiten Bildmaske, den ersten Metadaten und den zweiten Metadaten;
      • Zuschneiden eines ersten Bereichs des Farbbildes des Benutzers durch das Computersystem in Bezug auf die extrahierte Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs, mindestens teilweise basierend auf der ersten Bildmaske und der zweiten Bildmaske, wodurch ein zweiter Bereich des Farbbildes erzeugt wird; und Verschleiern eines dritten Bereichs des zugeschnittenen Farbbildes durch das Computersystem, das mindestens teilweise auf den ersten Metadaten und den zweiten Metadaten basiert, wodurch ein überarbeitetes Farbbild des Benutzers erzeugt wird, das eine Kombination der extrahierten Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs umfasst.
    8. 8. Computerimplementiertes Verfahren nach Abschnitt 7, ferner umfassend das Verwalten mehrerer zugeschnittener Farbbilder des Benutzers.
    9. 9. Computerimplementiertes Verfahren nach Abschnitt 7, ferner umfassend das Identifizieren mehrerer in dem Bild des Benutzers enthaltener Artikel mindestens teilweise auf der Grundlage eines Artikelerkennungsalgorithmus und eines Artikelkatalogs.
    10. 10. Computerimplementiertes Verfahren nach Abschnitt 9, ferner umfassend das Erzeugen einer oder mehrerer Artikellisten-Webseiten zum Anbieten der identifizierten mehreren Artikel, die in dem Bild enthalten sind.
    11. 11. Computerimplementiertes Verfahren nach Abschnitt 7, wobei das Empfangen des Farbbildes des Benutzers das Empfangen von dritten Metadaten umfasst, die eine dritte Teilmenge von Bereichen in dem Bild als Hintergrund des Bildes identifizieren.
    12. 12. Computerimplementiertes Verfahren nach Abschnitt 11, wobei die ersten Metadaten, die zweiten Metadaten und die dritten Metadaten ferner eine jeweilige Tiefenmessung für jedes Pixel in dem von der Bilderfassungsvorrichtung erfassten Bild identifizieren.
    13. 13. Computerimplementiertes Verfahren nach Abschnitt 7, wobei die Bilderfassungsvorrichtung einen Tiefensensor zum Erfassen eines dreidimensionalen (3D) Bildes des Benutzers umfasst und ferner dazu konfiguriert ist, das 3D-Bild des Benutzers unter Verwendung des Farbbildes des Benutzers in die 2D-Darstellung des Benutzers umzuwandeln.
    14. 14. Computersystem, umfassend: einen Speicher, der computerausführbare Anweisungen speichert; einen ersten Sensor, der dazu konfiguriert ist, ein dreidimensionales (3D) Bild eines Objekts aufzunehmen; einen zweiten Sensor, der dazu konfiguriert ist, ein Farbbild des Objekts aufzunehmen; und mindestens einen Prozessor, der dazu konfiguriert ist, auf den Speicher zuzugreifen und die computerausführbaren Anweisungen auszuführen, um gemeinsam mindestens: eine erste Bildmaske zu erhalten, die eine zweidimensionale (2D) Darstellung eines Benutzers in einem von dem ersten Sensor erfassten Bild und erste Metadaten umfasst, die eine erste Teilmenge von Bereichen im Bild als im Vordergrund des Bildes befindlich identifizieren, mindestens teilweise basierend auf einem 3D-Bild des vom ersten Sensor erfassten Bildes; eine zweite Bildmaske zu erhalten, die eine Darstellung eines dem Benutzer zugeordneten Bodenbereichs in dem von dem ersten Sensor erfassten Bild und zweite Metadaten umfasst, die eine zweite Teilmenge von Bereichen in dem Bild als den Vordergrund des Bildes identifizieren, das Farbbild des Benutzers von dem zweiten Sensor zu erhalten; die Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs aus dem Farbbild des Benutzers zu extrahieren, mindestens teilweise basierend auf der ersten Bildmaske, der zweiten Bildmaske, den ersten Metadaten und den zweiten Metadaten; und einen ersten Bereich des Farbbildes des Benutzers in Bezug auf die extrahierte Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs zu entfernen, mindestens teilweise basierend auf der ersten Bildmaske und der zweiten Bildmaske, wodurch ein zweiter Bereich des Farbbildes erzeugt wird.
    15. 15. Computersystem nach Abschnitt 14, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, ein überarbeitetes Bild des Benutzers anzuzeigen, das eine Kombination der extrahierten Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs innerhalb des zweiten Bereichs des Farbbildes umfasst.
    16. 16. Computersystem nach Abschnitt 14, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, einen dritten Bereich des Farbbildes mindestens teilweise basierend auf den ersten Metadaten und den zweiten Metadaten zu verschleiern.
    17. 17. Computersystem nach Abschnitt 14, wobei das Erhalten der ersten Bildmaske das Umwandeln des 3D-Bildes des Benutzers in das 2D-Bild des Benutzers umfasst.
    18. 18. Computersystem nach Abschnitt 14, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, ein oder mehrere Objekte in dem Bild mindestens teilweise basierend auf einem Artikelerkennungsalgorithmus zu identifizieren.
    19. 19. Computersystem nach Abschnitt 18, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, dem Benutzer Anweisungen zum Entfernen des identifizierten einen oder der identifizierten mehreren Objekte aus der ersten Teilmenge von Bereichen in dem Bild zu senden.
    20. 20. Computersystem nach Abschnitt 18, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, dem Benutzer Anweisungen zum Erfassen eines anderen Bildes des Benutzers als Reaktion auf eine Anzeige, dass das identifizierte eine oder die identifizierten mehreren Objekte aus der ersten Teilmenge von Bereichen in dem Bild entfernt wurden, zu senden.

Claims (16)

  1. BEANSPRUCHT WIRD:
  2. Computerimplementiertes Verfahren, umfassend: Empfangen einer ersten Bildmaske durch ein Computersystem und von einer Bilderfassungsvorrichtung, die eine zweidimensionale (2D) Darstellung eines Benutzers in einem von der Bilderfassungsvorrichtung erfassten Bild und erste Metadaten umfasst, die eine erste Teilmenge von Bereichen in dem Bild als im Vordergrund des Bildes befindlich identifizieren, Empfangen einer zweiten Bildmaske durch das Computersystem und von der Bilderfassungsvorrichtung, die eine Darstellung eines dem Benutzer zugeordneten Bodenbereichs in dem von der Bilderfassungsvorrichtung erfassten Bild und zweite Metadaten umfasst, die eine zweite Teilmenge von Bereichen in dem Bild als Vordergrund des Bildes identifizieren, Empfangen eines Farbbildes des Benutzers durch das Computersystem und von der Bilderfassungsvorrichtung; Extrahieren der Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs aus dem Farbbild des Benutzers durch das Computersystem, mindestens teilweise basierend auf der ersten Bildmaske, der zweiten Bildmaske, den ersten Metadaten und den zweiten Metadaten; Zuschneiden eines ersten Bereichs des Farbbildes des Benutzers durch das Computersystem in Bezug auf die extrahierte Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs, mindestens teilweise basierend auf der ersten Bildmaske und der zweiten Bildmaske, wodurch ein zweiter Bereich des Farbbildes erzeugt wird; und Verschleiern eines dritten Bereichs des zugeschnittenen Farbbildes durch das Computersystem, das mindestens teilweise auf den ersten Metadaten und den zweiten Metadaten basiert, wodurch ein überarbeitetes Farbbild des Benutzers erzeugt wird, das eine Kombination der extrahierten Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs umfasst.
  3. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend das Verwalten mehrerer zugeschnittener Farbbilder des Benutzers.
  4. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend das Identifizieren mehrerer in dem Bild des Benutzers enthaltener Artikel mindestens teilweise auf der Grundlage eines Artikelerkennungsalgorithmus und eines Artikelkatalogs.
  5. Computerimplementiertes Verfahren nach Anspruch 3, ferner umfassend das Erzeugen einer oder mehrerer Artikellisten-Webseiten zum Anbieten der identifizierten mehreren Artikel, die in dem Bild enthalten sind.
  6. Computerimplementiertes Verfahren nach Anspruch 1, wobei das Empfangen des Farbbildes des Benutzers das Empfangen von dritten Metadaten umfasst, die eine dritte Teilmenge von Bereichen in dem Bild als Hintergrund des Bildes identifizieren.
  7. Computerimplementiertes Verfahren nach Anspruch 5, wobei die ersten Metadaten, die zweiten Metadaten und die dritten Metadaten ferner eine jeweilige Tiefenmessung für jedes Pixel in dem von der Bilderfassungsvorrichtung erfassten Bild identifizieren.
  8. Computerimplementiertes Verfahren nach Anspruch 1, wobei die Bilderfassungsvorrichtung einen Tiefensensor zum Erfassen eines dreidimensionalen (3D) Bildes des Benutzers umfasst und ferner dazu konfiguriert ist, das 3D-Bild des Benutzers unter Verwendung des Farbbildes des Benutzers in die 2D-Darstellung des Benutzers umzuwandeln.
  9. Computerimplementiertes Verfahren nach Anspruch 1, ferner umfassend das Aktualisieren des überarbeiteten Bildes des Benutzers mit einem bestimmten Teil eines anderen überarbeiteten Farbbildes des Benutzers, das von dem Computersystem verwaltet wird.
  10. Computersystem, umfassend: einen Speicher, der computerausführbare Anweisungen speichert; einen ersten Sensor, der dazu konfiguriert ist, ein dreidimensionales (3D) Bild eines Objekts aufzunehmen; einen zweiten Sensor, der dazu konfiguriert ist, ein Farbbild des Objekts aufzunehmen; und mindestens einen Prozessor, der dazu konfiguriert ist, auf den Speicher zuzugreifen und die computerausführbaren Anweisungen auszuführen, um gemeinsam mindestens: eine erste Bildmaske zu erhalten, die eine zweidimensionale (2D) Darstellung eines Benutzers in einem von dem ersten Sensor erfassten Bild und erste Metadaten umfasst, die eine erste Teilmenge von Bereichen im Bild als im Vordergrund des Bildes befindlich identifizieren, mindestens teilweise basierend auf einem 3D-Bild des vom ersten Sensor erfassten Bildes; eine zweite Bildmaske zu erhalten, die eine Darstellung eines dem Benutzer zugeordneten Bodenbereichs in dem von dem ersten Sensor erfassten Bild und zweite Metadaten umfasst, die eine zweite Teilmenge von Bereichen in dem Bild als den Vordergrund des Bildes identifizieren, das Farbbild des Benutzers von dem zweiten Sensor zu erhalten; die Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs aus dem Farbbild des Benutzers zu extrahieren, mindestens teilweise basierend auf der ersten Bildmaske, der zweiten Bildmaske, den ersten Metadaten und den zweiten Metadaten; und einen ersten Bereich des Farbbildes des Benutzers in Bezug auf die extrahierte Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs zu entfernen, mindestens teilweise basierend auf der ersten Bildmaske und der zweiten Bildmaske, wodurch ein zweiter Bereich des Farbbildes erzeugt wird.
  11. Computersystem nach Anspruch 9, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, ein überarbeitetes Bild des Benutzers anzuzeigen, das eine Kombination der extrahierten Darstellung des Benutzers und des dem Benutzer zugeordneten Bodenbereichs innerhalb des zweiten Bereichs des Farbbildes umfasst.
  12. Computersystem nach Anspruch 9, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, einen dritten Bereich des Farbbildes mindestens teilweise basierend auf den ersten Metadaten und den zweiten Metadaten zu verschleiern.
  13. Computersystem nach Anspruch 9, wobei das Erhalten der ersten Bildmaske das Umwandeln des 3D-Bildes des Benutzers in das 2D-Bild des Benutzers umfasst.
  14. Computersystem nach Anspruch 9, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, ein oder mehrere Objekte in dem Bild mindestens teilweise basierend auf einem Artikelerkennungsalgorithmus zu identifizieren.
  15. Computersystem nach Anspruch 13, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, dem Benutzer Anweisungen zum Entfernen des identifizierten einen oder der identifizierten mehreren Objekte aus der ersten Teilmenge von Bereichen in dem Bild zu senden.
  16. Computersystem nach Anspruch 13, wobei der mindestens eine Prozessor ferner dazu konfiguriert ist, dem Benutzer Anweisungen zum Erfassen eines anderen Bildes des Benutzers als Reaktion auf eine Anzeige, dass das identifizierte eine oder die identifizierten mehreren Objekte aus der ersten Teilmenge von Bereichen in dem Bild entfernt wurden, zu senden.
DE112017006406.6T 2016-12-20 2017-12-18 Intelligentes automatisches zuschneiden von bildern Pending DE112017006406T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/385,249 2016-12-20
US15/385,249 US10325372B2 (en) 2016-12-20 2016-12-20 Intelligent auto-cropping of images
PCT/US2017/067110 WO2018118813A1 (en) 2016-12-20 2017-12-18 Intelligent auto-cropping of images

Publications (1)

Publication Number Publication Date
DE112017006406T5 true DE112017006406T5 (de) 2019-09-05

Family

ID=60943156

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112017006406.6T Pending DE112017006406T5 (de) 2016-12-20 2017-12-18 Intelligentes automatisches zuschneiden von bildern

Country Status (4)

Country Link
US (1) US10325372B2 (de)
JP (1) JP6780117B2 (de)
DE (1) DE112017006406T5 (de)
WO (1) WO2018118813A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110770717B (zh) * 2017-05-17 2024-04-16 谷歌有限责任公司 通过通信网络与指定用户的自动图像共享
US10798313B2 (en) * 2017-08-22 2020-10-06 Alarm.Com Incorporated Preserving privacy in surveillance
US20190102813A1 (en) * 2017-09-29 2019-04-04 PayPal,Inc. Automatic invoice creation for chat and social platforms
US10638906B2 (en) * 2017-12-15 2020-05-05 Neato Robotics, Inc. Conversion of cleaning robot camera images to floorplan for user interaction
US10692183B2 (en) * 2018-03-29 2020-06-23 Adobe Inc. Customizable image cropping using body key points
JP7129242B2 (ja) * 2018-06-27 2022-09-01 キヤノン株式会社 画像装置及び方法
US11222427B2 (en) * 2018-10-31 2022-01-11 Wind River Systems, Inc. Image compression
CN111222011B (zh) * 2020-01-06 2023-11-14 腾讯科技(深圳)有限公司 一种视频向量确定方法和装置
US11361447B2 (en) * 2020-06-25 2022-06-14 Amazon Technologies, Inc. Image cropping using pre-generated metadata
CN113780030A (zh) * 2021-09-13 2021-12-10 福州符号信息科技有限公司 一种分区域解码的方法及条码阅读设备
US11810256B2 (en) * 2021-11-11 2023-11-07 Qualcomm Incorporated Image modification techniques

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3230481B2 (ja) 1998-03-13 2001-11-19 株式会社朋栄 テレビジョン画像の合成方式
US7676081B2 (en) * 2005-06-17 2010-03-09 Microsoft Corporation Image segmentation of foreground from background layers
US8274530B2 (en) * 2007-03-12 2012-09-25 Conversion Works, Inc. Systems and methods for filling occluded information for 2-D to 3-D conversion
US8659622B2 (en) * 2009-08-31 2014-02-25 Adobe Systems Incorporated Systems and methods for creating and editing seam carving masks
US8306333B2 (en) * 2009-12-17 2012-11-06 National Tsing Hua University Method and system for automatic figure segmentation
US8588548B2 (en) 2010-07-29 2013-11-19 Kodak Alaris Inc. Method for forming a composite image
JP5250598B2 (ja) * 2010-10-05 2013-07-31 株式会社ソニー・コンピュータエンタテインメント 画像表示装置および画像表示方法
GB2489675A (en) * 2011-03-29 2012-10-10 Sony Corp Generating and viewing video highlights with field of view (FOV) information
US20130069980A1 (en) 2011-09-15 2013-03-21 Beau R. Hartshorne Dynamically Cropping Images
EP2893479B1 (de) * 2012-09-05 2018-10-24 Sizer Technologies Ltd System und verfahren zur ableitung genauer körpergrössenmasse aus einer sequenz von 2d-bildern
US9684928B2 (en) * 2014-01-15 2017-06-20 Holition Limited Foot tracking
WO2015123792A1 (en) * 2014-02-19 2015-08-27 Qualcomm Incorporated Image editing techniques for a device
US9972092B2 (en) * 2016-03-31 2018-05-15 Adobe Systems Incorporated Utilizing deep learning for boundary-aware image segmentation

Also Published As

Publication number Publication date
JP2020502662A (ja) 2020-01-23
US10325372B2 (en) 2019-06-18
US20180174299A1 (en) 2018-06-21
JP6780117B2 (ja) 2020-11-04
WO2018118813A1 (en) 2018-06-28

Similar Documents

Publication Publication Date Title
DE112017006406T5 (de) Intelligentes automatisches zuschneiden von bildern
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
US10049308B1 (en) Synthesizing training data
DE112017006517T5 (de) Visuelle kategoriedarstellung mit vielfältiger einstufung
DE102018006247A1 (de) Digitalbildvervollständigung unter Verwendung des Deep Learning
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102020004960A1 (de) Formverändern von Textilien unter Nutzung eines Multiskalen-Patchadversativverlustes
DE102018007937A1 (de) Entfernen und Ersetzen von Objekten in Bildern entsprechend einem geführten Nutzerdialog
DE102018207088A1 (de) Bildanalyse ohne marker für augmented reality
DE102016010744A1 (de) Modifizieren von zumindest einem Attribut von einem Bild mit zumindest einem Attribut, das von einem anderen Bild extrahiert wurde
DE102017007998A1 (de) Produktempfehlungen auf der basis von ansichten einer erweiterten realität
DE102016010868A1 (de) Suchen unter Verwendung von in Bildern gefundenen spezifischen Attributen
DE112019001175T5 (de) Visuelles Feedback zum Prozesszustand
DE112017004150T5 (de) Automatisches markieren von dynamischen objekten in einer multiview-digital-darstellung
DE112017002821T5 (de) Verfahren, System und Computerprogrammprodukt zur interaktiven Identifizierung von gleichen Personen oder Objekten in Videoaufnahmen
DE112016001830T5 (de) Das Entdecken von Unternehmen aus Bildern
DE102018007167A1 (de) Bildsuche und -abfrage unter Verwendung von Objekteigenschaften
DE102015107884A1 (de) Verfahren zm Einbetten von Produktinformationen in ein Video mittels Hochfrequenzinformationen
DE202015009137U1 (de) Verwenden von Bildmerkmalen zur Extraktion von Ansichtsfenstern aus Bildern
DE102011003201A1 (de) System für kreative Bildnavigation und Untersuchung
DE202014010895U1 (de) Techniken für die Navigation zwischen mehreren Bildern
DE112015004507T5 (de) Verfahren und Gerät zur Bildverarbeitung
WO2022194102A1 (zh) 图像处理方法、装置、计算机设备、存储介质及程序产品
DE102014117895A1 (de) Hinweis-basierte Spot-Healing-Techniken
DE202014010922U1 (de) Erzeugung von Tiefenkarten

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication