Skip to content

Repository files navigation

GenPlan : Generation Vector Residential Plans Based on the Textual Description [RU/EN]

scitepress, arXiv

Contacts: Egor Bazhenov

Scheme of the method

We present an algorithm for generating 2D/3D vector residential plans based on a text description. This algorithm supports several output data options. SVG is supported for 2D. IFC, OBJ, glTF, and GIF are supported for 3D.

Generation example

Text prompt Raster Image Vector Image 3D Image
A minimalist 2D floor plan of an empty studio apartment without any text, featuring clean black lines and white spaces, showcasing an open layout with designated areas for living, sleeping, and kitchen. without words on a picture

Usage

  1. git clone https://github.com/CTLab-ITMO/GenPlan
  2. pip install requirements.txt
  3. python pipeline.py --text <your text promt> --generation_model <model_name> --result_type <2d or 3d> --formats <svg, gif, gltf, ifc, obj> --control_image <list of coordinates pairs>

Script launch parameters

Parameter name Description
--text Text description of the plan.
--generation_model Model for generation. Can be one of these. SDXL is used by default.
--result_type The expected type of result. It can be 2D or 3D. 2D is used by default.
--formats Expected result formats. For 2D, only SVG. For 3D - all formats. SVG is used by default.
--control_image List of 2d contour coordinates of the generated plan. None is used by default.

Setting parameters

Individual settings can be configured by config file for your task.

Parameter name Description Type
PNG_PATH Generated bitmap image path String
CLEAN_PNG_PATH Cleaned bitmap image path String
BLACK_COLOR_BORDER Color filtering maximum value Float
MAX_PERCENTILE Maximum pixel differences percentage Float
MAX_VALUE Maximum value of dissimilar pixels Int
MIN_THICKNESS Minimum thickness of a vector line Int
MAX_DEVIATION Maximum deviation of points from a straight line Int
LOSS_SCALE Scale for a white loss Float
EDGING_TYPE Mask in which content would be, other space - white String
USE_WHITE_LOSS Whether to use white loss or not (works only with SDXL model type) Bool

Reference

@conference{visapp26,
    author={Egor Bazhenov and Stepan Kasai and Viacheslav Shalamov and Valeria Efimova},
    title={GenPlan: Generation Vector Residential Plans Based on the Textual Description},
    booktitle={Proceedings of the 21st International Conference on Computer Vision Theory and Applications - Volume 3: VISAPP},
    year={2026},
    pages={283-290},
    publisher={SciTePress},
    organization={INSTICC},
    doi={10.5220/0014238300004084},
    isbn={978-989-758-804-4},
    issn={2184-4321},
}

About

GenPlan: Generator of vector plans

Resources

Stars

1 star

Watchers

4 watching

Forks

Releases

Packages

Contributors

Languages