AI-modeller och plattformar

Paint3D: En introduktion

mm
Lägg till Unite.AI bland dina föredragna källor på Google

Den djupa generativa AI-modellens framväxt har accelererat utvecklingen av AI med anmärkningsvärda förmågor inom naturligt språk, 3D-generering, bildgenerering och tal syntes. 3D-generativa modeller har förändrat många branscher och tillämpningar, och revolutionerat den nuvarande 3D-produktionslandskapet. Men många nuvarande djupa generativa modeller möter ett vanligt hinder: komplexa ledningar och genererade nät med belysnings-texturer är ofta oförenliga med traditionella rendering-pipelines som PBR (Physically Based Rendering). Diffusionsbaserade modeller, som genererar 3D-tillgångar utan belysnings-texturer, har anmärkningsvärda förmågor för generering av olika 3D-tillgångar, vilket förbättrar befintliga 3D-ramverk inom branscher som film, spel och förstärkt/virtuell verklighet.

I den här artikeln kommer vi att diskutera Paint3D, ett nytt grov-till-fint ramverk som kan producera olika, högupplösta 2K UV-texturkartor för otexurerade 3D-nät, villkorade på antingen visuella eller textbaserade inmatningar. Den viktigaste utmaningen som Paint3D hanterar är att generera högkvalitativa texturer utan att införa belysningsinformation, vilket tillåter användare att redigera eller om-belysa inom moderna grafikpipeliner. För att hantera detta problem använder Paint3D-ramverket ett förtränat 2D-diffusionsmodell för att utföra multi-vy-texturfusion och generera vy-villkorliga bilder, som initialt producerar en grov texturkarta. Men eftersom 2D-modeller inte kan fullständigt inaktivera belysnings-effekter eller representera 3D-former fullständigt, kan texturkartan visa belysningsartefakter och ofullständiga områden.

I den här artikeln kommer vi att undersöka Paint3D-ramverket i detalj, och jämföra det med befintliga djupa generativa ramverk. Så, låt oss börja.

Paint3D: En introduktion

Djupa generativa AI-modeller har visat anmärkningsvärda förmågor inom naturligt språk, 3D-generering och bildsyntes, och har implementerats i verkliga tillämpningar, vilket har revolutionerat 3D-genereringsindustrin. Men trots deras anmärkningsvärda förmågor producerar moderna djupa generativa AI-ramverk ofta nät med komplexa ledningar och kaotiska belysnings-texturer som är oförenliga med konventionella rendering-pipelines, inklusive Physically Based Rendering (PBR). Likaså har textursyntes utvecklats snabbt, särskilt med användning av 2D-diffusionsmodeller. Dessa modeller använder effektivt förtränade djup-till-bild-diffusionsmodeller och textvillkor för att generera högkvalitativa texturer. Men en betydande utmaning kvarstår: för-belysning av texturer kan negativt påverka den slutliga 3D-miljö-renderingen, och introducera belysningsfel när ljus justeras inom vanliga arbetsflöden, som visas i följande bild.

Som observerats fungerar texturkartor utan för-belysning smidigt med traditionella rendering-pipelines, och levererar exakta resultat. I kontrast innehåller texturkartor med för-belysning olämpliga skuggor när om-belysning tillämpas. Texturgenereringsramverk tränade på 3D-data erbjuder en alternativ approach, och genererar texturer genom att förstå en specifik 3D-objekts geometri. Men dessa ramverk kan sakna den generaliseringsförmåga som behövs för att tillämpa modellen på 3D-objekt utanför deras träningsdata.

Nuvarande texturgenereringsmodeller möter två kritiska utmaningar: att uppnå bred generalisering över olika objekt med hjälp av bildguider eller olika prompter, och att eliminera sammansatt belysning från för-träningsresultat. För-belysning av texturer kan störa den slutliga 3D-miljö-renderingen. Dessutom, eftersom förtränade 2D-diffusionsmodeller endast tillhandahåller 2D-resultat i vy-domänen, saknar de en fullständig förståelse av former, vilket leder till inkonsekvenser i att upprätthålla vy-konsistens för 3D-objekt.

För att hantera dessa utmaningar utvecklar Paint3D-ramverket ett dubbel-stegs-textur-diffusionsmodell för 3D-objekt som generaliserar över olika förtränade generativa modeller och bevarar vy-konsistens medan det genererar belysningsfria texturer.

