Künstliche Intelligenz

In-Paint3D: Bildgenerierung mit Blitzlicht-losen Diffusionsmodellen

mm

Die Entwicklung von tiefen generativen AI-Modellen hat die Entwicklung von künstlicher Intelligenz mit bemerkenswerten Fähigkeiten in der natürlichen Sprachgenerierung, 3D-Generierung, Bildsynthese und Sprachsynthese erheblich beschleunigt. 3D-generative Modelle haben zahlreiche Branchen und Anwendungen revolutioniert und das aktuelle 3D-Produktionslandschaft verändert. Allerdings stoßen viele aktuelle tiefe generative Modelle auf ein gemeinsames Hindernis: komplexe Verdrahtung und generierte Netze mit Beleuchtungstexturen sind oft nicht kompatibel mit herkömmlichen Render-Pipelines wie PBR (Physically Based Rendering). Diffusionsbasierte Modelle, die 3D-Assets ohne Beleuchtungstexturen generieren, besitzen bemerkenswerte Fähigkeiten für die Generierung von vielfältigen 3D-Assets und ergänzen bestehende 3D-Frameworks in Branchen wie Filmproduktion, Gaming und erweiterte/virtuelle Realität.

In diesem Artikel werden wir Paint3D, ein neuartiges, grob-feines Framework, das in der Lage ist, vielfältige, hochauflösende 2K-UV-Texturkarten für untexturierte 3D-Netze zu generieren, besprechen. Das Framework ist bedingt auf visuelle oder textuelle Eingaben. Die Hauptaufgabe, die Paint3D löst, ist die Generierung von hochwertigen Texturen ohne Beleuchtungsinformationen, sodass Benutzer diese innerhalb moderner Grafikpipelines bearbeiten oder neu beleuchten können. Um dieses Problem zu lösen, verwendet das Paint3D-Framework ein vorge trainiertes 2D-Diffusionsmodell, um eine mehrstufige Texturfusion durchzuführen und ansichtsbedingte Bilder zu generieren, die zunächst eine grobe Texturkarte erzeugen. Allerdings können 2D-Modelle die Beleuchtungseffekte nicht vollständig deaktivieren oder 3D-Formen vollständig darstellen, sodass die Texturkarte Beleuchtungsartefakte und unvollständige Bereiche aufweisen kann.

In diesem Artikel werden wir das Paint3D-Framework genauer untersuchen, seine Funktionsweise und Architektur betrachten und es mit aktuellen, tieferen generativen Frameworks vergleichen. Also los geht’s.

Paint3D: Eine Einführung

Tiefe generative AI-Modelle haben außergewöhnliche Fähigkeiten in der natürlichen Sprachgenerierung, 3D-Generierung und Bildsynthese gezeigt und werden in realen Anwendungen eingesetzt, wodurch die 3D-Generierungsindustrie revolutioniert wird. Allerdings produzieren moderne tiefe generative AI-Frameworks oft Netze mit komplexer Verdrahtung und chaotischen Beleuchtungstexturen, die nicht kompatibel mit herkömmlichen Render-Pipelines wie PBR sind. Ebenso hat die Textursynthese, insbesondere mit 2D-Diffusionsmodellen, rapide Fortschritte gemacht. Diese Modelle nutzen vorge trainierte Tiefen-Bild-Diffusionsmodelle und Textbedingungen, um hochwertige Texturen zu generieren. Allerdings bleibt eine signifikante Herausforderung bestehen: vorgebeleuchtete Texturen können die Endrendering von 3D-Umgebungen negativ beeinflussen und Beleuchtungsfehler einführen, wenn die Lichter innerhalb gängiger Workflows angepasst werden, wie in der folgenden Abbildung gezeigt.

Wie beobachtet werden kann, funktionieren Texturkarten ohne Vorgebeleuchtung nahtlos mit herkömmlichen Render-Pipelines und liefern genaue Ergebnisse. Im Gegensatz dazu enthalten Texturkarten mit Vorgebeleuchtung unpassende Schatten, wenn Relighting angewendet wird. Frameworks für die Texturgenerierung, die auf 3D-Daten trainiert werden, bieten einen alternativen Ansatz, indem sie Texturen durch das Verständnis der gesamten Geometrie eines bestimmten 3D-Objekts generieren. Obwohl diese Frameworks möglicherweise bessere Ergebnisse liefern, fehlt es ihnen an den notwendigen Verallgemeinerungsfähigkeiten, um das Modell auf 3D-Objekte außerhalb ihrer Trainingsdaten anzuwenden.

