DE102019005938A1 - Intelligentes Identifizieren von Ersetzungsbereichen zum Mischen und Ersetzen von Personen in Gruppenporträts - Google Patents

Intelligentes Identifizieren von Ersetzungsbereichen zum Mischen und Ersetzen von Personen in Gruppenporträts Download PDF

Info

Publication number
DE102019005938A1
DE102019005938A1 DE102019005938.7A DE102019005938A DE102019005938A1 DE 102019005938 A1 DE102019005938 A1 DE 102019005938A1 DE 102019005938 A DE102019005938 A DE 102019005938A DE 102019005938 A1 DE102019005938 A1 DE 102019005938A1
Authority
DE
Germany
Prior art keywords
image
target
person
version
replacement system
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
DE102019005938.7A
Other languages
English (en)
Inventor
Seyed Morteza Safdarnejad
Chih-Yao Hsieh
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.)
Adobe Inc
Original Assignee
Adobe 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 Adobe Inc filed Critical Adobe Inc
Publication of DE102019005938A1 publication Critical patent/DE102019005938A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/166Detection; Localisation; Normalisation using acquisition arrangements
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/60Image enhancement or restoration using machine learning, e.g. neural networks
    • 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
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/162Segmentation; Edge detection involving graph-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/443Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by matching or filtering
    • G06V10/449Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters
    • G06V10/451Biologically inspired filters, e.g. difference of Gaussians [DoG] or Gabor filters with interaction between the filter responses, e.g. cortical complex cells
    • G06V10/454Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/161Detection; Localisation; Normalisation
    • G06V40/167Detection; Localisation; Normalisation using comparisons between temporally consecutive images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/169Holistic features and representations, i.e. based on the facial image taken as a whole
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • G06V40/175Static expression
    • 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/10016Video; Image sequence
    • 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/20081Training; Learning
    • 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/20084Artificial neural networks [ANN]
    • 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
    • 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
    • G06T2207/30201Face

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Die vorliegende Offenbarung betrifft das intelligente Mischen und Abgleichen von Gesichtern und/oder Menschen zum Generieren eines nachbearbeiteten Bildes, wodurch Artefakte und andere Mängel verringert oder minimiert werden. Die offenbarten Systeme können beispielsweise selektiv verschiedene Ausrichtungsmodelle anwenden, um eine Relativausrichtung zwischen einem Referenzenbild und einem Zielbild mit einer verbesserten Version der Person zu bestimmen. Beim Ausrichten der Digitalbilder können die offenbarten Systeme einen Ersetzungsbereich auf Grundlage einer Begrenzung, die die Zielversion und der Referenzversion der Person beinhaltet, ohne Durchschneidung anderer Objekte oder Menschen in dem Bild intelligent identifizieren. Unter Nutzung der Größe und Form des Ersetzungsbereiches um die Zielversion und die Referenzversion ersetzen die Systeme die Version der Person in dem Referenzbild durch die Zielversion. Die Ausrichtung der Bilder und die intelligente Auswahl des Ersetzungsbereiches minimieren Inkonsistenzen und/oder Artefakte im fertigen Bild.

