---
title: RFP Levitate
tags: CoderPush
---
# RFP - **Levitate 2D Layouts Generator**
There are two core AI/ML problems:
- How to recognize all the applicable markers (Step 3)
- How to generate different layouts per segment (Step 5)

## Identify all applicable markers
Under the hood, the AI model must be able to recognize elements in the floor plan, including their boundary and type. These elements are interrelated graphical elements with structural semantics in the floor plan.

_Source: [Self-organizing Floor Plan by Silvio Carta](https://hdsr.mitpress.mit.edu/pub/w1gujxim/release/3)_
Organizing elements and segments of the floor plan in a topology graph allows us to put them back together after possibly changing some segments in the next step.
To train the AI model, there are two key factors:
- Which AI algorithm's being used?
- The data provided by Levitate. How the data is organized? Which format it is? Are there labels on each floor plan?
## Auto Generate Layouts Training
It looks like GANs (Generative Adversarial Neural Networks) is promising to solve this problem.
For example, architect and designer Erik Swahn produces simulations where GAN is employed to generate new built environments ranging from building interiors to maps and landscapes

In the RFP, it said: "*There are **design rules and guidelines** that will be provided by Levitate to be used for training the computer model to correctly identify where the main entrance of the segment, where to place a bedroom, kitchen, type of walls that are allowed to be adjusted, etc.*" So the challenge here is how to adjust the model while training to adapt to the rules and guidelines of Levitate.
And the question here is, how have the rules and guidelines been stored in the dataset? An assumption could be made that there could be much data processing work before model training.