Aktuelle Modelle der Texturgenerierung stehen vor zwei kritischen Herausforderungen: die Erreichung einer breiten Verallgemeinerung über verschiedene Objekte mit Bildführung oder vielfältigen Hinweisen und die Eliminierung gekoppelter Beleuchtung aus Vortrainingsergebnissen. Vorgebeleuchtete Texturen können die Endergebnisse von texturierten Objekten innerhalb von Render-Engines stören. Darüber hinaus fehlt es vorge trainierten 2D-Diffusionsmodellen an einem umfassenden Verständnis von Formen, was zu Inkonsistenzen bei der Aufrechterhaltung der Ansichtskonsistenz für 3D-Objekte führt.

Um diese Herausforderungen zu meistern, entwickelt das Paint3D-Framework ein zweistufiges Diffusionsmodell für 3D-Objekte, das über verschiedene vorge trainierte generative Modelle verallgemeinert und die Ansichtskonsistenz bei der Generierung von lichtlosen Texturen bewahrt.

Paint3D ist ein zweistufiges, grob-feines Texturgenerierungsmodell, das die starken Hinweisführungen und Bildgenerierungsfähigkeiten vorge trainierter generativer AI-Modelle nutzt, um 3D-Objekte zu texturieren. In der ersten Stufe sampelt Paint3D mehrstufige Bilder aus einem vorge trainierten tiefenbewussten 2D-Bild-Diffusionsmodell fortschreitend, ermöglicht die Verallgemeinerung von hochwertigen, reichen Texturergebnissen aus vielfältigen Hinweisen. Das Modell generiert dann eine anfängliche Texturkarte, indem es diese Bilder auf die 3D-Netzoberfläche zurückprojiziert. In der zweiten Stufe konzentriert sich das Modell auf die Generierung von lichtlosen Texturen, indem es Ansätze anwendet, die von Diffusionsmodellen spezialisiert auf die Entfernung von Beleuchtungseinflüssen und die Verfeinerung von formbewussten unvollständigen Bereichen verwendet werden. Während des gesamten Prozesses generiert das Paint3D-Framework konsistent hochwertige 2K-Texturen semantisch, eliminiert inhärente Beleuchtungseffekte.

Zusammenfassend ist Paint3D ein neuartiges, grob-feines generatives AI-Modell, das vielfältige, lichtlose, hochauflösende 2K-UV-Texturkarten für untexturierte 3D-Netze produziert. Es zielt darauf ab, Spitzenleistungen in der Texturierung von 3D-Objekten mit verschiedenen bedingten Eingaben, einschließlich Text und Bildern, zu erreichen, und bietet erhebliche Vorteile für Synthese- und Grafikbearbeitungsaufgaben.

Methodik und Architektur

Das Paint3D-Framework generiert und verfeinert Texturkarten fortschreitend, um vielfältige und hochwertige Texturen für 3D-Modelle mit bedingten Eingaben wie Bildern und Hinweisen zu produzieren, wie in der folgenden Abbildung gezeigt.

Stufe 1: Progressive grobe Texturgenerierung

In der ersten Stufe der groben Texturgenerierung verwendet Paint3D vorge trainierte 2D-Bild-Diffusionsmodelle, um mehrstufige Bilder zu sampeln, die dann auf die Netzoberfläche zurückprojiziert werden, um die anfänglichen Texturkarten zu erstellen. Diese Stufe beginnt mit der Generierung einer Tiefenkarte aus verschiedenen Kameraperspektiven. Das Modell verwendet Tiefenbedingungen, um Bilder aus dem Diffusionsmodell zu sampeln, die dann auf die 3D-Netzoberfläche zurückprojiziert werden. Dieser alternierende Render-, Sampel- und Rückprojektionsansatz verbessert die Konsistenz der Textur-Netze und hilft bei der fortschreitenden Generierung der Texturkarte.

