KI-Modelle und Plattformen
Paint3D : Ein lichtloses Diffusionsmodell für die Bildgenerierung
Die schnelle Entwicklung von AI-Generativmodellen, insbesondere tiefen generativen AI-Modellen, hat die Fähigkeiten in der natürlichen Sprachgenerierung, 3D-Generierung, Bildgenerierung und Sprachsynthese erheblich verbessert. Diese Modelle haben die 3D-Produktion in verschiedenen Branchen revolutioniert. Allerdings stellen viele von ihnen eine Herausforderung dar: ihre komplexe Verdrahtung und generierten Netze sind oft nicht kompatibel mit traditionellen Render-Pipelines wie der Physically Based Rendering (PBR). Diffusionsbasierte Modelle, insbesondere ohne Lichttexturen, zeigen eine beeindruckende Vielfalt an 3D-Asset-Generierung und verbessern die 3D-Frameworks in der Filmproduktion, im Gaming und in AR/VR.
Dieser Artikel stellt Paint3D vor, ein neues Framework für die Erzeugung von vielfältigen, hochauflösenden 2K-UV-Texturkarten für untexturierte 3D-Netze, die auf visuellen oder textuellen Eingaben basieren. Die Hauptaufgabe von Paint3D ist die Erzeugung von hochwertigen Texturen ohne eingebettete Beleuchtung, um eine Nachbearbeitung oder Neubeleuchtung innerhalb moderner Grafikpipelines zu ermöglichen. Es verwendet ein vorge trainiertes 2D-Diffusionsmodell für die Multi-View-Texturfusion, um anfängliche grobe Texturkarten zu erzeugen. Diese Karten zeigen jedoch oft Beleuchtungsartefakte und unvollständige Bereiche aufgrund der Einschränkungen des 2D-Modells bei der Deaktivierung von Beleuchtungseffekten und der vollständigen Darstellung von 3D-Formen. Wir werden uns mit der Funktionsweise, Architektur und den Vergleichen von Paint3D mit anderen tiefen generativen Frameworks auseinandersetzen. Lassen Sie uns beginnen.
Paint3D : Eine Einführung
Die Fähigkeiten von Deep-Generative-AI-Modellen in der natürlichen Sprachgenerierung, 3D-Generierung und Bildsynthese sind bekannt und in realen Anwendungen implementiert, was die 3D-Generierungsindustrie revolutioniert hat. Trotz ihrer bemerkenswerten Fähigkeiten generieren moderne Deep-Generative-AI-Frameworks Netze, die durch komplexe Verdrahtung und chaotische Lichttexturen gekennzeichnet sind, die oft nicht kompatibel mit konventionellen Render-Pipelines wie PBR oder Physically Based Rendering sind. Wie Deep-Generative-AI-Modelle hat auch die Textursynthese rapide Fortschritte gemacht, insbesondere bei der Verwendung von 2D-Diffusionsmodellen. Textursynthesemodelle verwenden vorge trainierte Tiefen-Bild-Diffusionsmodelle effektiv, um Textbedingungen zu verwenden und hochwertige Texturen zu generieren. Allerdings haben diese Ansätze Probleme mit vorgebeleuchteten Texturen, die die Endrendering von 3D-Umgebungen erheblich beeinträchtigen und Beleuchtungsfehler einführen können, wenn die Lichter in den gemeinsamen Workflows geändert werden, wie in dem folgenden Bild demonstriert wird.

