stomp Paint3D: verlichtingsloos diffusiemodel voor het genereren van afbeeldingen - Unite.AI
Verbind je met ons

Artificial Intelligence

Paint3D: verlichtingsloos diffusiemodel voor het genereren van afbeeldingen

mm
Bijgewerkt on

De snelle ontwikkeling van AI-generatieve modellen, vooral diepe generatieve AI-modellen, heeft aanzienlijk geavanceerde mogelijkheden opgeleverd op het gebied van het genereren van natuurlijke taal, 3D-generatie, beeldgeneratie en spraaksynthese. Deze modellen hebben een revolutie teweeggebracht in de 3D-productie in verschillende industrieën. Velen staan ​​echter voor een uitdaging: hun complexe bedrading en gegenereerde meshes zijn vaak niet compatibel met traditionele rendering-pijplijnen zoals Physically Based Rendering (PBR). Op diffusie gebaseerde modellen, met name zonder lichttexturen, demonstreren een indrukwekkend gevarieerde generatie van 3D-middelen, waardoor 3D-frameworks bij het maken van films, gaming en AR/VR worden verbeterd.

Dit artikel introduceert Paint3D, een nieuw raamwerk voor het produceren van diverse 2K UV-textuurkaarten met hoge resolutie voor ongetextureerde 3D-meshes, afhankelijk van visuele of tekstuele invoer. De belangrijkste uitdaging van Paint3D is het genereren van texturen van hoge kwaliteit zonder ingebouwde verlichting, waardoor gebruikers opnieuw kunnen bewerken of opnieuw kunnen belichten binnen moderne grafische pijplijnen. Het maakt gebruik van een vooraf getraind 2D-diffusiemodel voor textuurfusie in meerdere weergaven, waardoor initiële grove textuurkaarten worden gegenereerd. Deze kaarten vertonen echter vaak verlichtingsartefacten en onvolledige gebieden vanwege de beperkingen van het 2D-model bij het uitschakelen van lichteffecten en het volledig weergeven van 3D-vormen. We zullen ons verdiepen in de werking, architectuur en vergelijkingen van Paint3D met andere diepgaande generatieve raamwerken. Laten we beginnen.

Paint3D: een introductie

De mogelijkheden van Deep Generative AI-modellen bij het genereren van natuurlijke taal, 3D-generatie en beeldsynthesetaken zijn bekend en geïmplementeerd in real-life toepassingen, wat een revolutie teweegbrengt in de 3D-generatie-industrie. Ondanks hun opmerkelijke capaciteiten, moderne diepgang generatieve AI raamwerken genereren meshes die worden gekenmerkt door complexe bedrading en chaotische lichttexturen die vaak niet compatibel zijn met conventionele rendering-pijplijnen, waaronder PBR of Physically Based Rendering. Net als diepe generatieve AI-modellen is ook de textuursynthese snel vooruitgegaan, vooral bij het gebruik van 2D-diffusiemodellen. Textuursynthesemodellen maken gebruik van vooraf getrainde diepte-naar-beeld diffusiemodellen effectief tekstvoorwaarden te gebruiken om texturen van hoge kwaliteit te genereren. Deze benaderingen ondervinden echter problemen met vooraf verlichte texturen die een aanzienlijke impact kunnen hebben op de uiteindelijke weergave van de 3D-omgeving en verlichtingsfouten kunnen introduceren wanneer de lichten worden gewijzigd binnen de gebruikelijke workflows, zoals gedemonstreerd in de volgende afbeelding. 

Zoals u kunt zien, werkt de textuurkaart met vrije verlichting synchroon met de traditionele weergavepijplijnen, wat nauwkeurige resultaten oplevert, terwijl de textuurkaart met voorverlichting ongepaste schaduwen bevat wanneer opnieuw belichten wordt toegepast. Aan de andere kant bieden raamwerken voor het genereren van texturen die zijn getraind op 3D-gegevens een alternatieve benadering waarbij het raamwerk de texturen genereert door de volledige geometrie van een specifiek 3D-object te begrijpen. Hoewel ze betere resultaten zouden kunnen opleveren, missen raamwerken voor textuurgeneratie die zijn getraind op 3D-gegevens generalisatiemogelijkheden die hun vermogen belemmeren om het model toe te passen op 3D-objecten buiten hun trainingsgegevens. 