Der Prozess beginnt mit den sichtbaren Bereichen des 3D-Netzes, indem er die Textur aus der ersten Kameraperspektive generiert, indem er das 3D-Netz in eine Tiefenkarte rendern lässt. Ein Texturbild wird dann basierend auf Erscheinung und Tiefenbedingungen gesampelt und auf die Netzoberfläche zurückprojiziert. Dieser Ansatz wird für nachfolgende Perspektiven wiederholt, wobei vorherige Texturen einbezogen werden, um nicht nur eine Tiefenbild, sondern auch ein teilweise koloriertes RGB-Bild mit unkolorierten Masken zu rendern. Das Modell verwendet einen tiefenbewussten Bild-Inpainting-Encoder, um unkolorierte Bereiche zu füllen, und generiert eine vollständige grobe Texturkarte, indem es eingefärbte Bilder auf die 3D-Netzoberfläche zurückprojiziert.

Für komplexere Szenen oder Objekte verwendet das Modell mehrere Perspektiven. Zunächst erfasst es zwei Tiefenkarten aus symmetrischen Perspektiven und kombiniert sie in ein Tiefengitter, das ein einzelnes Tiefenbild für die mehrstufige tiefenbewusste Textursampelung ersetzt.

Stufe 2: Texturverfeinerung im UV-Raum

Trotz der Generierung logischer grober Texturkarten treten Herausforderungen wie Texturlöcher aus Renderprozessen und Beleuchtungsschatten aus 2D-Bild-Diffusionsmodellen auf. Um diese zu lösen, führt Paint3D einen Diffusionsprozess im UV-Raum basierend auf der groben Texturkarte durch, wodurch die visuelle Attraktivität verbessert und Probleme gelöst werden.

Die Verfeinerung der Texturkarte im UV-Raum kann jedoch Inkonsistenzen aufgrund der Fragmentierung von kontinuierlichen Texturen in einzelne Fragmente einführen. Um dies zu mildern, verfeinert Paint3D die Texturkarte, indem es die Nachbarschaftsinformationen von Texturfragmenten verwendet. Im UV-Raum stellt die Positionskarte die 3D-Nachbarschaftsinformationen von Texturfragmenten dar, indem sie jedes nicht-Hintergrund-Element als 3D-Punktkoordinate behandelt. Das Modell verwendet einen zusätzlichen Positionskarten-Encoder, ähnlich wie ControlNet, um diese Nachbarschaftsinformationen während des Diffusionsprozesses zu integrieren.

Das Modell verwendet gleichzeitig die Position des bedingten Encoders und anderer Encoder, um Verfeinerungsaufgaben im UV-Raum durchzuführen, und bietet zwei Fähigkeiten: UVHD (UV-Hochauflösung) und UV-Inpainting. UVHD verbessert die visuelle Attraktivität und Ästhetik, indem es einen Bildverbesserungs-Encoder und einen Position-Encoder mit dem Diffusionsmodell verwendet. UV-Inpainting füllt Texturlöcher, vermeidet Selbstokklusionsprobleme aus Renderprozessen. Die Verfeinerungsstufe beginnt mit UV-Inpainting, gefolgt von UVHD, um eine endgültige verfeinerte Texturkarte zu produzieren.

Durch die Integration dieser Verfeinerungsmethoden generiert das Paint3D-Framework vollständige, vielfältige, hochauflösende und lichtlose UV-Texturkarten, was es zu einer robusten Lösung für die Texturierung von 3D-Objekten macht.

Paint3D: Experimente und Ergebnisse

Das Paint3D-Modell nutzt das Stable-Diffusion-Text2Image-Modell, um bei Texturgenerierungsaufgaben zu helfen, während die Bild-Encoder-Komponente Bildbedingungen verwaltet. Um die Kontrolle über bedingte Aufgaben wie Bild-Inpainting, Tiefenverarbeitung und hochauflösende Bildgebung zu verbessern, verwendet das Paint3D-Framework ControlNet-Domain-Encoder. Das Modell wird auf dem PyTorch-Framework implementiert, wobei Rendering und Texture-Projektionen auf Kaolin ausgeführt werden.

Text zu Texturen Vergleich

