AI-modeller og platforme

Paint3D: En Introduktion

mm
Føj Unite.AI til dine foretrukne kilder på Google

Udviklingen af dybe generative AI-modeller har accelereret udviklingen af AI med bemærkelsesværdige evner i naturlig sproggenerering, 3D-generering, billedegenerering og tale-syntese. 3D-generative modeller har forandret mange industrier og anvendelser og har revolutioneret den nuværende 3D-produktionslandskab. Men mange nuværende dybe generative modeller møder et fælles problem: kompleks kabling og genererede mesh’er med lys-texturer er ofte inkompatible med traditionelle renderings-pipelines som PBR (Physically Based Rendering). Diffusions-baserede modeller, som genererer 3D-aktiver uden lys-texturer, besidder bemærkelsesværdige evner til divers 3D-aktiver-generering og udvider eksisterende 3D-rammer på tværs af industrier som film, spil og forstærket/virtuel virkelighed.

I denne artikel vil vi diskutere Paint3D, en ny, grov-til-fine ramme, der kan producere diverse, højopløselige 2K UV-texturkort til 3D-mesh’er uden tekstur, betinget af enten visuelle eller tekstuelle input. Det primære problem, som Paint3D løser, er generering af højkvalitets-texturer uden at indlejre lys-information, så brugerne kan redigere eller genskabe lys-inden for moderne grafik-pipelines. For at løse dette problem anvender Paint3D-rammen en forudtrænet 2D-diffusionsmodel til at udføre multi-view-textur-fusion og generere view-betingede billeder, som initialt producerer en grov teksturkort. Men da 2D-modeller ikke fuldstændigt kan deaktivere lys-effekter eller fuldstændigt repræsentere 3D-former, kan teksturkortet udvise lys-artefakter og ufuldstændige områder.

I denne artikel vil vi udforske Paint3D-rammen i dybden, undersøge dens arbejde og arkitektur, og sammenligne den med state-of-the-art dybe generative rammer. Så lad os starte.

Paint3D: En Introduktion

Dybe generative AI-modeller har demonstreret bemærkelsesværdige evner i naturlig sproggenerering, 3D-generering og billede-syntese, og er blevet implementeret i virkelige anvendelser, hvilket har revolutioneret 3D-genererings-industrien. Men på trods af deres bemærkelsesværdige evner producerer moderne dybe generative AI-rammer ofte mesh’er med kompleks kabling og kaotisk lys-textur, der er inkompatibelt med konventionelle renderings-pipelines, herunder Physically Based Rendering (PBR). Ligesom texture-syntese har fremgangen hurtigt, især med brug af 2D-diffusionsmodeller. Disse modeller anvender effektivt forudtrænede dybde-til-billede-diffusionsmodeller og tekst-betingelser til at generere højkvalitets-texturer. Men et betydeligt problem består: forud-lyste texturer kan have en negativ indvirkning på den endelige 3D-miljø-rendering, introducere lys-fejl, når lysene justeres inden for almindelige arbejdsgange, som vist i følgende billede.

Som observeret fungerer teksturkort uden forud-lysning sammen med traditionelle renderings-pipelines, leverer præcise resultater. I modsætning hertil indeholder teksturkort med forud-lysning uheldige skygger, når genskabning af lys anvendes. Texture-genererings-rammer, der er trænet på 3D-data, tilbyder en alternativ tilgang, genererer texturer ved at forstå en bestemt 3D-objects fulde geometri. Selv om disse rammer måske leverer bedre resultater, mangler de den generaliserings-evne, der er nødvendig for at anvende modellen på 3D-objekter uden for deres træningsdata.

Nuværende texture-genererings-modeller møder to kritiske udfordringer: opnåelse af bred generalisering på tværs af forskellige objekter ved hjælp af billed-vejledning eller diverse prompts, og eliminering af koblet lys fra forud-trænings-resultater. Forud-lyste texturer kan forstyrre den endelige teksturerede objekters resultater inden for renderings-motorer. Derudover, da forudtrænede 2D-diffusionsmodeller kun leverer 2D-resultater i view-domænet, mangler de en omfattende forståelse af former, hvilket fører til inkonsistenser i vedligeholdelse af view-konsistens for 3D-objekter.

For at løse disse udfordringer udvikler Paint3D-rammen en dual-stage texture-diffusionsmodel for 3D-objekter, der generaliserer på tværs af forskellige forudtrænede generative modeller og bevarer view-konsistens, mens den genererer lys-frie texturer.