De huidige modellen voor het genereren van textuur worden geconfronteerd met twee cruciale uitdagingen: het gebruik van beeldbegeleiding of diverse aanwijzingen om een ​​bredere mate van generalisatie over verschillende objecten te bereiken, en de tweede uitdaging is de eliminatie van gekoppelde verlichting op de resultaten verkregen uit pre-training. De vooraf verlichte texturen kunnen mogelijk interfereren met de uiteindelijke uitkomsten van de gestructureerde objecten in rendering-engines, en aangezien de vooraf getrainde 2D-diffusiemodellen alleen 2D-resultaten leveren in het weergavedomein, missen ze een uitgebreid begrip van vormen, waardoor ze niet in staat zijn om de weergaveconsistentie voor 3D-objecten te behouden. 

Vanwege de hierboven genoemde uitdagingen probeert het Paint3D-framework een tweetraps textuurverspreidingsmodel voor 3D-objecten te ontwikkelen dat generaliseert naar verschillende vooraf getrainde generatieve modellen en de weergaveconsistentie behoudt terwijl het bliksemloze textuurgeneratie leert. 

Paint3D is een tweetraps model voor het genereren van grove tot fijne texturen, dat tot doel heeft gebruik te maken van de sterke, snelle begeleiding en mogelijkheden voor het genereren van afbeeldingen van vooraf getrainde generatieve AI modellen om 3D-objecten te structureren. In de eerste fase bemonstert het Paint3D-framework eerst geleidelijk multi-view beelden van een vooraf getraind dieptebewust 2D-beelddiffusiemodel om de generalisatie van hoogwaardige en rijke textuurresultaten van diverse aanwijzingen mogelijk te maken. Het model genereert vervolgens een initiële textuurkaart door deze beelden terug te projecteren op het 3D-mesh-oppervlak. In de tweede fase concentreert het model zich op het genereren van verlichtingsloze texturen door benaderingen te implementeren die worden gebruikt door diffusiemodellen die gespecialiseerd zijn in het verwijderen van lichtinvloeden en vormbewuste verfijning van onvolledige gebieden. Gedurende het hele proces is het Paint3D-framework consistent in staat semantisch hoogwaardige 2K-texturen te genereren en intrinsieke verlichtingseffecten te elimineren. 

Samenvattend is Paint3D een nieuw grof tot fijn generatief AI-model dat tot doel heeft diverse, verlichtingsloze 2K UV-textuurkaarten met hoge resolutie te produceren voor niet-getextureerde 3D-meshes om state-of-the-art prestaties te bereiken bij het textureren van 3D-objecten met verschillende voorwaardelijke invoer inclusief tekst en afbeeldingen, en biedt aanzienlijke voordelen voor synthese- en grafische bewerkingstaken. 

Methodologie en architectuur

Het Paint3D-framework genereert en verfijnt geleidelijk textuurkaarten om diverse en hoogwaardige textuurkaarten voor 3D-modellen te genereren met behulp van de gewenste voorwaardelijke invoer, inclusief afbeeldingen en aanwijzingen, zoals gedemonstreerd in de volgende afbeelding. 

In de grove fase gebruikt het Paint3D-model vooraf getrainde 2D-beelddiffusiemodellen om afbeeldingen met meerdere weergaven te bemonsteren, en creëert vervolgens de initiële textuurkaarten door deze afbeeldingen terug te projecteren op het oppervlak van de mesh. In de tweede fase, de verfijningsfase, gebruikt het Paint3D-model een diffusieproces in de UV-ruimte om de grove textuurkaarten te verbeteren, waardoor een hoogwaardige, inschilderende en lichtloze functie wordt bereikt die de visuele aantrekkingskracht en volledigheid van de uiteindelijke textuur garandeert. . 

Fase 1: Progressieve generatie van grove textuur

In de fase van het genereren van progressieve grove texturen genereert het Paint3D-model een grove UV-textuurkaart voor de 3D-mazen die een vooraf getraind dieptebewust 2D-diffusiemodel gebruiken. Om specifieker te zijn: het model gebruikt eerst verschillende cameraweergaven om de dieptekaart weer te geven, gebruikt vervolgens diepteomstandigheden om afbeeldingen uit het beelddiffusiemodel te bemonsteren en projecteert deze afbeeldingen vervolgens terug op het mesh-oppervlak. Het raamwerk voert afwisselend de benaderingen rendering, sampling en back-projectie uit om de consistentie van de textuurmazen te verbeteren, wat uiteindelijk helpt bij het progressief genereren van de textuurkaart. 

Het model begint met het genereren van de textuur van het zichtbare gebied, waarbij de camerabeelden zich richten op het 3D-mesh, en geeft het 3D-mesh vanuit het eerste beeld weer tot een dieptekaart. Het model bemonstert vervolgens een textuurafbeelding voor een uiterlijke voorwaarde en een dieptevoorwaarde. Het model projecteert het beeld vervolgens terug op de 3D-mesh. Voor de gezichtspunten hanteert het Paint3D-model een vergelijkbare aanpak, maar met een kleine verandering, door het texture sampling-proces uit te voeren met behulp van een image-painting-benadering. Bovendien houdt het model rekening met de gestructureerde gebieden uit eerdere gezichtspunten, waardoor het weergaveproces niet alleen een dieptebeeld kan opleveren, maar ook een gedeeltelijk gekleurd RGB-beeld met een ongekleurd masker in de huidige weergave. 

