Kunstmatige intelligentie
Paint3D : Verlichtingsloze Diffusiemodel voor Afbeeldingengeneratie

De snelle ontwikkeling van AI-generatieve modellen, met name diepe generatieve AI-modellen, heeft de mogelijkheden voor natuurlijke taalgeneratie, 3D-generatie, afbeeldingengeneratie en spraaksynthese aanzienlijk verbeterd. Deze modellen hebben de 3D-productie in verschillende industrieën revolutionair veranderd. Echter, veel van deze modellen hebben een uitdaging: hun complexe bedrading en gegenereerde netwerken zijn vaak niet compatibel met traditionele renderpijplijnen zoals Physically Based Rendering (PBR). Diffusiegebaseerde modellen, met name zonder verlichtingsteksturen, laten indrukwekkende diverse 3D-activageneratie zien, waardoor 3D-kaders in filmmaken, gamen en AR/VR worden verbeterd.
Dit artikel introduceert Paint3D, een nieuw kader voor het produceren van diverse, hoge-resolutie 2K UV-textuurkaarten voor ongetextureerde 3D-netwerken, voorwaardelijk op visuele of tekstuele invoer. Paint3D’s belangrijkste uitdaging is het genereren van hoge-kwaliteitsteksturen zonder ingebedde verlichting, waardoor gebruikers de mogelijkheid hebben om binnen moderne grafische pijplijnen te bewerken of opnieuw te verlichten. Het maakt gebruik van een vooraf getraind 2D-diffusiemodel voor multi-view-textuurfusie, waardoor initiële grove tekstuurkaarten worden gegenereerd. Echter, deze kaarten vertonen vaak verlichtingsartefacten en onvolledige gebieden vanwege de beperkingen van het 2D-model in het uitschakelen van verlichtingseffecten en het volledig weergeven van 3D-vormen. We zullen dieper ingaan op Paint3D’s werking, architectuur en vergelijkingen met andere diepe generatieve kaders. Laten we beginnen.
Paint3D : Een Inleiding
De mogelijkheden van diepe generatieve AI-modellen in natuurlijke taalgeneratie, 3D-generatie en afbeeldingensynthese zijn goed bekend en worden toegepast in echte toepassingen, waardoor de 3D-generatie-industrie wordt gerevolutioneerd. Ondanks hun opmerkelijke mogelijkheden, genereren moderne diepe generatieve AI-kaders netwerken die worden gekenmerkt door complexe bedrading en chaotische verlichtingsteksturen die vaak niet compatibel zijn met conventionele renderpijplijnen, waaronder PBR of Physically Based Rendering. Net als diepe generatieve AI-modellen, is texturensynthese ook snel geavanceerd, met name bij het gebruik van 2D-diffusiemodellen. Texturensynthesemodellen maken gebruik van vooraf getrainde diepte-naar-afbeelding diffusiemodellen om tekstuele voorwaarden te gebruiken voor het genereren van hoge-kwaliteitsteksturen. Echter, deze benaderingen hebben moeite met vooraf verlichte teksturen die de uiteindelijke 3D-omgevingsrenderingen aanzienlijk kunnen beïnvloeden en verlichtingsfouten kunnen introduceren wanneer de lichten binnen de gebruikelijke workflows worden gewijzigd, zoals wordt aangetoond in de volgende afbeelding.