Paint3D är ett dubbel-stegs, grov-till-fint texturgenereringsmodell som utnyttjar de starka prompt-guiderna och bildgenereringsförmågorna hos förtränade generativa AI-modeller för att texturera 3D-objekt. I det första steget samparas multi-vy-bilder från ett förtränat djup-medvetet 2D-bild-diffusionsmodell progressivt, vilket möjliggör generalisering av högkvalitativa, rika texturresultat från olika prompter. Modellen genererar sedan en initial texturkarta genom att back-projicera dessa bilder på 3D-nätets yta. I det andra steget fokuserar modellen på att generera belysningsfria texturer genom att implementera metoder som används av diffusionsmodeller specialiserade på att ta bort belysningspåverkan och förfinar form-medvetna ofullständiga områden. Under hela processen genererar Paint3D-ramverket konsekvent högkvalitativa 2K-texturer semantiskt, och eliminerar intrinsic belysnings-effekter.

I sammanfattning är Paint3D ett nytt, grov-till-fint generativt AI-modell designat för att producera olika, belysningsfria, högupplösta 2K UV-texturkartor för otexurerade 3D-nät. Det syftar till att uppnå topppresterande resultat i texturering av 3D-objekt med olika villkorliga inmatningar, inklusive text och bilder, och erbjuder betydande fördelar för syntes och grafikredigeringsuppgifter.

Metodik och arkitektur

Paint3D-ramverket genererar och förfinar texturkartor progressivt för att producera olika och högkvalitativa texturer för 3D-modeller med villkorliga inmatningar som bilder och prompter, som visas i följande bild.

Steg 1: Progressiv grov texturgenerering

I det initiala grova texturgenereringssteget använder Paint3D förtränade 2D-bild-diffusionsmodeller för att sampara multi-vy-bilder, som sedan back-projiceras på nätets yta för att skapa de initiala texturkartorna. Detta steg börjar med att generera en djupkarta från olika kameravyer. Modellen använder djupvillkor för att sampara bilder från diffusionsmodellen, som sedan back-projiceras på 3D-nätets yta. Denna alternativa rendering, sampning och back-projektion approach förbättrar konsistensen av textur-nät och hjälper till att progressivt generera texturkartan.

Processen börjar med de synliga områdena av 3D-nätet, och fokuserar på att generera textur från den första kameravyn genom att rendera 3D-nätet till en djupkarta. En textur-bild sampas sedan baserat på utseende och djupvillkor, och back-projiceras på nätet. Denna metod upprepas för efterföljande vy-punkter, och inkorporerar tidigare texturer för att rendera inte bara en djup-bild, utan också en partiellt färgad RGB-bild med ofärgade masker. Modellen använder en djup-medveten bild-inpainting-encoder för att fylla ofärgade områden, och genererar en komplett grov texturkarta genom att back-projicera inpaintade bilder på 3D-nätets yta.

För mer komplexa scener eller objekt använder modellen flera vyer. Initialt fångar den två djupkartor från symmetriska vy-punkter och kombinerar dem till en djup-grid, som ersätter en enskild djup-bild för multi-vy-djup-medveten textur-sampning.

Steg 2: Textur-förfining i UV-rymd

Trots att det genererar logiska grova texturkartor uppstår utmaningar som textur-hål från rendering-processer och belysnings-skuggor från 2D-bild-diffusionsmodeller. För att hantera dessa utför Paint3D en diffusionsprocess i UV-rymd baserat på den grova texturkartan, och förbättrar det visuella utseendet och löser problemen.

Men att förfinar texturkartan i UV-rymd kan introducera diskontinuiteter på grund av fragmenteringen av kontinuerliga texturer till enskilda fragment. För att mildra detta förfinar Paint3D texturkartan genom att använda adjacency-informationen av textur-fragment. I UV-rymd representerar positionskartan 3D-adjacency-informationen av textur-fragment, och behandlar varje icke-bakgrundselement som en 3D-punktkoordinat. Modellen använder en ytterligare positionskart-encoder, liknande ControlNet, för att integrera denna adjacency-information under diffusionsprocessen.

Modellen använder samtidigt positionen av den villkorliga encodern och andra encoders för att utföra förfiningsuppgifter i UV-rymd, och erbjuder två förmågor: UVHD (UV High Definition) och UV-inpainting. UVHD förbättrar det visuella utseendet och estetiken, och använder en bild-förbättrings-encoder och position-encoder med diffusionsmodellen. UV-inpainting fyller textur-hål, och undviker själv-occlusion-problem från rendering. Förfiningssteget börjar med UV-inpainting, följt av UVHD för att producera en slutlig förfinad texturkarta.