Wie zu sehen ist, funktioniert die Texturkarte mit freier Beleuchtung in Einklang mit den traditionellen Render-Pipelines und liefert genaue Ergebnisse, während die Texturkarte mit vorgebeleuchteter Beleuchtung unangemessene Schatten enthält, wenn eine Neubeleuchtung angewendet wird. Andererseits bietet die Texturgenerierung, die auf 3D-Daten trainiert ist, einen alternativen Ansatz, bei dem das Framework die Texturen durch das Verständnis der gesamten Geometrie eines bestimmten 3D-Objekts generiert. Obwohl sie möglicherweise bessere Ergebnisse liefern, fehlt den Texturgenerierungsframeworks, die auf 3D-Daten trainiert sind, die Fähigkeit zur Verallgemeinerung, was ihre Fähigkeit einschränkt, das Modell auf 3D-Objekte außerhalb ihrer Trainingsdaten anzuwenden.
Aktuelle Texturgenerierungsmodelle stehen vor zwei kritischen Herausforderungen: der Verwendung von Bildführung oder vielfältigen Prompts, um einen breiteren Grad an Verallgemeinerung über verschiedene Objekte zu erreichen, und der zweiten Herausforderung, die Kopplung von Beleuchtung in den Ergebnissen zu eliminieren, die aus der Vortrainierung resultieren. Die vorgebeleuchteten Texturen können möglicherweise die Endergebnisse der texturierten Objekte innerhalb von Render-Engines stören, und da die vorge trainierten 2D-Diffusionsmodelle nur 2D-Ergebnisse im Blickbereich liefern, fehlt es ihnen an einem umfassenden Verständnis von Formen, was dazu führt, dass sie nicht in der Lage sind, die Konsistenz des Blicks für 3D-Objekte zu erhalten.
Aufgrund der oben genannten Herausforderungen versucht das Paint3D-Framework, ein zweistufiges Texturdiffusionsmodell für 3D-Objekte zu entwickeln, das auf verschiedene vorge trainierte generative Modelle verallgemeinert und die Blickkonsistenz beibehält, während es die Erzeugung von lichtloser Textur lernt.
Paint3D ist ein zweistufiges, von grob zu fein, Texturgenerierungsmodell, das darauf abzielt, die starke Prompt-Führung und die Bildgenerierungsfähigkeiten von vorge trainierten generativen AI-Modellen zu nutzen, um 3D-Objekte zu texturieren. In der ersten Stufe sampelt das Paint3D-Framework zunächst multi-view-Bilder aus einem vorge trainierten tiefen 2D-Diffusionsmodell, um die Verallgemeinerung von hochwertigen und reichen Texturergebnissen aus vielfältigen Prompts zu ermöglichen. Das Modell generiert dann eine anfängliche Texturkarte, indem es diese Bilder auf die Oberfläche des 3D-Netzes zurückprojiziert. In der zweiten Stufe konzentriert sich das Modell auf die Erzeugung von lichtlosen Texturen, indem es Ansätze implementiert, die von Diffusionsmodellen spezialisiert auf die Entfernung von Beleuchtungseinflüssen und die formbewusste Verfeinerung von unvollständigen Bereichen verwendet werden. Während des gesamten Prozesses ist das Paint3D-Framework in der Lage, hochwertige 2K-Texturen semantisch zu erzeugen und intrinsische Beleuchtungseffekte zu eliminieren.

Zusammenfassend ist Paint3D ein neuartiges, von grob zu fein, generatives AI-Modell, das darauf abzielt, vielfältige, lichtlose und hochauflösende 2K-UV-Texturkarten für untexturierte 3D-Netze zu erzeugen, um eine Spitzenleistung bei der Texturierung von 3D-Objekten mit unterschiedlichen bedingten Eingaben, einschließlich Text und Bildern, zu erreichen, und bietet einen signifikanten Vorteil für Synthese- und Grafikbearbeitungsaufgaben.
Methodik und Architektur
Das Paint3D-Framework generiert und verfeinert Texturkarten schrittweise, um vielfältige und hochwertige Texturkarten für 3D-Modelle mit gewünschten bedingten Eingaben, einschließlich Bilder und Prompts, zu generieren, wie in dem folgenden Bild demonstriert wird.