Um die Leistung von Paint3D zu bewerten, beginnen wir damit, seine Texturgenerierung bei textuellen Hinweisen zu analysieren und es mit aktuellen Frameworks wie Text2Tex, TEXTure und LatentPaint zu vergleichen. Wie in der folgenden Abbildung gezeigt, übertrifft das Paint3D-Framework nicht nur die Generierung von hochwertigen Texturdetails, sondern synthesiert auch effektiv eine lichtlose Texturkarte.

Indem es die robusten Fähigkeiten von Stable Diffusion und ControlNet-Encodern nutzt, bietet Paint3D eine überlegene Texturqualität und Vielseitigkeit. Der Vergleich unterstreicht Paint3Ds Fähigkeit, detaillierte, hochauflösende Texturen ohne eingebettete Beleuchtung zu produzieren, was es zu einer führenden Lösung für 3D-Texturierungsaufgaben macht.

Im Vergleich dazu neigt das Latent-Paint-Framework dazu, verschwommene Texturen zu generieren, die suboptimale visuelle Effekte erzeugen. Andererseits generiert das TEXTure-Framework klare Texturen, aber es fehlt an Glätte und zeigt deutliche Splicing- und Nähte. Schließlich generiert das Text2Tex-Framework glatte Texturen bemerkenswert gut, aber es kann die Leistung nicht für die Generierung von feinen Texturen mit feiner Verarbeitung replizieren. Das folgende Bild vergleicht das Paint3D-Framework quantitativ mit aktuellen Frameworks.

Wie zu beobachten ist, übertrifft das Paint3D-Framework alle bestehenden Modelle und zeigt eine signifikante Verbesserung von etwa 30 % im FID-Baseline- und etwa 40 % im KID-Baseline-Score. Die Verbesserung in den FID- und KID-Baseline-Scores demonstriert Paint3Ds Fähigkeit, hochwertige Texturen über verschiedene Objekte und Kategorien zu generieren.

Bild zu Textur Vergleich

Um die generativen Fähigkeiten von Paint3D unter Verwendung visueller Hinweise zu demonstrieren, verwenden wir das TEXTure-Modell als Referenz. Wie bereits erwähnt, verwendet das Paint3D-Modell einen Bild-Encoder aus dem Text2Image-Modell von Stable Diffusion. Wie in der folgenden Abbildung zu sehen ist, synthesiert das Paint3D-Framework exquisite Texturen bemerkenswert gut und kann die hohe Treue zum Bildhinweis beibehalten.

Andererseits kann das TEXTure-Framework eine Textur generieren, die der von Paint3D ähnelt, aber es verfehlt die genaue Darstellung von Texturdetails im Bildhinweis. Darüber hinaus zeigt das Paint3D-Framework, wie in der folgenden Abbildung demonstriert, bessere FID- und KID-Baseline-Scores im Vergleich zum TEXTure-Framework, wobei der FID-Score von 40,83 auf 26,86 sinkt, während der KID-Score von 9,76 auf 4,94 sinkt.

Letzte Gedanken

In diesem Artikel haben wir über Paint3D gesprochen, ein neuartiges, grob-feines Framework, das in der Lage ist, lichtlose, vielfältige und hochauflösende 2K-UV-Texturkarten für untexturierte 3D-Netze zu generieren, bedingt auf visuelle oder textuelle Eingaben. Der Hauptvorteil des Paint3D-Frameworks besteht darin, dass es lichtlose, hochauflösende 2K-UV-Texturen generieren kann, die semantisch konsistent sind, ohne auf Bild- oder Texteingaben konditioniert zu sein. Aufgrund seines grob-feinen Ansatzes produziert das Paint3D-Framework lichtlose, vielfältige und hochauflösende Texturkarten und bietet bessere Leistungen als aktuelle State-of-the-Art-Frameworks.

Ein Ingenieur von Beruf, ein Schriftsteller von Herzen. Kunal ist ein technischer Schriftsteller mit einer tiefen Liebe und einem tiefen Verständnis für KI und ML, der sich der Aufgabe widmet, komplexe Konzepte in diesen Bereichen durch seine ansprechenden und informativen Dokumentationen zu vereinfachen.