DE102019008168A1 - Dynamisches Schätzen von Beleuchtungsparametern für Positionen innerhalb realitätserweiterter Szenen unter Nutzung eines neuronalen Netzwerkes - Google Patents

Dynamisches Schätzen von Beleuchtungsparametern für Positionen innerhalb realitätserweiterter Szenen unter Nutzung eines neuronalen Netzwerkes Download PDF

Info

Publication number
DE102019008168A1
DE102019008168A1 DE102019008168.4A DE102019008168A DE102019008168A1 DE 102019008168 A1 DE102019008168 A1 DE 102019008168A1 DE 102019008168 A DE102019008168 A DE 102019008168A DE 102019008168 A1 DE102019008168 A1 DE 102019008168A1
Authority
DE
Germany
Prior art keywords
lighting
training
digital
scene
location
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
DE102019008168.4A
Other languages
English (en)
Inventor
Kalyan Sunkavalli
Sunil Hadap
Nathan Carr
Mathieu Garon
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 DE102019008168A1 publication Critical patent/DE102019008168A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/40Analysis of texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/506Illumination models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • 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
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • 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
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

Die vorliegende Offenbarung betrifft Verfahren, nichttemporäre computerlesbare Medien und Systeme, die ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür nutzen, Beleuchtungsparameter für spezifische Positionen innerhalb einer Digitalszene für erweiterte Realität zu schätzen. Auf Grundlage einer Aufforderung zum Wiedergeben eines virtuellen Objektes in einer Digitalszene nutzt ein System ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk beispielsweise dafür, ortsspezifische Beleuchtungsparameter für eine bezeichnete Position innerhalb der Digitalszene zu generieren. Bei gewissen Implementierungen gibt das System zudem eine modifizierte Digitalszene, die das virtuelle Objekt an der bezeichneten Position umfasst, entsprechend den Parametern wieder. Bei einigen Ausführungsformen generiert das System derartige ortsspezifische Beleuchtungsparameter, um Beleuchtungsbedingungen für verschiedene Positionen innerhalb einer Digitalszene räumlich zu variieren und anzupassen. Da Aufforderungen zum Wiedergeben eines virtuellen Objektes in Echtzeit (oder nahezu in Echtzeit) eingehen, kann das System verschiedene ortsspezifische Beleuchtungsparameter, die Beleuchtungsbedingungen an verschiedenen Positionen innerhalb einer Digitalszene genau widerspiegeln, in Reaktion auf Wiedergabeaufforderungen schnell generieren.

