FLOOR PLAN GENERATION
20220188488 · 2022-06-16
Inventors
Cpc classification
G06F30/12
PHYSICS
G06F2111/02
PHYSICS
G06F30/13
PHYSICS
International classification
G06F30/27
PHYSICS
G06F30/12
PHYSICS
Abstract
A system for the generation of floor plans comprising a memory having a set of computer readable computer instructions, and a central processor for executing the set of computer readable instructions, the set of computer readable instructions including a pair of GAN models, the first model (GAN-I) being the learning model for all types of floor plans to generate color-coded floor plans and the second model (GAN-II) being the learning model for all color-coded floor plans to generate original architectural plan.
Claims
1. A system for generating floor plans comprising: a memory having a set of computer readable computer instructions, and a central processor for executing the set of computer readable computer instructions, the set of computer readable computer instructions including: one or more GAN models, a first model (GAN-I) being a learning model for all types of floor plans to generate color-coded floor plans; and a second model (GAN-II) being a learning model for all color-coded floor plans to generate original architectural plans.
2. The system for generating floor plans of claim 1 wherein a color code for each room is assigned and specified for each color-coded floor plan and the generated colored plans from the first model are cleaned using contour analysis.
3. The system for generating floor plans of claim 1 wherein color-coded floor plans from the first model are input to the GAN-II model to generate a black/white image of a generated floor plan.
4. The system for generating floor plans of claim 1 further including input data provided by a user of the system, the input data selected from the group comprising: number of bedrooms, number of bathrooms, budget, building materials, lot dimensions, number of stories, municipal restrictions, neighborhood restrictions, special needs (i.e., handicap access, limited mobility access), closet size, and the like.
5. The system for generating floor plans of claim 1, wherein the central processor comprises: one or more processors, one or more computers, one or more servers, and combinations thereof.
6. The system for generating floor plans of claim 1 wherein the first model (GAN-I) acquires or learns from existing floor plans obtained from any source available including, but not limited to, online, online databases, private databased, scanned documents, public databases, and the like.
7. A method for generating floor plans comprising the steps of: providing a system for generating floor plans comprising: a memory having a set of computer readable computer instructions, and a central processor for executing the set of computer readable computer instructions, the set of computer readable computer instructions including: one or more GAN models, with a first model (GAN-I) being a learning model for all types of floor plans to generate color-coded floor plans; a second model (GAN-II) being a learning model for all color-coded floor plans to generate original architectural plans; obtaining a first set of input data from a user of the system, the first set of input data including technical aspects of the floor plan; obtaining a second set of input data from a user of the system, the second set of input data including tastes and preferences of the user; creating a user profile based on the first set of input data and the second set of input data and storing the user profile in a database; applying a collaborative filter to the user profile to compare the user profiles to previous user profiles to locate similar users; locating floor plans chosen and liked by similar users within the database; applying a technical filter using the first set of input data to the floor plans chosen to obtain technical floor plans; applying a taste filter using the second set of input data to the floor plans chosen to obtain collaborative floor plans; generating original architectural plans based on the technical floor plans and the collaborative floor plans; and presenting original architectural plans to the user and allowing the user to download any floor plan(s) selected.
8. The method for generating floor plans of claim 7 wherein a color code for each room is assigned and specified for each color-coded floor plan and the generated colored plans from the first model are cleaned using contour analysis.
9. The method for generating floor plans of claim 7 wherein color-coded floor plans from the first model are input to the GAN-II model to generate a black/white image of a generated floor plan.
10. The method for generating floor plans of claim 7 further including input data provided by a user of the system, the input data selected from the group comprising: number of bedrooms, number of bathrooms, budget, building materials, lot dimensions, number of stories, municipal restrictions, neighborhood restrictions, special needs (i.e., handicap access, limited mobility access), closet size, and the like.
11. The method for generating floor plans of claim 7, wherein the central processor comprises: one or more processors, one or more computers, one or more servers, and combinations thereof.
12. The method for generating floor plans of claim 7 wherein the first model (GAN-I) acquires or learns from existing floor plans obtained from any source available including, but not limited to, online, online databases, private databased, scanned documents, public databases, and the like.
13. A system for generating floor plans comprising: a memory having a set of computer readable computer instructions, and a central processor for executing the set of computer readable computer instructions, the set of computer readable computer instructions including: a pair of GAN models, a first model (GAN-I) being a learning model for all types of floor plans to generate color-coded floor plans; and a second model (GAN-II) being a learning model for all color-coded floor plans to generate original architectural plans.
14. The system for generating floor plans of claim 13 wherein a color code for each room is assigned and specified for each color-coded floor plan and the generated colored plans from the first model are cleaned using contour analysis.
15. The system for generating floor plans of claim 13 wherein color-coded floor plans from the first model are input to the GAN-II model to generate a black/white image of a generated floor plan.
16. The system for generating floor plans of claim 13 further including input data provided by a user of the system, the input data selected from the group comprising: number of bedrooms, number of bathrooms, budget, building materials, lot dimensions, number of stories, municipal restrictions, neighborhood restrictions, special needs (i.e., handicap access, limited mobility access), closet size, and the like.
17. The system for generating floor plans of claim 13, wherein the central processor comprises: one or more processors, one or more computers, one or more servers, and combinations thereof.
18. The system for generating floor plans of claim 13 wherein the first model (GAN-I) acquires or learns from existing floor plans obtained from any source available including, but not limited to, online, online databases, private databased, scanned documents, public databases, and the like.
Description
DETAILED DESCRIPTION
[0023] The present invention now will be described more fully hereinafter in the following detailed description of the invention, in which some, but not all embodiments of the invention are described. Indeed, this invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements.
[0024] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well as the singular forms, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, steps, operations, elements, components, and/or groups thereof.
[0025] Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one having ordinary skill in the art to which this invention belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and the present disclosure and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
[0026] In describing the invention, it will be understood that a number of techniques and steps are disclosed. Each of these has individual benefit and each can also be used in conjunction with one or more, or in some cases all, of the other disclosed techniques. Accordingly, for the sake of clarity, this description will refrain from repeating every possible combination of the individual steps in an unnecessary fashion. Nevertheless, the specification and claims should be read with the understanding that such combinations are entirely within the scope of the invention and the claims.
[0027] A floor plan is an architectural depiction of the layout of a house. Descriptions and pretty pictures about the property are no longer satisfactory when it comes to buyers who want to purchase their homes in a fast and effective way. Unfortunately, creating a floor plan according to clients' requirement is a time consuming and expensive process requiring a skilled Architect engineer to create the plan. The instant invention is looking towards a futuristic plan where most floor plans will be created by an AI-based application and skilled Architect engineers can focus on either extending the base floor plans to higher levels or utilizing their skills on larger and more complex projects.
[0028] The instant invention includes a system and method for the generation of floor plans with the aid of Artificial Intelligence (AI). AI will be used to train the system through the collection and extrapolation of data from thousands of examples of architectural floor plans. The extrapolated data will then be utilized to generate and create original floor plans based on the needs and desires of a person using the system. The system will use Generative Adversarial Networks (GANs) which are an approach to generative modeling using deep learning methods, such as convolutional neural networks. More specifically, the instant invention includes a system for generating floor plans comprising of memory having a set of computer readable instructions, and a central processor for executing the set of computer readable computer instructions, the set of computer readable computer instructions including one or more GAN models, a first model (GAN-I) being a learning model for all types of floor plans to generate color-coded floor plans and a second model (GAN-II) being a learning model for all color-coded floor plans to generate original architectural plans. The central processor is comprised of one or more processors, one or more computers, one or more servers, and/or combinations thereof working in conjunction with one another. As the system expands and improves, the first model (GAN-I) acquires or learns from existing floor plans obtained from any source available including, but not limited to, online, online databases, private databased, scanned documents, public databases, and the like.
[0029] In one embodiment of the instant invention, the system for generating floor plans includes a memory having a set of computer readable computer instructions, and a central processor for executing the set of computer readable computer instructions. The set of computer readable computer instructions includes a pair of GAN models, a first model (GAN-I) being a learning model for all types of floor plans to generate color-coded floor plans and a second model (GAN-II) being a learning model for all color-coded floor plans to generate original architectural plans.
[0030] Generative modeling is an unsupervised learning task in machine learning that involves automatically discovering and learning the regularities or patterns in input data in such a way that the model can be used to generate or output new examples that plausibly could have been drawn from the original dataset. In the instant system, GANs will be used to train a generative model through the review and analysis of pre-existing architectural floor plans. The system will include two sub-models. The first sub-model will be a generator model that is trained to generate new examples. The second sub-model will be a discriminator model that tries to classify examples as either real (from the domain) or fake (generated). The two models are trained together in a zero-sum game, adversarial, until the discriminator model is fooled about half the time, meaning the generator model is generating plausible examples.
[0031] As stated previously, the instant system includes one or more layers of GAN models, with a first (GAN-I) being the learning model for all types of floor plans to generate color-coded floor plans for the same, and a second (GAN-II) being the learning model for all color-coded floor plans to generate the actual professional plans. Plans may further include plumbing impressions. Keeping the color codes for each room specified, the generated colored plans from the first layer of the GAN (GAN-I) model are cleaned using contour analysis. Contours can be thought of as a curve that joins all the continuous points along a boundary, having same color or intensity. The contours are a useful tool for shape analysis and object detection and recognition (e.g., OpenCV's contouring—masking the walls and boundaries).
[0032] The middle coordinates for each room are determined using the pixel location of the specified colors and the corresponding room names along with the determined coordinates are saved in a dictionary format. The colored rooms are processed further to find the area of each room as a percentage of the total pixels present. The length and width of each room is found out by number of pixels present in the line and, assuming it to be a rectangular room, the area is equal to length×width. The total floor area is determined by taking the boundary pixels. This percentage area for each room is saved in a dictionary format.
[0033] The results from the GAN-I model are used as input to the GAN-II model to generate the black/white images of the generated floor plan. Plans may optionally include plumbing impressions. The room names can be placed on top of each room of the GAN-II resulting images at the specified coordinates from the dictionary, saved beforehand. The dictionary having the areas of each room is also displayed in the user interface (UI) as a proportion of the floor area, as given input by the user in the questionnaire. Thus, the dimensions of all rooms are shown in the UI as an index to the plot having the floor plan.
[0034] Looking to the flow process illustrated in
[0045] Looking to the flow process illustrated in
[0046] The System will then seek floor plans that were liked by other users of similar taste to the current user (from the second set of input data). The System would also search for floor plans which are similar in technical aspects to the current user (from the first set of input data). If the system fails to find a match using the collaborative filtering algorithm or based on the technical parameters, it will show the floor plans that are the closest match to the requirements of the current user. To do this, the System will use “item-item collaborative filtering”. Upon seeing the recommendations, the user will have the option to rate each of the floor plans and provide feedback as to how close was the match based on their requirements. This feedback is a revised set of input data which is used to retrain the models accordingly. Every user can have one rating per image and edit their ratings as they desire. Ratings to a specific floor plan by each individual user are stored in the database. Multiple users can give different ratings to the same floor plan. If the user selects a recommended floor plan as-is, then there are no further interactions required or initiated by the System as the System's goal has been achieved. The user can also select a specific floor plan and then suggest customizations to the System. The System would then generate the floor plan accordingly using Deep Learning algorithms. The user can now view and download the newly generated floor plan.
[0047] Looking now to
[0048] Looking to
[0057]
[0058]
Functionalities of the System
Frontend:
[0059] 1. Login-logout-registration functionalities and interfaces. [0060] 2. Dynamic frontend question list display in the UI. [0061] 3. Display the dynamic frontend response list for each user based on the last choices made in UI. [0062] 4. Reselect the choices from the UI to update the last choice. [0063] 5. Display the recommended floor plans in UI. [0064] 6. Display the dimension list as a legend in the UI. [0065] 7. Rate and download each floor plan recommended. [0066] 8. Response handling functionality in frontend to get style plans having the number of bedrooms according to the choice made. [0067] 9. Choose a style-plan as input to the AI-GAN model. [0068] 10. Display the floor plan in UI [0069] 11. Get the dimension list as a legend along with the plan generated in UI [0070] 12. Rate and download each floor plan generated
Backend:
[0071] 1. Login-logout-registration functionalities. [0072] 2. Dynamic frontend question list based on the questions in the database. [0073] 3. Dynamic frontend response list for each user based on the last choices made (fetching customer by id). [0074] 4. Update response for each question for each user-backend & frontend (fetching customer by id). [0075] 5. Find similar users based on the responses chosen. [0076] 6. Find recommended floor plans based on the highly-rated plans by similar users. [0077] 7. Insert rating in Database for each floor plan recommended. [0078] 8. Get dimensions list having the area-percentage of each room for the recommended plans. [0079] 9. Tree-based structure on the style-plan images i.e user choosing #bedroom as 1 will get style plan images having 1 bedroom and likewise. [0080] 10. Invoke the GAN model as REST APIs. [0081] 11. Parameter tuning for the neural network used in GAN. [0082] 12. Clustering on GAN output images to get the color-cluster and centroid coordinate of each color-cluster. [0083] 13. Get the room-names based on the GAN-output color using Euclidean distance to determine the closest color. [0084] 14. Conversion of colored-plan to black/white plan. [0085] 15. Text placement using centroid coordinates from the clustering algorithm. [0086] 16. Find contour/room from each floor plan using OpenCV and corresponding parameter-tuning. [0087] 17. Find the relative area percentage of each contour wrt the whole floor plan. [0088] 18. Convert relative area percentage to the exact square foot area for the generated plan wrt the user's input of size of floor-area in Qs−1. [0089] 19. Rule constraint imposed on the coordinates based on the area of each cluster to display sensible dimensions. [0090] 20. Get the dimension list having the area in square feet, summing up to the floor size chosen by the user in the questionnaire.
[0091] The instant application as developed and the algorithms that it currently leverages basically solves “Space Optimization” problems. The algorithms determine, given a set of objects with strict dimensions and a space with its own dimensions, the best possible ways these objects can be put inside the space considering various rules.
[0092] For example, in our application, the whole floor plan is the space, and the various rooms are the various objects that have to fit in within the given floor plan. There are rules that must be followed to accomplish the fitment (e.g., The bathroom should be next to the bedroom.) In the same way, every room can be considered as another space and the typical objects of a room can be the various objects that need to be fit inside the room.
[0093] In addition to serving the business goals of the current application, the algorithms as developed can be extrapolated and used in various other industries too. The following are some the examples: [0094] Packaging—Online Retailers can determine, given the items that need to be shipped, the most optimal box sizes in which all items can be packaged and hence save on shipping costs. [0095] Furniture Design—Furniture manufacturers can, given the shape of a particular furniture, can determine the best possible ways to fit in all needed items in the most esthetical manner. [0096] Automobile Manufacturing—Automobile manufacturers, given the shape of a particular vehicle, can determine the best possible ways to fit in all needed auto parts. [0097] IC Chip Design—Chip designers can determine the best way to fit in all items in a nano-chip, keeping the required circuitry in mind.
[0098] The instant invention also includes a method for generating floor plans comprising the steps of: [0099] (a) providing a system for generating floor plans comprising: [0100] a memory having a set of computer readable computer instructions, and a central processor for executing the set of computer readable computer instructions, the set of computer readable computer instructions including: [0101] one or more GAN models, with a first model (GAN-I) being a learning model for all types of floor plans to generate color-coded floor plans; [0102] a second model (GAN-II) being a learning model for all color-coded floor plans to generate original architectural plans; [0103] (b) obtaining a first set of input data from a user of the system, the first set of input data including technical aspects of the floor plan; [0104] (c) obtaining a second set of input data from a user of the system, the second set of input data including tastes and preferences of the user; [0105] (d) creating a user profile based on the first set of input data and the second set of input data and storing the user profile in a database; [0106] (e) applying a collaborative filter to the user profile to compare the user profiles to previous user profiles to locate similar users; [0107] (f) locating floor plans chosen and liked by similar users within the database; [0108] (g) applying a technical filter using the first set of input data to the floor plans chosen to obtain technical floor plans; [0109] (h) applying a taste filter using the second set of input data to the floor plans chosen to obtain collaborative floor plans; [0110] (i) generating original architectural plans based on the technical floor plans and the collaborative floor plans; and [0111] (j) presenting original architectural plans to the user and allowing the user to download any floor plan(s) selected.
[0112] The method for generating floor plans can further include input data provided by a user of the system, the input data selected from the group comprising: number of bedrooms, number of bathrooms, budget, building materials, lot dimensions, number of stories, municipal restrictions, neighborhood restrictions, special needs (i.e., handicap access, limited mobility access), closet size, and the like.
[0113] Any method described herein may incorporate any design element contained within this application and any other document/application incorporated by reference herein.
[0114] In describing the invention, it will be understood that a number of techniques and steps are disclosed. Each of these has individual benefit and each can also be used in conjunction with one or more, or in some cases all, of the other disclosed techniques. Accordingly, for the sake of clarity, this description will refrain from repeating every possible combination of the individual steps in an unnecessary fashion. Nevertheless, the specification and claims should be read with the understanding that such combinations are entirely within the scope of the invention and the claims.
[0115] The present invention may be embodied in other forms without departing from the spirit and the essential attributes thereof, and, accordingly, reference should be made to the appended claims, rather than to the foregoing specification, as indicating the scope of the invention. The invention illustratively disclosed herein suitably may be practiced in the absence of any element which is not specifically disclosed herein.