Zoals te zien is, werkt de tekstuurkaart met vrije verlichting samen met de traditionele renderpijplijnen en levert nauwkeurige resultaten, terwijl de tekstuurkaart met vooraf verlichte verlichting ongepaste schaduwen bevat wanneer opnieuw verlichten wordt toegepast. Aan de andere kant bieden texturengeneratiekaders die zijn getraind op 3D-gegevens een alternatieve benadering waarbij het kader teksturen genereert door de gehele geometrie van een specifiek 3D-object te begrijpen. Hoewel ze mogelijk betere resultaten kunnen opleveren, ontbreken texturengeneratiekaders die zijn getraind op 3D-gegevens aan generalisatiecapaciteiten, waardoor ze niet in staat zijn om het model toe te passen op 3D-objecten buiten hun trainingsgegevens.
Huidige texturengeneratiemodellen hebben twee kritieke uitdagingen: het gebruik van afbeeldingsleiding of diverse prompts om een bredere mate van generalisatie over verschillende objecten te bereiken, en de tweede uitdaging is het elimineren van gekoppelde verlichting op de resultaten die zijn verkregen uit vooraf trainen. De vooraf verlichte teksturen kunnen mogelijk interfereren met de uiteindelijke resultaten van de getextureerde objecten binnen rendermotoren, en aangezien de vooraf getrainde 2D-diffusiemodellen alleen 2D-resultaten opleveren in het zichtdomein, ontbreekt het hen aan een volledig begrip van vormen, waardoor ze niet in staat zijn om zichtconsistentie voor 3D-objecten te behouden.
Vanwege de bovengenoemde uitdagingen, probeert het Paint3D-kader een dual-stage-textuurdifusiemodel voor 3D-objecten te ontwikkelen dat generaliseert naar verschillende vooraf getrainde generatieve modellen en zichtconsistentie behoudt bij het leren van verlichtingsloze teksturengeneratie.
Paint3D is een dual-stage coarse-to-fine-textuurgeneratiemodel dat ernaar streeft om de sterke promptleiding en afbeeldingengeneratiecapaciteiten van vooraf getrainde generatieve AI-modellen te gebruiken om 3D-objecten te textureren. In de eerste fase, het Paint3D-kader, samplet het meerdere beelden van een vooraf getraind dieptegevoelig 2D-beeld diffusiemodel progressief om de generalisatie van hoge-kwaliteit en rijke tekstuurresultaten van diverse prompts te ermöglichen. Het model genereert vervolgens een initiële tekstuurkaart door deze beelden terug te projecteren op het oppervlak van het netwerk. In de tweede fase richt het model zich op het genereren van verlichtingsloze teksturen door benaderingen te implementeren die worden gebruikt door diffusiemodellen die zijn gespecialiseerd in het verwijderen van verlichtingsinvloeden en vormgevoelige verfijning van onvolledige gebieden. Gedurende het hele proces is het Paint3D-kader consistent in staat om hoge-kwaliteit 2K-teksturen semantisch te genereren en intrinsieke verlichtingseffecten te elimineren.

Om het samen te vatten, Paint3D is een nieuw coarse-to-fine-generatief AI-model dat ernaar streeft om diverse, verlichtingsloze en hoge-resolutie 2K UV-tekstuurkaarten voor ongetextureerde 3D-netwerken te produceren om state-of-the-art-prestaties te bereiken bij het textureren van 3D-objecten met verschillende voorwaardelijke invoer, waaronder tekst en afbeeldingen, en biedt een aanzienlijk voordeel voor synthese- en grafische bewerkingsTaken.
Methodologie en Architectuur
Het Paint3D-kader genereert en verfijnt tekstuurkaarten progressief om diverse en hoge-kwaliteit tekstuurkaarten voor 3D-modellen te genereren met behulp van gewenste voorwaardelijke invoer, waaronder afbeeldingen en prompts, zoals wordt aangetoond in de volgende afbeelding.