Het model gebruikt vervolgens een dieptebewust beeld-in-painting-model met een in-painting-encoder om het ongekleurde gebied binnen de RGB-afbeelding te vullen. Het model genereert vervolgens de textuurkaart vanuit de weergave door het ingeschilderde beeld terug te projecteren in het 3D-mesh onder de huidige weergave, waardoor het model de textuurkaart geleidelijk kan genereren en tot de gehele grove structuurkaart kan komen. Ten slotte breidt het model het textuurbemonsteringsproces uit naar een scène of object met meerdere weergaven. Om specifieker te zijn: het model maakt gebruik van een paar camera's om twee dieptekaarten vast te leggen tijdens de initiële textuurbemonstering vanuit symmetrische gezichtspunten. Het model combineert vervolgens twee dieptekaarten en stelt een diepteraster samen. Het model vervangt het enkele dieptebeeld door het diepteraster om dieptebewuste textuurbemonstering in meerdere weergaven uit te voeren. 

Fase 2: Textuurverfijning in UV-ruimte

Hoewel het verschijnen van grove textuurkaarten logisch is, wordt het geconfronteerd met een aantal uitdagingen, zoals textuurgaten die tijdens het weergaveproces worden veroorzaakt door zelfocclusie of bliksemschaduwen als gevolg van de betrokkenheid van 2D-beelddiffusiemodellen. Het Paint3D-model heeft tot doel een diffusieproces in de UV-ruimte uit te voeren op basis van een grove textuurkaart, waarbij wordt geprobeerd de problemen te verzachten en de visuele aantrekkingskracht van de textuurkaart nog verder te vergroten tijdens textuurverfijning. Het verfijnen van het reguliere beelddiffusiemodel met de textuurkaarten in de UV-ruimte introduceert echter textuurdiscontinuïteit, aangezien de textuurkaart wordt gegenereerd door de UV-afbeelding van de textuur van het 3D-oppervlak, waardoor de continue textuur in een reeks individuele fragmenten in de UV-ruimte wordt gesneden. ruimte. Als gevolg van de fragmentatie vindt het model het moeilijk om de 3D-aangrenzende relaties tussen de fragmenten te leren kennen, wat leidt tot problemen met textuurdiscontinuïteit. 

Het model verfijnt de textuurkaart in de UV-ruimte door het diffusieproces uit te voeren onder begeleiding van informatie over de nabijheid van textuurfragmenten. Het is belangrijk op te merken dat het in de UV-ruimte de positiekaart is die de 3D-aangrenzende informatie van textuurfragmenten weergeeft, waarbij het model elk niet-achtergrondelement behandelt als een 3D-puntcoördinaat. Tijdens het diffusieproces combineert het model de 3D-aangrenzende informatie door een individuele positiekaart-encoder toe te voegen aan het vooraf getrainde beelddiffusiemodel. De nieuwe encoder lijkt op het ontwerp van het ControlNet-framework en heeft dezelfde architectuur als de encoder die is geïmplementeerd in het beelddiffusiemodel, waarbij de nul-convolutielaag de twee verbindt. Bovendien wordt het textuurdiffusiemodel getraind op een dataset die textuur- en positiekaarten omvat, en leert het model de ruis te voorspellen die aan de latente ruis wordt toegevoegd. Het model optimaliseert vervolgens de positie-encoder en bevriest de getrainde denoiser voor zijn beelddiffusietaak. 

Het model gebruikt vervolgens tegelijkertijd de positie van de voorwaardelijke encoder en andere encoders om verfijningstaken in de UV-ruimte uit te voeren. In dit opzicht beschikt het model over twee verfijningsmogelijkheden: UVHD of UV High Definition en UV-inpainting. De UVHD-methode is gestructureerd om de visuele aantrekkingskracht en esthetiek van de textuurkaart te verbeteren. Om UVHD te bereiken, gebruikt het model een beeldverbeteringsencoder en een positie-encoder met het diffusiemodel. Het model maakt gebruik van de UV-inpainting-methode om de textuurgaten in het UV-vlak op te vullen, waardoor zelfocclusieproblemen tijdens het renderen kunnen worden vermeden. In de verfijningsfase voert het Paint3D-model eerst UV-inpainting uit en vervolgens UVHD om de uiteindelijke verfijnde textuurkaart te genereren. Door de twee verfijningsmethoden te integreren, kan het Paint3D-framework complete, diverse, hoge resolutie en lichtloze UV-textuurkaarten produceren. 

