Možda ste čuli koliko su moćni modeli umjetne inteligencije pretvaranja teksta u sliku postali u posljednjih nekoliko godina. Ali jeste li znali da bi ista tehnologija mogla pomoći u prelasku s 2D na 3D?
3D modeli generirani umjetnom inteligencijom imaju široku primjenu u današnjem digitalnom okruženju. Video igre i film se oslanjaju na vješte 3D umjetnike i softver za modeliranje kao što je Blender za stvaranje 3D sredstava za popunjavanje računalno generiranih scena.
Međutim, je li moguće da bi industrija mogla koristiti strojno učenje za stvaranje 3D materijala s manje truda, slično kao što 2D umjetnici danas počinju usvajati tehnologije kao što su DALL-E i Sredina putovanja?
Ovaj članak će istražiti novi algoritam koji pokušava stvoriti učinkovit tekst-u-3D model koristeći postojeće difuzijski modeli.
Što je Dreamfusion?
Jedan veliki problem sa stvaranjem difuzijskog modela koji izravno generira 3D sredstva je taj što jednostavno nema puno dostupnih 3D podataka. 2D difuzijski modeli postali su toliko moćni zbog golemog skupa podataka slika koji se nalaze na internetu. Isto se ne može reći za 3D imovinu.
Neke 3D generativne tehnike zaobilaze ovaj nedostatak podataka iskorištavanjem ovog obilja 2D podataka.
DreamFusion je generativni model koji može kreirati 3D modele na temelju ponuđenog tekstualnog opisa. Model DreamFusion koristi unaprijed uvježbani model difuzije teksta u sliku za generiranje realističnih trodimenzionalnih modela iz tekstualnih upita.
Unatoč tome što nema podataka o 3D obuci, ovaj je pristup generirao koherentna 3D sredstva s izgledom i dubinom visoke vjernosti.
Kako radi?
DreamFusion algoritam sastoji se od dva glavna modela: 2D difuzijskog modela i neuronska mreža koji može pretvoriti 2D slike u kohezivnu 3D scenu.
Googleov Imagen model teksta u sliku
Prvi dio algoritma je difuzijski model. Ovaj model je odgovoran za pretvaranje teksta u slike.
Slika je difuzijski model koji može generirati veliki uzorak varijacija slike određenog objekta. U ovom slučaju, naše varijacije slike trebale bi pokriti sve moguće kutove danog objekta. Na primjer, ako želimo generirati 3D model konja, htjeli bismo 2D slike konja iz svih mogućih kutova. Cilj je koristiti Imagen za pružanje što više informacija (boje, refleksije, gustoća) za sljedeći model u našem algoritmu.
Stvaranje 3D modela s NeRF-om
Zatim, Dreamfusion koristi model poznat kao a Neuralno polje zračenja ili NeRF za stvaranje 3D modela iz generiranog skupa slika. NeRF-ovi mogu stvoriti složene 3D scene na temelju skupa podataka 2D slika.
Pokušajmo razumjeti kako funkcionira NeRF.
Cilj modela je stvoriti kontinuiranu volumetrijsku funkciju scene optimiziranu iz dobivenog skupa podataka 2D slika.
Ako model stvara funkciju, što su ulaz i izlaz?
Funkcija scene uzima 3D lokaciju i 2D smjer gledanja kao ulaz. Funkcija zatim ispisuje boju (u obliku RGB) i određenu gustoću volumena.
Za generiranje 2D slike iz određene točke gledišta, model će generirati skup 3D točaka i pokrenuti te točke kroz funkciju scene da vrati skup vrijednosti gustoće boje i volumena. Tehnike volumenskog renderiranja zatim će pretvoriti te vrijednosti u izlaznu 2D sliku.
Zajedno korištenje NeRF i 2D difuzijskih modela
Sada kada znamo kako funkcionira NeRF, pogledajmo kako ovaj model može generirati točne 3D modele iz naših generiranih slika.
Za svaki navedeni tekstualni upit, DreamFusion ispočetka trenira nasumično inicijalizirani NeRF. Svaka iteracija odabire slučajni položaj kamere u skupu sfernih koordinata. Zamislite model uklopljen u staklenu kuglu. Svaki put kada generiramo novu sliku našeg 3D modela, odabrat ćemo slučajnu točku u našoj sferi kao povoljnu točku našeg izlaza. DreamFusion će također odabrati nasumični položaj svjetla l koristiti za renderiranje.
Kada imamo kameru i položaj svjetla, renderirat će se NeRF model. DreamFusion će također nasumično izabrati između renderiranja u boji, renderiranja bez teksture i renderiranja albeda bez sjenčanja.
Ranije smo spomenuli da želimo da naš model pretvaranja teksta u sliku (Imagen) proizvodi dovoljno slika za stvaranje reprezentativnog uzorka.
Kako Dreamfusion to postiže?
Dreamfusion jednostavno malo modificira upit za unos kako bi se postigli željeni kutovi. Na primjer, možemo postići velike kutove elevacije dodavanjem "pogleda iznad glave" našem upitu. Možemo generirati druge kutove dodavanjem izraza kao što su "pogled sprijeda", "pogled sa strane" i "pogled straga".
Scene se ponavljaju iz nasumičnog položaja kamere. Ti prikazi zatim prolaze kroz funkciju gubitka destilacijom rezultata. Jednostavan gradijentni pristup polako će poboljšati 3D model dok ne odgovara prizoru opisanom u tekstu.
Nakon što renderiramo 3D model pomoću NeRF-a, možemo koristiti Algoritam Marching Cubes za izlaz 3D mreže našeg modela. Ta se mreža zatim može uvesti u popularne 3D renderere ili softver za modeliranje.
Ograničenja
Dok je rezultat DreamFusiona dovoljno impresivan budući da koristi postojeće modele difuzije teksta u sliku na nov način, istraživači su uočili nekoliko ograničenja.
Uočeno je da SDS funkcija gubitka daje prezasićene i prezaglađene rezultate. To možete primijetiti u neprirodnim bojama i nedostatku preciznih detalja koji se nalaze u rezultatima.
DreamFusion algoritam također je ograničen rezolucijom izlaza modela Imagen, koja iznosi 64 x 64 piksela. To dovodi do toga da sintetiziranim modelima nedostaju finiji detalji.
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
3D prikazi DreamFusiona rade tako dobro zbog mogućnosti modela difuzije teksta u sliku da stvore bilo koji objekt ili scenu. Impresivno je kako neuronska mreža može razumjeti scenu u 3D prostoru bez ikakvih podataka za 3D obuku. Preporučujem čitanje cijeli papir kako biste saznali više o tehničkim detaljima algoritma DreamFusion.
Nadajmo se da će se ova tehnologija poboljšati kako bi na kraju stvorila foto-realistične 3D modele. Zamislite cijele video igre ili simulacije koje koriste okruženja generirana umjetnom inteligencijom. Mogao bi smanjiti barijeru ulaska programera videoigara u stvaranje impresivnih 3D svjetova!
Što mislite kakvu će ulogu imati modeli pretvaranja teksta u 3D u budućnosti?
Ostavi odgovor