In de grove fase, het Paint3D-model, gebruikt vooraf getrainde 2D-beeld diffusiemodellen om meerdere beelden te sampelen en creëert vervolgens de initiële tekstuurkaarten door deze beelden terug te projecteren op het oppervlak van het netwerk. In de tweede fase, de verfijningsfase, het Paint3D-model, gebruikt een diffusieproces in de UV-ruimte om grove tekstuurkaarten te verfijnen, waardoor hoge-kwaliteit, inpainting en verlichtingsloze functionaliteit wordt bereikt die de visuele aantrekkelijkheid en volledigheid van de uiteindelijke tekstuur garandeert.
Fase 1: Progressieve Grove Tekstuurgeneratie
In de progressieve grove tekstuurgeneratiefase, het Paint3D-model, genereert een grove UV-tekstuurkaart voor de 3D-netwerken die een vooraf getraind dieptegevoelig 2D-diffusiemodel gebruiken. Om specifiek te zijn, het model gebruikt eerst verschillende cameraweergaven om een dieptekaart te renderen, vervolgens sampleert het een tekstuurafbeelding voor een verschijningsvoorwaarde en een dieptevoorwaarde. Het model projecteert vervolgens de afbeelding terug op het oppervlak van het netwerk. Het kader voert de rendering, sampling en terugprojecteren benaderingen afwisselend uit om de consistentie van de tekstuurkaarten te verbeteren, wat uiteindelijk helpt bij de progressieve generatie van de tekstuurkaart.
Het model begint met het genereren van de tekstuur van het zichtbare gebied met de cameraweergaven die zijn gericht op het 3D-netwerk en rendert het 3D-netwerk naar een dieptekaart vanuit de eerste weergave. Het model sampleert vervolgens een tekstuurafbeelding voor een verschijningsvoorwaarde en een dieptevoorwaarde. Het model projecteert vervolgens de afbeelding terug op het 3D-netwerk. Voor de weergaven, voert het Paint3D-model een soortgelijke benadering uit, maar met een kleine verandering door het tekstuur samplingproces uit te voeren met een afbeelding schilderen benadering. Bovendien, neemt het model de getextureerde gebieden van eerdere weergaven in aanmerking, waardoor het renderingproces niet alleen een dieptekaart uitvoert, maar ook een gedeeltelijk gekleurde RGB-afbeelding met een ongekleurde masker in de huidige weergave.
Het model gebruikt vervolgens een dieptegevoelige afbeelding inpaintingmodel met een inpainting-encoder om het ongekleurde gebied binnen de RGB-afbeelding te vullen. Het model genereert vervolgens de tekstuurkaart vanuit de weergave door de ingepainte afbeelding terug te projecteren op het 3D-netwerk onder de huidige weergave, waardoor het model de tekstuurkaart progressief kan genereren en uiteindelijk de hele grove structuurkaart bereikt. Ten slotte, breidt het model het tekstuur samplingproces uit naar een scène of object met meerdere weergaven. Om specifiek te zijn, het model gebruikt een paar camera’s om twee dieptekaarten te captureren tijdens het initiële tekstuur sampling vanuit symmetrische weergaven. Het model combineert vervolgens de twee dieptekaarten en componeert een dieptegrid. Het model vervangt de enkele dieptekaart door het dieptegrid om meerdere dieptegevoelige tekstuur sampling uit te voeren.
Fase 2: Tekstuurverfijning in UV-Ruimte
Hoewel de verschijning van grove tekstuurkaarten logisch is, heeft het enkele uitdagingen, zoals tekstuur gaten die worden veroorzaakt tijdens het renderingproces door zelf-occlusie of verlichtingsschaduwen als gevolg van de betrokkenheid van 2D-beeld diffusiemodellen. Het Paint3D-model probeert een diffusieproces in de UV-ruimte uit te voeren op basis van een grove tekstuurkaart, om de problemen te mitigeren en de visuele aantrekkelijkheid van de tekstuurkaart verder te verbeteren tijdens tekstuurverfijning. Echter, het verfijnen van het mainstream beeld diffusiemodel met de tekstuurkaarten in de UV-ruimte introduceert tekstuur discontinuïteit, aangezien de tekstuurkaart wordt gegenereerd door de UV-kaart van de tekstuur van het 3D-oppervlak, die de continue tekstuur in een reeks individuele fragmenten in de UV-ruimte snijdt. Als gevolg van de fragmentatie, heeft het model moeite om de 3D-adjacentie relaties tussen de fragmenten te leren, waardoor tekstuur discontinuïteit problemen ontstaan.
Het model verfijnt de tekstuurkaart in de UV-ruimte door het diffusieproces uit te voeren onder de leiding van tekstuur fragmenten adjacency-informatie. Het is belangrijk om op te merken dat in de UV-ruimte, de positiekaart de 3D-adjacentie-informatie van tekstuur fragmenten vertegenwoordigt, met het model dat elk niet-achtergrond element behandelt als een 3D-puntcoördinaat. Tijdens het diffusieproces, fuseert het model de 3D-adjacentie-informatie door een individuele positiekaart encoder toe te voegen aan het vooraf getrainde beeld diffusiemodel. De nieuwe encoder lijkt op het ontwerp van het ControlNet-kader en heeft dezelfde architectuur als de encoder geïmplementeerd in het beeld diffusiemodel met de zero-convolutie laag die de twee verbindt. Bovendien, is het tekstuur diffusiemodel getraind op een dataset die bestaat uit tekstuur en positiekaarten, en het model leert om de ruis toe te voegen aan de lawaaibare latent. Het model optimaliseert vervolgens de positie encoder en bevriest de getrainde denoiser voor zijn beeld diffusietaken.
Het model gebruikt vervolgens de positie van de conditionele encoder en andere encoders om verfijningstaken in de UV-ruimte uit te voeren. In dit opzicht, heeft het model twee verfijning capaciteiten: UVHD of UV High Definition en UV inpainting. De UVHD-methode is gestructureerd om de visuele aantrekkelijkheid en esthetiek van de tekstuurkaart te verbeteren. Om UVHD te bereiken, gebruikt het model een afbeelding enhance encoder en een positie encoder met het diffusiemodel. Het model gebruikt de UV inpainting methode om de tekstuur gaten binnen de UV-vlakte te vullen, die in staat is om zelf-occlusie problemen gegenereerd tijdens rendering te vermijden. In de verfijningsfase, voert het Paint3D-model eerst UV inpainting uit en vervolgens UVHD om de uiteindelijke verfijnde tekstuurkaart te genereren. Door de twee verfijning methoden te integreren, is het Paint3D-kader in staat om complete, diverse, hoge-resolutie en verlichtingsloze UV-tekstuurkaarten te produceren.
Paint3D : Experimenten en Resultaten
Het Paint3D-model maakt gebruik van de Stable Diffusion tekst-naar-afbeelding model om het te helpen bij tekstuur generatie taken, terwijl het de afbeelding encoder component gebruikt om afbeeldingsvoorwaarden te behandelen. Om verder zijn greep op voorwaardelijke controles zoals afbeelding inpainting, diepte en afbeelding hoge definitie te verbeteren, maakt het Paint3D-kader gebruik van ControlNet domein encoders. Het model is geïmplementeerd op het PyTorch-kader met rendering en tekstuurprojecties geïmplementeerd op Kaolin.
Tekst-naar-Teksturen Vergelijking
Om zijn prestaties te analyseren, beginnen we met het evalueren van Paint3D’s tekstuur generatie effect wanneer het wordt voorwaardelijk gebruikt met tekstuele prompts, en vergelijken het met state-of-the-art kaders, waaronder Text2Tex, TEXTure en LatentPaint. Zoals te zien is in de volgende afbeelding, het Paint3D-kader blinkt niet alleen uit in het genereren van hoge-kwaliteit tekstuur details, maar het synthetiseert ook een verlichtingsloze tekstuurkaart redelijk goed.

