Možda ste čuli koliko su moćni AI modeli pretvaranja teksta u sliku postali u posljednjih nekoliko godina. Ali jeste li znali da bi ista tehnologija mogla pomoći da se napravi iskorak sa 2D na 3D?
3D modeli generirani umjetnom inteligencijom imaju široku upotrebu u današnjem digitalnom okruženju. Video igrice i film se oslanjaju na iskusne 3D umjetnike i softver za modeliranje kao što je Blender za kreiranje 3D sredstava za popunjavanje kompjuterski generiranih scena.
Međutim, da li je moguće da bi industrija mogla koristiti strojno učenje za stvaranje 3D imovine uz manje napora, slično kao što 2D umjetnici danas počinju usvajati tehnologiju kao što su DALL-E i midjourney?
Ovaj članak će istražiti novi algoritam koji pokušava stvoriti efikasan model teksta u 3D koristeći postojeći difuzioni modeli.
Šta je Dreamfusion?
Jedan od glavnih problema sa kreiranjem modela difuzije koji direktno generiše 3D sredstva je to što jednostavno nema puno dostupnih 3D podataka. 2D modeli difuzije postali su toliko moćni zbog ogromnog skupa podataka slika pronađenih na internetu. Isto se ne može reći za 3D sredstva.
Neke 3D generativne tehnike zaobilaze ovaj nedostatak podataka koristeći prednosti ovog obilja 2D podataka.
DreamFusion je generativni model koji može kreirati 3D modele na osnovu datog tekstualnog opisa. DreamFusion model koristi unaprijed obučeni model difuzije teksta u sliku za generiranje realističnih trodimenzionalnih modela iz tekstualnih upita.
Uprkos tome što nema 3D podataka za obuku, ovaj pristup je generisao koherentna 3D sredstva sa izgledom i dubinom visoke vernosti.
Kako to radi?
DreamFusion algoritam se sastoji od dva glavna modela: 2D difuzionog modela i neuronska mreža koji može pretvoriti 2D slike u kohezivnu 3D scenu.
Googleov Imagen Text-to-Image model
Prvi dio algoritma je model difuzije. Ovaj model je odgovoran za pretvaranje teksta u slike.
Imagen je model difuzije koji može generirati veliki uzorak varijacija slike određenog objekta. U ovom slučaju, naše varijacije slike treba da pokriju sve moguće uglove datog objekta. Na primjer, ako želimo generirati 3D model konja, željeli bismo 2D slike konja iz svih mogućih uglova. Cilj je koristiti Imagen za pružanje što više informacija (boje, refleksije, gustina) za sljedeći model u našem algoritmu.
Kreiranje 3D modela uz NeRF
Dalje, Dreamfusion koristi model poznat kao a Neural Radiance Field ili NeRF da zapravo kreirate 3D model iz generisanog skupa slika. NeRF-ovi su u stanju da kreiraju složene 3D scene sa skupom podataka 2D slika.
Hajde da pokušamo da razumemo kako NeRF funkcioniše.
Model ima za cilj da kreira kontinuiranu volumetrijsku funkciju scene optimizovanu iz datog skupa podataka 2D slika.
Ako model kreira funkciju, koji su ulaz i izlaz?
Funkcija scene uzima 3D lokaciju i 2D smjer gledanja kao ulaz. Funkcija zatim daje boju (u obliku RGB) i specifičnu gustinu volumena.
Za generiranje 2D slike iz određene tačke gledišta, model će generirati skup 3D tačaka i pokrenuti te tačke kroz funkciju scene kako bi vratio skup vrijednosti gustine boje i volumena. Tehnike obimnog renderiranja će zatim pretvoriti te vrijednosti u izlaz 2D slike.
Zajedničko korištenje NeRF i 2D modela difuzije
Sada kada znamo kako NeRF funkcioniše, hajde da vidimo kako ovaj model može da generiše tačne 3D modele iz naših generisanih slika.
Za svaku pruženu tekstualnu prompt, DreamFusion trenira nasumično inicijalizirani NeRF od nule. Svaka iteracija bira nasumični položaj kamere u skupu sfernih koordinata. Zamislite model zatvoren u staklenu sferu. Svaki put kada generišemo novu sliku našeg 3D modela, mi ćemo izabrati nasumično odabranu tačku u našoj sferi kao tačku gledišta našeg rezultata. DreamFusion će također odabrati nasumični položaj svjetla l koristiti za renderiranje.
Kada budemo imali kameru i poziciju svjetla, NeRF model će biti prikazan. DreamFusion će također nasumično birati između renderiranja u boji, rendera bez teksture i renderiranja albeda bez ikakvog senčenja.
Ranije smo spomenuli da želimo da naš model teksta u sliku (Imagen) proizvede dovoljno slika za kreiranje reprezentativnog uzorka.
Kako Dreamfusion to postiže?
Dreamfusion jednostavno malo modificira upit za unos kako bi postigao željene uglove. Na primjer, možemo postići velike uglove elevacije dodavanjem "pregled iznad glave" našem upitu. Možemo generirati druge uglove dodavanjem fraza kao što su “pogled sprijeda”, “pogled sa strane” i “pogled straga”.
Scene se više puta renderuju iz nasumičnih pozicija kamere. Ovi prikazi zatim prolaze kroz funkciju gubitka destilacije rezultata. Jednostavan pristup gradijentnom spuštanju će polako poboljšati 3D model dok se ne poklapa sa scenom opisanom u tekstu.
Nakon što renderiramo 3D model koristeći NeRF, možemo koristiti Algoritam marširajućih kocki za izlaz 3D mreže našeg modela. Ova mreža se zatim može uvesti u popularne 3D renderere ili softver za modeliranje.
ograničenja
Iako je rezultat DreamFusiona dovoljno impresivan jer koristi postojeće modele difuzije teksta u sliku na nov način, istraživači su primijetili nekoliko ograničenja.
Uočeno je da funkcija gubitka SDS-a daje prezasićene i previše izglađene rezultate. To možete uočiti u neprirodnom koloritu i nedostatku preciznih detalja koji se nalaze na izlazima.
DreamFusion algoritam je također ograničen rezolucijom izlaznog modela Imagen, koja iznosi 64 x 64 piksela. To dovodi do toga da sintetizirani modeli nemaju finije detalje.
Na kraju, istraživači su primijetili da postoji inherentan izazov u sintetiziranju 3D modela iz 2D podataka. Postoji mnogo mogućih 3D modela koje možemo generirati iz skupa 2D slika, što optimizaciju čini prilično teškom, pa čak i dvosmislenom.
zaključak
DreamFusionovi 3D prikazi rade tako dobro zbog mogućnosti difuznih modela teksta u sliku da kreiraju bilo koji objekat ili scenu. Impresivno je kako neuronska mreža može razumjeti scenu u 3D prostoru bez ikakvih 3D podataka o obuci. Preporučujem čitanje ceo papir da saznate više o tehničkim detaljima DreamFusion algoritma.
Nadamo se da će se ova tehnologija poboljšati kako bi se na kraju stvorili foto-realistični 3D modeli. Zamislite čitave video igre ili simulacije koje koriste okruženja generirana umjetnom inteligencijom. To bi moglo smanjiti ulaznu barijeru za programere video igara kako bi kreirali impresivne 3D svjetove!
Šta mislite, kakvu će ulogu imati modeli za pretvaranje teksta u 3D u budućnosti?
Ostavite odgovor