Inhoudsopgave[Zich verstoppen][Laten zien]
Je hebt misschien gehoord hoe krachtig tekst-naar-beeld AI-modellen de afgelopen jaren zijn geworden. Maar wist je dat dezelfde technologie kan helpen bij het maken van de sprong van 2D naar 3D?
AI-gegenereerde 3D-modellen hebben een brede use-case in het huidige digitale landschap. Video games en film vertrouwen op bekwame 3D-artiesten en modelleringssoftware zoals Blender om 3D-middelen te creëren om door de computer gegenereerde scènes te bevolken.
Is het echter mogelijk dat de industrie machinaal leren kan gebruiken om met minder moeite 3D-middelen te creëren, vergelijkbaar met de manier waarop 2D-kunstenaars tegenwoordig technologie zoals DALL-E en halverwege de reis?
Dit artikel onderzoekt een nieuw algoritme dat probeert een effectief tekst-naar-3D-model te maken met bestaande diffusiemodellen.
Wat is Droomfusie?
Een belangrijk probleem bij het maken van een diffusiemodel dat rechtstreeks 3D-assets genereert, is dat er simpelweg niet veel 3D-gegevens beschikbaar zijn. 2D-diffusiemodellen zijn zo krachtig geworden vanwege de enorme dataset met afbeeldingen die op internet te vinden zijn. Hetzelfde kan niet gezegd worden met 3D-assets.
Sommige generatieve 3D-technieken omzeilen dit gebrek aan gegevens door gebruik te maken van deze overvloed aan 2D-gegevens.
DroomFusie is een generatief model dat 3D-modellen kan maken op basis van een verstrekte tekstbeschrijving. Het DreamFusion-model gebruikt een vooraf getraind tekst-naar-beeld-diffusiemodel om realistische driedimensionale modellen te genereren op basis van tekstprompts.
Ondanks dat er geen 3D-trainingsgegevens zijn, heeft deze aanpak coherente 3D-items gegenereerd met een getrouw uiterlijk en diepte.
Hoe werkt het?
Het DreamFusion-algoritme bestaat uit twee hoofdmodellen: een 2D-diffusiemodel en een neuraal netwerk die 2D-beelden kan omzetten in een samenhangende 3D-scène.
Het Imagen-tekst-naar-afbeelding-model van Google
Het eerste deel van het algoritme is het diffusiemodel. Dit model is verantwoordelijk voor het omzetten van tekst naar afbeeldingen.
Beeld is een diffusiemodel dat een groot aantal beeldvariaties van een bepaald object kan genereren. In dit geval moeten onze beeldvariaties alle mogelijke hoeken van het geleverde object dekken. Als we bijvoorbeeld een 3D-model van een paard willen genereren, willen we 2D-beelden van het paard vanuit alle mogelijke hoeken. Het doel is om Imagen te gebruiken om zoveel mogelijk informatie (kleuren, reflecties, densiteit) te leveren voor het volgende model in ons algoritme.
3D-modellen maken met NeRF
Vervolgens gebruikt Dreamfusion een model dat bekend staat als a Neurale stralingsveld of NeRF om daadwerkelijk het 3D-model te maken van de gegenereerde afbeeldingenset. NeRF's zijn in staat om complexe 3D-scènes te creëren op basis van een dataset van 2D-afbeeldingen.
Laten we proberen te begrijpen hoe een NeRF werkt.
Het model heeft tot doel een continue volumetrische scènefunctie te creëren die is geoptimaliseerd op basis van de geleverde dataset van 2D-beelden.
Als het model een functie creëert, wat zijn dan de input en output?
De scènefunctie neemt een 3D-locatie en een 2D-kijkrichting als input. De functie voert vervolgens een kleur uit (in de vorm van RGB) en een specifieke volumedichtheid.
Om een 2D-beeld vanuit een specifiek gezichtspunt te genereren, genereert het model een set 3D-punten en voert deze punten door de scènefunctie om een set kleur- en volumedensiteitswaarden te retourneren. Volumerenderingtechnieken zullen die waarden vervolgens omzetten in een 2D-beelduitvoer.
NeRF- en 2D-diffusiemodellen samen gebruiken
Nu we weten hoe een NeRF werkt, gaan we kijken hoe dit model nauwkeurige 3D-modellen kan genereren uit onze gegenereerde afbeeldingen.
Voor elke verstrekte tekstprompt traint DreamFusion een willekeurig geïnitialiseerde NeRF vanaf nul. Elke iteratie kiest een willekeurige camerapositie in een reeks sferische coördinaten. Denk aan het model ingekapseld in een glazen bol. Elke keer dat we een nieuw beeld van ons 3D-model genereren, kiezen we een willekeurig punt in onze bol als gezichtspunt van onze output. DreamFusion zal ook een willekeurige lichtstand kiezen l te gebruiken voor weergave.
Zodra we een camera en lichtpositie hebben, wordt een NeRF-model weergegeven. DreamFusion zal ook willekeurig kiezen tussen een gekleurde weergave, een textuurloze weergave en een weergave van het albedo zonder enige schaduw.
We hebben eerder vermeld dat we willen dat ons tekst-naar-afbeelding-model (Imagen) voldoende afbeeldingen produceert om een representatieve steekproef te maken.
Hoe doet Dreamfusion dit?
Dreamfusion past eenvoudigweg de invoerprompt enigszins aan om de beoogde hoeken te bereiken. We kunnen bijvoorbeeld grote elevatiehoeken bereiken door "bovenaanzicht" aan onze prompt toe te voegen. We kunnen andere hoeken genereren door zinnen als "vooraanzicht", "zijaanzicht" en "achteraanzicht" toe te voegen.
Scènes worden herhaaldelijk weergegeven vanuit willekeurige cameraposities. Deze weergaven gaan vervolgens door een scoredestillatieverliesfunctie. Een eenvoudige aanpak met gradiëntafdaling zal langzaamaan de verbetering verbeteren 3D-model totdat het overeenkomt met de scène beschreven door de tekst.
Zodra we het 3D-model hebben gerenderd met NeRF, kunnen we de Marching Cubes-algoritme om een 3D-mesh van ons model uit te voeren. Deze mesh kan vervolgens worden geïmporteerd in populaire 3D-renderers of modelleringssoftware.
Beperkingen
Hoewel de uitvoer van DreamFusion indrukwekkend genoeg is omdat het bestaande tekst-naar-beeld-diffusiemodellen op een nieuwe manier gebruikt, hebben de onderzoekers enkele beperkingen opgemerkt.
Er is waargenomen dat de SDS-verliesfunctie oververzadigde en te gladgemaakte resultaten oplevert. Je kunt dit zien aan de onnatuurlijke kleuren en het gebrek aan precieze details in de uitvoer.
Het DreamFusion-algoritme wordt ook beperkt door de resolutie van de uitvoer van het Imagen-model, namelijk 64 x 64 pixels. Dit leidt ertoe dat de gesynthetiseerde modellen fijnere details missen.
Ten slotte hebben de onderzoekers opgemerkt dat er een inherente uitdaging is bij het synthetiseren van 3D-modellen uit 2D-gegevens. Er zijn veel mogelijke 3D-modellen die we kunnen genereren op basis van een set 2D-afbeeldingen, wat optimalisatie behoorlijk moeilijk en zelfs dubbelzinnig maakt.
Conclusie
De 3D-weergaven van DreamFusion werken zo goed vanwege het vermogen van diffusiemodellen van tekst naar afbeelding om elk object of elke scène te creëren. Het is indrukwekkend hoe een neuraal netwerk een scène in 3D-ruimte kan begrijpen zonder enige 3D-trainingsgegevens. Ik raad aan om de heel papier voor meer informatie over de technische details van het DreamFusion-algoritme.
Hopelijk zal deze technologie verbeteren om uiteindelijk fotorealistische 3D-modellen te creëren. Stel je hele videogames of simulaties voor die gebruikmaken van door AI gegenereerde omgevingen. Het zou de toetredingsdrempel kunnen verlagen voor ontwikkelaars van videogames om meeslepende 3D-werelden te creëren!
Welke rol denken jullie dat tekst-naar-3D-modellen in de toekomst zullen spelen?
Laat een reactie achter