Skip to main content

AI-Powered Interior Design: Revolutionizing Spaces with Google’s Generative Models

The world of interior design is constantly evolving, and with it, the tools and techniques used by designers to create innovative and trendsetting spaces. In recent years, generative AI has emerged as a powerful tool with the potential to revolutionize the interior design industry. In this article, we will explore how generative AI can assist interior designers in generating new ideas and concepts using Google’s suite of generative models for text and image generation.


In the realm of image generation, Google’s contributions are quite impressive and focused on creating realistic and creative imagery. One of Google’s most notable achievements in image generation is the development of Imagen (https://imagen.research.google/), a text-to-image diffusion model with an unprecedented degree of photorealism and a deep level of language understanding. Imagen builds on the power of large language models in understanding text and hinges on the strength of diffusion models in high-fidelity image generation.

By capitalizing on the strengths of Google Imagen and Google PaLM2 models accessible through Google Cloud’s Vertex Generative AI Studio, I will start by building an interior design assistant.

First thing we need to do is to craft a prompt that will instruct Google’s LLM on how it should generate ideas for new interior designs. For example, we may want our assistant to be inspired by nature and sustainable living. Also, we need to instruct the model to describe room ideas by providing details on color schemes, materials, furniture styles, lighting, textures, layout, focal points, and decorative elements:

Role: You are a world-class interior designer.
You are inspired by nature and sustainable living.
Task: Generate 10 detailed prompts, each with at least 10 details to be used to generate images of designed rooms by Google Imagen model.
You design spaces for both residential and commercial settings.
You can design living rooms, bedrooms, kitchens, home offices, or commercial spaces.
Prompts should include specifics on color schemes, materials, furniture styles, lighting, textures, layout, focal points, and decorative elements.
Think step by step about the space you would design and describe it. Every prompt should start with a type of room (e.g., Modern Living Room, Rustic Bedroom) and include a very detailed description of unique characteristics.
Format the output as a JSON string with a list of { ‘prompt’: prompt, ‘type’: type}. Make sure output is a well-formatted JSON. Use double quotes for attributes and values.

I used Vertex Generative AI Studio to prototype my prompt:

and then script it with Vertex AI SDK which enables us to call text-bison@latest from python:

python

from vertexai.language_models import TextGenerationModel

text_model = TextGenerationModel.from_pretrained(“text-bison@latest”)

creative_parameters = {
“temperature”: 0.7, # Temperature controls the degree of randomness in token selection.
“max_output_tokens”: 2024, # Token limit determines the maximum amount of text output.
“top_p”: 0.4, # Tokens are selected from most probable to least until the sum of their probabilities equals the top_p value.
“top_k”: 40, # A top_k of 1 means the selected token is the most probable among all tokens.
}

response = text_model.predict(
prompt, **creative_parameters
)

cls_response = response.text.replace(““`”,“”).replace(“json”, “”).replace(“JSON”,“”)

Sample response:

json
[
{
"prompt": "Modern Living Room: A spacious, open-concept living room with floor-to-ceiling windows allowing ample natural light. The color scheme is primarily neutral with shades of warm gray and ivory, accented with pops of sage green. The focal point is a large, abstract living wall featuring various air-purifying plants. Furniture includes a low-profile, modular sofa in light gray recycled fabric, paired with reclaimed wood coffee tables. Lighting is provided by sculptural pendant lights made from biodegradable materials. The flooring is polished concrete with area rugs made from sustainable jute. Decorative elements include minimalist artwork featuring natural landscapes and handcrafted ceramic vases.",
"type": "Living Room"
},
{
"prompt": "Eco-Friendly Home Office: A compact yet efficient home office designed with sustainability in mind. The walls are painted with low-VOC paint in a calming blue-green hue, reminiscent of ocean waves. The desk is a standing desk made from bamboo, paired with an ergonomic chair upholstered in organic wool fabric. Built-in shelving units are crafted from reclaimed wood, displaying a mix of books and potted succulents. Natural light is maximized through strategically placed mirrors, while task lighting is provided by LED desk lamps with adjustable color temperature. The floor features cork tiles, known for their sound-absorbing properties. A large window overlooks a small balcony garden, bringing the outside in.",
"type": "Home Office"
},
...
]

To further explore these ideas, we can utilize Google Imagen to produce their visual representations.

Let’s go with the first proposition:

“Modern Living Room: A spacious, open-concept living room with floor-to-ceiling windows allowing ample natural light. The color scheme is primarily neutral with shades of warm gray and ivory, accented with pops of sage green. The focal point is a large, abstract living wall featuring various air-purifying plants. Furniture includes a low-profile, modular sofa in light gray recycled fabric, paired with reclaimed wood coffee tables. Lighting is provided by sculptural pendant lights made from biodegradable materials. The flooring is polished concrete with area rugs made from sustainable jute. Decorative elements include minimalist artwork featuring natural landscapes and handcrafted ceramic vases.”

Again, we can script this using Vertex AI SDK:

python

from vertexai.preview.vision_models import Image, ImageGenerationModel

img_generation_model = ImageGenerationModel.from_pretrained(“imagegeneration@003”)

prompts = json.loads(cls_response)
print(prompts)

for prompt in prompts:
print(prompt[‘prompt’])

images = img_generation_model.generate_images(
prompt=“High resolution image of “ + prompt[‘prompt’],
# Optional:
number_of_images=4,
seed=1
)

When we repeat this sequence X times, we can quickly generate quite an impressive collection of visual inspirations!

[Insert collage of generated interior design images here]

This concept can be taken even further. We can use generated prompts not just as inputs to Google Imagen but also as inputs to Google PaLM2 (text-bison) which in turn will expand them to generate:

  • Detailed room descriptions
  • Material and furniture shopping lists
  • Design style guides

In my next article, I will show how we can use this approach to generate synthetic interior design portfolios for designers and virtual staging for real estate! Stay tuned!

This article is authored by Eric Stockmeyer— Designer / Creative Technologist at Google. The views expressed are those of the authors and don’t necessarily reflect those of Google.

Please clap for this article if you enjoyed reading it. For more about Google Cloud, data science, data engineering, and AI/ML follow me on LinkedIn.

You may want to check my previous articles on applied Generative AI on Google Cloud:

Leave a Reply