Du har måske hørt om, hvor kraftfulde tekst-til-billede AI-modeller er blevet i de sidste par år. Men vidste du, at den samme teknologi kunne hjælpe med at tage springet fra 2D til 3D?
AI-genererede 3D-modeller har et bredt anvendelsesområde i nutidens digitale landskab. Video Games og film er afhængige af dygtige 3D-kunstnere og modelleringssoftware som Blender til at skabe 3D-aktiver til at udfylde computergenererede scener.
Men er det muligt, at industrien kunne bruge maskinlæring til at skabe 3D-aktiver med mindre indsats, svarende til hvordan 2D-kunstnere i dag begynder at adoptere teknologi som DALL-E og midt på rejsen?
Denne artikel vil udforske en ny algoritme, der forsøger at skabe en effektiv tekst-til-3D-model ved hjælp af eksisterende diffusionsmodeller.
Hvad er Drømmefusion?
Et stort problem med at skabe en diffusionsmodel, der genererer 3D-aktiver direkte, er, at der simpelthen ikke er mange 3D-data tilgængelige. 2D-diffusionsmodeller er blevet så kraftfulde på grund af det store datasæt af billeder, der findes på internettet. Det samme kan ikke siges med 3D-aktiver.
Nogle 3D-generative teknikker løser denne mangel på data ved at drage fordel af denne overflod af 2D-data.
DreamFusion er en generativ model, der kan skabe 3D-modeller baseret på en medfølgende tekstbeskrivelse. DreamFusion-modellen bruger en forudtrænet tekst-til-billede-diffusionsmodel til at generere realistiske tredimensionelle modeller ud fra tekstprompter.
På trods af, at den ikke har nogen 3D-træningsdata, har denne tilgang genereret sammenhængende 3D-aktiver med high-fidelity udseende og dybde.
Hvordan virker det?
DreamFusion-algoritmen består af to hovedmodeller: en 2D-diffusionsmodel og en neurale netværk der kan konvertere 2D-billeder til en sammenhængende 3D-scene.
Googles billedtekst-til-billede-model
Den første del af algoritmen er diffusionsmodellen. Denne model er ansvarlig for at konvertere tekst til billeder.
Billede er en diffusionsmodel, der kan generere en stor prøve af billedvariationer af et bestemt objekt. I dette tilfælde bør vores billedvariationer dække alle mulige vinkler af det leverede objekt. Hvis vi for eksempel ville generere en 3D-model af en hest, ville vi gerne have 2D-billeder af hesten fra alle mulige vinkler. Målet er at bruge Imagen til at give så meget information som muligt (farver, refleksioner, tæthed) til den næste model i vores algoritme.
Oprettelse af 3D-modeller med NeRF
Dernæst bruger Dreamfusion en model kendt som en Neuralt udstrålingsfelt eller NeRF for rent faktisk at skabe 3D-modellen fra det genererede billedsæt. NeRF'er er i stand til at skabe komplekse 3D-scener givet et datasæt af 2D-billeder.
Lad os prøve at forstå, hvordan en NeRF fungerer.
Modellen sigter mod at skabe en kontinuerlig volumetrisk scenefunktion optimeret ud fra det medfølgende datasæt af 2D-billeder.
Hvis modellen opretter en funktion, hvad er input og output?
Scenefunktionen tager en 3D-placering og en 2D-visningsretning som input. Funktionen udsender derefter en farve (i form af RGB) og en specifik volumentæthed.
For at generere et 2D-billede fra et specifikt synspunkt, vil modellen generere et sæt 3D-punkter og køre disse punkter gennem scenefunktionen for at returnere et sæt farve- og volumentæthedsværdier. Volumengengivelsesteknikker vil derefter konvertere disse værdier til et 2D-billede.
Brug af NeRF- og 2D-diffusionsmodeller sammen
Nu hvor vi ved, hvordan en NeRF fungerer, lad os se, hvordan denne model kan generere nøjagtige 3D-modeller fra vores genererede billeder.
For hver givet tekstprompt træner DreamFusion en tilfældigt initialiseret NeRF fra bunden. Hver iteration vælger en tilfældig kameraposition i et sæt sfæriske koordinater. Tænk på modellen indkapslet i en glaskugle. Hver gang vi genererer et nyt billede af vores 3D-model, vælger vi et tilfældigt punkt i vores sfære som udsigtspunktet for vores output. DreamFusion vil også vælge en tilfældig lysposition l at bruge til gengivelse.
Når vi har et kamera og en lysposition, vil en NeRF-model blive gengivet. DreamFusion vil også tilfældigt vælge mellem en farvet gengivelse, en teksturløs gengivelse og en gengivelse af albedoen uden nogen skygge.
Vi har tidligere nævnt, at vi ønsker, at vores tekst-til-billede-model (Imagen) skal producere nok billeder til at skabe et repræsentativt eksempel.
Hvordan opnår Dreamfusion dette?
Dreamfusion ændrer simpelthen inputprompten lidt for at opnå de tilsigtede vinkler. For eksempel kan vi opnå høje elevationsvinkler ved at tilføje "overhead view" til vores prompt. Vi kan generere andre vinkler ved at tilføje sætninger som "set forfra", "set fra siden" og "set bagfra".
Scener gengives gentagne gange fra tilfældige kamerapositioner. Disse gengivelser passerer derefter gennem en scoredestillationstabsfunktion. En simpel gradientnedstigningstilgang vil langsomt forbedre 3D model indtil den matcher scenen beskrevet af teksten.
Når vi har gengivet 3D-modellen ved hjælp af NeRF, kan vi bruge Marching Cubes algoritme at udsende et 3D-mesh af vores model. Dette mesh kan derefter importeres til populære 3D-renderere eller modelleringssoftware.
Begrænsninger
Mens DreamFusions output er imponerende nok, da det bruger eksisterende tekst-til-billede diffusionsmodeller på en ny måde, har forskerne bemærket et par begrænsninger.
SDS-tabsfunktionen er blevet observeret at producere overmættede og overudjævnede resultater. Du kan observere dette i den unaturlige farve og mangel på præcise detaljer, der findes i udgangene.
DreamFusion-algoritmen er også begrænset af opløsningen af Imagen-modellens output, som er 64 x 64 pixels. Dette fører til, at de syntetiserede modeller mangler finere detaljer.
Endelig har forskerne bemærket, at der er en iboende udfordring i at syntetisere 3D-modeller fra 2D-data. Der er mange mulige 3D-modeller, som vi kan generere ud fra et sæt 2D-billeder, hvilket gør optimering ret vanskelig og endda tvetydig.
Konklusion
DreamFusions 3D-gengivelser fungerer så godt på grund af tekst-til-billede spredningsmodellers evne til at skabe ethvert objekt eller scene. Det er imponerende, hvordan et neuralt netværk kan forstå en scene i 3D-rum uden nogen 3D-træningsdata. Jeg anbefaler at læse hele papiret for at lære mere om de tekniske detaljer i DreamFusion-algoritmen.
Forhåbentlig vil denne teknologi forbedres for til sidst at skabe fotorealistiske 3D-modeller. Forestil dig hele videospil eller simuleringer, der bruger AI-genererede miljøer. Det kunne sænke adgangsbarrieren for videospilsudviklere at skabe fordybende 3D-verdener!
Hvilken rolle tror du, tekst-til-3D-modeller vil spille i fremtiden?
Giv en kommentar