Paint3D: experimenten en resultaten

Het Paint3D-model maakt gebruik van de Stabiele diffusie text2image-model om het te helpen bij het genereren van texturen, terwijl het de afbeeldingsencodercomponent gebruikt om de beeldomstandigheden af ​​te handelen. Om de grip op voorwaardelijke controles zoals het inkleuren van afbeeldingen, diepte en hoge resolutie van afbeeldingen verder te vergroten, maakt het Paint3D-framework gebruik van ControlNet-domeinencoders. Het model is geïmplementeerd op het PyTorch-framework, waarbij weergave- en textuurprojecties zijn geïmplementeerd op Kaolin. 

Vergelijking van tekst met texturen

Om de prestaties ervan te analyseren, beginnen we met het evalueren van het textuurgeneratie-effect van Paint3D wanneer het wordt geconditioneerd met behulp van tekstuele aanwijzingen, en vergelijken we dit met de modernste raamwerken, waaronder Text2Tex, TEXTure en LatentPaint. Zoals u in de volgende afbeelding kunt zien, blinkt het Paint3D-framework niet alleen uit in het genereren van textuurdetails van hoge kwaliteit, maar synthetiseert het ook redelijk goed een verlichtingsvrije textuurkaart. 

Ter vergelijking: het Latent-Paint-framework is gevoelig voor het genereren van wazige texturen die resulteren in suboptimale visuele effecten. Aan de andere kant, hoewel het TEXTure-framework duidelijke texturen genereert, mist het gladheid en vertoont het merkbare splitsingen en naden. Ten slotte genereert het Text2Tex-framework opmerkelijk goed vloeiende texturen, maar slaagt het er niet in de prestaties te repliceren voor het genereren van fijne texturen met ingewikkelde details. 

De volgende afbeelding vergelijkt het Paint3D-framework kwantitatief met de nieuwste frameworks. 

Zoals kan worden waargenomen, presteert het Paint3D-framework beter dan alle bestaande modellen, en met een aanzienlijke marge, met een verbetering van bijna 30% ten opzichte van de FID-basislijn en ongeveer 40% verbetering ten opzichte van de KID-basislijn. De verbetering van de FID- en KID-basisscores demonstreert het vermogen van Paint3D om hoogwaardige texturen te genereren voor diverse objecten en categorieën. 

Vergelijking van afbeelding met textuur

Om de generatieve mogelijkheden van Paint3D te genereren met behulp van visuele aanwijzingen, gebruiken we het TEXTure-model als basislijn. Zoals eerder vermeld, maakt het Paint3D-model gebruik van een afbeeldingsencoder afkomstig van het text2image-model van Stable Diffusion. Zoals u in de volgende afbeelding kunt zien, synthetiseert het Paint3D-framework voortreffelijke texturen opmerkelijk goed, en is het nog steeds in staat om de hoge betrouwbaarheid van de beeldomstandigheden te behouden. 

Aan de andere kant kan het TEXTure-framework een textuur genereren die lijkt op Paint3D, maar het schiet tekort om de textuurdetails in de beeldconditie nauwkeurig weer te geven. Bovendien levert het Paint3D-framework, zoals blijkt uit de volgende afbeelding, betere FID- en KID-basisscores op in vergelijking met het TEXTure-framework, waarbij het eerste afneemt van 40.83 naar 26.86, terwijl het laatste een daling laat zien van 9.76 naar 4.94. 

Conclusie

In dit artikel hebben we gesproken over Paint3D, een nieuw raamwerk van grof naar fijn dat in staat is lichtloze, diverse en hoge resolutie 2K UV-textuurkaarten te produceren voor ongetextureerde 3D-meshes, afhankelijk van visuele of tekstuele input. Het belangrijkste hoogtepunt van het Paint3D-framework is dat het in staat is lichtloze 2K UV-texturen met hoge resolutie te genereren die semantisch consistent zijn zonder afhankelijk te zijn van beeld- of tekstinvoer. Dankzij de grof-naar-fijn-benadering produceert het Paint3D-framework verlichtingsloze, diverse textuurkaarten met hoge resolutie en levert het betere prestaties dan de huidige state-of-the-art frameworks. 

"Een ingenieur van beroep, een schrijver in hart en nieren". Kunal is een technisch schrijver met een diepe liefde voor en begrip van AI en ML, toegewijd aan het vereenvoudigen van complexe concepten op deze gebieden door middel van zijn boeiende en informatieve documentatie.