Paint3D er en dual-stage, grov-til-fine texture-genereringsmodel, der udnytter den stærke prompt-vejledning og billede-genererings-evner fra forudtrænede generative AI-modeller til at teksturere 3D-objekter. I den første fase sampler Paint3D multi-view-billeder fra en forudtrænet dybde-til-billede-diffusionsmodel progressivt, hvilket muliggør generalisering af højkvalitets, rig tekstur-resultater fra diverse prompts. Modellen genererer derefter en initial teksturkort ved at projicere disse billeder tilbage på 3D-mesh-overfladen. I den anden fase fokuserer modellen på at generere lys-frie texturer ved at implementere tilgange, der anvendes af diffusionsmodeller, der specialiserer sig i at fjerne lys-påvirkninger og forfine form-tilhørende ufuldstændige områder. Gennem hele processen genererer Paint3D-rammen konsekvent højkvalitets 2K-texturer semantisk, eliminerer intrinsiske lys-effekter.

I sammenfattende form er Paint3D en ny, grov-til-fine generativ AI-model designet til at producere diverse, lys-frie, højopløselige 2K UV-texturkort for 3D-mesh’er uden tekstur. Den sigter mod at opnå state-of-the-art-præstationer i teksturering af 3D-objekter med forskellige betingede input, herunder tekst og billeder, og tilbyder betydelige fordele for syntese- og grafik-redigering-opgaver.

Metodologi og Arkitektur

Paint3D-rammen genererer og forfiner teksturkort progressivt for at producere diverse og højkvalitets-texturer for 3D-modeller ved hjælp af betingede input som billeder og prompts, som vist i følgende billede.

Stage 1: Progressiv Grov Texture-Generering

I den første fase anvender Paint3D forudtrænede 2D-billede-diffusionsmodeller til at sample multi-view-billeder, der derefter projiceres tilbage på mesh-overfladen for at skabe de initielle teksturkort. Denne fase begynder med at generere en dybde-kort fra forskellige kamera-views. Modellen anvender dybde-betingelser til at sample billeder fra diffusionsmodellen, der derefter projiceres tilbage på 3D-mesh-overfladen. Denne alternative rendering, sampling og projicering tilgang forbedrer konsistensen af tekstur-mesh’er og hjælper med at generere teksturkort progressivt.

Processen starter med de synlige områder af 3D-mesh’en, fokuserer på at generere tekstur fra den første kamera-view ved at rendre 3D-mesh’en til en dybde-kort. Et tekstur-billede samples derefter baseret på udseende og dybde-betingelser og projiceres tilbage på mesh’en. Denne metode gentages for efterfølgende viewpoints, integrerer tidligere teksturer for at rendre ikke kun en dybde-billede, men også en delvist farvet RGB-billede med ufargede masker. Modellen anvender en dybde-til-billede-inpainting-encoder til at udfylde ufargede områder, genererer en fuldstændig grov teksturkort ved at projicere inpainted billeder tilbage på 3D-mesh’en.

For mere komplekse scener eller objekter anvender modellen multiple views. Initialt fanger den to dybde-kort fra symmetriske viewpoints og kombinerer dem i en dybde-grid, der erstatter en enkelt dybde-billede for multi-view dybde-til-textur-sampling.

Stage 2: Texture-Forfining i UV-Rum

Trods generering af logiske grove teksturkort opstår udfordringer som tekstur-huller fra renderings-processer og lys-skygger fra 2D-billede-diffusionsmodeller. For at løse disse udfordringer udfører Paint3D en diffusions-proces i UV-rum baseret på den grove teksturkort, forbedrer det visuelle udseende og løser problemerne.

Men forfining af teksturkortet i UV-rum kan introducere diskontinuiteter på grund af fragmentering af kontinuerte texturer i separate fragmenter. For at mildne dette forfiner Paint3D teksturkortet ved at anvende tilhørende information om tekstur-fragmenter. I UV-rum repræsenterer position-kortet 3D-tilhørende information om tekstur-fragmenter, behandler hver non-baggrundselement som en 3D-punktkoordinat. Modellen anvender en ekstra position-kort-encoder, lignende ControlNet, til at integrere denne tilhørende information under diffusions-processen.

Modellen anvender samtidig positionen af den betingede encoder og andre encodere til at udføre forfinings-opgaver i UV-rum, tilbyder to evner: UVHD (UV High Definition) og UV-inpainting. UVHD forbedrer det visuelle udseende og æstetikken, anvender en billede-forbedrings-encoder og position-encoder med diffusionsmodellen. UV-inpainting udfylder tekstur-huller, undgår selv-occlusion-problemer fra rendering. Forfinings-fasen starter med UV-inpainting, efterfulgt af UVHD for at producere en endelig forfinet teksturkort.

