<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>Aron Petau - generative</title>
    <link rel="self" type="application/atom+xml" href="https://aron.petau.net/tags/generative/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://aron.petau.net/"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2023-06-20T00:00:00+00:00</updated>
    <id>https://aron.petau.net/tags/generative/atom.xml</id>
    <entry xml:lang="en">
        <title>Stable Dreamfusion</title>
        <published>2023-06-20T00:00:00+00:00</published>
        <updated>2023-06-20T00:00:00+00:00</updated>
        
        <author>
          <name>
            Aron Petau
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://aron.petau.net/project/stable-dreamfusion/"/>
        <id>https://aron.petau.net/project/stable-dreamfusion/</id>
        
        <content type="html" xml:base="https://aron.petau.net/project/stable-dreamfusion/">&lt;h2 id=&quot;Stable_Dreamfusion&quot;&gt;Stable Dreamfusion&lt;&#x2F;h2&gt;
&lt;div class=&quot;sketchfab-embed-wrapper&quot;&gt; &lt;iframe title=&quot;Stable-Dreamfusion Pig&quot; frameborder=&quot;0&quot; allowfullscreen mozallowfullscreen=&quot;true&quot; webkitallowfullscreen=&quot;true&quot; allow=&quot;autoplay; fullscreen; xr-spatial-tracking&quot; xr-spatial-tracking execution-while-out-of-viewport execution-while-not-rendered web-share width=&quot;800&quot; height=&quot;600&quot; src=&quot;https:&#x2F;&#x2F;sketchfab.com&#x2F;models&#x2F;0af6d95988e44c73a693c45e1db44cad&#x2F;embed?ui_theme=dark&amp;dnt=1&quot;&gt; &lt;&#x2F;iframe&gt; &lt;&#x2F;div&gt;
&lt;h2 id=&quot;Sources&quot;&gt;Sources&lt;&#x2F;h2&gt;
&lt;p&gt;I forked a popular implementation that reverse-engineered the Google Dreamfusion algorithm. This algorithm is closed-source and not publicly available.
You can find my forked implementation &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;arontaupe&#x2F;stable-dreamfusion&quot;&gt;on my GitHub repository&lt;&#x2F;a&gt;.
This version runs on Stable Diffusion as its base process, which means we can expect results that might not match Google&#x27;s quality.
The &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;dreamfusion3d.github.io&quot;&gt;original DreamFusion paper and implementation&lt;&#x2F;a&gt; provides more details about the technique.&lt;&#x2F;p&gt;
&lt;iframe
	class=&quot;youtube-embed&quot;
	src=&quot;https:&#x2F;&#x2F;www.youtube-nocookie.com&#x2F;embed&#x2F;shW_Jh728yg&quot;
	allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot;
	referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen&gt;
&lt;&#x2F;iframe&gt;
&lt;h2 id=&quot;Gradio&quot;&gt;Gradio&lt;&#x2F;h2&gt;
&lt;p&gt;I forked the code to implement my own Gradio interface for the algorithm. Gradio is a great tool for quickly building interfaces for machine learning models. No coding is required for the end user - they can simply state their wish, and the system will generate a ready-to-be-rigged 3D model (OBJ file).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;Mixamo&quot;&gt;Mixamo&lt;&#x2F;h2&gt;
&lt;p&gt;I used Mixamo to rig the model. It&#x27;s a powerful tool for rigging and animating models, but its main strength is simplicity. As long as you have a model with a reasonable humanoid shape in a T-pose, you can rig it in seconds. That&#x27;s exactly what I did here.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;Unity&quot;&gt;Unity&lt;&#x2F;h2&gt;
&lt;p&gt;I used Unity to render the model for the Magic Leap 1 headset.
This allowed me to create an interactive and immersive environment with the generated models.&lt;&#x2F;p&gt;
&lt;p&gt;The vision was to build an AI Chamber of Wishes:
You put on the AR glasses, state your desires, and the algorithm presents you with an almost-real object in augmented reality.&lt;&#x2F;p&gt;
&lt;p&gt;Due to not having access to Google&#x27;s proprietary source code and the limitations of our studio computers (which, while powerful, aren&#x27;t quite optimized for machine learning), the results weren&#x27;t as refined as I had hoped.
Nevertheless, the results are fascinating, and I&#x27;m satisfied with the outcome.
A single object generation in the environment takes approximately 20 minutes.
The algorithm can be quite temperamental - it often struggles to generate coherent objects, but when it succeeds, the results are quite impressive.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