In vergelijking, is het Latent-Paint-kader geneigd om vage teksturen te genereren die leiden tot suboptimale visuele effecten. Aan de andere kant, hoewel het TEXTure-kader heldere teksturen genereert, ontbreekt het aan gladheid en vertoont het opvallende splicing en naden. Ten slotte, genereert het Text2Tex-kader gladde teksturen opmerkelijk goed, maar het faalt om de prestaties te repliceren voor het genereren van fijne teksturen met ingewikkelde details.
De volgende afbeelding vergelijkt het Paint3D-kader met state-of-the-art kaders kwantitatief.

Zoals te zien is, overtreft het Paint3D-kader alle bestaande modellen, en met een aanzienlijke marge van bijna 30% verbetering in de FID-baseline en ongeveer 40% verbetering in de KID-baseline. De verbetering in de FID- en KID-baseline scores demonstreren Paint3D’s vermogen om hoge-kwaliteit teksturen te genereren over diverse objecten en categorieën.
Afbeelding-naar-Tekstuur Vergelijking
Om Paint3D’s generatieve capaciteiten te demonstreren met visuele prompts, gebruiken we het TEXTure-model als de baseline. Zoals eerder vermeld, maakt het Paint3D-model gebruik van een afbeelding encoder afkomstig van het tekst-naar-afbeelding model van Stable Diffusion. Zoals te zien is in de volgende afbeelding, synthetiseert het Paint3D-kader uitstekende teksturen opmerkelijk goed, en is het nog steeds in staat om hoge trouw te behouden ten opzichte van de afbeeldingsvoorwaarde.

Aan de andere kant, is het TEXTure-kader in staat om een tekstuur te genereren die vergelijkbaar is met Paint3D, maar het faalt om de tekstuur details in de afbeeldingsvoorwaarde nauwkeurig weer te geven. Bovendien, zoals wordt aangetoond in de volgende afbeelding, levert het Paint3D-kader betere FID- en KID-baseline scores dan het TEXTure-kader, met de eerste dalend van 40,83 naar 26,86, terwijl de laatste daalt van 9,76 naar 4,94.

Slotbeschouwing
In dit artikel hebben we het over Paint3D gehad, een coarse-to-fine-novel kader dat in staat is om verlichtingsloze, diverse en hoge-resolutie 2K UV-tekstuurkaarten te produceren voor ongetextureerde 3D-netwerken, voorwaardelijk op visuele of tekstuele invoer. Het belangrijkste kenmerk van het Paint3D-kader is dat het in staat is om verlichtingsloze hoge-resolutie 2K UV-teksturen te genereren die semantisch consistent zijn zonder voorwaardelijk te zijn op afbeeldings- of tekstuele invoer. Vanwege zijn coarse-to-fine-benadering, produceert het Paint3D-kader verlichtingsloze, diverse en hoge-resolutie tekstuurkaarten, en levert het betere prestaties dan de huidige state-of-the-art kaders.












