METHOD AND COMPUTER IMPLEMENTED SYSTEM FOR GENERATING LAYOUT PLAN USING NEURAL NETWORK
20220188625 · 2022-06-16
Inventors
Cpc classification
G06F18/217
PHYSICS
G06N5/01
PHYSICS
G06V10/7625
PHYSICS
G06F30/13
PHYSICS
International classification
G06F30/13
PHYSICS
Abstract
A computer-implemented system for generating a layout plan includes a memory and a processor coupled to the memory. The processor is configured to obtain an object or a map, input the obtained object or the obtained map to a pre-trained deep neural network (DNN) model, and output the layout plan as an action suggestion based on an output result the pre-trained DNN model, where the output layout plan is an optimal layout plan based on the weight of the DNN model.
Claims
1. A computer-implemented system for generating a layout plan of a map, comprising: a memory; a processor, coupled to the memory and configured to: obtain the map for generating the layout plan; input the map to a pre-trained deep neural network (DNN) model; and output an action suggestion based on an output result of the pre-trained DNN model.
2. The computer-implemented system of claim 1, wherein the processor displays an optimal action having a plurality of objects being placed in the map as the action suggestion on a display, wherein the optimal action has a highest score in the DNN model which is trained by using tree search algorithm with predetermined rule and enabled with evaluation metrics.
3. The computer-implemented system of claim 1, wherein the processor displays a placement of an object in the map as the action suggestion.
4. The computer-implemented system of claim 1, wherein the action suggestion includes a plurality of action suggestions for placing of a plurality of objects in the map.
5. The computer-implemented system of claim 1, wherein when the action suggestion is rejected, the processor is further configured to output another action suggestion which leads to another layout plan having a second highest score based on the DNN model.
6. The computer-implemented system of claim 1, wherein when the action suggestion is altered by other inputs, the processor is further configured to accept the altered action suggestion, and the altered action suggestion is used to re-train the DNN model.
7. The computer-implemented system of claim 1, wherein the pre-train DNN model comprises a plurality of model parameters trained by the map and a plurality of objects.
8. The computer-implemented system of claim 1, wherein the processor is further configured to train the pre-trained DNN model by using a tree search algorithm that explores all combinations of a plurality of object and a plurality of map under the predetermined rule, wherein each of the combination is scored by using evaluation metrics.
9. The computer-implemented system of claim 8, wherein the predetermined rule defines whether an object in a cell of the map is legal or illegal.
10. The computer-implemented system of claim 8, wherein the tree search algorithm includes a plurality of end states and a plurality of legal states that leads to end states, and only a portion or all of the end states are scored by using the evaluation metric, and each of the legal states includes a state scored by using the score of the end states.
11. The computer-implemented system of claim 1, wherein the processor is further configured to obtain an object as another input to the DNN model.
12. A method for generating a layout plan of a map, comprising: obtaining the map; inputting the map to a pre-trained deep neural network (DNN) model; and outputting an action suggestion based on an output result of the pre-trained DNN model.
13. The method of claim 12, further comprising: displaying an optimal action as the action suggestion on a display, wherein the optimal action has a highest score in the DNN model which is trained by using tree search algorithm with predetermined rule and enabled with evaluation metrics.
14. The method of claim 12, further comprising: displaying a placement of an object in the map as the action suggestion.
15. The method of claim 12, further comprising: when the action suggestion is rejected, outputting another action suggestion which leads to another layout plan having a second highest score based on the DNN model.
16. The method of claim 12, further comprising: when the action suggestion is altered by other inputs, accepting the altered action suggestion, and transmitting the altered action suggestion to the DNN model to re-train the DNN.
17. The method of claim 12, wherein the pre-trained DNN model is trained by using a tree search algorithm that explores all combinations of a plurality of object and a plurality of map under the predetermined rule, wherein each of the combination are scored by using evaluation metrics.
18. The method of claim 17, wherein the predetermined rule defines whether an object in a cell of the map is legal or illegal.
19. The method of claim 17, wherein the tree search algorithm includes a plurality of end states and a plurality of legal states that leads to end states, and only a portion or all of the end states are scored by using the evaluation metric, and each of the legal states includes a state scored by using the score of the end states.
20. A non-transitory computer-readable recoding medium, storing a program, when loaded by a computer, causing the computer to: obtain the map for generating the layout plan; input the map to a pre-trained deep neural network (DNN) model; and output an action suggestion based on an output result of the pre-trained DNN model.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] Aspects of the present disclosure are best understood from the following detailed description when read with the accompanying figures. It is noted that, in accordance with the standard practice in the industry, various features are not drawn to scale. In fact, the dimensions of the various features may be arbitrarily increased or reduced for clarity of discussion.
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
DESCRIPTION OF THE EMBODIMENTS
[0015] The following disclosure provides many different embodiments, or examples, for implementing different features of the present disclosure. Specific examples of components and arrangements are described below to simplify the present disclosure. These are, of course, merely examples and are not intended to be limiting. For example, the formation of a first feature over or on a second feature in the description that follows may include embodiments in which the first and second features are formed in direct contact, and may also include embodiments in which additional features may be formed between the first and second features, such that the first and second features may not be in direct contact. In addition, the present disclosure may repeat reference numerals and/or letters in the various examples. This repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed.
[0016] The disclosure provides a method and a computer-implemented system that automatically design a layout plan of a space by using a deep neural network (DNN) model that is trained by a set of predetermined rule and feedbacks. Due to the countless conditional factors in designing a layout plan, the embodiments train and use the deep neural network model using data acquired through a self-play mechanism that is enabled with evaluation metrics. Furthermore, a virtual design assistant is used to guide the designing of the layout plan in some embodiments. The decision of the accepted design may be incorporated into the training of the neural network, so as to output optimal layout plans.
[0017]
[0018] In the embodiments, an object 150 to be placed onto the map 100 includes geometry information and placement information. The geometry information includes the physical size and physical shape of the object. The placement information may include the desired rule of the placement of the object. The desire rule may indicate that the object may be placed against a wall, on an island, or on a peninsula. The desire rule may also include a facing direction, clearance distance, etc.
[0019] When placing the object onto the map, various factors may be considered by a designer. Taking the kitchen layout environment as an example, some basic factors may include, but not limit to, an object can only be placed against a wall, on an island, or a peninsula, facing the direction of the object, an object such as pantry and fridge are not allowed to be placed in front of a window, an object should not be placed that gets in the way of another object's clearance zone, geographical location of an object, etc. It should be noted that this list of basic factors is for the purpose of explanation and should not be limiting. Additional factors may be considered when designing a kitchen layout. For example, a cooking workflow from a fridge to a sink to a stove based on their geometric locations, worktop area on each side of the stove, worktop area between a stove and a sink, the geometric relation of a dishwasher and a sink, etc. Moreover, due to safety concerns, the stove should not be placed next to a curtain or other flammable objects. In addition, there are other preferences, such as that the geometric location of the fridge should have easy access, the sink and the stove should not be located at countertop ends, etc. The design of a layout plan has become complicated and a time-consuming process due to these various factors. Conventionally, these rules are programmed into a rule-based system, which is utilized to place an object onto a map, where a rule-based statement may be used to describe the relationship between objects and the cells in the map. The disclosure introduces a self-play algorithm to explore all possible placements of an object in the map and a deep neural network to learn the outcomes of the self-play algorithm, as to produce an optimal layout plan or a sub-optimal layout plan.
[0020]
[0021] As described above, designing the layout plan for space may be complicated due to various factors to consider. The map of each space may have its own actionable information and environmental information to consider, and each object may also have its own rule to follow with respect to the information of the map. In the embodiments, the virtual environment 210 uses a (self-play) tree search algorithm, constrained by the predetermined rules, using evaluation metrics, to explore all state values of the map. The state value is the state's best possible output score of the end states (e.g., layout plans) it may reach. For example, an object may be placed in any one of the cells illustrated in
[0022]
[0023] In the embodiment, the map 300 is divided into a 6 by 6 square matrix as an example. The placement of each of five objects may have 180 possible actions (i.e., 5×6×6.), which lead to 180 possible states Each object placement would be referred to as an action in a level (or a layer) of the tree search algorithm. With reference to
[0024] With reference to
[0025] In a third level of the tree search algorithm, the placement of the second object 312 (represented by “X”) in the map 300 in view of the first object 311 (e.g., the 32nd action in the second level) may have 21 legal states out of 180 states based on the predetermined rules for placing the second object onto the map 300. The 47.sup.th state in the third level of the tree search algorithm is used for illustration. In a fourth level of the tree search algorithm, the placement of the third object 313 (represented by “=”) in view of the 47.sup.th legal state in the third level may obtain 14 legal states out of 180 states in the fourth level. The 134.sup.th state of the fourth level is used when placing the fourth object 314 in the map 300 in a fifth level of the tree search algorithm as an example. As a result, there are 7 legal states out of 180 states in the fifth level based on the predetermined rules for placing the fourth object 314 onto the map 300. The 92.sup.rd action is used to illustrate a sixth level of the tree search algorithm, where the fifth object 315 (represented by a “A”) is placed onto the map 300 with the first, second, third, and fourth objects 311, 312, 313, 314. In the embodiment, the sixth level of the tree search algorithm includes 3 legal states out of 180 states. Since the fifth object 315 is the last object to be placed, these legal states in the sixth level would be considered as 3 possible end states of the tree search algorithm based on predetermined rules. The end states may be referred to as layout plans, where each layout plan includes five placed objects in the map 300. In this branch of the tree search algorithm, each of the 3 legal states presents a possible layout plan out of 179,046 possibilities (i.e., 29×21×14×7×3) for placing 5 different objects in the map 300. Other legal states result from other branches of the tree search algorithm would also produce other plan layouts.
[0026] It should be noted that the branch illustrated in
[0027] Next, the evaluation metrics are enabled to score the layout plans explored by the tree search algorithm. In the embodiments, the layout plans may be evaluated by a designer or any user, where scores may be assigned to some (e.g., 3, 10, 15, or any number of layout plans) or each of the layout plans. As described above, the parameters and priorities are subjective to personal preference. The preference may involve the location of an object having a particular function in the map. For example, a person who cooks occasionally may enjoy a window view when a sink is placed in the window, while a person who cooks a lot may not appreciate the extra steps. In another example, such as a refrigerator, a person may not appreciate the extra steps from a living room to the refrigerator even though the refrigerator is close to the sink or a counter. The evaluation metric may involve various factors such as a workflow in the room, an arrangement of the objects for a design style, and so on.
[0028] In the embodiments, the score of the final layout plan (end state) may be used to assign a score to the legal states in each level of the tree search algorithm. The legal states would be assigned with the highest score of the corresponding layout plan to which the legal states may lead.
[0029] As a result, the tree search algorithm outputs the state-value data 220 that includes end states (i.e., layout plans), legal states, and the corresponding scores to train the deep neural network 230. These scores are being used by the deep neural network 230 to generate suggestions in the virtual assistant in assisting a user in designing a layout plan.
[0030] The deep neural network 230 uses the state-value data 220 from the tree search algorithm to establish the nodes and layers between the input and output of the network from scratch and re-trained whenever rules, metrics, or objects change to reflect the intrinsic state values of the new environment. The deep neural network 230 is essentially trained to find the correct mathematical manipulation to better predict the state values of any given state (or possible legal actions), even from an unseen map, by learning from available state-value data 220 output by the tree search algorithm. The deep neural network 230 moves through the layers and calculates the probability of each output. The embodiment may be implemented with deep learning architectures with reinforcement learning algorithms (e.g., Q-learning, actor-critic), which may be referred to as deep reinforcement learning (DRL). However, the disclosure is not intended to limit the type of neural network being applied, and various neural network models may be applied to implement the disclosure.
[0031] In the example above, the deep neural network is trained by using a map and 5 objects to be placed in the tree search algorithm. It should be noted that multiple maps and other numbers of objects to be placed may be used as inputs for the tree search algorithm for building the virtual environment 210 and training the deep neural network 230. In some embodiments, the tree search algorithm only explores a portion of the layout plans that are then evaluated and scored with state-values data 220. Such is still sufficient to train the deep neural network 230. As long as the state-values of the explored states are of good quality and are close enough to their true value, the DNN can generalize to the unexplored state.
[0032] In some embodiments, the trained deep neural network 230 predicts the values of all possible next states (resulting from legal states) and may be configured to investigate only the best three legal states (out of 29 legal states) in the first level and the best two legal states (out of 21 legal states) for the levels subsequent to the first level. In this way, the time for processing inputs may be reduced.
[0033] Referring to
[0034] The action suggestion may be accepted (step 244), rejected (step 246), or altered (step 248. In a case where the action suggestion is accepted in step 244, the virtual assistant advances step 245 to ask for an action suggestion for the next object and goes back to the beginning of step 242, or the virtual assistant ends the process when no other suggestion is available. In a case where the action suggestion is rejected (step 246), the process goes to step 247, asking for another suggestion on the placement of the object(s) in the map. In the embodiment, the virtual assistant provides a second-best action as another action suggestion for placing the same object(s). In a case where the action suggestion is intervened, an alternation option (step 248) may be selected. The presented layout plan or state may be modified. For example, one or more object(s) in the presented state or layout plan may be modified, such as deletion or addition of other object(s), reposition any object(s) in the map, etc. Then, the process goes to step 245 to ask for an action suggestion for placing the next object, or the process ends when there is no more object to be placed.
[0035] In some embodiments, the alternation of the action suggestion may be transmitted to the deep neural network 230 or the virtual environment 210 to update the evaluation metric so that the alternation may be considered in the future. Such a step may be referred to as re-training the deep neural network based on the alternation of the action suggestion made by the virtual assistant or user.
[0036] The action suggestion of the process above may be a step by step guideline for placing each and every object or a final layout plan having one or more object(s) to be placed. In the embodiments of the step by step guideline, a map, one or more object(s), or a combination thereof may be provided to the virtual assistant as input to the DNN model. The virtual assistant may present an action suggestion for placing each and every object(s) onto the provided map. For example,
[0037] In the embodiment of the final layout plan, the virtual assistant 240 may obtain a map solely as an input. In other embodiments, one or more object(s) may be provided with or without a map. Then, the DNN model 241 may automatically fill in one or more object(s) based on the functionality or purpose of the map. In other words, the suggested final layout plan may be referred to as a layout plan that the DNN model 241 considers as an end state having the highest score for the provided map. As illustrated in
[0038]
[0039] The virtual environment 210 and virtual assistant 240 as described above may be implemented by the processor 10. In the embodiments, the computer 1 executes computer-readable instructions stored in the memory 11 using the processor 10 to implement the computer-implemented system described above. In one of the embodiments, the display device 13 may be integrated into the computer 1, as illustrated in the embodiment of
[0040]
[0041]
[0042] The foregoing has outlined features of several embodiments so that those skilled in the art may better understand the detailed description that follows. Those skilled in the art should appreciate that they may readily use the present disclosure as a basis for designing or modifying other processes and structures for carrying out the same purposes and/or achieving the same advantages of the embodiments introduced herein. Those skilled in the art should also realize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that they may make various changes, substitutions, and alterations herein without departing from the spirit and scope of the present disclosure.