Description

  • Hintergrund
  • Realitätserweiterungssysteme bilden digital nachbearbeitete Bilder oder andere Szenen oftmals mit computersimulierten Objekten ab. Um derartige Szenen abzubilden, gibt ein Realitätserweiterungssystem sowohl reale Objekte wie auch computersimulierte Objekte bisweilen mit einer Schattierung und anderen Beleuchtungsbedingungen wieder. Zahlreiche Realitätserweiterungssysteme versuchen, virtuelle Objekte, die mit Objekten aus der realen Welt zusammengestellt sind, übergangsfrei wiederzugeben. Um überzeugende Zusammenstellungen zu verwirklichen, muss ein Realitätserweiterungssystem virtuelle Objekte mit einer konsistenten Beleuchtung, die zu einer physischen Szene passt, ausleuchten. Da sich die reale Welt ständig ändert (beispielsweise bewegen sich Objekte, die Beleuchtung ändert sich) können Realitätserweiterungssysteme, die Beleuchtungsbedingungen vorab erfassen, die Beleuchtungsbedingungen oftmals nicht so anpassen, dass sie Änderungen in der realen Welt widerspiegeln.
  • Trotz Fortschritten beim Schätzen von Beleuchtungsbedingungen für digital nachbearbeitete Szenen halten einige technische Beschränkungen herkömmliche Realitätserweiterungssysteme nach wie vor davon ab, Beleuchtungsbedingungen auf Rechenvorrichtungen realistisch abzubilden. Derartige Beschränkungen beinhalten die Änderung von Beleuchtungsbedingungen, wenn sich eine digital nachbearbeitete Szene ändert, die schnelle Wiedergabe oder Anpassung von Beleuchtungsbedingungen in Echtzeit (oder nahezu in Echtzeit) und eine glaubhaft erfasste Änderung der Beleuchtung in einer Szene. Diese Beschränkungen verschärfen sich in dreidimensionalen Szenen, wo jeder Ort in einem gegebenen Moment eine andere Lichtmenge aus einem vollständigen 360°-Bereich von Richtungen empfangen kann. Sowohl die Richtungsabhängigkeit wie auch die Schwankung des Lichtes über die Szene hinweg spielen bei dem Versuch, künstliche Objekte in einer Szene glaubhaft und überzeugend wiederzugeben, eine kritische Rolle.
  • Einige herkömmliche Realitätserweiterungssysteme können beispielsweise Beleuchtungsbedingungen für ein computersimuliertes Objekt in Echtzeit (oder nahezu in Echtzeit) nicht realistisch abbilden. In einigen Fällen nutzen herkömmliche Realitätserweiterungssysteme ein Umgebungslichtmodell (also lediglich einen einzigen konstanten Term ohne Richtungsinformation), um das Licht, das ein Objekt aus seiner Umgebung empfängt, zu schätzen. Herkömmliche Realitätserweiterungssysteme nutzen beispielsweise oftmals einfache Heuristiken, um Beleuchtungsbedingungen zu schaffen, und zwar beispielsweise durch Rückgriff auf mittlere Helligkeitswerte für Pixel eines Objektes (oder um dieses herum), um Beleuchtungsbedingungen in einem Umgebungslichtmodell zu schaffen. Eine derartige Näherung erfasst jedoch keine Richtungsschwankungen der Beleuchtung und scheitert bei vielen Bedingungen gegebenenfalls an der Herstellung einer tauglichen Näherung der Umgebungsbeleuchtung, was zu einer unrealistischen und unnatürlichen Beleuchtung führt. Eine derartige Beleuchtung bewirkt, dass computersimulierte Objekte in einer digital nachbearbeiteten Szene unrealistisch oder deplatziert wirken. In einigen Fällen können herkömmliche Systeme die Beleuchtung an Objekten beispielsweise dann nicht genau abbilden, wenn Licht für ein computersimuliertes Objekt von außerhalb der Perspektive (oder des Betrachtungspunktes), die in einem digital nachbearbeiteten Bild gezeigt ist, stammt.
  • Zusätzlich zu Problemen beim Abbilden einer realistischen Beleuchtung können herkömmliche Realitätserweiterungssysteme in einigen Fällen Beleuchtungsbedingungen für ein bestimmtes computersimuliertes Objekt in einer Szene nicht flexibel anpassen oder ändern. Beispielsweise bestimmen einige Realitätserweiterungssysteme Beleuchtungsbedingungen für ein digital nachbearbeitetes Bild als kollektiven Satz von Objekten oder als Bild als Ganzes anstelle von Beleuchtungsbedingungen für bestimmte Objekte oder Orte innerhalb des digital nachbearbeiteten Bildes. Da derartige Beleuchtungsbedingungen für einen Satz von Objekten oder ein ganzes Bild allgemein gelten, können herkömmliche Systeme Beleuchtungsbedingungen für ein bestimmtes Objekt nicht anpassen oder dies aufgrund ineffizienter Nutzung von Rechenressourcen allenfalls so bewerkstelligen, dass sie Beleuchtungsbedingungen für das gesamte digital nachbearbeitete Bild erneut bestimmen.
  • Unabhängig von technischen Beschränkungen, die die Realitätsnähe oder Flexibilität der Beleuchtung in der erweiterten Realität beeinflussen, können herkömmliche Realitätserweiterungssysteme Beleuchtungsbedingungen für Objekte innerhalb einer digital nachbearbeiteten Szene bisweilen nicht zügig schätzen. Einige herkömmliche Realitätserweiterungssysteme empfangen beispielsweise eine Nutzereingabe, die Basisparameter, so beispielsweise die Bildgeometrie oder Materialeigenschaften, definiert, und schätzen parametrisches Licht für eine digital nachbearbeitete Szene auf Grundlage der Basisparameter. Während einige herkömmliche Systeme derartige nutzerseitig definierte Parameter anwenden können, um Beleuchtungsbedingungen genau zu schätzen, können derartige Systeme eine parametrische Beleuchtung weder schnell schätzen, noch ein bildgeometriespezifisches Beleuchtungsmodell auf andere Szenen mit anderen Lichtquellen und anderer Geometrie anwenden.
  • Zusammenfassung
  • Die vorliegende Offenbarung beschreibt Ausführungsformen von Verfahren, nichttemporären computerlesbaren Medien und Systemen, die die vorbeschriebenen Probleme lösen und zusätzlich weitere nützliche Eigenschaften aufweisen. Auf Grundlage einer Aufforderung zum Wiedergeben eines virtuellen Objektes in einer Digitalszene nutzen die offenbarten Systeme beispielsweise ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk zum Generieren von ortsspezifischen Beleuchtungsparametern für eine bezeichnete Position innerhalb der Digitalszene. Bei gewissen Implementierungen geben die offenbarten Systeme eine modifizierte Digitalszene wieder, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst. Wie nachstehend erläutert wird, können die offenbarten Systeme derartige ortsspezifische Beleuchtungsparameter generieren, um die Beleuchtung für verschiedene Positionen innerhalb einer Digitalszene räumlich zu variieren. Entsprechend können die offenbarten Systeme, da Aufforderungen zum Wiedergeben eines virtuellen Objektes in Echtzeit (oder nahezu in Echtzeit) eingehen, verschiedene ortsspezifische Beleuchtungsparameter, die Beleuchtungsbedingungen an verschiedenen Positionen einer Digitalszene widerspiegeln, auf Grundlage derartiger Wiedergabeaufforderungen schnell generieren.
  • Bei einigen Ausführungsformen identifizieren die offenbarten Systeme beispielsweise eine Aufforderung zum Wiedergeben eines virtuellen Objektes an einer bezeichneten Position innerhalb einer Digitalszene. Die offenbarten Systeme extrahieren eine Globalmerkmalskarte aus der Digitalszene unter Nutzung eines ersten Satzes von Netzwerkschichten eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Die Systeme generieren des Weiteren einen Lokalpositionsindikator für die bezeichnete Position und modifizieren die Globalmerkmalskarte für die Digitalszene auf Grundlage des Lokalpositionsindikators. Auf Grundlage der modifizierten Globalmerkmalskarte generieren die Systeme ortsspezifische Beleuchtungsparameter für die bezeichnete Position unter Nutzung eines zweiten Satzes von Schichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. In Reaktion auf die Wiedergabeaufforderung geben die Systeme eine modifizierte Digitalszene wieder, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst.
  • Die nachfolgende Beschreibung führt zusätzliche Merkmale und Vorteile der offenbarten Verfahren, nichttemporären computerlesbaren Medien und Systeme auf und kann derartige zusätzliche Merkmale und Vorteile aus der Praxis exemplarischer Ausführungsformen offenbar machen oder offenbaren.
  • Figurenliste
  • Die Detailbeschreibung bezieht sich auf die nachfolgende Kurzbeschreibung der Zeichnung.
    • 1 zeigt entsprechend einer oder mehreren Ausführungsformen ein Realitätserweiterungssystem und ein Beleuchtungsschätzungssystem mit Nutzung eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes dafür, ortsspezifische Beleuchtungsparameter für eine bezeichnete Position innerhalb einer Digitalszene zu generieren und eine modifizierte Digitalszene, die das virtuelle Objekt an der bezeichneten Position umfasst, entsprechend den Parametern wiederzugeben.
    • 2 zeigt entsprechend einer oder mehreren Ausführungsformen eine Digitaltrainingsszene und entsprechende Kubuskarten.
    • 3 zeigt entsprechend einer oder mehreren Ausführungsformen Grade von ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten.
    • 4A zeigt entsprechend einer oder mehreren Ausführungsformen ein Beleuchtungsschätzungssystem, das ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür trainiert, ortsspezifische Kugelflächenfunktionskoeffizienten für bezeichnete Positionen innerhalb von Digitalszenen zu generieren.
    • 4B zeigt entsprechend einer oder mehreren Ausführungsformen ein Beleuchtungsschätzungssystem, das ein trainiertes der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür nutzt, ortsspezifische Kugelflächenfunktionskoeffizienten für eine bezeichnete Position innerhalb einer Digitalszene zu generieren.
    • 5A zeigt entsprechend einer oder mehreren Ausführungsformen ein Beleuchtungsschätzungssystem, das ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür trainiert, ortsspezifische Kugelflächenfunktionskoeffizienten für bezeichnete Positionen innerhalb von Digitalszenen unter Nutzung von Koordinaten für Merkmalskarten aus Schichten des neuronalen Netzwerkes zu generieren.
    • 5B zeigt entsprechend einer oder mehreren Ausführungsformen ein Beleuchtungsschätzungssystem, das ein trainiertes der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür nutzt, ortsspezifische Kugelflächenfunktionskoeffizienten für eine bezeichnete Position innerhalb einer Digitalszene unter Nutzung von Koordinaten für Merkmalskarten aus Schichten des neuronalen Netzwerkes entsprechend einer oder mehreren Ausführungsformen zu generieren.
    • 6A bis 6C zeigen entsprechend einer oder mehreren Ausführungsformen eine Rechenvorrichtung, die eine Digitalszene, die ein virtuelles Objekt an einer bezeichneten Position und einer neuen bezeichneten Position umfasst, entsprechend ortsspezifischen Beleuchtungsparametern beziehungsweise neuen ortsspezifischen Beleuchtungsparametern in Reaktion auf verschiedene Wiedergabeaufforderungen wiedergibt,
    • 7A zeigt entsprechend einer oder mehreren Ausführungsformen eine Digitalszene und entsprechende Rot-Grün-Blau-Darstellungen und Lichtintensitätsdarstellungen, die entsprechend Ground-Truth-Beleuchtungsparametern und ortsspezifischen Beleuchtungsparametern, die von einem Beleuchtungsschätzungssystem generiert werden, wiedergegeben werden.
    • 7B zeigt entsprechend einer oder mehreren Ausführungsformen eine Digitalszene, die virtuelle Objekte an bezeichneten Positionen mit einer Ausleuchtung entsprechend Ground-Truth-Beleuchtungsparametern umfasst, und die Digitalszene, die die virtuellen Objekte an den bezeichneten Positionen mit einer Ausleuchtung entsprechend ortsspezifischen Beleuchtungsparametern, die von einem Beleuchtungsschätzungssystem generiert werden, umfasst.
    • 8 zeigt entsprechend einer oder mehreren Ausführungsformen ein Blockdiagramm einer Umgebung, in der das Beleuchtungsschätzungssystem arbeiten kann.
    • 9 zeigt entsprechend einer oder mehreren Ausführungsformen ein schematisches Diagramm des Beleuchtungsschätzungssystems von 8.
    • 10 zeigt entsprechend einer oder mehreren Ausführungsformen ein Flussdiagramm mit einer Abfolge von Vorgängen zum Trainieren eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes dafür, ortsspezifische Beleuchtungsparameter zu generieren.
    • 11 zeigt entsprechend einer oder mehreren Ausführungsformen ein Flussdiagramm mit einer Abfolge von Vorgängen zum Anwenden eines trainierten der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes dafür, ortsspezifische Beleuchtungsparameter zu generieren.
    • 12 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung zur Implementierung einer oder mehrerer Ausführungsformen der vorliegenden Offenbarung.
  • Detailbeschreibung
  • Die vorliegende Offenbarung beschreibt eine oder mehrere Ausführungsformen eines Beleuchtungsschätzungssystems, das ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür nutzt, Beleuchtungsparameter für spezifische Positionen innerhalb einer Digitalszene für erweiterte Realität zu schätzen. Auf Grundlage einer Aufforderung zum Wiedergeben eines virtuellen Objektes in einer Digitalszene nutzt das Beleuchtungsschätzungssystem beispielsweise ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür, ortsspezifische Beleuchtungsparameter für eine bezeichnete Position innerhalb der Digitalszene zu generieren. Bei gewissen Implementierungen gibt das Beleuchtungsschätzungssystem zudem eine modifizierte Digitalszene, die das virtuelle Objekt an der bezeichneten Position umfasst, entsprechend den Parametern wieder. Bei einigen Ausführungsformen generiert das Beleuchtungsschätzungssystem derartige ortsspezifische Beleuchtungsparameter, um Beleuchtungsbedingungen für verschiedene Positionen innerhalb einer Digitalszene räumlich zu variieren und anzupassen. Da Aufforderungen zum Wiedergeben eines virtuellen Objektes in Echtzeit (oder nahezu in Echtzeit) eingehen, kann das Beleuchtungsschätzungssystem verschiedene ortsspezifische Beleuchtungsparameter, die Beleuchtungsbedingungen an verschiedenen Positionen innerhalb einer Digitalszene oder aus verschiedenen Perspektiven derselben genau widerspiegeln, in Reaktion auf Wiedergabeaufforderungen schnell generieren. Das Beleuchtungsschätzungssystem kann auf gleiche Weise verschiedene ortsspezifische Lichtparameter, die eine Änderung der Beleuchtung oder anderer Bedingungen widerspiegeln, schnell generieren.
  • Bei einigen Ausführungsformen identifiziert das Beleuchtungsschätzungssystem beispielsweise eine Aufforderung zum Wiedergeben eines virtuellen Objektes an einer bestimmten Position innerhalb einer Digitalszene. Um eine derartige Szene wiederzugeben, extrahiert das Beleuchtungsschätzungssystem eine Globalmerkmalskarte aus der Digitalszene unter Nutzung eines ersten Satzes von Netzwerkschichten eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Das Beleuchtungsschätzungssystem generiert des Weiteren einen Lokalpositionsindikator für die bezeichnete Position und modifiziert die Globalmerkmalskarte für die Digitalszene auf Grundlage des Lokalpositionsindikators. Auf Grundlage der modifizierten Globalmerkmalskarte generiert das Beleuchtungsschätzungssystem ortsspezifische Beleuchtungsparameter für die bezeichnete Position unter Nutzung eines zweiten Satzes von Schichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. In Reaktion auf die Wiedergabeaufforderung gibt das Beleuchtungsschätzungssystem eine modifizierte Digitalszene wieder, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst.
  • Unter Nutzung von ortsspezifischen Beleuchtungsparametern kann das Beleuchtungsschätzungssystem bei einigen Ausführungsformen sowohl ein virtuelles Objekt aus verschiedenen Perspektiven einer Szene ausleuchten wie auch Beleuchtungsbedingungen für verschiedene Positionen, verschiedene Perspektiven, Beleuchtungsänderungen oder andere Umgebungsänderungen an einer Szene oder einem virtuellen Objekt in einer Szene schnell aktualisieren. In einigen Fällen generiert das Beleuchtungsschätzungssystem beispielsweise ortsspezifische Beleuchtungsparameter, die Beleuchtungsbedingungen für eine Position eines virtuellen Objektes aus verschiedenen Perspektiven innerhalb der Digitalszene erfassen. Beim Identifizieren einer Positionsanpassungsaufforderung zum Bewegen eines virtuellen Objektes zu einer neuen bezeichneten Position kann das Beleuchtungsschätzungssystem zudem einen neuen Lokalpositionsindikator für die neue bezeichnete Position generieren und ein neuronales Netzwerk dafür nutzen, eine Globalmerkmalskarte für die Digitalszene zu modifizieren, um neue Beleuchtungsparameter für die neue bezeichnete Position auszugeben. Beim Identifizieren einer Änderung der Beleuchtungsbedingungen für eine Digitalszene oder andernfalls in Reaktion hierauf kann das Beleuchtungsschätzungssystem auf gleiche Weise eine Globalmerkmalskarte für die Digitalszene aktualisieren, um neue Beleuchtungsparameter für die neuen Beleuchtungsbedingungen auszugeben. Ändert sich beispielsweise der Betrachtungspunkt eines Betrachters (bewegt sich beispielsweise eine Kamera durch eine Szene), ändert sich die Beleuchtung in einer Szene (wird Licht beispielsweise hinzugefügt, gedämpft, verdeckt, freigelegt), ändern sich Objekte innerhalb einer Szene oder ändert sich die Szene selbst, so kann das Beleuchtungsschätzungssystem Beleuchtungsparameter dynamisch bestimmen oder aktualisieren.
  • Zum Generieren von ortsspezifischen Beleuchtungsparametern kann das Beleuchtungsschätzungssystem verschiedene Typen von Lokalpositionsindikatoren nutzen. Bei gewissen Ausführungsformen identifiziert das Beleuchtungsschätzungssystem (als Lokalpositionsindikator) beispielsweise eine Lokalpositionskoordinate, die eine bezeichnete Position innerhalb einer Digitalszene darstellt. Bei einigen Implementierungen identifiziert das Beleuchtungsschätzungssystem demgegenüber einen oder mehrere Lokalpositionsindikatoren aus Merkmalen, die durch verschiedene Schichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes extrahiert werden, so beispielsweise Pixel entsprechend einer bezeichneten Position aus verschiedenen Merkmalskarten, die durch Schichten des neuronalen Netzwerkes extrahiert werden.
  • Beim Generieren von ortsspezifischen Beleuchtungsparametern kann das Beleuchtungsschätzungssystem Kugelfunktionskoeffizienten bzw. Kugelflächenfunktionskoeffizienten (spherical-harmonic coefficients) generieren, die Beleuchtungsbedingungen für eine bezeichnete Position innerhalb einer Digitalszene für ein virtuelles Objekt angeben. Derartige ortsspezifische Kugelflächenfunktionskoeffizienten können eine HDR-Beleuchtung (High Dynamic Range HDR, hoher dynamischer Bereich) für eine Position innerhalb einer Digitalszene erfassen, wenn die Digitalszene mit LDR-Beleuchtung (Low Dynamic Range LDR, niedriger dynamischer Bereich) dargestellt ist. Da ein virtuelles Objekt die Position innerhalb der Digitalszene ändern kann, kann das Beleuchtungsschätzungssystem das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk dafür nutzen, neue ortsspezifische Kugelflächenfunktionskoeffizienten nach Aufforderung zu generieren, um Änderungen der Beleuchtung an den geänderten Positionen des virtuellen Objektes realistisch abzubilden.
  • Wie vorstehend erwähnt worden ist, wendet das Beleuchtungsschätzungssystem bei einigen Ausführungsformen nicht nur ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk an, sondern kann ein derartiges Netzwerk optional auch dafür trainieren, ortsspezifische Beleuchtungsparameter zu generieren. Beim Trainieren eines neuronalen Netzwerkes extrahiert das Beleuchtungsschätzungssystem bei gewissen Implementierungen eine Globalmerkmalstrainingskarte aus einer Digitaltrainingsszene unter Nutzung eines ersten Satzes von Schichten eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Das Beleuchtungsschätzungssystem generiert des Weiteren einen Lokalpositionstrainingsindikator für eine bezeichnete Position innerhalb der Digitaltrainingsszene und modifiziert die Globalmerkmalstrainingskarte auf Grundlage des Lokalpositionstrainingsindikators für die bezeichnete Position.
  • Aus der modifizierten Globalmerkmalstrainingskarte generiert das Beleuchtungsschätzungssystem ortsspezifische Beleuchtungstrainingsparameter für die bezeichnete Position unter Nutzung eines zweiten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Das Beleuchtungsschätzungssystem modifiziert anschließend Netzwerkparameter des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes auf Grundlage eines Vergleiches der ortsspezifischen Beleuchtungstrainingsparameter mit Ground-Truth-Beleuchtungsparametern für die bezeichnete Position innerhalb der Digitaltrainingsszene. Durch iteratives Generieren derartiger ortsspezifischer Beleuchtungstrainingsparameter und durch Anpassen von Netzwerkparametern des neuronalen Netzwerkes kann das Beleuchtungsschätzungssystem ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk bis zu einem Konvergenzpunkt trainieren.
  • Wie eben bemerkt worden ist, kann das Beleuchtungsschätzungssystem Ground-Truth-Beleuchtungsparameter für bezeichnete Positionen dafür nutzen, das Training zu erleichtern. Um derartige Ground-Truth-Beleuchtungsparameter zu schaffen, generiert das Beleuchtungsschätzungssystem bei einigen Ausführungsformen eine Kubuskarte für verschiedene Positionen innerhalb einer Digitaltrainingsszene. Das Beleuchtungsschätzungssystem projiziert Kubuskarten für die Digitaltrainingsszene anschließend auf Ground-Truth-Kugelflächenfunktionskoeffizienten. Derartige Ground-Truth-Kugelflächenfunktionskoeffizienten können zum Vergleich beim iterativen Trainieren des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes benutzt werden.
  • Wie vorstehend erwähnt worden ist, überwindet das offenbarte Beleuchtungsschätzungssystem einige technische Unzulänglichkeiten, die herkömmliche Realitätserweiterungssysteme behindern. Das Beleuchtungsschätzungssystem verbessert beispielsweise die Genauigkeit und die Realitätsnähe, mit der bestehende Realitätserweiterungssysteme Beleuchtungsbedingungen für spezifische Orte innerhalb einer Digitalszene generieren. Wie vorstehend erwähnt worden ist und nachstehend noch beschrieben wird, kann das Beleuchtungsschätzungssystem eine derartige realistische Beleuchtung teilweise dadurch schaffen, dass es ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk nutzt, das dafür trainiert ist, ortsspezifische Kugel(flächenfunktions)beleuchtungsparameter auf Grundlage eines Lokalpositionsindikators für eine bezeichnete Position innerhalb einer Digitalszene zu generieren.
  • Im Gegensatz zu einigen herkömmlichen Systemen, die mittlere Helligkeitswerte nutzen, was zu einer unnatürlichen Beleuchtung führt, kann das offenbarte Beleuchtungsschätzungssystem Beleuchtungsparameter mit Genauigkeit auf Koordinatenebene entsprechend dem Lokalpositionsindikator schaffen. Im Gegensatz zu gewissen herkömmlichen Systemen, die eine Beleuchtung, die von außerhalb der Perspektive einer Digitalszene stammt, nicht abbilden können, kann das offenbarte Beleuchtungsschätzungssystem Beleuchtungsparameter schaffen, die Beleuchtungsbedingungen erfassen, die von einer Lichtquelle außerhalb der Perspektive einer Digitalszene ausgehen. Um diese Genauigkeit zu erreichen, generiert das Beleuchtungsschätzungssystem bei einigen Ausführungsformen ortsspezifische Kugelflächenfunktionskoeffizienten, die realistische und natürlich aussehende Beleuchtungsbedingungen für eine bestimmte Position von mehreren Betrachtungspunkten innerhalb der Digitalszene aus effizient erfassen.
  • Zusätzlich zu einer realistischeren Abbildung der Beleuchtung bietet das Beleuchtungsschätzungssystem bei einigen Ausführungsformen mehr Flexibilität beim Wiedergeben von verschiedenen Beleuchtungsbedingungen für verschiedene Positionen im Vergleich zu bestehenden Realitätserweiterungssystemen. Im Gegensatz zu einigen herkömmlichen Realitätserweiterungssystemen, die darauf beschränkt sind, die Beleuchtung für einen kollektiven Satz von Objekten oder für ein gesamtes Bild neu zu bestimmen, kann das Beleuchtungsschätzungssystem Beleuchtungsbedingungen für verschiedene Positionen, zu denen sich ein virtuelles Objekt bewegt, flexibel anpassen. Beim Identifizieren einer Positionsanpassungsaufforderung zum Bewegen eines virtuellen Objektes kann das offenbarte Beleuchtungsschätzungssystem beispielsweise einen neuen Lokalpositionsindikator dafür nutzen, eine bestehende Globalmerkmalskarte für eine Digitalszene zu modifizieren. Durch Modifizieren einer Globalmerkmalskarte derart, dass diese einen neuen bezeichneten Ort widerspiegelt, kann das Beleuchtungsschätzungssystem neue ortsspezifische Beleuchtungsparameter für einen neuen bezeichneten Ort generieren, ohne die Beleuchtungsbedingungen für andere Objekte oder das gesamte Bild erneut bestimmen zu müssen. Eine derartige Flexibilität ermöglicht Nutzern, Objekte in Realitätserweiterungsanwendungen für Mobilvorrichtungen oder andere Rechenvorrichtungen zu manipulieren.
  • Unabhängig von der Realitätsnähe und Flexibilität kann das offenbarte Beleuchtungsschätzungssystem zudem die Geschwindigkeit erhöhen, mit der ein Realitätserweiterungssystem eine Digitalszene mit ortsspezifischer Beleuchtung für virtuelle Objekte wiedergibt. Im Gegensatz zu Beleuchtungsmodellen, die auf der Untersuchung der Bildgeometrie oder ähnlicher Basisparameter beruhen, nutzt das offenbarte Beleuchtungsschätzungssystem ein neuronales Netzwerk, das zum Schätzen der Beleuchtung im Vergleich weniger Eingaben, nämlich eine Digitalszene und einen Indikator für die Position eines virtuellen Objektes, benötigt. Durch Trainieren eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes dafür, derartige Eingaben zu analysieren, verringert das Beleuchtungsschätzungssystem die Rechenressourcen, die zum schnellen Generieren von Beleuchtungsparametern für einen spezifischen Ort innerhalb einer Digitalszene benötigt werden.
  • 1 zeigt ein Realitätserweiterungssystem 108 und ein Beleuchtungsschätzungssystem 110 mit Nutzung eines neuronalen Netzwerkes dafür, ortsspezifische Beleuchtungsparameter zu schätzen. Im Allgemeinen identifiziert das Beleuchtungsschätzungssystem 110, wie in 1 gezeigt ist, eine Aufforderung zum Wiedergeben eines virtuellen Objektes 106 an einer bezeichneten Position innerhalb einer Digitalszene 102 und nutzt ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk 112 dafür, ortsspezifische Beleuchtungsparameter 114 für die bezeichnete Position zu generieren. Auf Grundlage der Aufforderung gibt das Realitätserweiterungssystem 108 in Verbindung mit dem Beleuchtungsschätzungssystem 110 eine modifizierte Digitalszene 116 wieder, die das virtuelle Objekt 106 an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern 114 umfasst. Obwohl 1 das Realitätserweiterungssystem 108 zeigt, das das Beleuchtungsschätzungssystem 110 umfasst und die modifizierte Digitalszene 116 wiedergibt, kann alternativ auch das Beleuchtungsschätzungssystem 110 die modifizierte Digitalszene 116 selbst wiedergeben.
  • Wie eben bemerkt worden ist, identifiziert das Beleuchtungsschätzungssystem 110 eine Aufforderung zum Wiedergeben des virtuellen Objektes 106 an einer bezeichneten Position innerhalb der Digitalszene 102. Das Beleuchtungsschätzungssystem 110 kann beispielsweise eine digitale Aufforderung von einer Mobilvorrichtung zum Wiedergeben eines virtuellen Kissens (oder eines anderen virtuellen Objektes) an einer bestimmten Position an einem Möbelstück (oder einem anderen realen Objekt), das in einem Digitalbild abgebildet ist, identifizieren. Unabhängig von den Typen von Objekten oder Szenen aus einer Aufforderung beinhaltet die Aufforderung zum Wiedergeben der Digitalszene bei einigen Ausführungsformen eine Angabe einer bezeichneten Position, an der ein virtuelles Objekt wiedergegeben werden soll.
  • Im Sinne der vorliegenden Offenbarung bezeichnet der Begriff „Digitalszene“ ein Digitalbild, ein Modell oder eine Abbildung von Objekten. Bei einigen Ausführungsformen umfasst eine Digitalszene beispielsweise ein Digitalbild einer realistischen Szene von einem bestimmten Betrachtungspunkt oder von mehreren Betrachtungspunkten aus. Bei einem weiteren Beispiel kann eine Digitalszene ein dreidimensionales Digitalmodell einer Szene umfassen. Unabhängig vom Format kann die Digitalszene Abbildungen von Licht aus einer Lichtquelle beinhalten. Rein beispielhalber kann eine Digitalszene ein Digitalbild eines realen Zimmers umfassen, das reale Wände, einen realen Teppich, reale Möbelstücke und reale Menschen enthält, wobei Licht von einer Lampe oder einem Fenster ausgeht. Wie nachstehend noch weiter beschrieben wird, kann eine Digitalszene auch derart modifiziert werden, dass sie ein virtuelles Objekt in einer angepassten oder modifizierten Szene, die eine erweiterte Realität abbildet, beinhaltet.
  • Im Zusammenhang damit bezeichnet der Begriff „virtuelles Objekt“ ein computergeneriertes grafisches Objekt, das in der physischen Welt nicht vorhanden ist. Ein virtuelles Objekt kann beispielsweise ein Objekt beinhalten, das von einem Computer für den Einsatz innerhalb einer Realitätserweiterungsanwendung geschaffen worden ist. Ein derartiges virtuelles Objekt kann unter anderem virtuelle Kleinteile, Tiere, Bekleidung, Kosmetika, Schuhe, Einbauten, Möbelstücke, Gegenstände, Haare, Menschen, physische Merkmale von Menschen, Fahrzeuge oder ein anderes grafisches Objekt, das von einem Computer geschaffen wird, beinhalten. Die vorliegende Offenbarung nutzt das Wort „virtuell“ allgemein dafür, spezifische virtuelle Objekte (beispielsweise „ein virtuelles Kissen“ oder „einen virtuellen Schuh“) zu bezeichnen, bezeichnet jedoch auch ohne das Wort „real“ allgemein reale Objekte (beispielsweise „Bett“, „Sofa“).
  • Wie in 1 weiter angegeben ist, identifiziert oder generiert das Beleuchtungsschätzungssystem 110 einen Lokalpositionsindikator 104 für die bezeichnete Position in einer Wiedergabeaufforderung. Im Sinne des Vorliegenden bezeichnet der Begriff „Lokalpositionsindikator“ einen Digitalidentifikator für einen Ort innerhalb einer Digitalszene. Bei gewissen Implementierungen beinhaltet ein Lokalpositionsindikator beispielsweise eine Digitalkoordinate, ein Pixel oder eine andere Markierung, die eine bezeichnete Position innerhalb einer Digitalszene aus einer Aufforderung zum Wiedergeben eines virtuellen Objektes angeben. Darstellungshalber kann der Lokalpositionsindikator eine Koordinate sein, die eine bezeichnete Position oder ein Pixel (oder eine Koordinate für ein Pixel) entsprechend der bezeichneten Position darstellt. Neben weiteren Ausführungsformen kann das Beleuchtungsschätzungssystem 110 einen Lokalpositionsindikator für das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 112 generieren (oder in dieses eingeben) oder das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 112 dafür nutzen, einen oder mehrere Lokalpositionsindikatoren aus Merkmalskarten zu identifizieren.
  • Zusätzlich zum Generieren eines Lokalpositionsindikators nutzt das Beleuchtungsschätzungssystem 110 das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 112 dafür, einen oder beide von der Digitalszene 102 und dem Lokalpositionsindikator 104 zu analysieren. In einigen Fällen extrahiert das Beleuchtungsschätzungssystem 110 beispielsweise eine Globalmerkmalskarte aus der Digitalszene 102 unter Nutzung eines ersten Satzes von Schichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 112. Das Beleuchtungsschätzungssystem 110 kann des Weiteren die Globalmerkmalskarte für die Digitalszene 102 auf Grundlage des Lokalpositionsindikators 104 für die bezeichnete Position modifizieren.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Globalmerkmalskarte“ eine mehrdimensionale Feldanordnung (array) oder einen mehrdimensionalen Vektor, die/der Merkmale einer Digitalszene (beispielsweise eines Digitalbildes oder eines dreidimensionalen Digitalmodells) darstellt. Eine Globalmerkmalskarte für eine Digitalszene kann beispielsweise verschiedene visuelle oder latente Merkmale einer Gesamtdigitalszene darstellen, so beispielsweise die Beleuchtung oder die geometrischen Merkmale, die innerhalb einer Digitalszene oder eines dreidimensionalen Digitalmodells sichtbar oder eingebettet sind. Wie nachstehend erläutert wird, geben eine oder mehrere Schichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes eine Globalmerkmalskarte für eine Digitalszene aus.
  • Der Begriff „der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk“ bezeichnet ein künstliches neuronales Netzwerk, das Beleuchtungsparameter generiert, die Beleuchtungsbedingungen für eine Position innerhalb einer Digitalszene angeben. Insbesondere bezeichnet ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk bei gewissen Implementierungen ein künstliches neuronales Netzwerk, das in einem Bild ortsspezifische Beleuchtungsparameter generiert, die Beleuchtungsbedingungen für eine bezeichnete Positionen entsprechend einem virtuellen Objekt innerhalb einer Digitalszene angeben. Bei einigen Ausführungsformen umfasst ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk einige oder alle der nachfolgenden Netzwerkschichten: eine oder mehrere Schichten aus einem dicht verbundenen (densely connected) faltungstechnischen Netzwerk („DenseNet“), faltungstechnische Schichten und vollständig verbundene (fully connected) Schichten.
  • Nach dem Modifizieren einer Globalmerkmalskarte nutzt das Beleuchtungsschätzungssystem 110 einen zweiten Satz von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 112 dafür, die ortsspezifischen Beleuchtungsparameter 114 auf Grundlage einer modifizierten Globalmerkmalskarte zu generieren. Im Sinne der vorliegenden Offenbarung bezeichnet der Begriff „ortsspezifische Beleuchtungsparameter“ Parameter, die die Beleuchtung oder Ausleuchtung eines Abschnittes oder einer Position innerhalb einer Digitalszene angeben. Bei einigen Ausführungsformen definieren ortsspezifische Beleuchtungsparameter beispielsweise die Beleuchtung oder Schattierung von Pixeln entsprechend einer bezeichneten Position einer Digitalszene, spezifizieren diese oder geben diese auf andere Weise an. Derartige ortsspezifische Beleuchtungsparameter können die Schattierung oder den Farbton von Pixeln für ein virtuelles Objekt an einer bezeichneten Position definieren. Bei einigen Ausführungsformen umfassen ortsspezifische Beleuchtungsparameter Kugelflächenfunktionskoeffizienten, die Beleuchtungsbedingungen für eine bezeichnete Position innerhalb einer Digitalszene für ein virtuelles Objekt angeben. Entsprechend können ortsspezifische Beleuchtungsparameter Funktionen entsprechend der Oberfläche einer Kugel sein.
  • Wie in 1 weiter gezeigt ist, gibt das Realitätserweiterungssystem 108 zusätzlich zum Generieren derartiger Beleuchtungsparameter die modifizierte Digitalszene 116 aus, die das virtuelle Objekt 106 an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern 114 umfasst. Bei einigen Ausführungsformen überlagert das Realitätserweiterungssystem 108 beispielsweise ein computergeneriertes Bild des virtuellen Objektes 106 innerhalb der Digitalszene 102 oder integriert es auf andere Weise. Als Teil der Wiedergabe wählt das Realitätserweiterungssystem 108 Pixel für das virtuelle Objekt 106 aus und gibt diese wieder, wobei die Pixel die Beleuchtung, die Schattierung oder die geeigneten Farbtöne, die von den ortsspezifischen Beleuchtungsparametern 114 angegeben werden, widerspiegeln.
  • Wie vorstehend bemerkt worden ist, nutzt das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen Kubuskarten für Digitalszenen, um Ground-Truth-Beleuchtungsparameter für bezeichnete Positionen einer Digitalszene zu projizieren. 2 zeigt Beispiele für Kubuskarten entsprechend einer Digitalszene. Wie in 2 gezeigt ist, beinhaltet eine Digitaltrainingsszene 202 einen Betrachtungspunkt von Objekten, die von einer Lichtquelle ausgeleuchtet werden. Zum Generieren von Ground-Truth-Beleuchtungsparametern zum Training wählt das Beleuchtungsschätzungssystem 110 in einigen Fällen Positionen innerhalb der Digitaltrainingsszene 202 aus und identifiziert diese. Das Beleuchtungsschätzungssystem 110 generiert des Weiteren Kubuskarten 204a bis 204d entsprechend den identifizierten Positionen, wobei jede Kubuskarte eine identifizierte Position innerhalb der Digitaltrainingsszene 202 darstellt. Das Beleuchtungsschätzungssystem 110 projiziert die Kubuskarten 204a bis 204d sodann auf Ground-Truth-Kugelflächenfunktionskoeffizienten zur Nutzung beim Trainieren eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes.
  • Das Beleuchtungsschätzungssystem 110 generiert oder präpariert optional Digitaltrainingsszenen, so beispielsweise die Digitaltrainingsszene 202, durch Modifizieren von Bildern von realistischen oder computergenerierten Szenen. In einigen Fällen modifiziert das Beleuchtungsschätzungssystem 110 dreidimensionale Szenen beispielsweise aus dem SUNCG-Datensatz der Princeton University, wie beschrieben wird bei: „Semantic Scene Completion from a Single Depth Image" von Shuran Song et al., veröffentlicht bei „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2017)“. Der gesamte Inhalt hiervon wird hiermit durch Verweis mit aufgenommen. Die Szenen in dem SUNCG-Datensatz umfassen allgemein realistische Zimmer und Möbelanordnungen. Auf Grundlage des SUNCG-Datensatzes berechnet das Beleuchtungsschätzungssystem 110 physikbasierte Bildwiedergaben von Szenen. In einigen derartigen Fällen nutzt das Beleuchtungsschätzungssystem 110 ein Mitsuba-Framework zum Berechnen der physikbasierten Wiedergaben, wie beschrieben wird bei: „Physically-Based Rendering for Indoor Scene Understanding Using Convolutional Neural Networks" von Yinda Zhang et al., veröffentlicht bei „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2017)“ (nachstehend „Zhang“ genannt). Der gesamte Inhalt hiervon wird hiermit durch Verweis mit aufgenommen
  • Zum Entfernen einiger Ungenauigkeiten und Tendenzen bei derartigen Wiedergaben ändert das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen den rechentechnischen Lösungsansatz in mancher Hinsicht weg von demjenigen des Zhang-Algorithmus. Zunächst entfernt das Beleuchtungsschätzungssystem 110 digital Lichter, die inkonsistent zu Innenszenen wirken, so beispielsweise Flächenlichter von Böden, Wänden und Decken. Als Zweites wird anstelle der Nutzung eines einzigen Panoramas zur Außenausleuchtung wie bei „Zhang“ zufällig ein Panorama aus einem Datensatz von 200 HDR-Außenpanoramen ausgewählt und eine Zufallsdrehung um die Y-Achse des Panoramas ausgeführt. Als Drittes wählt das Beleuchtungsschätzungssystem 110, anstatt dass es dieselbe Intensität für jedes Innenflächenlicht zuweist, zufällig eine Lichtintensität zwischen 100 und 500 cd mit gleichmäßiger Verteilung aus. Bei einigen Implementierungen zum Generieren von Digitaltrainingsszenen nutzt das Beleuchtungsschätzungssystem 110 jedoch dasselbe Wiedergabeverfahren und dieselbe räumliche Auflösung, wie bei „Zhang“ beschrieben ist.
  • Da Innenszenen eine willkürliche Verteilung von Lichtquellen und Lichtintensitäten beinhalten können, normiert das Beleuchtungsschätzungssystem 110 jede physikbasierte Wiedergabe einer Digitalszene. Beim Normieren der Wiedergaben nutzt das Beleuchtungsschätzungssystem 110 die nachfolgende Gleichung: I ' = I m P 90
    Figure DE102019008168A1_0001
    In Gleichung (1) bezeichnet / eine ursprüngliche Bildwiedergabe mit HDR, I' bezeichnet die neubelichtete (re-exposed) Bildwiedergabe, m ist auf einen Wert von 0,8 gesetzt und P90 bezeichnet das neunzigste Perzentil der ursprünglichen Bildwiedergabe I. Durch Neubelichten der ursprünglichen Bildwiedergabe / beinhaltet die neubelichtete Bildwiedergabe I' weiterhin HDR-Werte. Das Beleuchtungsschätzungssystem 110 wendet des Weiteren eine Gamma-Tonabbildungsoperation (gamma tone-map operation) mit einem Zufallswert zwischen 1,8 und 2,2 auf die neubelichtete Bildwiedergabe I' an und schneidet alle Werte über 1 ab. Durch Anwenden der Gammatonabbildungsoperation (gamma-tone-mapping operation) kann das Beleuchtungsschätzungssystem 110 Bilder mit gesättigten hellen Fenstern und verbessertem Kontrast in der Szene erzeugen.
  • Wie vorstehend erläutert worden ist, identifiziert das Beleuchtungsschätzungssystem 110 Abtastpositionen innerhalb einer Digitaltrainingsszene, so beispielsweise innerhalb der Digitaltrainingsszene 202. Wie in 2 dargestellt ist, beinhaltet die Digitaltrainingsszene 202 vier Kugeln, die vier Abtastpositionen identifizieren, die von dem Beleuchtungsschätzungssystem 110 identifiziert werden. Die Digitaltrainingsszene 202 beinhaltet die Kugeln zu illustrativen Zwecken. Entsprechend stellen die Kugeln eine Visualisierung von Abtastpositionen, die von dem Beleuchtungsschätzungssystem 110 identifiziert werden, jedoch keine Objekte in der Digitaltrainingsszene 202 dar.
  • Zum Identifizieren derartiger Abtastpositionen identifiziert das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen vier verschiedene Quadranten der Digitaltrainingsszene 202 mit einem Rand von 20% der Bildauflösung von den Rändern des Bildes aus. In jedem Quadranten identifiziert das Beleuchtungsschätzungssystem 110 eine Abtastposition.
  • Wie vorstehend weiter bemerkt worden ist, generiert das Beleuchtungsschätzungssystem 110 die Kubuskarten 204a bis 204d auf Grundlage der Abtastpositionen aus der Digitaltrainingsszene 202. Wie in 2 gezeigt ist, beinhaltet jede der Kubuskarten 204a bis 204d sechs visuelle Abschnitte in HDR, die sechs verschiedene Perspektiven der Digitaltrainingsszene 202 darstellen. Das Kubusfeld bzw. die Kubuskarte 204a beinhaltet beispielsweise visuelle Abschnitte 206a bis 206e. In einigen Fällen beinhaltet jede der Kubuskarten 204a bis 204d eine Auflösung von 64×64×6. Eine derartige Auflösung hat geringe Auswirkungen auf Kugelflächenfunktionen fünften oder niedrigeren Grades und erleichtert eine schnelle Wiedergabe der Kubuskarten.
  • Zur Wiedergabe der Kubuskarten 204a bis 204d kann das Beleuchtungsschätzungssystem 110 einen zweistufigen PSSMLT (Primary Sample Space Metropolis Light Transport) mit 512 direkten Abtastungen anwenden. Beim Generieren des visuellen Abschnittes einer Kubuskarte, so beispielsweise des visuellen Abschnittes 206c, verschiebt das Beleuchtungsschätzungssystem 110 die Oberflächenposition um 10 cm in Richtung einer Oberflächennormalen, um das Risiko dessen zu minimieren, dass ein Teil der Kubuskarte innerhalb einer Oberfläche eines anderen Objektes befindlich ist. Bei einigen Implementierungen nutzt das Beleuchtungsschätzungssystem 110 dieselbe Vorgehensweise zum Identifizieren von Abtastpositionen in Digitaltrainingsszenen und Generieren der entsprechenden Kubuskarten als Vorläufer zum Bestimmen von ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten .
  • Nach dem Generieren der Kubuskarten 204a bis 204d projiziert das Beleuchtungsschätzungssystem 110 die Kubuskarten 204a bis 204d beispielsweise auf ortsspezifische Ground-Truth-Kugelflächenfunktionskoeffizienten für jede identifizierte Position innerhalb der Digitaltrainingsszene 202. In einigen Fällen umfassen die ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten Koeffizienten fünften Grades. Zur Berechnung derartiger Kugelflächenfunktionen wendet das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen ein Least-Squared-Verfahren zum Projizieren von Kubuskarten an.
  • Das Beleuchtungsschätzungssystem 110 kann beispielsweise die nachfolgende Gleichung zum Projizieren von Kubuskarten nutzen: f l m = f ( s ) y l m ( s ) δ s
    Figure DE102019008168A1_0002
    In Gleichung (2) bezeichnet f die Lichtintensität für jede Richtung, die von visuellen Abschnitten einer Kubuskarte gezeigt wird, wobei ein fester Winkel entsprechend einer Pixelposition die Lichtintensität gewichtet. Die Symbole y l m
    Figure DE102019008168A1_0003
    bezeichnen eine Kugelflächenfunktion des Grades l und der Ordnung m. In einigen Fällen berechnet das Beleuchtungsschätzungssystem 110 für jede Kubuskarte Kugelflächenfunktionskoeffizienten fünften Grades (oder eines anderen Grades) für jeden Farbkanal (beispielsweise dritter Ordnung), was 36×3 Kugelfunktionsflächenkoeffizienten ergibt.
  • Zusätzlich zum Generieren von ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten erweitert das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen zudem Digitaltrainingsszenen auf besondere Weisen. Zunächst skaliert das Beleuchtungsschätzungssystem 110 die Belichtung zufällig auf eine gleichmäßige Verteilung zwischen 0,2 und 4. Als Zweites setzt das Beleuchtungsschätzungssystem 110 einen Gamma-Wert zufällig auf einen Tonabbildungsoperator (tone-map generator) zwischen 1,8 und 2,2. Als Drittes invertiert das Beleuchtungsschätzungssystem 110 den Betrachtungspunkt von Digitaltrainingsszenen auf der X-Achse. Auf ähnliche Weise unterzieht das Beleuchtungsschätzungssystem 110 die Ground-Truth-Kugelflächenfunktionskoeffizienten einem Flipping, damit sie zu den invertierten Betrachtungspunkten passen, indem es die Funktionen negativer Ordnung invertiert, wie anhand der Symbole y l m
    Figure DE102019008168A1_0004
    gezeigt ist.
  • Wie vorstehend weiter bemerkt worden ist, kann das Beleuchtungsschätzungssystem 110 bei gewissen Implementierungen variierende Grade der Kugelflächenfunktionskoeffizienten nutzen. Das Beleuchtungsschätzungssystem 110 kann beispielsweise Ground-Truth-Kugelflächenfunktionskoeffizienten fünften Grades für jeden Farbkanal oder ortsspezifische Kugelflächenfunktionskoeffizienten fünften Grades für jeden Farbkanal generieren. 3 zeigt eine visuelle Darstellung verschiedener Grade der Kugelflächenfunktionen und Beleuchtungsbedingungen einer Vollumgebungskarte für eine Position innerhalb einer Digitalszene entsprechend verschiedenen Graden der Kugelflächenfunktionen.
  • Wie in 3 gezeigt ist, entsprechen visuelle Darstellungen 302a, 302b, 302c, 302d und 302e bezugsrichtig Kugelflächenfunktionen ersten, zweiten, dritten, vierten und fünften Grades. Insbesondere beinhaltet jede der visuellen Darstellungen 302a bis 302e eine oder mehrere Kugeln in einer Reihe, die verschiedene Grade visuell darstellen. Wie in 3 angegeben ist, geben die Kugelflächenfunktionskoeffizienten mit jedem inkrementellen Grad detailliertere Beleuchtungsbedingungen an.
  • Darstellungshalber beinhaltet 3 Beleuchtungsabbildungen 306a bis 306e für eine Vollumgebungskarte 304 einer Position innerhalb einer Digitalszene. Die Beleuchtungsabbildungen 306a, 306b, 306c, 306d und 306e entsprechen bezugsrichtig Kugelflächenfunktionskoeffizienten ersten, zweiten, dritten, vierten und fünften Grades. Nimmt der Grad der Kugelflächenfunktionen zu, so erfassen die Beleuchtungsabbildungen 306a bis 306e die in der Vollumgebungskarte 304 gezeigte Beleuchtung besser. Als Beleuchtungsabbildungen 306a bis 306e können Kugelflächenfunktionskoeffizienten implizit die Verdeckung und die Geometrie einer Digitalszene erfassen.
  • Wie vorstehend bemerkt worden ist, kann das Beleuchtungsschätzungssystem 110 verschiedene Architekturen und Eingaben für ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk nutzen. 4A und 4B bilden ein Beispiel für das Beleuchtungsschätzungssystem 110 ab, das ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk jeweils dafür trainiert und dazu anwendet, ortsspezifische Beleuchtungsparameter zu generieren. 5A und 5B zeigen eine weitere Ausführungsform des Beleuchtungsschätzungssystems 110, das ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür trainiert und dazu anwendet, ortsspezifische Beleuchtungsparameter zu generieren. Diese beiden Ausführungsformen können Digitaltrainingsszenen und entsprechende Kugelflächenfunktionskoeffizienten aus Kubuskarten nutzen, wie anhand 2 und 3 beschrieben wird.
  • Wie in 4A gezeigt ist, trainiert das Beleuchtungsschätzungssystem 110 beispielsweise ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk 406 iterativ. Im Sinne einer Übersicht über eine Trainingsiteration extrahiert das Beleuchtungsschätzungssystem 110 eine Globalmerkmalstrainingskarte aus einer Digitaltrainingsszene unter Nutzung eines ersten Satzes von Netzwerkschichten 408 des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406. Das Beleuchtungsschätzungssystem 110 generiert des Weiteren einen Lokalpositionstrainingsindikator für eine bezeichnete Position innerhalb der Digitaltrainingsszene und modifiziert die Globalmerkmalstrainingskarte auf Grundlage des Lokalpositionstrainingsindikators.
  • Auf Grundlage von Modifikationen an der Globalmerkmalstrainingskarte entsprechend der Widerspiegelung in einer Kombinationsmerkmalstrainingskarte generiert das Beleuchtungsschätzungssystem 110 ortsspezifische Kugelflächenfunktionskoeffizienten für die bezeichnete Position unter Nutzung eines zweiten Satzes von Netzwerkschichten 416 des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406. Das Beleuchtungsschätzungssystem 110 modifiziert sodann Netzwerkparameter des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406 auf Grundlage eines Vergleiches der ortsspezifischen Kugelflächenfunktionskoeffizienten mit Ground-Truth-Kugelflächenfunktionskoeffizienten für die bezeichnete Position innerhalb der Digitaltrai ningsszene.
  • Wie in 4A gezeigt ist, speist das Beleuchtungsschätzungssystem 110 beispielsweise eine Digitaltrainingsszene 402 in das der Schätzung der lokalen Beleuchtung dienenden neuronale Netzwerk 406 ein. Beim Empfangen der Digitaltrainingsszene 402 als Trainingseingabe extrahiert der erste Satz von Netzwerkschichten 408 eine Globalmerkmalstrainingskarte 410 aus der Digitaltrainingsszene 402. Bei einigen derartigen Ausführungsformen stellt die Globalmerkmalstrainingskarte 410 visuelle Merkmale der Digitaltrainingsszene 402, so beispielsweise Lichtquellenpositionen und die Globalgeometrie der Digitaltrainingsszene 402, dar.
  • Wie vorstehend bemerkt worden ist, umfasst der erste Satz von Netzwerkschichten 408 bei gewissen Implementierungen Schichten eines DenseNet, so beispielsweise verschiedene untere Schichten eines DenseNet. Beinhalten kann der erste Satz von Netzwerkschichten 408 beispielsweise eine faltungstechnische Schicht, gefolgt von einem Dense Block und (in einigen Fällen) einem oder mehreren Sätzen von einer faltungstechnischen Schicht, einer Pooling-Schicht und einem Dense Block. In einigen Fällen umfasst der erste Satz von Netzwerkschichten 408 Schichten aus dem DenseNet 120, wie beschrieben wird bei: „Densely Connected Convolutional Layers" von G. Huang et al., veröffentlicht bei „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2017)“ (nachstehend als „Huang“ bezeichnet). Der gesamte Inhalt hiervon wird hiermit durch Verweis mit aufgenommen. Das Beleuchtungsschätzungssystem 110 initialisiert optional Netzwerkparameter für Schichten eines DenseNet unter Nutzung von Gewichtungen, die an einem ImageNet trainiert werden, wie beschrieben wird bei: „ImageNet Large Scale Visual Recognition Challenge" von Olga Russakovsky et al., veröffentlicht in Band 30, Ausgabe Nr. 3 von „International Journal of Computer Vision", 211-252 (2015) (nachstehend als „Russakovsky“ bezeichnet). Der gesamte Inhalt hiervon wird hiermit durch Verweis mit aufgenommen. Unabhängig von der Architektur dessen, wie Netzwerkparameter für den ersten Satz von Netzwerkschichten 408 initialisiert werden, gibt der erste Satz von Netzwerkschichten 408 optional die Globalmerkmalstrainingskarte 410 in Form einer Dichtemerkmalskarte entsprechend der Digitaltrainingsszene 402 aus.
  • Alternativ zu Schichten eines DenseNet umfasst der erste Satz von Netzwerkschichten 408 einen Codierer aus einem faltungstechnischen neuronalen Netzwerk (Convolutional Neural Network CNN), das ein Paar von faltungstechnischen Schichten, gefolgt von vier Residualschichten (residual layers) umfasst. Bei einigen derartigen Ausführungsformen umfasst der erste Satz von Netzwerkschichten 408 den Codierer, der beschrieben wird bei: „Learning to Predict Indoor Illumination from a Single Image" von Marc-Andre Gardner et al., veröffentlicht in Band 36, Artikel Nr. 6 von „ACM Transactions on Graphics (2017)" (nachstehend als „Gardener“ bezeichnet). Der gesamte Inhalt hiervon wird hiermit durch Verweis mit aufgenommen. Entsprechend gibt der erste Satz von Netzwerkschichten 408 als Codierer optional die Globalmerkmalstrainingskarte 410 in Form einer codierten Merkmalskarte der Digitaltrainingsszene 402 aus.
  • Wie in 4A weiter gezeigt ist, identifiziert oder generiert das Beleuchtungsschätzungssystem 110 einen Lokalpositionstrainingsindikator 404 für eine bezeichnete Position innerhalb der Digitaltrainingsszene 404. Das Beleuchtungsschätzungssystem 110 kann beispielsweise Lokalpositionstrainingskoordinaten identifizieren, die eine bezeichnete Position innerhalb der Digitaltrainingsszene 402 darstellen. Derartige Koordinaten können zweidimensionale Koordinaten einer Abtastposition innerhalb der Digitaltrainingsszene 402 entsprechend einer Kubuskarte (und Ground-Truth-Kugelflächenfunktionskoeffizienten), die von dem Beleuchtungsschätzungssystem 110 generiert wird, darstellen.
  • Nachdem der Lokalpositionstrainingsindikator 404 identifiziert worden ist, nutzt das Beleuchtungsschätzungssystem 110 den Lokalpositionstrainingsindikator 404 dafür, die Globalmerkmalstrainingskarte 410 zu modifizieren. In einigen Fällen nutzt das Beleuchtungsschätzungssystem 110 beispielsweise den Lokalpositionstrainingsindikator 404 dafür, die Globalmerkmalstrainingskarte 410 zu maskieren. Das Beleuchtungsschätzungssystem 110 generiert optional beispielsweise eine Maskierungsmerkmalstrainingskarte aus dem Lokalpositionstrainingsindikator 404, und zwar beispielsweise durch Anwenden eines Vektorcodierers auf den Lokalpositionstrainingsindikator 404 (beispielsweise mittels One-Hot-Encoding). Bei einigen Implementierungen beinhaltet die Maskierungsmerkmalstrainingskarte eine Feldanordnung (array) von Werten, die den Lokalpositionstrainingsindikator 404 für die bezeichnete Position innerhalb der Digitaltrainingsszene 402 angeben, so beispielsweise einen oder mehrere Werte der Zahl 1 zur Angabe von Koordinaten für eine bezeichnete Position innerhalb der Digitaltrainingsszene 402 und andere Werte (beispielsweise die Zahl 0) zur Angabe von Koordinaten für andere Positionen innerhalb der Digitaltrainingsszene 402.
  • Wie in 4A weiter angegeben ist, multipliziert das Beleuchtungsschätzungssystem 110 die Globalmerkmalstrainingskarte 410 und eine Maskierungsmerkmalstrainingskarte für den Lokalpositionstrainingsindikator 404 zum Generieren einer Maskiertdichtemerkmalstrainingskarte . 412. Da die Maskierungsmerkmalstrainingskarte und die Globalmerkmalstrainingskarte 410 dieselbe räumliche Auflösung umfassen können, maskiert die Maskierungsmerkmalstrainingskarte bei einigen Ausführungsformen die Globalmerkmalstrainingskarte 410 effektiv, um die Maskiertdichtemerkmalstrainingskarte 412 zu erstellen. Die Maskiertdichtemerkmalstrainingskarte 412 stellt entsprechend eine Lokalmerkmalskarte für eine bezeichnete Position innerhalb der Digitaltrainingsszene 402 dar.
  • Beim Generieren der Maskiertdichtemerkmalstrainingskarte 412 verkettet das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen die Globalmerkmalstrainingskarte 410 und die Maskiertdichtemerkmalstrainingskarte 412, um eine Kombinationsmerkmalstrainingskarte 414 zu bilden. Das Beleuchtungsschätzungssystem 110 koppelt beispielsweise die Globalmerkmalstrainingskarte 410 und die Maskiertdichtemerkmalstrainingskarte 412 miteinander, um eine duale bzw. doppelte oder gestapelte Merkmalskarte als Kombinationsmerkmalstrainingskarte 414 zu bilden. Alternativ kombiniert das Beleuchtungsschätzungssystem 110 bei gewissen Implementierungen Reihen von Werten aus der Globalmerkmalstrainingskarte 410 mit Reihen von Werten aus der Maskiertdichtemerkmalstrainingskarte 412, um die Kombinationsmerkmalstrainingskarte 414 zu bilden. Es kann jedoch ein beliebiges geeignetes Verkettungsverfahren benutzt werden.
  • Wie in 4A weiter gezeigt ist, speist das Beleuchtungsschätzungssystem 110 die Kombinationsmerkmalstrainingskarte 414 in den zweiten Satz von Netzwerkschichten 416 des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406 ein. Wie in 4A angegeben ist, beinhaltet der zweite Satz von Netzwerkschichten 416 eine oder beide von den Netzwerkschichten 418 und 420 und kann einen Regressor umfassen. Bei gewissen Implementierungen beinhaltet der zweite Satz von Netzwerkschichten 416 beispielsweise faltungstechnische Schichten als Netzwerkschichten 418 und vollständig verbundene Schichten als Netzwerkschichten 420. Der zweite Satz von Netzwerkschichten 416 beinhaltet optional eine Max-Pooling-Schicht zwischen faltungstechnischen Schichten zur Bildung der Netzwerkschichten 418 und eine Dropout-Schicht vor vollständig verbundenen (fully connected) Schichten zur Bildung der Netzwerkschichten 420. Als Teil einer Trainingsiteration mit derartigen Schichten leitet das Beleuchtungsschätzungssystem 110 die Kombinationsmerkmalstrainingskarte 414 optional durch ein Paar von faltungstechnischen Schichten und ein Paar von vollständig verbundene Schichten mit Batch-Normierung und einer ELU-Lernfunktion (Exponential Learning Unit ELU, exponentielle Lerneinheit).
  • Nach Leiten der Kombinationsmerkmalstrainingskarte 414 durch den zweiten Satz von Netzwerkschichten 416 gibt das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 406 die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 422 aus. Konsistent zur vorstehenden Offenbarung geben die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 422 Beleuchtungsbedingungen für eine bezeichnete Position innerhalb der Digitaltrainingsszene 402 an. Die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 422 geben beispielsweise Beleuchtungsbedingungen für eine bezeichnete Position innerhalb der Digitaltrainingsszene 402, die durch den Lokalpositionstrainingsindikator 404 identifiziert wird, an.
  • Nach dem Generieren der ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 422 vergleicht das Beleuchtungsschätzungssystem 110 die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 422 mit Ground-Truth-Kugelflächenfunktionskoeffizienten 426. Im Sinne der vorliegenden Offenbarung bezeichnet der Begriff „Ground-Truth-Kugelflächenfunktionskoeffizienten“ empirisch bestimmte Kugelflächenfunktionskoeffizienten aus einer oder mehreren Kubuskarten. Die Ground-Truth-Kugelflächenfunktionskoeffizienten 426 stellen beispielsweise Kugelflächenfunktionskoeffizienten dar, die aus einer Kubuskarte entsprechend einer Position innerhalb der Digitaltrainingsszene 402, die durch den Lokalpositionstrainingsindikator 404 identifiziert wird, projiziert werden.
  • Wie weiter in 4A angegeben ist, nutzt das Beleuchtungsschätzungssystem 110 eine Verlustfunktion 424 dafür, die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 422 mit den Ground-Truth-Kugelflächenfunktionskoeffizienten 426 zu vergleichen. Bei einigen Ausführungsformen nutzt das Beleuchtungsschätzungssystem 110 eine MSE-Funktion (Mean Squared Error MSE, mittlerer quadrierter Fehler) als Verlustfunktion 424. Alternativ nutzt das Beleuchtungsschätzungssystem 110 bei gewissen Implementierungen eine L2-Verlustfunktion, eine Mean-Absolute-Error-Funktion, eine Mean-Absolute-Percentage-Error-Funktion, eine Render-Verlustfunktion, eine Root-Mean-Squared-Error-Funktion oder eine andere geeignete Verlustfunktion als Verlustfunktion 424.
  • Beim Bestimmen eines Verlustes aus der Verlustfunktion 424 modifiziert das Beleuchtungsschätzungssystem 110 Netzwerkparameter (beispielsweise Gewichtungen oder Werte) des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406, um den Verlust für die Verlustfunktion 424 bei einer nachfolgenden Trainingsiteration unter Nutzung einer Rückverfolgung (backpropagation) zu verringern, wie durch den Pfeil von der Verlustfunktion 434 zu dem der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerk 406 gezeigt ist. Das Beleuchtungsschätzungssystem 110 kann Gewichtungen oder Werte aus einigem (oder allen) von dem ersten Satz von Netzwerkschichten 408 oder dem zweiten Satz von Netzwerkschichten 416 innerhalb des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406 erhöhen oder verringern, um den Verlust bei einer nachfolgenden Trainingsiteration zu verringern oder zu minimieren.
  • Nach dem Modifizieren von Netzwerkparametern des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406 für eine anfängliche Trainingsiteration kann das Beleuchtungsschätzungssystem 110 zusätzliche Trainingsiterationen durchführen. Bei einer nachfolgenden Trainingsiteration extrahiert das Beleuchtungsschätzungssystem 110 beispielsweise eine zusätzliche Globalmerkmalstrainingskarte für eine zusätzliche Digitaltrainingsszene, generiert einen zusätzlichen Lokalpositionstrainingsindikator für eine bezeichnete Position innerhalb der zusätzlichen Digitaltrainingsszene und modifiziert die zusätzliche Globalmerkmalstrainingskarte auf Grundlage des zusätzlichen Lokalpositionstrainingsindikators. Auf Grundlage einer zusätzlichen Kombinationsmerkmalstrainingskarte generiert das Beleuchtungsschätzungssystem 110 zusätzliche ortsspezifische Kugelflächenfunktionstrainingskoeffizienten für die bezeichnete Position.
  • Das Beleuchtungsschätzungssystem 110 modifiziert anschließend Netzwerkparameter des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406 auf Grundlage eines Verlustes aus der Verlustfunktion 424 durch Vergleichen der zusätzlichen ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten mit zusätzlichen Ground-Truth-Kugelflächenfunktionskoeffizienten für die bezeichnete Position innerhalb der zusätzlichen Digitaltrainingsszene. In einigen Fällen führt das Beleuchtungsschätzungssystem 110 Trainingsiterationen so lange durch, bis sich der Wert oder die Gewichtungen des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406 über Trainingsiterationen hinweg nicht mehr erheblich ändern oder auf andere Weise ein Konvergenzkriterium erfüllt wird.
  • Um zu einem Konvergenzpunkt zu gelangen, trainiert das Beleuchtungsschätzungssystem 110 optional ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk 406, wie in 4A oder 5A (wobei letzteres nachstehend beschrieben wird) gezeigt ist, und zwar unter Nutzung von Mini-Batches aus 20 Digitaltrainingsszenen und eines Adam-Optimierers, der eine Verlustfunktion über Trainingsiterationen hinweg mit einer Lernrate von 0,0001 und einer Gewichtungsabnahme (weight decay) von 0,0002 minimiert. Während einiger derartiger Trainingsexperimente hat das Beleuchtungsschätzungssystem 110 einen Konvergenzpunkt beim Generieren von ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten eines Grades über 0, so beispielsweise fünften Grades, schneller erreicht.
  • Das Beleuchtungsschätzungssystem 110 nutzt zudem ein trainiertes der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk zum Generieren von ortsspezifischen Beleuchtungsparametern. 4B zeigt ein Beispiel für eine derartige Anwendung. Allgemein identifiziert das Beleuchtungsschätzungssystem 110, wie in 4B gezeigt ist, eine Aufforderung zum Wiedergeben eines virtuellen Objektes 432 an einer bezeichneten Position innerhalb einer Digitalszene 428. Das Beleuchtungsschätzungssystem 110 nutzt das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 406 dafür, sowohl die Digitalszene 428 wie auch einen Lokalpositionsindikator 430 zu analysieren, um ortsspezifische Kugelflächenfunktionskoeffizienten 440 für die bezeichnete Position zu generieren. Auf Grundlage der Aufforderung gibt das Beleuchtungsschätzungssystem 110 eine modifizierte Digitalszene 442 wieder, die das virtuelle Objekt 432 an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Kugelflächenfunktionskoeffizienten 440 umfasst.
  • Wie eben ausgeführt worden ist, identifiziert das Beleuchtungsschätzungssystem 110 eine Aufforderung zum Wiedergeben des virtuellen Objektes 432 an einer bezeichneten Position innerhalb der Digitalszene 428. Das Beleuchtungsschätzungssystem 110 kann beispielsweise eine von einer Rechenvorrichtung, die eine Realitätserweiterungsanwendung ausführt, stammende Digitalaufforderung zum Wiedergeben eines virtuellen Gegenstandes am Kopf (oder eines anderen virtuellen Objektes) an einer bestimmten Position an einer Person (oder einem anderen realen Objekt), die in der Digitalszene 428 abgebildet ist, identifizieren. Wie in 4B angegeben ist, beinhaltet die Aufforderung zum Wiedergeben des virtuellen Objektes 432 den Lokalpositionsindikator 430 für eine bezeichnete Position, an der das virtuelle Objekt 432 wiedergegeben werden soll.
  • Auf Grundlage des Empfangs der Aufforderung, wie in 4B angegeben ist, gibt das Beleuchtungsschätzungssystem 110 die Digitalszene 428 in das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 406 ein. Insbesondere speist das Beleuchtungsschätzungssystem 110 die Digitalszene 428 in den ersten Satz von Netzwerkschichten 408 für den ersten Satz von Netzwerkschichten 408 ein, um eine Globalmerkmalskarte 434 aus der Digitalszene 428 zu extrahieren. Wie vorstehend angegeben ist, umfasst der erste Satz von Netzwerkschichten 408 optional Schichten aus einem DenseNet und gibt eine Dichtemerkmalskarte als Globalmerkmalskarte 434 aus. Alternativ umfasst der erste Satz von Netzwerkschichten 408 optional einen Codierer und gibt eine codierte Merkmalskarte als Globalmerkmalskarte 434 aus.
  • Wie in 4B weiter gezeigt ist, generiert das Beleuchtungsschätzungssystem 110 den Lokalpositionsindikator 430 für einen bezeichneten Ort innerhalb der Digitalszene 428. Bei einigen Ausführungsformen identifiziert das Beleuchtungsschätzungssystem 110 beispielsweise den Lokalpositionsindikator 430 aus der Aufforderung zum Wiedergeben des virtuellen Objektes 432 (beispielsweise mit einem Lokalpositionsindikator als zweidimensionale oder dreidimensionale Koordinaten innerhalb der Digitalszene 428). Das Beleuchtungsschätzungssystem 110 modifiziert anschließend die Globalmerkmalskarte 434 auf Grundlage des Lokalpositionsindikators 430.
  • Um eine derartige Modifikation zu durchzuführen, kann das Beleuchtungsschätzungssystem 110 den Lokalpositionsindikator 430 dafür nutzen, die Globalmerkmalskarte 434 zu maskieren. Bei einigen Implementierungen generiert das Beleuchtungsschätzungssystem 110 beispielsweise eine Maskierungsmerkmalskarte aus dem Lokalpositionsindikator 430, und zwar beispielsweise durch Anwenden eines Vektorcodierers auf den Lokalpositionsindikator 430 (beispielsweise mittels One-Hot-Encoding). Wie vorstehend angegeben ist, kann die Maskierungsmerkmalskarte eine Feldanordnung (array) von Werten (beispielsweise Einsen und Nullen) beinhalten, die den Lokalpositionsindikator 430 für die bezeichnete Position innerhalb der Digitalszene 428 angeben.
  • Wie in 4B weiter angegeben ist, multipliziert das Beleuchtungsschätzungssystem 110 die Globalmerkmalskarte 434 und eine Maskierungsmerkmalskarte für den Lokalpositionsindikator 430, um eine Maskiertdichtemerkmalskarte 436 zu generieren. Unter der Voraussetzung, dass die Maskierungsmerkmalskarte und die Globalmerkmalskarte 434 dieselbe räumliche Auflösung umfassen, maskiert die Maskierungsmerkmalskarte bei einigen Ausführungsformen effektiv die Globalmerkmalskarte 434, um die Maskiertdichtemerkmalskarte 436 zu erstellen. Die Maskiertdichtemerkmalskarte 436 stellt entsprechend eine lokale Merkmalskarte für eine bezeichnete Position innerhalb der Digitalszene 428 dar.
  • Beim Generieren der Maskiertdichtemerkmalskarte 436 verkettet das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen die Globalmerkmalskarte 434 und die Maskiertdichtemerkmalskarte 436, um eine Kombinationsmerkmalskarte 438 zu bilden. Zur Bildung der Kombinationsmerkmalskarte 438 kann das Beleuchtungsschätzungssystem 110 ein beliebiges der vorbeschriebenen Verkettungsverfahren nutzen. Das Beleuchtungsschätzungssystem 110 speist die Kombinationsmerkmalskarte 438 anschließend in den zweiten Satz von Netzwerkschichten 416 ein.
  • Durch Leiten der Kombinationsmerkmalskarte 438 durch den zweiten Satz von Netzwerkschichten 416 gibt das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 406 die ortsspezifischen Kugelflächenfunktionskoeffizienten 440 aus. Konsistent zur vorstehenden Beschreibung geben die ortsspezifischen Kugelflächenfunktionskoeffizienten 440 Beleuchtungsbedingungen für eine bezeichnete Position innerhalb der Digitalszene 428, so beispielsweise die bezeichnete Position, die von dem Lokalpositionsindikator 430 angegeben wird, an.
  • Nach dem Generieren von derartigen Beleuchtungsparametern gibt das Beleuchtungsschätzungssystem 110 die modifizierte Digitalszene 442 wieder, die das virtuelle Objekt 432 an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Kugelflächenfunktionskoeffizienten 440 umfasst. Bei einigen Ausführungsformen überlagert das Beleuchtungsschätzungssystem 110 beispielsweise ein computergeneriertes Bild des virtuellen Objektes 432 innerhalb der Digitalszene 428 oder integriert dieses auf andere Weise. Als Teil der Wiedergabe wählt das Beleuchtungsschätzungssystem 110 Pixel für das virtuelle Objekt 432, die die Beleuchtung, die Schattierung oder die geeigneten Farbtöne widerspiegeln, die von den ortsspezifischen Kugelflächenfunktionskoeffizienten 440 angegeben werden, aus und gibt diese wieder.
  • Wie vorstehend bemerkt worden ist, zeigen 5A und 5B eine weitere Ausführungsform des Beleuchtungsschätzungssystems 110, das ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür trainiert und dazu anwendet, ortsspezifische Beleuchtungsparameter zu generieren. Wie in 5A gezeigt ist, trainiert das Beleuchtungsschätzungssystem 110 beispielsweise ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk 504. Im Sinne einer Übersicht über eine Trainingsiteration extrahiert das Beleuchtungsschätzungssystem 110 eine Globalmerkmalstrainingskarte aus einer Digitaltrainingsszene unter Nutzung eines ersten Satzes von Netzwerkschichten 506 des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504. Das Beleuchtungsschätzungssystem 110 generiert des Weiteren mehrere Lokalpositionstrainingsindikatoren für eine bezeichnete Position innerhalb der Digitaltrainingsszene aus Merkmalskarten, die von Schichten des ersten Satzes von Netzwerkschichten ausgegeben werden. Das Beleuchtungsschätzungssystem 110 modifiziert die Globalmerkmalstrainingskarte anschließend auf Grundlage der Lokalpositionstrainingsindikatoren.
  • Auf Grundlage einer Kombinationsmerkmalstrainingskarte aus dem Modifizieren der Globalmerkmalstrainingskarte generiert das Beleuchtungsschätzungssystem 110 ortsspezifische Kugelflächenfunktionskoeffizienten für die bezeichnete Position unter Nutzung eines zweiten Satzes von Netzwerkschichten 516 des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504. Das Beleuchtungsschätzungssystem 110 modifiziert Netzwerkparameter des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504 sodann auf Grundlage eines Vergleiches der ortsspezifischen Kugelflächenfunktionskoeffizienten mit Ground-Truth-Kugelflächenfunktionskoeffizienten für die bezeichnete Position innerhalb der Digitaltrainingsszene.
  • Wie in 5A gezeigt ist, speist das Beleuchtungsschätzungssystem 110 beispielsweise eine Digitaltrainingsszene 502 in das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 504 ein. Beim Empfangen der Digitaltrainingsszene 504 als Trainingseingabe extrahiert der erste Satz von Netzwerkschichten 506 eine Globalmerkmalstrainingskarte 508 aus der Digitaltrainingsszene 502. Bei einigen Ausführungsformen umfasst der erste Satz von Netzwerkschichten 506 Schichten aus einem DenseNet und gibt die Globalmerkmalstrainingskarte 508 in Form einer Dichtemerkmalskarte aus, so beispielsweise als Ausgabe von verschiedenen Dense Blocks, wie bei „Huang“ beschrieben ist. Bei einigen derartigen Implementierungen umfasst der erste Satz von Netzwerkschichten 506 des Weiteren ein Paar von faltungstechnischen Schichten und eine Max-Pooling-Schicht, die die Auflösung der Globalmerkmalstrainingskarte 508 verringern. Bei einer Alternative zu DenseNet-Schichten kann der erste Satz von Netzwerkschichten 506 einen Codierer umfassen und die Globalmerkmalstrainingskarte 508 in Form einer codierten Merkmalskarte ausgeben, so beispielsweise als Ausgabe des Codierers, wie bei „Gardner“ beschrieben ist. Unabhängig von ihrer Form kann die Globalmerkmalstrainingskarte 508 visuelle Merkmale der Digitaltrainingsszene 502, so beispielsweise Lichtquellenpositionen und die Globalgeometrie der Digitaltrainingsszene 502, darstellen.
  • Zusätzlich zum Generieren der Globalmerkmalstrainingskarte 508 identifiziert das Beleuchtungsschätzungssystem 110 eine Merkmalstrainingskarte aus jeder der verschiedenen Schichten des ersten Satzes von Netzwerkschichten 506. Wie in 5A gezeigt ist, geben die verschiedenen Schichten aus dem ersten Satz von Netzwerkschichten 506 beispielsweise kollektiv Merkmalstrainingskarten 510, die jede derartige Merkmalstrainingskarte beinhalten, aus. Das Beleuchtungsschätzungssystem 110 wählt ein Trainingspixel entsprechend einer bezeichneten Position innerhalb der Digitaltrainingsszene 502 aus jeder Merkmalstrainingskarte der Merkmalstrainingskarten 510 aus. Das Beleuchtungsschätzungssystem 110 wählt optional beispielsweise Koordinaten für jedes Trainingspixel entsprechend der bezeichneten Position aus jeder Merkmalstrainingskarte aus. Jedes Trainingspixel (oder entsprechende Koordinaten) stellen einen Lokalpositionstrainingsindikator für die bezeichnete Position dar.
  • Wie in 5A weiter gezeigt ist, generiert das Beleuchtungsschätzungssystem 110 eine Hyperspaltentrainingskarte 512 aus Trainingspixeln, die aus den Merkmalstrainingskarten 510 ausgewählt werden. Bei einigen Ausführungsformen kombiniert oder verkettet das Beleuchtungsschätzungssystem 110 beispielsweise jedes ausgewählte Trainingspixel, um die Hyperspaltentrainingskarte 512 zu bilden, und zwar beispielsweise durch Verketten von Merkmalen aus jedem ausgewählten Pixel. Die Hyperspaltentrainingskarte 512 stellt entsprechend Lokalmerkmale der bezeichneten Position innerhalb der Digitaltrainingsszene 502 dar. Bei einigen derartigen Ausführungsformen generiert das Beleuchtungsschätzungssystem 110 eine Hyperspaltenkarte, wie sie beschrieben wird bei: „Marr Revisited: 2D-3D Model Alignment via Surface Normal Prediction“ von Aayush Bansal et al., veröffentlicht bei „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2016)“ oder „Hypercolumns for Object Segmentation and Fine-Grained Localization“ von Bharath Hariharan et al., veröffentlicht bei „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2015)". Der gesamte Inhalt beider Artikel ist hiermit durch Verweis mit aufgenommen.
  • Beim Generieren der Hyperspaltentrainingskarte 512 verkettet das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen die Globalmerkmalstrainingskarte 508 und die Hyperspaltentrainingskarte 512, um eine Kombinationsmerkmalstrainingskarte 514 zu bilden. Zur Bildung der Kombinationsmerkmalstrainingskarte 514 (i) koppelt das Beleuchtungsschätzungssystem 110 die Globalmerkmalstrainingskarte 508 und die Hyperspaltentrainingskarte 512 miteinander, um eine duale bzw. doppelte oder gestapelte Merkmalskarte zu bilden, oder (ii) kombiniert das Beleuchtungsschätzungssystem 110 Reihen von Werten aus der Globalmerkmalstrainingskarte 508 mit Reihen von Werten aus der Hyperspaltentrainingskarte 512 optional. Es kann ein beliebiges geeignetes Verkettungsverfahren benutzt werden.
  • Wie weiter in 5A gezeigt ist, speist das Beleuchtungsschätzungssystem 110 die Kombinationsmerkmalstrainingskarte 514 in den zweiten Satz von Netzwerkschichten 516 des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504 ein. Bei gewissen Implementierungen beinhaltet der zweite Satz von Netzwerkschichten 516 beispielsweise vollständig verbundene Schichten. Als Teil einer Trainingsiteration mit derartigen Schichten leitet das Beleuchtungsschätzungssystem 110 die Kombinationsmerkmalstrainingskarte 514 optional durch ein Paar von vollständig verbundenen Schichten mit Batch-Normierung und einer ELU-Lernfunktion.
  • Nach dem Leiten der Kombinationsmerkmalstrainingskarte 514 durch den zweiten Satz von Netzwerkschichten 516 gibt das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 504 die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 518 aus. Konsistent zur vorstehenden Offenbarung geben die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 518 Beleuchtungsbedingungen für eine bezeichnete Position innerhalb der Digitaltrainingsszene 502 an. Die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 518 geben beispielsweise Beleuchtungsbedingungen für die bezeichnete Position innerhalb der Digitaltrainingsszene 502, die durch die Lokalpositionstrainingsindikatoren aus den Merkmalstrainingskarten 510 identifiziert wird, an.
  • Nach dem Generieren der ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 518 vergleicht das Beleuchtungsschätzungssystem 110 die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 518 mit Ground-Truth-Kugelflächenfunktionskoeffizienten 522. Die Ground-Truth-Kugelflächenfunktionskoeffizienten 522 stellen Kugelflächenfunktionskoeffizienten dar, die aus einer Kubuskarte entsprechend einer Abtastposition innerhalb der Digitaltrainingsszene 502 projiziert werden, und zwar bezüglich derselben bezeichneten Position, die von den Lokalpositionstrainingsindikatoren aus den Merkmalstrainingskarten 510 angegeben wird.
  • Wie in 5A weiter angegeben ist, nutzt das Beleuchtungsschätzungssystem 110 eine Verlustfunktion 520 dafür, die ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten 518 mit Ground-Truth-Kugelflächenfunktionskoeffizienten 522 zu vergleichen. Bei einigen Ausführungsformen nutzt das Beleuchtungsschätzungssystem 110 eine MSE-Funktion als Verlustfunktion 520. Alternativ nutzt das Beleuchtungsschätzungssystem 110 bei gewissen Implementierungen eine L2-Verlustfunktion, eine Mean-Absolute-Error-Funktion, eine Mean-Absolute-Percentage-Error-Funktion, eine Render-Verlustfunktion, eine Root-Mean-Squared-Error-Funktion oder eine andere geeignete Verlustfunktion als Verlustfunktion 520.
  • Beim Bestimmen eines Verlustes aus der Verlustfunktion 520 modifiziert das Beleuchtungsschätzungssystem 110 Netzwerkparameter (beispielsweise Gewichtungen oder Werte) des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504, um den Verlust für die Verlustfunktion 520 bei einer anschließenden Trainingsiteration zu verringern. Das Beleuchtungsschätzungssystem 110 kann beispielsweise Gewichtungen oder Werte für einige (oder alle) von dem ersten Satz von Netzwerkschichten 506 oder dem zweiten Satz von Netzwerkschichten 516 innerhalb des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504 erhöhen oder verringern, um den Verlust bei einer anschließenden Trainingsiteration zu verringern oder zu minimieren.
  • Nach dem Modifizieren von Netzwerkparametern des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504 für eine anfängliche Trainingsiteration kann das Beleuchtungsschätzungssystem 110 zusätzliche Trainingsiterationen durchführen. Bei einer anschließenden Trainingsiteration extrahiert das Beleuchtungsschätzungssystem 110 beispielsweise eine zusätzliche Globalmerkmalstrainingskarte für eine zusätzliche Digitaltrainingsszene, generiert zusätzliche Lokalpositionstrainingsindikatoren für eine bezeichnete Position innerhalb der zusätzlichen Digitaltrainingsszene und modifiziert die zusätzliche Globalmerkmalstrainingskarte auf Grundlage der zusätzlichen Lokalpositionstrainingsindikatoren. Auf Grundlage einer zusätzlichen Kombinationsmerkmalstrainingskarte generiert das Beleuchtungsschätzungssystem 110 zusätzliche ortsspezifische Kugelflächenfunktionstrainingskoeffizienten für die bezeichnete Position.
  • Das Beleuchtungsschätzungssystem 110 modifiziert anschließend Netzwerkparameter des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504 auf Grundlage eines Verlustes aus der Verlustfunktion 520 durch Vergleichen der zusätzlichen ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten mit zusätzlichen Ground-Truth-Kugelflächenfunktionskoeffizienten für eine bezeichnete Position innerhalb der zusätzlichen Digitaltrainingsszene. In einigen Fällen führt das Beleuchtungsschätzungssystem 110 Trainingsiterationen so lange durch, bis sich der Wert oder die Gewichtungen des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504 über Trainingsiterationen hinweg nicht mehr erheblich ändert oder auf andere Weise einem Konvergenzkriterium genügt.
  • 5B zeigt ein Beispiel für die Nutzung des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504 dafür, ortsspezifische Beleuchtungsparameter zu generieren. Im Allgemeinen identifiziert das Beleuchtungsschätzungssystem 110, wie in 5B gezeigt ist, eine Aufforderung zum Wiedergeben eines virtuellen Objektes 526 an einer bezeichneten Position innerhalb einer Digitalszene 524. Das Beleuchtungsschätzungssystem 110 nutzt das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 504 dafür, sowohl die Digitalszene 524 wie auch mehrere Lokalpositionsindikatoren zu analysieren, um ortsspezifische Kugelflächenfunktionskoeffizienten 536 für die bezeichnete Position zu generieren. Auf Grundlage der Aufforderung gibt das Beleuchtungsschätzungssystem 110 eine modifizierte Digitalszene 538 wieder, die das virtuelle Objekt 526 an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Kugelflächenfunktionskoeffizienten 536 umfasst.
  • Wie eben bemerkt worden ist, identifiziert das Beleuchtungsschätzungssystem 110 eine Aufforderung zum Wiedergeben des virtuellen Objektes 526 an einer bezeichneten Position innerhalb der Digitalszene 524. Identifizieren kann das Beleuchtungsschätzungssystem 110 beispielsweise eine von einer Rechenvorrichtung stammende Digitalaufforderung zum Wiedergeben eines virtuellen Tieres oder Charakters bzw. Schriftzeichens (oder eines anderen virtuellen Objektes) an einer bestimmten Position in einer Landschaft (oder an einem anderen realen Objekt), die in der Digitalszene 524 abgebildet ist. Obwohl dies in 5B nicht gezeigt ist, beinhaltet die Aufforderung zum Wiedergeben des virtuellen Objektes 526 eine Angabe einer bezeichneten Position innerhalb der Digitalszene 524, an der das virtuelle Objekt 526 wiedergegeben werden soll.
  • Auf Grundlage des Empfangs der Aufforderung, wie in 5B angegeben ist, gibt das Beleuchtungsschätzungssystem 110 die Digitalszene 524 in das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 504 ein. Insbesondere speist das Beleuchtungsschätzungssystem 110 die Digitalszene 524 in den ersten Satz von Netzwerkschichten 506 ein, um eine Globalmerkmalskarte 528 aus der Digitalszene 524 zu extrahieren. Wie vorstehend angegeben ist, umfasst der erste Satz von Netzwerkschichten 506 optional Schichten aus einem DenseNet und gibt eine Dichtemerkmalskarte als Globalmerkmalskarte 528 aus. Alternativ umfasst der erste Satz von Netzwerkschichten 506 optional einen Codierer und gibt eine codierte Merkmalskarte als Globalmerkmalskarte 528 aus.
  • Wie in 5B weiter gezeigt ist, identifiziert das Beleuchtungsschätzungssystem 110 eine Merkmalskarte aus jeder der verschiedenen Schichten aus dem ersten Satz von Netzwerkschichten 506. Wie in 5B gezeigt ist, geben die verschiedenen Schichten aus dem ersten Satz von Netzwerkschichten 506 beispielsweise kollektiv Merkmalskarten 530, die jede derartige Merkmalskarte beinhalten, aus. Das Beleuchtungsschätzungssystem 110 wählt ein Pixel entsprechend einer bezeichneten Position innerhalb der Digitalszene 524 aus jeder Merkmalskarte der Merkmalskarten 510 aus. Das Beleuchtungsschätzungssystem 110 wählt beispielsweise Koordinaten für jedes Pixel entsprechend der bezeichneten Position aus jeder Merkmalskarte aus.
  • Wie weiter in 5B gezeigt ist, generiert das Beleuchtungsschätzungssystem 110 eine Hyperspaltenkarte 532 aus Pixeln, die aus den Merkmalskarten 530 ausgewählt sind. Bei einigen Ausführungsformen kombiniert oder verkettet das Beleuchtungsschätzungssystem 110 beispielsweise jedes ausgewählte Pixel, um die Hyperspaltenkarte 532 zu bilden, und zwar beispielsweise durch Verketten von Merkmalen aus jedem ausgewählten Pixel. Die Hyperspaltenkarte 532 stellt entsprechend Lokalmerkmale der bezeichneten Position innerhalb der Digitalszene 524 dar.
  • Beim Generieren der Hyperspaltenkarte 532 verkettet das Beleuchtungsschätzungssystem 110 bei einigen Ausführungsformen die Globalmerkmalskarte 528 und die Hyperspaltenkarte 532, um eine Kombinationsmerkmalskarte 534 zu bilden. Zur Bildung der Kombinationsmerkmalskarte 534 kann das Beleuchtungsschätzungssystem 110 ein beliebiges der vorbeschriebenen Verkettungsverfahren benutzen. Das Beleuchtungsschätzungssystem 110 speist die Kombinationsmerkmalskarte 534 sodann in den zweiten Satz von Netzwerkschichten 516 ein.
  • Durch Leiten der Kombinationsmerkmalskarte 534 durch den zweiten Satz von Netzwerkschichten 516 gibt das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 504 die ortsspezifischen Kugelflächenfunktionskoeffizienten 536 aus. Konsistent zur vorstehenden Offenbarung geben die ortsspezifischen Kugelflächenfunktionskoeffizienten 536 Beleuchtungsbedingungen für eine bezeichnete Position innerhalb der Digitalszene, so beispielsweise die bezeichnete Position, die von den Lokalpositionsindikatoren aus den Merkmalskarten 530 angegeben wird, wieder.
  • Nach dem Generieren derartiger Beleuchtungsparameter gibt das Beleuchtungsschätzungssystem 110 die modifizierte Digitalszene 538 wieder, die das virtuelle Objekt 526 an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Kugelflächenfunktionskoeffizienten 536 umfasst. Bei einigen Ausführungsformen überlagert das Beleuchtungsschätzungssystem 110 beispielsweise ein computergeneriertes Bild des virtuellen Objektes 526 innerhalb der Digitalszene 524 oder integriert dieses auf andere Weise. Als Teil der Wiedergabe wählt das Beleuchtungsschätzungssystem 110 Pixel für das virtuelle Objekt 526, die eine Beleuchtung, eine Schattierung oder geeignete Farbtöne widerspiegeln, die von den ortsspezifischen Kugelflächenfunktionskoeffizienten 536 angegeben werden, aus und gibt diese wieder.
  • Zusätzlich zum genauen Abbilden von Beleuchtungsbedingungen an bezeichneten Positionen können die ortsspezifischen Kugelflächenfunktionskoeffizienten, die in 4B und 5B generiert werden, dynamisch eine Beleuchtung aus verschiedenen Perspektiven einer bezeichneten Position innerhalb einer Digitalszene erfassen. Ändert sich eine Digitalszene mit Blick auf die Perspektive des Kamerabetrachtungspunktes, die Modellorientierung oder eine andere Perspektivenanpassung, so können die ortsspezifischen Kugelflächenfunktionskoeffizienten bei einigen Ausführungsformen ungeachtet dieser Perspektivenänderungen Beleuchtungsbedingungen für die bezeichnete Position weiterhin genau angeben. Bei einigen Ausführungsformen identifiziert das Beleuchtungsschätzungssystem 110 beispielsweise eine Perspektivenanpassungsaufforderung zum Wiedergeben einer Digitalszene von einem anderen Betrachtungspunkt aus, und zwar beispielsweise durch Detektieren einer Bewegung einer Mobilvorrichtung, Neuorientieren der Digitalszene oder Identifizieren einer Nutzereingabe, die die Perspektive der Digitalszene modifiziert (beispielsweise eine Kamerabewegung zur Anpassung der Perspektive). Auf Grundlage der Perspektivenanpassungsaufforderung kann das Beleuchtungsschätzungssystem 110 von dem anderen Betrachtungspunkt aus eine modifizierte Digitalszene wiedergeben, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Kugelflächenfunktionskoeffizienten, die in 4B oder 5B generiert werden, umfasst.
  • Alternativ nimmt das Beleuchtungsschätzungssystem 110 bei gewissen Implementierungen ein Anpassen oder Generieren von neuen ortsspezifischen Beleuchtungsparametern in Reaktion auf eine Perspektivenanpassung / Perspektivenanpassungen und entsprechende Änderungen des Betrachtungspunktes für eine Digitalszene (beispielsweise eine Kamerabewegung zur Anpassung der Perspektive) vor. Bei einigen Implementierungen identifiziert das Beleuchtungsschätzungssystem 110 beispielsweise eine Perspektivenanpassungsaufforderung zum Wiedergeben eines virtuellen Objektes an einer bezeichneten Position innerhalb einer Digitalszene von einem neuen oder anderen Betrachtungspunkt aus. Auf Grundlage einer derartigen Perspektivenanpassungsaufforderung kann das Beleuchtungsschätzungssystem 110 neue ortsspezifische Beleuchtungsparameter, die zu denjenigen in 4B oder 5B konsistent sind, generieren.
  • In einigen Fällen generiert das Beleuchtungsschätzungssystem 110 beispielsweise einen neuen Lokalpositionsindikator für die bezeichnete Position innerhalb der Digitalszene von einem anderen Betrachtungspunkt aus (beispielsweise neue Koordinaten für eine neue bezeichnete Position wie in 4B oder neue Koordinaten für Pixel entsprechend einer neuen bezeichneten Position aus jeder Merkmalskarte wie in 5B). Das Beleuchtungsschätzungssystem 110 modifiziert anschließend eine Globalmerkmalskarte für die Digitalszene auf Grundlage des neuen Lokalpositionsindikators für die bezeichnete Position von dem anderen Betrachtungspunkt aus, um eine neue modifizierte Globalmerkmalskarte zu bilden (beispielsweise durch Verketten einer neuen Globalmerkmalskarte und einer neuen Maskiertdichtemerkmalskarte zur Bildung einer neuen Kombinationsmerkmalskarte wie in 4B oder durch Verketten einer neuen Globalmerkmalskarte und einer neuen Hyperspaltenkarte zur Bildung einer neuen Kombinationsmerkmalskarte wie in 5B). Auf Grundlage der neuen modifizierten Globalmerkmalskarte generiert das Beleuchtungsschätzungssystem 110 neue ortsspezifische Beleuchtungsparameter für die bezeichnete Position von dem anderen Betrachtungspunkt aus unter Nutzung eines zweiten Satzes von Netzwerkschichten (beispielsweise des zweiten Satzes von Netzwerkschichten 416 in 4B oder des zweiten Satzes von Netzwerkschichten 516 in 5B). In Reaktion auf die Perspektivenanpassungsaufforderung gibt das Beleuchtungsschätzungssystem 110 entsprechend eine angepasste Digitalszene wieder, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Beleuchtungsparametern umfasst.
  • Zusätzlich zu den ortsspezifischen Kugelflächenfunktionskoeffizienten und den modifizierten Digitalszenen gemäß Darstellung in 4B und 5B kann das Beleuchtungsschätzungssystem 110 neue ortsspezifische Kugelflächenfunktionskoeffizienten und eine angepasste Digitalszene in Reaktion auf eine Positionsanpassungsaufforderung zum Wiedergeben eines virtuellen Objektes an einer neuen bezeichneten Position generieren. Unter Nutzung des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 406 aus 4B kann das Beleuchtungsschätzungssystem 110 beispielsweise einen neuen Lokalpositionsindikator aus einer Positionsanpassungsaufforderung identifizieren und eine Globalmerkmalskarte auf Grundlage des neuen Lokalpositionsindikators modifizieren, um eine neue Maskiertdichtemerkmalskarte zu generieren. Unter Nutzung des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 504 aus 5B kann das Beleuchtungsschätzungssystem 110 mehrere neue Lokalpositionsindikatoren aus Merkmalskarten, die von dem ersten Satz von Netzwerkschichten 506 ausgegeben werden, identifizieren und eine Hyperspaltenkarte aus Pixeln, die aus derartigen Merkmalskarten ausgewählt sind, generieren.
  • Unter Nutzung einer jeden Architektur der neuronalen Netzwerke von 4B oder 5B kann das Beleuchtungsschätzungssystem 110 eine neue Kombinationsmerkmalskarte generieren und einen zweiten Satz von Netzwerkschichten dafür nutzen, die neuen ortsspezifischen Kugelflächenfunktionskoeffizienten zu generieren. Auf Grundlage der Positionsanpassungsaufforderung kann das Beleuchtungsschätzungssystem 110 sodann eine angepasste Digitalszene wiedergeben, die das virtuelle Objekt an der neuen bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Kugelflächenfunktionskoeffizienten umfasst. In Reaktion auf eine Positionsanpassungsaufforderung kann das Beleuchtungsschätzungssystem 110 Beleuchtungsbedingungen an verschiedene Positionen, zu denen eine Rechenvorrichtung ein virtuelles Objekt bewegt, entsprechend anpassen.
  • Zusätzlich zum. Aktualisieren von ortsspezifischen Kugelflächenfunktionskoeffizienten und Digitalszenen in Reaktion auf eine Positionsanpassung / Positionsanpassungen kann das Beleuchtungsschätzungssystem 110 neue ortsspezifische Kugelflächenfunktionskoeffizienten und eine angepasste Szene in Reaktion auf eine Änderung oder Anpassung der Beleuchtungsbedingungen, eine Bewegung von Objekten in einer Szene oder andere Änderungen an der Szene generieren. Unter Nutzung des ersten Satzes von Netzwerkschichten 408 von 4B kann das Beleuchtungsschätzungssystem 110 beispielsweise eine neue Globalmerkmalskarte aus der Szene extrahieren und die neue Globalmerkmalskarte auf Grundlage eines Lokalpositionsindikators modifizieren, um eine neue Maskiertdichtemerkmalskarte zu generieren. Unter Nutzung des ersten Satzes von Netzwerkschichten 506 von 5B kann das Beleuchtungsschätzungssystem 110 eine neue Globalmerkmalskarte generieren und eine neue Hyperspaltenkarte aus Pixeln, die aus derartigen neuen Globalmerkmalskarten ausgewählt sind, generieren.
  • Unter Nutzung einer jeden Architektur der neuronalen Netzwerke von 4B oder 5B kann das Beleuchtungsschätzungssystem 110 eine neue Kombinationsmerkmalskarte generieren und einen zweiten Satz von Netzwerkschichten dafür nutzen, die neuen ortsspezifischen Kugelflächenfunktionskoeffizienten, die die angepassten Beleuchtungsbedingungen widerspiegeln, zu generieren. Auf Grundlage der Anpassung der Beleuchtungsbedingungen für die bezeichnete Position innerhalb der Digitalszene kann das Beleuchtungsschätzungssystem 110 daher eine angepasste Digitalszene wiedergeben, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Kugelflächenfunktionskoeffizienten umfasst. In Reaktion auf eine Anpassung der Beleuchtungsbedingungen kann das Beleuchtungsschätzungssystem 110 ortsspezifische Beleuchtungsparameter entsprechend anpassen, um die Anpassung an Beleuchtungsbedingungen widerzuspiegeln.
  • 6A bis 6C zeigen eine Ausführungsform des Beleuchtungsschätzungssystems 110, bei dem eine Rechenvorrichtung eine Digitalszene, die ein virtuelles Objekt an einer bezeichneten Position und sodann an einer neuen bezeichneten Position entsprechend ortsspezifischen Beleuchtungsparametern beziehungsweise neuen ortsspezifischen Beleuchtungsparametern umfasst, in Reaktion auf verschiedene Wiedergabeaufforderungen wiedergibt. Im Sinne einer Übersicht zeigen 6A bis 6C jeweils eine Rechenvorrichtung 600, die eine Realitätserweiterungsanwendung für das Realitätserweiterungssystem 108 und das Beleuchtungsschätzungssystem 110 umfasst. Die Realitätserweiterungsanwendung umfasst computerausführbare Anweisungen, die die Rechenvorrichtung 600 veranlassen, bestimmte Vorgänge, die in 6A bis 6C abgebildet sind, durchzuführen.
  • Anstatt dass die computerausführbaren Anweisungen innerhalb der Realitätserweiterungsanwendung wiederholt derart beschrieben werden, dass sie die Rechenvorrichtung 600 veranlassen, derartige Vorgänge durchzuführen, beschreibt die vorliegende Offenbarung die Rechenvorrichtung 600 oder das Beleuchtungsschätzungssystem 110 verknappt vornehmlich derart, dass diese die Vorgänge durchführen. Die vorliegende Offenbarung betrifft zusätzlich verschiedene Nutzerinteraktionen, die in 6A bis 6C angegeben sind, und zwar beispielsweise dann, wenn die Rechenvorrichtung 600 eine Nutzerauswahl eines virtuellen Objektes detektiert. Während die Rechenvorrichtung 600 in 6A bis 6C als Mobilvorrichtung (Smartphone) erscheint, kann die Rechenvorrichtung 600 alternativ ein beliebiger Typ von Rechenvorrichtung sein, so beispielsweise ein Desktop, ein Laptop oder ein Tablet, und kann auch eine beliebige geeignete Nutzerinteraktion detektieren, darunter unter anderem eine Audioeingabe in ein Mikrofon, eine Eingabe an einer Schaltfläche einer Spielvorrichtung, eine Tastatureingabe, einen Mausklick, eine Stiftinteraktion mit einem berührungsempfindlichen Bildschirm oder eine Berührungsgeste an einem berührungsempfindlichen Bildschirm.
  • 6A zeigt die Rechenvorrichtung 600, die eine grafische Nutzerschnittstelle 606a präsentiert, die eine Digitalszene 610 innerhalb eines Bildschirmes 602 umfasst. Wie gezeigt ist, beinhaltet die Digitalszene 610 reale Objekte 612a und 612b. Die grafische Nutzerschnittstelle 606a umfasst des Weiteren eine Leiste für auswählbare Optionen 604 für die virtuellen Objekte 608a bis 608c. Durch Präsentieren der grafischen Nutzerschnittstelle 606a stellt die Rechenvorrichtung 600 Optionen für einen Nutzer bereit, um das Beleuchtungsschätzungssystem 110 dazu aufzufordern, eines oder mehrere der virtuellen Objekte 608a bis 608c an bezeichneten Positionen innerhalb der Digitalszene 610 wiederzugeben.
  • Wie in 6A angegeben ist, detektiert die Rechenvorrichtung 600 beispielsweise eine Nutzerinteraktion, die dazu auffordert, dass das Beleuchtungsschätzungssystem 110 das virtuelle Objekt 608a an einer bezeichneten Position 614 innerhalb der Digitalszene 610 wiedergibt. Insbesondere zeigt 6A, dass die Rechenvorrichtung 600 eine Drag-and-Drop-Geste detektiert, die das virtuelle Objekt 608a zu der bezeichneten Position 614 bewegt. Obwohl 6A zeigt, dass ein Nutzer eine Drag-and-Drop-Geste nutzt, kann die Rechenvorrichtung 600 eine beliebige geeignete Nutzerinteraktion detektieren, die das Beleuchtungsschätzungssystem 110 dazu auffordert, ein virtuelles Objekt innerhalb einer Digitalszene wiederzugeben.
  • Auf Grundlage des Empfangs der Aufforderung dazu, dass das Beleuchtungsschätzungssystem 110 das virtuelle Objekt 608a innerhalb der Digitalszene 610 wiedergeben soll, gibt das Realitätserweiterungssystem 108 in Verbindung mit dem Beleuchtungsschätzungssystem 110 das virtuelle Objekt 608a an der bezeichneten Position 614 wieder. 6B zeigt ein Beispiel für eine derartige Wiedergabe. Wie dargestellt ist, präsentiert die Rechenvorrichtung 600 eine grafische Nutzerschnittstelle 606b, die eine modifizierte Digitalszene 616 innerhalb des Bildschirmes 602 umfasst. Konsistent zur vorstehenden Beschreibung gibt die Rechenvorrichtung 600 die modifizierte Digitalszene 616 wieder, die das virtuelle Objekt 608a an der bezeichneten Position 614 mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern, die von dem Beleuchtungsschätzungssystem 110 generiert werden, umfasst.
  • Um derartige ortsspezifische Beleuchtungsparameter zu generieren, führt das Beleuchtungsschätzungssystem 110 optional die in 4B oder 5B dargestellten Vorgänge durch. Wie in der Wiedergabe von 6B gezeigt ist, geben die ortsspezifischen Beleuchtungsparameter realistische Beleuchtungsbedingungen für das virtuelle Objekt 608a mit einer Beleuchtung und einer Schattierung, die zu den realen Objekten 612a und 612b konsistent ist, an. Die Schattierung für das virtuelle Objekt 608a und für die realen Objekte 612a und 612b spiegelt konsistent Licht von einer Lichtquelle außerhalb der in der modifizierten Digitalszene 616 gezeigten Perspektive wider.
  • Wie vorstehend bemerkt worden ist, kann das Beleuchtungsschätzungssystem 110 neue ortsspezifische Beleuchtungsparameter und eine angepasste Digitalszene in Bezug auf eine Positionsanpassungsaufforderung dazu, ein virtuelles Objekt an einer neuen bezeichneten Position wiederzugeben, generieren. 6C zeigt ein Beispiel dafür, dass eine derartige angepasste Digitalszene neue ortsspezifische Beleuchtungsparameter widerspiegelt. Wie in 6C gezeigt ist, präsentiert die Rechenvorrichtung 600 eine grafische Nutzerschnittstelle 606c, die eine angepasste Digitalszene 618 innerhalb des Bildschirmes 602 umfasst. Die Rechenvorrichtung 600 detektiert eine Nutzerinteraktion, die eine Positionsanpassungsaufforderung dazu umfasst, das virtuelle Objekt 608a von der bezeichneten Position 614 zu einer neuen bezeichneten Position 620 zu bewegen.
  • Auf Grundlage des Empfangs der Aufforderung dazu, dass das Beleuchtungsschätzungssystem 110 das virtuelle Objekt 608a bewegen soll, gibt das Realitätserweiterungssystem 108 in Zusammenwirkung mit dem Beleuchtungsschätzungssystem 110 das virtuelle Objekt 608a an der neuen bezeichneten Position 620 wieder. Entsprechend zeigt 6C, dass die Rechenvorrichtung 600 die angepasste Digitalszene 618 wiedergibt, die das virtuelle Objekt 608a an der neuen bezeichneten Position 620 mit einer Ausleuchtung entsprechend neuen ortsspezifischen Beleuchtungsparametern, die von dem Beleuchtungsschätzungssystem 110 generiert werden, umfasst.
  • Um derartige neue ortsspezifische Beleuchtungsparameter zu generieren, modifiziert das Beleuchtungsschätzungssystem 110 optional eine Globalmerkmalskarte und nutzt ein der Schätzung der Beleuchtung dienendes neuronales Netzwerk dafür, ortsspezifische Kugelflächenfunktionskoeffizienten zu generieren, wie in 4B oder 5B dargestellt ist. Wie in 6C gezeigt ist, geben die ortsspezifischen Beleuchtungsparameter realistische Beleuchtungsbedingungen für das virtuelle Objekt 608a mit einer angepassten Beleuchtung und Schattierung, die zu den realen Objekten 612a und 612b konsistent ist, an. Wie der Übergang von 6B zu 6C zeigt, kann das Beleuchtungsschätzungssystem 110 Beleuchtungsbedingungen an verschiedene Positionen in Echtzeit (oder nahezu in Echtzeit) in Reaktion auf eine Positionsanpassungsaufforderung dazu, ein virtuelles Objekt innerhalb einer Digitalszene zu bewegen, anpassen.
  • Wie vorstehend bemerkt worden ist, kann das Beleuchtungsschätzungssystem 110 ortsspezifische Beleuchtungsparameter generieren, die genaue und realistische Beleuchtungsbedingungen für Positionen innerhalb einer Digitalszene angeben. Um die Genauigkeit und Realitätsnähe des Beleuchtungsschätzungssystems 110 zu prüfen, haben Forscher Digitalszenen aus dem SUNCG-Datensatz (vorstehend beschrieben) modifiziert und ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dazu angewendet, ortsspezifische Beleuchtungsparameter für verschiedene Positionen innerhalb dieser Digitalszenen zu generieren. 7A und 7B zeigen Beispiele für diese Genauigkeit und Realitätsnähe bei verschiedenen Wiedergaben von Digitalszenen mit Positionen, die entsprechend Ground-Truth-Beleuchtungsparametern ausgeleuchtet sind, neben Positionen, die entsprechend ortsspezifischen Beleuchtungsparametern aus dem Beleuchtungsschätzungssystem 110 ausgeleuchtet sind.
  • Sowohl bei 7A wie auch 7B haben die Forscher ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk, wie es in 4A dargestellt ist, trainiert, wobei das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk DenseNet-Blöcke in einem ersten Satz von Netzwerkschichten aus einem DenseNet 120 umfasst, und haben Netzwerkparameter unter Nutzung von Gewichtungen, die an einem Imagenetz trainiert worden sind, initialisiert. Sowohl bei 7A wie auch 7B haben die Forscher zudem ortsspezifische Kugelflächenfunktionskoeffizienten dadurch generiert, dass sie ein trainiertes der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk entsprechend den in 4B gezeigten Vorgängen angewendet haben.
  • Wie in 7A dargestellt ist, haben die Forscher beispielsweise eine Digitalszene 702 aus dem SUNCG-Datensatz modifiziert. Die Digitalszene 702 beinhaltet eine bezeichnete Position 704, die eine bezeichnete Position als Ziel zur Schätzung von Beleuchtungsbedingungen angibt. Zu Vergleichszwecken haben die Forscher eine RBG-Darstellung (Red-Blue-Green bzw. Red-Green-Blue, RBG bzw. RGB, Rot-Blau-Grün bzw. Rot-Grün-Blau) 706 und eine Lichtintensitätsdarstellung 710 der bezeichneten Position entsprechend Ground-Truth-Kugelflächenfunktionskoeffizienten wiedergegeben. Konsistent zur vorstehenden Offenbarung haben die Forscher die Ground-Truth-Kugelflächenfunktionskoeffizienten aus einer Kubuskarte für die bezeichnete Position 704 projiziert. Die Forscher haben das Beleuchtungsschätzungssystem 110 des Weiteren dafür benutzt, ortsspezifische Kugelflächenfunktionskoeffizienten für die bezeichnete Position 704 zu generieren. Beim Generieren derartiger Beleuchtungsparameter gibt das Realitätserweiterungssystem 108 in Zusammenwirkung mit dem Beleuchtungsschätzungssystem 110 eine RBG-Darstellung 708 und eine Lichtintensitätsdarstellung 712 der bezeichneten Position 704 entsprechend ortsspezifischen Kugelflächenfunktionskoeffizienten wieder.
  • Wie bei dem Vergleich der RGB-Darstellungen und der Lichtintensitätsdarstellungen, siehe 7A, angegeben ist, generiert das Beleuchtungsschätzungssystem 110 ortsspezifische Kugelflächenfunktionskoeffizienten, die Beleuchtungsbedingungen für ein Objekt, das an der bezeichneten Position 704 positioniert ist, genau und realistisch schätzen. Im Gegensatz zu herkömmlichen Realitätserweiterungssystemen schätzt das Beleuchtungsschätzungssystem 110 die Beleuchtung, die von einer Lichtquelle außerhalb des Betrachtungspunktes der Digitalszene 702 ausgeht, genau. Ungeachtet dessen, dass die intensivste Beleuchtungsquelle von hinterhalb einer Kamera, die die Digitalszene 702 erfasst, stammt, schätzt das Beleuchtungsschätzungssystem 110 die Beleuchtungsbedingungen, die in der RBG-Darstellung 708 und der Lichtintensitätsdarstellung 712 gezeigt sind, mit ähnlicher Genauigkeit und Realitätsnähe wie die Beleuchtungsbedingungen, die in der RBG-Darstellung 706 und der Lichtintensitätsdarstellung 710, die Ground Truths widerspiegeln, gezeigt sind.
  • 7B zeigt eine modifizierte Digitalszene 714, die virtuelle Objekte 718a bis 718d an bezeichneten Positionen mit einer Ausleuchtung entsprechend Ground-Truth-Kugelflächenfunktionskoeffizienten umfasst. Konsistent zur vorstehenden Offenbarung haben Forscher die Ground-Truth-Kugelflächenfunktionskoeffizienten aus Kubuskarten für die bezeichneten Positionen innerhalb der modifizierten Digitalszene 714 projiziert. 7B zeigt des Weiteren eine modifizierte Digitalszene 716, die virtuelle Objekte 720a bis 720d an den bezeichneten Positionen mit einer Ausleuchtung entsprechend ortsspezifischen Kugelflächenfunktionskoeffizienten, die von dem Beleuchtungsschätzungssystem 110 generiert werden, umfasst. Um geschätzte Beleuchtungsbedingungen für die virtuellen Objekte 720a bis 720d an den bezeichneten Positionen zu bestimmen, hat das Beleuchtungsschätzungssystem 110 ortsspezifische Kugelflächenfunktionskoeffizienten für jede der bezeichneten Positionen innerhalb der modifizierten Digitalszene 716 generiert.
  • Zu Vergleichszwecken haben die Forscher das Beleuchtungsschätzungssystem 110 dafür benutzt, metallische Kugeln sowohl für die virtuellen Objekte 718a bis 718d in der modifizierten Digitalszene 714 wie auch die virtuellen Objekte 720a bis 720d in der modifizierten Digitalszene 716 wiederzugegeben. Wie in 7B gezeigt ist, beinhalten sowohl die modifizierte Digitalszene 714 wie auch die modifizierte Digitalszene 716 die virtuellen Objekte 718a bis 718d beziehungsweise 720a bis 720d an denselben bezeichneten Positionen.
  • Wie der Vergleich der Beleuchtung für die virtuellen Objekte in den modifizierten Digitalszenen 714 und 716 zeigt, generiert das Beleuchtungsschätzungssystem 110 ortsspezifische Kugelflächenfunktionskoeffizienten, die Beleuchtungsbedingungen für die virtuellen Objekte 720a bis 720d an der jeweiligen bezeichneten Position eines jeden Objektes innerhalb der modifizierten Digitalszene 716 genau und realitätsnah schätzen. Obwohl die Lichtintensitäten für die virtuellen Objekte 720a bis 720d geringfügig von denjenigen der virtuellen Objekte 718a bis 720d abweichen, detektiert das trainierte der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk genug geometrischen Kontext aus der zugrunde liegenden Szene der modifizierten Digitalszene 716, um Koeffizienten zu generieren, die sowohl (i) die verdeckten metallischen Kugeln dimmen bzw. dämpfen wie auch (ii) ein starkes richtungsgebundenes Licht an den metallischen Kugeln, die Licht aus einer Lichtquelle außerhalb der Perspektive der modifizierten Digitalszene 716 ausgesetzt sind, widerspiegeln.
  • 8 und 9 zeigen eine Übersicht über eine Umgebung, in der ein Beleuchtungsschätzungssystem arbeiten kann, und ein Beispiel für eine Architektur des Beleuchtungsschätzungssystems. Insbesondere zeigt 8A ein Blockdiagramm zur Darstellung einer exemplarischen Systemumgebung („Umgebung“) 800, in der ein Beleuchtungsschätzungssystem 806 entsprechend einer oder mehreren Ausführungsformen arbeiten kann. Insbesondere zeigt 8, dass die Umgebung 800 einen Server / Server 802, einen drittseitigen Server / drittseitige Server 810, ein Netzwerk 812, eine Clientvorrichtung 814 und einen Nutzer 818, der der Clientvorrichtung 814 zugeordnet ist, umfasst. Obwohl 8 eine Clientvorrichtung und einen Nutzer darstellt, kann die Umgebung 800 bei alternativen Ausführungsformen eine beliebige Anzahl von Rechenvorrichtungen und zugeordneten Nutzern beinhalten. Auf ähnliche Weise sind, obwohl 8 eine bestimmte Anordnung des Servers / der Server 802, des drittseitigen Servers / der drittseitigen Server 810, des Netzwerkes 812, der Clientvorrichtung 814 und des Nutzers 818 darstellt, verschiedene zusätzliche Anordnungen möglich.
  • Wie in 8 gezeigt ist, können der Server / die Server 802, der drittseitige Server / die drittseitigen Server 810, das Netzwerk 812 und die Clientvorrichtung 814 entweder direkt oder indirekt kommunikationstechnisch miteinander gekoppelt sein, so beispielsweise über das Netzwerk 812, das nachstehend anhand 12 noch weiter beschrieben wird. Der Server / die Server 802 und die Clientvorrichtung 814 können ein beliebiger Typ von Rechenvorrichtung sein, darunter eine oder mehrere Rechenvorrichtungen, wie nachstehend anhand 12 weiter beschrieben wird.
  • Wie in 8 dargestellt ist, kann/können der Server / die Server 802 einen beliebigen Typ von Daten generieren, speichern, empfangen und/oder übertragen, darunter Eingaben von Digitalszenen in neuronale Netzwerke oder Nutzereingaben, die zu einer Wiedergabe eines virtuellen Objektes auffordern, um eine realitätserweiterte Szene zu schaffen. Der Server / die Server 802 kann/können beispielsweise von der Clientvorrichtung 814 eine Nutzereingabe empfangen, die dazu auffordert, ein virtuelles Objekt an einer bezeichneten Position innerhalb einer Digitalszene wiederzugeben, und sodann ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk dafür nutzen, ortsspezifische Beleuchtungsparameter für die bezeichnete Position zu generieren. Beim Generieren derartiger Parameter kann/können der Server / die Server 802 des Weiteren eine modifizierte Digitalszene wiedergeben, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst. Bei einigen Ausführungsformen umfasst/umfassen der Server / die Server 802 einen Datenserver, einen Kommunikationsserver oder einen Webhosting-Server.
  • Wie weiter in 8 gezeigt ist, kann/können der Server / die Server 802 ein Realitätserweiterungssystem 804 beinhalten. Im Allgemeinen erleichtert das Realitätserweiterungssystem 804 das Generieren, Modifizieren, Teilen, Zugreifen auf, Speichern und/oder Löschen von Digitalcontent in Bildern auf Grundlage erweiterter Realität (beispielsweise bei einem zweidimensionalen Digitalbild einer Szene oder einem dreidimensionalen Digitalmodell einer Szene). Das Realitätserweiterungssystem 804 kann den Server / die Server 802 beispielsweise dafür nutzen, modifizierte Digitalbilder oder Modelle, die virtuelle Objekte umfassen, zu generieren oder bestehende Digitalszenen zu modifizieren. Bei gewissen Implementierungen nutzt das Realitätserweiterungssystem 804 den Server / die Server 802 dafür, Nutzereingaben, die Digitalszenen, virtuelle Objekte oder bezeichnete Positionen innerhalb von Digitalszenen identifizieren, von der Clientvorrichtung 814 zu empfangen oder Daten, die Digitalszenen, virtuelle Objekte oder bezeichnete Positionen darstellen, an die Clientvorrichtung 814 zu übertragen.
  • Zusätzlich zu dem Realitätserweiterungssystem 804 beinhaltet/beinhalten der Server / die Server 802 das Beleuchtungsschätzungssystem 806. Das Beleuchtungsschätzungssystem 806 ist eine Ausführungsform des vorstehend beschriebenen Beleuchtungsschätzungssystems 110 (und kann dessen Funktionen, Verfahren und Prozesse durchführen). Bei einigen Ausführungsformen nutzt das Beleuchtungsschätzungssystem 806 den Server / die Server 802 beispielsweise dafür, eine Aufforderung dazu zu identifizieren, ein virtuelles Objekt an einer bezeichneten Position innerhalb einer Digitalszene wiederzugeben. Das Beleuchtungsschätzungssystem 806 nutzt den Server / die Server 802 des Weiteren dafür, eine Globalmerkmalskarte aus der Digitalszene unter Nutzung eines ersten Satzes von Netzwerkschichten eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes zu extrahieren. Bei gewissen Implementierungen nutzt das Beleuchtungsschätzungssystem 806 den Server / die Server 802 des Weiteren dafür, einen Lokalpositionsindikator für die bezeichnete Position zu generieren und die Globalmerkmalskarte für die Digitalszene auf Grundlage des Lokalpositionsindikators zu modifizieren. Auf Grundlage der modifizierten Globalmerkmalskarte nutzt das Beleuchtungsschätzungssystem 806 des Weiteren den Server / die Server 802 dafür, (i) ortsspezifische Beleuchtungsparameter für die bezeichnete Position unter Nutzung eines zweiten Satzes von Schichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes zu generieren und (ii) eine modifizierte Digitalszene wiederzugeben, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst.
  • Wie bei den vorstehenden Ausführungsformen vorgeschlagen worden ist, kann das Beleuchtungsschätzungssystem 806 gänzlich oder teilweise durch die einzelnen Elemente der Umgebung 800 implementiert sein. Obwohl 8 darstellt, dass das Beleuchtungsschätzungssystem 806 innerhalb des Servers / der Server 802 implementiert ist, können die Komponenten des Beleuchtungsschätzungssystems 806 auch in anderen Komponenten der Umgebung 800 implementiert sein. Bei einigen Ausführungsformen umfasst die Clientvorrichtung 814 beispielsweise das Beleuchtungsschätzungssystem 806 und führt alle Funktionen, Verfahren und Prozesse des Beleuchtungsschätzungssystems 806, wie vorstehend beschrieben worden ist und nachstehend noch beschrieben wird, durch. Die vorliegende Offenbarung beschreibt die Komponenten des Beleuchtungsschätzungssystems 806 nachstehend weiter anhand 9.
  • Wie in 8 weiter gezeigt ist, umfasst die Clientvorrichtung 814 bei einigen Ausführungsformen eine Rechenvorrichtung, die dem Nutzer 818 ermöglicht, Digitalkommunikationen zu senden und zu empfangen. Die Clientvorrichtung 814 kann beispielsweise ein Desktopcomputer, ein Laptopcomputer, ein Smartphone, ein Tablet oder eine andere elektronische Vorrichtung beinhalten. Bei einigen Ausführungsformen beinhaltet die Clientvorrichtung 814 des Weiteren eine oder mehrere Softwareanwendungen (beispielsweise eine Realitätserweiterungsanwendung 816), die dem Nutzer 818 ermöglicht, Digitalkommunikationen zu senden und zu empfangen. Die Realitätserweiterungsanwendung 816 kann beispielsweise eine Softwareanwendung, die auf der Clientvorrichtung 814 installiert ist, oder auch eine Softwareanwendung, die auf dem Server / den Servern 802 gehostet wird, sein. Wird sie auf dem Server / den Servern 802 gehostet, so kann auf die Realitätserweiterungsanwendung 816 von der Clientvorrichtung 814 durch eine andere Anwendung, so beispielsweise einen Webbrowser, zugegriffen werden. Bei einigen Implementierungen beinhaltet die Realitätserweiterungsanwendung 816 Anweisungen, die bei Ausführung durch einen Prozessor die Clientvorrichtung 814 veranlassen, dem Nutzer 818 eine oder mehrere grafische Nutzerschnittstellen, so beispielsweise Nutzerschnittstellen, die Digitalszenen und/oder virtuelle Objekte umfassen, zur Auswahl zu präsentieren, und das Beleuchtungsschätzungssystem 816 veranlassen, sie als Eingaben beim Generieren von ortsspezifischen Beleuchtungsparametern oder modifizierten Digitalszenen anzunehmen.
  • Wie ebenfalls in 8 dargestellt ist, ist das Realitätserweiterungssystem 804 kommunikationstechnisch mit der Realitätserweiterungsdatenbank 808 verbunden. Bei einer oder mehreren Ausführungsformen greift das Realitätserweiterungssystem 804 auf Daten, die Aufforderungen von dem Beleuchtungsschätzungssystem 806 zugeordnet sind, aus der Realitätserweiterungsdatenbank 808 zu und fragt diese ab. Das Realitätserweiterungssystem 804 kann beispielsweise auf Digitalszenen, virtuelle Objekte, bezeichnete Positionen innerhalb von Digitalszenen oder ortsspezifische Beleuchtungsparameter für das Beleuchtungsschätzungssystem 806 zugreifen. Wie in 8 gezeigt ist, wird die Realitätserweiterungsdatenbank 808 von dem Server / den Servern 802 separat vorgehalten. Alternativ umfassen das Realitätserweiterungssystem 804 und die Realitätserweiterungsdatenbank 808 bei einer oder mehreren Ausführungsformen ein einziges kombiniertes System oder Teilsystem innerhalb des Servers / der Server 802.
  • 9 zeigt zusätzliche Details im Zusammenhang mit Komponenten und Merkmalen des Beleuchtungsschätzungssystems 806. Insbesondere zeigt 9 eine Rechenvorrichtung 900, die das Realitätserweiterungssystem 804 und das Beleuchtungsschätzungssystem 806 implementiert. Bei einigen Ausführungsformen umfasst die Rechenvorrichtung 900 einen oder mehrere Server (beispielsweise den Server / die Server 802). Bei anderen Ausführungsformen umfasst die Rechenvorrichtung 900 eine oder mehrere Clientvorrichtungen (beispielsweise die Clientvorrichtung 814).
  • Wie in 9 gezeigt ist, beinhaltet die Rechenvorrichtung 900 das Realitätserweiterungssystem 804. Bei einigen Ausführungsformen nutzt das Realitätserweiterungssystem 804 seine Komponenten dafür, Tools zum Generieren von Digitalszenen oder anderen Bildern auf Basis erweiterter Realität bereitzustellen oder bestehende Digitalszenen oder andere Bilder auf Basis erweiterter Realität innerhalb einer Nutzerschnittstelle der Realitätserweiterungsanwendung 816 zu modifizieren. Zusätzlich erleichtert das Realitätserweiterungssystem 804 in einigen Fällen das Generieren, Modifizieren, Teilen, Zugreifen auf, Speichern und/oder Löschen von Digitalcontents in Bildern auf Basis erweiterter Realität.
  • Wie in 9 weiter gezeigt ist, beinhaltet die Rechenvorrichtung 900 das Beleuchtungsschätzungssystem 806. Das Beleuchtungsschätzungssystem 806 beinhaltet unter anderem einen für Digitalszenen gedachten Verwalter 902, einen für virtuelle Objekte gedachten Verwalter 904, einen für neuronale Netzwerke gedachten Trainer 906, einen für neuronale Netzwerke gedachten Operator 908, einen für erweiterte Realität gedachten Wiedergeber 910 und/oder einen Speicherverwalter 912. Die nachfolgenden Absätze beschreiben jede dieser Komponenten einzeln.
  • Wie eben bemerkt worden ist, beinhaltet das Beleuchtungsschätzungssystem 806 den für Digitalszenen gedachten Verwalter 902. Der für Digitalszenen gedachte Verwalter 902 empfängt Eingaben im Zusammenhang mit Digitalszenen, identifiziert sie und analysiert sie. Bei einigen Ausführungsformen empfängt der für Digitalszenen gedachte Verwalter 902 beispielsweise Nutzereingaben, die Digitalszenen identifizieren, und präsentiert Digitalszenen für eine Realitätserweiterungsanwendung. Zusätzlich identifiziert der für Digitalszenen gedachte Verwalter 902 bei einigen Ausführungsformen mehrere Digitalszenen zur Präsentation als Teil einer Abfolge von Bildern (beispielsweise bei einer Realitätserweiterungsabfolge).
  • Wie weiter in 9 gezeigt ist, empfängt der für virtuelle Objekte gedachte Verwalter 904 Eingaben im Zusammenhang mit virtuellen Objekten, identifiziert sie und analysiert sie. Bei einigen Ausführungsformen empfängt der für virtuelle Objekte gedachte Verwalter 904 beispielsweise Eingaben, die virtuelle Objekte identifizieren und das Beleuchtungsschätzungssystem 110 dazu auffordern, virtuelle Objekte an bezeichneten Orten innerhalb von Digitalszenen wiederzugeben. Zusätzlich stellt der für virtuelle Objekte gedachte Verwalter 904 bei einigen Ausführungsformen auswählbare Optionen für virtuelle Objekte bereit, so beispielsweise auswählbare Optionen, die in einer Nutzerschnittstelle einer Realitätserweiterungsanwendung gezeigt sind.
  • Wie in 9 weiter gezeigt ist, trainiert der für neuronale Netzwerke gedachte Trainer 906 ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk 918. Bei einigen Ausführungsformen extrahiert der für neuronale Netzwerke gedachte Trainer 906 beispielsweise eine Globalmerkmalstrainingskarte aus einer Digitaltrainingsszene unter Nutzung eines ersten Satzes von Schichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 918. Zusätzlich generiert der für neuronale Netzwerke gedachte Trainer 906 bei einigen Ausführungsformen einen Lokalpositionstrainingsindikator für eine bezeichnete Position innerhalb der Digitaltrainingsszene und modifiziert die Globalmerkmalstrainingskarte auf Grundlage des Lokalpositionstrainingsindikators für die bezeichnete Position. Aus der modifizierten Globalmerkmalstrainingskarte (i) generiert der für neuronale Netzwerke gedachte Trainer 906 ortsspezifische Beleuchtungstrainingsparameter für die bezeichnete Position unter Nutzung eines zweiten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 918 und (ii) modifiziert der für neuronale Netzwerke gedachte Trainer 906 Netzwerkparameter des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes auf Grundlage eines Vergleiches der ortsspezifischen Beleuchtungstrainingsparameter mit Ground-Truth-Beleuchtungsparametern für die bezeichnete Position innerhalb der Digitaltrainingsszene.
  • Bei einigen derartigen Ausführungsformen trainiert der für neuronale Netzwerke gedachte Trainer 906 das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 918 so, wie jeweils in 4A und 4B dargestellt ist. Bei einigen Ausführungsformen kommuniziert der für neuronale Netzwerke gedachte Trainer 906 mit dem Speicherverwalter 912, um Digitaltrainingsszenen aus Digitalszenen 914, Ground-Truth-Beleuchtungsparameter aus ortsspezifischen Beleuchtungsparametern 920 und/oder das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 918 anzuwenden und/oder hierauf zuzugreifen.
  • Wie in 9 weiter gezeigt ist, wendet der für neuronale Netzwerke gedachte Operator 908 eine trainierte Version des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 918 an. Bei einigen Ausführungsformen extrahiert der für neuronale Netzwerke gedachter Operator 908 beispielsweise eine Globalmerkmalskarte aus einer Digitalszene unter Nutzung eines ersten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes 918. Der für neuronale Netzwerke gedachte Operator 908 generiert des Weiteren einen Lokalpositionsindikator für die bezeichnete Position und modifiziert die Globalmerkmalskarte für die Digitalszene auf Grundlage des Lokalpositionsindikators. Auf Grundlage der modifizierten Globalmerkmalskarte generiert der für neuronale Netzwerke gedachte Operator 908 des Weiteren ortsspezifische Beleuchtungsparameter für die bezeichnete Position unter Nutzung eines zweiten Satzes von Schichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Bei einigen derartigen Ausführungsformen wendet der für neuronale Netzwerke gedachte Operator 908 das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 918 so an, wie jeweils in 4B und 5B dargestellt ist. Bei einigen Ausführungsformen kommuniziert der für neuronale Netzwerke gedachte Operator 908 des Weiteren mit dem Speicherverwalter 912, um Digitalszenen von den Digitalszenen 914, virtuelle Objekte von den virtuellen Objekten 916, ortsspezifische Beleuchtungsparameter von den ortsspezifischen Beleuchtungsparametern 920 und/oder das der Schätzung der lokalen Beleuchtung dienende neuronale Netzwerk 918 anzuwenden und/oder hierauf zuzugreifen.
  • Zusätzlich zu dem für neuronale Netzwerke gedachten Operator 908 umfasst das Beleuchtungsschätzungssystem 806 bei einigen Ausführungsformen des Weiteren den für erweiterte Realität gedachten Wiedergeber 910. Der für erweiterte Realität gedachte Wiedergeber 910 gibt modifizierte Digitalszenen, die virtuelle Objekte umfassen, wieder. Bei einigen Ausführungsformen gibt der für erweiterte Realität gedachte Wiedergeber 910 beispielsweise auf Grundlage einer Aufforderung zum Wiedergeben eines virtuellen Objektes an einer bezeichneten Position innerhalb einer Digitalszene beispielsweise eine modifizierte Digitalszene wieder, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend ortsspezifischen Beleuchtungsparametern von dem für neuronale Netzwerke gedachten Operator 908 umfasst.
  • Bei einer oder mehreren Ausführungsformen kommuniziert jede der Komponenten des Beleuchtungsschätzungssystems 806 mit einer anderen unter Nutzung von beliebigen geeigneten Kommunikationstechnologien. Zusätzlich können die Komponenten des Beleuchtungsschätzungssystems 806 mit einer oder mehreren anderen Vorrichtungen, die eine oder mehrere der vorbeschriebenen Clientvorrichtungen beinhalten, kommunizieren. Obwohl die Komponenten des Beleuchtungsschätzungssystems 806 in 9 getrennt gezeigt sind, können beliebige Subkomponenten zu weniger Komponenten, beispielsweise auch nur zu einer einzigen Komponente, kombiniert oder in mehr Komponenten unterteilt sein, so dies für eine bestimmte Implementierung dienlich ist. Obwohl die Komponenten von 9 hier in Verbindung mit dem Beleuchtungsschätzungssystem 806 beschrieben werden, können wenigstens einige der Komponenten zum Durchführen von Operationen in Verbindung mit dem Beleuchtungsschätzungssystem 806, wie hier beschrieben wird, auch auf anderen Vorrichtungen innerhalb der Umgebung 800 implementiert sein.
  • Jede der Komponenten 902 bis 920 des Beleuchtungsschätzungssystems 806 kann Software, Hardware oder beides beinhalten. Die Komponenten 902 bis 920 können beispielsweise eine oder mehrere Anweisungen beinhalten, die auf einem computerlesbaren Speichermedium gespeichert sind und von Prozessoren einer oder mehrerer Rechenvorrichtungen, so beispielsweise einer Clientvorrichtung oder einer Servervorrichtung, ausführbar sind. Bei Ausführung durch den einen oder die mehreren Prozessoren können die computerausführbaren Anweisungen des Beleuchtungsschätzungssystems 806 veranlassen, dass die Rechenvorrichtung / die Rechenvorrichtungen die hier beschriebenen Verfahren durchführt/durchführen. Alternativ können die Komponenten 902 bis 920 Hardware, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung zur Durchführung einer bestimmten Funktion oder Gruppe von Funktionen beinhalten. Alternativ können die Komponenten 902 bis 920 des Beleuchtungsschätzungssystems 806 eine Kombination von computerausführbaren Anweisungen und Hardware beinhalten.
  • Des Weiteren können die Komponenten 902 bis 920 des Beleuchtungsschätzungssystems 806 beispielsweise als ein oder mehrere Betriebssysteme, als eine oder mehrere eigenständige Anwendungen, als ein oder mehrere Erzeuger einer Anwendung, als ein oder mehrere Plug-ins, als eine oder mehrere Bibliotheksfunktionen oder Funktionen, die von anderen Anwendungen aufgerufen werden können, und/oder als Cloudrechenmodell implementiert sein. Die Komponenten 902 bis 920 können daher als eigenständige Anwendung, so beispielsweise als Desktop- oder Mobilanwendung, implementiert sein. Des Weiteren können die Komponenten 902 bis 920 als eine oder mehrere webbasierte Anwendungen, die auf einem Remoteserver gehostet werden, implementiert sein. Die Komponenten 902 bis 920 können zudem in einem Paket (suite) von Mobilvorrichtungsanwendungen oder „Apps“ implementiert sein. Darstellungshalber können die Komponenten 902 bis 920 in einer Softwareanwendung implementiert sein, darunter unter anderem ADOBE ILLUSTRATOR, ADOBE EXPERIENCE DESIGN, ADOBE CREATIVE CLOUD, ADOBE PHOTOSHOP, PROJECT AERO oder ADOBE LIGHTROOM. „ADOBE“, „ILLUSTRATOR“, „EXPERIENCE DESIGN“, „CREATIVE CLOUD“, „PHOTOSHOP“, „PROJECT AERO“ und „LIGHTROOM“ sind entweder eingetragene Marken oder Marken von Adobe Inc. in den Vereinigten Staaten und/oder anderen Ländern.
  • 10 zeigt ein Flussdiagramm mit einer Abfolge von Vorgängen 1000 zum Trainieren eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes dafür, ortsspezifische Beleuchtungsparameter zu generieren, entsprechend einer oder mehreren Ausführungsformen. Obwohl 10 Vorgänge entsprechend einer Ausführungsform zeigt, können alternative Ausführungsformen beliebige der in 10 gezeigten Vorgänge weglassen, hinzufügen, umordnen und/oder modifizieren. Die Vorgänge von 10 können als Teil eines Verfahrens durchgeführt werden. Alternativ kann ein nichttemporäres computerlesbares Speichermedium Anweisungen umfassen, die bei Ausführung durch einen oder mehrere Prozessoren eine Rechenvorrichtung veranlassen, die in 10 dargestellten Vorgänge durchzuführen. Bei wieder anderen Ausführungsformen kann ein System die Vorgänge von 10 ausführen.
  • Wie in 10 gezeigt ist, beinhalten die Vorgänge 1000 einen Vorgang 1010 des Extrahierens einer Globalmerkmalstrainingskarte aus einer Digitaltrainingsszene unter Einsatz eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Insbesondere beinhaltet der Vorgang 1010 bei einigen Ausführungsformen ein Extrahieren einer Globalmerkmalstrainingskarte aus einer Digitaltrainingsszene der Digitaltrainingsszenen unter Einsatz eines ersten Satzes von Netzwerkschichten eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Bei einigen Ausführungsformen umfasst die Digitaltrainingsszene ein dreidimensionales Digitalmodell oder ein Digitalbetrachtungspunktbild einer realistischen Szene.
  • Wie in 10 weiter gezeigt ist, beinhalten die Vorgänge 1000 einen Vorgang 1020 des Generierens eines Lokalpositionstrainingsindikators für eine bezeichnete Position innerhalb der Digitaltrainingsszene. Bei gewissen Ausführungsformen umfasst das Generieren des Lokalpositionstrainingsindikators beispielsweise ein Identifizieren von Lokalpositionstrainingskoordinaten, die die bezeichnete Position innerhalb der Digitaltrainingsszene darstellen. Im Gegensatz hierzu umfasst das Generieren des Lokalpositionstrainingsindikators bei einigen Implementierungen ein Auswählen eines ersten Trainingspixels entsprechend der bezeichneten Position aus einer ersten Merkmalstrainingskarte entsprechend einer ersten Schicht des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; und ein Auswählen eines zweiten Trainingspixels entsprechend der bezeichneten Position aus einer zweiten Merkmalstrainingskarte entsprechend einer zweiten Schicht des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes.
  • Wie in 10 weiter dargestellt ist, beinhalten die Vorgänge 1000 einen Vorgang 1030 des Modifizierens der Globalmerkmalstrainingskarte für die Digitaltrainingsszene auf Grundlage des Lokalpositionstrainingsindikators. Bei gewissen Implementierungen beinhaltet der Vorgang 1030 beispielsweise ein Modifizieren der Globalmerkmalstrainingskarte, um die modifizierte Globalmerkmalstrainingskarte zu generieren, durch: Generieren einer Maskierungsmerkmalstrainingskarte aus den Lokalpositionstrainingskoordinaten; Multiplizieren der Globalmerkmalstrainingskarte und der Maskierungsmerkmalstrainingskarte für die Lokalpositionstrainingskoordinaten zum Generieren einer Maskiertdichtemerkmalstrainingskarte; und Verketten der Globalmerkmalstrainingskarte und der Maskiertdichtemerkmalstrainingskarte zur Bildung einer Kombinationsmerkmalstrainingskarte.
  • Wie in 10 weiter gezeigt ist, beinhalten die Vorgänge 1000 einen Vorgang 1040 des Generierens von ortsspezifischen Beleuchtungstrainingsparametern für die bezeichnete Position auf Grundlage der modifizierten Globalmerkmalstrainingskarte unter Einsatz des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Insbesondere beinhaltet der Vorgang 1040 bei gewissen Implementierungen ein Generieren von ortsspezifischen Beleuchtungstrainingsparametern für die bezeichnete Position auf Grundlage der modifizierten Globalmerkmalstrainingskarte unter Einsatz eines zweiten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Bei einigen Ausführungsformen umfasst der erste Satz von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes untere Schichten eines dicht verbundenen (densely connected) faltungstechnischen Netzwerkes, und der zweite Satz von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes umfasst faltungstechnische Schichten und vollständig verbundene (fully connected) Schichten.
  • Wie vorstehend bemerkt worden ist, umfasst das Generieren der ortsspezifischen Beleuchtungstrainingsparameter für die bezeichnete Position bei gewissen Implementierungen ein Generieren von ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten, die Beleuchtungsbedingungen an der bezeichneten Position angeben. Bei einigen derartigen Ausführungsformen umfasst das Generieren der ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten ein Generieren der ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten fünften Grades für jeden Farbkanal.
  • Wie in 10 weiter gezeigt ist, beinhalten die Vorgänge 1000 einen Vorgang 1050 des Modifizierens von Netzwerkparametern des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes auf Grundlage eines Vergleiches der ortsspezifischen Trainingsparameter mit Ground-Truth-Beleuchtungsparametern. Insbesondere beinhaltet der Vorgang 1050 bei gewissen Implementierungen ein Modifizieren von Netzwerkparametern des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes auf Grundlage eines Vergleiches der ortsspezifischen Beleuchtungstrainingsparameter mit einem Satz von Ground-Truth-Beleuchtungsparametern für die bezeichnete Position innerhalb der Digitaltrainingsszene.
  • Beinhalten können die Vorgänge 1000 zusätzlich zu den Vorgängen 1010 bis 1050 in einigen Fällen des Weiteren ein Bestimmen des Satzes von Ground-Truth-Beleuchtungsparametern für die bezeichnete Position durch Bestimmen eines Satzes von ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten, die Beleuchtungsbedingungen an der bezeichneten Position angeben. Bei einer oder mehreren Ausführungsformen beinhalten die Vorgänge 1000 des Weiteren zusätzlich ein Generieren der ortsspezifischen Beleuchtungstrainingsparameter durch Bereitstellen der Kombinationsmerkmalstrainingskarte für den zweiten Satz von Netzwerkschichten.
  • Wie vorstehend bemerkt worden ist, beinhalten die Vorgänge 1000 bei einigen Ausführungsformen des Weiteren ein Bestimmen des Satzes von Ground-Truth-Beleuchtungsparametern für die bezeichnete Position durch Bestimmen eines Satzes von ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten, die Beleuchtungsbedingungen an der bezeichneten Position angeben. Bei einigen derartigen Implementierungen umfasst das Bestimmen des Satzes von ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten ein Identifizieren von Positionen innerhalb der Digitaltrainingsszene; ein Generieren einer Kubuskarte für jede Position innerhalb der Digitaltrainingsszene; und ein Projizieren der Kubuskarte für jede Position innerhalb der Digitaltrainingsszene auf den Satz von ortsspezifischen Ground-Truth-Kugelflächenfu nktionskoeffizienten.
  • 11 zeigt ein Flussdiagramm mit einer Abfolge von Vorgängen 1100 des Anwendens eines trainierten der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes dafür, ortsspezifische Beleuchtungsparameter zu generieren, entsprechend einer oder mehreren Ausführungsformen. Obwohl 11 Vorgänge entsprechend einer Ausführungsform darstellt, 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. Alternativ können nichttemporäre computerlesbare Speichermedien Anweisungen umfassen, die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass eine Rechenvorrichtung die in 11 abgebildeten Vorgänge durchführt. Bei wieder anderen Ausführungsformen kann ein System die Vorgänge von 11 durchführen.
  • Wie in 11 gezeigt ist, beinhalten die Vorgänge 1100 einen Vorgang 1110 des Identifizierens einer Aufforderung zum Wiedergeben eines virtuellen Objektes an einer bezeichneten Position innerhalb einer Digitalszene. Bei einigen Ausführungsformen umfasst das Identifizieren der Aufforderung beispielsweise ein Empfangen der Aufforderung zum Wiedergeben des virtuellen Objektes an der bezeichneten Position von einer Mobilvorrichtung.
  • Wie in 11 weiter dargestellt ist, beinhalten die Vorgänge 1100 einen Vorgang 1120 des Extrahierens einer Globalmerkmalskarte aus der Digitalszene unter Nutzung eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Insbesondere beinhaltet der Vorgang 1120 bei einigen Ausführungsformen ein Extrahieren einer Globalmerkmalskarte aus der Digitalszene unter Einsatz eines ersten Satzes von Netzwerkschichten eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes.
  • Wie in 11 weiter gezeigt ist, beinhalten die Vorgänge 1100 einen Vorgang 1130 des Generierens eines Lokalpositionsindikators für die bezeichnete Position innerhalb der Digitalszene. Insbesondere beinhaltet der Vorgang 1130 bei einigen Ausführungsformen ein Generieren des Lokalpositionsindikators für die bezeichnete Position durch Identifizieren von Lokalpositionskoordinaten, die die bezeichnete Position innerhalb der Digitalszene darstellen.
  • Im Gegensatz hierzu beinhaltet der Vorgang 1130 bei gewissen Implementierungen ein Generieren des Lokalpositionsindikators für die bezeichnete Position durch Auswählen eines ersten Pixels entsprechend der bezeichneten Position aus einer ersten Merkmalskarte entsprechend einer ersten Schicht des ersten Satzes von Netzwerkschichten; und ein Auswählen eines zweiten Pixels entsprechend der bezeichneten Position aus einer zweiten Merkmalskarte entsprechend einer zweiten Schicht des ersten Satzes von Netzwerkschichten.
  • Wie in 11 weiter gezeigt ist, beinhalten die Vorgänge 1100 einen Vorgang 1140 des Modifizierens der Globalmerkmalskarte für die Digitalszene auf Grundlage des Lokalpositionsindikators für die bezeichnete Position. Insbesondere beinhaltet der Vorgang 1140 bei einigen Ausführungsformen ein Modifizieren der Globalmerkmalskarte zum Generieren der modifizierten Globalmerkmalskarte durch: Kombinieren von Merkmalen für das erste Pixel und das zweite Pixel entsprechend der bezeichneten Position, um eine Hyperspaltenkarte zu generieren; und Verketten der Globalmerkmalskarte und der Hyperspaltenkarte zur Bildung einer Kombinationsmerkmalskarte.
  • Wie in 11 weiter gezeigt ist, beinhalten die Vorgänge 1100 einen Vorgang 1150 des Generierens von ortsspezifischen Beleuchtungsparametern für die bezeichnete Position auf Grundlage der modifizierten Globalmerkmalskarte unter Einsatz des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Insbesondere beinhaltet der Vorgang 1140 bei einigen Ausführungsformen ein Generieren von ortsspezifischen Beleuchtungsparametern für die bezeichnete Position auf Grundlage der modifizierten Globalmerkmalskarte unter Einsatz eines zweiten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Bei einigen Ausführungsformen umfasst der erste Satz von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes untere Schichten eines dicht verbundenen (densely connected) faltungstechnischen Netzwerkes, und der zweite Satz von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes umfasst faltungstechnische Schichten und vollständig verbundene (fully connected) Schichten.
  • Bei einem Beispiel für den Vorgang 1150 umfasst das Generieren der ortsspezifischen Beleuchtungsparameter für die bezeichnete Position bei einigen Ausführungsformen ein Generieren von ortsspezifischen Kugelflächenfunktionskoeffizienten, die Beleuchtungsbedingungen für ein Objekt an der bezeichneten Position angeben. Bei einem weiteren Beispiel umfasst das Generieren der ortsspezifischen Beleuchtungsparameter bei gewissen Implementierungen das Bereitstellen der Kombinationsmerkmalskarte für den zweiten Satz von Netzwerkschichten.
  • Wie in 11 weiter gezeigt ist, beinhalten die Vorgänge 1100 einen Vorgang 1160 des Wiedergebens einer modifizierten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst. Insbesondere beinhaltet der Vorgang 1160 bei einigen Ausführungsformen ein auf Grundlage der Aufforderung erfolgendes Wiedergeben der modifizierten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst. In einigen Fällen umfasst das Wiedergeben der modifizierten Digitalszene beispielsweise ein auf Grundlage des Empfangs der Aufforderung von der Mobilvorrichtung und innerhalb einer grafischen Nutzerschnittstelle der Mobilvorrichtung erfolgendes Wiedergeben der modifizierten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst.
  • Zusätzlich zu den Vorgängen 1110 bis 1160 beinhalten die Vorgänge 1100 bei gewissen Implementierungen des Weiteren ein Identifizieren einer Positionsanpassungsaufforderung zum Bewegen des virtuellen Objektes von der bezeichneten Position innerhalb der Digitalszene zu einer neuen bezeichneten Position innerhalb der Digitalszene; ein Generieren eines neuen Lokalpositionsindikators für die neue bezeichnete Position innerhalb der Digitalszene; ein Modifizieren der Globalmerkmalskarte für die Digitalszene auf Grundlage des neuen Lokalpositionsindikators für die neue bezeichnete Position zur Bildung einer neuen modifizierten Globalmerkmalskarte; ein Generieren von neuen ortsspezifischen Beleuchtungsparametern für die neue bezeichnete Position auf Grundlage der neuen modifizierten Globalmerkmalskarte unter Einsatz des zweiten Satzes von Netzwerkschichten; und ein auf Grundlage der Positionsanpassungsaufforderung erfolgendes Wiedergeben einer angepassten Digitalszene, die das virtuelle Objekt an der neuen bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Beleuchtungsparametern umfasst.
  • Wie vorstehend bemerkt worden ist, beinhalten die Vorgänge 1100 bei einer oder mehreren Ausführungsformen des Weiteren ein Identifizieren einer Perspektivenanpassungsaufforderung zum Wiedergeben der Digitalszene von einem anderen Betrachtungspunkt aus; und ein auf Grundlage der Perspektivenanpassungsaufforderung erfolgendes Wiedergeben der modifizierten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst, von dem anderen Betrachtungspunkt aus.
  • Des Weiteren beinhalten die Vorgänge 1100 in einigen Fällen zudem ein Identifizieren einer Perspektivenanpassungsaufforderung zum Wiedergeben des virtuellen Objektes an der bezeichneten Position innerhalb der Digitalszene von einem anderen Betrachtungspunkt aus; ein Generieren eines neuen Lokalpositionsindikators für die bezeichnete Position innerhalb der Digitalszene von dem anderen Betrachtungspunkt aus; ein Modifizieren der Globalmerkmalskarte für die Digitalszene auf Grundlage des neuen Lokalpositionsindikators für die bezeichnete Position von dem anderen Betrachtungspunkt aus zur Bildung einer neuen modifizierten Globalmerkmalskarte; ein Generieren von neuen ortsspezifischen Beleuchtungsparametern für die bezeichnete Position von dem anderen Betrachtungspunkt aus auf Grundlage der neuen modifizierten Globalmerkmalskarte unter Einsatz des Satzes von Netzwerkschichten; und ein auf Grundlage der Anpassung von Beleuchtungsbedingungen erfolgendes Wiedergeben einer angepassten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Beleuchtungsparametern umfasst.
  • Zusätzlich beinhalten die Vorgänge 1100 bei gewissen Implementierungen des Weiteren ein Identifizieren einer Anpassung von Beleuchtungsparametern für die bezeichnete Position innerhalb der Digitalszene; ein Extrahieren einer neuen Globalmerkmalskarte aus der Digitalszene unter Einsatz des ersten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; ein Modifizieren der neuen Globalmerkmalskarte für die Digitalszene auf Grundlage des Lokalpositionsindikators für die bezeichnete Position; ein Generieren von neuen ortsspezifischen Beleuchtungsparametern für die bezeichnete Position auf Grundlage des neuen modifizierten Globalmerkmals bzw. der neuen modifizierten Globalmerkmalskarte unter Einsatz des neuen Satzes von Netzwerkschichten; und ein auf Grundlage der Anpassung von Beleuchtungsbedingungen erfolgendes Wiedergeben einer angepassten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Beleuchtungsparametern umfasst.
  • Zusätzlich zu den vorbeschriebenen Vorgängen (oder auch alternativ hierzu) beinhalten die Vorgänge 1000 (oder die Vorgänge 1100) bei gewissen Ausführungsformen einen Schritt zum Trainieren eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes unter Einsatz von Globalmerkmalstrainingskarten für die Digitaltrainingsszenen und Lokalpositionstrainingsindikatoren für bestimmte Positionen innerhalb der Digitaltrainingsszenen. Umfassen können die anhand 4A und 5A beschriebenen Algorithmen und Vorgänge beispielsweise die entsprechenden Vorgänge zum Durchführen eines Schrittes zum Trainieren eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes unter Einsatz von Globalmerkmalstrainingskarten für die Digitaltrainingsszenen und von Lokalpositionstrainingsindikatoren für bezeichnete Positionen innerhalb der Digitaltrainingsszenen.
  • Zusätzlich oder alternativ beinhalten die Vorgänge 1000 (oder die Vorgänge 1100) bei einigen Ausführungsformen einen Schritt zum Generieren von ortsspezifischen Beleuchtungsparametern für die bezeichnete Position durch Einsetzen des trainierten der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes. Umfassen können die anhand von 4B oder 5B beschriebenen Algorithmen und Vorgänge beispielsweise die entsprechenden Vorgänge zum Durchführen eines Schrittes zum Generieren von ortsspezifischen Beleuchtungsparametern für die bezeichnete Position durch Einsetzen des trainierten der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes.
  • Ausführungsformen der vorliegenden Offenbarung können einen Spezialzweck- oder Allzweckcomputer, der Computerhardware beinhaltet, umfassen oder einsetzen, so beispielsweise einen oder mehrere Prozessoren und einen Systemspeicher, wie nachstehend noch detaillierter beschrieben wird. Ausführungsformen innerhalb des Umfanges der vorliegenden Offenbarung beinhalten zudem physische bzw. physikalische 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 bzw. Speicher, 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 Erzeugern 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 Netzwerkschnittstellenerzeugers (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 wahrnehmen. Bei einer oder mehreren 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 Assemblersprache oder sogar Quellcode sein. Obwohl der Erfindungsgegenstand in einer Sprache beschrieben worden ist, die für strukturelle hervortretende 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 hervortretenden Merkmale oder Vorgänge beschränkt ist. Vielmehr sind die beschriebenen hervortretenden 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 Programmerzeuger 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 der Begriff „Cloudcomputing bzw. Cloudrechnen“ als Teilnahme- bzw. Subskriptionsmodell 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 unter geringem Verwaltungsaufwand oder mit geringer Interaktion eines Dienstanbieters freigegeben und sodann entsprechend skaliert werden.
  • Ein Cloudrechenteilnahme- bzw. Subskriptionsmodell kann aus verschiedenen Charakteristiken zusammengesetzt sein, so beispielsweise On-Demand Self-Service, Broad Network Access, Resource Pooling, Rapid Elasticity, Measured Service und dergleichen. Ein Cloudrechenteilnahme- bzw. Subskriptionsmodell kann zudem verschiedene Dienstteilnahme- bzw. Subskriptionsmodelle anbieten, so beispielsweise „Software as a Service“ („SaaS“), einen Webdienst, „Platform as a Service“ („PaaS“) und „Infrastructure as a Service („IaaS“). Ein Cloudrechenteilnahme- bzw. Subskriptionsmodell 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. Wie in 12 gezeigt ist, kann die Rechenvorrichtung 1200 einen Prozessor 1202, einen Speicher 1204, eine Speichervorrichtung 1206, eine I/O-Schnittstelle 1208 und eine Kommunikationsschnittstelle 1210 umfassen, die durch eine Kommunikationsinfrastruktur 1212 kommunikationstechnisch gekoppelt sind. Bei gewissen Ausführungsformen kann die Rechenvorrichtung 1200 weniger oder mehr Komponenten als die in 12 gezeigten beinhalten. Die in 12 gezeigten Komponenten der 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 zur Digitalisierung von Objekten der realen Welt die Anweisungen aus einem internen Register, einem internen Cache, dem Speicher 1204 oder der Speichervorrichtung 1206 abrufen (oder holen) und diese decodieren und ausführen. Der Speicher 1204 kann ein flüchtiger oder nichtflüchtiger Speicher sein, der zum Speichern von Daten, Metadaten und Programmen zur Ausführung durch den Prozessor / die Prozessoren benutzt wird. Die Speichervorrichtung 1206 beinhaltet einen Speicher, so beispielsweise eine Festplatte, einen Flashplattenspeicher oder eine andere digitale Speichervorrichtung zum Speichern von Daten oder Anweisungen im Zusammenhang mit Objektdigitalisierungsprozessen (beispielsweise Digitalscans, Digitalmodelle).
  • Die I/O-Schnittstelle 1208 ermöglicht, dass Nutzer eine Eingabe für die Rechenvorrichtung 1200 bereitstellen, eine Ausgabe von dieser empfangen und auf andere Weise Daten an diese übertragen und von dieser empfangen. Die I/O-Schnittstelle 1208 kann eine Maus, ein Tastenfeld oder eine Tastatur, einen berührungsempfindlichen Bildschirm, eine Kamera, einen optischen Scanner, eine Netzwerkschnittstelle, ein Modem, andere bekannte I/O-Vorrichtungen oder eine Kombination aus derartigen I/O-Schnittstellen beinhalten. Die I/O-Schnittstelle 1208 kann eine oder mehrere Vorrichtungen zum Präsentieren einer Ausgabe gegenüber einem Nutzer beinhalten, darunter unter anderem eine Graphics Engine, eine Anzeige (beispielsweise einen Anzeigebildschirm), 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 eine beliebige andere grafische Komponente, so diese für eine bestimmte Implementierung dienlich ist, darstellen.
  • Die Kommunikationsschnittstelle 1210 kann Hardware, Software oder beides beinhalten. In jedem Fall kann die Kommunikationsschnittstelle 1210 eine oder mehrere Schnittstellen zur Kommunikation (so beispielsweise zur paketbasierten Kommunikation) zwischen der Rechenvorrichtung 1200 und einer oder mehreren anderen Vorrichtungen oder Netzwerken bereitstellen. Beispiels- und nicht beschränkungshalber kann die Kommunikationsschnittstelle 1210 einen Netzwerkschnittstellencontroller („NIC“) oder Netzwerkadapter für die Kommunikation mit einem Ethernet oder einem anderen drahtbasierten Netzwerk oder einen drahtlosen NIC („WNIC“) oder Drahtlosadapter für die Kommunikation mit einem Drahtlosnetzwerk, so beispielsweise einem Wl-Fl, beinhalten.
  • Zusätzlich kann die Kommunikationsschnittstelle 1210 Kommunikationen mit verschiedenen Typen von verdrahteten oder drahtlosen Netzwerken erleichtern. Die Kommunikationsschnittstelle 1210 kann zudem Kommunikationen unter Nutzung verschiedener Kommunikationsprotokolle erleichtern. Die Kommunikationsinfrastruktur 1212 kann zudem Hardware, Software oder beides zur Kopplung der Komponenten der Rechenvorrichtung 1200 miteinander beinhalten. Die Kommunikationsschnittstelle 1210 kann beispielsweise ein oder mehrere Netzwerke und/oder Protokolle dafür nutzen, mehreren Rechenvorrichtungen, die durch eine bestimmte Infrastruktur verbunden sind, zu ermöglichen, miteinander zu kommunizieren, um einen oder mehrere Aspekte der hier beschriebenen Digitalisierungsprozesse durchzuführen. Darstellungshalber kann der Bildkompressionsprozess mehreren Vorrichtungen (so beispielsweise Servervorrichtungen zum Durchführen von Bildverarbeitungsaufgaben einer großen Anzahl von Bildern) ermöglichen, Informationen unter Nutzung verschiedener Kommunikationsnetzwerke und Protokolle für den Austausch von Information über einen ausgewählten Arbeitsablauf und Bilddaten für mehrere Bilder auszutauschen.
  • In der vorliegenden Beschreibung ist die vorliegende Offenbarung anhand spezifischer exemplarischer Ausführungsformen beschrieben worden. Verschiedene Ausführungsformen und Aspekte der vorliegenden Offenbarung / der vorliegenden Offenbarungen werden anhand der hier erläuterten Details beschrieben, wobei die begleitende Zeichnung verschiedene Ausführungsformen verbildlicht. Die vorstehende Beschreibung und die Zeichnung sind für die Offenbarung illustrativ und sollen nicht als offenbarungsbeschränkend gedeutet werden. Es sind zahlreiche spezifische Details beschrieben worden, um ein eingehendes Verständnis der verschiedenen Ausführungsformen der vorliegenden Offenbarung zu ermöglichen.
  • Die vorliegende Erfindung kann in anderen spezifischen Formen verkörpert sein, ohne von ihrem Wesen oder ihren wesentlichen Eigenschaften abzugehen. Die beschriebenen Ausführungsformen sind in jeder Hinsicht nur als illustrativ und nicht als restriktiv zu betrachten. Die hier beschriebenen Verfahren können beispielsweise mit weniger oder mehr Schritten/Vorgängen durchgeführt werden, oder es können die Schritte/Vorgänge in anderen Reihenfolgen durchgeführt werden. Zusätzlich können die hier beschriebenen Schritte/Vorgänge wiederholt oder parallel zueinander oder parallel zu anderen Instanzen bzw. Versionen derselben oder ähnlicher Schritte/Vorgänge durchgeführt werden. Der Umfang der vorliegenden Anmeldung ist daher durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Alle Änderungen, die der Bedeutung und dem Äquivalenzbereich der Ansprüche entsprechen, sollen in ihrem Umfang mit umfasst sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Nicht-Patentliteratur
    • „Semantic Scene Completion from a Single Depth Image“ von Shuran Song et al., veröffentlicht bei „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2017) [0033]
    • „Physically-Based Rendering for Indoor Scene Understanding Using Convolutional Neural Networks“ von Yinda Zhang et al., veröffentlicht bei „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2017) [0033]
    • „Densely Connected Convolutional Layers“ von G. Huang et al., veröffentlicht bei „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2017) [0050]
    • „ImageNet Large Scale Visual Recognition Challenge“ von Olga Russakovsky et al., veröffentlicht in Band 30, Ausgabe Nr. 3 von „International Journal of Computer Vision“, 211-252 (2015) [0050]
    • „Learning to Predict Indoor Illumination from a Single Image“ von Marc-Andre Gardner et al., veröffentlicht in Band 36, Artikel Nr. 6 von „ACM Transactions on Graphics (2017)“ [0051]
    • „Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2015)“ [0077]

