Poate că ați auzit despre cât de puternice au devenit modelele AI text-to-image în ultimii doi ani. Dar știați că aceeași tehnologie ar putea ajuta la trecerea de la 2D la 3D?
Modelele 3D generate de AI au un caz de utilizare larg în peisajul digital de astăzi. Jocuri video și filmul se bazează pe artiști 3D calificați și pe software de modelare, cum ar fi Blender, pentru a crea elemente 3D pentru a popula scenele generate de computer.
Cu toate acestea, este posibil ca industria să folosească învățarea automată pentru a crea active 3D cu mai puțin efort, similar cu modul în care artiștii 2D de astăzi încep să adopte tehnologii precum DALL-E și Mijlocul călătoriei?
Acest articol va explora un algoritm nou care încearcă să creeze un model eficient text-to-3D folosind existent modele de difuzie.
Ce este Dreamfusion?
O problemă majoră cu crearea unui model de difuzie care generează în mod direct active 3D este că pur și simplu nu există multe date 3D disponibile. Modelele de difuzie 2D au devenit atât de puternice datorită setului vast de date de imagini găsite pe internet. Nu același lucru se poate spune despre activele 3D.
Unele tehnici generative 3D rezolvă această lipsă de date profitând de această abundență de date 2D.
DreamFusion este un model generativ care poate crea modele 3D pe baza unei descriere text furnizată. Modelul DreamFusion folosește un model de difuzare text-la-imagine pre-antrenat pentru a genera modele tridimensionale realiste din mesajele text.
În ciuda faptului că nu are date de antrenament 3D, această abordare a generat active 3D coerente, cu aspect și profunzime de înaltă fidelitate.
Cum functioneazã?
Algoritmul DreamFusion constă din două modele principale: un model de difuzie 2D și a rețele neuronale care poate converti imagini 2D într-o scenă 3D coerentă.
Modelul Google Image Text-to-Image
Prima parte a algoritmului este modelul de difuzie. Acest model este responsabil pentru conversia textului în imagini.
Imagine este un model de difuzie care poate genera un eșantion mare de variații de imagine ale unui anumit obiect. În acest caz, variațiile noastre de imagine ar trebui să acopere toate unghiurile posibile ale obiectului furnizat. De exemplu, dacă am dori să generăm un model 3D al unui cal, am dori imagini 2D ale calului din toate unghiurile posibile. Scopul este de a folosi Imagen pentru a oferi cât mai multe informații (culori, reflexii, densitate) pentru următorul model din algoritmul nostru.
Crearea modelelor 3D cu NeRF
În continuare, Dreamfusion folosește un model cunoscut sub numele de a Câmpul de radiație neural sau NeRF pentru a crea efectiv modelul 3D din setul de imagini generate. NeRF-urile sunt capabile să creeze scene 3D complexe având în vedere un set de date de imagini 2D.
Să încercăm să înțelegem cum funcționează un NeRF.
Modelul își propune să creeze o funcție de scenă volumetrică continuă optimizată din setul de date furnizat de imagini 2D.
Dacă modelul creează o funcție, care sunt intrarea și ieșirea?
Funcția de scenă preia o locație 3D și o direcție de vizualizare 2D ca intrare. Funcția emite apoi o culoare (sub formă de RGB) și o anumită densitate de volum.
Pentru a genera o imagine 2D dintr-un anumit punct de vedere, modelul va genera un set de puncte 3D și va rula acele puncte prin funcția de scenă pentru a returna un set de valori de culoare și densitate de volum. Tehnicile de randare a volumului vor converti apoi acele valori într-o ieșire de imagine 2D.
Folosind împreună modelele NeRF și 2D Diffusion
Acum că știm cum funcționează un NeRF, să vedem cum acest model poate genera modele 3D precise din imaginile noastre generate.
Pentru fiecare mesaj text furnizat, DreamFusion antrenează de la zero un NeRF inițializat aleatoriu. Fiecare iterație alege o poziție aleatorie a camerei într-un set de coordonate sferice. Gândiți-vă la modelul închis într-o sferă de sticlă. De fiecare dată când generăm o nouă imagine a modelului nostru 3D, vom alege un punct aleatoriu din sfera noastră ca punct de vedere al rezultatelor noastre. DreamFusion va alege, de asemenea, o poziție aleatoare a luminii l de folosit pentru randare.
Odată ce avem o cameră și o poziție a luminii, va fi redat un model NeRF. De asemenea, DreamFusion va alege aleatoriu între o randare colorată, o redare fără textură și o redare a albedoului fără nicio umbră.
Am menționat mai devreme că dorim ca modelul nostru text-to-image (Imagen) să producă suficiente imagini pentru a crea un eșantion reprezentativ.
Cum realizează Dreamfusion acest lucru?
Dreamfusion pur și simplu modifică ușor promptul de intrare pentru a atinge unghiurile dorite. De exemplu, putem obține unghiuri de înălțime mari adăugând „vedere de sus” la solicitarea noastră. Putem genera alte unghiuri adăugând expresii precum „vedere frontală”, „vedere laterală” și „vedere din spate”.
Scenele sunt redate în mod repetat din poziții aleatorii ale camerei. Aceste redări trec apoi printr-o funcție de pierdere prin distilare. O abordare simplă de coborâre în gradient va îmbunătăți încet Modelul 3D până când se potrivește cu scena descrisă de text.
Odată ce am redat modelul 3D folosind NeRF, putem folosi Algoritmul Marching Cubes pentru a scoate o rețea 3D a modelului nostru. Această plasă poate fi apoi importată în software-ul de redare 3D popular sau de modelare.
Limitări
În timp ce rezultatul DreamFusion este suficient de impresionant, deoarece utilizează modelele existente de difuzare text-la-imagine într-un mod nou, cercetătorii au observat câteva limitări.
S-a observat că funcția de pierdere a SDS produce rezultate suprasaturate și supra-netezite. Puteți observa acest lucru în colorarea nenaturală și lipsa de detalii precise găsite în ieșiri.
Algoritmul DreamFusion este limitat și de rezoluția rezultatului modelului Imagen, care este de 64 x 64 pixeli. Acest lucru duce la lipsa de detalii mai fine modelelor sintetizate.
În cele din urmă, cercetătorii au observat că există o provocare inerentă în sintetizarea modelelor 3D din date 2D. Există multe modele 3D posibile pe care le putem genera dintr-un set de imagini 2D, ceea ce face optimizarea destul de dificilă și chiar ambiguă.
Concluzie
Redările 3D de la DreamFusion funcționează atât de bine datorită capacității modelelor de difuzie text-imagine de a crea orice obiect sau scenă. Este impresionant cum o rețea neuronală poate înțelege o scenă din spațiul 3D fără date de antrenament 3D. Recomand citirea întreaga hârtie pentru a afla mai multe despre detaliile tehnice ale algoritmului DreamFusion.
Sperăm că această tehnologie se va îmbunătăți pentru a crea în cele din urmă modele 3D foto-realiste. Imaginați-vă jocuri video sau simulări întregi care folosesc medii generate de AI. Ar putea reduce bariera de intrare pentru dezvoltatorii de jocuri video pentru a crea lumi 3D captivante!
Ce rol crezi că vor juca modelele text-to-3D în viitor?
Lasă un comentariu