DE102020000810A1 - 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung - Google Patents

3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung Download PDF

Info

Publication number
DE102020000810A1
DE102020000810A1 DE102020000810.0A DE102020000810A DE102020000810A1 DE 102020000810 A1 DE102020000810 A1 DE 102020000810A1 DE 102020000810 A DE102020000810 A DE 102020000810A DE 102020000810 A1 DE102020000810 A1 DE 102020000810A1
Authority
DE
Germany
Prior art keywords
photometric
network
mesh
images
processor
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
DE102020000810.0A
Other languages
English (en)
Inventor
Oliver Wang
Vladimir Kim
Matthew Fisher
Elya Shechtman
Chen-Hsuan Lin
Bryan Russell
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 DE102020000810A1 publication Critical patent/DE102020000810A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • G06T17/205Re-meshing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C64/00Additive manufacturing, i.e. manufacturing of three-dimensional [3D] objects by additive deposition, additive agglomeration or additive layering, e.g. by 3D printing, stereolithography or selective laser sintering
    • B29C64/30Auxiliary operations or equipment
    • B29C64/386Data acquisition or data processing for additive manufacturing
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B33ADDITIVE MANUFACTURING TECHNOLOGY
    • B33YADDITIVE MANUFACTURING, i.e. MANUFACTURING OF THREE-DIMENSIONAL [3-D] OBJECTS BY ADDITIVE DEPOSITION, ADDITIVE AGGLOMERATION OR ADDITIVE LAYERING, e.g. BY 3-D PRINTING, STEREOLITHOGRAPHY OR SELECTIVE LASER SINTERING
    • B33Y50/00Data acquisition or data processing for additive manufacturing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/08Indexing scheme for image data processing or generation, in general involving all processing steps from image acquisition to 3D model generation
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Materials Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Computer Graphics (AREA)
  • Manufacturing & Machinery (AREA)
  • Geometry (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Optics & Photonics (AREA)
  • Image Analysis (AREA)

Abstract

Offenbart werden Techniken zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen. Ein Decoder wird vorab darauf trainiert, Punkte, die aus 2D-Patches repräsentativer Objekte abgetastet sind, in polygonale 3D-Netze zu transformieren. Ein Bildframe des Objektes wird in einen Encoder eingespeist, um einen Anfangslatentcodevektor zu erhalten. Für jeden Frame und jedes Kamerapaar aus der Sequenz wird ein polygonales Netz an den gegebenen Ansichtspunkten wiedergegeben. Das Netz wird optimiert, indem ein virtueller Ansichtspunkt geschaffen wird, der gerastert wird, um eine Tiefenkarte zu erhalten. Die 3D-Netzprojektionen werden ausgerichtet, indem die Koordinaten entsprechend den Polygonalflächenvertices des gerasterten Netzes auf beide ausgewählten Ansichtspunkte projiziert werden. Der fotometrische Fehler wird aus RGB-Pixelintensitäten, die aus beiden Frames abgetastet sind, bestimmt. Gradienten werden von dem fotometrischen Fehler zu den Vertices der zugewiesenen polygonalen Indices zurückgeführt, indem auf die baryzentrischen Koordinaten eines jeden Bildes zurückgegriffen wird, um den Latentcodevektor zu aktualisieren.

Description

  • Gebiet der Offenbarung
  • Die vorliegende Offenbarung betrifft allgemein das Gebiet der Digitalbildverarbeitung und insbesondere Techniken zur 3D-Objektrekonstruktion (3D dreidimensional) aus Bildsequenzen unter Nutzung fotometrischer Netzdarstellungen.
  • Hintergrund
  • Ein 3D-Bild eines Objektes kann aus einem oder mehreren 2D-Bildern (2D zweidimensional) unter Nutzung verschiedener Rekonstruktionstechniken generiert werden. Beispielsweise stellen geometrische Mehrfachansichtsrekonstruktionsverfahren, so beispielsweise SfM (Structure-from-Motion SfM, Struktur aus Bewegung) und SLAM (Simultaneous Localization And Mapping SLAM, Simultane Lokalisierung und Abbildung), Punktwolken als zugrunde liegende 3D-Struktur von RGB-Bildsequenzen (RGB Rot-Grün-Blau) oftmals mit hoher Genauigkeit wieder her. Punktwolken fehlt jedoch die inhärente 3D-Raumstruktur zur effizienten Weiterverwertung. Aus diesem Grunde werden bei wenigstens einigen Szenarien Netzdarstellungen zur 3D-Objektrekonstruktion stärker als Punktwolken bevorzugt. Ein 3D-Netz ist eine Strukturdarstellung oder ein Modell eines polyedrischen bzw. vielflächigen Objektes, wo die dreidimensionalen Referenzpunkte (x, y und z) in dem Modell Höhe, Breite und Tiefe verschiedener Objektoberflächen definieren. Als Datenstrukturen sind Netze merklich kompakter als Punktwolken, da Netze inhärente geometrische Strukturen, die durch ihre Punktkonnektivität definiert sind, aufweisen, während sie zudem kontinuierliche Oberflächen darstellen, die für viele Anwendungen, so beispielsweise das Texturabbilden, nützlich sind. Das Vernetzen von Punktwolken stellt jedoch, wie hier noch weiter erläutert wird, ein schwieriges und rechentechnisch kostenintensives Problem dar, wobei bestehende Lösungen zum Vernetzen von Punktwolken nicht praxistauglich sind.
  • Eine weitere Beschränkung bei geometrischen Mehrfachansichtsverfahren besteht darin, dass sie auf manuell gestalteten Merkmalen beruhen und sehr empfindlich sein können, wenn Annahmen zu jenen Merkmalen für ein gegebenes Bild nicht gültig sind. Dies tritt insbesondere in texturschwächeren Bereichen oder bei Beleuchtungsschwankungen auf. Im Gegensatz hierzu beinhalten datengetriebene Lösungsansätze das vorherige Wissen über Formen, die in einem gegebenen Bild wahrscheinlich vorhanden sind (auch als Formurelemente (shape priors) bezeichnet), um schlecht formulierte 3D-Rekonstruktionsprobleme zu lösen. Derartige datengetriebene Lösungsansätze sind auf 3D-Vorhersageaufgaben unter Nutzung von Einzelbildern angewendet worden. Diese Lösungsansätze können jedoch nur aus dem bekannten Raum von Trainingsbeispielen, die zum Lernen benutzt werden, rekonstruiert werden, was eine begrenzte Fähigkeit dahingehend ergibt, auf nichtgesehene (nichtgelernte) Daten zu verallgemeinern.
  • Daher stellen sich weiterhin komplexe und nichttriviale Fragen im Zusammenhang mit der 3D-Objektrekonstruktion infolge der Beschränkungen bei bestehenden Techniken.
  • Figurenliste
  • Die beigefügten Zeichnungsfiguren sollen nicht maßstabsgetreu sein.
    • 1 zeigt ein exemplarisches System zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 2A zeigt eine exemplarische allgemeine Übersicht zum Prinzip der Mehrfachansichts-3D-Rekonstruktion unter Nutzung fotometrischer Netzdarstellungen entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 2B zeigt eine exemplarische detaillierte Übersicht zur Technik der 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 3 bis 5 sind Flussdiagramme eines exemplarischen Prozesses der 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 6 zeigt ein Beispiel für quantitative Ergebnisse eines Prozesses zur 3D-Objektrekonstruktion entsprechend einer Ausführungsform der vorliegenden Offenbarung.
    • 7 zeigt exemplarische RGB-Sequenzen von Objekten auf realistisch texturierten Hintergründen.
    • 8 zeigt ein Beispiel für eine kategoriespezifische Leistungs-Rausch-Beziehung bei einer Koordinatensystemabbildung entsprechend einer Ausführungsform der vorliegenden Offenbarung.
  • Detailbeschreibung
  • Offenbart werden Techniken zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen. Eine fotometrische Verlustfunktion erweitert ein deep-learning-basiertes Rekonstruktionssystem, so beispielsweise ein neuronales Netzwerk, das 3D-Netze direkt aus Bildern von Objekten generiert. Die fotometrische Verlustfunktion ermöglicht ein derartiges Optimieren des Systems, dass das sich ergebende optimierte System ein 3D-Netz rekonstruiert, das zu den Bildern konsistent ist. Die offenbarten Techniken sind besonders vorteilhaft, da sie das effiziente Vorhersagen von Szenennetzen direkt aus Mehrfachansichtsbildern ermöglichen, was sich vom Erzeugen von 3D-Punktwolken aus den Bildern und dem anschließenden Vernetzen jener Punkte unterscheidet.
  • Bei einer Ausführungsform wird ein Decoder, so beispielsweise ein neuronales Netzwerk, darauf trainiert, einen Satz von Punkten, die aus 2D-Patches repräsentativer Objekte abgetastet sind, in einen Satz von polygonalen 3D-Netzen zu transformieren. Ist eine Bildsequenz oder ein Video eines Objektes als Eingabe in Form von RGB-Bildern, die mit zugeordneten Kameramatrizen gepaart sind, gegeben, so wird ein Bildframe mit zentriertem Objekt entweder manuell oder automatisch ausgewählt. Der ausgewählte Frame wird in einen Encoder eingespeist, um einen Anfangslatentcodevektor als Ausgabe zu erhalten. Für jeden Frame und jedes Kamerapaar aus der Sequenz wird ein polygonales (beispielsweise dreieckiges) Netz an den gegebenen Ansichtspunkten durch Netzrasterung wiedergegeben, wodurch eine gerasterte Karte mit polygonalen (beispielsweise dreieckigen) Flächenindices erzeugt wird.
  • Das Netz wird durch zunächst erfolgendes Auswählen von Paaren von aufeinanderfolgenden Frames aus der Bildsequenz optimiert. Als Nächstes wird für jedes Paar von Frames ein virtueller Ansichtspunkt geschaffen, indem die Bisektion der entsprechenden Drehungen und Kamerazentren verwendet wird. Das Netz wird sodann gerastert, und man erhält eine Tiefenkarte von dem virtuellen Ansichtspunkt aus. Die Tiefenkarte kann als Satz von 3D-Punkten ausgedrückt werden, die auf der Oberfläche des Netzes liegen. Als Nächstes werden die 2D-Netzprojektionen ausgerichtet, indem der Satz von 3D-Punkten von der Tiefenkarte auf die beiden ausgewählten Ansichtspunkte projiziert wird. Der fotometrische Fehler wird aus der Differenz zwischen den RGB-Pixelintensitäten, die aus beiden Frames abgetastet sind, berechnet. Damit kann eine fotometrische Verlustfunktion als pixelweise gegebener Intensitätsfehler zwischen beiden synthetisierten Bildern berechnet werden. Gradienten werden sodann von dem fotometrischen Fehler zu den Vertices der zugewiesenen polygonalen (beispielsweise dreieckigen) Indices zurückgeführt (backpropagation), indem auf die baryzentrischen Koordinaten eines jeden Bildes zurückgegriffen wird, um den Latentcodevektor zu aktualisieren. Daher kann der vorab trainierte Decoder bei Optimierung über die fotometrische Verlustfunktion ein 3D-Netz rekonstruieren, das zu Objekten, die in der Sequenz von Bildern auftreten, konsistent ist. Bei dieser Technik wird eine Anfangsnetzvorhersage unter Nutzung der RGB-Information mit den entsprechenden Kameraansichtspunkten optimiert. Das Netz kann beispielsweise als 3D-Stock-Asset in einer virtuellen Realität (Virtual Reality VR) oder einer realitätserweiterten (Augmented Reality AR) Szene benutzt werden, wenn ein Anzeigen als Ausgabe für eine VR- oder Stereoanzeige erfolgt. Im Lichte der vorliegenden Offenbarung erschließen sich zahlreiche Abwandlungen.
  • Allgemeine Übersicht
  • Wie vorstehend erläutert worden ist, treten im Zusammenhang mit dem Rekonstruieren von Bildern von 3D-Objekten aus 2D-Bildern unter Nutzung bestehender geometrischer Mehrfachansichtsverfahren und datengetriebener Lösungsansätze nichttriviale Probleme auf. Obwohl Punktwolken 3D-Strukturen beispielsweise mit hoher Genauigkeit wiederherstellen können, sind Netzdarstellungen zum Einfügen von Objekten in eine realitätserweiterte (AR) Szene und für andere Anwendungen mit tiefenbasierten Effekten üblicherweise brauchbarer als Punktwolken. Des Weiteren verdecken punktwolkenbasierte Darstellungen virtuelle Objekte hinter Vordergrundszenenelementen wegen Rauschen in der Tiefe und möglicher Löcher, die in der Szene auftreten, nicht. Daher müssen 3D-Punktwolken in ein 3D-Netz transformiert werden, um zu bestimmen, ob ein Objekt verdeckt ist. Gleichwohl ist das Vernetzen von Punktwolken ein schwieriges Problem, dessen bestehende Lösungen nicht praxistauglich sind.
  • Zu diesem Zweck werden Techniken zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen offenbart. Insbesondere wird ein Netz direkt aus Mehrfachansichtsbildern in Kombination mit bekannten 3D-Objektmodellen, die ein neuronales Netzwerk lernt, und anderen Formurelementen (shape priors) vorhergesagt. Eine fotometrische Konsistenzverlustfunktion erweitert die deep-learning-basierten Objektnetzrekonstruktionen. Mit dem Fokus auf Objektvarianten (object instances) zur verbesserten 3D-Rekonstruktion nutzen die offenbarten Techniken Formurelemente (shape priors), die vorab definierte Objektformen sind, die zum Rekonstruieren einer realistischen Geometrie bei unvollständigen Beobachtungen genutzt werden, sowie geometrische Mehrfachansichtsrandbedingungen, um Netzvorhersagen an den eingegebenen 2D-Bildsequenzen zu verfeinern. Die Formurelemente können beispielsweise von einem oder mehreren vorab trainierten neuronalen Netzwerken erhalten werden. Der Vorteil dieses Lösungsansatzes ist eine dichte Rekonstruktion mit Objektsemantiken aus den gelernten Formurelementen, was bei den traditionellen Pipelines mit MVS (Multi-View Stero MVS, Mehrfachansichtsstereo) und anschließendem Oberflächenvernetzen nicht möglich ist. Dieser Lösungsansatz verallgemeinert sich zudem auf Abwandlungen bei nichtgesehenen Objekten durch Einsetzen einer Mehrfachansichtsgeometrie, um die Beobachtungskonsistenz über Ansichtspunkte zu fördern.
  • Es kann eine Netzrekonstruktion aus farbigen (beispielsweise RGB-) Bildsequenzen unter Nutzung einer fotometrischen Optimierung erhalten werden. Dies stellt sich als stückweise gegebenes Bildausrichtungsproblem einzelner Netzflächen dar. Es werden Gradienten des fotometrischen Fehlers in Bezug auf Netzvertices hergeleitet, was eine entsprechende Verformung des Netzes ermöglicht. Ein Vorteil dieser fotometrischen Netzoptimierung ist ihre Nichtabhängigkeit von einer a priori bekannten Tiefe oder Maskeninformation, die ansonsten eine notwendige Bedingung zur Rekonstruktion von Objekten aus Bildsequenzen ist. Dies ermöglicht die praktische Nutzung der formurelementbasierten 3D-Netzrekonstruktion mit Ausrichtung auf RGB-Sequenzen, und zwar beispielsweise bei Anwendungen, die Robotik (beispielsweise die genaue Lokalisierung beim autonomen Fahren), Computergrafik (beispielsweise die physikalische Simulation und die Textursynthese) und virtuelle Realität beinhalten.
  • Im Detail betreffen die offenbarten Techniken Aspekte der Mehrfachansichtsobjektrekonstruktion, der Netzrekonstruktion, des Lernens von Formurelementen (shape prior learning) und der Bildausrichtung, um die fotometrische Mehrfachansichtskonsistenz durch randbedingungsartiges Einschränken der Netzverformung zu maximieren.
  • Die Mehrfachansichtskalibrierung und Rekonstruktion werden benutzt, um Kamerakoordinaten unter Nutzung eines 2D-Schlüsselpunktabgleiches (2D keypoint matching), eines Prozesses, der als SLAM oder SfM bekannt ist, mit anschließenden Dichterekonstruktionsverfahren, so beispielsweise MVS und Vernetzen, zu schätzen. Andere 3D-Rekonstruktionstechniken nutzen verschiedentlich die Mehrfachansichtskonsistenz zwischen 2D-Maskenprojektionen, die Tiefenwiedergabe und allgemeine 2D-Beobachtungen. All diese Verfahren nutzen Formen der 2D-Überwachung, die im Vergleich zu 3D-CAD-Modellen, die mit Blick auf die Menge vergleichsweise beschränkt sind, einfacher umsetzbar sind. Im Gegensatz zu bestehenden 3D-Rekonstruktionstechniken nutzen einige Ausführungsformen der vorliegenden Offenbarung sowohl geometrische wie auch bildbasierte vorherige bzw. urelementbezogene Randbedingungen, was einige gängige Beschränkungen bei Mehrfachansichten, so beispielsweise fehlende Beobachtungen und texturschwache Bereiche, beseitigt.
  • Netze können aus 3D-Modellen (beispielsweise computergestütztes Design oder CAD-Modelle), aus angenäherten Gradienten zur 2D-Maskenoptimierung und der Nutzung einer 2D-Überwachung von Texturen, Masken und 2D-Schlüsselpunkten rekonstruiert werden. Im Gegensatz zu bestehenden Netzrekonstruktionstechniken nutzen einige Ausführungsformen der vorliegenden Offenbarung fotometrische Anhaltspunkte (cues) über Bildansichtspunkte hinweg, anstatt dass sie auf Masken oder Schlüsselpunkte zurückgreifen. Darüber hinaus sind einige Ausführungsformen der vorliegenden Offenbarung für 3D-Netze unter Nutzung fotometrischer 2D-Anhaltspunkte optimiert. Es kann Störrauschen größeren Ausmaßes berücksichtigt werden, indem man über einen Latentmerkmalsvektor oder einen Formcode optimiert, anstatt dass man über Netzvertices optimiert, was derartige Ausführungsformen für die praktische Nutzung geeigneter macht.
  • Für das schwierige Problem der Mehrfachansichtsszenenrekonstruktion ist bislang ein ebenes und primitives Urelement benutzt worden. Obwohl ein geometrisches primitives Urelement nicht aus einem Objektdatensatz lernen muss, können die sich ergebenden Rekonstruktionen merklich von der Zielgeometrie abweichen, wenn das Objekt von den gewählten Primitiven nicht gut dargestellt wird. Vorab trainierte neuronale Netzwerke, die Formurelemente darstellen, können in Kombination mit Punktwolken anstatt der Primitive benutzt werden, um die 3D-Rekonstruktion zu verbessern. Typischerweise benötigt man bei neuronalen Netzwerken Objektmasken als zusätzliche Randbedingungen für die Eingabebilder während der Optimierung, um die Objekte vom Hintergrund zu isolieren. Das Generieren genauer Objektmasken ist jedoch keine triviale Aufgabe. Im Gegensatz hierzu beseitigen einige Ausführungsformen der vorliegenden Offenbarung die Notwendigkeit der Maskenüberwachung, indem die optimierten Latentmerkmalsvektoren aus dem vorab trainierten neuronalen Netzwerk regularisiert werden, um sicherzustellen, dass die Merkmalsvektoren innerhalb eines zuverlässigen Bereiches des Merkmalsraumes verbleiben, und um zu verhindern, dass die Netze degenerierte Lösungen ergeben. Bislang sind Formurelemente auch dafür benutzt worden, Formentsprechungen ausfindig zu machen, wobei das Netzwerk das Verformungsfeld aus einer Vorlagenform für den Abgleich mit 3D-Beobachtungen lernt. Im Gegensatz hierzu optimieren einige Ausführungsformen der vorliegenden Offenbarung anstatt dessen die Latentmerkmalsvektoren direkt für den Abgleich mit 2D-Anhaltspunkten von mehreren Ansichtspunkten aus und benötigen keine bekannte Formvorlage für das Objekt.
  • Bei der Bildausrichtung stellt sich die Netzoptimierung als Mehrfachbildausrichtungsproblem von Netzflächen dar, das durch Optimieren eines Latentmerkmalsvektors aus dem Encoder eines Deep-Netzwerkes anstatt aus den Vertices selbst gelöst wird.
  • Systemarchitektur
  • 1 zeigt ein exemplarisches System 100 zur 3D-Objektrekonstruktion (3D dreidimensional) unter Nutzung fotometrischer Netzdarstellungen entsprechend einer Ausführungsform der vorliegenden Offenbarung. Das System 100 beinhaltet eine Rechenvorrichtung 110 mit einem Prozessor 120, einer Objektrekonstruktionsanwendung 130 und einer grafischen Nutzerschnittstelle (Graphical User Interface GUI) 140. Die GUI 140 beinhaltet eine Anzeige und eine Nutzereingabevorrichtung. Der Prozessor 120 der Rechenvorrichtung 110 ist dafür konfiguriert, die nachfolgenden Module, von denen jedes im Anschluss detaillierter beschrieben wird, auszuführen: ein Netzgenerierungsmodul 150, ein Netzoptimierungsmodul 152 und ein Trainingsmodul 154. Die Rechenvorrichtung 110 ist des Weiteren dafür konfiguriert, als Eingaben wenigstens zwei Bilder eines Objektes und Daten, die Formurelemente 112 darstellen, sowie ein dem Generieren eines Objektnetzes dienendes neuronales Netzwerk 114 zu empfangen. Das Netzwerk 114 stellt für die Rechenvorrichtung 110 Objektmodelle bereit, die Formurelemente darstellen, die das Netzwerk unter Nutzung von Techniken maschinellen Lernens lernt. Die Bilder 112 stellen eine Abfolge von Bildern oder eine Sequenz von Videoframes des Objektes dar, die unter verschiedenen Ansichtswinkeln aufgenommen werden und von dem System 100 verarbeitet werden sollen. Die Rechenvorrichtung 110 ist des Weiteren dafür konfiguriert, als Ausgabe eine rekonstruierte Darstellung 116 des Objektes zu erzeugen, die wenigstens teilweise auf den Objektbildern und den Formurelementen 112 und dem dem Generieren eines Objektnetzes dienenden neuronalen Netzwerk 114 beruht. Die rekonstruierte Darstellung 116 kann beispielsweise ein Digitalbild oder eine Abfolge von Digitalbildern beinhalten, das/die das Objekt, das in den Bildern 112 auftritt, virtuell in 3D repliziert, oder auch Daten, die zum physischen Replizieren des Objektes in 3D, so beispielsweise durch einen 3D-Drucker, benutzt werden können, wie in der vorliegenden Offenbarung verschiedentlich beschrieben wird. Es kann eine beliebige Anzahl von standardisierten oder proprietären Digitalbildern (beispielsweise JPEG, bitmap, PNG, TIFF, QickTime VR und PANO) für die Objektbilder 112 und Bilder, die aus der rekonstruierten Darstellung des Objektes 116 generiert werden, benutzt werden. Jedes der Module 150, 152 und 154 kann in Verbindung mit einem anderen zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen benutzt werden, wobei der Rekonstruktionsprozess die rekonstruierte Darstellung 116 oder andere Daten, die mit der rekonstruierten Darstellung 116 verknüpft sind, erzeugt, so beispielsweise eine Strukturdarstellung (beispielsweise ein Polygonnetz) des Objektes, das zum Generieren eines oder mehrerer visueller Bilder des Objektes in 3D oder von 3D-Drucken des Objektes benutzt werden kann.
  • Die Rechenvorrichtung 110 kann ein beliebiges Computersystem sein, so beispielsweise eine Workstation, ein Desktopcomputer, ein Server, ein Laptop, ein Handcomputer, ein Tabletcomputer (beispielsweise der Tabletcomputer iPad®), eine mobile Rechen- oder Kommunikationsvorrichtung (beispielsweise die mobile Kommunikationsvorrichtung iPhone®, die mobile Kommunikationsvorrichtung Android™ und dergleichen), eine VR-Vorrichtung oder eine VR-Komponente (beispielsweise ein Headset, ein Handschuh, eine Kamera, ein Laufband (treadmill) und dergleichen) oder eine andere Form von Rechen- oder Telekommunikationsvorrichtung, die zur Kommunikation fähig ist und die ausreichend Prozessorleistung und Speicherkapazität aufweist, um die in der vorliegenden Offenbarung beschriebenen Vorgänge durchzuführen. Es kann auch ein verteiltes Rechensystem vorgesehen sein, das mehrere derartige Rechenvorrichtungen beinhaltet.
  • Die Rechenvorrichtung 110 beinhaltet eine oder mehrere Speichervorrichtungen 122 oder nichttemporäre computerlesbare Medien 124, auf denen eine oder mehrere computerausführbare Anweisungen oder Software zum Implementieren von Techniken, wie sie in der vorliegenden Offenbarung verschiedentlich beschrieben sind, codiert sind. Die Speichervorrichtungen 122 können einen Computersystemspeicher oder einen Speicher mit wahlfreiem Zugriff beinhalten, so beispielsweise einen Permanentplattenspeicher (der eine beliebige geeignete optische oder magnetische Permanentspeichervorrichtung beinhalten kann, so beispielsweise einen RAM, einen ROM, einen Flash, ein USB-Laufwerk oder ein anderes halbleiterbasiertes Speichermedium), ein Festplattenlaufwerk, eine CD-ROM oder andere computerlesbare Medien zum Speichern von Daten und computerlesbaren Anweisungen oder Software, die verschiedene Ausführungsformen, wie sie in der vorliegenden Offenbarung vorgestellt werden, implementieren. Die Speichervorrichtung 122 kann auch andere Typen von Speichern oder Kombinationen hieraus beinhalten. Die Speichervorrichtung 122 kann auf der Rechenvorrichtung 110 vorgesehen sein oder kann getrennt oder entfernt von der Rechenvorrichtung 110 vorgesehen sein. Die nichttemporären computerlesbaren Medien 124 können unter anderem einen oder mehrere Typen von Hardwarespeicher, nichttemporären physischen Medien (beispielsweise eine oder mehrere magnetische Speicherplatten, eine oder mehrere optische Platten, ein oder mehrere USB-Flash-Laufwerke) und dergleichen beinhalten. Die nichttemporären computerlesbaren Medien 124, die in der Rechenvorrichtung 110 beinhaltet sind, können computerlesbare und computerausführbare Anweisungen oder Software zum Implementieren von verschiedenen Ausführungsformen speichern. Die computerlesbaren Medien 124 können auf der Rechenvorrichtung 110 vorgesehen sein oder können getrennt oder entfernt von der Rechenvorrichtung 110 vorgesehen sein.
  • Die Rechenvorrichtung 110 beinhaltet zudem wenigstens einen Prozessor 120 zum Ausführen von computerlesbaren und computerausführbaren Anweisungen oder Software, die auf der Speichervorrichtung 122 oder auf den nichttemporären computerlesbaren Medien 124 gespeichert sind, sowie andere Programme zum Steuern bzw. Regeln von Systemhardware. Es kann eine Virtualisierung auf der Rechenvorrichtung 110 derart eingesetzt werden, dass die Infrastruktur und die Ressourcen auf der Rechenvorrichtung 110 dynamisch geteilt werden können. Es kann beispielsweise eine Virtual Machine vorgesehen sein, die einen Prozess, der auf mehreren Prozessoren läuft, so abwickelt, dass es aussieht, als würde der Prozess nur eine Vorrichtung anstelle mehrerer Rechenvorrichtungen nutzen. Es können auch mehrere Virtual Machines mit einem Prozessor benutzt werden. Die Netzwerkschnittstelle (I/F) 126 kann ein beliebiger geeigneter Netzwerkchip oder ein Chipsatz sein, der eine verdrahtete oder drahtlose Verbindung zwischen der Vorrichtung 110 und einem Kommunikationsnetzwerk (nicht gezeigt) und anderen Rechenvorrichtungen und Ressourcen ermöglicht.
  • Interagieren kann ein Nutzer mit der Rechenvorrichtung 110 durch eine Ausgabevorrichtung 160, so beispielsweise einen Bildschirm oder Monitor, darunter auch eine realitätserweiternde Anzeigevorrichtung, die eine oder mehrere Nutzerschnittstellen, die entsprechend einigen Ausführungsformen bereitgestellt werden, anzeigen kann. Die Ausgabevorrichtung 160 kann zudem andere Aspekte, Elemente oder Informationen oder Daten, die einigen Ausführungsformen zugeordnet sind, anzeigen. Die Rechenvorrichtung 110 kann Eingabe- oder Eingabe-/Ausgabe-Vorrichtungen 162 zum Empfangen einer Eingabe von einem Nutzer beinhalten, so beispielsweise eine Tastatur, einen Joystick, einen Gamecontroller, eine Zeigevorrichtung (beispielsweise eine Maus, den Finger eines Nutzers, der direkt mit einer berührungsempfindlichen Anzeigevorrichtung eine Schnittstelle bildet, und dergleichen) oder eine beliebige geeignete Nutzerschnittstelle, darunter ein AR-Headset. Die Rechenvorrichtung 110 kann andere geeignete herkömmliche I/O-Peripheriegeräte beinhalten. Die Rechenvorrichtung 110 beinhaltet verschiedene geeignete Vorrichtungen zum Durchführen eines oder mehrerer der Aspekte, die in der vorliegenden Offenbarung verschiedentlich beschrieben werden, oder ist damit operativ gekoppelt.
  • Auf der Rechenvorrichtung 110 kann ein beliebiges Betriebssystem laufen, so beispielsweise eine beliebige der Versionen der Betriebssysteme Microsoft® Windows@, der verschiedenen Releases der Betriebssysteme von Unix® und Linux®, eine beliebige Version von MacOs® für Macintosh-Computer, ein beliebiges eingebettetes Betriebssystem, ein Echtzeitbetriebssystem, ein beliebiges Open-Source-Betriebssystem, ein beliebiges proprietäres Betriebssystem, beliebige Betriebssysteme für mobile Rechenvorrichtungen oder ein beliebiges anderes Betriebssystem, das auf der Rechenvorrichtung 110 laufen und die in der vorliegenden Offenbarung beschriebenen Vorgänge durchführen kann. Bei einer Ausführungsform kann das Betriebssystem auf einer oder mehreren Cloud-Machine-Versionen laufen.
  • Bei anderen Ausführungsformen können die funktionellen Komponenten/Module mit Hardware implementiert sein, so beispielsweise als Gatelevellogik (beispielsweise FPGA) oder als zweckgebundener Halbleiter (beispielsweise ASIC). Wieder andere Ausführungsformen können mit einem Microcontroller implementiert sein, der mehrere Eingabe-/Ausgabe-Ports zum Empfangen und Ausgeben von Daten aufweist, sowie mehrere eingebettete Routinen zum Ausführen der in der vorliegenden Offenbarung beschriebenen Funktionalität. In einem allgemeineren Sinne kann eine beliebige geeignete Kombination aus Hardware, Software und Firmware, wie sich erschließt, benutzt werden.
  • Wie sich im Lichte der vorliegenden Offenbarung erschließt, sind die verschiedenen Module und Komponenten des Systems, so beispielsweise die Module 150, 152, 154, die GUI 140 oder eine beliebige Kombination hieraus in Software implementiert, so beispielsweise als Satz von Anweisungen (beispielsweise in HTML, XML, C, C++, objektorientiertem C, JavaScript®, Java®, BASIC etc.), die auf einem beliebigen computerlesbaren Medium oder einem Computerprogrammerzeugnis (beispielsweise einem Festplattenlaufwerk, einem Server, einer Platte oder einem anderen geeigneten nichttemporären Speicher oder einem Satz von Speichern) codiert sind und die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass die verschiedenen in der vorliegenden Offenbarung vorgesehenen methodischen Vorgehensweisen ausgeführt werden. Es sollte einsichtig sein, dass bei einigen Ausführungsformen verschiedene Funktionen und Datentransformationen, die von dem Nutzerrechensystemen so, wie in der vorliegenden Offenbarung beschrieben wird, durchgeführt werden, auch von ähnlichen Prozessoren oder Datenbanken in anderen Konfigurierungen und Anordnungen durchgeführt werden können und dass die dargestellten Ausführungsformen nicht beschränkend sein sollen. Verschiedene Komponenten der exemplarischen Ausführungsform, darunter die Rechenvorrichtung 100, können beispielsweise in einen oder mehrere Desktop- oder Laptopcomputer, Workstations, Tablets, Smartphones, Spielekonsolen, Settopboxen oder andere derartige Rechenvorrichtungen integriert sein. Andere Komponenten und Module, die für ein Rechensystem typisch sind, so beispielsweise Prozessoren (beispielsweise eine zentrale Verarbeitungseinheit und ein Coprozessor, ein Grafikprozessor und dergleichen), Eingabevorrichtungen (beispielsweise Tastatur, Maus, Touchpad, Touchscreen etc.) und ein Betriebssystem sind nicht gezeigt, erschließen sich jedoch ohne Weiteres.
  • Methodische Vorgehensweise
  • 2A zeigt eine Übersicht über das Prinzip der Mehrfachansichts-3D-Rekonstruktion. Eine Szene 200 beinhaltet ein Objekt 202. Zwei oder mehr Kameras 204a, 204b erhalten Bilder eines Punktes 206a an der Oberfläche des Objektes 202 unter verschiedenen Ansichtswinkeln. Jede Kamera 204a, 204b weist einen zugeordneten Referenzframe 208a, 208b auf, auf den der Punkt 206a projiziert wird, was durch 206b und 206c angegeben ist. Sind die mehreren Projektionen 206b, 206c desselben Punktes 206a bezüglich der mehreren Bilder gegeben, so ist eine 3D-Position des Punktes 206a der Schnitt der beiden Projektionsstrahlen. Diese Technik wird als Triangulierung bezeichnet. Die 3D-Position des Punktes 206a kann aus den bekannten Orten und Orientierungen der Kameras 204a, 204b relativ zu dem Objekt 202 trianguliert werden. Das Auffinden der Entsprechung zwischen den Projektionen 206b und 206c, die zum Identifizieren der 3D-Position des Punktes 206a benötigt werden, ist jedoch ein schwieriges Problem.
  • 2B zeigt eine exemplarische Übersicht 250 über eine Technik zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen, die Objektnetze optimieren und dabei die fotometrische Mehrfachansichtskonsistenz maximieren, entsprechend einer Ausführungsform der vorliegenden Offenbarung. Die dreidimensionale Objektrekonstruktion stellt sich als stückweise gegebenes Bildausrichtungsproblem dar, bei dem die Netzverformung über ein Formurelement, das durch ein neuronales Netzwerk parametrisiert ist, randbedingungsartig eingeschränkt ist. Die offenbarten Techniken nutzen das vorab trainierte dem Generieren eines Objektnetzes dienende Netzwerk 114 als Formurelement, und es werden Kameramatrizen von der Objektbildsequenz 112 unter Nutzung von SfM-Verfahren erhalten. Es können Dreiecksnetze benutzt werden, obwohl die offenbarten Techniken auf ein Netz beliebigen Polygontyps anwendbar sind, wie sich im Lichte der vorliegenden Offenbarung erschließt.
  • Stückweise erfolgende Bildausrichtung
  • Dichte 2D-Projektionen aus einem 3D-Netz eines Objektes 254 und daher die polygonalen Flächen 258 des Netzes 254 werden alle als über die Kameraansichtspunkte 256a, 256b, 256c hinweg als konsistent angenommen. Das Problem der 3D-Netzausrichtung wird daher zu einer Sammlung von stückweise gegebenen 2D-Bildausrichtungsteilproblemen einer jeden Dreiecksfläche 258 für jede Projektion. Für ein Dreiecksnetz mit N Vertices, das als Satz von Vertices V ∈ ℝN×3 geschrieben wird, kann die fotometrische Objektivfunktion L phot
    Figure DE102020000810A1_0001
    folgendermaßen zerlegt werden: L phot ( V ) = j L phot ( j ) ( V j ) ,
    Figure DE102020000810A1_0002
  • Hierbei ist L ( j ) phot
    Figure DE102020000810A1_0003
    ein Teil des fotometrischen Verlustes, den das Dreieck j beiträgt, wobei die Vertices hiervon als Vj ∈ ℝ3×3 geschrieben werden, die bei gemeinsamer Nutzung durch mehrere Flächen durch eine vordefinierte Netztopologie verbunden sind.
  • Die 2D-Bildausrichtung kann durch Lösen für eine parametrisierte Verzerrung (warp) W(-) an einem Quellbild IS gegen ein Vorlagenbild IT verwirklicht werden. Entsprechend einer Ausführungsform kann diese Lösung als pro Dreieck gegebene fotometrische Objektivfunktion geschrieben werden: L phot ( j ) ( V j ) = i : x i X j I S ( x i ' ) I T ( x i ) 1 ,
    Figure DE102020000810A1_0004
  • Hierbei ist x'i = W (xi; Vj) die verzerrte Pixelkoordinate, wo IS abgetastet ist, und Xj ist der Satz von sichtbaren Pixelkoordinaten innerhalb des Projektionsbereiches der Dreiecksfläche j. Die Verzerrungsfunktion W (·), die durch die 3D-Dreiecksvertices Vj parametrisiert ist, ist eine Reprojektion π-1(·; ·, ΩT) von der Vorlagenansicht auf das Dreieck j, zusammengesetzt mit einer Reprojektion π(·; ΩS) auf die Quellenansicht, bestimmt durch die Kameramatrizen ΩT beziehungsweise ΩS. x'i kann daher folgendermaßen umgeschrieben werden: x i ' = π ( π 1 ( x i ; V j , Ω T ) ; Ω S ) i : x i X j .
    Figure DE102020000810A1_0005
  • Die Reprojektion π-1(·) erfordert üblicherweise eine bekannte Tiefe, wie dies bei einigen SLAM-Problemen der Fall ist. Entsprechend einer Ausführungsform kann die Reprojektion jedoch direkt durch einen Strahldreiecksschnitt für ein gegebenes Vj gelöst werden. In dem Fall, in dem sich mehrere Dreiecke schneiden, werden die nächsten Dreiecke unter Nutzung von Netzwiedergabetechniken, so beispielsweise einer Rasterung oder einer Strahlverfolgung, ausgewählt. Hierdurch wird bestimmt, zu welchen Vertices die fotometrischen Gradienten aus jedem Pixel beitragen und zurückgeführt werden. Dies erhält auch die eigentliche Differenzierbarkeit ohne die Notwendigkeit, Näherungsgradienten umzusortieren.
  • Netzausrichtung unter Nutzung virtueller Vorlagen
  • Entsprechend einer Ausführungsform stellt Xj die sichtbaren Pixelkoordinaten innerhalb der Projektion des Dreiecks j (beispielsweise des Dreiecks 258) dar. Beim Ausrichten von Netzprojektionen variiert Xj mit den Dreiecksvertices Vj. Dies steht im Gegensatz zu vorhandenen Bildausrichtungstechniken, bei denen die Vorlagenkoordinaten X konstant sind und Verzerrungen asymmetrisch nur auf das Quellenbild angewendet werden. Um die gleichzeitige Variabilität einer gepaarten Abbildung in Bezug auf Vj zu berücksichtigen, werden Bildgradienten aus beiden Bildern dafür benutzt, die Stabilität während der Optimierung aufrechtzuerhalten.
  • Das fotometrische Objektiv kann folgendermaßen umformuliert werden: L phot ( j ) ( V j ) = i : x i X j I 1 ( x i ' ) I 2 ( x i ' ' ) 1 ,   mit        x i ' = π ( π 1 ( x i ; V j , Ω VT ) ; Ω 1 ) ,                x i ' ' = π ( π 1 ( x i ; V j , Ω VT ) ; Ω 2 ) .
    Figure DE102020000810A1_0006
  • Hierbei ist ΩVT die Kameramatrix bei einer virtuellen Vorlagenansicht. Virtuelle Vorlagen werden benutzt, da die Reprojektion von xi in Gleichung (3) auf sich selbst folgendermaßen geschrieben werden kann: x i ' = π ( π 1 ( x i ; V j , Ω T ) ; Ω T ) = x i x i .
    Figure DE102020000810A1_0007
  • Durch Reprojizieren der Koordinaten aus einem dritten Frame ermöglichen virtuelle Vorlagen die korrekte Gradientenberechnung I V j = I x i ' x i ' V j
    Figure DE102020000810A1_0008
    aus beiden Bildern, wobei man I x i '
    Figure DE102020000810A1_0009
    durch eine differenzierbare Bildabtastung erhalten kann. Entsprechend einer Ausführungsform ist ΩT als Bisektion zwischen Ω1 und Ω2 gewählt; es sollte jedoch einsichtig sein, dass ΩT beliebig gewählt werden kann.
  • Netzoptimierung
  • Das Optimieren für ein 3D-Netz mit N Vertices impliziert das Lösen für 3N Freiheitsgrade (Degrees of Freedom, DoFs), was üblicherweise ein unterbestimmtes Problem ergibt, wenn N groß ist. Daher wird eine Regularisierung benutzt, um sicherzustellen, dass sich die Objektnetzverformungen während der Optimierung wunschgemäß verhalten. Entsprechend einer Ausführungsform können neuronale Deep-Netzwerke als Formurelemente benutzt werden und über einen Latentmerkmalsvektor oder einen Formcode z optimieren. Die Vertices V können daher als V = g(z) reparametrisiert werden, wobei g ein neuronales Netzwerk darstellt. Dies hat den Vorteil, dass ermöglicht wird, dass sich das Netz innerhalb eines erlernten Formraumes verformt, während sich die zahlreichen lokalen Minima, die bei der direkten Vertexoptimierung auftreten, vermeiden lassen.
  • Netzvorhersagen aus neuronalen Netzwerken liegen in einem kanonischen Koordinatensystem unabhängig vom Weltkoordinatensystem, das SfM wiederherstellt. Eine Grobausrichtung dieser Koordinatensysteme kann aus einer Cheap Annotation von Grobentsprechungen berechnet werden. Um die Netze genauer auf die RGB-Sequenzen auszurichten, kann eine 3D-Ähnlichkeitstransformationsverfeinerung T ( )
    Figure DE102020000810A1_0010
    an den Netzwerkvertices V = [v1, v2, ..., vN]T folgendermaßen optimiert werden: v i ' = T ( v i ; θ ) = exp ( s ) R ( ω ) v i + t i ,
    Figure DE102020000810A1_0011
  • Hierbei sind 0=[s,ω,t]T ∈ ℝ7 die 7-DoF-Parameter, und R ist eine 3D-Drehmatrix, die durch ω parametrisiert ist. Das Exponenzieren von s wird zur Sicherstellung der Positivität vorgenommen. Diese Parametrisierung wird benutzt, um zusätzliche Randbedingungen (beispielsweise eine Skalierung) festzulegen.
  • Obwohl neuronale Netzwerke effektive Urelemente sind, ist der Latentmerkmalsvektorraum nur innerhalb der Spanne (span), die von den Trainingsdaten erfasst wird, vernünftig. Um zu vermeiden, dass Objektnetze degenerierte Lösungen ergeben, wird dem Code z eine zusätzliche Sanktion (extra penalty) auferlegt, um sicherzustellen, dass dieser innerhalb eines zuverlässigen Bereiches des Anfangscodes z0 (aus einem vorab trainierten Bildencoder f extrahiert) verbleibt, was folgendermaßen definiert ist: L code = z-z 0 2 2
    Figure DE102020000810A1_0012
  • Zusätzlich wird eine Skalensanktion L scale = s
    Figure DE102020000810A1_0013
    addiert bzw. hinzugefügt, um den Umstand zu fördern, dass sich das Netz ausdehnt, da der Umstand, dass das Netz ins Infinitesimale bzw. unendlich Kleine schrumpft, die triviale Lösung mit einem fotometrischen Fehler von 0 ist.
  • Die vollständige Optimierungsverlustfunktion kann folgendermaßen dargestellt werden: min z , θ L phot ( z , θ ) + λ code L code ( z ) + λ scale L scale ( θ ) ,
    Figure DE102020000810A1_0014
  • Hierbei sind λcode und λscale die Sanktionsgewichtungen der zusätzlichen Regularisierung. Sämtliche Funktionen sind in Bezug auf den fotometrischen Fehler vollständig differenzierbar.
  • Exemplarisches Verfahren
  • 3 bis 5 zeigen Flussdiagramme eines exemplarischen Prozesses 300 zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen entsprechend einer Ausführungsform der vorliegenden Offenbarung. Der Prozess kann beispielsweise in der Bildrekonstruktionsanwendung 130 von 1 implementiert sein. Der Prozess 300 beinhaltet ein Generieren (302) eines polygonalen Netzes 304, das eine Form eines ersten Objektes in drei Dimensionen darstellt. Das Netzgenerierungsmodul 150 von 1 kann beispielsweise generiert werden, um das polygonale Netz 304 zu generieren. Das Netz wird unter Nutzung des dem Generieren des Objektnetzes dienenden neuronalen Netzwerkes 114 generiert. Das neuronale Netzwerk 114 wird darauf trainiert, einen Satz von 2D-Datenpunkten (2D zweidimensional) 306, die das erste Objekt darstellen, in das Polygonnetz zu transformieren. Der Satz von 2D-Datenpunkten 306 stellt Farbpixel (RGB) in wenigstens zwei Bildern des ersten Objektes dar. Die Bilder können eine Abfolge oder Sequenz von Standbildern oder auch Frames eines Videos sein. Die Bilder weisen verschiedene Kamerastellungen auf, in denen die Bilder verschiedene Ansichtswinkel des Objektes, so beispielsweise von vorne, von der Seite, von oben und dergleichen mehr, bereitstellen.
  • 4 zeigt detaillierter ein Flussdiagramm des Prozesses zum Generieren (302) des polygonalen Netzes 304. Zu Beginn wird ein Bildframe mit zentriertem Objekt aus der Bildsequenz oder dem Video in Form von RGB-Bildern, die mit zugeordneten Kameramatrizen gepaart sind, ausgewählt (402). Der Bildframe kann entweder manuell oder automatisch ausgewählt werden. Der ausgewählte Frame wird in einen Encoder eingespeist (404), um einen Anfangslatentcodevektor 406 als Ausgabe zu erhalten. Für jeden Frame und jedes Kamerapaar aus der Sequenz wird ein polygonales (beispielsweise dreieckiges) Netz an den gegebenen Ansichtspunkten durch eine Netzrasterung wiedergegeben (408), wodurch eine gerasterte Karte mit polygonalen (beispielsweise dreieckigen) Flächenindices (polygonales Netz 304) erzeugt wird.
  • Wie wiederum in 3 gezeigt ist, beinhaltet das Verfahren 300 des Weiteren ein Optimieren (308) des polygonalen Netzes 304 über einen Satz von Latentmerkmalsvektoren oder einen Code unter Nutzung einer fotometrischen Objektivfunktion. Das Netzoptimierungsmodul 152 von 1 kann beispielsweise zum Optimieren des polygonalen Netzes konfiguriert sein. Der Satz von Latentmerkmalsvektoren stellt eine oder mehrere vordefinierte Formen eines zweiten Objektes dar, die in der vorliegenden Offenbarung auch als Formurelement (shape prior) bezeichnet werden. In einigen Fällen ist das zweite Objekt ein Modell des ersten Objektes. Ist das erste Objekt (das Objekt in den Bildern) beispielsweise ein Bürostuhl, so kann das zweite Objekt ein Strukturmodell desselben Typs von Bürostuhl oder ein ähnlich geformter Stuhl sein, der aus einem großen Satz von vorher validierten Daten, die derartige Stühle darstellen, entwickelt worden ist, wie sich einem Fachmann auf dem Gebiet der Computervision und der Deep-Learning-Netzwerke erschließt.
  • 5 zeigt detaillierter ein Flussdiagramm des Prozesses zum Optimieren (308) des polygonalen Netzes 304. Das Netz wird optimiert, indem zunächst Paare von aufeinanderfolgenden Frames 504 aus der Bildsequenz ausgewählt werden (502). Als Nächstes wird für jedes Paar von Frames 504 ein virtueller Ansichtspunkt 508 geschaffen (506), indem die Bisektion der entsprechenden Drehungen und Kamerazentren gebildet wird. Das Netz wird sodann gerastert (510), um eine Tiefenkarte von dem virtuellen Ansichtspunkt aus zu erhalten. Die Tiefenkarte kann als Satz von 3D-Punkten ausgedrückt werden, die auf der Oberfläche des Netzes liegen. Als Nächstes werden die 3D-Netzprojektionen ausgerichtet (514), indem der Satz von 3D-Punkten von der Tiefenkarte auf beide ausgewählten Ansichtspunkte, von denen Pixelintensitäten 516 abgetastet werden können, projiziert wird. Der fotometrische Fehler wird aus der Differenz zwischen den RGB-Pixelintensitäten 516, die aus beiden Frames abgetastet sind, bestimmt (518). Daher kann eine fotometrische Objektivfunktion als pixelweise gegebener Intensitätsfehler zwischen beiden synthetisierten Bildern berechnet werden. Wie vorstehend beschrieben worden ist, stellt die fotometrische Objektivfunktion wenigstens teilweise einen fotometrischen Verlust aus dem Beitrag durch Pixel in jeder jeweiligen Fläche des Netzes als Funktion der Bildgradienten, die aus den Farbpixeln (RGB) erhalten werden, dar. Gradienten werden sodann von dem fotometrischen Fehler zu den Vertices der zugewiesenen polygonalen (beispielsweise dreieckigen) Indices zurückgeführt (522), indem auf die baryzentrischen Koordinaten eines jeden Bildes zurückgegriffen wird, um den Latentcodevektor zu aktualisieren, wodurch die rekonstruierte Darstellung des Objektes 310 (rekonstruiertes Netz) erzeugt wird. In einigen Fällen beinhaltet die fotometrische Objektivfunktion ein Anwenden einer parametrisierten Verzerrungsfunktion auf Pixel in den wenigstens zwei Bildern des ersten Objektes, wie vorstehend erläutert worden ist. In einigen Fällen beinhaltet der Prozess 300 des Weiteren ein Veranlassen 314 dessen, dass das rekonstruierte Bild des ersten Objektes von einer Anzeigevorrichtung, so beispielsweise von der GUI 140 von 1, angezeigt wird. In einigen Fällen kann das rekonstruierte Bild des ersten Objektes benutzt werden, um unter Nutzung eines 3D-Druckers oder einer anderen geeigneten Vorrichtung zur Bildung eines Musterstücks des Objektes aus einem physischen Material eine physische Darstellung des Objektes zu drucken.
  • Wie wiederum in 3 gezeigt ist, beinhaltet der Prozess 300 in einigen Fällen des Weiteren ein durch den wenigstens einen Prozessor erfolgendes Trainieren 316 des dem Generieren eines Objektnetzes dienenden Netzwerkes zum Transformieren des Satzes von 2D-Datenpunkten in das polygonale Netz unter Nutzung von 3D-CAD-Modellwiedergaben (Computer-Aided Design CAD, computergestütztes Gestalten). Das Trainingsmodul 154 von 1 kann beispielsweise zum Trainieren des Netzwerkes konfiguriert sein. Ein derartiges Training ist beispielsweise dann von Nutzen, wenn zusätzliche validierte Formurelemente verfügbar sind, um die Leistung des Netzwerkes für eine gegebene Klasse von Objekten (beispielsweise zum Lernen eines neuen Objektes) zu verbessern.
  • 6 ist ein Beispiel für quantitative Ergebnisse unter Nutzung des Prozesses 300, wobei eine Sequenz von RGB-Bildern 602 und die entsprechenden rekonstruierten Bilder 604 gezeigt sind. Die offenbarten Techniken können sich vorteilhafterweise einer Mehrfachansichtsgeometrie bedienen, um große Fehlausrichtungen aufzulösen und genauere Formen zu optimieren. Der hohe fotometrische Fehler aus dem Hintergrund zwischen den Ansichten wirkt dem entgegen, dass Vertices in derartigen Bereichen verbleiben. Dies wirkt als natürliches Bestreben, das Netz innerhalb der 3D-Bereiche einzuschränken, was die Notwendigkeit einer zusätzlichen Tiefen- oder Maskeninformation während der Optimierung beseitigt.
  • Die offenbarten Techniken können sowohl auf Einfach- wie auch Mehrfachobjektkategorien von Bildsequenzen unter Nutzung synthetischer Daten wie auch von Videos aus der realen Welt angewendet werden. Datensätze von 3D-CAD-Modellwiedergaben werden zum Trainieren eines Netzgenerierungsnetzwerkes wie auch zum Bewerten des Optimierungsframeworks generiert. Die Wiedergabepipeline stellt darauf ab, realistische Bilder mit komplexen Hintergründen zu generieren, damit diese auf Videosequenzen aus der realen Welt angewendet werden können. Es kann ein vordefinierter Objektdatensatz genutzt werden, und es werden alle Objekte derart normiert, dass sie auf eine ursprungszentrierte Einheitskugel passen. Die RGB-Bilder eines jeden Objektes werden von Perspektivenkameras unter beispielsweise 24 gleich beabstandeten Azimuthwinkeln und drei Elevationswinkeln wiedergegeben. Um realistischere Hintergründe zu simulieren, werden sphärische Bilder aus einer Datenbank willkürlich verzerrt und beschnitten bzw. abgeschnitten, um Hintergrundbilder derselben Szene, die unter verschiedenen Kameraansichtspunkten aufgenommen ist, zu schaffen. Durch Zusammensetzen der Vordergrund- und Hintergrundbilder mit entsprechenden Kamerastellungen erhält man RGB-Sequenzen von Objekten auf realistisch texturierten Hintergründen, wie in 7 gezeigt ist.
  • Während der Optimierung wird 0 auf 0 initialisiert (Identitätstransformation), wobei die Rotationskomponente ω mit der so(3)-Lie-Algebra parametrisiert ist. Der Code z0 wird initialisiert, indem ein RGB-Frame mit dem Encoder rotiert wird: für synthetische Sequenzen benutzt man Frames bei einem Azimuthwinkel von 45°; bei Realweltsequenzen wird ein Frame ausgewählt, in dem das Objekt möglichst zentral bezüglich des Bildes ausgerichtet ist, damit es auf die Wiedergabeeinstellungen abgestimmt ist. Während der Optimierung werden zwei aufeinanderfolgende Frames als Bildpaar ausgewählt, und es wird eine stochastische Strategie des willkürlichen Auswählens von acht Paaren pro Iteration benutzt.
  • 8 zeigt Beispiele für eine kategoriespezifische Leistungs-Rausch-Beziehung bei einer Koordinatensystemabbildung bei Anwendung der offenbarten Techniken auf Ei ngabebildseq uenzen.
  • Im Lichte der vorliegenden Offenbarung erschließen sich zahlreiche Ausführungsformen, und die hier beschriebenen Merkmale können in einer beliebigen Anzahl von Konfigurierungen kombiniert werden. Eine exemplarische Ausführungsform stellt beispielsweise in einer Digitalmedienumgebung zur Bearbeitung von Digitalbildern ein computerimplementiertes Verfahren zur dreidimensionalen Objektrekonstruktion bereit. Das Verfahren beinhaltet ein durch wenigstens einen Prozessor erfolgendes Generieren eines Polygonnetzes zur Darstellung einer Form eines ersten Objektes in drei Dimensionen unter Nutzung eines dem Generieren eines Objektnetzes dienenden neuronalen Netzwerkes, das darauf trainiert ist, einen Satz von 2D-Daten (2D zweidimensional), die das erste Objekt darstellen, in das Polygonnetz zu transformieren. Der Satz von 2D-Datenpunkten stellt Farbpixel in wenigstens zwei Bildern des ersten Objektes dar. Die wenigstens zwei Bilder weisen verschiedene Kamerastellungen auf. Das Verfahren beinhaltet des Weiteren ein durch den wenigstens einen Prozessor erfolgendes Optimieren des Polygonnetzes über einen Satz von Latentmerkmalsvektoren unter Nutzung einer fotometrischen Objektivfunktion zum Herstellen einer rekonstruierten Darstellung des ersten Objektes, wobei der Satz von Latentmerkmalsvektoren eine vordefinierte Form eines zweiten Objektes darstellt, und ein durch den wenigstens einen Prozessor erfolgendes Veranlassen, dass die rekonstruierte Darstellung des ersten Objektes an eine Ausgabevorrichtung ausgegeben wird. In einigen Fällen beinhaltet das Verfahren ein durch den wenigstens einen Prozessor erfolgendes Trainieren des dem Generieren des Objektnetzes dienenden Netzwerkes zum Transformieren des Satzes von 2D-Datenpunkten in das Polygonnetz unter Nutzung von 3D-CAD-Modellwiedergaben (CAD Computer-Aided Design, computergestütztes Gestalten). In einigen Fällen ist das zweite Objekt ein Modell des ersten Objektes. In einigen Fällen stellt die fotometrische Objektivfunktion wenigstens teilweise einen fotometrischen Verlust aus dem Beitrag durch Pixel in der wenigstens einen Fläche des Polygonnetzes dar. In einigen Fällen beinhaltet die fotometrische Objektivfunktion ein Anwenden einer parametrisierten Verzerrungsfunktion auf Pixel in den wenigstens zwei Bildern des ersten Objektes. In einigen Fällen ist lautet die fotometrische Objektivfunktion folgendermaßen: L phot ( j ) ( V j ) = i : x i X j I S ( x i ' ) I T ( x i ) 1
    Figure DE102020000810A1_0015
    wobei x'i = W (xi; Vj) eine verzerrte Pixelkoordinate xi in einem Polygonnetz V eines ersten Bildes IS des ersten Objektes ist, IT ein zweites Bild des ersten Objektes ist, V das Polygonnetz ist und Xj ein Satz von sichtbaren Pixelkoordinaten innerhalb eines Projektionsbereiches der wenigstens einen Fläche j des Polygonnetzes ist. In einigen Fällen beinhaltet das Optimieren ein Anwenden einer Skalensanktion auf die Optimierungsverlustfunktion. In einigen Fällen beinhaltet die Ausgabevorrichtung wenigstens eines von einer Anzeigevorrichtung zum Anzeigen der rekonstruierten Darstellung des ersten Objektes und einer 3D-Druckervorrichtung zum 3D-Drucken der rekonstruierten Darstellung des ersten Objektes. In einigen Fällen beinhaltet die Ausgabevorrichtung eine Speichervorrichtung zum Speichern der rekonstruierten Darstellung des ersten Objektes. Eine weitere exemplarische Ausführungsform stellt ein Computerprogrammerzeugnis bereit, das ein oder mehrere nichttemporäre maschinenlesbare Medien beinhaltet, auf denen Anweisungen codiert sind, die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass der eine oder die mehreren Prozessoren einen Prozess, so beispielsweise den im vorliegenden Absatz ausgeführten, durchführen.
  • Weitere exemplarische Ausführungsformen stellen ein System zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen bereit. Das System beinhaltet wenigstens einen Prozessor und einen Speicher, der operativ mit dem wenigstens einen Prozessor gekoppelt ist, und dem Speichern von Anweisungen dient, die bei Ausführung durch den wenigstens einen Prozessor veranlassen, dass der wenigstens eine Prozessor ein Polygonnetz zur Darstellung einer Form eines ersten Objektes in drei Dimensionen unter Nutzung eines dem Generieren eines Objektnetzes dienenden neuronalen Netzwerkes generiert, das darauf trainiert ist, einen Satz von 2D-Datenpunkten (2D zweidimensional), die das erste Objekt darstellen, in das Polygonnetz zu transformieren. Der Satz von 2D-Datenpunkten stellt Farbpixel in wenigstens zwei Bildern des ersten Objektes dar. Die wenigstens zwei Bilder weisen verschiedene Kamerastellungen auf. In einigen Fällen veranlassen die Anweisungen, dass der wenigstens eine Prozessor das Polygonnetz über einen Satz von Latentmerkmalsvektoren unter Nutzung einer fotometrischen Objektivfunktion optimiert, um eine rekonstruierte Darstellung des ersten Objektes zu erzeugen, wobei der Satz von Latentmerkmalsvektoren eine vordefinierte Form eines zweiten Objektes darstellt und veranlasst, dass die rekonstruierte Darstellung des ersten Objektes wenigstens eine von einer durch eine Anzeigevorrichtung angezeigten und einer durch eine 3D-Druckvorrichtung gedruckten ist. In einigen Fällen ist das zweite Objekt ein Modell des ersten Objektes. In einigen Fällen stellt die fotometrische Objektivfunktion wenigstens teilweise einen fotometrischen Verlust aus dem Beitrag durch Pixel in der wenigstens einen Fläche des Polygonnetzes dar. In einigen Fällen beinhaltet die fotometrische Objektivfunktion ein Anwenden einer parametrisierten Verzerrungsfunktion auf Pixel in den wenigstens zwei Bildern des ersten Objektes. In einigen Fällen lautet die fotometrische Objektivfunktion: L phot ( j ) ( V j ) = i : x i X j I S ( x i ' ) I T ( x i ) 1
    Figure DE102020000810A1_0016
    wobei x'i = W(xi; Vj) eine verzerrte Pixelkoordinate xi in einem Polygonnetz V eines ersten Bildes IS des ersten Objektes ist, IT ein zweites Bild des ersten Objektes ist, V das Polygonnetz ist und Xj ein Satz von sichtbaren Pixelkoordinaten innerhalb eines Projektionsbereiches der wenigstens einen Fläche j des Polygonnetzes ist. In einigen Fällen beinhaltet das Optimieren ein Anwenden einer Skalensanktion auf die Optimierungsverlustfunktion.
  • Die vorstehende Beschreibung der verschiedenen Ausführungsformen und die Zeichnung sind rein beispielhalber vorgestellt worden. Die Beispiele sollen nicht erschöpfend sein oder die Erfindung genau auf die offenbarten Formen beschränken. Abänderungen, Modifikationen und Abwandlungen erschließen sich im Lichte der vorliegenden Offenbarung und sollen innerhalb des Umfanges so, wie in den Ansprüchen niedergelegt, beinhaltet sein.

Claims (20)

  1. Computerimplementiertes Verfahren zur dreidimensionalen Objektrekonstruktion in einer Digitalmedienumgebung zur Bearbeitung von Digitalbildern, wobei das Verfahren umfasst: durch wenigstens einen Prozessor erfolgendes Generieren eines Polygonnetzes zur Darstellung einer Form eines ersten Objektes in drei Dimensionen unter Nutzung eines dem Generieren eines Objektnetzes dienenden neuronalen Netzwerkes, das darauf trainiert ist, einen Satz von 2D-Datenpunkten (2D zweidimensional), die das erste Objekt darstellen, in das Polygonnetz zu transformieren, wobei der Satz von 2D-Datenpunkten Farbpixel in wenigstens zwei Bildern des ersten Objektes darstellt und die wenigstens zwei Bilder verschiedene Kamerastellungen aufweisen; durch den wenigstens einen Prozessor erfolgendes Optimieren des Polygonnetzes über einen Satz von Latentmerkmalsvektoren unter Nutzung einer fotometrischen Objektivfunktion zum Erzeugen einer rekonstruierten Darstellung des ersten Objektes, wobei der Satz von Latentmerkmalsvektoren eine vordefinierte Form eines zweiten Objektes darstellt; und durch den wenigstens einen Prozessor erfolgendes Veranlassen, dass die rekonstruierte Darstellung des ersten Objektes an eine Ausgabevorrichtung ausgegeben wird.
  2. Verfahren nach Anspruch 1, des Weiteren umfassend: durch den wenigstens einen Prozessor erfolgendes Trainieren des dem Generieren eines Objektnetzes dienenden Netzwerkes zum Transformieren des Satzes von 2D-Datenpunkten in das Polygonnetz unter Nutzung von 3D-CAD-Modellwiedergaben (CAD computergestütztes Gestalten).
  3. Verfahren nach Anspruch 1 oder 2, wobei das zweite Objekt ein Modell des ersten Objektes ist.
  4. Verfahren nach einem der vorhergehenden Ansprüche, wobei die fotometrische Objektivfunktion wenigstens teilweise einen fotometrischen Verlust aus dem Beitrag durch Pixel in der wenigstens einen Fläche des Polygonnetzes darstellt.
  5. Verfahren nach einem der vorhergehenden Ansprüche, wobei die fotometrische Objektivfunktion beinhaltet: Anwenden einer parametrisierten Verzerrungsfunktion auf Pixel in den wenigstens zwei Bildern des ersten Objektes.
  6. Verfahren nach einem der vorhergehenden Ansprüche, wobei die fotometrische Objektivfunktion lautet: L phot ( j ) ( V j ) = i : x i X j I S ( x i ' ) I T ( x i ) 1
    Figure DE102020000810A1_0017
    wobei x'i = W (xi; Vj) eine verzerrte Pixelkoordinate xi in einem Polygonnetz V eines ersten Bildes IS des ersten Objektes ist, IT ein zweites Bild des ersten Objektes ist, V das Polygonnetz ist und Xj ein Satz von sichtbaren Pixelkoordinaten innerhalb eines Projektionsbereiches der wenigstens einen Fläche j des Polygonnetzes ist.
  7. Verfahren nach einem der vorhergehenden Ansprüche, wobei das Optimieren beinhaltet: Anwenden einer Skalensanktion auf die Optimierungsverlustfunktion.
  8. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Ausgabevorrichtung beinhaltet: wenigstens eines von einer Anzeigevorrichtung zum Anzeigen der rekonstruierten Darstellung des ersten Objektes und einer 3D-Druckervorrichtung zum 3D-Drucken der rekonstruierten Darstellung des ersten Objektes.
  9. Verfahren nach einem der vorhergehenden Ansprüche, wobei die Ausgabevorrichtung beinhaltet: eine Speichervorrichtung zum Speichern der rekonstruierten Darstellung des ersten Objektes.
  10. Computerprogrammerzeugnis, das ein oder mehrere nichttemporäre maschinenlesbare Medien beinhaltet, auf denen Anweisungen codiert sind, die bei Ausführung durch wenigstens einen Prozessor veranlassen, dass ein Prozess zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen ausgeführt wird, wobei der Prozess umfasst: durch den wenigstens einen Prozessor erfolgendes Generieren eines Polygonnetzes zur Darstellung einer Form eines ersten Objektes in drei Dimensionen unter Nutzung eines dem Generieren eines Objektnetzes dienenden neuronalen Netzwerkes, das darauf trainiert ist, einen Satz von 2D-Datenpunkten (2D zweidimensional), die das erste Objekt darstellen, in das Polygonnetz zu transformieren, wobei der Satz von 2D-Datenpunkten Farbpixel in wenigstens zwei Bildern des ersten Objektes darstellt und die wenigstens zwei Bilder verschiedene Kamerastellungen aufweisen; durch den wenigstens einen Prozessor erfolgendes Optimieren des Polygonnetzes über einen Satz von Latentmerkmalsvektoren unter Nutzung einer fotometrischen Objektivfunktion zum Erzeugen einer rekonstruierten Darstellung des ersten Objektes, wobei der Satz von Latentmerkmalsvektoren eine vordefinierte Form eines zweiten Objektes darstellt; und durch den wenigstens einen Prozessor erfolgendes Veranlassen, dass die rekonstruierte Darstellung des ersten Objektes wenigstens eine von einer durch eine Anzeigevorrichtung angezeigten und einer durch eine 3D-Druckvorrichtung gedruckten ist.
  11. Computerprogrammerzeugnis nach Anspruch 10, wobei der Prozess beinhaltet: durch den wenigstens einen Prozessor erfolgendes Trainieren des dem Generieren eines Objektnetzes dienenden Netzwerkes zum Transformieren des Satzes von 2D-Datenpunkten in das Polygonnetz unter Nutzung von 3D-CAD-Modellwiedergaben (CAD computergestütztes Gestalten).
  12. Computerprogrammerzeugnis nach Anspruch 10 oder 11, wobei die fotometrische Objektivfunktion wenigstens teilweise einen fotometrischen Verlust aus dem Beitrag durch Pixel in der wenigstens einen Fläche des Polygonnetzes darstellt.
  13. Computerprogrammerzeugnis nach einem der Ansprüche 10 bis 12, wobei die fotometrische Objektivfunktion beinhaltet: Anwenden einer parametrisierten Verzerrungsfunktion auf Pixel in den wenigstens zwei Bildern des ersten Objektes.
  14. Computerprogrammerzeugnis nach einem der Ansprüche 10 bis 13, wobei die fotometrische Objektivfunktion lautet: L phot ( j ) ( V j ) = i : x i X j I S ( x i ' ) I T ( x i ) 1
    Figure DE102020000810A1_0018
    wobei x'i = W (xi; Vj) eine verzerrte Pixelkoordinate xi in einem Polygonnetz V eines ersten Bildes Is des ersten Objektes ist, IT ein zweites Bild des ersten Objektes ist, V das Polygonnetz ist und Xj ein Satz von sichtbaren Pixelkoordinaten innerhalb eines Projektionsbereiches der wenigstens einen Fläche j des Polygonnetzes ist.
  15. System zur 3D-Objektrekonstruktion unter Nutzung fotometrischer Netzdarstellungen, wobei das System umfasst: wenigstens einen Prozessor; und einen Speicher, der operativ mit dem wenigstens einen Prozessor gekoppelt ist und dem Speichern von Anweisungen dient, die bei Ausführung durch den wenigstens einen Prozessor den wenigstens einen Prozessor veranlassen zum: Generieren eines Polygonnetzes zur Darstellung einer Form eines ersten Objektes in drei Dimensionen unter Nutzung eines dem Generieren eines Objektnetzes dienenden neuronalen Netzwerkes, das darauf trainiert ist, einen Satz von 2D-Datenpunkten (2D zweidimensional), die das erste Objekt darstellen, in das Polygonnetz zu transformieren, wobei der Satz von 2D-Datenpunkten Farbpixel in wenigstens zwei Bildern des ersten Objektes darstellt und die wenigstens zwei Bilder verschiedene Kamerastellungen aufweisen; Optimieren des Polygonnetzes über einen Satz von Latentmerkmalsvektoren unter Nutzung einer fotometrischen Objektivfunktion zum Erzeugen einer rekonstruierten Darstellung des ersten Objektes, wobei der Satz von Latentmerkmalsvektoren eine vordefinierte Form eines zweiten Objektes darstellt; und Veranlassen, dass die rekonstruierte Darstellung des ersten Objektes wenigstens eine von einer durch eine Anzeigevorrichtung angezeigten und einer durch eine 3D-Druckvorrichtung gedruckten ist.
  16. System nach Anspruch 15, wobei das zweite Objekt ein Modell des ersten Objektes ist.
  17. System nach Anspruch 15 oder 16, wobei die fotometrische Objektivfunktion wenigstens teilweise einen fotometrischen Verlust aus dem Beitrag durch Pixel in der wenigstens einen Fläche des Polygonnetzes darstellt.
  18. System nach einem der Ansprüche 15 bis 17, wobei die fotometrische Objektivfunktion beinhaltet: Anwenden einer parametrisierten Verzerrungsfunktion auf Pixel in den wenigstens zwei Bildern des ersten Objektes.
  19. System nach einem der Ansprüche 15 bis 18, wobei die fotometrische Objektivfunktion lautet: L phot ( j ) ( V j ) = i : x i X j I S ( x i ' ) I T ( x i ) 1
    Figure DE102020000810A1_0019
    wobei x'i = W(xi; Vj) eine verzerrte Pixelkoordinate xi in einem Polygonnetz V eines ersten Bildes IS des ersten Objektes ist, IT ein zweites Bild des ersten Objektes ist, V das Polygonnetz ist und Xj ein Satz von sichtbaren Pixelkoordinaten innerhalb eines Projektionsbereiches der wenigstens einen Fläche j des Polygonnetzes ist.
  20. System nach einem der Ansprüche 15 bis 19, wobei das Optimieren beinhaltet: Anwenden einer Skalensanktion auf die Optimierungsverlustfunktion.
DE102020000810.0A 2019-05-24 2020-02-06 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung Pending DE102020000810A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/421,729 2019-05-24
US16/421,729 US10769848B1 (en) 2019-05-24 2019-05-24 3D object reconstruction using photometric mesh representation

Publications (1)

Publication Number Publication Date
DE102020000810A1 true DE102020000810A1 (de) 2020-11-26

Family

ID=69897003

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102020000810.0A Pending DE102020000810A1 (de) 2019-05-24 2020-02-06 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung

Country Status (5)

Country Link
US (2) US10769848B1 (de)
CN (1) CN111986307B (de)
AU (1) AU2020200811B2 (de)
DE (1) DE102020000810A1 (de)
GB (1) GB2584176B (de)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220224822A1 (en) * 2018-10-24 2022-07-14 Sony Corporation Multi-camera system, control value calculation method, and control apparatus
US20200137380A1 (en) * 2018-10-31 2020-04-30 Intel Corporation Multi-plane display image synthesis mechanism
EP3671660A1 (de) * 2018-12-20 2020-06-24 Dassault Systèmes Entwurf eines 3d-modellierten objekts über eine benutzerinteraktion
US11276142B2 (en) * 2019-06-27 2022-03-15 Electronics And Telecommunications Research Institute Apparatus and method for synthesizing virtual viewpoint images
WO2021048985A1 (ja) * 2019-09-12 2021-03-18 株式会社ソニー・インタラクティブエンタテインメント 画像処理装置、画像処理方法、及び、プログラム
US11173666B2 (en) * 2019-10-11 2021-11-16 International Business Machines Corporation Additive manufacturing of deformable objects
KR102662672B1 (ko) * 2020-02-07 2024-05-07 딥마인드 테크놀로지스 리미티드 3d 객체의 다각형 메쉬들을 생성하기 위한 자동 회귀 신경망
US11315329B1 (en) * 2020-02-25 2022-04-26 Facebook Technologies, Llc. Scene reconstruction from sparse data
US11503266B2 (en) * 2020-03-06 2022-11-15 Samsung Electronics Co., Ltd. Super-resolution depth map generation for multi-camera or other environments
US20210349444A1 (en) * 2020-05-11 2021-11-11 X Development Llc Accelerating robotic planning for operating on deformable objects
US20210358202A1 (en) * 2020-05-13 2021-11-18 Electronic Caregiver, Inc. Room Labeling Drawing Interface for Activity Tracking and Detection
US11551363B2 (en) * 2020-06-04 2023-01-10 Toyota Research Institute, Inc. Systems and methods for self-supervised residual flow estimation
US11417063B2 (en) * 2020-09-01 2022-08-16 Nvidia Corporation Determining a three-dimensional representation of a scene
US11615544B2 (en) 2020-09-15 2023-03-28 Toyota Research Institute, Inc. Systems and methods for end-to-end map building from a video sequence using neural camera models
US11321862B2 (en) * 2020-09-15 2022-05-03 Toyota Research Institute, Inc. Systems and methods for multi-camera modeling with neural camera networks
US11494927B2 (en) 2020-09-15 2022-11-08 Toyota Research Institute, Inc. Systems and methods for self-supervised depth estimation
CN112489216B (zh) * 2020-11-27 2023-07-28 北京百度网讯科技有限公司 面部重建模型的评测方法、装置、设备及可读存储介质
CN112561978B (zh) * 2020-12-18 2023-11-17 北京百度网讯科技有限公司 深度估计网络的训练方法、图像的深度估计方法、设备
CN112862901B (zh) * 2021-02-20 2024-03-26 清华大学 基于多视视频与时空神经辐射场的实验动物视场模拟方法
US11893717B2 (en) * 2021-02-26 2024-02-06 Adobe Inc. Initializing a learned latent vector for neural-network projections of diverse images
CN113012270A (zh) * 2021-03-24 2021-06-22 纵深视觉科技(南京)有限责任公司 一种立体显示的方法、装置、电子设备及存储介质
CN113178000B (zh) * 2021-03-26 2022-06-24 杭州易现先进科技有限公司 三维重建方法、装置、电子设备及计算机存储介质
CN113436314B (zh) * 2021-06-25 2022-10-04 北京理工大学 一种基于结构的计算机三维网格模型重建方法
EP4125045A3 (de) * 2021-07-27 2023-04-05 Tata Consultancy Services Limited Verfahren und system zur erzeugung eines 3d-netzes einer szene unter verwendung einer rgbd-bildsequenz
CN113747239B (zh) * 2021-09-08 2023-05-05 北京快来文化传播集团有限公司 视频剪辑方法及其装置
US11961184B2 (en) 2021-09-17 2024-04-16 Samsung Electronics Co., Ltd. System and method for scene reconstruction with plane and surface reconstruction
US20230222697A1 (en) * 2022-01-10 2023-07-13 Tencent America LLC Mesh compression with deduced texture coordinates
WO2023209560A1 (en) * 2022-04-27 2023-11-02 Ecopia Tech Corporation Machine learning for vector map generation
CN114919179B (zh) * 2022-05-12 2023-07-21 上海联泰科技股份有限公司 3d打印设备的能量辐射装置的标定方法及安装方法
WO2023230724A1 (en) * 2022-06-03 2023-12-07 Innovations Mindtrick Inc. Viewer-adjusted stereoscopic image display from cameras sharing a common portion of their field of view
US20240062470A1 (en) * 2022-08-17 2024-02-22 Tencent America LLC Mesh optimization using novel segmentation
CN115145984B (zh) * 2022-09-02 2022-11-15 山东布莱特威健身器材有限公司 一种健身器材的故障监控***及方法
US20240087229A1 (en) * 2022-09-12 2024-03-14 Mikhail Vasilkovskii Three-dimensional asset reconstruction
CN115952139B (zh) * 2023-03-14 2023-06-30 武汉芯云道数据科技有限公司 一种移动设备多帧三维图像处理方法及***
CN117058332B (zh) * 2023-07-10 2024-01-30 中国地质大学(武汉) 一种地下空区三维成像方法、***及可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2305735C (en) * 1997-12-05 2008-01-08 Dynamic Digital Depth Research Pty. Ltd. Improved image conversion and encoding techniques
US9508197B2 (en) * 2013-11-01 2016-11-29 Microsoft Technology Licensing, Llc Generating an avatar from real time image data
US20160005221A1 (en) * 2014-07-03 2016-01-07 Qualcomm Incorporated Photometric optimization with t-splines
US10666928B2 (en) * 2015-02-06 2020-05-26 The University Of Akron Optical imaging system and methods thereof
CN108038906B (zh) * 2017-12-26 2021-04-02 山东师范大学 一种基于图像的三维四边形网格模型重建方法
US10916054B2 (en) * 2018-11-08 2021-02-09 Adobe Inc. Three-dimensional mesh deformation using deep learning neural networks

Also Published As

Publication number Publication date
GB2584176A (en) 2020-11-25
GB2584176B (en) 2022-05-04
US20200372710A1 (en) 2020-11-26
CN111986307A (zh) 2020-11-24
US11189094B2 (en) 2021-11-30
US10769848B1 (en) 2020-09-08
CN111986307B (zh) 2024-04-23
GB202001815D0 (en) 2020-03-25
AU2020200811A1 (en) 2020-12-10
AU2020200811B2 (en) 2021-07-29

Similar Documents

Publication Publication Date Title
DE102020000810A1 (de) 3D-Objektrekonstruktion unter Nutzung einer fotometrischen Netzdarstellung
EP2206090B1 (de) Verfahren und vorrichtung zum darstellen eines virtuellen objekts in einer realen umgebung
DE69934478T2 (de) Verfahren und Gerät zur Bildverarbeitung auf Basis von Metamorphosemodellen
EP2206089B1 (de) Verfahren und vorrichtung zum darstellen eines virtuellen objekts in einer realen umgebung
DE69932619T2 (de) Verfahren und system zum aufnehmen und repräsentieren von dreidimensionaler geometrie, farbe und schatten von animierten objekten
EP2430614B1 (de) Verfahren zur echtzeitfähigen, rechnergestützten analyse einer eine veränderliche pose enthaltenden bildsequenz
DE102011016347A1 (de) Hierarchisches Umgrenzen von verschobenen parametrischen Flächen
DE112019005750T5 (de) Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
DE112018000332T5 (de) Dichtes visuelles slam mit probabilistic-surfel-map
DE102018126670A1 (de) Fortschreitende Modifizierung von generativen adversativen neuronalen Netzen
DE102018114929B4 (de) System und verfahren für ein rendering eines lichtfeldes
DE69924699T2 (de) Verfahren zur Schaffung von als Oberflächenelemente dargestellten grafischen Objekten
WO2022001236A1 (zh) 三维模型生成方法、装置、计算机设备及存储介质
DE102018121282A1 (de) Differenzierbare rendering-pipeline für inverse graphik
DE112013002200T5 (de) Automatische Anpassung von Bildern
DE102012210521A1 (de) Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering
DE69924230T2 (de) Verfahren zur Modellierung von durch Oberflächenelemente dargestellten grafischen Objekten
DE602004012341T2 (de) Verfahren und System zur Bereitstellung einer Volumendarstellung eines dreidimensionalen Objektes
DE102021121109A1 (de) Wiederherstellung dreidimensionaler modelle aus zweidimensionalen bildern
DE102017011422A1 (de) Strichvorgangvorhersage für einen dreidimensionalen digitalen Inhalt
CN113538682B (zh) 模型训练、头部重建方法、电子设备及存储介质
DE102023127131A1 (de) Techniken der künstlichen intelligenz zur extrapolation von hdr-panoramen aus ldr-bildern mit geringem blickfeld (fov)
DE60030401T2 (de) Anzeigetechniken für dreidimensionale virtuelle Realität
DE102018128592A1 (de) Erzeugen eines Bilds unter Verwendung einer Map, die verschiedene Klassen von Pixeln repräsentiert
DE102018004139A1 (de) 3D-Objektkomposition als Teil eines 2D-Digitalbildes unter Verwendung einer Sichtführung

Legal Events

Date Code Title Description
R012 Request for examination validly filed