Description

  • Hintergrund
  • In den vergangenen Jahren war eine starke Zunahme bei Technologien für die Digitalfotografie wie auch bei der Nutzung derselben zu beobachten. Die Einführung von Smartphones mit integrierten qualitativ hochwertigen Kameras hat in der Praxis dazu geführt, dass der Großteil der Menschen Digitalkameras nahezu durchgehend mit sich führt. Dies wiederum hat zu einer massiven Zunahme der Anzahl von aufgenommenen Digitalfotos geführt. Nicht nur die Anzahl von Digitalfotografien, sondern auch die Einfachheit und Geschwindigkeit beim Teilen von Digitalfotografien haben in jüngster Zeit zugenommen. Smartphones mit Apps sozialer Netzwerke erlauben Nutzern beispielsweise, Digitalfotografien nahezu unmittelbar nach der Aufnahme zu teilen. Nutzer streben nunmehr danach, das „perfekte Bild“ aufzunehmen und es so schnell wie möglich zu teilen.
  • Ein aktueller Fortschritt dabei, Fotografierende beim Aufnehmen von qualitativ hochwertigen Fotografien zu unterstützen, sind der Burst Mode oder das Continuous Shooting. Digitalkameras mit Burst Mode nehmen mehrere Frames oder Bilder pro Sekunde auf. Digitalkameras mit Burst Mode können in der Praxis mehrere zehn Bilder pro Sekunde aufnehmen. Die Burst-Mode-Fotografie unterstützt Fotografierende beim Aufnehmen eines qualitativ hochwertigen Bildes in verschiedenen und auch verschiedenartigen Typen von Momenten. Die Nutzung des Burst Mode bei der Aufnahme eines Gruppenporträts ermöglicht einem Fotografierenden, Dutzende von Bildern aufzunehmen und diejenige gewünschte Version (instance), in der Mängel minimiert sind, auszuwählen. Gruppenporträts weisen beispielsweise oftmals einige Mängel auf, so beispielsweise blinzelnde Menschen, Menschen, die in die falsche Richtung schauen, oder eine bewegungsbedingte Unschärfe. Der Burst Mode ermöglicht dem Fotografierenden, die Treffer beim Aufnehmen eines Bildes mit der kleinsten Anzahl von Mängeln, das heißt eines Bildes, auf dem jeder in der Gruppe nach vorne schaut und die Augen offen hat, zu erhöhen.
  • Obwohl die Nutzung der Burst-Mode-Fotografie für Gruppenporträts verschiedene Vorteile bietet, bringt die Burst-Mode-Fotografie auch eine Anzahl von Nachteilen mit sich. Insbesondere ist die Chance dafür, das perfekte Foto des Gesichtes einer jeden Person aufzunehmen, oftmals niedrig. So sieht beispielsweise die eine Person auf dem einen Foto am besten aus, während eine andere Person wahrscheinlich auf einem anderen Foto am besten aussieht.
  • Zusätzlich ist das Durchkämmen mehrerer Gruppenfotos unter Nutzung herkömmlicher Burst-Mode-Fotografiesysteme oftmals ineffizient. Üblicherweise erfordert die herkömmliche Burst-Mode-Fotografie, dass der Fotografierende das Gesicht einer jeden Einzelperson in möglicherweise Dutzenden von Bildern prüft und vergleicht, um ein gewünschtes oder qualitativ hochwertiges Gruppenporträt zu identifizieren. Das Prüfen von Burst-Mode-Bildern kann aufgrund der Schwierigkeit beim Vergleichen derartiger ähnlicher Bilder sowohl aufwändig als auch zeitintensiv sein. Die Nutzung von Handvorrichtungen mit vergleichsweise kleinen Anzeigen verschärft diese Probleme zusätzlich, da die Gesichter innerhalb der Bilder gegebenenfalls relativ klein aussehen. Die Zeit und der Aufwand im Zusammenhang mit dem Auswählen eines qualitativ hochwertigen Gruppenporträts hält Nutzer gegebenenfalls davon ab, den Burst Mode anzuwenden, wenn sie versuchen, ein Bild aufzunehmen und schnell zu teilen.
  • Herkömmliche Fotoverwaltungssysteme verfügen über die Fähigkeit, Teile von Burst-Bildern zu mischen und abzugleichen. Die Misch- und Abgleichsfunktionalität, die herkömmliche Systeme bieten, ist jedoch oftmals unflexibel. Um ein akzeptables Ergebnis zu erreichen, erfordern herkömmliche Systeme beispielsweise, dass Burst-Fotos von einer Kamera, die auf einem Stativ montiert ist, aufgenommen werden. Den Fotografierenden bietet sich oftmals keine Flexibilität beim Mischen und Abgleichen von Teilen von Bildern, die unter Nutzung einer Handkamera oder eines Mobiltelefons aufgenommen worden sind. Werden Fotos nicht unter Nutzung eines Stativs aufgenommen, so erzeugen bestehende Systeme oftmals Bilder, die Inkonsistenzen oder Artefakte beinhalten.
  • Zusätzlich erfordern Bilder, die unter Nutzung herkömmlicher Fotoverwaltungssysteme gemischt und abgeglichen worden sind, auch dann, wenn eine Gruppe von Fotos unter Nutzung eines Stativs aufgenommen wird, oftmals eine intensive manuelle Bearbeitung und beinhalten gleichwohl oftmals Inkonsistenzen und/oder visuelle Artefakte. Das Ersetzen eines Gesichtes oder eines Gesichtsbegrenzungskastens durch ein anderes Gesicht oder einen anderen Gesichtsbegrenzungskasten führt beispielsweise oftmals zu Diskontinuitäten und Artefakten beim Endergebnis. Hat sich eine Person beispielsweise zwischen zwei Aufnahmen beim Foto-Burst bewegt, so beinhaltet der Gesichtsbegrenzungskasten gegebenenfalls verschiedene Abschnitte von Hintergrundstrukturen. Das nachbearbeitete Bild, das von herkömmlichen Fotoverwaltungssystemen erzeugt wird, beinhaltet daher oftmals Inkonsistenzen.
  • Diese und andere Probleme treten im Zusammenhang mit dem Aufnehmen und Bearbeiten von Gruppenporträts auf.
  • Zusammenfassung
  • Eine oder mehrere der nachstehend beschriebenen Ausführungsformen bieten Vorteile und/oder lösen eines oder mehrere der vorbeschriebenen oder auch andere Probleme im Stand der Technik bei Systemen, Verfahren und computerlesbaren Medien, die Gesichter und/oder Menschen zwischen dem Burst Mode oder Live-Fotos intelligent mischen und abgleichen, um ein nachbearbeitetes Bild zu generieren, das Artefakte und andere Mängel verringert oder minimiert. Ein Fotografierender kann beispielsweise eine Serie von Bildern, darunter ein nicht perfektes Referenzbild, aufnehmen. Insbesondere kann eine Person in dem Referenzbild blinzeln oder wegschauen. Bei einer oder mehreren Ausführungsformen können die offenbarten Systeme selektiv verschiedene Ausrichtungsmodelle anwenden, um eine Relativausrichtung zwischen dem Referenzbild und einem Zielbild mit einer verbesserten Version der Person zu bestimmen. Beim Ausrichten der Digitalbilder können die offenbarten Systeme einen Ersetzungsbereich auf Grundlage einer Begrenzung der Zielversion und der Referenzversion der Person ohne Durchschneidung anderer Objekte oder Menschen in dem Bild intelligent identifizieren. Unter Nutzung der Größe und Form des Ersetzungsbereiches um die Zielversion und die Referenzversion ersetzen die Systeme, Verfahren und computerlesbaren Medien die Version der Person in dem Referenzbild durch die Zielversion. Die Ausrichtung der Bilder und die intelligente Auswahl des Ersetzungsbereiches minimiert Inkonsistenzen und/oder Artefakte im fertigen Bild, ohne dass die Nutzung eines Stativs oder eine aufwändige manuelle Bearbeitung nötig wären.
  • Zusätzliche Merkmale und Vorteile einer oder mehrerer Ausführungsformen der vorliegenden Offenbarung sind in der nachfolgenden Beschreibung niedergelegt und ergeben sich teilweise aus der Beschreibung oder können sich aus der praktischen Umsetzung derartiger exemplarischer Ausführungsformen erschließen.
  • Figurenliste
  • Es werden verschiedene Ausführungsformen mit zusätzlicher Spezifität und Detailliertheit unter Nutzung der begleitenden Zeichnung, die sich wie folgt zusammensetzt, beschrieben und erläutert.
    • 1A bis 1C zeigen eine Serie von exemplarischen Bildern, die ein Referenzbild, ein Zielbild und ein nachbearbeitetes Bild beinhaltet, entsprechend einer oder mehreren Ausführungsformen.
    • 2 zeigt eine grafische Nutzerschnittstelle einer Handvorrichtung, die mehrere Bilder anzeigt, entsprechend einer oder mehreren Ausführungsformen.
    • 3A und 3B zeigen exemplarische neuronale Netzwerke zum Generieren eines ästhetischen Kennwertes entsprechend einer oder mehreren Ausführungsformen.
    • 4 zeigt ein sequenzielles Flussdiagramm zum Auswählen und Anwenden eines Bildausrichtungsmodells aus einem pixelangepassten Gyroskopausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell zum Ausrichten eines Zielbildes mit einem Referenzbild entsprechend einer oder mehreren Ausführungsformen.
    • 5A zeigt eine Übersicht über die Anwendung eines pixelangepassten Gyroskopausrichtungsmodells entsprechend einer oder mehreren Ausführungsformen.
    • 5B zeigt eine Übersicht über die Anwendung eines merkmalsbasierten Ausrichtungsmodells entsprechend einer oder mehreren Ausführungsformen.
    • 6A und 6B zeigen eine schematische Darstellung eines Prozesses des Identifizierens eines Ersetzungsbereiches in einem Referenzbild und einem Zielbild entsprechend einer oder mehreren Ausführungsformen.
    • 7A bis 7E zeigen eine Serie von exemplarischen Bildern zur Darstellung eines Prozesses des automatischen Ersetzens einer Referenzversion einer Person durch eine Zielversion einer Person entsprechend einer oder mehreren Ausführungsformen.
    • 8A bis 8E zeigen grafische Nutzerschnittstellen zur Darstellung eines Prozesses der Nutzung einer manuellen Rückmeldung zur Ersetzung einer Referenzversion einer Person durch eine Zielversion einer Person entsprechend einer oder mehreren Ausführungsformen.
    • 9 zeigt ein schematisches Diagramm eines Bildbereichsersetzungssystems entsprechend einer oder mehreren Ausführungsformen.
    • 10 zeigt ein schematisches Diagramm einer Netzwerkumgebung, in der ein Bildbereichsersetzungssystem entsprechend einer oder mehreren Ausführungsformen implementiert sein kann.
    • 11 zeigt ein Flussdiagramm einer Serie von Vorgängen zum Umstellen von Ersetzungsbereichen in einem Referenzbild und einem Zielbild entsprechend einer oder mehreren Ausführungsformen.
    • 12 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung entsprechend einer oder mehreren Ausführungsformen.
  • Detailbeschreibung
  • Eine oder mehrere Ausführungsformen der vorliegenden Offenbarung beinhalten ein Bildbereichsersetzungssystem, das ein nahtloses, gemischtes und abgeglichenes Bild generieren kann, indem es einen Ersetzungsbereich um eine Referenzversion einer Person und eine Zielversion einer Person aus mehreren Bildern intelligent identifiziert. Insbesondere richtet das Bildbereichsersetzungssystem bei einer oder mehreren Ausführungsformen mehrere Bilder aus, identifiziert in einem Referenzbild ein oder mehrere Gesichter, die in anderen Bildern besser aussehen, und ersetzt einen intelligent bestimmten Ersetzungsbereich um jedes identifizierte Gesicht durch einen ähnlichen Bereich aus den Bildern mit den besser aussehenden Gesichtern. Die Auswahl des Ersetzungsbereiches stellt darauf ab, die Artefakte im fertigen Bild zu minimieren, indem sichergestellt wird, dass das gesamte Gesicht in dem Referenzbild durch das gesamte Gesicht aus dem Zielbild ersetzt wird, und indem sichergestellt wird, dass die Ersetzungsbereichsbegrenzung durch gleichförmige und wenig strukturierte Pixel der Bilder verläuft.
  • Insbesondere richtet das Bildbereichsersetzungssystem ein Referenzbild, das eine Referenzversion einer Person beinhaltet, mit einem Zielbild, das eine ästhetisch gefälligere Version der Person aufweist, aus. Sobald das Zielbild und die Referenzbilder ausgerichtet sind, bestimmt das Bildbereichsersetzungssystem intelligent einen Ersetzungsbereich, der die Referenzversion und die Zielversion der Person beinhaltet. Das Bildbereichsersetzungssystem wählt beispielsweise einen Ersetzungsbereich mit einer Begrenzung aus, die durch konsistente Pixel in dem Zielbild und dem Referenzbild verläuft. Die Begrenzung des Ersetzungsbereiches meidet daher möglichst Strukturen in dem Referenzbild und dem Zielbild. Auf diese Weise ermöglicht das Bildbereichsersetzungssystem eine artefaktfreie Ersetzung einer Version einer Person in Fotos, ohne dass die Nutzung eines Stativs oder eine intensive manuelle Bearbeitung erforderlich wären.
  • Wie erwähnt worden ist, kann das Bildbereichsersetzungssystem ein Referenzbild und ein Zielbild effizient und genau ausrichten. Bei einer oder mehreren Ausführungsformen bestimmt das Bildbereichsersetzungssystem beispielsweise eine Merkmal-Punkt-Unsicherheitsmetrik und wählt auf Grundlage der Merkmal-Punkt-Unsicherheitsmetrik ein Ausrichtungsmodell aus. Insbesondere kann das Bildbereichsersetzungssystem ein Bildausrichtungsmodell aus einem pixelangepassten Gyroskopausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell auf Grundlage einer Merkmal-Punkt-Unsicherheitsmetrik dynamisch auswählen. Das Bildbereichsersetzungssystem kann Bilder, die unter Nutzung von Handkameras und Mobilvorrichtungen aufgenommen werden, ausrichten. Der Bildersetzungsbereich kann daher ohne Nutzung eines Stativs oder eines anderen Verfahrens der Kamerastabilisierung Bilder zur Bereichsersetzung ausrichten. Sobald die Ausrichtung erfolgt ist, kann das Bildbereichsersetzungssystem einen Ersetzungsbereich, wie vorstehend erwähnt worden ist, auswählen.
  • Wie erwähnt worden ist, kann das Bildbereichsersetzungssystem eine Zielversion einer Person zur Ersetzung einer Referenzversion einer Person als Teil des Generierens eines nachbearbeiteten Bildes auswählen. Bei einer oder mehreren Ausführungsformen kann ein Nutzer eine Zielversion manuell auswählen. Bei alternativen Ausführungsformen kann das Bildbereichsersetzungssystem automatisch und ohne Nutzereingabe eine Zielversion identifizieren. Das Bildbereichsersetzungssystem kann beispielsweise mehrere ästhetische Bewertungen für Versionen einer Person aus mehreren Bildern generieren. Das Bildbereichsersetzungssystem kann eine Zielversion der Person, die die höchste ästhetische Bewertung aufweist, identifizieren.
  • Wie eben erwähnt worden ist, kann das Bildbereichsersetzungssystem mehrere ästhetische Bewertungen für mehrere Versionen einer Person generieren. Bei einer oder mehreren Ausführungsformen generiert das Bildbereichsersetzungssystem beispielsweise automatisch eine ästhetische Bewertung für mehrere Versionen einer Person über mehrere Bilder hinweg auf Grundlage einer gewichteten Summe von verschiedenen Attributen. Insbesondere kann das Bildbereichsersetzungssystem aus jeder Version der Person Attribute extrahieren, so beispielsweise das Offensein der Augen, die Frontalstellung des Gesichtes, den Gesichtsausdruck, die Gesichtsschärfe und anderes. Das Bildbereichsersetzungssystem kann zudem jedes dieser Attribute gewichten. Auf Grundlage der extrahierten Attribute und ihrer zugeordneten Gewichtungen generiert das Bildbereichsersetzungssystem eine ästhetische Bewertung für jede Version der Person.
  • Sobald eine Zielversion ausgewählt ist und ein Zielbild und ein Referenzbild ausgerichtet sind, bestimmt das Bildbereichsersetzungssystem in jedem Fall intelligent einen Ersetzungsbereich mit einer Begrenzung, die durch konsistente Pixel in dem Zielbild und dem Referenzbild verläuft. Insbesondere bestimmt der Bildersetzungsbereich einen plausiblen Begrenzungsbereich für eine Ersetzungsbereichsbegrenzung um die Zielversion der Person und die Referenzversion der Person beispielsweise durch Empfangen einer manuellen Nutzereingabe oder durch automatisches Auswählen eines Bereiches, der eine Version der Person umgibt. Danach nutzt das Bildbereichsersetzungssystem einen Graph-Schnitt-Algorithmus, der darauf beschränkt ist, eine Begrenzung innerhalb des plausiblen Begrenzungsbereiches mit maximaler Pixelkonsistenz über die Referenz- und Zielbilder hinweg ausfindig zu machen. Das Bildbereichsersetzungssystem bestimmt eine Umgebung um die Referenzversion der Person und die Zielversion der Person und nutzt Vereinigungs- und Subtraktionsvorgänge zum Identifizieren der Begrenzung für den Ersetzungsbereich. Die Begrenzung des Ersetzungsbereiches meidet daher möglichst Strukturen in dem Referenzbild und dem Zielbild.
  • Bei einer oder mehreren Ausführungsformen generiert das Bildbereichsersetzungssystem ein verbessertes Bild durch Ersetzen eines Referenzbereiches, der dem Ersetzungsbereich entspricht, durch einen Zielbereich, der dem Ersetzungsbereich entspricht. Insbesondere umfasst der Referenzbereich die Begrenzung des Ersetzungsbereiches um die Referenzversion der Person. Auf gleiche Weise umfasst der Zielbereich die Begrenzung des Ersetzungsbereiches um den Zielbereich der Person. Das Bildbereichsersetzungssystem generiert ein neues Bild, in dem das Referenzbild die Zielversion der Person beinhaltet, durch Ersetzen des Referenzbereiches durch den Zielbereich.
  • Wie vorstehend erwähnt worden ist, bietet das Bildbereichsersetzungssystem zahlreiche Vorteile und Fähigkeiten gegenüber herkömmlichen Systemen und Verfahren. Bei einem Beispiel kann das Bildbereichsersetzungssystem die Geschwindigkeit erhöhen, mit der Nutzer ein gewünschtes Gruppenporträt aufnehmen und teilen können. Insbesondere kann das Bildbereichsersetzungssystem mehrere Bilder, die jeweils einen oder mehrere Menschen beinhalten, unter Nutzung der Burst-Mode- oder Live-Bild-Aufnahmetechnik aufnehmen. Das Bildbereichsersetzungssystem kann sodann jede Version einer Person über die mehreren Bilder hinweg mit einem Kennwert versehen, um die Zielversion der Person mit dem besten Aussehen zu identifizieren. Das Bildbereichsersetzungssystem kann daher ein Bild generieren, in dem jede Person am besten aussieht, ohne dass erforderlich wäre, dass der Fotografierende versucht, möglicherweise Dutzende von Bildern zu vergleichen und gegenüberzustellen.
  • Des Weiteren kann das Bildbereichsersetzungssystem ermöglichen, dass Nutzer Bilder, die unter Nutzung einer Handkamera oder eines Mobiltelefons aufgenommen worden sind, mischen und abgleichen. Insbesondere richtet das Bildbereichsersetzungssystem automatisch jedes der Bilder in Bezug auf ein Referenzbild in dem Satz aus. Insbesondere kann das Bildbereichsersetzungssystem eine pixelangepasste Gyroskopausrichtung oder eine merkmalsbasierte Ausrichtung nutzen, um die mehreren Bilder auszurichten. Sobald die Bilder ausgerichtet worden sind, kann das Bildbereichsersetzungssystem Gesichter in dem Referenzbild identifizieren und die identifizierten Gesichter unter Nutzung von Gesichtern aus den mehreren Bildern intelligent ersetzen. Daher bietet das Bildbereichsersetzungssystem einem Nutzer Flexibilität beim Mischen und Abgleichen von Abschnitten von Bildern, die ohne die notwendige Nutzung eines Stativs aufgenommen worden sind.
  • Zusätzlich verringert das Bildbereichsersetzungssystem die Inkonsistenzen und visuellen Artefakte, die üblicherweise auftreten, wenn Bilder von herkömmlichen Fotoverwaltungssystemen erzeugt werden. Insbesondere bestimmt das Bildbereichsersetzungssystem anstelle des Ersetzens eines Gesichtes oder eines Gesichtsbegrenzungskastens durch ein anderes Gesicht oder einen anderen Gesichtsbegrenzungskasten intelligent einen Ersetzungsbereich auf Grundlage des Inhalts der Bilder. Das Bildbereichsersetzungssystem nutzt beispielsweise einen Graph-Schnitt-Algorithmus, der darauf abstellt, eine Bereichsbegrenzung ausfindig zu machen, die durch die am meisten konsistenten Pixel um eine Referenzversion einer Person und eine Zielversion der Person verläuft. Zusätzlich kann der Graph-Schnitt-Algorithmus darauf beschränkt sein, Strukturen in dem Referenzbild und dem Zielbild zu meiden und dabei zudem eine kleine Begrenzung um die Referenz der Person und die Zielversion der Person auszuwählen. Daher kann das Bildbereichsersetzungssystem die Anzahl von visuellen Inkonsistenzen, die beim Mischen und Abgleichen von Abschnitten von Bildern auftreten, verringern.
  • Wie die vorstehende Diskussion deutlich macht, nutzt die vorliegende Offenbarung eine Vielzahl von Begriffen zur Beschreibung von Merkmalen und Vorteilen des Bildbereichsersetzungssystems. Es werden nunmehr zusätzliche Details im Zusammenhang mit der Bedeutung dieser Begriffe angegeben. Im Sinne des Vorliegenden bezeichnet der Begriff „Bild“ oder „Frame“ beispielsweise ein beliebiges Digitalobjekt, das eine visuelle Darstellung erzeugen kann. Der Begriff „Bild“ beinhaltet beispielsweise Digitalbilder und Frames des Digitalvideos. Im Sinne des Vorliegenden bezeichnet der Begriff „Digitalbild“ ein beliebiges Digitalsymbol, ein solches Bild, einen solchen Icon oder eine solche Darstellung. Der Begriff „Digitalbild“ beinhaltet beispielsweise Digitaldateien mit den nachfolgenden Dateierweiterungen: JPG, TIFF, BMP, PNG, RAW oder PDF.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Ersetzungsbereich“ eine Fläche um eine Referenzversion einer Person und die Zielversion der Person. Insbesondere ist der Ersetzungsbereich durch eine Ersetzungsbereichsbegrenzung definiert, die eine Struktur (beispielsweise Gebäude, Gegenstände, andere Menschen und dergleichen) in den Referenz- und Zielbildern meidet. Das Bildbereichsersetzungssystem nutzt die Fläche, die von dem Ersetzungsbereich definiert wird, zum Identifizieren eines Referenzbereiches auf dem Referenzbild und eines Zielbereiches auf dem Zielbild. Die Auswahl des Ersetzungsbereiches stellt darauf ab, die Artefakte in dem nachbearbeiteten Bild zu minimieren, indem sichergestellt wird, dass die gesamte Version eine Referenzperson durch die gesamte Version der Zielperson ersetzt wird, ohne Strukturen in den Bildern zu durchschneiden.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Version einer Person“ das Auftreten einer Person in einem Bild. Insbesondere in dem Fall, in dem ein Fotografierender mehrere Bilder (beispielsweise Burst Mode, Video oder Live-Foto) aufgenommen hat, bezeichnet eine „Version einer Person“ ein Auftreten einer Person in einem Bild der mehreren Bilder. Die anderen Bilder der mehreren Burst-Mode-Bilder können ebenfalls Versionen derselben Person enthalten. Eine Version einer Person kann das Gesicht der Person allein oder das Gesicht und den Körper der Person so, wie diese innerhalb eines Digitalbildes aufgenommen worden sind, umfassen.
  • Im Sinne des Vorliegenden bezeichnen „Burst-Mode-Bilder“ Bilder, die unter Nutzung einer Burst-Mode-Einstellung aufgenommen werden. Mit anderen Worten, der Begriff „Burst-Mode-Bild“ bezeichnet eines aus einer Gruppe von Bildern, die in schneller Serie (beispielsweise mit vier Frames pro Sekunde oder mehr) aufgenommen werden. Insbesondere kann die Burst-Mode-Einstellung einer mobilen Handvorrichtung oder Kamera zum Aufnehmen eines Gruppenporträts, das zwei oder mehr Menschen beinhaltet, benutzt werden. Im Sinne des Vorliegenden bezeichnet der Begriff „Live-Foto“ ein kurzes Video (von beispielsweise 4 oder 5 s), aus dem ein Bild (beispielsweise ein Frame) ausgewählt werden kann.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Attribute“ Charakteristiken eines Objektes. Insbesondere bezeichnet der Begriff „Attribute“ Attribute einer Version einer Person innerhalb eines Digitalbildes. Das Bildbereichsersetzungssystem kann beispielsweise Attribute, so beispielsweise das Offensein von Augen, die Frontalstellung des Gesichtes, den Gesichtsausdruck, die Gesichtsschärfe und dergleichen, aus einer Version einer Person extrahieren. Die Gesichtsorientierungsstellendetektion (face landmark detection) kann benutzt werden, um Attribute aus dem Aussehen der Augenorientierungspunkte, des Gesichtsumrisses, der Mundorientierungsstellen und dergleichen zu extrahieren. Auf Grundlage der extrahierten Attribute kann das Bildbereichsersetzungssystem ästhetische Bewertungen für Versionen einer Person über mehrere Bilder hinweg generieren.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „ästhetische Bewertung“ einen nummerischen Bewertungswert, der die Qualität des Aussehens darstellt. Eine ästhetische Bewertung kann beispielsweise einen Wert zwischen 0 und 1 oder zwischen 0% und 100% umfassen, der die Qualität des Aussehens eines Objektes oder einer Version einer Person in einem Bild angibt. Zusätzlich kann die ästhetische Bewertung eine gewichtete Summe von Attributen umfassen. Jedes der Attribute kann beispielsweise verschiedenen Gewichtungen zugeordnet sein. Einige Attribute, so beispielsweise die Gesichtsschärfe, können größeren Gewichtungen als Attribute wie beispielsweise das Offensein der Augen zugeordnet werden.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Referenzbild“ ein Bild von mehreren Bildern. Insbesondere identifiziert das Bildbereichsersetzungssystem ein Referenzbild von mehreren Bildern. Das Bildbereichsersetzungssystem nutzt das Referenzbild als Referenz, wenn das Bildbereichsersetzungssystem eine Version einer Person entfernt und ersetzt. Mit anderen Worten, das Bildbereichsersetzungssystem ersetzt Pixel in dem Referenzbild durch Pixel aus einem Zielbild. Das Referenzbild kann das am wenigsten unscharfe Bild, das Bild mit einem Maximum an gewünschten Gesichtern oder einfach das erste Foto in einem Satz von Fotos sein.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Zielbild“ ein Bild von mehreren Bildern. Insbesondere identifiziert das Bildbereichsersetzungssystem ein Zielbild aus mehreren Bildern. Das Zielbild beinhaltet eine Zielversion der Person, die üblicherweise eine Version der Person mit der höchsten ästhetischen Bewertung ist. Das Bildbereichsersetzungssystem identifiziert einen Ersetzungsbereich in dem Zielbild für die Bewegung zu dem Referenzbild.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „plausibler Bereich“ oder „plausibler Begrenzungsbereich“ einen Bereich um eine Referenzversion einer Person und eine Zielversion der Person, der den Ersetzungsbereich beinhaltet. Insbesondere bezieht sich der plausible Bereich auf einen zulässigen Bereich, in dem das Bildbereichsersetzungssystem nach einer Begrenzung des Ersetzungsbereiches suchen kann. Insbesondere umfasst der plausible Bereich eine Vereinigung von Umgebungen (das heißt eine Erweiterung des Versionsumrisses) um die Referenz- und Zielversionen, minus die anderen Menschen und Objekte in den Bildern. Der plausible Bereich wird nachstehend noch detailliert beschrieben.
  • Der Begriff „maschinelles Lernen“ bezeichnet im Sinne des Vorliegenden den Prozess des Erstellens und Implementierens von Algorithmen, die aus Daten lernen und Vorhersagen über diese treffen können. Insbesondere kann maschinelles Lernen so arbeiten, dass Modelle für exemplarische Eingaben (beispielsweise zum Training), so beispielsweise bei einem Trainingsfontsatz, erstellt werden, um datengetriebene Vorhersagen oder Entscheidungen zu treffen. Benutzt wird maschinelles Lernen bei einigen exemplarischen Ausführungsformen zur Datenverwertung (data mining) und zur statistischen Mustererkennung, so beispielsweise beim kollaborativen Merkmalslernen oder Lernen von Merkmalen aus einem Trainingsdatensatz mit Überwachung oder auch ohne diese.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „neuronales Netzwerk“ ein Modell maschinellen Lernens, das auf Grundlage von Eingaben abgestimmt (beispielsweise trainiert) werden kann, um unbekannte Funktionen anzunähern. Insbesondere kann der Begriff „neuronales Netzwerk“ ein Modell aus wechselseitig verbundenen Neuronen beinhalten, die kommunizieren und das Annähern von komplexen Funktionen lernen sowie Ausgaben auf Grundlage von mehreren Eingaben, die für das Modell bereitgestellt werden, generieren. Der Begriff „neuronales Netzwerk“ beinhaltet beispielsweise einen oder mehrere Algorithmen maschinellen Lernens. Insbesondere kann der Begriff „neuronales Netzwerk“ faltungstechnische neuronale Deep-Netzwerke (Deep Convolutional Neural Networks) (das heißt „CNNs“) beinhalten. Zusätzlich ist ein neuronales Netzwerk ein Algorithmus (oder ein Satz von Algorithmen), der Techniken des Deep Learning implementiert, die einen Satz von Algorithmen zum Modellieren von auf hoher Ebene gegebenen Abstraktionen bei Daten nutzen.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Verlustfunktion“ oder „Verlustmodel“ eine Funktion, die einen Fehlerverlust zwischen Merkmalsvektoren und/oder Wahrscheinlichkeitsvektoren in einem mehrdimensionalen Vektorraum angibt. Ein Algorithmus maschinellen Lernens (beispielsweise ein neuronales Netzwerk) kann wiederholt dafür trainiert werden, einen Klassifikationsfehlerverlust (beispielsweise dahingehend, wie genau oder ungenau die Klassifizierung in Bezug auf die Ground Truth ist) zu minimieren und/oder zu maximieren. Bei einigen Ausführungsformen setzt das Bildbereichsersetzungssystem Verlustfunktionen auf verschiedenen Stufen des Trainings ein. Ein Beispiel für eine Verlustfunktion beinhaltet ein Klassifizierungsverlustmodel, das einen Softmax-Klassifizierer mit Kreuzentropieverlust, wie nachstehend noch weiter beschrieben wird, nutzt.
  • Im Sinne der vorliegenden Offenbarung bezeichnet der Begriff „merkmalsbasiertes Ausrichtungsmodell“ ein Bildausrichtungsmodell, das ein Eingabebild mit einem Referenzbild auf Grundlage von Merkmalspunkten innerhalb des Eingabebildes und des Referenzbildes ausrichtet. Bei einigen Ausführungsformen beinhaltet das merkmalsbasierte Ausrichtungsmodell einen Algorithmus, der Merkmalspunkte zwischen einem Eingabebild und einem Referenzbild identifiziert und abgleicht, um das Eingabebild mit dem Referenzbild auszurichten. Bei einigen Ausführungsformen wendet das Bildbereichsersetzungssystem beispielsweise ein merkmalsbasiertes Ausrichtungsmodell an, indem es einen RANSAC-Algorithmus (Random Sample Consensus RANSAC), einen LMedS-Regressionsalgorithmus (Least Median of Square LMedS) oder andere geeignete Schätzungsalgorithmen mit robustem Modell ausführt, um Merkmalsausrichtungsparameter zu generieren und ein Eingabebild mit einem Referenzbild auf Grundlage der Merkmalsausrichtungsparameter auszurichten. Die Offenbarung beschreibt nachstehend des Weiteren ein merkmalsbasiertes Ausrichtungsmodell anhand von 4 bis 5B.
  • Der Begriff „Merkmalsausrichtungsparameter“ bezeichnet ein oder mehrere Attribute, die Merkmalspunkte aus einem Digitalbild mit entsprechenden Merkmalspunkten aus einem anderen Digitalbild in Beziehung setzen. Bei einigen Ausführungsformen beinhalten die Merkmalsausrichtungsparameter beispielsweise Attribute, die bei Anwendung auf ein erstes Digitalbild das erste Digitalbild mit einem zweiten Digitalbild auf Grundlage von Abgleichsmerkmalspunkten zwischen den ersten und zweiten Digitalbildern ausrichten. Merkmalsausrichtungsparameter können Homographie-Transformationsparameter oder Affin-Transformationsparameter sein. Entsprechend nutzt das Bildbereichsersetzungssystem bei einigen Ausführungsformen Merkmalsausrichtungsparameter, die als Matrix, die sich auf Abgleichsmerkmalspunkte bezieht, ausgedrückt wird.
  • Mit Blick auf die weitere Nutzung in der vorliegenden Offenbarung bezeichnet der Begriff „pixelangepasstes Gyroskopausrichtungsmodell“ ein Bildausrichtungsmodell, das ein Digitalbild mit einem anderen Digitalbild auf Grundlage von Gyroskopdatensätzen entsprechend den Digitalbildern und eines Pixel-mit-Pixel-Vergleiches zwischen den Digitalbildern ausrichtet. Bei einigen Ausführungsformen umfasst ein pixelangepasstes Gyroskopausrichtungsmodell einen Bildausrichtungsalgorithmus, der ein Eingabebild mit einem Referenzbild auf Grundlage von pixelbasierten Ausrichtungsparametern und Gyroskopausrichtungsparametern ausrichtet. In einigen dieser Fälle nutzt das Bildbereichsersetzungssystem pixelbasierte Ausrichtungsparameter zum Anpassen und Modifizieren von Gyroskopausrichtungsparametern. Die Offenbarung beschreibt nachstehend anhand 4 bis 5B zudem ein pixelangepasstes Gyroskopausrichtungsmodell.
  • In diesem Zusammenhang bezeichnet der Begriff „pixelangepasste Gyroskopausrichtungsparameter“ einen oder mehrere Indikatoren, die ein Eingabebild mit einem Referenzbild auf Grundlage von Gyroskopdaten und eines Einzelpixelvergleiches zwischen dem Eingabebild und dem Referenzbild in Beziehung setzen. Bei einigen Ausführungsformen beinhalten pixelangepasste Gyroskopausrichtungsparameter beispielsweise Attribute, die bei Anwendung auf ein erstes Digitalbild das erste Digitalbild mit einem zweiten Digitalbild sowohl auf Grundlage von pixelbasierten Ausrichtungsparametern wie auch von Gyroskopausrichtungsparametern ausrichten. Der Begriff „Gyroskopausrichtungsparameter“ bezeichnet zudem einen oder mehrere Indikatoren, die ein Eingabebild mit einem Referenzbild auf Grundlage von Gyroskopdatensätzen in Beziehung setzen. Gyroskopausrichtungsparameter beinhalten beispielsweise Transformationsparameter, die einen Gyroskopdatensatz, der einem Digitalbild entspricht, mit einem Gyroskopdatensatz, der einem anderen Digitalbild entspricht, in Beziehung setzen. Bei einigen Ausführungsformen beinhalten Gyroskopausrichtungsparameter beispielsweise eine Matrix, die bei Anwendung auf ein erstes Digitalbild das erste Digitalbild mit einem zweiten Digitalbild auf Grundlage einer Brennweite einer Kamera und einer Relativdrehung zwischen dem Eingabebild und dem Referenzbild gemäß der Angabe durch Gyroskopdatensätze entsprechend den ersten und zweiten Digitalbildern ausrichtet. Sowohl pixelangepasste Gyroskopausrichtungsparameter wie auch Gyroskopausrichtungsparameter können Homographie-Transformationsparameter oder (in einigen Fällen) Affin-Transformationsparameter sein. Entsprechend nutzt das Bildbereichsersetzungssystem bei einigen Ausführungsformen pixelangepasste Gyroskopausrichtungsparameter oder Gyroskopausrichtungsparameter, die als Matrix ausgedrückt werden, die ein Eingabebild und ein Referenzbild in Beziehung zueinander setzt.
  • Im Sinne der vorliegenden Offenbarung bezeichnet der Begriff „Gyroskopdatensatz“ Gyroskopablesungen, die einer Vorrichtung, die zum Aufnehmen eines Digitalbildes benutzt wird, entsprechen. Bei einigen Ausführungsformen bezeichnet ein Gyroskopdatensatz eine Gyroskopablesung (beispielsweise ein Winkelmoment um jede Achse), die von einem Gyroskopsensor oder einer Inertialmessungseinheit (Inertial Measurement Unit IMU) zu dem Zeitpunkt aufgenommen wird, zu dem eine Kamera ein Digitalbild aufnimmt. Das Bildbereichsersetzungssystem kann einen Gyroskopdatensatz in einem bestimmten Format aufgreifen, speichern oder nutzen. Das Bildbereichsersetzungssystem kann beispielsweise einen Gyroskopdatensatz nutzen, der als Euler'sche Winkel (beispielsweise als eigentliche Euler'sche Winkel oder Tait-Bryan-Winkel) und Drehdaten (beispielsweise Drehgeschwindigkeiten) gespeichert oder der als Quaternionen gespeichert ist. In jedem Fall kann das Bildbereichsersetzungssystem derartige Gyroskopdatensätze in einer Gyroskopdatenmatrix, so beispielsweise einer Drehmatrix für Gyroskopablesungen, präsentieren.
  • Wie vorstehend erläutert worden ist, generiert das Bildbereichsersetzungssystem intelligent ein verbessertes Bild durch Ersetzen eines Referenzbereiches eines Referenzbildes durch einen Zielbereich eines Zielbildes. 1A bis 1C zeigen eine Serie eines exemplarischen Referenzbildes, eines Zielbildes und eines nachbearbeiteten Bildes. 1A bis 1C zeigen eine exemplarische Serie von Bildern 100, bei denen eine Referenzversion einer Person 106a durch eine Zielversion der Person 106b ersetzt wird. Insbesondere zeigt 1A ein exemplarisches Referenzbild 108, 1B zeigt ein exemplarisches Zielbild 110, und 1C zeigt ein exemplarisches nachbearbeitetes Bild 112. Wie dargestellt ist, sind das Referenzbild 108 und das Zielbild 110 zwei Bilder als Teil mehrerer Bilder, die unter Nutzung eines Burst Mode, eines Live-Fotos oder eines Videos aufgenommen worden sind. Obwohl 1A und 1B nur zwei Bilder darstellen, kann das Bildbereichsersetzungssystem auch mit mehreren Bildern (beispielsweise 5, 10, 15 usw.) arbeiten. Das Bildbereichsersetzungssystem generiert das nachbearbeitete Bild 112 unter Nutzung des Referenzbildes 108 und des Zielbildes 110.
  • 1A zeigt ein exemplarisches Referenzbild 108, das eine Referenzversion der Person 106a beinhaltet. 1A beinhaltet zudem eine Referenzversion einer zweiten Person 102a und eine Referenzversion einer dritten Person 104a. Wie in 1A dargestellt ist, weisen die Referenzversion der zweiten Person 102a und die Referenzversion der dritten Person 104a jeweils einen gewünschten Ausdruck auf. Dennoch blinzelt die Referenzversion der Person 106a.
  • Das Bildbereichsersetzungssystem kann das Referenzbild 108 unter Nutzung einer Anzahl von Verfahren identifizieren. Bei wenigstens einer Ausführungsform legt das Bildbereichsersetzungssystem das am wenigsten unscharfe Bild als das Referenzbild 108 fest. Das Bildbereichsersetzungssystem kann zudem ästhetische Kennwerte für jede Version einer jeden Person über die mehreren Bilder hinweg generieren. Auf Grundlage der generierten Kennwerte kann das Bildbereichsersetzungssystem ein Bild mit der maximalen Anzahl von gewünschten Gesichtern identifizieren und jenes Bild als das Referenzbild 108 festlegen. Bei wenigstens einer Ausführungsform wählt das Bildbereichsersetzungssystem das Referenzbild 108 auf Grundlage einer Nutzereingabe. Insbesondere präsentiert das Bildbereichsersetzungssystem einem Nutzer den Satz von Bildern und ermöglicht dem Nutzer, das Referenzbild 108 auszuwählen. Zusätzlich kann das Bildbereichsersetzungssystem bei wenigstens einer Ausführungsform ein Bild mit einem Durchschnittswinkel als das Referenzbild 108 festlegen. Das Bildbereichsersetzungssystem kann den Winkel der mehreren Bilder bestimmen und ein Bild mit dem Durchschnittswinkel identifizieren. Da die mehreren Bilder in Bezug auf das ausgewählte Referenzbild ausgerichtet werden, verringert ein Referenzbild mit einem Durchschnittswinkel das Ausrichten, das für den Großteil von Bildern erforderlich ist. Bei wenigstens einer Ausführungsform nutzt das Bildbereichsersetzungssystem einfach das erste Bild in dem Satz von Burst-Bildern als Referenzbild.
  • Sobald ein Referenzbild ausgewählt ist, identifiziert das Bildbereichsersetzungssystem eine Referenzversion einer Person zur Ersetzung. Das Bildbereichsersetzungssystem kann eine Nutzereingabe oder Auswahl einer Referenzversion einer Person zur Ersetzung empfangen. Alternativ kann das Bildbereichsersetzungssystem eine Referenzversion einer Person zur Ersetzung automatisch und ohne Nutzereingabe identifizieren. Das Bildbereichsersetzungssystem detektiert beispielsweise eine ästhetische Bewertung und weist diese allen Versionen der Menschen in dem Referenzbild 108 zu. Wie in 1A dargestellt ist, identifiziert das Bildbereichsersetzungssystem eine ästhetische Bewertung sowohl für die Referenzversion der Person 106a wie auch die Referenzversion der zweiten Person 102a und die Referenzversion der dritten Person 104a und weist diese zu. Wie in 1A dargestellt ist, weist das Bildbereichsersetzungssystem der Version der Person 106a eine niedrigere ästhetische Bewertung zu, da bei dieser Version der Person 106a die Augen geschlossen sind. Das Verfahren, mit dem das Bildbereichsersetzungssystem jeder der Versionen der Menschen eine ästhetische Bewertung zuweist, wird anhand 2 noch detaillierter beschrieben.
  • Bei wenigstens einer Ausführungsform identifiziert das Bildbereichsersetzungssystem Versionen der Person, die niedrige ästhetische Bewertungen aufweisen, aus dem Referenzbild 108. Das Bildbereichsersetzungssystem bestimmt beispielsweise, dass das Referenzbild der Person 106a eine niedrige Bewertung aufweist, während das Referenzbild der zweiten Person 102a und die Referenzversion der dritten Person 104a nicht niedrig bewertet sind. Bei wenigstens einer Ausführungsform qualifiziert das Bildbereichsersetzungssystem einen ästhetischen Kennwert auf Grundlage eines Schwellenwertes des ästhetischen Kennwertes als niedrig. Bestimmt das Bildbereichsersetzungssystem, dass der ästhetische Kennwert einer Version einer Person unter die vorbestimmte Schwelle fällt, so identifiziert das Bildersetzungsbereichssystem diese als zu ersetzende Referenzversion. Bei wenigstens einer Ausführungsform kann ein Nutzer den Schwellenwert des ästhetischen Kennwertes bestimmen.
  • Sobald eine Referenzversion ausgewählt ist, identifiziert das Bildbereichsersetzungssystem eine Zielversion der Person zur Ersetzung der Referenzversion. Das Bildbereichsersetzungssystem kann beispielsweise eine Nutzereingabe oder Auswahl einer Zielversion einer Person empfangen. Alternativ kann das Bildbereichsersetzungssystem eine Zielversion einer Person automatisch und ohne Nutzereingabe identifizieren. Wie in 1A dargestellt ist, identifiziert das Bildbereichsersetzungssystem, sobald das Bildbereichsersetzungssystem eine Version einer Person als einen niedrigen ästhetischen Kennwert aufweisend identifiziert, eine Begrenzungsfläche, die die Referenzversion der Person 106a umgibt. Die Begrenzungsfläche kann beispielsweise durch Erweitern der Umrisse der Referenzversion der Person 106a erstellt werden. Bei zusätzlichen Ausführungsformen erstellt das Bildbereichsersetzungssystem eine Begrenzungsfläche um die Referenzversion der Person 106a durch Erstellen einer einschließenden geometrischen Form, so beispielsweise eines Rechteckes oder eines Kreises, um die Referenzversion der Person 106a. Bei wieder anderen Ausführungsformen empfängt das Bildbereichsersetzungssystem eine Nutzerauswahl der Begrenzungsfläche.
  • Das Bildbereichsersetzungssystem detektiert Versionen der Person 106 über die mehreren Bilder hinweg unter Nutzung der Begrenzungsfläche. Insbesondere identifiziert das Bildbereichsersetzungssystem die Begrenzungsfläche in jedem der mehreren Bilder. Das Bildbereichsersetzungssystem nutzt eine Gesichtsdetektionstechnologie zum Detektieren von Versionen der Person 106 innerhalb der Begrenzungsfläche in jedem der mehreren Bilder. Anstatt des Identifizierens von Versionen der zweiten anderen Person 102 und der dritten anderen Person 104 kann das Bildbereichsersetzungssystem daher Versionen der Person 106 über die mehreren Bilder hinweg spezifisch identifizieren.
  • Nach dem Identifizieren der Versionen der Person 106 über die mehreren Bilder hinweg generiert das Bildbereichsersetzungssystem ästhetische Bewertungen für jede der Versionen der Person 106 über mehrere Bilder hinweg. Wie in 1B gezeigt ist, wählt das Bildbereichsersetzungssystem auf Grundlage der generierten ästhetischen Bewertungen für die Versionen der Person 106 eine Zielversion der Person 106b des Zielbildes 110 aus. 1B stellt ein exemplarisches Zielbild 110 dar, das eine Zielversion der Person 106b beinhaltet. 1B beinhaltet zudem Versionen der zweiten Person 102b und der dritten Person 104b. Wie in 1B dargestellt ist, weist die Zielversion der Person 106b einen gewünschten Ausdruck auf (ihre Augen sind beispielsweise offen).
  • Das Bildbereichsersetzungssystem bestimmt einen Ersetzungsbereich um die Referenzversion der Person 106a und die Zielversion der Person 106b. Insbesondere identifiziert das Bildbereichsersetzungssystem eine Begrenzung des Ersetzungsbereiches, die keine Objekte oder Menschen in dem Bild durchschneidet. Bei wenigstens einer Ausführungsform setzt das Bildbereichsersetzungssystem einen Graph-Schnitt-Algorithmus ein, um den Ersetzungsbereich zu identifizieren.
  • 1C zeigt das exemplarische nachbearbeitete Bild 112, bei dem das Bildbereichsersetzungssystem die Referenzversion der Person 106a durch die Zielversion der Person 106b ersetzt hat. Wie dargestellt ist, weisen die Referenzversion der zweiten Person 102a, die Referenzversion der dritten Person 104a und die Zielversion der Person 106b alle jeweils einen gewünschten Ausdruck auf. Wie weiter dargestellt ist, hat das Bildbereichsersetzungssystem lediglich die Referenzversion der Person durch die Zielversion der Person 106b ersetzt. Die Versionen der anderen Menschen in dem Bild sind die gleichen, da sie in dem ursprünglichen Referenzbild vorhanden waren. Obwohl das exemplarische nachbearbeitete Bild 112 ein Fremdelement beinhaltet, enthält das nachbearbeitete Bild 112 keinerlei Inkonsistenzen oder Bildartefakte.
  • 2 zeigt, wie das Bildbereichsersetzungssystem eine Zielversion einer Person auf Grundlage des Generierens mehrerer ästhetischer Bewertungen für mehrere Versionen der Person auswählt. Insbesondere zeigt 2 eine Clientrechenvorrichtung 200 mit einer Anzeige 202, die mehrere Bilder 206 zeigt, die mehrere Versionen einer Person beinhalten. Insbesondere zeigt eine Nutzerschnittstelle 204 des Bildbereichsersetzungssystems die mehreren Bilder 206 (wobei drei verschiedene Gruppen von Burst-Mode-Bildern gezeigt sind) an.
  • Wie in 2 gezeigt ist, weist jedes der Bilder der mehreren Bilder 206 infolge der Größe der Anzeige der Clientrechenvorrichtung 200 eine geringe Anzeigegröße auf. Aufgrund der geringen Größe der Bilder 206 ist es gegebenenfalls schwierig, die Bilder 206 und insbesondere die Versionen der Person zu vergleichen und gegenüberzustellen. Dies ist insbesondere dann der Fall, wenn sich die Bilder 206 alle auf denselben Moment beziehen oder im Wesentlichen denselben Inhalt beinhalten. Es ist beispielsweise vergleichsweise schwierig zu bestimmen, dass die Augen einer Person in dem einen Bild geschlossen, in einem anderen Bild jedoch offen sind. Wie vorstehend erläutert worden ist, kann das Bildreferenzbereichssystem bzw. das Bildbereichsersetzungssystem die Zeit und den Aufwand dafür, kleine Bildvorschauen oder Voransichten vergleichen zu müssen, um eine qualitativ hochwertige Version einer Person oder eines Bildes zu identifizieren, verringern.
  • 2 zeigt eine Vergrößerung mehrerer Bilder 210. Das Bildbereichsersetzungssystem detektiert alle Versionen einer Person in den mehreren Bildern 210. Wie dargestellt ist, kann das Bildbereichsersetzungssystem eine Gesichtsdetektionstechnologie nutzen, um die Gesichter in den mehreren Bildern 210 zu identifizieren. Das Bildbereichsersetzungssystem kann beispielsweise bestimmen, dass jedes der mehreren Bilder eine Version der Person beinhaltet. Entsprechend identifiziert das Bildbereichsersetzungssystem die Versionen einer jeden Person über die mehreren Gruppenporträts hinweg.
  • Das Bildbereichsersetzungssystem kann eine ästhetische Bewertung für jede Version einer Person in den mehreren Bildern 210 generieren. Bei wenigstens einer Ausführungsform umfassen die ästhetischen Bewertungen eine gewichtete Summe aller verschiedenen Attribute für jede Version einer Person. Attribute, die von dem Bildbereichsersetzungssystem berücksichtigt werden, beinhalten das Offensein eines Auges, die Frontalstellung des Gesichtes, den Gesichtsausdruck, die Gesichtsschärfe und dergleichen mehr. Das Bildbereichsersetzungssystem kann eine Gesichtsorientierungsstellendetektion nutzen, um Attribute aus dem Aussehen von Augenorientierungsstellen, eines Gesichtsumrisses, von Mundorientierungsstellen und anderen Orientierungsstellen zu extrahieren.
  • Die mehreren Bilder 210 in 2 sind bereitgestellt, um einige der Attribute darzustellen, die das Bildbereichsersetzungssystem beim Generieren der ästhetischen Bewertung für eine Version einer Person berücksichtigen kann. Das Bildbereichsersetzungssystem kann bestimmen, dass die Version der Person in dem Bild 214 auf der Grundfläche (canvas) des Bildes nicht vollständig aufgenommen ist. Das Ersetzungsbereichsauswahlsystem kann dasjenige, dass das Bild 220 qualitativ höherwertig als das Bild 214 ist, aufgrund dessen bestimmen, dass das Bild 220 das vollständige Gesicht der Person beinhaltet. Das Bildbereichsersetzungssystem kann bestimmen, dass die Version der Person in dem Bild 212 auf der Grundfläche des Bildes zentriert ist, die Augen der Person jedoch geschlossen sind. Das Bildbereichsersetzungssystem kann dasjenige, dass das Bild 216 klein oder unscharf ist, infolge der Bewegung der Kamera, die zum Aufnehmen des Bildes 216 benutzt worden ist, bestimmen. 2 zeigt, dass das Bildbereichsersetzungssystem die Version der Person in dem Bild 220 als die Zielversion der Person identifiziert hat, da diese die höchste ästhetische Bewertung aufweist.
  • Das Bildbereichsersetzungssystem kann ein oder mehrere neuronale Netzwerke generieren, trainieren und dafür nutzen, eine oder mehrere der vorbeschriebenen Funktionen wahrzunehmen. Insbesondere kann das Bildbereichsersetzungssystem ein neuronales Netzwerk darauf trainieren, ästhetische Kennwerte von Versionen einer Person zu generieren. 3A und 3B zeigen einige Beispiele von neuronalen Netzwerken, die das Bildbereichsersetzungsnetzwerk zum Generieren von ästhetischen Kennwerten nutzen kann. Im Lichte der vorliegenden Offenbarung sollte einsichtig sein, dass das Bildbereichsersetzungssystem auch andere neuronale Netzwerke oder Paradigmen zur Kennwertzuweisung nutzen kann.
  • 3A zeigt ein Beispiel für ein neuronales Netzwerk 300, das dafür trainiert ist, eine Attributbewertung zu generieren. Das der Attributbewertung dienende neuronale Netzwerk 300 kann zusammen mit den hier beschriebenen anderen neuronalen Netzwerken ein faltungstechnisches neuronales Netzwerk / faltungstechnische neuronale Netzwerke oder andere Typen von der Klassifizierung dienenden neuronalen Netzwerken sein. Das Bildbereichsersetzungssystem kann das der Attributbewertung dienende neuronale Netzwerk 300 dafür trainieren und nutzen, eine ästhetische Bewertung zu generieren. Alternativ kann das Bildbereichsersetzungssystem mehrere der Attributklassifizierung dienende neuronale Netzwerke 300 dafür trainieren und nutzen, mehrere Attributbewertungen zu generieren. Das Bildbereichsersetzungssystem kann beispielsweise separate der Attributbewertung dienende neuronale Netzwerke 300 dafür trainieren, Bewertungen für Attribute, so beispielsweise die Offenheit der Augen, die Gesichtsstellung, die Gesichtsorientierung, den Gesichtsausdruck, die Gesichtsschärfe, das Rauschen, die Dunkelheit, den Kontrast und dergleichen mehr, zu generieren. Das Bildbereichsersetzungssystem kann die verschiedenen trainierten der Attributklassifizierung dienenden neuronalen Netzwerke 300 sodann als Teil eines der Mehrattributbewertung dienenden neuronalen Netzwerkes, wie nachstehend anhand 3B beschrieben wird, nutzen, um eine ästhetische Bewertung zu generieren.
  • Wie in 3A gezeigt ist, beinhaltet das der Attributbewertung dienende neuronale Netzwerk 300 niedrigere dem neuronale Netzwerk zu eigene Schichten 302, höhere dem neuronalen Netzwerk zu eigene Schichten 304 und Verlustschichten 306. Die Verlustschichten 306 beinhalten ein Attributbewertungsverlustmodell 308. Bei einer oder mehreren Ausführungsformen sind die niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302 faltungstechnische Schichten, die Bilder (oder Bildpatches) zu Merkmalsvektoren codieren. Die dem neuronalen Netzwerk zu eigenen Schichten 304 können vollständig verbundene (fully connected) Schichten umfassen, die Merkmalsvektoren klassifizieren und einen Attributqualitätswahrscheinlichkeitsvektor ausgeben. Aufgrund ihrer Funktionen werden die niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302 kollektiv als Encoder bezeichnet, während die höheren dem neuronalen Netzwerk zu eigenen Schichten 304 kollektiv als Klassifizierer bezeichnet werden. Bei einigen Ausführungsformen können die höheren Schichten anstelle von Klassifizierern Regressoren umfassen. Bei einigen Ausführungsformen ist das der Attributbewertung dienende neuronale Netzwerk 300 ein faltungstechnisches neuronales Deep-Lea rni ng-Netzwerk.
  • Wie dargestellt ist, beinhaltet das der Attributbewertung dienende neuronale Netzwerk 300 bei diesem Beispiel fünf Faltungsschichten und zwei vollständig verbundene (fully connected) Schichten. Bei anderen Ausführungsformen kann das Bildbereichsersetzungssystem Netzwerke mit mehr Schichten einsetzen. Das Bildbereichsersetzungssystem konfiguriert die dem neuronalen Netzwerk zu eigenen Schichten 302, 304 dafür, Merkmale oder Bildcharakteristiken, so beispielsweise den Grad der Dunkelheit, des Lichtes, des Kontrastes und dergleichen, die kollektiv zum Definieren von auf höherer Ebene gegebenen Bildästhetiken und Gesichtsästhetiken nutzbar sind, unter Nutzung einer Attributbewertung zu erlernen. Um beispielsweise zu erlernen, ob ein Bild ästhetisch „gute“ Merkmale von Bildcharakteristiken beispielsweise mit Blick auf Beleuchtung und Rauschen aufweist, ob das Bild „aufrecht“ ist und dergleichen mehr, kann das der Attributbewertung dienende neuronale Netzwerk 300 dies zum Definieren einer Attributbewertung erlernen.
  • Insbesondere kann das der Attributbewertung dienende neuronale Netzwerk 300 Trainingsbilder 310 oder Patches hiervon nutzen, um das der Attributbewertung dienende neuronale Netzwerk 300 zu trainieren. Um die Trainingsbilder 310 effizient zu verarbeiten, kann das der Attributbewertung dienende neuronale Netzwerk 300 patchbasierte Techniken für neuronale Netzwerke einsetzen. Anstelle der Verarbeitung von Gesamtbildern kann das der Attributbewertung dienende neuronale Netzwerk 300 beispielsweise Bildpatches verarbeiten, die willkürlich aus dem Bild abgetastet sind und eine feste Größe von beispielsweise 128, 196, 256, 320 Pixel und dergleichen aufweisen. Zusätzlich kann das der Attributbewertung dienende neuronale Netzwerk 300 die Patches ohne Downsampling des Bildes und daher ohne Verlust an Information verarbeiten. Bei einer oder mehreren Ausführungsformen können die Trainingsbilder Porträts von Personen, wie in 3A gezeigt ist, umfassen.
  • Die niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 602 können ein Eingabebild zu einem Merkmalsvektor codieren. Die Merkmale können auf vielerlei Arten ausgedrückt werden. Für jedes der Patches wird beispielsweise ein Vektor mit mehreren Dimensionen generiert, wobei jede der Dimensionen ein entsprechendes Merkmal aufweist. Der Vektor drückt den Grad eines jeden der jeweiligen Bildmerkmale aus. Bei einer oder mehreren Ausführungsformen umfassen die Merkmale latente Merkmale.
  • Das Bildbereichsersetzungssystem kann das der Attributbewertung dienende neuronale Netzwerk 300 anfänglich unter Nutzung des Attributklassifizierungsverlustmodells 308 trainieren. Trainieren kann das Bildbereichsersetzungssystem das der Attributbewertung dienende neuronale Netzwerk 300 anfänglich allgemein durch Abstimmen von Parametern auf Grundlage von Trainingsbildern 310 (oder Trainingspatches aus den Trainingsbildern 310), die zum Generieren der Merkmalsvektoren und der Attributbewertungen benutzt werden.
  • Zusätzlich setzt das Bildbereichsersetzungssystem das der Attributbewertung dienende Verlustmodell 308 ein, um auf Grundlage der Genauigkeit der Attributbewertungen eine Rückmeldung bereitzustellen, durch die ermöglicht wird, dass das Bildbereichsersetzungssystem die abstimmbaren Parameter aktualisiert. Insbesondere nimmt das Bildbereichsersetzungssystem ein Rückführen (backpropagating) des Fehlerverlustes auf Abstimmungsparamter bzw. zum Abstimmen von Parametern in den niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302 und den höheren dem neuronalen Netzwerk zu eigenen Schichten 304 vor, um Attributbewertungen aus den eingegebenen Trainingsbildern zu klassifizieren.
  • Demonstrationshalber kann das Bildbereichsersetzungssystem die Trainingsbilder 310 als Eingabe zum anfänglichen Trainieren des der Attributbewertung dienenden neuronalen Netzwerkes 300 bereitstellen. Bei einer oder mehreren Ausführungsformen trainiert das Bildbereichsersetzungssystem beispielsweise die niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302 durch Abstimmen von Merkmalsextraktionsparametern, die zum Generieren eines Merkmalsvektors für jedes der Eingabetrainingsbilder 310 benutzt werden. Das Bildbereichsersetzungssystem stellt den generierten Merkmalsvektor sodann für die höheren dem neuronalen Netzwerk zu eigenen Schichten 304 bereit, wo der generierte Merkmalsvektor aus den niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302 mit Merkmalsvektoren von Bildern mit bekannten qualitativ hochwertigen Attributen auf Grundlage von Attributbewertungsparametern verglichen wird. Auf Grundlage des Merkmalsvektorvergleiches setzen die höheren dem neuronalen Netzwerk zu eigenen Schichten 304 die Attributbewertungsparameter ein, um einen Attributqualitätswahrscheinlichkeitsvektor zu generieren, der eine Entsprechung zwischen dem Eingabetrainingsbild zu Merkmalsvektoren von Bildern mit bekannten qualitativ hochwertigen Attributen angibt.
  • Als Nächstes stellt das Bildbereichsersetzungssystem den Attributqualitätswahrscheinlichkeitsvektor für das Attributbewertungsverlustmodell 308 bereit. Das Attributbewertungsverlustmodell 308 vergleicht die identifizierte Attributbewertung, die von dem Attributqualitätswahrscheinlichkeitsvektor angegeben wird, mit den bekannten Merkmalsvektoren von Bildern mit qualitativ hochwertigen Attributen, um die Menge des Attributbewertungsfehlerverlustes (oder einfach des „Fehlerverlustes“) zu bestimmen. In der Praxis kann das Bildbereichsersetzungssystem den Attributqualitätswahrscheinlichkeitsvektor mit dem Attributbewertungsverlustmodell bereitstellen, um die Genauigkeit und/oder den Fehlerverlust der Attributbewertung zu bestimmen. Bei einigen Ausführungsformen setzt das Attributbewertungsverlustmodell 308 einen SoftMax-Kreuzentropieverlust-Attributqualitätsklassifizierer und/oder Mean-Square-Fehlerberechnungen ein, um die Menge des Attributbewertungsverlustes zu bestimmen. Das Attributbewertungsverlustmodell 308 identifiziert beispielsweise, wann ein Attributqualitätswahrscheinlichkeitsvektor jenseits eines Schwellenabstandes ist und/oder wie weit jenseits des Schwellenabstandes (beispielsweise des Fehlerverlustes) der Attributqualitätswahrscheinlichkeitsvektor von einem Merkmalsvektor für ein Bild bekannter hoher Qualität weg ist.
  • Unter Nutzung des Fehlerverlustes zum Trainieren und Optimieren der dem neuronalen Netzwerk zu eigenen Schichten des der Attributbewertung dienenden neuronalen Netzwerkes 300 kann das Bildbereichsersetzungssystem eine Rückverfolgung (backpropagation) und ein End-to-End-Learning einsetzen, um Merkmalsextraktionsparameter innerhalb von Schichten des der Attributbewertung dienenden neuronalen Netzwerkes 300 abzustimmen. Bei einer oder mehreren Ausführungsformen nimmt das Bildbereichsersetzungssystem beispielsweise den Fehlerverlust, der von dem Attributbewertungsverlustmodell 308 ausgegeben wird, und stellt ihn wiederum für die niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302 und/oder die höheren dem neuronalen Netzwerk zu eigenen Schichten 304 bereit, bis der Fehlerverlust aus dem Attributbewertungsverlustmodell 308 minimiert ist. Insbesondere stellt das Attributbewertungsverlustmodell 308 eine Rückmeldung für die niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302, um die Attributqualitätsmerkmalsextraktionsparameter weiter abzustimmen, und/oder die höheren dem neuronalen Netzwerk zu eigenen Schichten 304, um die Attributbewertungsparameter weiter abzustimmen, bereit. Auf diese Weise trainiert das Bildbereichsersetzungssystem iterativ das der Attributbewertung dienende neuronale Netzwerk 300, um einen Satz von Best-Fit-Parametern zu erlernen, die Merkmale aus einem Bild extrahieren und eine entsprechende Attributqualität genau klassifizieren.
  • Wie vorstehend erwähnt worden ist, setzt das Bildbereichsersetzungssystem bei einigen Ausführungsformen die höheren dem neuronalen Netzwerk zu eigenen Schichten 304 dafür ein, einen Attributqualitätswahrscheinlichkeitsvektor einer Eingabeattributqualität eines Eingabebildes zu bestimmen. Bei einem Beispiel für einen Attributqualitätswahrscheinlichkeitsvektor geben die höheren dem neuronalen Netzwerk zu eigenen Schichten 304 einen zweidimensionalen Attributqualitätswahrscheinlichkeitsvektor mit Einträgen in einem Bereich zwischen 0 und 1 (das heißt [0-1]) aus. Der erste Eintrag kann die Wahrscheinlichkeit dafür sein, dass ein Eingabebild ein qualitativ hochwertiges Attribut in sich aufweist. Der zweite Eintrag in dem Attributqualitätswahrscheinlichkeitsvektor kann eine Wahrscheinlichkeit dafür sein, dass das Eingabebild ein qualitativ niedriges Attribut in sich aufweist. Das Bildbereichsersetzungssystem kann den ersten Eintrag als Attributbewertung nutzen.
  • Wie vorstehend erwähnt worden ist, kann das Bildbereichsersetzungssystem ein der Attributbewertung dienendes neuronales Netzwerk 300 dafür trainieren, eine ästhetische Gesamtbewertung für das Attribut der Gesichtsqualität zu generieren. Beim Generieren und Trainieren eines der Gesamtgesichtsqualitätsbewertung dienenden neuronalen Netzwerkes kann das Bildbereichsersetzungssystem Trainingsbilder nutzen, die Gesichter mit einem Etikett wie „niedrige Qualität“ oder „hohe Qualität“ umfassen. Bei einer oder mehreren Ausführungsformen sind qualitativ niedrige Gesichter Gesichter, die eine bewegungsbedingte Unschärfe aufweisen, außerhalb des Brennpunktes sind, eine schlechte Beleuchtung oder Belichtung aufweisen, Gesichter, die verdeckt (beispielsweise abgedeckt oder nicht gänzlich im Bild) sind, Gesichter mit einem oder mehreren geschlossenen Augen, Gesichter, die einen niedrigen Kontrast aufweisen oder schemenhaft sind, Gesichter mit starker Bildkompression, Gesichter mit unerwünschtem Ausdruck oder hässliche Gesichter. Bei einer oder mehreren Ausführungsformen nimmt das Bildbereichsersetzungssystem an Gesichtern ein Warping zu einer festen Größe zum Merkmalserlernen und Klassifizierertrainieren vor. Um ein trainiertes der Gesichtsqualitätsbewertung dienendes neuronales Netzwerk einzusetzen, kann das der Gesichtsqualitätsbewertung dienende neuronale Netzwerk einen Gesichtsdetektionsalgorithmus einsetzen, um Gesichter in jedem Bild zu lokalisieren. Das der Gesichtsqualitätsbewertung dienende neuronale Netzwerk kann sodann eine gewichtete Mittelung an allen Gesichtsqualitätsbewertungen auf Grundlage einer räumlichen Gesichtskarte durchführen, die eine Anzahl von Gesichtern, Größen von Gesichtern, Orte von Gesichtern und die Gesichtsqualitätsbewertungen codiert.
  • Alternativ kann das Bildbereichsersetzungssystem, anstatt dass es ein der Attributbewertung dienendes neuronales Netzwerk 300 zum Generieren einer ästhetischen Gesamtbewertung trainiert, mehrere der Attributbewertung dienende neuronale Netzwerke 300 trainieren, um mehrere Attribute, wie vorstehend beschrieben, zu bewerten. Bei derartigen Ausführungsreformen kann das Bildbereichsersetzungssystem sodann ein der Mehrattributbewertung dienendes neuronales Netzwerk 320, wie in 3B gezeigt ist, einsetzen. Wie nachstehend beschrieben ist, kann das der Mehrattributbewertung dienende neuronale Netzwerk 320 den Vorteil bieten, dass es zu einer Steuerung bzw. Regelung dessen fähig ist, welche Attribute beim Bestimmen einer ästhetischen Bewertung höher gewichtet werden. Insbesondere kann das der Mehrattributbewertung dienende neuronale Netzwerk 320 ein Attributgewichtungsmodell 322 beinhalten, das einem Nutzer ermöglichen kann zu spezifizieren, welche Attribute höher bewertet werden (wenn beispielsweise ein offener Mund wichtiger als ein Lächeln ist und dergleichen).
  • Insbesondere generiert das Bildbereichsersetzungssystem beim Trainieren mehrerer der Attributbewertung dienender neuronaler Netzwerke ein der Mehrattributbewertung dienendes neuronales Netzwerk 320, wie 3B gezeigt ist. Insbesondere kann das Bildbereichsersetzungssystem das der Mehrattributbewertung dienende neuronale Netzwerk 320 generieren, indem es die höheren dem neuronalen Netzwerk zu eigenen Schichten (beispielsweise die Attributklassifizierer 314a bis 314c) und ein Attributgewichtungsmodell 322 kämmt (combing) bzw. kombiniert. 3B zeigt, dass das der Mehrattributbewertung dienende neuronale Netzwerk 320 die niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302 (das heiß den Merkmalscodierer) teilt. Bei alternativen Ausführungsformen kann jeder Klassifizierer einen separaten Merkmalscodierer aufweisen.
  • Das der Mehrattributbewertung dienende neuronale Netzwerk 320 stellt verbesserte Bewertungen von Bildern bereit. Beim Empfangen eines Eingabebildes stellt das der Mehrattributbewertung dienende neuronale Netzwerk 320 das Bild beispielsweise für den Merkmalscodierer (das heißt die niedrigeren dem neuronalen Netzwerk zu eigenen Schichten 302) bereit, wo ein Merkmalsvektor für das Bild generiert wird. Das der Mehrattributbewertung dienende neuronale Netzwerk 320 stellt den Merkmalsvektor sodann für jeden der Attributklassifizierer 314a bis 314c und das Attributgewichtungsmodell 322 bereit. Die Attributklassifizierer 314a bis 314c geben jeweils, wie vorstehend anhand 3A beschrieben worden ist, für das Eingabebild eine Attributbewertung aus.
  • Zusätzlich gibt das Attributgewichtungsmodell 322 einen mehrdimensionalen Gewichtungsvektor aus, der ein Attributgewicht für jedes Attribut mit einem entsprechenden Attributklassifizierer 314a bis 314c beinhaltet. Die einzelnen Attributgewichtungen geben an, wie die Attributbewertungen, die von den Attributklassifizierern 314a bis 314c ausgegeben werden, kombiniert werden, um eine ästhetische Bewertung für ein Bild optimal zu generieren. Insbesondere gewichtet das der Mehrattributbewertung dienende neuronale Netzwerk 320 zum Generieren einer ästhetischen Bewertung 318 die Attributbewertungen, die von den Attributklassifizierern 314a bis 314c ausgegeben werden, mit einer entsprechenden Gewichtung, die von dem Attributgewichtungsmodell 322 ausgegeben wird, und summiert die gewichteten und angepassten Attributbewertungskennwerte sodann zum Generieren der ästhetischen Bewertung 318.
  • Zum Generieren einer ästhetischen Bewertung für jede Version einer Person in mehreren Bildern kann das Bildbereichsersetzungssystem die Bilder daher einem der Attributbewertung dienenden neuronalen Netzwerk 300, das dafür trainiert ist, die Gesamtgesichtsqualität zu bewerten, oder einem der Mehrattributbewertung dienenden neuronalen Netzwerk 320 zur Ausgabe einer ästhetischen Bewertung zuleiten. Das Bildbereichsersetzungssystem kann die generierten ästhetischen Bewertungen sodann dafür nutzen, eines oder mehrere von dem Referenzbild oder dem Zielbild auszuwählen. Sobald die Ziel- und Referenzbilder für eine gegebene Version einer Person ausgewählt sind, kann das Bildbereichsersetzungssystem die Ziel- und Referenzbilder ausrichten. Insbesondere kann das Bildbereichsersetzungssystem ein Bildausrichtungsmodell, das aus einem merkmalsbasierten Ausrichtungsmodell oder einem pixelangepassten Gyroskopausrichtungsmodell ausgewählt ist, auswählen (und anwenden). 4 zeigt beispielsweise, wie das Bildbereichsersetzungssystem zwischen Bildausrichtungsmodellen auswählt. Insbesondere zeigt 4 ein sequenzielles Flussdiagramm 400 von Vorgängen 402 bis 426, mittels derer das Bildbereichsersetzungssystem ein Bildausrichtungsmodell von einem pixelangepassten Gyroskopausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell auswählt und anwendet, um ein Zielbild mit einem Referenzbild (beispielsweise einem Eingabebild) auszurichten, entsprechend einer oder mehreren Ausführungsformen. Wie durch das sequenzielle Flussdiagramm 400 angegeben ist, setzt das Bildbereichsersetzungssystem beim Detektieren einer Merkmal-Punkt-Unsicherheit, die einem merkmalsbasierten Ausrichtungsmodell entspricht, ein pixelangepasstes Gyroskopausrichtungsmodell ein, um ein Eingabebild mit einem Referenzbild auszurichten. Beim Bestimmen des Nichtvorhandenseins einer Merkmal-Punkt-Unsicherheit setzt das Bildbereichsersetzungssystem demgegenüber ein pixelbasiertes Ausrichtungsmodell ein, um ein Eingabebild mit einem Referenzbild auszurichten.
  • Wie in 4 gezeigt ist, führt das Bildbereichsersetzungssystem den Vorgang 402 des Empfangens eines Zielbildes und eines entsprechenden Gyroskopdatensatzes und den Vorgang 404 des Empfangens eines Referenzbildes und eines entsprechenden Gyroskopdatensatzes aus. Beim Empfangen eines derartigen Zielbildes und Referenzbildes empfängt das Bildbereichsersetzungssystem bei einigen Ausführungsformen ein Zielbild und ein Referenzbild, die von einer Kamera einer Rechenvorrichtung (beispielsweise einer Mobilvorrichtung) aufgenommen worden sind. In einigen Fällen nimmt die Rechenvorrichtung ein Aufzeichnen oder Registrieren eines Gyroskopdatensatzes (beispielsweise einen Hinweis auf die Orientierung oder Raumlage einer Kamera auf Grundlage eines Winkelmomentes um jede Achse) zu der Zeit, zu der die Kamera das Zielbild aufnimmt, und einen zusätzlichen Gyroskopdatensatz zu der Zeit, zu der die Kamera das Referenzbild aufnimmt, vor.
  • Wie weiter in 4 gezeigt ist, führt das Bildbereichsersetzungssystem einen Vorgang 406 des Bestimmens einer Relativdrehung auf Grundlage der Gyroskopdatensätze durch. In einigen Fällen bestimmt das Bildbereichsersetzungssystem beispielsweise eine Relativdrehung zwischen dem Zielbild und dem Referenzbild auf Grundlage (i) des Gyroskopdatensatzes, der dem Eingabebild entspricht, und (ii) des Gyroskopdatensatzes, der dem Referenzbild entspricht. Bei einigen derartigen Ausführungsformen kann das Bildbereichsersetzungssystem eine Relativdrehung von dem Referenzbild zu dem Zielbild bestimmen, indem es den Gyroskopdatensatz, der dem Zielbild entspricht, und den Gyroskopdatensatz, der dem Referenzbild entspricht, vergleicht (und eine Differenz zwischen beiden bestimmt).
  • Zusätzlich zum Bestimmen einer Relativdrehung führt das Bildbereichsersetzungssystem des Weiteren einen Vorgang 408 des Identifizierens von Merkmalspunkten innerhalb des Zielbildes und des Referenzbildes durch. Bei einigen Ausführungsformen nutzt das Bildbereichsersetzungssystem beispielsweise einen SIFT-, SURF- oder ORB-Algorithmus, um einen Satz von Merkmalspunkten innerhalb des Zielbildes und einen Satz von Merkmalspunkten innerhalb des Referenzbildes zu detektieren. Beim Detektieren kann das Bildbereichsersetzungssystem die jeweiligen Sätze von Merkmalspunkten innerhalb des Zielbildes und des Referenzbildes extrahieren.
  • Wie durch die verbleibenden Vorgängen 410 bis 426 angegeben ist, nutzt das Bildbereichsersetzungssystem die identifizierten Merkmalspunkte und entsprechende Gyroskopdatensätze, um entweder pixelangepasste Gyroskopausrichtungsparameter zu generieren und anzuwenden oder um Merkmalsausrichtungsparameter zu generieren und anzuwenden. Wie in 4 gezeigt ist, führt das Bildbereichsersetzungssystem Vorgänge 414, 418 und 422 durch, um (an verschiedenen Entscheidungspunkten) zu bestimmen, ob Merkmalspunkte oder Merkmalsausrichtungsparameter entsprechend dem Zielbild und dem Referenzbild eine Merkmal-Punkt-Unsicherheit aufweisen. Geben die Merkmalspunkte oder Merkmalsausrichtungsparameter eine Merkmal-Punkt-Unsicherheit an, so generiert das Bildbereichsersetzungssystem pixelangepasste Gyroskopausrichtungsparameter und wendet diese (als Teil eines pixelangepassten Gyroskopausrichtungsmodells) an. Geben die Merkmalspunkte oder Merkmalsausrichtungsparameter das Nichtvorhandensein einer Merkmal-Punkt-Unsicherheit an, so macht das Bildbereichsersetzungssystem mit Vorgängen weiter, die zum Generieren und Anwenden von Merkmalsausrichtungsparametern (als Teil eines merkmalsbasierten Ausrichtungsmodells) führen.
  • Wie in 4 gezeigt ist, führt das Bildbereichsersetzungssystem beispielsweise den Vorgang 410 des Bestimmens einer Brennweite einer Kamera durch. Bei einigen Ausführungsformen schätzt das Bildbereichsersetzungssystem beispielsweise eine Brennweite einer Kamera, die das Zielbild und/oder das Referenzbild aufnimmt. Beim Bestimmen der Brennweite einer Kamera, die einen Satz von Bildern aufnimmt, kann das Bildbereichsersetzungssystem eine Schätzung der Brennweite auf Grundlage zusätzlicher Bilder, die von der Kamera aufgenommen werden, aktualisieren. Alternativ fragt das Bildbereichsersetzungssystem bei bestimmten Implementierungen die Rechenvorrichtung, die das Zielbild aufnimmt, nach der Brennweite.
  • Zusätzlich zum Bestimmen einer Brennweite führt das Bildbereichsersetzungssystem des Weiteren den Vorgang 412 des Generierens von Gyroskopausrichtungsparametern durch. Wie in 4 angegeben ist, generiert das Bildbereichsersetzungssystem bei einigen Ausführungsformen Gyroskopausrichtungsparameter auf Grundlage von Gyroskopdatensätzen, die jeweils dem Zielbild und dem Referenzbild entsprechen, und einer Brennweite einer Kamera. Bei einigen derartigen Ausführungsformen generiert das Bildbereichsersetzungssystem Gyroskopausrichtungsparameter auf Grundlage der Relativdrehung zwischen dem Zielbild und dem Referenzbild gemäß der Bestimmung bei Vorgang 406.
  • Wie weiter in 4 gezeigt ist, führt das Bildbereichsersetzungssystem den Vorgang 414 des Bestimmens dessen durch, ob Merkmalspunkte innerhalb eines oder beider von dem Zielbild und dem Referenzbild eine Merkmal-Punkt-Unsicherheit beinhalten. Bei einigen Ausführungsformen bestimmt das Bildbereichsersetzungssystem beispielsweise, ob ein Satz von Merkmalspunkten innerhalb des Zielbildes und/oder ein Satz von Merkmalspunkten innerhalb des Referenzbildes einer Schwellenmenge von Merkmalspunkten genügen. Wie in 4 angegeben ist, verzichtet das Bildbereichsersetzungssystem, wenn die Merkmalspunkte innerhalb eines oder beider von dem Zielbild und dem Referenzbild der Schwellenmenge von Merkmalspunkten nicht genügen und so eine Merkmal-Punkt-Unsicherheit am Entscheidungspunkt angeben, auf ein Anwenden eines merkmalsbasierten Ausrichtungsmodells und generiert bei dem Vorgang 424 pixelangepasste Gyroskopausrichtungsparameter. Genügen die Merkmalspunkte sowohl innerhalb des Zielbildes wie auch des Referenzbildes jedoch der Schwellenmenge von Merkmalspunkten und geben so das Nichtvorhandensein einer Merkmal-Punkt-Unsicherheit am Entscheidungspunkt an, so macht das Bildbereichsersetzungssystem mit Vorgängen für das merkmalsbasierte Ausrichtungsmodell weiter.
  • Wie in 4 angegeben ist, führt das Bildbereichsersetzungssystem beim Bestimmen des Nichtvorhandenseins einer Merkmal-Punkt-Unsicherheit bei Vorgang 414 den Vorgang 416 des Abgleichens von Merkmalspunkten zwischen dem Zielbild und dem Referenzbild durch. Bei gewissen Implementierungen gleicht das Bildbereichsersetzungssystem beispielsweise Merkmalspunkte aus einem Merkmal-Punkt-Satz innerhalb des Zielbildes mit Merkmalspunkten aus einem Merkmal-Punkt-Satz innerhalb des Referenzbildes ab. Bei einigen derartigen Ausführungsformen gleicht das Bildbereichsersetzungssystem Merkmalspunkte zwischen dem Zielbild und dem Referenzbild entsprechend einem Brute-Force-Matcher-Algorithmus, einem FLANN-Algorithmus (Fast Library for Approximate Nearest Neighbors FLANN) oder einem beliebigen anderen geeigneten Merkmal-Punkt-Abgleichsalgorithmus ab.
  • Nach dem Abgleichen von Merkmalspunkten entfernt das Bildbereichsersetzungssystem des Weiteren einen Teilsatz der Abgleichsmerkmalspunkte, der in Konflikt mit den Gyroskopausrichtungsparametern aus Vorgang 406 steht, (oder filtert diesen aus. Durch Entfernen derartiger in Konflikt stehender, abgeglichener Merkmalspunkte erstellt das Bildbereichsersetzungssystem einen gefilterten Satz von Abgleichsmerkmalspunkten zwischen dem Zielbild und dem Referenzbild.
  • Wie in 4 weiter gezeigt ist, beinhaltet das sequenzielle Flussdiagramm 400 einen weiteren Entscheidungspunkt, der der Vorgang 418 ist. Bei einigen Ausführungsformen führt das Bildbereichsersetzungssystem den Vorgang 418 des Bestimmens dessen durch, ob Abgleichsmerkmalspunkte zwischen dem Zielbild und dem Referenzbild eine Merkmal-Punkt-Unsicherheit beinhalten. Bei bestimmten Implementierungen bestimmt das Bildbereichsersetzungssystem beispielsweise, ob Abgleichsmerkmalspunkte zwischen dem Zielbild und dem Referenzbild einer Schwellenmenge von Abgleichsmerkmalspunkten genügen. Wie in 4 gezeigt ist, verzichtet, wenn die Abgleichsmerkmalspunkte der Schwellenmenge von Merkmalspunkten nicht genügen und so eine Merkmal-Punkt-Unsicherheit am Entscheidungspunkt angeben, das Bildbereichsersetzungssystem auf das Anwenden eines merkmalsbasierten Ausrichtungsmodells und generiert bei dem Vorgang 424 pixelangepasste Gyroskopausrichtungsparameter. Genügen die Abgleichsmerkmalspunkte jedoch der Schwellenmenge von Abgleichsmerkmalspunkten und geben so ein Nichtvorhandensein einer Merkmal-Punkt-Unsicherheit am Entscheidungspunkt an, so macht das Bildbereichsersetzungssystem mit Vorgängen für das merkmalsbasierte Ausrichtungsmodell weiter.
  • Beim Bestimmen des Nichtvorhandenseins einer Merkmal-Punkt-Unsicherheit bei Vorgang 418 führt das Bildbereichsersetzungssystem den Vorgang 420 des Schätzens von Merkmalsausrichtungsparametern durch. Bei einigen Ausführungsformen nutzt das Bildbereichsersetzungssystem beispielsweise die Abgleichsmerkmalspunkte zwischen dem Zielbild und dem Referenzbild, um Merkmalsausrichtungsparameter zu schätzen. Wie vorstehend angegeben worden ist, kann das Bildbereichsersetzungssystem einen RANSAC-Algorithmus, einen LMedS-Regressionsalgorithmus oder andere geeignete robuste Algorithmen zur parametrischen Modellschätzung anwenden, um die Merkmalsausrichtungsparameter zu generieren.
  • Wie weiter in 4 gezeigt ist, beinhaltet das sequenzielle Flussdiagramm 400 einen endgültigen Entscheidungspunkt, der der Vorgang 422 ist. Bei einigen Ausführungsformen führt das Bildbereichsersetzungssystem den Vorgang 422 des Bestimmens dessen durch, ob Merkmalsausrichtungsparameter eine Merkmal-Punkt-Unsicherheit beinhalten. Bei einigen Implementierungen bestimmt das Bildbereichsersetzungssystem beispielsweise, ob die Merkmalsausrichtungsparameter das Zielbild hinlänglich mit dem Referenzbild abgleichen, auf Grundlage von Gyroskopdatensätzen (oder unter Verweis hierauf), die von einer Rechenvorrichtung aufgenommen werden, oder Gyroskopausrichtungsparametern. Bestimmen kann das Bildbereichsersetzungssystem beispielsweise ein Differenzial bzw. eine Differenz zwischen Merkmalsausrichtungsparametern entsprechend einem merkmalsbasierten Ausrichtungsmodell und einem Bereich von erwarteten Merkmalsausrichtungsparametern für ein Eingabebild mit Bestimmung aus einer Relativdrehung (beispielsweise bei einem Bereich, der maximale und minimale erwartete Merkmalsausrichtungsparameter für ein Eingabebild auf Grundlage von Gyroskopdatensätzen oder Gyroskopausrichtungsparametern umfasst).
  • Konsistent zu den vorgenannten Entscheidungspunkten verzichtet das Bildbereichsersetzungssystem, wenn die Merkmalsausrichtungsparameter das Zielbild nicht hinlänglich mit dem Referenzbild ausrichten und so eine Merkmal-Punkt-Unsicherheit angeben, auf das Anwenden eines merkmalsbasierten Ausrichtungsmodells und generiert bei Vorgang 424 pixelangepasste Gyroskopausrichtungsparameter. Richten die Merkmalsausrichtungsparameter das Zielbild jedoch hinlänglich mit dem Referenzbild aus und geben so das Nichtvorhandensein einer Merkmal-Punkt-Unsicherheit am Entscheidungspunkt an, so macht das Bildbereichsersetzungssystem mit dem Vorgang 426 des Ausrichtens des Zielbildes mit dem Referenzbild (auf Grundlage der bei Vorgang 420 geschätzten Merkmalsausrichtungsparameter) weiter.
  • Wie eben angegeben, wählt das Bildbereichsersetzungssystem, wenn das Bildbereichsersetzungssystem eine Merkmal-Punkt-Unsicherheit beim Durchführen eines beliebigen der Vorgänge 414, 418 oder 422 detektiert, ein pixelangepasstes Gyroskopausrichtungsmodell anstelle eines merkmalsbasierten Ausrichtungsmodells zum Ausrichten des Zielbildes mit dem Referenzbild aus. Insbesondere beim Detektieren einer Merkmal-Punkt-Unsicherheit bei den Vorgängen 414, 418 oder 422 verzichtet das Bildbereichsersetzungssystem auf das Anwenden eines merkmalsbasierten Ausrichtungsmodells und führt den Vorgang 424 des Generierens von pixelangepassten Gyroskopausrichtungsparametern durch.
  • Im Vorhergang zum Generieren von pixelangepassten Gyroskopausrichtungsparametern nimmt das Bildbereichsersetzungssystem bei einigen Ausführungsformen ein Warping des Zielbildes entsprechend den bei Vorgang 412 generierten Gyroskopausrichtungsparametern vor und schätzt pixelbasierte Ausrichtungsparameter, die das dem Warping unterzogene Bild mit dem Referenzbild ausrichten. Auf Grundlage sowohl der pixelbasierten Ausrichtungsparameter wie auch der Gyroskopausrichtungsparameter generiert das Bildbereichsersetzungssystem bei einigen Ausführungsformen die pixelangepassten Gyroskopausrichtungsparameter.
  • Wie weiter in 4 gezeigt ist, führt das Bildbereichsersetzungssystem den Vorgang 426 des Ausrichtens des Zielbildes mit dem Referenzbild aus. Wie vorstehend erwähnt worden ist, nimmt das Bildbereichsersetzungssystem, wenn die Merkmalspunkte oder Merkmalsausrichtungsparameter eine Merkmal-Punkt-Unsicherheit angeben, ein Generieren und Anwenden der pixelangepassten Gyroskopausrichtungsparameter auf das Zielbild vor, um die Eingabe mit dem Referenzbild auszurichten. Geben die Merkmalspunkte und die Merkmalsausrichtungsparameter das Nichtvorhandensein einer Merkmal-Punkt-Unsicherheit an, so nimmt das Bildbereichsersetzungssystem ein Generieren und Anwenden von Merkmalsausrichtungsparametern auf das Zielbild vor, um das das Ziel bzw. Zielbild mit dem Referenzbild auszurichten.
  • Wie vorstehend beschrieben worden ist, präsentiert 4 einen flexiblen und selektiven Bildausrichtungsalgorithmus. Im Gegensatz zu einigen herkömmlichen Bildausrichtungssystemen nutzt das offenbarte Bildbereichsersetzungssystem von 4 einen flexiblen Lösungsansatz, der zwischen einem pixelangepassten Gyroskopausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell zum Ausrichten von Digitalbildern auswählt. Alternativ setzt das Bildbereichsersetzungssystem bei einigen Ausführungsformen einen anderen selektiven Bildausrichtungsalgorithmus ein, bei dem eine Merkmal-Punkt-Unsicherheitsmetrik genutzt wird, um zwischen einem pixelbasierten Ausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell zum Ausrichten von Digitalbildern auszuwählen. Entsprechend setzt das Bildbereichsersetzungssystem auf Grundlage des Identifizierens einer Merkmal-Punkt-Unsicherheit in einigen Fällen optional ein pixelbasiertes Ausrichtungsmodell (anstelle eines merkmalsbasierten Ausrichtungsmodells) ein, um ein Zielbild mit einem Referenzbild auszurichten. Bei derartigen Ausführungsformen setzt das Bildbereichsersetzungssystem das pixelbasierte Ausrichtungsmodell ein, indem es Pixel über ein Zielbild und ein Referenzbild hinweg vergleicht und pixelbasierte Ausrichtungsparameter zum Ausrichten des Eingabebildes mit dem Referenzbild auf Grundlage von überlappenden Pixeln zwischen den Bildern bestimmt.
  • Wie eben bemerkt worden ist, kann das Bildbereichsersetzungssystem bei einigen Ausführungsformen ein pixelangepasstes Gyroskopausrichtungsmodell zum Ausrichten von Digitalbildern anwenden. 5A zeigt eine Ausführungsform eines pixelangepassten Gyroskopausrichtungsmodells 512. Im Sinne einer Übersicht über 5A identifiziert das Bildbereichsersetzungssystem einen ersten Gyroskopdatensatz 506a entsprechend einem Referenzbild 502 und einen zweiten Gyroskopdatensatz 506b entsprechend einem Zielbild 504. Auf Grundlage des ersten Gyroskopdatensatzes 506a und des zweiten Gyroskopdatensatzes 506b generiert das Bildbereichsersetzungssystem Gyroskopausrichtungsparameter 516 zum Ausrichten des Zielbildes 504 mit dem Referenzbild 502. Das Bildbereichsersetzungssystem generiert des Weiteren pixelangepasste Gyroskopausrichtungsparameter 522 auf Grundlage der Gyroskopausrichtungsparameter 516 und der pixelbasierten Ausrichtungsparameter 520. Sind die pixelangepassten Gyroskopausrichtungsparameter 522 generiert, so wendet das Bildbereichsersetzungssystem die pixelangepassten Gyroskopausrichtungsparameter 522 auf das Zielbild 504 an, um das Zielbild 504 mit dem Referenzbild 502 auszurichten.
  • Wie in 5A gezeigt ist, nimmt eine Kamera einer Rechenvorrichtung 500 das Referenzbild 502 und das Zielbild 504 auf. Die Rechenvorrichtung 500 stellt anschließend das Referenzbild 502 und das Zielbild 504 zur Analyse bereit (und das Bildbereichsersetzungssystem empfängt diese). Bei einigen Ausführungsformen detektiert die Rechenvorrichtung 500 beispielsweise eine Nutzerauswahl einer auswählbaren Option zum Ausrichten von Digitalbildern (beispielsweise eine Auswahl einer Option zum Ausrichten des Zielbildes 504 mit dem Referenzbild 502). Auf Grundlage des Detektierens der Nutzerauswahl analysiert das Bildbereichsersetzungssystem bei einigen Ausführungsformen das Referenzbild 502 und das Zielbild 504 für das pixelangepasste Gyroskopausrichtungsmodell 512.
  • Nach einer Bildaufnahme identifiziert das Bildbereichsersetzungssystem den ersten Gyroskopdatensatz 506a, der dem Referenzbild 502 entspricht, und den zweiten Gyroskopdatensatz 506b, der dem Zielbild 504 entspricht. Bei einigen Ausführungsformen nutzt die Rechenvorrichtung 500 einen Gyroskopsensor oder eine IMU zum Aufzeichnen (i) von Gyroskopablesungen zu einer Zeit, zu der die Kamera das Referenzbild 502 aufnimmt, und (ii) von Gyroskopablesungen zu einer Zeit, zu der die Kamera das Zielbild 504 aufnimmt. Da der erste Gyroskopdatensatz 506a und der zweite Gyroskopdatensatz 506b voneinander abweichen können, kann das Bildbereichsersetzungssystem dieses Differenzial bzw. diese Differenz nutzen, um eine Relativdrehung zwischen dem Zielbild 504 und dem Referenzbild 502 zu bestimmen.
  • Zusätzlich speichert die Rechenvorrichtung 500 bei gewissen Ausführungsformen die Gyroskopablesungen als den ersten Gyroskopdatensatz 506a und den zweiten Gyroskopdatensatz 506b für das Bildbereichsersetzungssystem. Konsistent zur vorstehenden Offenbarung speichert die Rechenvorrichtung 500 in einigen Fällen den ersten Gyroskopdatensatz 506a und den zweiten Gyroskopdatensatz 506b als Euler'sche Winkel- und Rotationsdaten oder (um bei Euler'schen Winkeln das bisweilen vorhandene Gimbal-Lock-Problem zu vermeiden) als Quaternionen.
  • Wie weiter in 5A gezeigt ist, bestimmt das Bildbereichsersetzungssystem die Brennweite 508 für die Kamera in der Rechenvorrichtung 500. Bei gewissen Implementierungen fragt das Bildbereichsersetzungssystem die Rechenvorrichtung 500 nach der Brennweite 508. Das Bildbereichsersetzungssystem kann die Rechenvorrichtung 500 beispielsweise auf Grundlage der der Kameralinse zu eigenen intrinsischen Kalibrierung nach der Brennweite 508 fragen, wenn die Kamera das Referenzbild 502 und/oder das Zielbild 504 aufnimmt.
  • Alternativ schätzt das Bildbereichsersetzungssystem bei gewissen Ausführungsformen auf Grundlage von Abgleichsmerkmalspunkten zwischen dem Referenzbild 502 und dem Zielbild 504 die Brennweite 508. Das Bildbereichsersetzungssystem kann die Brennweite 508 beispielsweise schätzen, wenn (i) Abgleichsmerkmalspunkte zwischen dem Referenzbild 502 und dem Zielbild 504 einer Schwellenmenge von Abgleichsmerkmalspunkten genügen und (ii) die Kamera zwischen der Aufnahme des Referenzbildes 502 und des Zielbildes 504 schwenkt. Bei einigen Ausführungsformen schätzt das Bildbereichsersetzungssystem die Brennweite 508 unter Nutzung eines Kalibrierungsverfahrens und drückt die Brennweite 508 in Pixeln aus. In einigen derartigen Fällen schätzt das Bildbereichsersetzungssystem die Brennweite 508 unter Nutzung von Verfahren zum Bestimmen der Brennweite, die beschrieben sind bei: „Image Alignment and Stitching: A Tutorial“ von Richard Szeliski, veröffentlicht bei Foundations and Trends in Computer Graphics and Vision, Band 2, Nr. 1 (2006) (nachstehend mit „Szeliski“ bezeichnet). Der gesamte Inhalt dieser Quelle ist hiermit durch Verweis mit aufgenommen. Da Pixel bisweilen nicht quadratisch sind, bestimmt das Bildbereichsersetzungssystem bei gewissen Implementierungen eine erste Brennweite für eine horizontale Dimension (fx) und eine zweite Brennweite für eine vertikale Dimension (fy) beim Bestimmen der Brennweite 508.
  • Wie in 5A gezeigt ist, identifiziert das Bildbereichsersetzungssystem Bildabmessungen bzw. Bilddimensionen 510 zusätzlich zum Bestimmen der Brennweite 508. Bei einigen Ausführungsformen identifiziert das Bildbereichsersetzungssystem beispielsweise die Höhe und Breite des Referenzbildes 502 und/oder die Höhe und Breite des Zielbildes 504. Zusätzlich oder alternativ identifiziert das Bildbereichsersetzungssystem bei gewissen Implementierungen einen Hauptpunktversatz für die Kamera und/oder eine Achsenneigung beim Identifizieren der Bildabmessungen bzw. Bilddimensionen 510.
  • Sind die Brennweite 508 und die Bildabmessungen bzw. Bilddimensionen 510 bestimmt, so wendet das Bildbereichsersetzungssystem das pixelangepasste Gyroskopausrichtungsmodell 512 an, indem es den ersten Gyroskopdatensatz 506a, den zweiten Gyroskopdatensatz 506b, die Brennweite 508 und die Bildabmessungen bzw. Bilddimensionen 510 nutzt. Wie in 5A gezeigt ist, bestimmt das Bildbereichsersetzungssystem beispielsweise auf Grundlage der Brennweite 508 und der Bildabmessungen bzw. Bilddimensionen 510 eine kameraintrinsische Matrix 514. In einigen Fällen bestimmt das Bildbereichsersetzungssystem die kameraintrinsische Matrix 514 durch Erstellen einer Matrix aus intrinsischen Kameraparametern, die die Brennweite 508 und eine Hauptachse beinhaltet. Bei einigen derartigen Ausführungsformen bestimmt das Bildbereichsersetzungssystem zudem die kameraintrinsische Matrix 514, die eine Brennweite, einen Hauptpunktversatz und eine Achsenneigung umfasst. In bestimmten Fällen bestimmt das Bildbereichsersetzungssystem die kameraintrinsische Matrix 514 durch Bestimmen einer intrinsischen Kameramatrix, wie sie von Szeliski beschrieben wird, oder durch Bestimmen einer Kalibrierungsmatrix, wie sie in der folgenden Quelle beschrieben wird: „Multiple View Geometry in Computer Vision“ von Richard Hartley and Andrew Zisserman, Ch. 8 (zweite Auflage 2004). Der gesamte Inhalt dieser Quelle wird hiermit durch Verweis mit aufgenommen.
  • Wie weiter in 5A gezeigt ist, generiert das Bildbereichsersetzungssystem nach dem Bestimmen der kameraintrinsischen Matrix 514 die Gyroskopausrichtungsparameter 516 auf Grundlage der ersten und zweiten Gyroskopdatensätze 506a und 506b und der kameraintrinsischen Matrix 514. Bei gewissen Ausführungsformen generiert das Bildbereichsersetzungssystem die Gyroskopausrichtungsparameter 516 beispielsweise auf Grundlage einer Relativdrehung zwischen dem Referenzbild 502 und dem Zielbild 504 so, wie durch den ersten Gyroskopdatensatz 506a und den zweiten Gyroskopdatensatz 506b angegeben ist. Insbesondere generiert das Bildbereichsersetzungssystem bei einigen derartigen Ausführungsformen die Gyroskopausrichtungsparameter 516 auf Grundlage der kameraintrinsischen Matrix 514, des ersten Gyroskopdatensatzes 506a (als Drehmatrix ausgedrückt) und des zweiten Gyroskopdatensatzes 506b (ebenfalls als Drehmatrix ausgedrückt).
  • Wie in 5A gezeigt ist, generiert das Bildbereichsersetzungssystem bei einigen Ausführungsformen die Gyroskopausrichtungsparameter 516 derart, dass die Gyroskopausrichtungsparameter 516 bei Anwendung auf das Zielbild 504 das Zielbild 504 annähernd mit dem Referenzbild 502 ausrichten. Hierbei richten die Gyroskopausrichtungsparameter 516 das Zielbild 504 annähernd mit dem Referenzbild 502 aus, da bei dem pixelangepassten Gyroskopausrichtungsmodell 512 das Bildbereichsersetzungssystem des Weiteren die Gyroskopausrichtungsparameter 516 dafür anpasst, genauere Ausrichtungsparameter zu generieren (und zwar beispielsweise durch Anpassen oder Kombinieren der Gyroskopausrichtungsparameter 516 mit pixelbasierten Ausrichtungsparametern).
  • Nach dem Generieren der Gyroskopausrichtungsparameter 516 nimmt das Bildbereichsersetzungssystem bei einigen Ausführungsformen ein Warping des Zielbildes 504 auf Grundlage der Gyroskopausrichtungsparameter 516 vor, um ein einem Warping unterzogenes Eingabebild 518 zu generieren. Bei gewissen Implementierungen wendet das Bildbereichsersetzungssystem beispielsweise die Gyroskopausrichtungsparameter 516 auf das Zielbild 504 an, um eine Homographie-Transformation durchzuführen und um das dem Warping unterzogene Eingabebild 518 zu generieren. Entsprechend ist das dem Warping unterzogene Eingabebild 518 eine einem Warping unterzogene Variante des Zielbildes 504.
  • Wie weiter in 5A gezeigt ist, schätzt das Bildbereichsersetzungssystem nach dem Generieren des dem Warping unterzogenen Eingabebildes 518 pixelbasierte Ausrichtungsparameter 520. Insbesondere schätzt das Bildbereichsersetzungssystem bei einigen Ausführungsformen Translationsparameter, die das dem Warping unterzogene Eingabebild 518 mit dem Referenzbild 502 auf Grundlage eines Vergleiches von Pixeln zwischen beiden Bildern (beispielsweise durch Verringern des Ausrichtungsfehlers hierfür) ausrichten. Bei gewissen Implementierungen nimmt das Bildbereichsersetzungssystem beispielsweise ein Downsampling des Referenzbildes 502 und des dem Warping unterzogenen Eingabebildes 518 vor. Bei einigen derartigen Implementierungen wendet das Bildbereichsersetzungssystem anschließend Fehlermetriken (beispielsweise die Summe quadrierter Differenzen oder die Summe absoluter Differenzen, den Root-Mean-Squared-Intensitätspixelfehler, die normierte Kreuzkorrelation), eine hierarchische Bewegungsschätzung oder eine fourierbasierte Ausrichtung auf das dem Downsampling unterzogene Referenzbild 502 und das dem Downsampling und dem Warping unterzogene Eingabebild 518 an. Auf Grundlage derartiger Fehlermetriken, einer derartigen hierarchischen Bewegungsschätzung oder einer derartigen fourierbasierten Ausrichtung schätzt das Bildbereichsersetzungssystem Ausrichtungsparameter, die Pixel aus dem einem Downsampling und einem Warping unterzogenen Eingabebild 518 in das Referenzbild 502 übertragen.
  • Unter Einsatz von Fehlermetriken, einer hierarchischen Bewegungsschätzung oder einer fourierbasierten Ausrichtung zum Durchführen einer einfachen pixelbasierten Translation bzw. Übertragung für einem Downsampling unterzogene Bilder (das heißt eine pixelbasierte Translation bzw. Übertragung, die auf ein einem Warping unterzogenes Bild, das bereits auf Grundlage von Gyroskopdaten grob ausgerichtet worden ist, angewendet wird) kann das Bildbereichsersetzungssystem die Verarbeitungslast, die von herkömmlichen pixelbasierten Lösungsansätzen zur Ausrichtung benötigt wird, vermeiden. Sogar im Vergleich zu einer hierarchischen Abtastung (sampling) von Pixeln, die bei einigen herkömmlichen Lösungsansätzen zur pixelbasierten Ausrichtung zum Einsatz kommt, beschleunigt das Bildbereichsersetzungssystem das Schätzen der pixelbasierten Ausrichtungsparameter 520, indem es sowohl Gyroskopdaten wie auch eine pixelbasierte Translation bzw. Übertragung mit Downsampling einsetzt. Bei einer Alternative schätzt das Bildbereichsersetzungssystem bei einigen Ausführungsformen pixelbasierte Ausrichtungsparameter 520 unter Nutzung von hierarchischen Grob-nach-Fein- oder Fouriertransformationstechniken, wie Szeliski sie beschreibt.
  • In der Praxis geben Gyroskopdaten bei einer oder mehreren Ausführungsformen Drehdaten und das Schwenken der zum Aufnehmen des Digitalbildes verwendeten Kamera (nicht jedoch notwendigerweise Translations- bzw. Übertragungsdaten) wieder. Durch Nutzen einer schnellen pixelbasierten Translations- bzw. Übertragungsschätzung an einem Downsampling unterzogenen Eingabebildern kann das Bildbereichsersetzungssystem eine Translations- bzw. Übertragungsinformation mit weniger Rechenaufwand bestimmen. Das Bildbereichsersetzungssystem kann die Translations- bzw. Übertragungstransformation (beispielsweise pixelbasierte Ausrichtungsparameter) mit der Drehtransformation (beispielsweise Gyroskopausrichtungsparameter) kombinieren, um endgültige Ausrichtungsparameter (beispielsweise pixelangepasste Gyroskopausrichtungsparameter) zu bilden.
  • Wie in 5A angegeben ist, schätzt das Bildbereichsersetzungssystem bei einigen Ausführungsformen die pixelbasierten Ausrichtungsparameter 520 derart, dass die pixelbasierten Ausrichtungsparameter 520 bei Anwendung auf das Zielbild 504 das Zielbild 504 annähernd mit dem Referenzbild 502 ausrichten. Wie in 5A gezeigt ist, nutzt das Bildbereichsersetzungssystem die pixelbasierten Ausrichtungsparameter 520 in der Praxis zum Verfeinern oder Generieren genauerer Ausrichtungsparameter (beispielsweise durch Anpassen oder Kombinieren der Gyroskopausrichtungsparameter 516 mit pixelbasierten Ausrichtungsparametern). Wie vorstehend beschrieben worden ist, kann das Bildbereichsersetzungssystem darüber hinaus die pixelbasierten Ausrichtungsparameter 520 unter Nutzung von weniger rechentechnischer Verarbeitung schätzen und meidet dabei das Suchen nach jedem konstituierenden Pixel eines Bildes (das bei einigen herkömmlichen pixelbasierten Lösungsansätzen erforderlich ist).
  • Wie weiter in 5A gezeigt ist, generiert das Bildbereichsersetzungssystem nach dem Schätzen der pixelbasierten Ausrichtungsparameter 520 die pixelangepassten Gyroskopausrichtungsparameter 522. Insbesondere generiert das Bildbereichsersetzungssystem die pixelangepassten Gyroskopausrichtungsparameter 522 auf Grundlage der Gyroskopausrichtungsparameter 516 und der geschätzten pixelbasierten Ausrichtungsparameter 520. Bei einigen Ausführungsformen passt das Bildbereichsersetzungssystem die Gyroskopausrichtungsparameter 516 beispielsweise auf Grundlage der geschätzten pixelbasierten Ausrichtungsparameter 520 an, um die pixelangepassten Gyroskopausrichtungsparameter 522 zu generieren. Bei gewissen Implementierungen kombiniert oder multipliziert bzw. vervielfacht das Bildbereichsersetzungssystem die Gyroskopausrichtungsparameter 516 und die geschätzten pixelbasierten Ausrichtungsparameter 520, um die pixelangepassten Gyroskopausrichtungsparameter 522 zu generieren.
  • Wie in 5A angegeben ist, wendet das Bildbereichsersetzungssystem beim Generieren der pixelangepassten Gyroskopausrichtungsparameter 522 die pixelangepassten Gyroskopausrichtungsparameter 522 auf das Zielbild 504 an, um ein ausgerichtetes Eingabebild 524 zu generieren. Durch Anwenden der pixelangepassten Gyroskopausrichtungsparameter 522 auf das Zielbild 504 nimmt das Bildbereichsersetzungssystem an dem Zielbild 504 ein Verschieben (shifting) oder Warping zur Ausrichtung mit dem Referenzbild 502 vor. Bei einigen Ausführungsformen nimmt das Bildbereichsersetzungssystem an dem Zielbild 504 ein Warping entsprechend einer Homographie-Transformation vor, die durch die pixelangepassten Gyroskopausrichtungsparameter 522 codiert ist, um das ausgerichtete Eingabebild 524 zu generieren.
  • Wie in 5A gezeigt ist, kann das Bildbereichsersetzungssystem das pixelangepasste Gyroskopausrichtungsmodell 512 unabhängig vom Detektieren einer Merkmal-Punkt-Unsicherheit und unabhängig von einem merkmalsbasierten Ausrichtungsmodell anwenden. Im Gegensatz hierzu kann das pixelangepasste Gyroskopausrichtungsmodell 512 bei gewissen Implementierungen Teil eines selektiven Bildausrichtungsalgorithmus sein, der zwischen dem pixelangepassten Gyroskopausrichtungsmodell 512 und einem merkmalsbasierten Ausrichtungsmodell auswählt. 5B zeigt ein Beispiel für ein derartiges merkmalsbasiertes Ausrichtungsmodell.
  • 5B zeigt das Bildbereichsersetzungssystem, das ein merkmalsbasiertes Ausrichtungsmodell 536 anwendet, um ein Zielbild 534 mit einem Referenzbild 532 auszurichten, entsprechend einer oder mehreren Ausführungsformen. Im Überblick betrachtet, identifiziert das Bildbereichsersetzungssystem einen ersten Satz von Merkmalspunkten 538a innerhalb des Referenzbildes 532 und einen zweiten Satz von Merkmalspunkten 538b innerhalb des Zielbildes 534. Das Bildbereichsersetzungssystem gleicht zudem Merkmalspunkte zwischen dem Referenzbild 532 und dem Zielbild 534 ab, um Abgleichsmerkmalspunkte 542 zu erstellen. Auf Grundlage eines gefilterten Satzes von Abgleichsmerkmalspunkten 546 schätzt das Bildbereichsersetzungssystem Merkmalsausrichtungsparameter 550 entsprechend dem merkmalsbasierten Ausrichtungsmodell 536 und wendet die Merkmalsausrichtungsparameter 550 auf das Zielbild 534 an. Zum Anleiten einer Implementierung des merkmalsbasierten Ausrichtungsmodells 536 bestimmt das Bildbereichsersetzungssystem bei einigen Ausführungsformen verschiedene Merkmal-Punkt-Unsicherheitsmetriken, wie in 5B angegeben ist, und vergleicht die Metriken mit Unsicherheitsschwellen.
  • Wie in 5B gezeigt ist, nimmt eine Kamera einer Rechenvorrichtung 500 das Referenzbild 532 und das Zielbild 534 auf. Die Rechenvorrichtung 500 stellt das Referenzbild 532 und das Zielbild 534 anschließend zur Analyse bereit (und das Bildbereichsersetzungssystem empfängt diese). Bei einigen Ausführungsformen detektiert die Rechenvorrichtung 500 beispielsweise eine Nutzerauswahl einer auswählbaren Option zur Ausrichtung von Digitalbildern. Auf Grundlage des Detektierens der Nutzerauswahl analysiert das Bildbereichsersetzungssystem das Referenzbild 532 und das Zielbild 534 für das merkmalsbasierte Ausrichtungsmodell 536.
  • Nach der Bildaufnahme identifiziert das Bildbereichsersetzungssystem den ersten Satz von Merkmalspunkten 538a innerhalb des Referenzbildes 532 und den zweiten Satz von Merkmalspunkten 538b innerhalb des Zielbildes 534. Bei einigen Ausführungsformen nutzt das Bildbereichsersetzungssystem einen BRIEF-, FAST- oder ORB-Algorithmus oder einen anderen geeigneten Detektionsalgorithmus als Teil des Identifizierens des ersten Satzes von Merkmalspunkten 538a innerhalb des Referenzbildes 532 und des zweiten Satzes von Merkmalspunkten 538b innerhalb des Zielbildes 534. Beim Detektieren extrahiert das Bildbereichsersetzungssystem bei gewissen Ausführungsformen des Weiteren den ersten Satz von Merkmalspunkten 538a und den zweiten Satz von Merkmalspunkten 538b und formatiert jeden als Merkmalsdeskriptor oder Merkmalsvektor.
  • Wie weiter in 5B gezeigt ist, bestimmt das Bildbereichsersetzungssystem zusätzlich zum Identifizieren des ersten Satzes von Merkmalspunkten 538a und des zweiten Satzes von Merkmalspunkten 538b eine Merkmal-Punkt-Unsicherheitsmetrik für jeden von dem ersten Satz von Merkmalspunkten 538a und dem zweiten Satz von Merkmalspunkten 538b und vergleicht die Merkmal-Punkt-Unsicherheitsmetrik sodann mit einer Unsicherheitsschwelle. Wie in 5B angegeben ist, bestimmt das Bildbereichsersetzungssystem (i) eine erste Merkmal-Punkt-Unsicherheitsmetrik durch Bestimmen einer Anzahl von Merkmalspunkten in dem ersten Satz von Merkmalspunkten 538a und (ii) eine zweite Merkmal-Punkt-Unsicherheitsmetrik durch Bestimmen einer Anzahl von Merkmalspunkten innerhalb des zweiten Satzes von Merkmalspunkten 538b. Das Bildbereichsersetzungssystem vergleicht des Weiteren jede der Anzahlen von Merkmalspunkten mit einer Schwellenmenge von Merkmalspunkten 540.
  • Bei gewissen Implementierungen kann die Schwellenmenge von Merkmalspunkten 540 eine vorbestimmte oder relative Menge von Merkmalspunkten sein. Bei einigen Ausführungsformen bestimmt das Bildbereichsersetzungssystem beispielsweise, ob jeder von dem ersten Satz von Merkmalspunkten 538a und dem zweiten Satz von Merkmalspunkten 538b eine vorbestimmte Schwellenanzahl von Merkmalspunkten beinhaltet. Im Gegensatz hierzu bestimmt das Bildbereichsersetzungssystem bei einigen Ausführungsformen, ob der erste Satz von Merkmalspunkten 538a eine Schwellenanzahl von Merkmalspunkten relativ zur Anzahl von Merkmalspunkten innerhalb des zweiten Satzes von Merkmalspunkten 538b beinhaltet. In 5B bestimmt das Bildbereichsersetzungssystem beispielsweise, dass jeder von dem ersten Satz von Merkmalspunkten 538a und dem zweiten Satz von Merkmalspunkten 538b der Schwellenmenge von Merkmalspunkten 540 genügt.
  • Wie weiter in 5B gezeigt ist, erstellt das Bildbereichsersetzungssystem Abgleichsmerkmalspunkte 542 durch Abgleichen von Merkmalspunkten aus dem ersten Satz von Merkmalspunkten 538a innerhalb des Referenzbildes 532 und dem zweiten Satz von Merkmalspunkten 538b innerhalb des Zielbildes 534. Bei einigen Ausführungsformen gleicht das Bildbereichsersetzungssystem Merkmalspunkte zwischen dem Referenzbild 532 und dem Zielbild 534 beispielsweise entsprechend einem Brute-Force-Matcher-Algorithmus, einem FLANN-Algorithmus oder einem anderen geeigneten Merkmal-Punkt-Abgleichsalgorithmus ab.
  • Nach dem Abgleichen von Merkmalspunkten filtert das Bildbereichsersetzungssystem bei gewissen Ausführungsformen Merkmalspunkte auf Grundlage von Gyroskopdaten, um einen gefilterten Satz von Abgleichsmerkmalspunkten 546 zu erstellen. In einigen Fällen generiert das Bildbereichsersetzungssystem beispielsweise Gyroskopausrichtungsparameter, die das Referenzbild 532 unter Nutzung der vorbeschriebenen Verfahren mit dem Zielbild 534 ausrichten.
  • Das Bildbereichsersetzungssystem vergleicht die Abgleichsmerkmalspunkte 542 des Weiteren mit den Gyroskopausrichtungsparametern und bestimmt, ob ein beliebiger der Abgleichsmerkmalspunkte 542 zu den Gyroskopausrichtungsparametern inkonsistent ist. Das Bildbereichsersetzungssystem kann beispielsweise die Gyroskopausrichtungsparameter anwenden und bestimmen, dass zwei „Abgleichsmerkmalspunkte“ an entgegengesetzten bzw. gegenüberliegenden Seiten einer in den Digitalbildern abgebildeten Szene befindlich sind. Insbesondere kann das Bildbereichsersetzungssystem die Gyroskopausrichtungsparameter mit einer Ausrichtung, die durch die Abgleichsmerkmalspunkte angegeben wird, vergleichen. Unterscheiden sich die beiden Ausrichtungen um eine Schwellenmenge, so kann das Bildbereichsersetzungssystem bestimmen, dass die Abgleichsmerkmalspunkte fehlerhaft sind. Das Bildbereichsersetzungssystem kann die Gyroskopausrichtungsparameter daher zur Bestimmung dessen nutzen, dass Abgleichsmerkmalspunkte eigentlich nicht abgeglichen sind.
  • Beim Bestimmen von Inkonsistenzen zwischen den Abgleichsmerkmalspunkten 542 und den Gyroskopausrichtungsparametern entfernt das Bildbereichsersetzungssystem sodann beliebige in Konflikt stehende Abgleichsmerkmalspunkte aus den Abgleichsmerkmalspunkten 542. Beim Entfernen oder Herausfiltern der in Konflikt stehenden Abgleichsmerkmalspunkte identifiziert das Bildbereichsersetzungssystem die verbleibenden Abgleichsmerkmalspunkte als gefilterten Satz von Abgleichsmerkmalspunkten 546.
  • Zusätzlich zum Erstellen des gefilterten Satzes von Abgleichsmerkmalspunkten 546 bestimmt das Bildbereichsersetzungssystem bei einigen Ausführungsformen eine Merkmal-Punkt-Unsicherheitsmetrik auf Grundlage des gefilterten Satzes von Abgleichsmerkmalspunkten 546. Wie in 5B angegeben ist, bestimmt das Bildbereichsersetzungssystem eine Merkmal-Punkt-Unsicherheitsmetrik durch Bestimmen einer Anzahl von Abgleichsmerkmalspunkten innerhalb des gefilterten Satzes von Abgleichsmerkmalspunkten 546. Bei einigen Ausführungsformen kann das Bildbereichsersetzungssystem zudem eine Merkmal-Punkt-Unsicherheitsmetrik durch Bestimmen einer Anzahl von Abgleichsmerkmalspunkten innerhalb der Abgleichsmerkmalspunkte 542 bestimmen.
  • Wie in 5B angegeben ist, vergleicht das Bildbereichsersetzungssystem die Anzahl von Abgleichsmerkmalspunkten innerhalb des gefilterten Satzes von Abgleichsmerkmalspunkten 546 (oder alternativ die Anzahl von Abgleichsmerkmalspunkten innerhalb der Abgleichsmerkmalspunkte 542) des Weiteren mit einer Schwellenmenge von Abgleichsmerkmalspunkten 548. Bei einigen Ausführungsformen bestimmt das Bildbereichsersetzungssystem beispielsweise, ob der gefilterte Satz von Abgleichsmerkmalspunkten 546 eine vorbestimmte Schwellenanzahl von Abgleichsmerkmalspunkten beinhaltet. Zusätzlich oder alternativ bestimmt das Bildbereichsersetzungssystem bei einigen Ausführungsformen, ob der gefilterte Satz von Abgleichsmerkmalspunkten 546 bei gegebener Pixelzahl oder Größe des Referenzbildes 532 und des Zielbildes 534 eine Schwellenanzahl von Abgleichsmerkmalspunkten beinhaltet. Gemäß 5B bestimmt das Bildbereichsersetzungssystem, dass der gefilterte Satz von Abgleichsmerkmalspunkten 546 (oder alternativ die Abgleichsmerkmalspunkte 542) der Schwellenmenge von Abgleichsmerkmalspunkten 548 genügen.
  • Wie weiter in 5B gezeigt ist, schätzt das Bildbereichsersetzungssystem die Merkmalsausrichtungsparameter 550. Wie das merkmalsbasierte Ausrichtungsmodell 536 impliziert, schätzt das Bildbereichsersetzungssystem die Merkmalsausrichtungsparameter 550 auf Grundlage des gefilterten Satzes von Abgleichsmerkmalspunkten 546 oder alternativ auf Grundlage der Abgleichsmerkmalspunkte 542. Wie vorstehend implizit gesagt wird, kann das Bildbereichsersetzungssystem einen RANSAC-Algorithmus, einen LMedS-Regressionsalgorithmus oder einen anderen geeigneten merkmalsbasierten Bildausrichtungsalgorithmus auf den gefilterten Satz von Abgleichsmerkmalspunkten 546 (oder der Abgleichsmerkmalspunkte 542) anwenden, um die Merkmalsausrichtungsparameter 550 zu generieren.
  • Wie vorstehend beschrieben worden ist, können die Merkmalsausrichtungsparameter 550 die Form von Homographie-Transformationsparametern oder von Affin-Transformationsparametern annehmen. Bei einigen Ausführungsformen bestimmt das Bildbereichsersetzungssystem, ob der gefilterte Satz von Abgleichsmerkmalspunkten 546 (oder die Abgleichsmerkmalspunkte 542) eine Schwellenmenge von Merkmalspunkten beinhaltet, um Homographie-Transformationsparameter zu erstellen. Beinhaltet der gefilterte Satz von Abgleichsmerkmalspunkten 546 (oder der Abgleichsmerkmalspunkte 542) die Schwellenmenge, so schätzt das Bildbereichsersetzungssystem Homographie-Transformationsparameter als Merkmalsausrichtungsparameter 550. Beinhaltet der gefilterte Satz von Abgleichsmerkmalspunkten 546 (oder der Abgleichsmerkmalspunkte 542) im Gegensatz hierzu die Schwellenmenge nicht, so schätzt das Bildbereichsersetzungssystem Affin-Transformationsparameter als Merkmalsausrichtungsparameter 550.
  • Zusätzlich zum Schätzen der Merkmalsausrichtungsparameter 550 bestimmt das Bildbereichsersetzungssystem bei einigen Ausführungsformen eine Merkmal-Punkt-Unsicherheitsmetrik auf Grundlage der Merkmalsausrichtungsparameter 550. Wie in 5B angegeben ist, bestimmt das Bildbereichsersetzungssystem eine Merkmal-Punkt-Unsicherheitsmetrik durch Bestimmen eines Differenzials bzw. einer Differenz zwischen den Merkmalsausrichtungsparametern 550 und einem Bereich von erwarteten Merkmalsausrichtungsparametern für das Zielbild 534. Bei einigen derartigen Ausführungsformen bestimmt das Bildbereichsersetzungssystem ein Differenzial bzw. eine Differenz zwischen den Merkmalsausrichtungsparametern 550 und einem Bereich, der maximale und minimale erwartete Merkmalsausrichtungsparameter für das Zielbild 534 in Bezug auf das Referenzbild 532 umfasst, auf Grundlage der Gyroskopdatensätze oder der Gyroskopausrichtungsparameter.
  • Wie eben bemerkt worden ist, vergleicht das Bildbereichsersetzungssystem in einigen Fällen die Merkmalsausrichtungsparameter 550 (oder ein Differenzial bzw. eine Differenz für die Merkmalsausrichtungsparameter 550) mit Gyroskopdatensätzen oder Gyroskopausrichtungsparametern, die dem Referenzbild 532 und dem Zielbild 534 entsprechen. Entsprechend kann das Bildbereichsersetzungssystem dasjenige, ob die Merkmalsausrichtungsparameter 550 das Zielbild 534 hinlänglich mit dem Referenzbild 532 ausrichten, auf Grundlage eines Vergleiches mit Gyroskopdatensätzen oder Gyroskopausrichtungsparametern (oder unter Verweis auf diese) bestimmen. Bei einigen Ausführungsformen bestimmt das Bildbereichsersetzungssystem beispielsweise, ob ein Differenzial bzw. eine Differenz für die Merkmalsausrichtungsparameter 550 gleich einer Ausrichtungsschwelle ist, diese übersteigt oder unter diese fällt, wobei die Ausrichtungsschwelle einen prozentualen Anteil oder eine Anzahl von Werten innerhalb der Merkmalsausrichtungsparameter 550 angibt, die gegebenenfalls von erwarteten Merkmalsausrichtungsparametern, die durch Gyroskopdatensätze oder Gyroskopausrichtungsparameter angegeben werden, abweichen. Wie in 5B gezeigt ist, bestimmt das Bildbereichsersetzungssystem dasjenige, dass die Merkmalsausrichtungsparameter 550 das Zielbild 534 hinlänglich mit dem Referenzbild 532 ausrichten, auf Grundlage eines Vergleiches mit Gyroskopdatensätzen oder Gyroskopausrichtungsparametern (oder unter Verweis auf diese) (beispielsweise durch Bestimmen dessen, dass die Merkmalsausrichtungsparameter 550 oder ein Differenzial bzw. eine Differenz für die Merkmalsausrichtungsparameter 550 einer Ausrichtungsschwelle genügen).
  • Wie in 5B weiter gezeigt ist, wendet das Bildbereichsersetzungssystem beim Generieren der Merkmalsausrichtungsparameter 550 die Merkmalsausrichtungsparameter 550 auf das Zielbild 534 an, um ein ausgerichtetes Eingabebild 552 zu generieren. Durch Anwenden der Merkmalsausrichtungsparameter 550 auf das Zielbild 534 nimmt das Bildbereichsersetzungssystem ein Verschieben (shifting) oder Warping an dem Zielbild 534 zur Ausrichtung mit dem Referenzbild 532 vor. Bei einigen Ausführungsformen nimmt das Bildbereichsersetzungssystem an dem Zielbild 534 ein Warping entsprechend einer Homographie-Transformation (oder einer Affin-Transformation) vor, die durch die Merkmalsausrichtungsparameter 550 codiert ist, vor, um das ausgerichtete Eingabebild 552 zu generieren.
  • Obwohl die vorliegende Offenbarung primär ein merkmalsbasiertes Ausrichtungsmodell betrifft, kann das merkmalsbasierte Ausrichtungsmodell 536 in 5B (wie auch Ausführungsformen eines merkmalsbasierten Ausrichtungsmodells, die in der Offenbarung an anderer Stelle beschrieben sind) gleichermaßen ein „angeleitetes merkmalsbasiertes Ausrichtungsmodel“ betreffen. Im Gegensatz zu einer herkömmlichen schlüsselpunktbasierten Ausrichtung bestimmt das Bildbereichsersetzungssystem bei einigen Ausführungsformen eine oder mehrere Merkmal-Punkt-Unsicherheitsmetriken und vergleicht diese Merkmal-Punkt-Unsicherheitsmetriken mit einer oder mehreren Unsicherheitsschwellen, um die Implementierung des merkmalsbasierten Ausrichtungsmodells 536 anzuleiten. Darüber hinaus entfernt das Bildbereichsersetzungssystem im Gegensatz zu einer herkömmlichen schlüsselpunktbasierten Ausrichtung bei gewissen Implementierungen in Konflikt stehende Abgleichsmerkmalspunkte zur Erstellung eines gefilterten Satzes von Abgleichsmerkmalspunkten, um eine Implementierung des merkmalsbasierten Ausrichtungsmodells 536 weiter anzuleiten.
  • Wie vorstehend bemerkt worden ist, wählt das Bildbereichsersetzungssystem bei gewissen Ausführungsformen zwischen einem pixelangepassten Gyroskopausrichtungsmodel und einem merkmalsbasierten Ausrichtungsmodell zur Ausrichtung eines Zielbildes / mehrerer Zielbilder aus einem Satz mit einem Referenzbild. In einer spezielleren Notation kann das Bildbereichsersetzungssystem einen Satz von Zielbildern I = {Ii; i ∈ {1, ..., N}} mit einem Referenzbild Ir ausrichten, wobei r ∈ {1, ..., N} gilt. Unter Nutzung entweder des pixelangepassten Gyroskopausrichtungsmodells oder des merkmalsbasierten Ausrichtungsmodells zur Ausrichtung des Satzes von Zielbildern I mit dem Referenzbild Ir erstellt das Bildbereichsersetzungssystem einen ausgerichteten Satz von Bildern A = { I i ( a ) ; i { 1, , N } } .
    Figure DE102019005938A1_0001
  • Bei bestimmten Ausführungsformen kann das Bildbereichsersetzungssystem den in nachstehender Tabelle 1 gezeigten auf hoher Ebene gegebenen Algorithmus implementieren, um von entweder einem pixelangepassten Gyroskopausrichtungsmodell oder einem merkmalsbasierten Ausrichtungsmodell ein Bildausrichtungsmodell zur Ausrichtung des Satzes von Zielbildern I mit dem Referenzbild Ir auszuwählen und anzuwenden. Wie vorstehend erläutert worden ist, kann das Bildbereichsersetzungssystem Gyroskopdaten, die jedem Eingabebild zur Aufnahmezeit entsprechen, ablesen und speichern. Beim nachfolgenden Algorithmus entspricht jedes Zielbild aus dem Satz von Eingabebildern I einer Gyroskopdatensatzmatrix Gi, wobei G = {Gi;i ∈ {1, ..., N}} gilt. Darüber hinaus extrahiert das Bildbereichsersetzungssystem einen Satz von Merkmalspunkten Fi aus jedem Zielbild des Satzes von Eingabezielen bzw. Eingabebildern I, wobei F = (Fi; i ∈ {1, ..., N}} gilt. Tabelle 1
    Für das Referenzbild Ir, Extrahieren eines Satzes von Merkmalspunkten Fr und eines Gyroskopdatensatzes Gr.
    Für i ∈ {1, ...,r - 1, r + 1, ..., N}:
    Extrahieren eines Satzes von Merkmalspunkten Fi und eines Gyroskopdatensatzes Gi.
    Schätzen/Aktualisieren einer Brennweite f.
    Berechnen von gyroskopbasierten Homographie-Parametern H i G
    Figure DE102019005938A1_0002
    über Gi und f:
    H i G = K ( G r 1 G i ) K 1
    Figure DE102019005938A1_0003
    wobei K die kameraintrinische Matrix darstellt, die unter Nutzung der Brennweite f und von Bildabmessungen bzw. Bilddimensionen berechnet wird.
    o Bei Detektion einer Merkmal-Punkt-Unsicherheit bei der Merkmalsextraktion, Springen zum Schritt der Fehlerdetektion.
    o Abgleichen der Sätze von Merkmalspunkten Fr und Fi.
    o Ausfiltern der Abgleichsmerkmalspunkte, die mit H i G
    Figure DE102019005938A1_0004
    in Konflikt stehen.
    o Bei Detektion einer Merkmal-Punkt-Unsicherheit beim Merkmalsabgleichen und Filtern, Springen zum Schritt der Fehlerdetektion.
    Schätzen von merkmalsbasierten Ausrichtungsparametern Hi.
    Bei Detektion einer Merkmal-Punkt-Unsicherheit bei den merkmalsbasierten Ausrichtungsparametern Hi, Springen zum Schritt der Fehlerdetektion.
    Springen zum Schritt der Bildausrichtung.
    Fehlerdetektion:
    ■ Warping des Eingabebildes Ii unter Nutzung einer H i G Transformation
    Figure DE102019005938A1_0005
    zur Erstellung eines einem Warping unterzogenen Eingabebildes I i W .
    Figure DE102019005938A1_0006
    ■ Schätzen der pixelbasierten Ausrichtungsparameter H i P
    Figure DE102019005938A1_0007
    zwischen Ir und dem einem Warping unterzogenen Eingabebild I i W .
    Figure DE102019005938A1_0008
    ■ Setzen von H i = H i P H i G
    Figure DE102019005938A1_0009
    zur Erstellung von pixelangepassten Gyroskopausrichtungsparametern .
    Bildausrichtung: Warping des Eingabebildes Ii unter Nutzung einer Hi-Transformation zur Ausrichtung des Eingabebildes Ii mit dem Referenzbild Ir.
  • Wie durch den vorstehenden Algorithmus dargestellt ist, beginnt das Bildbereichsersetzungssystem mit der merkmalsbasierten Ausrichtung durch Extrahieren von Merkmalspunkten unter Nutzung eines schnellen Algorithmus (beispielsweise einer ORB-Schlüsselpunktdetektion) und macht mit dem Abgleichen der Merkmalspunkte weiter, um unter Nutzung einer robusten Ausrichtungsparameterschätzung (beispielsweise RANSAC oder LMedS) Kandidatenabgleiche zu bilden. Bei Vorhandensein einer Vordergrundbewegung können viele der Merkmalspunkte den Vordergrundobjekten entsprechen und daher die Hintergrundausrichtung stören. Entsprechend nutzt das Bildbereichsersetzungssystem die Information aus einem Gyroskop, um die Kamerabewegungsrichtung vorherzusagen und die Abgleichsmerkmalspunkte zu rektifizieren. Bei jedem Schritt entlang dem Weg kehrt das Bildbereichsersetzungssystem, wenn ein beliebiger Fehler detektiert wird, auf Grundlage der Gyroskopdaten (und Pixelausrichtung) anstatt der Merkmalspunkte zur Ausrichtung zurück. Wie erläutert worden ist, kann die Fehlerdetektion unter anderem eine Nichtdetektion von ausreichend Merkmalspunkten; ein Nichtvorhandensein von ausreichend Merkmalspunktabgleichen nach der gyroskopbasierten Rektifizierung oder unzulängliche Ausrichtungsparameter auf Grundlage des Szenarios beinhalten.
  • Für eine gyroskopbasierte (und pixelbasierte) Ausrichtung richtet das Bildbereichsersetzungssystem ein Eingabebild grob mit einem Referenzbild aus, indem es die Relativdrehung zwischen dem Eingabebild und dem Referenzbild unter Nutzung der Gyroskopdatensätze G berechnet. Dieser Schritt nutzt die Kamerabrennweite. Das Bildbereichsersetzungssystem kann die Brennweite aus den Abgleichsmerkmalspunkten schätzen, wenn ausreichend Merkmalspunkte vorhanden sind und ein Kameraschwenk zwischen Digitalbildern vorhanden ist, oder die Brennweite von einer Mobilvorrichtung programmartig abfragen. Des Weiteren führt das Bildbereichsersetzungssystem, da Drehdaten gegebenenfalls lediglich einen Kameraschwenk (und keine Translationen) aufnehmen, eine schnelle pixelbasierte Translationsschätzung an einem Downsampling unterzogenen Eingabebildern durch. Sodann kombiniert das Bildbereichsersetzungssystem die Translationstransformation und die Rotationstransformationen, um die endgültigen Ausrichtungsparameter zu bilden.
  • Wie vorstehend erläutert worden ist, kann das Bildbereichsersetzungssystem, sobald Ziel- und Referenzbild ausgerichtet sind, einen Ersetzungsbereich bestimmen. 6A und 6B zeigen eine schematische Darstellung eines Prozesses zum Identifizieren eines Ersetzungsbereiches in einem Referenzbild und einem Zielbild. Insbesondere zeigt 6A eine exemplarische Ersetzungsbereichsbegrenzung 602 um eine Referenzversion einer Person 606 und eine Zielversion der Person 604. 6B zeigt Elemente eines Bildes, die das Bildbereichsersetzungssystem beim Bestimmen der Begrenzung des Ersetzungsbereiches 602 berücksichtigt.
  • 6A zeigt eine exemplarische Ersetzungsbereichsbegrenzung 602 um die Referenzversion der Person 602 und die Zielversion der Person 604. Insbesondere umfasst die Zielversion der Person 604 ein lächelndes Gesicht der Person mit geöffneten Augen aus einem Zielbild. Die Quellversion der Person 606 zur Ersetzung umfasst ein Blinzelbild der Person aus einem Referenzbild. Zusätzlich umfasst die Ersetzungsbereichsbegrenzung 602, wie dargestellt ist, eine unregelmäßige Form. Wie nachstehend noch detailliert erläutert wird, generiert das Bildbereichsersetzungssystem die Ersetzungsbereichsbegrenzung 602 unter Nutzung eines Graph-Schnitt-Algorithmus, der darauf beschränkt ist, durch konsistente Pixel zu verlaufen, und dabei eine Struktur in dem Referenzbild und dem Zielbild meidet. Daher ermöglicht die Unregelmäßigkeit der Ersetzungsbereichsbegrenzung 602, dass das Bildbereichsersetzungssystem ein nachbearbeitetes Bild mit der kleinsten Anzahl von Artefakten und Inkonsistenzen erstellt.
  • Wie in 6A dargestellt ist, identifiziert das Bildbereichsersetzungssystem eine Ersetzungsbereichsbegrenzung 602, die die Referenzversion der Person 606 und die Zielversion der Person 604, die versetzt sind, beinhaltet. Sogar nachdem das Bildersetzungssystem das Zielbild in Bezug auf das Referenzbild ausgerichtet hat, können die Versionen der Person versetzt sein. Dies kann das Ergebnis dessen sein, dass sich die Person bewegt, während der Bilder-Burst aufgenommen werden. Obwohl die Zielversion der Person 604 und die Referenzversion der Person 606, wie dargestellt ist, versetzt sind, sind bei wenigstens einer weiteren Ausführungsform die Zielversion der Person 604 und die Referenzversion der Person 606 gleichmäßig bzw. genau oder mehr abgeglichen.
  • 6B zeigt die Elemente in dem Bild, die das Bildbereichsersetzungssystem berücksichtigt, um die Ersetzungsbereichsbegrenzung 602 zu erstellen. 6B beinhaltet die Ersetzungsbereichsbegrenzung 602, die Zielversion der Person 604 und die Referenzversion der Person 606, die vorstehend anhand 6A erläutert worden sind. Zusätzlich beinhaltet 6B eine Referenzumgebung 608 um die Zielversion der Person 606 und eine Zielumgebung 610 um die Zielversion der Person 604. 6B beinhaltet zudem ein erstes anderes Gesicht 612a und ein zweites anderes Gesicht 612b (gemeinsam „andere Gesichter 612“) sowie Bildstrukturen 614a bis 614c. Obwohl 6B zwei andere Gesichter 612 und drei Bildstrukturen 614 darstellt, kann das Bereichsersetzungssystem eine Ersetzungsbereichsbegrenzung 602 um eine beliebige Anzahl von anderen Gesichtern und Bildstrukturen generieren.
  • Das Bildbereichsersetzungssystem bestimmt einen plausiblen Bereich um die Referenzversion der Person und die Zielversion der Person, worin der Graph-Schnitt-Algorithmus die Ersetzungsbereichsbegrenzung generiert. Für die Referenzversion der Person 606 (S) und die Zielversion der Person 604 (T) besteht das Ziel darin, eine derartige Ersetzungsbereichsbegrenzung (R) ausfindig zu machen, dass die Ersetzungsbereichsbegrenzung nicht durch die Referenzversion der Person 606 oder die Zielversion der Person 604 verläuft. Zusätzlich kann das Bildbereichsersetzungssystem danach streben, die Ersetzungsbereichsbegrenzung 602 derart zu platzieren, dass diese nicht durch S oder T oder sogar andere Gesichter (mit Fs,k und Ft,m bezeichnet) verläuft. Wie dargestellt ist, beinhaltet 6B das erste andere Gesicht 612a (Fs,k) und das zweite andere Gesicht 612b (Ft,m). Da der plausible Bereich für die Ersetzungsbereichsbegrenzung 602 Gesichter und Versionen von Menschen meidet, ist das Aussehen von Gesichtern nach der Pixelersetzung auf keine Weise beeinträchtigt. Obwohl 6B lediglich zwei andere Gesichter zeigt, kann das Bildbereichsersetzungssystem eine beliebige Anzahl von anderen Gesichtern und Versionen von Menschen identifizieren.
  • Zu Beginn des Definierens des plausiblen Bereiches für die Ersetzungsbereichsbegrenzung 602 definiert das Bildbereichsersetzungssystem eine Referenzumgebung 608 (Ns) um die Referenzversion der Person 606 (S) und eine Zielumgebung 610 (NT) um die Zielversion der Person 604 (7). Bei wenigstens einer Ausführungsform sind die Referenzumgebung 608 und die Referenzumgebung 610 eine bloße Erweiterung des Gesichtsumrisses oder eine beliebig definierte Umgebung, die das entsprechende Gesicht abdeckt. Zusätzlich kann ein Nutzer unter Nutzung derjenigen Verfahren, die nachstehend detaillierter anhand 8A bis 8E beschrieben werden, die Referenzumgebung 608, die Zielumgebung 610 oder beides definieren.
  • Wie in 6B dargestellt ist, nutzt das Bildbereichsersetzungssystem die identifizierte Referenzumgebung 608 (NS), die Zielumgebung 610 (NT), die Referenzversion der Person 606 (S), die Zielversion der Person 604 (T), das erste andere Gesicht 612a (Fs,k) und das zweite andere Gesicht 612b (Ft,m), um den plausiblen Bereich zu definieren. Der plausible Bereich P ist folgendermaßen definiert: P = N s + N T S T k F s , k m F t , m
    Figure DE102019005938A1_0010
  • Sobald das Bildbereichsersetzungssystem den plausiblen Bereich bestimmt, nutzt das Bildbereichsersetzungssystem einen Graph-Schnitt-Algorithmus, um nach der Ersetzungsbereichsbegrenzung 602 innerhalb des plausiblen Bereiches zu suchen. Im Sinne des Vorliegenden wird der Begriff „Graph-Schnitt-Algorithmus“ zur Beschreibung eines Algorithmus benutzt, der eine optimale Ersetzungsbereichsbegrenzung in einem Bild bestimmt. Insbesondere ist der Graph-Schnitt-Algorithmus darauf beschränkt, eine Ersetzungsbereichsbegrenzung zu identifizieren, die durch konsistente Pixel verläuft und dabei eine Struktur in den Referenz- und Zielbildern meidet.
  • Das Bildbereichsersetzungssystem nutzt eine dynamische Programmierung, die den Minimalkostenweg von einem Überlappungsbereich zu einem anderen (beispielsweise bei Überlappung des ausgerichteten Zielbildes und des Referenzbildes, wie in 6B gezeigt ist) wählt. Zu diesem Zweck platziert das Bildbereichsersetzungssystem Blöcke derart, dass diese teilweise miteinander um typischerweise 4 bis 8 Pixel überlappen. Das Bildbereichsersetzungssystem bestimmt, welcher Patch (beispielsweise ein Patch aus dem Referenzbild oder dem Zielbild) Pixel an verschiedenen Orten im Überlappungsbereich beiträgt. Das Bildbereichsersetzungssystem wählt einen Weg zwischen Pixeln aus, der Qualitätskosten minimiert, indem es einen Weg durch Pixel wählt, auf dem die Referenz- und Zielpatchcharakteristiken (beispielsweise die Farbe) ähnlich sind. Insbesondere können s und t zwei benachbarte Pixelpositionen im Überlappungsbereich darstellen, und A(s) und B(s) stellen Pixelfarben an der Position s in den alten beziehungsweise neuen Patches dar. Das Bildbereichsersetzungssystem definiert die Qualitätskosten M zwischen zwei benachbarten Pixeln s und t, die aus den Patches A beziehungsweise B kopieren, folgendermaßen: M ( s , t , A , B ) = A ( s ) B ( s ) + A ( t ) B ( t )
    Figure DE102019005938A1_0011
  • Hierbei bezeichnet ||·|| eine passende Norm. Das Bildbereichsersetzungssystem berechnet die Qualitätskosten M zwischen allen benachbarten Pixeln innerhalb des Überlappungsbereiches und schneidet zwischen Pixeln mit den niedrigsten Qualitätskosten M.
  • Das Bildbereichsersetzungssystem nutzt einen intelligenten Graph-Schnitt-Algorithmus unter Nutzung eines Verfahrens, das ähnlich zu demjenigen ist, das vorstehend beschrieben worden ist, um eine Ersetzungsbereichsbegrenzung 602 innerhalb eines plausiblen Bereiches zu generieren. Das Bildbereichsersetzungssystem nutzt den Graph-Schnitt-Algorithmus, um Bildartefakte zu meiden, die sich aus dem Schneiden durch die Bildstrukturen 614a, 614b und 614c ergeben, indem es Schnitte durch die am meisten konsistenten Pixel vornimmt. Insbesondere kann das Bildbereichsersetzungssystem Qualitätskosten auf Grundlage der Pixelhäufigkeit bzw. Pixelfrequenz und Konsistenz zwischen benachbarten Pixeln, die innerhalb des plausiblen Bereiches befindlich sind, berechnen und den Graph-Schnitt-Algorithmus nutzen, um eine optimale Ersetzungsbereichsbegrenzung 602 zu identifizieren. Der Graph-Schnitt-Algorithmus kann die Qualitätskosten M zwischen zwei benachbarten Pixeln s und t bestimmen, die aus einem plausiblen Bereich des Referenzbildes A und einem plausiblen Bereich aus dem Zielbild B kopieren. Insbesondere nutzt das Bildbereichsersetzungssystem die nachfolgende Kostenfunktion: M ' ( s , t , A , B ) = M ( s , t , A , B ) G A d ( s ) + G A d ( t ) + G B d ( s ) + G B d ( t )
    Figure DE102019005938A1_0012
  • Hierbei bezeichnet d die Richtung des Gradienten und ist gleich der Richtung der Kante zwischen s und t. G A d  und G B d
    Figure DE102019005938A1_0013
    sind die Gradienten in dem plausiblen Bereich des Referenzbildes A und dem plausiblen Bereich aus dem Zielbild B entlang der Richtung d. M' sanktioniert (penalizes) Begrenzungen, die durch hochfrequente Bereiche verlaufen, stärker als diejenigen, die durch niedrigfrequente Bereiche verlaufen.
  • Die „Frequenz bzw. Häufigkeit“ in einem Bild bezieht sich auf die Rate der Änderung der Intensität pro Pixel. Hochfrequente Bereiche in einem Bild weisen eine hohe Rate der Änderung der Intensität pro Pixel auf. Demgegenüber ist, wenn eine Änderung innerhalb eines Bereiches über viele Pixel hinweg auftritt, der Bereich niedrigfrequent. Das Bild in 6B mit klarem Himmel im Hintergrund mit Versionen von Menschen (darunter einer Zielversion der Person 604, einer Referenzversion der Person 606, dem ersten anderen Gesichter 612a sowie 612b) und den Bildstrukturen 614a, 614b und 614c im Vordergrund kann beispielsweise sowohl hoch- wie auch niedrigfrequente Flächen beinhalten. Der klare Himmel im Hintergrund wird als niedrigfrequenter Bereich qualifiziert, da Änderungen, so sie vorhanden sind, viele Pixel überspannen. Die Kanten der Bildstrukturen 614a, 614b und 614c stellen demgegenüber hochfrequente Bereiche dar, da sich Pixel schnell über eine kurze Spanne der Kante der Bildstrukturen 614a, 614b und 614c hinweg ändern.
  • Das Bildbereichsersetzungssystem nutzt einen Graph-Schnitt-Algorithmus, um die niedrigsten Qualitätskosten M' innerhalb eines plausiblen Bereiches zu identifizieren, um intelligent eine Ersetzungsbereichsbegrenzung 602 zu schaffen, die zu einem nachbearbeiteten Bild mit möglichst wenigen Bildartefakten führt. Insbesondere identifiziert das Bildbereichsersetzungssystem, wie in 6B dargestellt ist, eine Ersetzungsbereichsbegrenzung 602, die die niedrigsten Qualitätskosten M' aufweist. Daher schneidet die Ersetzungsbereichsbegrenzung 602 durch die am meisten konsistenten Pixel und schneidet die Bildstrukturen 614a, 614b und 614c nicht. Zusätzlich sind die Pixel innerhalb der Ersetzungsbereichsbegrenzung 608 darauf beschränkt, aus dem Zielbild zu stammen, das die Zielversion der Person 604 enthält. Die Pixel, die die Ersetzungsbereichsbegrenzung 608 umgeben, sind darauf beschränkt, aus dem Referenzbild zu stammen, das die Referenzversion der Person 606 enthält. Daher generiert das Bildersetzungssystem ein neues Bild durch Ersetzen eines Referenzbereiches durch einen Zielbereich. Insbesondere umfasst der Referenzbereich die Referenzversion der Person 606 wie auch die umgebende Fläche, die durch die Ersetzungsbereichsbegrenzung 602 definiert ist. Der Zielbereich umfasst die Zielversion der Person 610 wie auch die umgebende Fläche, die durch die Ersetzungsbereichsbegrenzung 602 definiert ist.
  • Wie vorstehend erwähnt worden ist, ersetzt das Bildbereichsersetzungssystem eine Referenzversion einer Person durch eine Zielversion einer Person. 7A bis 7E zeigen eine Serie von exemplarischen Bildern, die das automatische Ersetzen einer Referenzversion einer Person durch eine Zielversion einer Person in einem vollautomatischen Paradigma zeigen. Insbesondere zeigt 7A ein exemplarisches Referenzbild 702 mit einer Referenzversion der Person 706 und ein exemplarisches Zielbild 704 mit der Zielversion der Person 708. 7B bis 7D zeigen Schritte, die automatisch von dem Bildbereichsersetzungssystem bei einem vollautomatischen Paradigma unternommen werden, um eine Ersetzungsbereichsbegrenzung 714 um die Referenzversion der Person 706 und die Zielversion der Person 708 zu identifizieren. Insbesondere zeigt 7B das Identifizieren einer Referenzumgebung 710. 7C zeigt das Identifizieren einer Zielumgebung 712 um eine Zielversion der Person 708. 7D zeigt die Ersetzungsbereichsbegrenzung 714, die von dem Graph-Schnitt-Algorithmus generiert wird. 7E zeigt ein exemplarisches nachbearbeitetes Bild, in dem der Referenzbereich unter Nutzung eines Gauß-Blendling durch den Zielbereich ersetzt ist.
  • 7A zeigt das Referenzbild 702, das die Referenzversion der Person 706 beinhaltet, und das Zielbild 704, das die Zielversion der Person 708 beinhaltet. Wie in 7A dargestellt ist, hat das Bildersetzungssystem bereits jeden Kennwert in dem Referenzbild 702 festgelegt und bestimmt, dass die Referenzversion der Person 706 einen niedrigen Kennwert (wenn bei der Referenzversion der Person 706 die Augen beispielsweise geschlossen sind) aufweist. Insbesondere detektiert das Bildbereichsersetzungssystem alle Gesichter in dem Referenzbild Ir und hat die Gesichter mit Fr,k; k ∈ {1, ... , K} bezeichnet. Für jedes Gesicht Fr,k; k ∈ {1, ... ,K} weist das Bildbereichsersetzungssystem einen Kennwert Sr,k; k ∈ {1, ... , K} zu. Für jedes Gesicht (Fr,k) mit einem niedrigen Kennwert Sr,k < δ detektiert das Bildbereichsersetzungssystem Gesichter in einer Begrenzungsfläche in der Umgebung von Fr,k über alle Binder hinweg, was mit Ti,k bezeichnet wird, das heißt ein Gesicht einer Person in dem Zielbild i entsprechend dem Gesicht k in dem Referenzbild. Das Bildbereichsersetzungssystem berechnet Kennwerte für Ti,k; i ∈ {1, ..., N}; i ≠ r und bezeichnet die Kennwerte mit Si,k.
  • Das Bildbereichsersetzungssystem wählt das Zielbild 704 unter den mehreren Bildern auf Grundlage einer Bewertung einer jeden der Versionen der Personen gemäß der Darstellung durch die Referenzversion der Person 706 über alle Bilder hinweg aus. Insbesondere macht das Bildbereichsersetzungssystem die Zielversion der Person (das heißt das Zielgesicht) unter Nutzung des Zielgesichtes t = argmaxiSi,k ausfindig. Bei wenigstens einer Ausführungsform wählt das Bildbereichsersetzungssystem die Zielversion der Person 708, die die höchste ästhetische Bewertung aufweist.
  • Das Bildbereichsersetzungssystem bestimmt eine Referenzumgebung auf dem Referenzbild 702. 7B zeigt, dass das Bildbereichsersetzungssystem automatisch die Referenzumgebung 710 um die Referenzversion der Person 706 auf dem Referenzbild 702 identifiziert.
  • 7C zeigt das automatische Bestimmen der Zielumgebung 712 um die Zielversion der Person 708 auf dem Zielbild 704. Da das Bildbereichsersetzungssystem die Referenzumgebung 710 und die Zielumgebung 712 unabhängig bestimmt, können die Referenzumgebung 710 und die Zielumgebung 712 verschiedene Flächen des Referenzbildes 702 beziehungsweise des Zielbildes 704 einnehmen.
  • Das Bildbereichsersetzungssystem nutzt den Graph-Schnitt-Algorithmus, der vorstehend anhand 6A und 6B beschrieben worden ist, um die Ersetzungsbereichsbegrenzung 714 zu identifizieren. Insbesondere wählt das Bildbereichsersetzungssystem für das Gesicht Fr,k und das Zielgesicht Tt,k in dem Frame t einen Ersetzungsbereich Rk mit maximaler Konsistenz über die Bilder r und t hinweg über die Begrenzung des Bereiches Rk. 7D zeigt beispielsweise, dass die Ersetzungsbereichsbegrenzung 714 den plausiblen Bereich durchschneidet und das Durchschneiden von Strukturen innerhalb des Bildes meidet. Das Bildbereichsersetzungssystem nutzt den Ersetzungsbereich auf dem Referenzbild 702 zum Definieren eines Referenzbereiches. Insbesondere umfasst der Referenzbereich die Ersetzungsbereichsbegrenzung 714 um die Referenzversion der Person 712. Das Bildbereichsersetzungssystem nutzt den Ersetzungsbereich auf dem Zielbild 704 zudem zum Definieren eines Zielbereiches. Insbesondere umfasst der Zielbereich die Ersetzungsbereichsbegrenzung 714 um die Zielversion der Person 708. Daher begrenzt die Ersetzungsbereichsbegrenzung 714, die in 7D dargestellt ist, auch den Zielbereich des Zielbildes 704.
  • 7E zeigt ein nachbearbeitetes Bild 716, in dem das Bildbereichsersetzungssystem die Referenzversion der Person 706 durch die Zielversion der Person 708 ersetzt hat. Insbesondere nutzt das Bildbereichsersetzungssystem das Gauß-Blending, um den Referenzbereich durch den Zielbereich zu ersetzen. Insbesondere ersetzt das Bildbereichsersetzungssystem in dem Referenzbild Ir den Bereich Rk (durch eine Maske mit den Werten 0 und 1 spezifiziert) durch Pixel in It. Das Bildbereichsersetzungssystem wendet die Gauß'sche Glättung bzw. Weichzeichnung mit einer Kernelgröße d und einem σ auf Rk an, um R k ( s )
    Figure DE102019005938A1_0014
    zu ermitteln. Als Nächstes setzt das Bildersetzungssystem den a-Kanal von Ir auf R k ( s ) ,
    Figure DE102019005938A1_0015
    zieht It und sodann Ir darüber, um ein a-Blendling von It und Ir vorzunehmen, und setzt Ir als Ergebnis des Blending. Das nachbearbeitete Bild 716 weist daher ein Endergebnis des intelligenten Mischens und Abgleichens auf.
  • 8A bis 8E zeigen ein Beispiel dafür, wie ein interaktives Paradigma zum Ersetzen eines Referenzbereiches durch einen Zielbereich über eine Clientrechenvorrichtung für einen Nutzer aussieht. Insbesondere zeigt 8A eine Clientrechenvorrichtung 800 mit einer Anzeige 802 (bei einer oder mehreren Ausführungsformen mit einem berührungsempfindlichen Schirm), die eine Nutzerschnittstelle 804 beinhaltet. Wie in 8A gezeigt ist, ist die Nutzerschnittstelle 804 einer Anwendung zugeordnet. Die Anwendung kann eine Ausführungsform eines Bildverwaltungssystems sein. Die Nutzerschnittstelle 804 beinhaltet auswählbare Elemente 806 (zum Interagieren mit dem Referenzbild) und 808 (zum Interagieren mit dem Zielbild).
  • Wie in 8A dargestellt ist, wählt das Bildbereichsersetzungssystem für den Nutzer automatisch ein Referenzbild mit der Referenzversion der Person 810 aus. Insbesondere zeigt das Bildbereichsersetzungssystem dem Nutzer ein Referenzbild Ir an. Bei wenigstens einer Ausführungsform wählt der Nutzer das Gesicht zur Ersetzung. Insbesondere kann der Nutzer das Zielbild wählen, indem er ein Gesicht in dem Referenzbild 806 antippt. In Reaktion hierauf kann das Bildbereichsersetzungssystem dem Nutzer die mehreren Versionen des ausgewählten Gesichtes präsentieren. Der Nutzer kann das Zielgesicht sodann auswählen.
  • Bei wenigstens einer weiteren Ausführungsform wählt der Bildersetzungsbereich das Zielbild mit der Zielversion der Person 812 automatisch. Auf diese Weise muss der Nutzer die mehreren Bilder, die von der Kamera oder Clientvorrichtung aufgenommen werden, nicht durchsuchen. Zusätzlich kann der Nutzer weiterhin den Vorteil dessen nutzen, dass er mehrere Bilder vorliegen hat, die zum Aufnehmen eines gemeinsamen Momentes aufgenommen worden sind. Auf diese Weise werden für den Nutzer ein ausgewähltes Referenzbild mit der Referenzversion der Person 810 und das ausgewählte Zielbild mit der Zielversion der Person 812 bereitgestellt.
  • 8B zeigt das ausgewählte Referenzbild 806. Der Nutzer kann mit dem Referenzbild 806 interagieren, um die zu ersetzende Person zu identifizieren. Insbesondere hat der Nutzer, wie in 8B gezeigt ist, einen nutzerseitig ausgewählten plausiblen Bereich 814 angetippt und ausgewählt. Der Nutzer kann ein Pinselwerkzeug zum interaktiven Auswählen des plausiblen Bereiches nutzen. Für jedes Gesicht, das der Nutzer ersetzen möchte, setzt das Bildbereichsersetzungssystem das Standardzielframe t = 0, setzt den nutzerseitig ausgewählten plausiblen Bereich 814 R durch den Nutzer auf „leer“ sowie für jede Interaktion des Nutzers mit dem Zielframeauswahlschieber eine Aktualisierung von t. Bei jedem Antippen des Schirmes durch den Nutzer (wobei die berührten Flächen kollektiv mit R bezeichnet werden) oder bei Aktualisierungen durch den Zielframeauswahlschieber ersetzt das Bildbereichsersetzungssystem in der Referenzversion der Person Ir den Bereich R (durch eine Maske mit den Werten von 0 bis 1 spezifiziert) durch Pixel in der Zielversion der Person It mittels Gauß-Blendling.
  • Bei wenigstens einer Ausführungsform nutzt das Bildersetzungssystem den nutzerseitig ausgewählten plausiblen Bereich 814 als plausiblen Bereich, in dem der Graph-Schnitt-Algorithmus die Ersetzungsbereichsbegrenzung automatisch identifiziert. Bei wenigstens einer Ausführungsform detektiert das Bildbereichsersetzungssystem Gesichter innerhalb des nutzerseitig ausgewählten plausiblen Bereiches 804 und beschränkt den Graph-Schnitt-Algorithmus darauf, den Verlauf durch beliebige detektierte Gesichter zu meiden. Das Bildbereichsersetzungssystem identifiziert den Referenzbereich und den Zielbereich automatisch und ersetzt den Referenzbereich durch den Zielbereich. Bei wenigstens einer Ausführungsform ist der Graph-Schnitt-Algorithmus darauf beschränkt, möglichst nahe an der Begrenzung des nutzerseitig ausgewählten plausiblen Bereiches 814 zu verlaufen, dabei weiterhin durch konsistente Pixel zu verlaufen und eine Bildstruktur zu meiden.
  • Auf Grundlage des nutzerseitig ausgewählten plausiblen Bereiches 814 gibt das Bildbereichsersetzungssystem ein Entwurfsbild 816 an den Nutzer, wie in 8C gezeigt ist, aus. Das Entwurfsbild 816 wird unter Nutzung des Gauß-Blending erstellt. Insbesondere wendet das Bildbereichsersetzungssystem ein Gauß'sches Glätten bzw. Weichzeichnen mit einer Kernelgröße d und einem Sigma σ auf R an, um R(s) zu ermitteln. Das Bildbereichsersetzungssystem setzt den a-Kanal von Ir auf R(s) und zieht die Zielversion der Person It und sodann die Referenzversion der Person Ir darüber, um ein a-Blendling von It and Ir durchzuführen.
  • Wie dargestellt ist, hat das Bildbereichsersetzungssystem den Zielabschnitt der Person 818 entsprechend dem nutzerseitig ausgewählten plausiblen Bereich 814 ersetzt. Gleichwohl beinhaltet das Entwurfsbild 816 einen Bildartefakt 822, der sich daraus ergibt, dass der Zielabschnitt der Person 818 mit dem Referenzabschnitt der Person 820 falsch ausgerichtet ist. Bei einigen Ausführungsformen kann das Bildbereichsersetzungssystem Bildartefakte 822 automatisch detektieren und den Nutzer darüber benachrichtigen, dass das Entwurfsbild 816 einen Bildartefakt 822 enthält. Bei wenigstens einer Ausführungsform präsentiert das Bildbereichsersetzungssystem dem Nutzer lediglich das Entwurfsbild 816 und stellt für den Nutzer die Option bereit, den nutzerseitig ausgewählten plausiblen Bereich anzupassen. In jedem Fall präsentiert das Bildbereichsersetzungssystem dem Nutzer das Referenzbild 806, das den nutzerseitig ausgewählten plausiblen Bereich 814 zeigt.
  • Der Nutzer kann den nutzerseitig ausgewählten plausiblen Bereich auf dem Referenzbild 806 korrigieren, um Inkonsistenzen oder Artefakte in dem Entwurfsbild zu beseitigen. Wie in 8D gezeigt ist, hat der Benutzer beispielsweise einen korrigierten nutzerseitig ausgewählten plausiblen Bereich 824 durch Erweitern des nutzerseitig ausgewählten plausiblen Bereiches 814 ausgewählt. Wie dargestellt ist, beinhaltet der korrigierte nutzerseitig ausgewählte plausible Bereich 824 die Fläche, in der der Bildartefakt 822 vorhanden war. Auf Grundlage des korrigierten nutzerseitig ausgewählten plausiblen Bereiches 824 nutzt das Bildbereichsersetzungssystem erneut den Graph-Schnitt-Algorithmus für den Verlauf durch die Begrenzung des nutzerseitig ausgewählten plausiblen Bereiches 824, um eine Ersetzungsbereichsbegrenzung zu generieren.
  • Wie in 8E dargestellt ist, weist das nachbearbeitete Bild 826 den Bildartefakt 822 im Gegensatz zu dem Entwurfsbild 816 nicht auf. Dies ist das Ergebnis dessen, dass der Nutzer den nutzerseitig ausgewählten plausiblen Bereich erweitert. Bei wenigstens einer weiteren Ausführungsform kann das Bildbereichsersetzungssystem damit weitermachen, dem Nutzer eine Option zu präsentieren, den nutzerseitig ausgewählten plausiblen Bereich zur Beseitigung von Bildartefakten, so diese entstanden sind, anzupassen.
  • In 9 werden zusätzliche Details im Zusammenhang mit Komponenten und der Funktionalität des Bildbereichsersetzungssystems 904 entsprechend einer oder mehreren Ausführungsformen gezeigt. Insbesondere zeigt 9 eine Rechenvorrichtung 900, die ein Bildverwaltungssystem 902 implementiert. Das Bildverwaltungssystem 902 kann das Bildbereichsersetzungssystem 904 beinhalten. Das Bildbereichsersetzungssystem 904 kann einen Bildausrichter 906, einen Gesichtsidentifizierer 908, einen Ästhetikbewertungsgenerator 910, einen Referenzbildidentifizierer 912, einen Zielbildidentifizierer 914, einen Ersetzungsbereichsverwalter 916, einen Neubildgenerator 918, einen Neuronalnetzwerkverwalter 920 und einen Speicherverwalter 922 beinhalten. Der Speicherverwalter 922 kann ein trainiertes neuronales Netzwerk 924, einen Bildpuffer 926 und einen Memory 928 beinhalten.
  • Wie eben erwähnt, kann die Rechenvorrichtung 900 das Bildverwaltungssystem 902 beinhalten. Das Bildverwaltungssystem 902 kann auf digitale visuelle Medien (so beispielsweise Bilder und Videos) zugreifen, diese identifizieren, modifizieren, prüfen bzw. revidieren und/oder bereitstellen. Das Bildverwaltungssystem 902 kann beispielsweise eine Anwendung umfassen, die ein Aufnehmen, Bearbeiten und/oder Teilen von Digitalbildern oder Videos ermöglicht. Das Bildverwaltungssystem 902 kann Nutzer beim Aufnehmen, Bearbeiten (Hinzufügen von Filtern, Masken, Frames und dergleichen) und Teilen von Digitalbildern (beispielsweise über ein soziales Netzwerk oder durch Hochladen eines cloudbasierten Vorrates) unterstützen. Bei einer oder mehreren Ausführungsformen kann das Bildverwaltungssystem 802 eine Digitalbildbearbeitungsanwendung oder eine Digitalbildaufnahmeanwendung umfassen, darunter unter anderem ADOBE® PHOTOSHOP®, ADOBE® LIGHTROOM® oder ADOBE® PREMIERE®. „ADOBE“, „PHOTOSHOP“, „LIGHTROOM“ und „PREMIERE“ sind entweder eingetragene Marken oder Marken von Adobe Systems Incorporated in den Vereinigten Staaten und/oder anderen Ländern. In jedem Fall kann das Bildverwaltungssystem 902 das Bildbereichsersetzungssystem 904 implementieren.
  • Das Bildbereichsersetzungssystem 904 kann mehrere Komponenten, wie vorstehend beschrieben worden ist, beinhalten. Unter Nutzung der mehreren Komponenten kann das Bildbereichsersetzungssystem 904 Bereiche von Bildern, wie vorstehend detailliert beschrieben worden ist, mischen und abgleichen. Bei einem Beispiel kann das Bildbereichsersetzungssystem 904 mehrere ästhetische Bewertungen für mehrere Versionen einer Person aus mehreren Bildern generieren. Das Bildbereichsersetzungssystem 904 identifiziert ein Referenzbild und ein Zielbild. Unter Nutzung eines Graph-Schnitt-Algorithmus identifiziert das Bildbereichsersetzungssystem 904 einen Ersetzungsbereich, der eine Begrenzung aufweist, die um die Referenzversion der Person und die Zielversion der Person durch konsistente Pixel in dem Referenzbild beziehungsweise dem Zielbild verläuft. Das Bildbereichsersetzungssystem 904 generiert ein neues Bild durch Ersetzen eines Referenzbereiches aus dem Referenzbild entsprechend dem Ersetzungsbereich durch den Zielbereich aus dem Zielbild entsprechend dem Ersetzungsbereich.
  • Das Bildbereichsersetzungssystem 904 beinhaltet den Bildausrichter 906. Der Bildausrichter 906 richtet mehrere Bilder in Bezug auf ein Referenzbild aus. Der Bildausrichter 906 kann die mehreren Bilder und einen entsprechenden Gyroskopdatensatz nutzen, um mehrere Bilder aus einem Burst von Bildern auszurichten.
  • Das Bildbereichsersetzungssystem 904 beinhaltet des Weiteren den Gesichtsidentifizierer 908. Insbesondere identifiziert der Gesichtsidentifizierer 908 allgemein Gesichter und Versionen von Menschen. Der Gesichtsidentifizierer identifiziert Gesichter innerhalb eines Referenzbereiches. Der Gesichtsidentifizierer 908 kann eine Gesichtsdetektionstechnologie einsetzen, um Gesichter oder Versionen von Menschen in dem Referenzbild zu identifizieren. Der Gesichtsidentifizierer 908 kann zudem Versionen von Menschen, die Gesichtern zugeordnet sind, identifizieren. Obwohl der Gesichtsidentifizierer 908 beispielsweise nur das Gesicht in einem Referenzbild und in einem Zielbild identifizieren kann, kann der Gesichtsidentifizierer 908 auch den Körper der Person, der dem Gesicht entspricht, identifizieren.
  • Das Bildbereichsersetzungssystem 904 beinhaltet zudem einen Ästhetikbewertungsgenerator 910. Der Ästhetikbewertungsgenerator 910 kann eine ästhetische Bewertung für eine Version einer Person, wie vorstehend detailliert beschrieben worden ist, bereitstellen. Unter Nutzung eines oder mehrerer gewichtungsangepasster Attributkennwerte, die einer Version einer Person zugeordnet sind, kann der Ästhetikbewertungsgenerator 910 beispielsweise einen ästhetischen Kennwert für eine Version einer Person generieren.
  • Das Bildbereichsersetzungssystem 904 beinhaltet den Referenzbildidentifizierer 912. Der Referenzbildidentifizierer 912 bezeichnet ein Bild als Referenzbild. Der Referenzbildidentifizierer 912 kann beispielsweise das am wenigsten unscharfe Bild, das Bild mit der maximalen Anzahl von gewünschten Gesichtern oder einfach das erste Bild in dem Satz von Fotos auswählen.
  • Das Bildbereichsersetzungssystem 904 beinhaltet zudem den Zielbildidentifizierer 914. Der Zielbildidentifizierer 914 identifiziert das Zielbild durch Identifizieren des Bildes, das die Version der Person mit der höchsten ästhetischen Bewertung enthält. Insbesondere kann der Zielbildidentifizierer 914 eine Begrenzungsfläche um eine Referenzversion einer Person erstellen und andere Versionen der Person in der entsprechenden Begrenzungsfläche über die mehreren Bilder hinweg identifizieren. Anstelle der Nutzung einer Gesichtsdetektionstechnologie zum Identifizieren eines jeden Gesichtes in jedem der mehreren Bilder kann der Zielbildidentifizierer 914 Versionen der Person effizient über die mehreren Bilder hinweg identifizieren. Der Zielbildidentifizierer 914 greift auf die ästhetischen Rangbewertungen für jede Version der Person, die innerhalb der Begrenzungsfläche über die mehreren Bilder hinweg detektiert wird, zu. Der Zielbildidentifizierer 914 bezeichnet das Bild mit der den höchsten Kennwert aufweisenden Version der Person als Zielbild.
  • Der Ersetzungsbereichsverwalter 914 ist auf dem Bildbereichsersetzungssystem 904 befindlich und identifiziert einen Ersetzungsbereich, der die Referenzversion und eine Zielversion der Person beinhaltet. Zusätzlich stellt der Ersetzungsbereichsverwalter 916 sicher, dass die Begrenzung des Ersetzungsbereiches durch konsistente Pixel und das Zielbild verläuft, indem er einen Graph-Schnitt-Algorithmus nutzt, der darauf beschränkt ist, durch konsistente Pixel zu verlaufen, und dabei eine Struktur in dem Referenzbild und dem Zielbild meidet. Insbesondere bestimmt der Ersetzungsbereichsverwalter eine plausible Fläche auf Grundlage von Umgebungen um die Referenzversion der Person und die Zielversion der Person. Der Ersetzungsbereichsverwalter 916 nutzt des Weiteren einen Graph-Schnitt-Algorithmus, da darauf beschränkt ist, durch konsistente Pixel in dem Zielbild und dem Referenzbild zu verlaufen, um eine Ersetzungsbereichsgrenze zu erstellen. Der Ersetzungsbereichsverwalter 916 identifiziert einen Referenzbereich, der die Ersetzungsbereichsgrenze um die Referenzversion der Person umfasst. Zusätzlich identifiziert der Ersetzungsbereichsverwalter 916 einen Zielbereich, der die Ersetzungsbereichsgrenze um die Zielversion der Person umfasst.
  • Das Bildbereichsersetzungssystem 904 beinhaltet zudem einen Neubildgenerator 918. Der Neubildgenerator 918 ersetzt die Pixel in dem Referenzbild, die den Referenzbereich umfassen, durch Pixel aus dem Zielbild, die den Zielbereich umfassen. Insbesondere generiert der Neubildgenerator 918 das neue Bild unter Nutzung des Gauß-Blending.
  • Zusätzlich zu den vorerwähnten Komponenten kann das Bildbereichsersetzungssystem 904 den Neuronalnetzwerkverwalter 920 beinhalten. Der Neuronalnetzwerkverwalter 920 kann ein neuronales Netzwerk / neuronale Netzwerke, wie vorstehend beschrieben, bereitstellen, verwalten, trainieren und/oder steuern bzw. regeln. Der Neuronalnetzwerkverwalter 920 wendet beispielsweise ein trainiertes neuronales Netzwerk auf Digitalbilder an.
  • Das Bildbereichsersetzungssystem 904 beinhaltet zudem den Speicherverwalter 922. Insbesondere kann der Speicherverwalter 922 Daten eines beliebigen Typs, einer beliebigen Größe oder Art vorhalten, so sie zum Wahrnehmen der Funktionen des Bildbereichsersetzungssystems 904 notwendig sind. Obwohl dies nicht dargestellt ist, kann der Speicherverwalter 922 auch andere Daten vorhalten, die eine ästhetische Bewertung, einen Attributgewichtungswert oder andere hier beschriebene Information beinhalten.
  • Darüber hinaus kann der Speicherverwalter 922 das trainierte neuronale Netzwerk 924, den Bildpuffer 926 und den Memory 928 bereitstellen, verwalten und/oder steuern bzw. regeln. Der Speicherverwalter 922 bestimmt beispielsweise, wann die mehreren Bilder aus dem Burst von Bildern in dem Bildpuffer 926 gespeichert werden sollen und wann die mehreren Bilder aus dem Bildpuffer 926 gelöscht werden sollen. Der Speicherverwalter 922 hält zudem die trainierten neuronalen Netzwerke vor bzw. unterhält sie, was ein Aktualisieren des trainierten neuronalen Netzwerkes 924 so, wie es von dem Bildbereichsersetzungssystem 924 angesprochen wird, beinhaltet. Zusätzlich steuert bzw. regelt der Speicherverwalter 922 die Interaktion mit dem Clientvorrichtungsmemory 928 (beispielsweise durch Anweisen dessen, wo in dem Clientvorrichtungsmemory ein ausgewähltes Bild, das von dem Bildbereichsersetzungssystem 904 bereitgestellt wird, gespeichert werden soll).
  • Alle Komponenten 904, 906, 908, 910, 912, 914, 916, 918, 920 und 922 („die mehreren Komponenten“) des Bildbereichsersetzungssystems 904 und ihre entsprechenden Elemente können unter Nutzung beliebiger geeigneter Kommunikationstechnologien miteinander kommunizieren. Es sollte einsichtig sein, dass ungeachtet dessen, dass die mehreren Komponenten und ihre entsprechenden Elemente in 9 getrennt gezeigt sind, beliebige der mehreren Komponenten und ihre entsprechenden Elemente auch zu weniger Komponenten, so beispielsweise zu einer einzigen Einrichtung oder einem einzigen Modul, kombiniert sein können, in mehr Komponenten unterteilt sein können oder als andere Komponenten konfiguriert sein können, so dies für eine bestimmte Ausführungsform dienlich ist.
  • Die mehreren Komponenten und ihre entsprechenden Elemente können Software, Hardware oder beides umfassen. Die mehreren Komponenten und ihre entsprechenden Elemente können beispielsweise eine oder mehrere Anweisungen umfassen, die auf einem computerlesbaren Speichermedium gespeichert und von Prozessoren einer oder mehrerer Rechenvorrichtungen ausführbar sind. Die mehreren Komponenten und ihre entsprechenden Elemente können Hardware, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung, umfassen, um eine bestimmte Funktion oder eine Gruppe von Funktionen wahrzunehmen. Zusätzlich oder alternativ können die mehreren Komponenten und ihre entsprechenden Elemente eine Kombination von computerausführbaren Anweisungen und Hardware umfassen.
  • Des Weiteren können die mehreren Komponenten des Bildbereichsersetzungssystems 904 beispielsweise als eine oder mehrere eigenständige Anwendungen, als ein oder mehrere Module einer Anwendung, als ein oder mehrere Plug-ins, als ein oder mehrere Bibliotheksfunktionen oder Funktionen, die von anderen Anwendungen aufgerufen werden können, und/oder als Cloudrechenmodell implementiert sein. Die mehreren Komponenten des Bildbereichsersetzungssystems 904 können als eigenständige Anwendung, so beispielsweise als Desktop- oder Mobilanwendung, implementiert sein. Die mehreren Komponenten des Bildbereichsersetzungssystems 904 können als eine oder mehrere webbasierte Anwendungen, die auf einem Remote-Server gehostet sind, implementiert sein. Alternativ oder zusätzlich können die Komponenten des Bildbereichsersetzungssystems 904 in einem Paket (suite) von Mobilvorrichtungsanwendungen oder „Apps“ implementiert sein.
  • Die vorbeschriebenen mehreren Komponenten zum Betreiben des Bildbereichsersetzungssystems können in einer Systemumgebung implementiert sein. Insbesondere zeigt 10 ein schematisches Diagramm einer Ausführungsform einer exemplarischen Systemumgebung („Umgebung“) 1000, in der das Bildbereichsersetzungssystem 904 arbeiten kann. Wie in 10 dargestellt ist, kann die Umgebung 1000 einen Server / Server 1010, ein Netzwerk 1012 und mehrere Clientvorrichtungen 1014a bis 1014n beinhalten. Der Server / die Server 1010, das Netzwerk 1012, die mehreren Clientvorrichtungen 1014a bis 1014n und die anderen Komponenten der Umgebung 1000 können entweder direkt oder indirekt (beispielsweise durch das Netzwerk 1012) kommunikationstechnisch miteinander gekoppelt sein.
  • Wie in 10 dargestellt ist, kann die Umgebung 1000 den Server / die Server 1010 beinhalten. Der Server / die Server 1010 können einen beliebigen Typ von Daten generieren, speichern, empfangen und/oder übertragen. Der Server / die Server 1010 kann/können einen Kommunikationsserver oder einen Webhostingserver umfassen. Bei einer oder mehreren Ausführungsformen kann/können der Server / die Server 1010 einen Datenserver umfassen.
  • Wie in 10 dargestellt ist, kann die Umgebung 1000 darüber hinaus die mehreren Clientvorrichtungen 1014a bis 1014n beinhalten. Die mehreren Clientvorrichtungen 1014a bis 1014n können eine Vielzahl von verschiedenen Rechenvorrichtungen umfassen, so beispielsweise PCs, Laptopcomputer, Mobilvorrichtungen, Smartphones, Tablets, Spezialzweckcomputer, Fernsehgeräte oder andere Rechenvorrichtungen. Wie in 10 dargestellt ist, können die mehreren Clientvorrichtungen 1014a bis 1014n und/oder der Server / die Server 1010 über das Netzwerk 1012 kommunizieren.
  • Wie dargestellt ist, können das Bildverwaltungssystem 902 und das Bildbereichsersetzungssystem 904 durch eine Vielzahl von Komponenten in der Umgebung 1000 implementiert sein. Insbesondere können das Bildverwaltungssystem 902 und das Bildbereichsersetzungssystem 904 gänzlich oder in Teilen über den Server / die Server 1010 und/oder die mehreren Clientvorrichtungen 1014a bis 1014n implementiert sein. Der Server / die Server 1010 kann/können beispielsweise die neuronalen Netzwerke, die zum Berechnen der ästhetischen Bewertungen benutzt werden, hosten, während die mehreren Clientvorrichtungen 1014a bis 1014n den Bildersetzungsbereichsauswahlprozess implementieren können. Ist eine Implementierung teilweise auf dem Server / den Servern 1010 und teilweise auf den mehreren Clientvorrichtungen 1014a bis 1014n gegeben, so sind das Bildverwaltungssystem 902 und das Bildbereichsersetzungssystem 904 kommunikationstechnisch (das heißt über das Netzwerk 1012) gekoppelt.
  • Das Bildverwaltungssystem 902 kann das Bildbereichsersetzungssystem 904 verwalten. Das Bildverwaltungssystem 902 kann das Bildbereichsersetzungssystem 904 beispielsweise aktivieren, Anfragen an das Bildbereichsersetzungssystem 904 senden und von diesem empfangen und das ausgewählte Bild, das von dem Bildbereichsersetzungssystem 904 empfangen wird, für die Clientvorrichtung 1014 bereitstellen.
  • Darüber hinaus kann das Bildbereichsersetzungssystem 904 so arbeiten, wie vorstehend anhand 1 bis 9 beschrieben worden ist. Insbesondere kann das Bildbereichsersetzungssystem 904 mehrere ästhetische Bewertungen für mehrere Versionen einer Person aus mehreren Bildern, die ein Referenzbild mit einer Referenzversion der Person beinhalten, generieren. Das Bildbereichsersetzungssystem 904 kann zudem eine Zielversion der Person auf Grundlage der mehreren ästhetischen Bewertungen identifizieren. Das Bildbereichsersetzungssystem 904 bestimmt einen Ersetzungsbereich, der die Referenzversion und die Zielversion der Person beinhaltet, mit einer Begrenzung, die durch konsistente Pixel in dem Zielbild und dem Referenzbild verläuft, wobei das Bildbereichsersetzungssystem 904 ein neues Bild durch Ersetzen eines Referenzbereiches aus dem Referenzbild durch einen Zielbereich aus dem Zielbild generiert.
  • Obwohl 10 einen Einzelserver / Einzelserver 1010 darstellt, sollte einsichtig sein, dass der Server / die Server 1010 eine beliebige Anzahl von Serverrechenvorrichtungen darstellen kann. Auf ähnliche Weise sind, obwohl 10 eine bestimmte Anordnung des Servers / der Server 1010, des Netzwerkes 1012 und der mehreren Clientvorrichtungen 1014a bis 1014n darstellt, verschiedene zusätzliche Anordnungen möglich.
  • 1 bis 10, der entsprechende Text und die Beispiele stellen eine Anzahl von verschiedenen Systemen und Vorrichtungen bereit, die einem Nutzer ermöglichen, das Generieren eines qualitativ hochwertigen Gruppenporträts zu vereinfachen. Zusätzlich zum Vorbeschriebenen können Ausführungsformen auch anhand einer Serie von Vorgängen zum Erreichen eines bestimmten Ergebnisses beschrieben werden. 11 zeigt beispielsweise ein Flussdiagramm einer Serie von Vorgängen 1100 zur Bildersetzungsbereichsauswahl entsprechend einer oder mehreren Ausführungsformen. Obwohl 11 Vorgänge entsprechend einer Ausführungsform zeigt, können alternative Ausführungsformen beliebige der in 11 gezeigten Vorgänge weglassen, hinzufügen, umordnen und/oder modifizieren. Die Vorgänge von 11 können als Teil eines Verfahrens durchgeführt werden. Zusätzlich kann ein nichttemporäres computerlesbares Medium Anweisungen beinhalten, die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass eine Rechenvorrichtung die Vorgänge von 11 durchführt. Bei wieder anderen Ausführungsformen kann ein System die Vorgänge von 11 durchführen.
  • Wie in 11 dargestellt ist, kann die Serie von Vorgängen 1100 einen Vorgang 1110 des Identifizierens einer Zielversion umfassen. Der Vorgang 1110 kann beispielsweise ein Identifizieren einer Zielversion einer Person in einem Zielbild aus mehreren Bildern umfassen. Die mehreren Bilder können mehrere Versionen der Person und ein Referenzbild mit einer Referenzversion der Person beinhalten. Bei einer oder mehreren Ausführungsformen impliziert der Vorgang 1110 ein von einem Nutzer der Rechenvorrichtung erfolgendes Empfangen einer Nutzerauswahl der Zielversion der Person. Implizieren kann der Vorgang 1110 beispielsweise ein Empfangen einer Nutzerauswahl (beispielsweise ein Empfangen oder Detektieren eines Antippens eines berührungsempfindlichen Schirmes 802 einer Rechenvorrichtung 800 auf einer Fläche, in der ein Gesicht der Person angezeigt wird) einer Zielversion der Person.
  • Implizieren kann der Vorgang 1110 alternativ ein Generieren mehrerer ästhetischer Bewertungen für die mehreren Versionen der Person aus den mehreren Bildern. Implizieren kann der Vorgang 1110 sodann ein Auswählen einer Version der Person mit der höchsten ästhetischen Bewertung als Zielversion. Der Vorgang 1110 kann ein automatisches oder ohne Nutzereingabe erfolgendes Auswählen der Version der Person implizieren. Implizieren kann der Vorgang 1110 bei einer oder mehreren Ausführungsformen daher ein automatisches Identifizieren der die höchste Qualität aufweisenden Version eines Gesichtes einer Person aus mehreren Bildern ohne Anzeigen eines jeden der Bilder gegenüber dem Nutzer oder Auffordern des Nutzers, die mehreren Bilder zum Identifizieren der Zielversion zu durchsuchen. Bei einer oder mehreren Ausführungsformen impliziert der Vorgang 1110 ein Generieren der mehreren ästhetischen Bewertungen unter Nutzung eines oder mehrerer neuronaler Netzwerke 300, 230 mit Klassifizierern 304, 314a bis 314n, die darauf trainiert sind, Attributbewertungen für die mehreren Versionen der Person zu generieren. Zusätzlich kann der Vorgang 1110 ein Zuordnen einer Gewichtung an jede Attributbewertung und ein Kombinieren der gewichteten Attributgewichtungen bzw. Attributbewertungen zum Generieren einer ästhetischen Bewertung implizieren.
  • Die Serie von Vorgängen 1100 umfasst zudem einen Vorgang 1120 des Ausrichtens des Zielbildes und des Referenzbildes. Umfassen kann der Vorgang 1120 beispielsweise ein Identifizieren eines ersten Gyroskopdatensatzes, der dem Referenzbild entspricht, und eines zweiten Gyroskopdatensatzes, der dem Zielbild entspricht; ein Detektieren eines ersten Satzes von Merkmalspunkten innerhalb des Referenzbildes und eines zweiten Satzes von Merkmalspunkten innerhalb des Zielbildes; und ein Anwenden eines Bildausrichtungsmodells von einem pixelangepassten Gyroskopausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell zum Ausrichten des Zielbildes mit dem Referenzbild auf Grundlage der ersten und zweiten Gyroskopdatensätze und eines oder beider von den ersten und zweiten Sätzen von Merkmalspunkten. Implizieren kann der Vorgang 1120 alternativ ein Bestimmen einer Merkmal-Punkt-Unsicherheitsmetrik; ein Auswählen eines Bildausrichtungsmodells aus einem pixelangepassten Gyroskopausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell auf Grundlage der Merkmal-Punkt-Unsicherheit; und ein Anwenden des ausgewählten Bildausrichtungsmodells auf das Zielbild und das Referenzbild zum Bestimmen einer Ausrichtung zwischen dem Zielbild und dem Referenzbild. Implizieren kann der Vorgang 1120 bei einer oder mehreren Ausführungsformen des Weiteren ein Überlagern des ausgerichteten Zielbildes über dem Referenzbild.
  • Die Serie von Vorgängen 1100 umfasst einen Vorgang 1130 des Bestimmens eines Ersetzungsbereiches. Umfassen kann der Vorgang 1130 beispielsweise ein Bestimmen eines Ersetzungsbereiches, der die Referenzversion und die Zielversion der Person beinhaltet, mit einer Begrenzung, die durch konsistente Pixel in dem Zielbild und dem Referenzbild verläuft. Implizieren kann der Vorgang 1130 des Weiteren ein Nutzen eines Schnitt-Graph-Algorithmus, der die Begrenzung aus einem plausiblen Begrenzungsbereich identifiziert, indem er Pixel mit maximaler Konsistenz und minimalem Verlauf durch strukturierte Objekte in den Ziel- und Referenzbildern identifiziert. Umfassen kann der Vorgang 1130 insbesondere ein Identifizieren von benachbarten Pixeln innerhalb des plausiblen Bereiches mit den niedrigsten Qualitätskosten. Implizieren kann der Vorgang 1130 insbesondere ein Nutzen eines Graph-Schnitt-Algorithmus, der darauf beschränkt ist, durch konsistente Pixel zu verlaufen, und dabei eine Struktur in dem Referenzbild und dem Zielbild meidet. Implizieren kann der Vorgang 1130 beispielsweise ein stärkeres Sanktionieren etwaiger Begrenzungen, die durch hochfrequente Bereiche verlaufen, als etwaiger Begrenzungen, die durch niedrigfrequente Flächen verlaufen.
  • Implizieren kann der Vorgang 1130 bei derartigen Ausführungsformen ein Bestimmen des plausiblen Begrenzungsbereiches durch Kombinieren einer Referenzumgebung um die Referenzversion der Person und einer Zielumgebung um die Zielversion der Person, wobei der plausible Bereich Versionen anderer Menschen ausschließt. Implizieren kann der Vorgang 1130 insbesondere ein Generieren einer Vereinigung der Zielumgebung und der Referenzumgebung und ein Subtrahieren von Abschnitten der Ziel- und Referenzumgebungen, die Gesichter beinhalten. Implizieren kann das Subtrahieren von Abschnitten der Ziel- und Referenzumgebungen, die Gesichter beinhalten, ein Subtrahieren eines Gesichtes der Zielversion der Person, der Referenzversion der Person und von Gesichtern anderer Personen. Implizieren kann der Vorgang 1130 des Weiteren ein Generieren der Referenzumgebung durch Erweitern eines Umrisses der Referenzversion der Person und Generieren der Zielumgebung durch Erweitern eines Umrisses der Zielversion der Person. Bei einer oder mehreren Ausführungsformen impliziert der Vorgang 1130 daher ein automatisches oder ohne Nutzereingabe erfolgendes Bestimmen des plausiblen Begrenzungsbereiches.
  • Implizieren kann der Vorgang 1130 bei alternativen Ausführungsformen ein von einem Nutzer der Rechenvorrichtung erfolgendes Empfangen einer Auswahl des plausiblen Bereiches auf dem Referenzbild. Implizieren kann der Vorgang 1130 beispielsweise ein Detektieren dessen, dass ein Nutzer einen nutzerseitig ausgewählten plausiblen Bereich 814 angetippt und ausgewählt hat. Bei einer oder mehreren Ausführungsformen impliziert der Vorgang 1130 ein Detektieren der Nutzung eines Pinselwerkzeuges, das von einem Nutzer aktiviert wird, um den plausiblen Bereich interaktiv auszuwählen.
  • Die Serie von Vorgängen 1100 umfasst einen Vorgang 1140 des Generierens eines nachbearbeiteten Bildes. Umfassen kann der Vorgang 1140 beispielsweise ein Generieren eines nachbearbeiteten Bildes durch Ersetzen eines Referenzbereiches aus dem Referenzbild entsprechend dem Ersetzungsbereich durch einen Zielbereich aus dem Zielbild entsprechend dem Ersetzungsbereich. Implizieren kann der Vorgang 1140 insbesondere ein Ersetzen des Referenzbereiches durch Pixel aus dem Zielbereich unter Nutzung des Gauß-Blending. Der Vorgang 1140 kann beispielsweise ein Anwenden des a-Blending auf den Zielbereich und den Referenzbereich implizieren.
  • Zusätzlich (oder alternativ) zu den vorbeschriebenen Vorgängen beinhalten die Vorgänge 900 bei einigen Ausführungsformen das Durchführen eines Schrittes zum Ausrichten mehrerer Bilder, die mehrere Versionen einer Person beinhalten, wobei die mehreren Bilder ein Referenzbild mit einer Referenzversion der Person beinhalten. Der Algorithmus und die Vorgänge aus der Beschreibung anhand von 4 bis 5B können beispielsweise die entsprechenden Vorgänge zum Durchführen eines Schrittes zum Ausrichten mehrerer Bilder, die mehrere Versionen einer Person beinhalten, umfassen, wobei die mehreren Bilder ein Referenzbild mit einer Referenzversion der Person umfassen. Umfassen können die Algorithmen und Vorgänge aus der Beschreibung anhand 6A und 6B auf ähnliche Weise zudem entsprechende Vorgänge zum Durchführen eines Schrittes zum Bestimmen eines Ersetzungsbereiches, der eine Referenzversion aus einem Referenzbild und eine Zielversion der Person beinhaltet, mit einer Begrenzung, die durch konsistente Pixel in dem Zielbereich und dem Referenzbereich verläuft. Darüber hinaus können die Algorithmen und Vorgänge aus der Beschreibung anhand von 3A und 3B entsprechende Vorgänge für einen Schritt des Generierens mehrerer ästhetischer Bewertungen für die mehreren Versionen der Person umfassen.
  • Der Begriff „Digitalumgebung“ bezeichnet im Sinne des Vorliegenden allgemein eine Umgebung, die beispielsweise als eigenständige Anwendung (beispielsweise als PC oder Mobilanwendung, die auf einer Rechenvorrichtung läuft), als Element einer Anwendung, als Plug-in für eine Anwendung, als Bibliotheksfunktion oder -funktionen, als Rechenvorrichtung und/oder als Cloudrechensystem implementiert ist.
  • Ausführungsformen der vorliegenden Offenbarung können einen Spezialzweck- oder Allzweckcomputer mit Computerhardware umfassen oder einsetzen, so beispielsweise einen oder mehrere Prozessoren und einen Systemmemory, wie nachstehend noch detaillierter beschrieben wird. Ausführungsformen innerhalb des Umfanges der vorliegenden Offenbarung beinhalten zudem physische und andere computerlesbare Medien zum Tragen oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen. Insbesondere können einer oder mehrere der hier beschriebenen Prozesse wenigstens teilweise als Anweisungen implementiert sein, die auf einem nichttemporären computerlesbaren Medium verkörpert und durch eine oder mehrere Rechenvorrichtungen (beispielsweise beliebige der hier beschriebenen Mediencontentzugriffsvorrichtungen) ausführbar sind. Allgemein empfängt ein Prozessor (beispielsweise ein Mikroprozessor) Anweisungen von einem nichttemporären computerlesbaren Medium (beispielsweise einem Memory und dergleichen) und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse, darunter einer oder mehrere der hier beschriebenen Prozesse, durchgeführt werden.
  • Computerlesbare Medien können beliebige verfügbare Medien sein, auf die ein Allzweck- oder Spezialzweckcomputersystem zugreifen kann. Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind nichttemporäre computerlesbare Speichermedien (Vorrichtungen). Computerlesbare Medien, die computerausführbare Anweisungen tragen, sind Übertragungsmedien. Beispiels- und nicht beschränkungshalber können Ausführungsformen der Offenbarung wenigstens zwei deutlich verschiedene Arten von computerlesbaren Medien umfassen, nämlich nichttemporäre computerlesbare Speichermedien (Vorrichtungen) und Übertragungsmedien.
  • Nichttemporäre computerlesbare Speichermedien (Vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, SSDs (Solid State Drives) (beispielsweise auf Grundlage eines RAM), einen Flashspeicher, einen Phasenänderungsspeicher (PCM), andere Arten von Memory, einen anderen optischen Plattenspeicher, einen Magnetplattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das zum Speichern von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen genutzt werden kann und auf das ein Allzweck- oder Spezialzweckcomputer zugreifen kann.
  • Ein „Netzwerk“ ist als ein oder mehrere Datenlinks definiert, die den Transport von elektronischen Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wird Information über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder festverdrahtet, drahtlos oder eine Kombination aus festverdrahtet oder drahtlos) an einen Computer übertragen oder für diesen bereitgestellt, so betrachtet der Computer die Verbindung praktisch als Übertragungsmedium. Übertragungsmedien können ein Netzwerk und/oder Datenlinks beinhalten, die zum Tragen von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen genutzt werden können und auf die ein Allzweck- oder Spezialzweckcomputer zugreifen kann. Kombinationen des Vorbeschriebenen sollen innerhalb des Umfanges der computerlesbaren Medien beinhaltet sein.
  • Beim Verwirklichen verschiedener Computersystemkomponenten können Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen des Weiteren automatisch von Übertragungsmedien an nichttemporäre computerlesbare Speichermedien (Vorrichtungen) (oder umgekehrt) übertragen werden. Computerausführbare Anweisungen oder Datenstrukturen, die über ein Netzwerk oder einen Datenlink empfangen werden, können beispielsweise in einem RAM innerhalb eines Netzwerkschnittstellenmoduls (beispielsweise eines „NIC“) gepuffert und sodann gegebenenfalls an den Computersystem-RAM und/oder an weniger flüchtige Computerspeichermedien (Vorrichtungen) auf einem Computersystem übertragen werden. Es sollte daher einsichtig sein, dass nichttemporäre computerlesbare Speichermedien (Vorrichtungen) in Computersystemkomponenten beinhaltet sein können, die ebenfalls (oder sogar primär) Übertragungsmedien einsetzen.
  • Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die bei Ausführung auf einem Prozessor veranlassen, dass ein Allzweckcomputer, ein Spezialzweckcomputer oder eine Spezialzweckverarbeitungsvorrichtung eine gewisse Funktion oder Gruppe von Funktionen durchführen. Bei einigen Ausführungsformen werden computerausführbare Anweisungen auf einem Allzweckcomputer ausgeführt, um den Allzweckcomputer in einen Spezialzweckcomputer zu verwandeln, der Elemente der Offenbarung implementiert. Die computerausführbaren Anweisungen können beispielsweise Binaries, Anweisungen in einem Zwischenformat wie der Assemblersprache oder sogar Quellcode sein. Obwohl der Erfindungsgegenstand in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder methodologische Vorgänge spezifisch ist, sollte einsichtig sein, dass der in den beigefügten Ansprüchen definierte Erfindungsgegenstand nicht unbedingt auf die vorbeschriebenen Merkmale oder Vorgänge beschränkt ist. Vielmehr sind die beschriebenen Merkmale und Vorgänge als exemplarische Formen der Implementierung der Ansprüche offenbart.
  • Einem Fachmann auf dem Gebiet erschließt sich, dass die Offenbarung auch in Netzwerkrechenumgebungen mit vielen Arten von Computersystemkonfigurationen praktisch umgesetzt werden kann, darunter PCs, Desktopcomputer, Laptopcomputer, Nachrichtenprozessoren, Handvorrichtungen, Multiprozessorensysteme, mikroprozessorbasierte oder programmierbare Geräte der Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Mainframecomputer, Mobiltelefone, PDAs, Tablets, Pager, Router, Switches bzw. Schalter und dergleichen. Praktisch umgesetzt werden kann die Offenbarung auch in verteilten Systemumgebungen, wo lokale und entfernte (remote) Computersysteme, die (entweder durch festverdrahtete Datenlinks, drahtlose Datenlinks oder durch eine Kombination aus festverdrahteten und drahtlosen Datenlinks) über ein Netzwerk verbunden sind, gleichermaßen Aufgaben ausführen. In einer verteilten Systemumgebung können Programmmodule sowohl in lokalen wie auch entfernten (remote) Memoryspeichervorrichtungen befindlich sein.
  • Ausführungsformen der vorliegenden Offenbarung können zudem in Cloudrechenumgebungen implementiert sein. In der vorliegenden Beschreibung ist „Cloud Computing bzw. Cloudrechnen“ als Modell definiert, das einen On-Demand-Netzwerkzugriff auf einen geteilten Vorrat von konfigurierbaren Rechenressourcen ermöglicht. Cloud Computing bzw. Cloudrechnen kann beispielsweise auf einem Marktplatz eingesetzt werden, um einen allgegenwärtigen und bequemen On-Demand-Zugriff auf den geteilten Vorrat von konfigurierbaren Rechenressourcen anzubieten. Der geteilte Vorrat von konfigurierbaren Rechenressourcen kann über eine Virtualisierung schnell bereitgestellt und bei geringem Verwaltungsaufwand oder mit geringer Interaktion eines Dienstanbieters freigegeben und sodann entsprechend skaliert werden.
  • Ein Cloudrechenmodell kann aus verschiedenen Charakteristiken zusammengesetzt sein, so beispielsweise On-Demand Self-Service, Broad Network Access, Resource Pooling, Rapid Elasticity, Measured Service und dergleichen. Ein Cloudrechenmodell kann zudem verschiedene Dienstmodelle anbieten, so beispielsweise „Software as a Service“ („SaaS“), „Platform as a Service“ („PaaS“) und „Infrastructure as a Service („laaS“). Ein Cloudrechenmodell kann zudem unter Nutzung verschiedener Einsatzmodelle eingesetzt werden, so beispielsweise Private Cloud, Community Cloud, Public Cloud, Hybrid Cloud und dergleichen. In der vorliegenden Beschreibung und in den Ansprüchen ist eine „Cloudrechenumgebung“ eine Umgebung, in der das Cloudrechnen bzw. Cloud Computing eingesetzt wird.
  • 12 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung 1200, die dafür konfiguriert sein kann, einen oder mehrere der vorbeschriebenen Prozesse durchzuführen. Es sollte einsichtig sein, dass eine oder mehrere Rechenvorrichtungen, so beispielsweise die Rechenvorrichtung 1200, eine oder mehrere Komponenten des Bildbereichsersetzungssystems implementieren können. Wie in 12 gezeigt ist, kann die Rechenvorrichtung 1200 einen Prozessor 1202, einen Memory 1204, eine Speichervorrichtung 1206, eine I/O-Schnittstelle 1208 und eine Kommunikationsschnittstelle 1210 umfassen, die mittels einer Kommunikationsinfrastruktur 1212 kommunikationstechnisch gekoppelt sein können. Obwohl in 12 eine exemplarische Rechenvorrichtung 1200 dargestellt ist, sollen die in 12 dargestellten Komponenten nicht beschränkend sein. Zusätzliche oder alternative Komponenten können bei anderen Ausführungsformen genutzt werden. Bei bestimmten Ausführungsformen kann die Rechenvorrichtung 1200 des Weiteren weniger Komponenten als die in 12 gezeigten beinhalten. Komponenten der in 12 gezeigten Rechenvorrichtung 1200 werden nunmehr detaillierter beschrieben.
  • Bei einer oder mehreren Ausführungsformen beinhaltet der Prozessor 1202 Hardware zum Ausführen von Anweisungen, so beispielsweise solchen, die ein Computerprogramm bilden. Beispiels- und nicht beschränkungshalber kann der Prozessor 1202 zum Ausführen von Anweisungen die Anweisungen aus einem internen Register, einem internen Cache, dem Memory 1204 oder der Speichervorrichtung 1206 abrufen (oder holen) und diese decodieren und ausführen. Bei einer oder mehreren Ausführungsformen kann der Prozessor 1202 einen oder mehrere interne Caches für Daten, Anweisungen oder Adressen beinhalten. Beispiels- und nicht beschränkungshalber kann der Prozessor 1202 einen oder mehrere Anweisungscaches, einen oder mehrere Datencaches und einen oder mehrere Translation-Lookaside-Puffer (TLBs) beinhalten. Anweisungen in den Anweisungscashes können Kopien von Anweisungen in dem Memory 1204 oder der Speichervorrichtung 1206 sein.
  • Der Memory 1204 kann zum Speichern von Daten, Metadaten und Programmen zur Ausführung durch den Prozessor / die Prozessoren benutzt werden. Der Memory 1204 kann einen oder mehrere flüchtige und nichtflüchtige Memorys beinhalten, so beispielsweise einen Speicher mit wahlfreiem Zugriff („RAM“), einen Nur-Lese-Speicher („ROM“), eine Solid-State-Disk („SSD“), einen Flash, einen Phasenänderungsspeicher („PCM“) oder andere Typen von Datenspeicher. Der Memory 1204 kann ein interner oder ein verteilter Memory sein.
  • Die Speichervorrichtung 1206 beinhaltet einen Speicher zum Speichern von Daten oder Anweisungen. Beispiels- nicht beschränkungshalber kann die Speichervorrichtung 1206 ein nichttemporäres Speichermedium, wie vorstehend beschrieben, umfassen. Beinhalten kann die Speichervorrichtung 1206 ein Festplattenlaufwerk (HDD), ein Floppydisk-Laufwerk, einen Flashspeicher, eine optische Platte, eine magnetoptische Platte, ein Magnetband oder ein USB-Laufwerk (Universeller Serieller Bus USB) oder auch eine Kombination aus zwei oder mehreren hiervon. Die Speichervorrichtung 1206 kann nach Bedarf entfernbare oder nichtentfernbare (oder feste) Medien beinhalten. Die Speichervorrichtung 1206 kann bezüglich der Rechenvorrichtung 1200 intern oder extern sein. Bei einer oder mehreren Ausführungsformen ist die Speichervorrichtung 1206 ein nichtflüchtiger Solid-State-Speicher. Bei anderen Ausführungsformen beinhaltet die Speichervorrichtung 1206 einen Nur-Lese-Speicher (ROM). Bei Bedarf kann dieser ROM ein maskenprogrammierter ROM, ein programmierbarer ROM (PROM), ein löschbarer PROM (EPROM), ein elektrisch löschbarer PROM (EEPROM), ein elektrisch änderbarer ROM (EAROM) oder ein Flashspeicher oder eine Kombination aus zwei oder mehreren hiervon sein.
  • Die I/O-Schnittstelle 1208 ermöglicht, dass ein Nutzer eine Eingabe für die Rechenvorrichtung 1200 bereitstellt, eine solche von dieser empfängt und auf andere Weise Daten an diese überträgt oder von dieser empfängt. Die I/O-Schnittstelle 1208 kann eine Maus, ein Tastenfeld bzw. Keypad oder eine Tastatur, einen berührungsempfindlichen Schirm bzw. Touchscreen, eine Kamera, einen optischen Scanner, eine Netzwerkschnittstelle, ein Modem, andere bekannte I/O-Vorrichtungen oder eine Kombination aus derartigen I/O-Schnittstellen beinhalten. Beinhalten kann die I/O-Schnittstelle 1208 eine oder mehrere Vorrichtungen zum Präsentieren einer Ausgabe gegenüber einem Nutzer, darunter unter anderem eine Graphics Engine, eine Anzeige (beispielsweise einen Anzeigeschirm), einen oder mehrere Ausgabetreiber (beispielsweise Anzeigetreiber), einen oder mehrere Audiolautsprecher und einen oder mehrere Audiotreiber. Bei bestimmten Ausführungsformen ist die I/O-Schnittstelle 1208 dafür konfiguriert, grafische Daten für eine Anzeige zur Präsentation gegenüber einem Nutzer bereitzustellen. Die grafischen Daten können eine oder mehrere grafische Nutzerschnittstellen und/oder beliebigen anderen grafischen Content, so er für eine bestimmte Implementierung dienlich ist, darstellen.
  • Die Kommunikationsschnittstelle 1210 kann Hardware, Software oder beides beinhalten. Beinhalten kann die Kommunikationsschnittstelle 1210 in jedem Fall eine oder mehrere Schnittstellen zur Kommunikation (beispielsweise zur paketbasierten Kommunikation) zwischen der Rechenvorrichtung 1200 und einer oder mehreren anderen Rechenvorrichtungen oder Netzwerken. Beispiels- und nicht beschränkungshalber kann die Kommunikationsschnittstelle 1210 einen Netzwerkschnittstellencontroller (NIC) oder einen Netzwerkadapter für die Kommunikation mit einem Ethernet oder einem anderen drahtbasierten Netzwerk oder einen Drahtlos-NIC (WNIC) oder Drahtlosadapter für die Kommunikation mit einem Drahtlosnetzwerk, so beispielsweise einem WI-FI, beinhalten.
  • Zusätzlich oder alternativ kann die Kommunikationsschnittstelle 1210 Kommunikationen mit einem ad-hoc-Netzwerk, einem Personenbereichsnetzwerk (PAN), einem Ortsbereichsnetzwerk (LAN), einem Großbereichsnetzwerk (WAN), einem Metropolbereichsnetzwerk (MAN) oder einem oder mehreren Abschnitten des Internets oder einer Kombination aus zwei oder mehreren hiervon vereinfachen. Ein oder mehrere Abschnitte des einen oder der mehreren dieser Netzwerke kann verdrahtet oder drahtlos sein. Vereinfachen kann die Kommunikationsschnittstelle 1210 bei einem Beispiel Kommunikationen mit einem Drahtlos-PAN (WPAN) (so beispielsweise einem Bluetooth-WPAN), einem WI-FI-Netzwerk, einem WI-MAX-Netzwerk, einem zellenbasierten Telefonnetzwerk (so beispielsweise einem GSM-Netzwerk (Global System for Mobile Communications GSM) oder einem anderen geeigneten Drahtlosnetzwerk oder einer Kombination hieraus.
  • Zusätzlich kann die Kommunikationsschnittstelle 1210 Kommunikationen über verschiedene Kommunikationsprotokolle vereinfachen. Beispiele für Kommunikationsprotokolle, die benutzt werden können, sind unter anderem Datenübertragungsmedien, Kommunikationsvorrichtungen, das Übertragungssteuer- bzw. Regelprotokoll („TCP“), das Internetprotokoll („IP“), das Dateiübertragungsprotokoll („FTP“), Telnet, das Hypertexttransferprotokoll („HTTP“), das Hypertexttransferprotokoll Secure („HTTPS“), das Sitzungsinitiierungsprotokoll („SIP“), das einfache Objektzugriffsprotokoll („SOAP“), die erweiterbare Markierungssprache („XML“) und Varianten hiervon, das einfache Mailübertragungsprotokoll („SMTP“), das Echtzeittransportprotokoll („RTP“), das Nutzerdatagrammprotokoll („UDP“), GSM-Technologien (Global System for Mobile Communications GSM), CDMA-Technologien (Code Division Multiple Access CDMA), TDMA-Technologien (Time Division Multiple Access TDMA), den Kurznachrichtendienst („SMS“), den Multimedianachrichtendienst („MMS“), RF-Signalisierungstechnologien (Radio Frequency RF), LTE-Technologien (Long Term Evolution LTE), Drahtloskommunikationstechnologien, In-Band- und Out-of-Band-Signalisierungstechnologien und andere geeignete Kommunikationsnetzwerke und Technologien.
  • Die Kommunikationsinfrastruktur 1212 kann Hardware, Software oder beides, die Komponenten der Rechenvorrichtung 1200 miteinander koppeln, beinhalten. Beinhalten kann die Kommunikationsinfrastruktur 1212 beispiels- und nicht beschränkungshalber einen AGP-Bus (Accelerated Graphics Port AGP) oder einen anderen Grafikbus, einen EISA-Bus (Enhanced Industry Standard Architecture EISA), einen Front-Side-Bus (FSB), einen HT-Interconnect (Hypertransport HT), einen ISA-Bus (Industry Standard Architecture ISA), einen INFINIBAND-Interconnect, einen LPC-Bus (Low-Pin-Count LPC), einen Memory-Bus, einen MCA-Bus (Micro Channel Architecture MCA), einen PCI-Bus (Peripheral Component Interconnect PCI), einen PCI-Express-Bus (PCIe), einen SATA-Bus (Serial Advanced Technology Attachment SATA), einen VLB-Bus (Video Electronics Standards Association local VLB) oder einen beliebigen anderen geeigneten Bus oder eine Kombination hieraus.
  • Die vorstehende Beschreibung ist anhand spezifischer exemplarischer Ausführungsformen erfolgt. Verschiedene Ausführungsformen und Aspekte der Offenbarung sind anhand von hier diskutierten Details beschrieben worden, wobei die begleitende Zeichnung die verschiedenen Ausführungsformen darstellt. Die vorstehende Beschreibung und die Zeichnungen sind illustrativ und sollen nicht beschränkend gedeutet werden. Es sind zahlreiche spezifische Details beschrieben, um ein eingehendes Verständnis der verschiedenen Ausführungsformen zu ermöglichen.
  • Zusätzliche oder alternative Ausführungsformen können in anderen spezifischen Formen verkörpert sein, ohne von ihrem Umfang oder ihren wesentlichen Eigenschaften abzugehen. Die beschriebenen Ausführungsformen sollen in jeder Hinsicht nur als illustrativ und nicht als restriktiv betrachtet werden. Der Umfang der Erfindung ist daher durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Sämtliche Änderungen, die der Bedeutung und dem Äquivalenzbereich der Ansprüche entsprechen, sollen in ihrem Umfang mitumfasst sein.

Claims (20)

  1. Nichttemporäres computerlesbares Medium, auf dem Anweisungen gespeichert sind, die bei Ausführung durch wenigstens einen Prozessor eine Rechenvorrichtung veranlassen zum: Identifizieren einer Zielinstanz bzw. -version einer Person in einem Zielbild von mehreren Bildern, wobei die mehreren Bilder mehrere Instanzen bzw. Versionen der Person und ein Referenzbild mit einer Referenzinstanz bzw. -version der Person umfassen; Ausrichten des Zielbildes und des Referenzbildes; Bestimmen eines Ersetzungsbereiches, der die Referenzversion und die Zielversion der Person beinhaltet, mit einer Begrenzung, die durch konsistente Pixel in dem Zielbild und dem Referenzbild verläuft; und Generieren eines nachbearbeiteten Bildes durch Ersetzen eines Referenzbereiches aus dem Referenzbild entsprechend dem Ersetzungsbereich durch einen Zielbereich aus dem Zielbild entsprechend dem Ersetzungsbereich.
  2. Nichttemporäres computerlesbares Medium nach Anspruch 1, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Bestimmen des Ersetzungsbereiches unter Nutzung eines Schnitt-Graph-Algorithmus, der die Begrenzung aus einem plausiblen Begrenzungsbereich identifiziert, indem er Pixel mit maximaler Konsistenz und minimalem Verlauf durch strukturierte Objekte in den Ziel- und Referenzbildern identifiziert.
  3. Nichttemporäres computerlesbares Medium nach Anspruch 2, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Bestimmen des plausiblen Begrenzungsbereiches durch Kombinieren einer Referenzumgebung um die Referenzversion der Person und einer Zielumgebung um die Zielversion der Person, wobei der plausible Bereich Versionen anderer Menschen ausschließt.
  4. Nichttemporäres computerlesbares Medium nach Anspruch 3, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum Generieren: der Referenzumgebung durch Erweitern eines Umrisses der Referenzversion der Person; und der Zielumgebung durch Erweitern eines Umrisses der Zielversion der Person.
  5. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 2 bis 4, wobei das Bestimmen des plausiblen Begrenzungsbereiches umfasst: von einem Nutzer der Rechenvorrichtung erfolgendes Empfangen einer Auswahl des plausiblen Begrenzungsbereiches auf dem Referenzbild.
  6. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, wobei das Identifizieren der Zielversion der Person umfasst: von einem Nutzer der Rechenvorrichtung erfolgendes Empfangen einer Nutzerauswahl der Zielversion der Person.
  7. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Generieren mehrerer ästhetischer Bewertungen für die mehreren Versionen der Person aus den mehreren Bildern; und Auswählen einer Version der Person mit der höchsten ästhetischen Bewertung als Zielversion.
  8. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Ausrichten des Zielbildes und des Referenzbildes durch: Identifizieren eines ersten Gyroskopdatensatzes entsprechend dem Referenzbild und eines zweiten Gyroskopdatensatzes entsprechend dem Zielbild; Detektieren eines ersten Satzes von Merkmalspunkten innerhalb des Referenzbildes und eines zweiten Satzes von Merkmalspunkten innerhalb des Zielbildes; und Anwenden eines Bildausrichtungsmodells von einem pixelangepassten Gyroskopausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell zum Ausrichten des Zielbildes mit dem Referenzbild auf Grundlage der ersten und zweiten Gyroskopdatensätze und eines oder beider von den ersten und zweiten Sätzen von Merkmalspunkten.
  9. System, das zum Mischen und Matchen bzw. Abgleichen von Gesichtern in Gruppendigitalporträts betreibbar ist, wobei das System umfasst: einen Speicher, der umfasst: mehrere Bilder, die mehrere Instanzen bzw. Versionen einer Person beinhalten, wobei die mehreren Bilder ein Referenzbild mit einer Referenzinstanz bzw. -version der Person umfassen; wenigstens einen Prozessor; und ein computerlesbares Speichermedium, das Anweisungen speichert, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Generieren mehrerer ästhetischer Bewertungen für die mehreren Versionen der Person aus den mehreren Bildern; Identifizieren einer Zielinstanz bzw. -version der Person aus einem Zielbild von den mehreren Bildern auf Grundlage der mehreren ästhetischen Bewertungen durch Bestimmen dessen, dass die Zielversion eine höchste ästhetische Bewertung aufweist; Ausrichten des Zielbildes und des Referenzbildes; Bestimmen eines Ersetzungsbereiches, der die Referenzversion und Zielversion der Person beinhaltet, unter Nutzung eines Graph-Schnitt-Algorithmus, der darauf beschränkt ist, durch konsistente Pixel zu verlaufen, und dabei eine Struktur in dem Referenzbild und dem Zielbild meidet; und Generieren eines nachbearbeiteten Bildes durch Ersetzen eines Referenzbereiches aus dem Referenzbild entsprechend dem Ersetzungsbereich durch einen Zielbereich aus dem Zielbild entsprechend dem Ersetzungsbereich.
  10. System nach Anspruch 9, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System des Weiteren veranlassen zum: Identifizieren eines plausiblen Begrenzungsbereiches, auf den der Graph-Schnitt-Algorithmus angewendet werden soll, durch: Definieren einer Referenzumgebung um die Referenzversion der Person; Definieren einer Zielumgebung um die Zielversion der Person; Generieren einer Vereinigung der Zielumgebung und der Referenzumgebung; und Subtrahieren von Abschnitten der Ziel- und Referenzumgebungen, die Gesichter beinhalten.
  11. System nach Anspruch 10, wobei das Subtrahieren von Abschnitten der Ziel- und Referenzumgebungen, die Gesichter beinhalten, umfasst: Subtrahieren eines Gesichtes der Zielversion der Person, der Referenzversion der Person und von Gesichtern anderer Personen.
  12. System nach einem der Ansprüche 9 bis 11, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Generieren der mehreren ästhetischen Bewertungen unter Nutzung eines oder mehrerer neuronaler Netzwerke mit Klassifizierern, die dafür trainiert sind, Attributbewertungen für die mehreren Versionen der Person zu generieren.
  13. System nach Anspruch 12, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Zuordnen einer Gewichtung an jede Attributbewertung.
  14. System nach einem der Ansprüche 9 bis 13, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Ausrichten des Zielbildes und des Referenzbildes durch: Bestimmen einer Merkmal-Punkt-Unzulänglichkeits- bzw. Unsicherheitsmetrik; Auswählen eines Bildausrichtungsmodells aus einem pixelangepassten Gyroskopausrichtungsmodell und einem merkmalsbasierten Ausrichtungsmodell auf Grundlage der Merkmal-Punkt-Unsicherheit; und Anwenden des ausgewählten Bildausrichtungsmodells auf das Zielbild und das Referenzbild zum Bestimmen einer Ausrichtung zwischen dem Zielbild und dem Referenzbild.
  15. System nach einem der Ansprüche 10 bis 14, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Generieren eines neuen Bildes durch Ersetzen des Referenzbereiches durch Pixel aus dem Zielbereich unter Nutzung des Gauß-Blending.
  16. System nach Anspruch 15, wobei die Nutzung des Gauß-Blending umfasst: Anwenden des a-Blending auf den Zielbereich und den Referenzbereich.
  17. System nach einem der Ansprüche 10 bis 16, wobei die Nutzung des Graph-Schnitt-Algorithmus, der darauf beschränkt ist, durch konsistente Pixel zu verlaufen, und dabei eine Struktur in dem Referenzbild und dem Zielbild meidet, umfasst: stärkeres Sanktionieren etwaiger Begrenzungen, die durch hochfrequente Bereiche verlaufen, als etwaiger Begrenzungen, die durch niedrigfrequente Flächen verlaufen.
  18. Verfahren zum Mischen und Matchen bzw. Abgleichen von Gesichtern in Gruppendigitalporträts in einer Digitalmedienumgebung zum Aufnehmen und Manipulieren von Digitalbildern, umfassend: Durchführen eines Schrittes zum Ausrichten mehrerer Bilder, die mehrere Instanzen bzw. Versionen einer Person beinhalten, wobei die mehreren Bilder ein Referenzbild mit einer Referenzinstanz bzw.-version der Person umfassen; Identifizieren einer Zielinstanz bzw. -version der Person auf einem Zielbild der mehreren Bilder; Durchführen eines Schrittes zum Bestimmen eines Ersetzungsbereiches mit einer Begrenzung, die durch konsistente Pixel in dem Zielbild und dem Referenzbild verläuft; und Generieren eines neuen Bildes durch Ersetzen eines Referenzbereiches aus dem Referenzbild entsprechend dem Ersetzungsbereich durch einen Zielbereich aus dem Zielbild entsprechend dem Ersetzungsbereich.
  19. Verfahren nach Anspruch 18, des Weiteren umfassend einen Schritt zum Generieren mehrerer ästhetischer Bewertungen für die mehreren Versionen der Person.
  20. Verfahren nach Anspruch 19, des Weiteren umfassend ein Nutzen der ästhetischen Bewertungen zum Auswählen der Zielversion der Person.
DE102019005938.7A 2018-11-13 2019-08-22 Intelligentes Identifizieren von Ersetzungsbereichen zum Mischen und Ersetzen von Personen in Gruppenporträts Pending DE102019005938A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/189,838 2018-11-13
US16/189,838 US10896493B2 (en) 2018-11-13 2018-11-13 Intelligent identification of replacement regions for mixing and replacing of persons in group portraits

Publications (1)

Publication Number Publication Date
DE102019005938A1 true DE102019005938A1 (de) 2020-05-14

Family

ID=68108816

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019005938.7A Pending DE102019005938A1 (de) 2018-11-13 2019-08-22 Intelligentes Identifizieren von Ersetzungsbereichen zum Mischen und Ersetzen von Personen in Gruppenporträts

Country Status (5)

Country Link
US (2) US10896493B2 (de)
CN (2) CN111177111A (de)
AU (1) AU2019219764B2 (de)
DE (1) DE102019005938A1 (de)
GB (1) GB2581864B (de)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019111840A1 (ja) * 2017-12-06 2019-06-13 日本電気株式会社 画像認識モデル生成装置、画像認識モデル生成方法、画像認識モデル生成プログラム記憶媒体、画像生成装置、画像生成方法および画像生成プログラム記憶媒体
US10783649B2 (en) * 2018-09-17 2020-09-22 Adobe Inc. Aligning digital images by selectively applying pixel-adjusted-gyroscope alignment and feature-based alignment models
US10887582B2 (en) 2019-01-22 2021-01-05 Fyusion, Inc. Object damage aggregation
US11783443B2 (en) 2019-01-22 2023-10-10 Fyusion, Inc. Extraction of standardized images from a single view or multi-view capture
US10949978B2 (en) * 2019-01-22 2021-03-16 Fyusion, Inc. Automatic background replacement for single-image and multi-view captures
US11176704B2 (en) 2019-01-22 2021-11-16 Fyusion, Inc. Object pose estimation in visual data
US11405547B2 (en) * 2019-02-01 2022-08-02 Electronics And Telecommunications Research Institute Method and apparatus for generating all-in-focus image using multi-focus image
US20210097691A1 (en) * 2019-09-30 2021-04-01 Nvidia Corporation Image generation using one or more neural networks
US11039205B2 (en) 2019-10-09 2021-06-15 Sony Interactive Entertainment Inc. Fake video detection using block chain
US11551474B2 (en) * 2019-10-21 2023-01-10 Sony Interactive Entertainment Inc. Fake video detection
US11443057B2 (en) * 2019-10-24 2022-09-13 At&T Intellectual Property I, L.P. Encoding and concealing information using deep learning
US11651480B2 (en) * 2019-11-18 2023-05-16 Shinyfields Limited Systems and methods for selective enhancement of objects in images
US11481882B2 (en) * 2019-11-18 2022-10-25 Shinyfields Limited Systems and methods for selective replacement of objects in images
US11069036B1 (en) 2020-01-03 2021-07-20 GE Precision Healthcare LLC Method and system for real-time and offline de-identification of facial regions from regular and occluded color video streams obtained during diagnostic medical procedures
US11776142B2 (en) 2020-01-16 2023-10-03 Fyusion, Inc. Structuring visual data
US11562474B2 (en) 2020-01-16 2023-01-24 Fyusion, Inc. Mobile multi-camera multi-view capture
WO2021237065A1 (en) 2020-05-21 2021-11-25 Looking Glass Factory, Inc. System and method for holographic image display
CN111800574B (zh) * 2020-06-23 2022-06-24 维沃移动通信有限公司 成像方法、装置和电子设备
CN112085701A (zh) * 2020-08-05 2020-12-15 深圳市优必选科技股份有限公司 一种人脸模糊度检测方法、装置、终端设备及存储介质
CN112396494A (zh) * 2020-11-23 2021-02-23 北京百度网讯科技有限公司 商品引导方法、装置、设备及存储介质
US11388388B2 (en) 2020-12-01 2022-07-12 Looking Glass Factory, Inc. System and method for processing three dimensional images
DE102020215461A1 (de) * 2020-12-08 2022-06-09 Robert Bosch Gesellschaft mit beschränkter Haftung Vorrichtung und Verfahren zum Trainieren eines Bildgenerators
US20220237043A1 (en) * 2021-01-15 2022-07-28 Samsung Electronics Co., Ltd. Method and system for learning to temporal align signals with interspersed outliers
US11605151B2 (en) 2021-03-02 2023-03-14 Fyusion, Inc. Vehicle undercarriage imaging
CN113347355A (zh) * 2021-05-28 2021-09-03 维沃移动通信(杭州)有限公司 图像处理方法、装置及电子设备
CN113409273B (zh) * 2021-06-21 2023-04-07 上海联影医疗科技股份有限公司 一种图像分析方法、装置、设备和介质
US20230005108A1 (en) * 2021-06-30 2023-01-05 Palo Alto Research Center Incorporated Method and system for replacing scene text in a video sequence
KR20230028028A (ko) * 2021-08-20 2023-02-28 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102411652B1 (ko) * 2021-11-05 2022-06-22 석인수 Did 및 nft를 이용한 실물자산의 원본 인증 서비스 제공 방법
JP2023113444A (ja) * 2022-02-03 2023-08-16 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
US20240168617A1 (en) * 2022-11-23 2024-05-23 Adobe Inc. Detecting and modifying object attributes
JP2024072120A (ja) * 2022-11-15 2024-05-27 キヤノン株式会社 画像処理装置及び方法、プログラム及び記憶媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7787664B2 (en) 2006-03-29 2010-08-31 Eastman Kodak Company Recomposing photographs from multiple frames
WO2009094661A1 (en) 2008-01-24 2009-07-30 The Trustees Of Columbia University In The City Of New York Methods, systems, and media for swapping faces in images
US8913847B2 (en) * 2010-06-01 2014-12-16 Hewlett-Packard Development Company, L.P. Replacement of a person or object in an image
CN103430218A (zh) * 2011-03-21 2013-12-04 英特尔公司 用3d脸部建模和地标对齐扩增造型的方法
WO2012176317A1 (ja) * 2011-06-23 2012-12-27 サイバーアイ・エンタテインメント株式会社 画像認識システムを組込んだ関連性検索によるインタレスト・グラフ収集システム
US8824808B2 (en) * 2011-08-19 2014-09-02 Adobe Systems Incorporated Methods and apparatus for automated facial feature localization
US20140153832A1 (en) * 2012-12-04 2014-06-05 Vivek Kwatra Facial expression editing in images based on collections of images
US9613058B2 (en) 2014-12-17 2017-04-04 Adobe Systems Incorporated Neural network image curation control
US9984283B2 (en) * 2015-02-14 2018-05-29 The Trustees Of The University Of Pennsylvania Methods, systems, and computer readable media for automated detection of abnormalities in medical images
US10453204B2 (en) 2016-12-06 2019-10-22 Adobe Inc. Image alignment for burst mode images

Also Published As

Publication number Publication date
CN111178125A (zh) 2020-05-19
CN111177111A (zh) 2020-05-19
AU2019219764A1 (en) 2020-06-04
GB201912173D0 (en) 2019-10-09
US20210073961A1 (en) 2021-03-11
GB2581864A (en) 2020-09-02
US10896493B2 (en) 2021-01-19
US11551338B2 (en) 2023-01-10
AU2019219764B2 (en) 2021-10-21
US20200151860A1 (en) 2020-05-14
GB2581864B (en) 2021-11-03

Similar Documents

Publication Publication Date Title
DE102019005938A1 (de) Intelligentes Identifizieren von Ersetzungsbereichen zum Mischen und Ersetzen von Personen in Gruppenporträts
DE602006000400T2 (de) Bildsegmentierungsverfahren und -system
DE102017010210A1 (de) Bild-Matting mittels tiefem Lernen
DE102015010214A1 (de) Erzeugung von Tiefenkarten
DE602005004693T2 (de) Radiometrische kalibrierung von einem einzelnen bild
DE112020003794T5 (de) Tiefenbewusste Fotobearbeitung
DE69734855T2 (de) Vorrichtung und Verfahren zur Extraktion eines Objektes in einem Bild
DE102018008217A1 (de) Intelligente Anleitung zum Aufnehmen von Digitalbildern, die mit einem Zielbildmodell in Übereinstimmung gebracht sind
DE102018006243A1 (de) Vorhersagen von Patchverschiebungsabbildungen unter Verwendung eines Neuronalnetzwerkes
DE112017007579T5 (de) Verfahren und System zum automatischen Kolorieren von Nachtsichtbildern
DE102019007196A1 (de) Identifizieren von Zielobjekten unter Nutzung der skalierungsdiversen Segmentierung dienender neuronaler Netzwerke
DE102016011877A1 (de) Enttrüben von Fotos und Videos unter Verwendung einer visuellen Artefaktunterdrückung
DE202015009148U1 (de) Automatische Bearbeitung von Bildern
DE102021001438A1 (de) Belichtungsdefektklassifizierung von Bildern unter Nutzung eines neuronalen Netzwerkes
DE102013017122A1 (de) Verfahren zum Herstellen automatischer Cinemagramme auf einer Bildgebungsvorrichtung
DE102011078662A1 (de) Erfassen und Erzeugen von Bildern mit hohem Dynamikbereich
DE102009036474A1 (de) Bilddaten-Kompressionsverfahren, Mustermodell-Positionierungsverfahren bei Bildverarbeitung, Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und computerlesbares Aufzeichnungsmedium
DE102017006563A1 (de) Bildpatchabgleich unter Nutzung eines wahrscheinlichkeitsbasierten Abtastens auf Grundlage einer Vorhersage
DE102014019054A1 (de) Datenverarbeitungssystem und Verfahren zur Durchführung einer Gesichtserkennung
DE102017128297A1 (de) Technologie zur Merkmalserkennung und -verfolgung
DE112019007550T5 (de) Automatisches segmentieren und anpassen von bildern
DE102020003314A1 (de) Bildmanipulieren mit geometrischen und fotometrischen Transformationen
DE112019006666T5 (de) Bestimmung von Bereichen von Interesse für fotografische Funktionen
DE112016006833T5 (de) Verbesserung von kanten in bildern unter verwendung von tiefeninformationen
DE102013020611B4 (de) Ein Ansatz für eine Kamerasteuerung

Legal Events

Date Code Title Description
R012 Request for examination validly filed