In der groben Stufe verwendet das Paint3D-Modell vorge trainierte 2D-Bild-Diffusionsmodelle, um multi-view-Bilder zu sampeln, und erstellt dann die anfänglichen Texturkarten, indem es diese Bilder auf die Oberfläche des Netzes zurückprojiziert. In der zweiten Stufe, also der Verfeinerungsstufe, verwendet das Paint3D-Modell einen Diffusionsprozess im UV-Raum, um die groben Texturkarten zu verbessern, um so eine hochwertige, inpainting- und lichtlose Funktion zu erreichen, die die visuelle Attraktivität und Vollständigkeit der endgültigen Textur gewährleistet.
Stufe 1: Progressive grobe Texturgenerierung
In der progressiven groben Texturgenerierungsstufe generiert das Paint3D-Modell eine grobe UV-Texturkarte für die 3D-Netze, die ein vorge trainiertes tiefes 2D-Diffusionsmodell verwendet. Um genauer zu sein, verwendet das Modell zunächst unterschiedliche Kameraperspektiven, um die Tiefenkarte zu rendern, dann verwendet es Tiefenbedingungen, um Bilder aus dem Bild-Diffusionsmodell zu sampeln, und projiziert diese Bilder dann auf die Oberfläche des Netzes zurück. Das Framework führt die Render-, Sampling- und Rückprojektionsansätze abwechselnd aus, um die Konsistenz der Textur-Netze zu verbessern, was letztendlich dazu beiträgt, die progressive Generierung der Texturkarte zu ermöglichen.
Das Modell beginnt mit der Generierung der Textur der sichtbaren Region mit den Kameraperspektiven, die auf das 3D-Netz fokussiert sind, und rendert das 3D-Netz in eine Tiefenkarte aus der ersten Perspektive. Das Modell sampelt dann ein Texturbild für eine Erscheinungsbedingung und eine Tiefenbedingung. Das Modell projiziert dann das Bild auf das 3D-Netz zurück. Für die Perspektiven führt das Paint3D-Modell einen ähnlichen Ansatz aus, jedoch mit einer leichten Änderung, indem es den Textursampling-Prozess mithilfe eines Bildmalansatzes ausführt. Darüber hinaus berücksichtigt das Modell die texturierten Bereiche aus vorherigen Perspektiven, was es dem Renderprozess ermöglicht, nicht nur ein Tiefenbild, sondern auch ein teilweise gefärbtes RGB-Bild mit einer ungeränderten Maske in der aktuellen Perspektive auszugeben.
Das Modell verwendet dann ein tiefenbewusstes Bild-Inpainting-Modell mit einem Inpainting-Encoder, um den ungeränderten Bereich innerhalb des RGB-Bildes zu füllen. Das Modell generiert dann die Texturkarte aus der Perspektive, indem es das inpaintierte Bild in das 3D-Netz unter der aktuellen Perspektive zurückprojiziert, was es dem Modell ermöglicht, die Texturkarte schrittweise zu generieren und die gesamte grobe Strukturkarte zu erreichen. Schließlich erweitert das Modell den Textursampling-Prozess auf eine Szene oder ein Objekt mit mehreren Perspektiven. Um genauer zu sein, verwendet das Modell ein Paar Kameras, um zwei Tiefenbilder während des anfänglichen Textursamplings aus symmetrischen Perspektiven zu erfassen. Das Modell kombiniert dann die beiden Tiefenbilder und komponiert ein Tiefengitter. Das Modell ersetzt das einzelne Tiefenbild durch das Tiefengitter, um eine multi-view-tiefenbewusste Textursammlung durchzuführen.
Stufe 2: Texturverfeinerung im UV-Raum
Obwohl die Erscheinung der groben Texturkarten logisch ist, stellt sie einige Herausforderungen dar, wie Texturlöcher, die während des Renderprozesses durch Selbstokklusion oder Lichtschatten verursacht werden, aufgrund der Verwendung von 2D-Bild-Diffusionsmodellen. Das Paint3D-Modell zielt darauf ab, einen Diffusionsprozess im UV-Raum auf der Grundlage einer groben Texturkarte durchzuführen, um diese Probleme zu mildern und die visuelle Attraktivität der Texturkarte weiter zu verbessern, während der Texturverfeinerung. Allerdings führt die Verfeinerung des herkömmlichen Bild-Diffusionsmodells mit den Texturkarten im UV-Raum zu Texturdiskontinuität, da die Texturkarte durch die UV-Abbildung der Textur der 3D-Oberfläche erstellt wird, die die kontinuierliche Textur in eine Reihe von einzelnen Fragmenten im UV-Raum schneidet. Als Ergebnis der Fragmentierung hat das Modell Schwierigkeiten, die 3D-Adjazenzbeziehungen zwischen den Fragmenten zu lernen, was zu Texturdiskontinuitätsproblemen führt.
Das Modell verfeinert die Texturkarte im UV-Raum, indem es den Diffusionsprozess unter der Führung von Texturfragment-Adjazenzinformationen durchführt. Es ist wichtig zu beachten, dass im UV-Raum die Positionskarte die 3D-Adjazenzinformationen von Texturfragmenten darstellt, wobei das Modell jedes Nicht-Hintergrund-Element als 3D-Punkt-Koordinate behandelt. Während des Diffusionsprozesses fusioniert das Modell die 3D-Adjazenzinformationen, indem es einen individuellen Positionskarten-Encoder zum vorge trainierten Bild-Diffusionsmodell hinzufügt. Der neue Encoder ähnelt dem Design des ControlNet-Frameworks und hat die gleiche Architektur wie der Encoder, der im Bild-Diffusionsmodell implementiert ist, mit der Zero-Convolution-Schicht, die die beiden verbindet. Darüber hinaus wird das Texturdiffusionsmodell auf einem Datensatz trainiert, der Textur- und Positionskarten umfasst, und das Modell lernt, das Rauschen vorherzusagen, das zum noisy latent hinzugefügt wird. Das Modell optimiert dann den Positionencoder und friert den trainierten Denoiser für seine Bild-Diffusionsaufgabe ein.
Das Modell verwendet dann gleichzeitig die Position des bedingten Encoders und andere Encoder, um Verfeinerungsaufgaben im UV-Raum durchzuführen. In diesem Zusammenhang hat das Modell zwei Verfeinerungsfähigkeiten: UVHD oder UV-Hochauflösung und UV-Inpainting. Die UVHD-Methode ist darauf ausgelegt, die visuelle Attraktivität und Ästhetik der Texturkarte zu verbessern. Um UVHD zu erreichen, verwendet das Modell einen Bild-Verfeinerungs-Encoder und einen Position-Encoder mit dem Diffusionsmodell. Das Modell verwendet die UV-Inpainting-Methode, um Texturlöcher innerhalb der UV-Ebene zu füllen, die in der Lage sind, Selbstokklusionsprobleme zu vermeiden, die während des Renderings entstehen. In der Verfeinerungsstufe führt das Paint3D-Modell zunächst UV-Inpainting und dann UVHD durch, um die endgültige verfeinerte Texturkarte zu generieren. Durch die Integration der beiden Verfeinerungsmethoden ist das Paint3D-Framework in der Lage, vollständige, vielfältige, hochauflösende und lichtlose UV-Texturkarten zu produzieren.
Paint3D : Experimente und Ergebnisse
Das Paint3D-Modell verwendet das Stable-Diffusion-Text2Image-Modell, um es bei der Texturgenerierung zu unterstützen, während es den Bild-Encoder-Komponenten verwendet, um Bildbedingungen zu handhaben. Um seine Kontrolle über bedingte Steuerungen wie Bild-Inpainting, Tiefen- und Bild-Hochauflösung zu verbessern, verwendet das Paint3D-Framework ControlNet-Domain-Encoder. Das Modell wird auf dem PyTorch-Framework implementiert, wobei Rendering und Texturprojektionen auf Kaolin implementiert sind.
Text zu Texturen Vergleich
Um seine Leistung zu analysieren, beginnen wir damit, die Texturgenerierungseffekte von Paint3D zu bewerten, wenn es mit textuellen Prompts bedingt wird, und vergleichen es mit den State-of-the-Art-Frameworks, einschließlich Text2Tex, TEXTure und LatentPaint. Wie im folgenden Bild zu sehen ist, übertrifft das Paint3D-Framework nicht nur die Generierung von hochwertigen Texturdetails, sondern synthesiert auch eine lichtlose Texturkarte vernünftig.