Claims (20)

  1. Nichttemporäres computerlesbares Medium, auf dem Anweisungen gespeichert sind, die bei Ausführung durch wenigstens einen Prozessor ein Computersystem veranlassen zum: Identifizieren einer Aufforderung zum Wiedergeben eines virtuellen Objektes an einer bezeichneten Position innerhalb einer Digitalszene; Extrahieren einer Globalmerkmalskarte aus der Digitalszene unter Einsatz eines ersten Satzes von Netzwerkschichten eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; Generieren eines Lokalpositionsindikators für die bezeichnete Position innerhalb der Digitalszene; Modifizieren der Globalmerkmalskarte für die Digitalszene auf Grundlage des Lokalpositionsindikators für die bezeichnete Position; Generieren von ortsspezifischen Beleuchtungsparametern für die bezeichnete Position auf Grundlage der modifizierten Globalmerkmalskarte unter Einsatz eines zweiten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; und auf Grundlage der Aufforderung erfolgenden Rendern bzw. Wiedergeben einer modifizierten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst.
  2. Nichttemporäres computerlesbares Medium nach Anspruch 1, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das Computersystem veranlassen zum: Generieren der ortsspezifischen Beleuchtungsparameter für die bezeichnete Position durch Generieren von ortsspezifischen Kugelfunktionskoeffizienten bzw. Kugelflächenfunktionskoeffizienten, die Beleuchtungsbedingungen für ein Objekt an der bezeichneten Position angeben.
  3. Nichttemporäres computerlesbares Medium nach Anspruch 1 oder 2, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das Computersystem veranlassen zum: Identifizieren einer Positionsanpassungsaufforderung zum Bewegen des virtuellen Objektes von der bezeichneten Position innerhalb der Digitalszene zu einer neuen bezeichneten Position innerhalb der Digitalszene; Generieren eines neuen Lokalpositionsindikators für die neue bezeichnete Position innerhalb der Digitalszene; Modifizieren der Globalmerkmalskarte für die Digitalszene auf Grundlage des neuen Lokalpositionsindikators für die neue bezeichnete Position zum Bilden einer neuen modifizierten Globalmerkmalskarte; Generieren von neuen ortsspezifischen Beleuchtungsparametern für die neue bezeichnete Position auf Grundlage der neuen modifizierten Globalmerkmalskarte unter Einsatz des zweiten Satzes von Netzwerkschichten; und auf Grundlage der Positionsanpassungsaufforderung erfolgenden Wiedergeben einer angepassten Digitalszene, die das virtuelle Objekt an der neuen bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Beleuchtungsparametern umfasst.
  4. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das Computersystem veranlassen zum: Identifizieren einer Perspektivenanpassungsaufforderung zum Wiedergeben der Digitalszene von einem anderen Betrachtungspunkt aus; und auf Grundlage der Perspektivenanpassungsaufforderung erfolgenden Wiedergeben der modifizierten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst, von dem anderen Betrachtungspunkt aus.
  5. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das Computersystem veranlassen zum: Generieren des Lokalpositionsindikators für die bezeichnete Position durch Identifizieren von Lokalpositionskoordinaten, die die bezeichnete Position innerhalb der Digitalszene darstellen.
  6. Nichttemporäres computerlesbares Medium nach Anspruch 5, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das Computersystem veranlassen zum: Modifizieren der Globalmerkmalskarte zum Generieren der modifizierten Globalmerkmalskarte durch: Generieren einer Maskierungsmerkmalskarte aus den Lokalpositionskoordinaten; Multiplizieren der Globalmerkmalskarte und der Maskierungsmerkmalskarte für die Lokalpositionskoordinaten zum Generieren einer Maskiertdichtemerkmalskarte; und Verketten der Globalmerkmalskarte und der Maskiertdichtemerkmalskarte zum Bilden einer Kombinationsmerkmalskarte; und Generieren der ortsspezifischen Beleuchtungsparameter durch Bereitstellen der Kombinationsmerkmalskarte für den zweiten Satz von Netzwerkschichten.
  7. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das Computersystem veranlassen zum: Identifizieren einer Anpassung von Beleuchtungsbedingungen für die bezeichnete Position innerhalb der Digitalszene; Extrahieren einer neuen Globalmerkmalskarte aus der Digitalszene unter Einsatz des ersten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; Modifizieren der neuen Globalmerkmalskarte für die Digitalszene auf Grundlage des Lokalpositionsindikators für die bezeichnete Position; Generieren von neuen ortsspezifischen Beleuchtungsparametern für die bezeichnete Position auf Grundlage der neuen modifizierten Globalmerkmalskarte unter Einsatz des zweiten Satzes von Netzwerkschichten; und auf Grundlage der Anpassung von Beleuchtungsbedingungen erfolgenden Wiedergeben einer angepassten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Beleuchtungsparametern umfasst.
  8. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das Computersystem veranlassen zum: Identifizieren einer Perspektivenanpassungsaufforderung zum Wiedergeben des virtuellen Objektes an der bezeichneten Position innerhalb der Digitalszene von einem anderen Betrachtungspunkt aus; Generieren eines neuen Lokalpositionsindikators für die bezeichnete Position innerhalb der Digitalszene von dem anderen Betrachtungspunkt aus; Modifizieren der Globalmerkmalskarte für die Digitalszene auf Grundlage des neuen Lokalpositionsindikators für die bezeichnete Position von dem anderen Betrachtungspunkt aus zum Bilden einer neuen modifizierten Globalmerkmalskarte; Generieren von neuen ortsspezifischen Beleuchtungsparametern für die bezeichnete Position von dem anderen Betrachtungspunkt aus auf Grundlage der neuen modifizierten Globalmerkmalskarte unter Einsatz des zweiten Satzes von Netzwerkschichten; und auf Grundlage der Perspektivenanpassungsaufforderung erfolgenden Wiedergeben einer angepassten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den neuen ortsspezifischen Beleuchtungsparametern umfasst.
  9. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das Computersystem veranlassen zum: Generieren des Lokalpositionsindikators für die bezeichnete Position durch: Auswählen von ersten Pixeln entsprechend der bezeichneten Position aus einer ersten Merkmalskarte entsprechend einer ersten Schicht des ersten Satzes von Netzwerkschichten; und Auswählen von zweiten Pixeln entsprechend der bezeichneten Position aus einer zweiten Merkmalskarte entsprechend einer zweiten Schicht des ersten Satzes von Netzwerkschichten; Modifizieren der Globalmerkmalskarte zum Generieren der modifizierten Globalmerkmalskarte durch: Kombinieren von Merkmalen für die ersten Pixel und die zweiten Pixel entsprechend der bezeichneten Position zum Generieren einer Hyperspaltenkarte; und Verketten der Globalmerkmalskarte und der Hyperspaltenkarte zum Bilden einer Kombinationsmerkmalskarte; und Generieren der ortsspezifischen Beleuchtungsparameter durch Bereitstellen der Kombinationsmerkmalskarte für den zweiten Satz von Netzwerkschichten.
  10. System, umfassend: wenigstens einen Prozessor; wenigstens ein nichttemporäres computerlesbares Medium, das Digitaltrainingsszenen und Ground-Truth-Beleuchtungsparameter für Positionen innerhalb der Digitaltrainingsszenen umfasst; ein der Schätzung der lokalen Beleuchtung dienendes neuronales Netzwerk; und Anweisungen, die bei Ausführung durch wenigstens einen Prozessor das System veranlassen zum: Trainieren des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes durch: Extrahieren einer Globalmerkmalstrainingskarte aus einer Digitaltrainingsszene der Digitaltrainingsszenen unter Einsatz eines ersten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; Generieren eines Lokalpositionstrainingsindikators für eine bezeichnete Position innerhalb der Digitaltrainingsszene; Modifizieren der Globalmerkmalstrainingskarte für die Digitaltrainingsszene auf Grundlage des Lokalpositionstrainingsindikators für die bezeichnete Position; Generieren von ortsspezifischen Beleuchtungstrainingsparametern für die bezeichnete Position auf Grundlage der modifizierten Globalmerkmalstrainingskarte unter Einsatz eines zweiten Satzes von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; und Modifizieren von Netzwerkparametern des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes auf Grundlage eines Vergleiches der ortsspezifischen Beleuchtungstrainingsparameter mit einem Satz von Ground-Truth-Beleuchtungsparametern für die bezeichnete Position innerhalb der Digitaltrainingsszene.
  11. System nach Anspruch 10, wobei die Digitaltrainingsszene ein dreidimensionales Digitalmodell oder ein Digitalbetrachtungspunktbild einer realistischen Szene umfasst.
  12. System nach Anspruch 10 oder 11, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Generieren der ortsspezifischen Beleuchtungstrainingsparameter für die bezeichnete Position durch Generieren von ortsspezifischen Kugelfunktions-bzw. Kugelflächenfunktionstrainingskoeffizienten, die Beleuchtungsbedingungen an der bezeichneten Position angeben; und Bestimmen des Satzes von Ground-Truth-Beleuchtungsparametern für die bezeichnete Position durch Bestimmen eines Satzes von ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten, die Beleuchtungsbedingungen an der bezeichneten Position angeben.
  13. System nach Anspruch 12, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Generieren der ortsspezifischen Kugelflächenfunktionstrainingskoeffizienten fünften Grades für jeden Farbkanal.
  14. System nach Anspruch 12 oder 13, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Bestimmen des Satzes von ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten durch: Identifizieren von Positionen innerhalb der Digitaltrainingsszene; Generieren einer Kubuskarte für jede Position innerhalb der Digitaltrainingsszene; und Projizieren der Kubuskarte für jede Position innerhalb der Digitaltrainingsszene auf den Satz von ortsspezifischen Ground-Truth-Kugelflächenfunktionskoeffizienten.
  15. System nach einem der Ansprüche 10 bis 14, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Generieren des Lokalpositionstrainingsindikators für die bezeichnete Position durch Identifizieren von Lokalpositionstrainingskoordinaten, die die bezeichnete Position innerhalb der Digitaltrainingsszene darstellen.
  16. System nach Anspruch 15, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Modifizieren der Globalmerkmalstrainingskarte zum Generieren der modifizierten Globalmerkmalstrainingskarte durch: Generieren einer Maskierungsmerkmalstrainingskarte aus den Lokalpositionstrainingskoordinaten; Multiplizieren der Globalmerkmalstrainingskarte und der Maskierungsmerkmalstrainingskarte für die Lokalpositionstrainingskoordinaten zum Generieren einer Maskiertdichtemerkmalstrainingskarte; und Verketten der Globalmerkmalstrainingskarte und der Maskiertdichtemerkmalstrainingskarte zum Bilden einer Kombinationsmerkmalstrainingskarte; und Generieren der ortsspezifischen Beleuchtungstrainingsparameter durch Bereitstellen der Kombinationsmerkmalstrainingskarte für den zweiten Satz von Netzwerkschichten.
  17. System nach einem der Ansprüche 10 bis 16, des Weiteren umfassend Anweisungen, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Generieren des Lokalpositionstrainingsindikators für die bezeichnete Position durch: Auswählen eines ersten Trainingspixels entsprechend der bezeichneten Position aus einer ersten Merkmalstrainingskarte entsprechend einer ersten Schicht des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; und Auswählen eines zweiten Trainingspixels entsprechend der bezeichneten Position aus einer zweiten Merkmalstrainingskarte entsprechend einer zweiten Schicht des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes.
  18. System nach einem der Ansprüche 10 bis 17, wobei der erste Satz von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes untere Schichten eines dicht verbundenen faltungstechnischen Netzwerkes umfasst und der zweite Satz von Netzwerkschichten des der Schätzung der lokalen Beleuchtung dienenden Netzwerkes faltungstechnische Schichten und vollständig verbundene Schichten umfasst.
  19. Computerimplementiertes Verfahren zum Schätzen von Beleuchtungsbedingungen für virtuelle Objekte in einer Digitalmedienumgebung zum Wiedergeben von realitätserweiterten Szenen, umfassend: Zugreifen auf Digitaltrainingsszenen und Ground-Truth-Beleuchtungsparameter für Positionen innerhalb der Digitaltrainingsszenen; Durchführen eines Schrittes zum Trainieren eines der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes unter Einsatz von Globalmerkmalstrainingskarten für die Digitaltrainingsszenen und Lokalpositionstrainingsindikatoren für bezeichnete Positionen innerhalb der Digitaltrainingsszenen; Identifizieren einer Aufforderung zum Wiedergeben eines virtuellen Objektes an einer bezeichneten Position innerhalb einer Digitalszene; Durchführen eines Schrittes zum Generieren von ortsspezifischen Beleuchtungsparametern für die bezeichnete Position unter Einsatz des trainierten der Schätzung der lokalen Beleuchtung dienenden neuronalen Netzwerkes; und auf Grundlage der Aufforderung erfolgendes Wiedergeben einer modifizierten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst.
  20. Computerimplementiertes Verfahren nach Anspruch 19, des Weiteren umfassend: Empfangen der Aufforderung zum Wiedergeben des virtuellen Objektes an der bezeichneten Position von einer Mobilvorrichtung; und auf Grundlage des Empfangs der Aufforderung von der Mobilvorrichtung, innerhalb einer grafischen Nutzerschnittstelle der Mobilvorrichtung erfolgendes Wiedergeben der modifizierten Digitalszene, die das virtuelle Objekt an der bezeichneten Position mit einer Ausleuchtung entsprechend den ortsspezifischen Beleuchtungsparametern umfasst.
