Innholdsfortegnelse[Gjemme seg][Forestilling]
Du har kanskje hørt om hvor kraftige tekst-til-bilde AI-modeller har blitt de siste par årene. Men visste du at den samme teknologien kan bidra til å ta spranget fra 2D til 3D?
AI-genererte 3D-modeller har et bredt bruksområde i dagens digitale landskap. Videospill og film er avhengige av dyktige 3D-artister og modelleringsprogramvare som Blender for å lage 3D-ressurser for å fylle datamaskingenererte scener.
Men er det mulig at industrien kan bruke maskinlæring til å lage 3D-ressurser med mindre innsats, lik hvordan 2D-artister i dag begynner å ta i bruk teknologi som DALL-E og midt på reisen?
Denne artikkelen vil utforske en ny algoritme som prøver å lage en effektiv tekst-til-3D-modell ved å bruke eksisterende diffusjonsmodeller.
Hva er Dreamfusion?
Et stort problem med å lage en diffusjonsmodell som genererer 3D-ressurser direkte, er at det rett og slett ikke er mye 3D-data tilgjengelig. 2D-diffusjonsmodeller har blitt så kraftige på grunn av det store datasettet med bilder som finnes på internett. Det samme kan ikke sies med 3D-ressurser.
Noen 3D-generative teknikker løser denne mangelen på data ved å dra nytte av denne overfloden av 2D-data.
DreamFusion er en generativ modell som kan lage 3D-modeller basert på en gitt tekstbeskrivelse. DreamFusion-modellen bruker en forhåndsopplært tekst-til-bilde-diffusjonsmodell for å generere realistiske tredimensjonale modeller fra tekstmeldinger.
Til tross for at den ikke har noen 3D-treningsdata, har denne tilnærmingen generert sammenhengende 3D-elementer med høykvalitetsutseende og dybde.
Hvordan virker det?
DreamFusion-algoritmen består av to hovedmodeller: en 2D-diffusjonsmodell og en nevrale nettverket som kan konvertere 2D-bilder til en sammenhengende 3D-scene.
Googles bildetekst-til-bilde-modell
Den første delen av algoritmen er diffusjonsmodellen. Denne modellen er ansvarlig for å konvertere tekst til bilder.
Bilde er en diffusjonsmodell som kan generere et stort utvalg av bildevariasjoner av et bestemt objekt. I dette tilfellet bør bildevariasjonene våre dekke alle mulige vinkler til det angitte objektet. Hvis vi for eksempel ønsket å generere en 3D-modell av en hest, ville vi ha 2D-bilder av hesten fra alle mulige vinkler. Målet er å bruke Imagen for å gi så mye informasjon som mulig (farger, refleksjoner, tetthet) for neste modell i algoritmen vår.
Opprette 3D-modeller med NeRF
Deretter bruker Dreamfusion en modell kjent som en Nevralt utstrålingsfelt eller NeRF for å faktisk lage 3D-modellen fra det genererte bildesettet. NeRF-er er i stand til å lage komplekse 3D-scener gitt et datasett med 2D-bilder.
La oss prøve å forstå hvordan en NeRF fungerer.
Modellen tar sikte på å lage en kontinuerlig volumetrisk scenefunksjon optimalisert fra det medfølgende datasettet med 2D-bilder.
Hvis modellen lager en funksjon, hva er input og output?
Scenefunksjonen tar inn en 3D-posisjon og en 2D-visningsretning som input. Funksjonen sender deretter ut en farge (i form av RGB) og en bestemt volumtetthet.
For å generere et 2D-bilde fra et spesifikt synspunkt, vil modellen generere et sett med 3D-punkter og kjøre disse punktene gjennom scenefunksjonen for å returnere et sett med farge- og volumtetthetsverdier. Volumgjengivelsesteknikker vil deretter konvertere disse verdiene til en 2D-bildeutgang.
Bruke NeRF og 2D diffusjonsmodeller sammen
Nå som vi vet hvordan en NeRF fungerer, la oss se hvordan denne modellen kan generere nøyaktige 3D-modeller fra våre genererte bilder.
For hver oppgitt tekstmelding trener DreamFusion en tilfeldig initialisert NeRF fra bunnen av. Hver iterasjon velger en tilfeldig kameraposisjon i et sett med sfæriske koordinater. Tenk på modellen innkapslet i en glasskule. Hver gang vi genererer et nytt bilde av 3D-modellen vår, velger vi et tilfeldig punkt i sfæren vår som utsiktspunkt for utdataene våre. DreamFusion vil også velge en tilfeldig lysposisjon l å bruke til gjengivelse.
Når vi har et kamera og lysposisjon, vil en NeRF-modell bli gjengitt. DreamFusion vil også tilfeldig velge mellom en farget gjengivelse, en teksturløs gjengivelse og en gjengivelse av albedoen uten skyggelegging.
Vi har nevnt tidligere at vi ønsker at vår tekst-til-bilde-modell (Imagen) skal produsere nok bilder til å lage et representativt utvalg.
Hvordan oppnår Dreamfusion dette?
Dreamfusion endrer ganske enkelt inndatameldingen litt for å oppnå de tiltenkte vinklene. For eksempel kan vi oppnå høye høydevinkler ved å legge til "overhead view" til ledeteksten vår. Vi kan generere andre vinkler ved å legge til setninger som "frontvisning", "sidevisning" og "bakfra".
Scener gjengis gjentatte ganger fra tilfeldige kameraposisjoner. Disse gjengivelsene går deretter gjennom en funksjon for tap av poengdestillasjon. En enkel gradient nedstigning vil sakte forbedre 3D-modell til det samsvarer med scenen som er beskrevet av teksten.
Når vi har gjengitt 3D-modellen ved hjelp av NeRF, kan vi bruke Marching Cubes-algoritme for å sende ut et 3D-nettverk av modellen vår. Dette nettet kan deretter importeres til populære 3D-renderere eller modelleringsprogramvare.
Begrensninger
Mens DreamFusions produksjon er imponerende nok siden den bruker eksisterende tekst-til-bilde-diffusjonsmodeller på en ny måte, har forskerne notert noen få begrensninger.
SDS-tapfunksjonen har blitt observert å gi overmettede og overutjevnede resultater. Du kan observere dette i den unaturlige fargen og mangelen på presise detaljer som finnes i utgangene.
DreamFusion-algoritmen er også begrenset av oppløsningen til Imagen-modellutgangen, som er 64 x 64 piksler. Dette fører til at de syntetiserte modellene mangler finere detaljer.
Til slutt har forskerne bemerket at det er en iboende utfordring i å syntetisere 3D-modeller fra 2D-data. Det er mange mulige 3D-modeller som vi kan generere fra et sett med 2D-bilder, noe som gjør optimalisering ganske vanskelig og til og med tvetydig.
konklusjonen
DreamFusions 3D-gjengivelser fungerer så bra på grunn av evnen til tekst-til-bilde-diffusjonsmodeller til å lage ethvert objekt eller scene. Det er imponerende hvordan et nevralt nettverk kan forstå en scene i 3D-rom uten 3D-treningsdata. Jeg anbefaler å lese hele papiret for å lære mer om de tekniske detaljene til DreamFusion-algoritmen.
Forhåpentligvis vil denne teknologien forbedres for til slutt å lage fotorealistiske 3D-modeller. Se for deg hele videospill eller simuleringer som bruker AI-genererte miljøer. Det kan senke inngangsbarrieren for videospillutviklere å skape oppslukende 3D-verdener!
Hvilken rolle tror du tekst-til-3D-modeller vil spille i fremtiden?
Legg igjen en kommentar