The present application claims priority under 35 U.S.C. 119(a)-(d) to commonly assigned and co-pending Indian Patent Application Serial Number 202211039341, filed Jul. 8, 2022, the disclosure of which is hereby incorporated by reference in its entirety.
With respect to floor plan design of residential as well as non-residential facilities, tools, such as computer-aided design (CAD) tools, may be used to design a floor plan. Depending on the complexity of the floor plan design, various levels of expertise may be required for utilization of such tools. In an example of a floor plan design, an architect may obtain the requirements from a client in the form of room types, number of rooms, room sizes, plot boundary, the connection between rooms, etc., sketch out rough floor plans and collect feedback from the client, refine the sketched plans, and design and generate the floor plan using CAD tools.
Features of the present disclosure are illustrated by way of example and not limited in the following figure(s), in which like numerals indicate like elements, in which:
For simplicity and illustrative purposes, the present disclosure is described by referring mainly to examples. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be readily apparent however, that the present disclosure may be practiced without limitation to these specific details. In other instances, some methods and structures have not been described in detail so as not to unnecessarily obscure the present disclosure.
Throughout the present disclosure, the terms “a” and “an” are intended to denote at least one of a particular element. As used herein, the term “includes” means includes but not limited to, the term “including” means including but not limited to. The term “based on” means based at least in part on.
Generative network-based floor plan generation apparatuses, methods for generative network-based floor plan generation, and non-transitory computer readable media having stored thereon machine readable instructions to provide generative network-based floor plan generation are disclosed herein. The apparatuses, methods, and non-transitory computer readable media disclosed herein may provide for intuitive generation of a floor plan without requiring knowledge of complex floor plan design tools. In this regard, the apparatuses, methods, and non-transitory computer readable media disclosed herein may implement floor plan design exploration guided by multi-attribute constraints. Yet further, the apparatuses, methods, and non-transitory computer readable media disclosed herein may facilitate interactive floor plan design of a residential or non-residential facility.
The apparatuses, methods, and non-transitory computer readable media disclosed herein may represent a generative-based approach to synthesize floor plan layout that is guided by user constraints. User inputs in the form of boundary, room types, and spatial relationships may be considered to generate the layout design satisfying these requirements. Based on qualitative and quantitative analysis of metrics such as floor plan layout generation accuracy, realism, and quality, floor plans generated by the apparatuses, methods, and non-transitory computer readable media disclosed herein may provide greater realism and improved quality compared to known techniques.
With respect to floor plan design, as disclosed herein, tools, such as CAD tools, may be used to design a floor plan. Depending on the complexity of the floor plan design, various levels of expertise may be required for utilization of such tools. In this regard, it is technically challenging to generate a floor plan without expertise in floor plan design or the use of complex designing tools.
In order to address at least the aforementioned technical challenges, the apparatuses, methods, and non-transitory computer readable media disclosed herein may implement a generative model to synthesize floor plans guided by user constraints. User inputs in the form of boundary, room types, and spatial relationships may be analyzed to generate the floor plan design that satisfies these requirements. For example, the apparatuses, methods, and non-transitory computer readable media disclosed herein may receive, as input, a layout graph describing objects (e.g., types of rooms) and their relationships (e.g., connections between rooms, placement of furniture), and generate one or more realistic floor plans corresponding to the graph. The apparatuses, methods, and non-transitory computer readable media disclosed herein may utilize a graph convolution network (GCN) to process an input layout graph, which provides embedding vectors for each room type. These vectors may be used to predict bounding boxes and segmentation masks for objects, which are combined to form a space layout. The space layout may be synthesized to an image using an image synthesizer to generate a floor plan.
The architecture of the generative network-based floor plan generation apparatus may include four components that include a graph convolutional message passing network analyzer, a space layout network analyzer, an image synthesizer, and a discriminator. Generally, the apparatuses, methods, and non-transitory computer readable media disclosed herein may receive a noise vector and a layout graph with encoded user-constraints as input, and generate one or more realistic floor plans as output. The graph convolutional message passing network analyzer may process input graphs and generate embedding vectors for each room type. The space layout network analyzer may predict bounding boxes and segmentation masks for each room embedding, and combine the bounding boxes and the segmentation masks to generate a space layout. The image synthesizer may synthesize an image based on the noise vector to generate a synthesized floor plan. The discriminator may classify the synthesized floor plan as authentic or not-authentic.
With respect to techniques for floor plan generation that may define heuristics to place doors and windows, the apparatuses, methods, and non-transitory computer readable media disclosed herein may learn these heuristics from data, and predict the placement of doors and windows. Additionally, some approaches for floor plan design may require further post-processing such as fixing gaps and overlaps to make the floor plan look more realistic, and not learned from data. The apparatuses, methods, and non-transitory computer readable media disclosed herein may generate higher quality floor plan layouts without such post-processing. The apparatuses, methods, and non-transitory computer readable media disclosed herein may further provide an end-to-end trainable network to generate floor plans along with doors and windows from a given input boundary and layout graph. The generated two-dimensional (2D) floor plan may be converted to 2.5D to 3D floor plans. The aforementioned floor plan generation process may also be used to generate floor plans for a single unit or multiple units. For example, in the case of an apartment, a layout of multiple units of different configurations may be generated. The generated floor plan may be utilized to automatically (e.g., without human intervention) control (e.g., by a controller) one or more tools and/or machines related to construction of a structure specified by the floor plan. For example, the tools and/or machines may be automatically guided by the dimensional layout of the floor plan to coordinate and/or verify dimensions and/or configurations of structural features (e.g., walls, doors, windows, etc.) specified by the floor plan.
For the apparatuses, methods, and non-transitory computer readable media disclosed herein, the elements of the apparatuses, methods, and non-transitory computer readable media disclosed herein may be any combination of hardware and programming to implement the functionalities of the respective elements. In some examples described herein, the combinations of hardware and programming may be implemented in a number of different ways. For example, the programming for the elements may be processor executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the elements may include a processing resource to execute those instructions. In these examples, a computing device implementing such elements may include the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separately stored and accessible by the computing device and the processing resource. In some examples, some elements may be implemented in circuitry.
Referring to
A space layout network analyzer 114 that is executed by at least one hardware processor (e.g., the hardware processor 1302 of
An image synthesizer 124 that is executed by at least one hardware processor (e.g., the hardware processor 1302 of
A discriminator 132 that is executed by at least one hardware processor (e.g., the hardware processor 1302 of
Referring to
The space layout network analyzer 114 may predict the bounding boxes 118 and the segmentation masks 120 for each room embedding 116 from the layout graph 106, and combine the bounding boxes 118 and the segmentation masks 120 to generate the space layout 122. A bounding box may be used to describe the spatial location of an object. A mask may represent a binary image including zero and non-zero values. A space layout may represent an aggregation of bilinear interpolation of a bounding box and a mask for each room type (e.g., node).
The image synthesizer 124 may synthesize the floor plan 104 conditioned on the space layout 122, noise 126, and contextual graph embedding 128. Random noise may generally include a Gaussian function passed to the image synthesizer 124. However, instead of random noise, parameters such as mean and variance may be generated from a dataset. A contextual graph embedding may capture the compact representation of the spatial relation of a room.
The discriminator 132 may classify the synthesized floor plan 104 as authentic 134 or not-authentic 136. In this regard, an authentic floor plan may ensure that the generated floor plans look realistic.
The graph convolutional message passing network analyzer 102, the space layout network analyzer 114, the image synthesizer 124, and the discriminator 132 may be trainable to generate rooms, walls, doors, and windows.
Image encoder 200 may encode a real image (e.g., floor plan image 202) to a latent representation for generating a mean vector and a variance vector. In this regard, an authentic (e.g., real floor plan) may be passed through a series of layers (shown in
A layout graph context network 204 may pool the features generated from the graph convolutional message passing network analyzer 102. Pooling may be used to summarize the feature vector through functions such as Max, Avg., Min., etc. Each feature vector when pooled may be reduced to a scalar value. The scalar value of all of the room types may be concatenated and passed through the layout graph context network 204. These pooled context features may then be passed to a fully-connected layer 206 that generates embeddings that are provided to both the image synthesizer 124 and the discriminator 132 during training. The fully-connected layer 206 may represent a linear layer for processing input values.
In some examples, the image synthesizer 124 may receive an input boundary feature map (e.g., B as a 256×256 image). The graph convolutional message passing network analyzer 102 may receive the layout graph 106 with encoded user-constraints G as input, and the image synthesizer 124 may generate the realistic floor plan 104 (e.g., floor plan layout L) as output. Thus, the image synthesizer 124 may receive an input boundary feature map, and generate, based on an analysis of the space layout and the input boundary feature map, the floor plan. The input boundary feature map may be represented as a 256×256 image. The nodes of the layout graph 106 may be denoted room types, and the edges may be denoted connections between the rooms. Each node may be represented as a tuple (η, li, si); where ri∈Rd
With respect to the graph convolutional message passing network analyzer 102, the layout graph 106 may be passed through a series of graph convolution layers (e.g., a message passing network) which generates embedding vectors for each node (e.g., a room). The graph convolutional message passing network analyzer 102 may utilize embedding layers to embed the room types and relationships in the layout graph 106 to produce vectors of dimension Din=128. Given an input graph with vectors of dimension D 1 at each node and edge, the graph convolutional message passing network analyzer 102 may determine new vectors of dimension Dour for each node and edge. Output vectors may be a function of a neighborhood of their corresponding inputs so that each graph convolution layer propagates information along edges of the layout graph 106.
With respect to the graph convolutional message passing network analyzer 102, a graph neural network (GNN) of the graph convolutional message passing network analyzer 102 may represent a deep neural network that uses a graph data structure to capture the dependence of data. The GNN may adopt a message-passing strategy to update the representation of a node by aggregating transformed messages (representations) of its neighboring nodes. After T iterations of message passing, a node's representation may capture dependence from all the nodes within a t-hop neighborhood. Formally, a node Vs representations at eh layer may be defined as follows:
m
u
(t)
=MSG.
(t)(hu(t-1),u∈{(v)∪v}hv(t)=AGG.(t)({mu(t),u∈(v)},mc(t))
In this regard, h(t) may represent the feature representation of node v at tth layer, m(t) may represent the transformed message from neighborhood node u, and N (v) may represent the set of nodes adjacent to v. MSG may represent the message transformation at a particular node, and AGG may represent the aggregation function implemented, for example, as a Multi-Layer Perceptron (MLP) aggregation, to capture the messages from neighboring nodes.
Referring to
Referring to
With respect to
The embedding vector of each room type it; may be multiplied element-wise with their mask rmi to generate a masked embedding of shape D*M*M at 310, which may then be warped to the position of the bounding box using bi-linear interpolation to generate a room layout 312. Space layout 314 may represent the sum of all of the room layouts. A similar approach may be implemented to generate walls and door masks. During training, ground truth bounding boxes may be utilized for each room type to compare with the predicted bounding boxes. However, during inference time, the predicted bounding boxes bi may be utilized.
Referring to
Referring to
Referring to
Referring to
Given the space layout mask, noise and contextual graph embedding, the image synthesizer 124 may synthesize a rasterized floor plan that follows the generated room positions in the layout graph 106. The Image synthesizer network may include a series of the residual blocks with nearest neighbor upsampling. Since each block operates at a different scale, the space layout mask may be resized to match the resolution of a corresponding feature map using nearest-neighbor downsampling. In this regard, the spectral may be applied to all of the convolutional layers in the image synthesizer 124. The image encoder 200 may encode a real floor plan image to a latent representation for generating a mean vector and a variance vector. The mean vector and the variance vector may be used to determine the noise input to the image synthesizer 124 via reparameterization. The image encoder 200 may include a series of convolutional layers with stride of two, followed by two linear layers that output a mean vector and a variance vector. In order to encourage the generated floor plans not only to appear realistic (e.g., authentic), but to respect the layout graph relationships, a layout context network 204 may be utilized. The layout context network 204 may pool the features generated from a Conv-MPN network. These pooled context features may then be passed to the fully-connected (FC) layer 206 that generates embeddings (contextual graph embedding) that are provided to both the image synthesizer 124 and the discriminator 132 during training.
With respect to loss function, the space layout network analyzer 114 may be trained to minimize the weighted sum of four losses. For example, bounding box loss (Lb) may determine the L2 difference between ground truth and predicted bounding boxes. Mask loss (Lm) may determine the L2 difference between ground truth and predicted masks. Pixel loss (Lp) may determine the L2 difference between ground-truth and generated images. Overlap loss (Lo) may determine the overlap between the predicted room bounding boxes. The overlap between room bounding boxes may be specified to be as small as possible. Image adversarial loss (LGAN) may be determined to generate floor plan images that appear realistic.
Loss may be determined as: LT=λbLb+λmLm+λpLp+λoLo, where λb=λm=λp=λb0=1
The training dataset may include, for example, several thousand vector-graphics floor plans of residential (and/or non-residential) buildings designed by architects. Each floor plan may be represented as a four channel image. The first channel may store inside mask, the second channel may store boundary mask, the third channel may store wall mask, and the fourth channel may store room mask.
Referring to
The processor 1302 of
Referring to
The processor 1302 may fetch, decode, and execute the instructions 1308 to generate, based on the layout graph 106, embedding vectors 112 for each room type of the plurality of room types 110.
The processor 1302 may fetch, decode, and execute the instructions 1310 to determine, for each room embedding 116 from the layout graph 106, and based on an analysis of the embedding vectors 112 for each room type of the plurality of room types 110, bounding boxes 118 and segmentation masks 120.
The processor 1302 may fetch, decode, and execute the instructions 1312 to generate, by combining the bounding boxes 118 and the segmentation masks 120, a space layout 122.
The processor 1302 may fetch, decode, and execute the instructions 1314 to generate, based on an analysis of the space layout 122, the floor plan 104.
The processor 1302 may fetch, decode, and execute the instructions 1316 to synthesize the floor plan 104 based on the space layout 122, noise 126, and a contextual graph embedding 128 to generate a synthesized floor plan 130.
The processor 1302 may fetch, decode, and execute the instructions 1318 to classify the synthesized floor plan 104 as authentic 134 or not-authentic 136.
Referring to
At block 1404, the method may include generating, by combining the bounding boxes 118 and the segmentation masks 120, a space layout 122.
At block 1406, the method may include generating, based on an analysis of the space layout 122, a floor plan 104.
At block 1408, the method may include synthesizing the floor plan 104 based on the space layout 122, noise 126, and a contextual graph embedding 128 to generate a synthesized floor plan 130.
At block 1410, the method may include classifying the synthesized floor plan 104 as authentic 134 or not-authentic 136.
Referring to
The processor 1504 may fetch, decode, and execute the instructions 1508 to generate, based on an analysis of the space layout 122, a floor plan 104.
The processor 1504 may fetch, decode, and execute the instructions 1510 to synthesize the floor plan 104 based on at least one of the space layout 122, noise 126, or a contextual graph embedding 128 to generate a synthesized floor plan 130.
The processor 1504 may fetch, decode, and execute the instructions 1512 to classify the synthesized floor plan 104 as authentic 134 or not-authentic 136.
What has been described and illustrated herein is an example along with some of its variations. The terms, descriptions and figures used herein are set forth by way of illustration only and are not meant as limitations. Many variations are possible within the spirit and scope of the subject matter, which is intended to be defined by the following claims—and their equivalents—in which all terms are meant in their broadest reasonable sense unless otherwise indicated.
Number | Date | Country | Kind |
---|---|---|---|
202211039341 | Jul 2022 | IN | national |