Ved at integrere disse forfinings-metoder genererer Paint3D-rammen fuldstændige, diverse, højopløselige og lys-frie UV-texturkort, hvilket gør det til en robust løsning for teksturering af 3D-objekter.

Paint3D: Eksperimenter og Resultater

Paint3D-modellen anvender Stable Diffusion text2image-modellen til at hjælpe med tekstur-genererings-opgaver, mens billed-encoder-komponenten håndterer billed-betingelser. For at forbedre kontrollen over betingede opgaver som billed-inpainting, dybde-håndtering og højdefinitions-billeder anvender Paint3D-rammen ControlNet-domæne-encodere. Modellen er implementeret på PyTorch-rammen, med rendering og tekstur-projektioner udført på Kaolin.

Tekst til Texturer Sammenligning

For at evaluere Paint3D’s præstationer starter vi med at analysere dens tekstur-generering, når betinget med tekstuelle prompts, sammenligner det med state-of-the-art-rammer som Text2Tex, TEXTure og LatentPaint. Som vist i følgende billede excellerer Paint3D-rammen ikke kun i generering af højkvalitets tekstur-detajler, men syntetiserer også en lys-fri teksturkort effektivt.

Ved at udnytte de robuste evner fra Stable Diffusion og ControlNet-encodere tilbyder Paint3D overlegen tekstur-kvalitet og fleksibilitet. Sammenligningen fremhæver Paint3D’s evne til at producere detaljerede, højopløselige texturer uden indlejret lys, hvilket gør det til en førende løsning for 3D-tekstur-opgaver.

I sammenligning er Latent-Paint-rammen tilbøjelig til at generere uklare texturer, der resulterer i underoptimalt visuelt udseende. På den anden side genererer TEXTure-rammen klare texturer, men mangler glatthed og viser bemærkelsesværdige sammenføjninger og søm. Endelig genererer Text2Tex-rammen glatte texturer bemærkelsesværdigt godt, men den kan ikke replikere præstationen for generering af fine texturer med intrikate detaljer.  Følgende billede sammenligner Paint3D-rammen med state-of-the-art-rammer kvantitativt. 

Som det kan observeres, overgår Paint3D-rammen alle eksisterende modeller og med en betydelig margin på næsten 30% forbedring i FID-basen og ca. 40% forbedring i KID-basen. Forbedringen i FID- og KID-basen viser Paint3D’s evne til at generere højkvalitets-texturer på tværs af diverse objekter og kategorier. 

Billede til Texture Sammenligning

For at generere Paint3D’s generative evner ved hjælp af visuelle prompts anvender vi TEXTure-modellen som baseline. Som nævnt tidligere anvender Paint3D-modellen en billed-encoder fra text2image-modellen fra Stable Diffusion. Som det kan ses i følgende billede syntetiserer Paint3D-rammen udsøgte texturer bemærkelsesværdigt godt og kan stadig opretholde høj trofasthed i forhold til billed-betingelsen. 

På den anden side kan TEXTure-rammen generere en tekstur, der ligner Paint3D, men den mangler at repræsentere tekstur-detajlerne i billed-betingelsen nøjagtigt. Desuden, som vist i følgende billede, leverer Paint3D-rammen bedre FID- og KID-basen-scores, når sammenlignet med TEXTure-rammen, hvor den første falder fra 40,83 til 26,86, mens den sidste viser en fald fra 9,76 til 4,94. 

Endelige Tanker

I denne artikel har vi talt om Paint3D, en ny, grov-til-fine ramme, der kan producere lys-frie, diverse, højopløselige 2K UV-texturkort for 3D-mesh’er uden tekstur, betinget af enten visuelle eller tekstuelle input. Det primære højdepunkt ved Paint3D-rammen er, at den kan generere lys-frie højopløselige 2K-texturer, der er semantisk konsistente uden at være betinget af billed- eller tekst-input. Takket være sin grov-til-fine tilgang producerer Paint3D-rammen lys-frie, diverse, højopløselige teksturkort og leverer bedre præstation end nuværende state-of-the-art-rammer. 

Kunal Kejriwal er en backend-ingeniør med speciale i Python, PostgreSQL, Redis og cloud-infrastruktur på GCP og AWS. Med tre års erfaring i at bygge og skalere produktionssystemer skriver han om AI-infrastruktur, distribuerede systemer og arkitekturen bag implementering af maskinlæringsarbejdsbelastninger.