AI for generative design: Plain text to 3D Designs
blog.insightdatascience.com
blog.insightdatascience.com
I'm in no way a ML developer (I'm not even a developer), but I was wondering how hard it would be to generate an apartment / house layout from a (somewhat detailed) description.
I'm sure the first use that springs to mind is for architects and real estate developers / agents / brokers, but one of my pet-projects-I'll-never-really-do is to recreate memories in 3D from descriptions and old photos. Imagine being able to relive your childhood memories! Just throwing it out there in case one of you smart folks want to take that and run with it...
Wallacei X Cybertruck: https://youtu.be/bLZf-MNRoyg
FYI I tried clicking on "Slides" but got a 404 error, so thought I'd flag in case you know the authors.
I really want to try the live demo and make some melty furniture of my own, but I got this error:
ModuleNotFoundError: No module named 'plotly'The scene where the crew describes their mass dream into a horror dentist chair is forever burned into my brain as a technology I want in my lifetime.
However, the main problem I have with this approach is the voxels. They model the geometry and only the geometry. The far more important aspect of topology is left out. Thus, the results suffer the same problems like 3D scanning / photogrammetry does: It is practically unusable as it can not even be textured, yet alone animated or used in fabrication (except for Lego-models I guess). So point 5 of the future work is the biggest one in my opinion.
I'll update this comment another time but back in 2016 my company needed something like this and there was already research using GANs to generate objects from basic parameter inputs. The text portion wasn't there.
I believe that research came out of Stanford actually.
3d manifolds are sparse, and more analogous to 2d vector graphics. There are approaches for dealing with this type of data (eg. spectral graph NN) but they don't work as well for 3d topology as CNNs do for dense pixel data, as far as I know.
In the near term, it might be better to explore approaches that use voxels, then generate the topology heuristically.
You're right - the topology is a huge problem - but we're starting to see specialized tools that can take minimal input from the artist and automate the topology creation workflow.
Here's the GDC talk where the E.A devs go over how they converted the scans to game usable 3D models. https://youtu.be/U_WaqCBp9zo
Or did you mean the way the model is specified?
I think a better approach would be something similar to the StructureNet paper I mention in the post and use graph based models to actually attempt to capture the topology. But they did it with super explicitly defined part trees as training data the hard part would be finding a way to do that in a unsupervised manner so you could actually make use of the massive amount of unlabelled 3D models available.
But it very much looks like a very advanced way to produce something slightly less useful than a sketch on a napkin, since the latter was made with an actual understanding of what the description is supposed to mean.
Essentially, people in VR would be able to point and speak to create objects in a shared space.
I've got both working in Python, but don't do anything with the parsed text.
I want to do things like "create sphere" "move that up" "no, bigger"
etc.
(I couldn't find it in the linked article, might have missed it)
https://metapresent.org/creation-engine
Will be interesting to base it on a decentralised open platform that could be "built-in" in the Internet.
Importing libraries...
ModuleNotFoundError: No module named 'plotly'
Traceback:
File "/usr/local/lib/python3.7/site-packages/streamlit/ScriptRunner.py", line 314, in _run_script
exec(code, module.__dict__)
File "/app/shape/streamlit_app.py", line 15, in <module>
import plotlyFlat surface with bevelled edge and 4 Ionic columns as legs that fade into nymphs at the base.
Table with caryatid legs.
Crescent wrench that doubles as a corkscrew.
Stapleremover.
"sofa with 3 cushions and a round arm" should generate a model and match with similar looking products
[1] https://t2i.cvalenzuelab.com
[2] https://towardsdatascience.com/text-to-image-a3b201b003ae