Genom att integrera dessa förfiningsmetoder genererar Paint3D-ramverket kompletta, olika, högupplösta och belysningsfria UV-texturkartor, vilket gör det till en robust lösning för texturering av 3D-objekt.

Paint3D: Experiment och resultat

Paint3D-modellen använder Stable Diffusion text2image-modellen för att assistera med textur-genereringsuppgifter, medan bild-encodern-komponenten hanterar bild-villkor. För att förbättra kontrollen över villkorliga uppgifter som bild-inpainting, djup-hantering och hög-upplösta bilder, använder Paint3D-ramverket ControlNet-domän-encoders. Modellen implementeras på PyTorch-ramverket, med rendering och textur-projektioner som utförs på Kaolin.

Text till texturer jämförelse

För att utvärdera Paint3D:s prestanda börjar vi med att analysera dess textur-generering när den är villkorad med text-prompter, och jämför den med befintliga toppmodeller som Text2Tex, TEXTure och LatentPaint. Som visas i följande bild excellerar Paint3D-ramverket inte bara i att generera högkvalitativa textur-detajer, utan också i att syntetisera en belysningsfri texturkarta.

Genom att utnyttja de robusta förmågorna hos Stable Diffusion och ControlNet-encoders, erbjuder Paint3D överlägsen textur-kvalitet och flexibilitet. Jämförelsen betonar Paint3D:s förmåga att producera detaljerade, högupplösta texturer utan införd belysning, vilket gör det till en ledande lösning för 3D-texturering-uppgifter.

I jämförelse är Latent-Paint-ramverket benäget att generera suddiga texturer som resulterar i underoptimala visuella effekter. Å andra sidan genererar TEXTure-ramverket klara texturer, men saknar smidighet och visar märkbara splicing och sömmar. Slutligen genererar Text2Tex-ramverket släta texturer på ett anmärkningsvärt sätt, men misslyckas med att replikera prestandan för att generera fina texturer med intrikata detaljer. Följande bild jämför Paint3D-ramverket med befintliga toppmodeller kvantitativt.

Som det kan observeras, överträffar Paint3D-ramverket alla befintliga modeller, och med en betydande marginal på nästan 30% förbättring i FID-baslinjen och ungefär 40% förbättring i KID-baslinjen. Förbättringen i FID- och KID-baslinje-poäng visar Paint3D:s förmåga att generera högkvalitativa texturer över olika objekt och kategorier.

Bild till textur jämförelse

För att generera Paint3D:s generativa förmågor med visuella prompter, använder vi TEXTure-modellen som baslinjen. Som nämnts tidigare, använder Paint3D-modellen en bild-encoder från text2image-modellen från Stable Diffusion. Som det kan ses i följande bild, syntetiserar Paint3D-ramverket exquisita texturer på ett anmärkningsvärt sätt, och kan fortfarande upprätthålla hög trohet i förhållande till bild-villkoret.

Å andra sidan kan TEXTure-ramverket generera en textur som liknar Paint3D, men det misslyckas med att representera textur-detajerna i bild-villkoret exakt. Dessutom, som visas i följande bild, levererar Paint3D-ramverket bättre FID- och KID-baslinje-poäng jämfört med TEXTure-ramverket, med den förra minskningen från 40,83 till 26,86, medan den senare visar en minskning från 9,76 till 4,94.

Slutliga tankar

I den här artikeln har vi talat om Paint3D, ett nytt grov-till-fint ramverk som kan producera belysningsfria, olika och högupplösta 2K UV-texturkartor för otexurerade 3D-nät, villkorade på antingen visuella eller textbaserade inmatningar. Den viktigaste höjdpunkten i Paint3D-ramverket är att det kan generera belysningsfria högupplösta 2K UV-texturer som är semantiskt konsekventa utan att vara villkorade på bild- eller text-inmatningar. Tack vare sin grov-till-fina approach, producerar Paint3D-ramverket belysningsfria, olika och högupplösta texturkartor, och levererar bättre prestanda än befintliga toppmodeller.

Kunal Kejriwal är en backend‑ingenjör som specialiserar sig på Python, PostgreSQL, Redis och molninfrastruktur på GCP och AWS. Med tre års erfarenhet av att bygga och skala produktionssystem skriver han om AI‑infrastruktur, distribuerade system och arkitekturen bakom distribution av maskininlärningsarbetsbelastningar.