DE102019008168.4A 2019-03-21 2019-11-25 Dynamisches Schätzen von Beleuchtungsparametern für Positionen innerhalb realitätserweiterter Szenen unter Nutzung eines neuronalen Netzwerkes Pending DE102019008168A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/360,901 2019-03-21
US16/360,901 US10692277B1 (en) 2019-03-21 2019-03-21 Dynamically estimating lighting parameters for positions within augmented-reality scenes using a neural network

Publications (1)

Publication Number Publication Date
DE102019008168A1 true DE102019008168A1 (de) 2020-09-24

Family

ID=69171827

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019008168.4A Pending DE102019008168A1 (de) 2019-03-21 2019-11-25 Dynamisches Schätzen von Beleuchtungsparametern für Positionen innerhalb realitätserweiterter Szenen unter Nutzung eines neuronalen Netzwerkes

Country Status (5)

Country Link
US (2) US10692277B1 (de)
CN (1) CN111723902A (de)
AU (1) AU2019279917B2 (de)
DE (1) DE102019008168A1 (de)
GB (1) GB2582407B (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3671660A1 (de) * 2018-12-20 2020-06-24 Dassault Systèmes Entwurf eines 3d-modellierten objekts über eine benutzerinteraktion
CN112183551A (zh) * 2019-07-02 2021-01-05 佳能株式会社 光照颜色预测方法、图像处理方法、装置及存储介质
US11538216B2 (en) * 2019-09-03 2022-12-27 Adobe Inc. Dynamically estimating light-source-specific parameters for digital images using a neural network
US10957026B1 (en) * 2019-09-09 2021-03-23 Adobe Inc. Learning from estimated high-dynamic range all weather lighting parameters
CN111986106B (zh) * 2020-07-30 2023-10-13 南京大学 一种基于神经网络的高动态图像重建方法
CN112040596B (zh) * 2020-08-18 2022-11-08 张雪媛 虚拟空间灯光控制方法、计算机可读存储介质和系统
CN114125421A (zh) * 2020-09-01 2022-03-01 华为技术有限公司 图像处理方法、移动终端及存储介质
US11830129B2 (en) 2020-09-30 2023-11-28 Snap Inc. Object relighting using neural networks
CN114463230A (zh) * 2020-11-10 2022-05-10 华为技术有限公司 一种图像处理方法及相关设备
CN114979457B (zh) * 2021-02-26 2023-04-07 华为技术有限公司 一种图像处理方法及相关装置
US12056811B2 (en) 2021-03-10 2024-08-06 Nokia Technologies Oy Dynamic re-lighting of volumetric video
GB2605154B (en) 2021-03-24 2023-05-24 Sony Interactive Entertainment Inc Image rendering method and apparatus
GB2605158B (en) 2021-03-24 2023-05-17 Sony Interactive Entertainment Inc Image rendering method and apparatus
GB2605169B (en) * 2021-03-24 2023-08-02 Sony Interactive Entertainment Inc Image rendering method and apparatus
GB2605152B (en) 2021-03-24 2023-11-08 Sony Interactive Entertainment Inc Image rendering method and apparatus
GB2605156B (en) 2021-03-24 2023-11-08 Sony Interactive Entertainment Inc Image rendering method and apparatus
US11900516B2 (en) * 2021-04-02 2024-02-13 Carnegie Mellon University System and method for pose tolerant feature extraction using generated pose-altered images
WO2023056559A1 (en) * 2021-10-06 2023-04-13 Depix Technologies Inc. Systems and methods for compositing a virtual object in a digital image
KR20230100205A (ko) * 2021-12-28 2023-07-05 삼성전자주식회사 영상 처리 방법 및 장치
WO2023171293A1 (ja) * 2022-03-10 2023-09-14 住友重機械工業株式会社 画像検査装置、機械学習装置、画像検査方法、画像検査プログラム
CN115063708A (zh) * 2022-05-05 2022-09-16 北京航空航天大学 光源模型参数获取方法、训练方法、设备和介质
CN114842121B (zh) * 2022-06-30 2022-09-09 北京百度网讯科技有限公司 贴图生成模型训练和贴图生成方法、装置、设备及介质
CN117750583B (zh) * 2023-09-22 2024-08-20 中央美术学院 一种基于vr迷宫的数字控灯系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080221734A1 (en) * 2005-01-24 2008-09-11 National University Corporation Yokohama National University Categorical Color Perception System
MX2013015083A (es) * 2011-06-20 2014-05-14 Coatings Foreign Ip Co Llc Metodo para igualar la apariencia del brillo de revestimientos.
WO2015161307A1 (en) * 2014-04-18 2015-10-22 Magic Leap, Inc. Systems and methods for augmented and virtual reality
US20180012411A1 (en) * 2016-07-11 2018-01-11 Gravity Jack, Inc. Augmented Reality Methods and Devices
US10607329B2 (en) * 2017-03-13 2020-03-31 Adobe Inc. Illumination estimation from a single image
US10609286B2 (en) * 2017-06-13 2020-03-31 Adobe Inc. Extrapolating lighting conditions from a single digital image
CN109427080A (zh) * 2017-08-31 2019-03-05 爱唯秀股份有限公司 快速生成大量复杂光源人脸图像的方法
CN109166170A (zh) * 2018-08-21 2019-01-08 百度在线网络技术(北京)有限公司 用于渲染增强现实场景的方法和装置
CN109389667B (zh) * 2018-08-23 2023-07-18 北京大学 一种基于深度学习的高效全局光照明绘制方法

Also Published As

Publication number Publication date
US20200302684A1 (en) 2020-09-24
GB2582407B (en) 2021-09-01
AU2019279917B2 (en) 2021-09-23
US11158117B2 (en) 2021-10-26
AU2019279917A1 (en) 2020-10-08
US10692277B1 (en) 2020-06-23
GB201917995D0 (en) 2020-01-22
GB2582407A (en) 2020-09-23
CN111723902A (zh) 2020-09-29

Similar Documents

Publication Publication Date Title
DE102019008168A1 (de) Dynamisches Schätzen von Beleuchtungsparametern für Positionen innerhalb realitätserweiterter Szenen unter Nutzung eines neuronalen Netzwerkes
US10665011B1 (en) Dynamically estimating lighting parameters for positions within augmented-reality scenes based on global and local features
DE102017009910A1 (de) Bearbeiten von Digitalbildern unter Nutzung eines neuronalen Netzwerkes mit einer netzwerkinternen Erstellungsschicht
DE102017009049A1 (de) Ermöglichen von Transformationen Skizze-zu-Gemälde
DE102020007951A1 (de) Einsetzen eines der Einfärbung dienenden neuronalen Netzwerkes zum Generieren von eingefärbten Bildern auf Grundlage interaktiver Farbkanten
DE102019001695A1 (de) Generieren von verbesserten Digitalbildern durch selektives Transformieren von Rasterbildern in Vektorzeichnungssegmente
DE112019000687T5 (de) Fotorealistische dreidimensionale texturierung unter verwendung kanonischer ansichten und eines zweistufigen ansatzes
US11663467B2 (en) Methods and systems for geometry-aware image contrast adjustments via image-based ambient occlusion estimation
DE112019001702T5 (de) Verfahren, systeme, herstellungsgegenstände und vorrichtungen zur erzeugung digitaler szenen
DE102017007967A1 (de) Verarbeiten und rendern eines dreidimensionalen Modells
DE112018007236T5 (de) Verfahren und vorrichtung zum erzeugen eines dreidimensionalen (3d) modells zur rekonstruktion einer 3d-szene
DE102021130031A1 (de) Erscheinungsbildgesteuerte automatische dreidimensionale modellierung
DE102019005885A1 (de) Umgebungskartengenerierung und Lochfüllung
DE102013215301A1 (de) System, Verfahren und Computerprogrammprodukt zum Extrudieren eines Modells durch eine zweidimensionale Szene
DE102021210435A1 (de) Verfahren und Vorrichtung zur Visualisierung von dreidimensionalen Objekten
DE102021006022A1 (de) Webbasierte Digitalbildbearbeitung in Echtzeit unter Einsatz eines Latentvektorstreamwiedergebers und eines bildmodifizierenden neuronalen Netzwerkes
DE102023124813A1 (de) Modifizieren von zweidimensionalen bildern unter verwendung von iterativen dreidimensionalen netzen der zweidimensionalen bilder
DE102022112888A1 (de) Benutzerschnittstellen und Verfahren zum Erzeugen eines neuen Artefakts auf der Grundlage vorhandener Artefakte
DE102023127131A1 (de) Techniken der künstlichen intelligenz zur extrapolation von hdr-panoramen aus ldr-bildern mit geringem blickfeld (fov)
DE102023124805A1 (de) Modifizieren von zweidimensionalen bildern unter verwendung von segmentierten dreidimensionalen objektnetzen der zweidimensionalen bilder
DE102023124586A1 (de) Erzeugen von adaptiven dreidimensionalen netzen von zweidimensionalen bildern
CN116228986A (zh) 一种基于局部到全局补全策略的室内场景光照估计方法
DE102022100517A1 (de) Verwenden von intrinsischen funktionen zum schattenentrauschen in raytracinganwendungen
CN114241101A (zh) 三维场景渲染方法、系统、装置及存储介质
DE102021132981A1 (de) Dreidimensionale tomographie-rekonstruktionspipeline

Legal Events

Date Code Title Description
R012 Request for examination validly filed