Im Vergleich dazu ist das Latent-Paint-Framework anfällig für die Generierung von verschwommenen Texturen, was zu suboptimalen visuellen Effekten führt. Andererseits generiert das TEXTure-Framework klare Texturen, aber es fehlt an Glätte und zeigt deutliche Spaltungen und Nähte. Schließlich generiert das Text2Tex-Framework glatte Texturen bemerkenswert gut, aber es schafft es nicht, die Leistung bei der Generierung von feinen Texturen mit feiner Verarbeitung zu replizieren.
Das folgende Bild vergleicht das Paint3D-Framework mit State-of-the-Art-Frameworks quantitativ.

Wie zu sehen ist, übertrifft das Paint3D-Framework alle bestehenden Modelle und zwar um einen signifikanten Betrag, mit fast 30% Verbesserung im FID-Baseline und etwa 40% Verbesserung im KID-Baseline. Die Verbesserung in den FID- und KID-Baseline-Scores demonstriert die Fähigkeit von Paint3D, hochwertige Texturen über verschiedene Objekte und Kategorien zu generieren.
Bild zu Textur Vergleich
Um die generativen Fähigkeiten von Paint3D mit visuellen Prompts zu generieren, verwenden wir das TEXTure-Modell als Baseline. Wie bereits erwähnt, verwendet das Paint3D-Modell einen Bild-Encoder, der aus dem Text2Image-Modell von Stable Diffusion stammt. Wie im folgenden Bild zu sehen ist, synthesiert das Paint3D-Framework exquisite Texturen bemerkenswert gut und ist immer noch in der Lage, eine hohe Treue gegenüber der Bildbedingung zu erhalten.

Andererseits ist das TEXTure-Framework in der Lage, eine Textur zu generieren, die der von Paint3D ähnelt, aber es schafft es nicht, die Texturdetails in der Bildbedingung genau darzustellen. Darüber hinaus, wie im folgenden Bild demonstriert wird, liefert das Paint3D-Framework bessere FID- und KID-Baseline-Scores im Vergleich zum TEXTure-Framework, wobei der erste von 40,83 auf 26,86 sinkt, während der zweite von 9,76 auf 4,94 sinkt.

Schlussgedanken
In diesem Artikel haben wir über Paint3D gesprochen, ein von grob zu fein, neuartiges Framework, das in der Lage ist, lichtlose, vielfältige und hochauflösende 2K-UV-Texturkarten für untexturierte 3D-Netze zu produzieren, die auf visuellen oder textuellen Eingaben basieren. Der Hauptvorteil von Paint3D ist, dass es in der Lage ist, lichtlose, hochauflösende 2K-UV-Texturen zu generieren, die semantisch konsistent sind, ohne auf Bild- oder Texteingaben zu basieren. Aufgrund seines von grob zu fein, Ansatzes produziert das Paint3D-Framework lichtlose, vielfältige und hochauflösende Texturkarten und liefert eine bessere Leistung als die aktuellen State-of-the-Art-Frameworks.












