Method for automatically furnishing 3D room based on user preference

JP2023031310A5Pending Publication Date: 2025-09-01DASSAULT SYSTEMES SA
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2022132911
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2021-08-24
Filing Date
2022-08-24
Publication Date
2025-09-01

AI Technical Summary

Technical Problem

Existing methods for automatically furnishing 3D rooms lack user customization and require significant user interaction or manual input, failing to provide personalized and optimized furniture layouts.

Method used

A computer-implemented method that utilizes spatial relationship graphs and user preferences to iteratively optimize furniture placement in a 3D room, transforming user preferences into key performance indicators, and selecting the most likely spatial relationship graph for instantiating a furnished 3D room, with interactive user updates and optimization processes.

Benefits of technology

Enables customizable and optimized furniture arrangements in 3D rooms by iteratively refining the layout based on user preferences, ensuring functional coherence and aesthetic satisfaction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To provide a method for automatically furnishing a 3D room based on user preferences.SOLUTION: A method includes the steps of: a) obtaining at least one spatial relations graph of a virtual 3D room and a set of user preferences; b) converting the set of user preferences into a set of target parameters; c) computing, for each spatial relations graph, a set of key performance indicator values and a KPI distance; d) automatically selecting at least one most promising spatial relations graph; e) instantiating the most promising spatial relations graph into the 3D room to be furnished; f) displaying a furnished virtual 3D room proposal to a user; g) receiving an update of the user preferences; and h) reiterating steps a) to g) until a stopping criterion is fulfilled.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This invention relates to the field of computer-aided design of furnished rooms. In particular, this invention relates to a computer implementation method for automatically fitting furniture into a 3D room based on user preferences. [Background technology]

[0002] Consumers planning to move into a new apartment, or simply renovate a room, typically find inspiration in similar projects at furniture stores, or they may even use CAD software to find inspiration. Thus, consumers project themselves onto their new room.

[0003] Some existing methods for automatically creating indoor room templates are based on classic optimization techniques, using sets of furniture as input for placement in a given room. The drawback of such approaches is that they involve manually defining a set of constraints (such as which spaces around each object should be left empty, which objects should be next to other objects, etc.), which is time-consuming and prone to errors.

[0004] An example of a method based on classical optimization techniques is disclosed in "Automated Interior Design Using a Genetic Algorithm" (Peter Kan et al., Proceedings of VRST2017, Gothenburg, Sweden, November 2017). The optimization process uses a genetic algorithm, starting with a random solution, to automatically place furniture objects into a virtual indoor scene and optimize their position and orientation in terms of aesthetic, ergonomic, and functional rules. The drawback of such an approach is that it means manually defining a set of constraints (such as what space should be left empty around each object, which objects should be next to other objects, etc.) and that the parameters for optimization are fixed to values ​​defined as "ideal". However, it is more difficult for users to have a customized solution that takes their personal preferences into account.

[0005] In a user-in-the-loop approach, the system guides the placement of furniture in a room by prompting the user for input during the optimization process. In "Interactive Furniture Layout Using Interior Design Guidelines" (Paul Merrell et al., Siggraph 2011, August 2011), the user can manually design constraints for specific parts of the furniture. After each iteration, this method proposes several solutions, which satisfy the constraints but are not necessarily optimized. The user can select their preferred solution or manually move the furniture before launching a new iteration considering the new inputs. This approach requires a considerable amount of heavy interaction with the user to propose a satisfactory optimized layout.

[0006] Deep learning-based approaches, such as those disclosed in, for example, "PlanIT: planning and instantiating indoor scenes with relation graph and spatial prior networks" (Wang, K. et al., ACM Trans. Graph., Vol. 38, No. 4, Article 132, July 2019), utilize large databases of indoor scenes to learn how to automatically attach furniture to new rooms. However, the solutions disclosed in the article do not enable the user to customize the proposed furnished rooms. In other words, the user is not "in the loop".

[0007] Therefore, there is a need to obtain a computer-implemented method for automatically attaching furniture to a 3D room based on user preferences that is iterative and easily customizable.

[0008] The subject matter of the present invention is a computer-implemented method for automatically attaching furniture to a 3D room based on user preferences, the method comprising: a) at least one spatial relationship graph of a virtual 3D room comprising 3D elements, based on spatial relationships between the 3D elements of the virtual 3D room, the 3D elements comprising 3D architectural elements and 3D furniture objects located within the virtual 3D room with furniture; a set of user preferences related to the attachment of furniture in the 3D room; and obtaining; b) converting the set of user preferences into a set of target parameters, each target parameter being assigned to a respective KPI, the KPI corresponding to a measure related to the attachment of furniture in the 3D room; c) for each spatial relationship graph, A set of key performance indicator (KPI) values based on a spatial relationship graph, or based on a dataset that maps the spatial relationship graph to the value of a key performance indicator for the corresponding target parameter or each target parameter, and a KPI distance corresponding to the aggregation of all KPI values, and a step of calculating; d) automatically selecting at least one most promising spatial relationship graph, wherein the most promising spatial relationship graph is the spatial relationship graph having the minimum KPI distance; e) instantiating the most promising spatial relationship graph into a 3D room with furniture attached as 3D furniture objects of the most promising spatial relationship graph, thereby providing a proposal for a virtual 3D room with furniture; f) displaying the proposal of the virtual 3D room with furniture to the user; g) receiving an update of user preferences; h) repeating steps a) to g) until a stop criterion is met. Including.

Brief Description of the Drawings

[0009] Additional features and advantages of the present invention will become apparent from the following description in conjunction with the accompanying drawings. [Figure 1] FIG. 1 shows the invented method. [Figure 2] FIG. 2 shows a spatial relationship graph. [Figure 3] FIG. 3 shows an example of a user interface that can implement the method. [Figure 4] FIG. 4 shows a spatial relationship graph together with a proposal for a virtual 3D room with furniture. [Figure 5] FIG. 5 shows some numerical values of target parameters, KPI values, and user preferences. [Figure 6] FIG. 6 shows an example of a 3D room with furniture. [Figure 7] FIG. 7 shows an example of a 3D room with furniture. [Figure 8] Figure 8 shows a block diagram of a computer system suitable for carrying out a method according to a different embodiment of the present invention.

[0010] Figure 1 shows the invented method. In the first step a), at least one spatial relation graph GR of a virtual 3D room is obtained. Although it is considered that multiple spatial relation graphs GR may be obtained below, this method can be carried out using only one spatial relation graph GR.

[0011] Spatial relation graphs (GRs) can be stored in a graph database based on 3D rooms initially provided by individuals or professionals (e.g., furniture retailers, real estate agents, architects). Alternatively, spatial relation graphs can be automatically generated using deep autoregressive models, as disclosed, for example, in the article "PlanIT: planning and instantiating indoor scenes with relation graph and spatial prior networks" (Wang, K. et al., ACM Trans. Graph., Vol. 38, No. 4, Article 132, July 2019). Spatial relation graphs can also be created manually by users, but this is cumbersome.

[0012] For a better understanding of the invention, the following definitions are provided. 3D Room: Corresponds to a 3D definition of a room, and the minimum information required is a set of walls (and their positions and dimensions). 3D Furniture Objects: Furniture or decorative objects placed in a room for installation. This excludes all architectural objects such as room separators (walls and implicit separators), doors, and windows. 3D Opening: A set of room doors and windows. 3D_Separator: A set of room separators (walls and implicit separators). 3D building elements = 3D_Opening U 3D_Separator. 3D element: 3D_object U 3D_arch. Furniture Installation: This corresponds to the task of installing furniture in a 3D room, i.e., placing one or more 3D furniture objects in the room. Spatial relationship graph: A graph containing a list of nodes corresponding to objects in a room (furniture and architectural features) and a list of edges representing the spatial relationships between pairs of the aforementioned objects.

[0013] It can be noted that the graph is connected, non-cyclic, and includes the following:

[0014] List of nodes corresponding to each of the 3D elements in the room that have the following attributes. Node ID, 3D element category, 3D bounding box (length, width, and height) of a 3D element, 3D element transformation matrix (essential for 3D architectural elements, but optional for 3D furniture objects, i.e., only when some objects already exist in the room and the user wants to retain them, to obtain the absolute position and orientation of 3D elements within the 3D room), The corresponding 3D model for each 3D element, List of incident edges, List of exit edges, Superstructure tags (if any), i.e., groups of one or more functional relationships between objects, such as representing the functional arrangement of furniture. The corresponding 3D model for each 3D element, Optional: A list of 3D models that can be used to replace the initial 3D model.

[0015] A list of edges representing the relationships between 3D elements in a room that have the following attributes. Edge ID, ID of the starting node, ID of the termination node, Direction (for example, "forward", "backward", "left", "right", "support") Optional tags (e.g., "contains") Function (optional), Distance tags, for example, If the minimum distance between the bounding box of the starting node of an "adjacent" edge and the bounding box of the ending node of the edge is less than the "adjacent" threshold (e.g., 5 cm), If the minimum distance between the bounding box of the starting node of a "proximal" edge and the bounding box of the ending node of the edge is greater than the "adjacent" threshold and less than another "proximal" threshold (e.g., 50 cm), If the minimum distance between the bounding box of the starting node of a "distal" edge and the bounding box of the ending node of the edge is greater than the "proximal" threshold, Top structure tags (if any), The exact distance between the bounding box of the starting node and the bounding box of the ending node of an edge.

[0016] Figure 2 shows an example of a graph extracted using the aforementioned features, with corresponding figure descriptions (legend) (node ​​type, direction, distance tag, support).

[0017] Node 5, which corresponds to a 3D furniture object, can be written as follows:

[0018]

number

[0019] Edge 2, which connects nodes 5 and 6, can be described as follows:

[0020]

number

[0021] A set of user preference UP related to the installation of furniture in a 3D room is also obtained in step a) of the invented method.

[0022] User preference is defined as a user-friendly metric based on a combination of key performance indicators that allow users to evaluate room performance according to their personal opinions.

[0023] Key Performance Indicators (KPIs) are defined as interior design guidelines used to evaluate the quality of furniture placement within a 3D room.

[0024] User preference UP is provided by the user through a dedicated user interface, for example, as shown in Figure 3.

[0025] User preference improvement can occur in the following ways, for example: Brightness: Refers to the level of light intensity that the user desires in a room. Accessibility: Describes the level of accessibility of items and spaces within a room (for example, if the room is to be used by a person with a disability, accessibility must be very high). Occupancy: This refers to the ratio of the desired space within a room to the remaining empty space around the objects. For a minimalist-style room, the occupancy rate should be low. Regularity refers to harmony in terms of the rearrangement and alignment of furniture within a room. A highly regular room is one in which all furniture is aligned along the axis of the walls and organized into a superstructure that takes into account furniture clearance constraints and the ability to move around the entire room.

[0026] The user preference UP can be presented to the user as an interactive cursor that moves along a numbered axis (e.g., from -1 to 1) to indicate what the user cares about most (e.g., to the far left if the considered preferences are not being paid attention to, or to the far right if they are very important).

[0027] As an example, the user preference UP can be set and updated by the user via slider SL, which is a slider SLI corresponding to each user preference. In another embodiment, the user preference UP can be set to a default value, particularly for the first iteration of the invented method.

[0028] Next, in step b) of the invented method, the set of user preference UP is the target parameter t kpi_param It is converted into a set, and each target parameter is assigned to its respective KPI.

[0029] In a preferred embodiment, the target parameter t of the KPI kpi_param It is calculated using the following formula.

[0030]

number

[0031] Here, Proposal kpi_param This corresponds to the target parameter of the KPI for the iteration mentioned above, or the standard value for the first iteration of the method.

[0032]

number

[0033] δ kpi_param This is a constant deployment speed, N kpi This is the number of user preferences that influence key performance indicators. w p This is the weight of user preferences provided by the user, w kpi_param This represents the preference weights for the KPI parameters.

[0034] Each user preference influences the value of one or more KPIs. Occupancy: Affects the proportion and clearance of the KPI. Brightness: Affects the brightness of the KPI. Accessibility: Affects the clearance and circulation of the KPI. Regularity: Affects the alignment, circulation, and clearance of the KPI.

[0035] For example, it is as follows.

[0036]

Number

[0037] If the result of this calculation for the new value of the parameter is negative, give the value 0 (negative values have no meaning for the KPI).

[0038] For the average user, some of the KPIs may not be clear and the definitions of these metrics may not be understood. However, user preferences are clearer, and therefore, converting user preferences into key performance indicators makes the process more understandable.

[0039] In the third step c) of the method, a set of key performance indicator values KPIV is calculated for each spatial relationship graph.

[0040] The key performance indicator value KPIV can be calculated based on the spatial relationship graph GR and a dataset that maps the spatial relationship graph to the key performance indicator values for each KPI parameter t kpi_param .

[0041] Assume having a dataset of several 3D furnished rooms. Each target parameter t kpi_paramSince it is possible to obtain both relationship graphs and KPI values ​​from 3D furnished rooms related to each target parameter t kpi_param A dataset can be constructed that maps relational graphs to the values ​​of KPIs related to t. Therefore, each target parameter t kpi_param The prior probability of a specific KPI value for a given graph can be approximated by a supervised machine learning model, i.e., a neural network.

[0042] Such a neural network takes a graph and a target parameter t as input. kpi_param The system takes a set of KPIs and outputs a value for each KPI considered. The most straightforward way to construct such an architecture is to use a GNN (Graph Neural Network), as disclosed in "PlanIT: planning and instantiating indoor scenes with relation graph and spatial prior networks" (Wang, K. et al., ACM Trans. Graph., Vol. 38, No. 4, Article 132, July 2019), where the output is an N-dimensional vector, and N is the number of KPIs considered.

[0043] In another embodiment, the value of the key performance indicator (KPIV) is determined based on the spatial relationship graph GR and the corresponding target parameter t kpi_param It can be calculated based on this.

[0044] Regarding luminance KPIs, a furnished 3D room should have luminance appropriate to its size and intended use. Therefore, luminance is measured by evaluating the number of light sources (windows, glass doors, lamps) in relation to the room's volume. This value can be optionally refined by the distance between these light sources and the object's lit points (desk, table, etc.) in the spatial relationship graph. Thus, luminance can be defined as follows:

[0045]

number

[0046] Here, r l The target parameter t for luminance is kpi_param c i This is the illumination coefficient of the i-th light source in the room (some light sources are other light sources c i (The lighting power is less than that of ∈[0, 1]), L is the number of light sources in the room, V is the volume of the room, L PoI This is an object that is considered as a light point for the target.

[0047] Regarding the proportion of KPIs, the 3D furniture objects in the spatial relationship graph should have an appropriate proportion relative to the 3D rooms that are furnished and to each other. The cost of this KPI is modeled as the ratio of the volume covered by the object to the volume of the room.

[0048]

number

[0049] V0 is a volume that combines all 3D furniture objects, and V r This is the total volume of the furnished 3D rooms. Their ratios are determined by the target parameter r. v It is compared to this.

[0050] Regarding clearance KPIs, 3D furniture objects in the spatial relationship graph require empty space around them to be used for their primary function. Some objects require direct access from one or more sides. Clearance guidelines represent this requirement.

[0051] The clearance KPI is the clearance constraint ε cThis is modeled as the amount of overlap between the bounding boxes of 3D furniture objects extended by (defined as the target parameter of clearance). To define the clearance constraint, edge absence is used in the spatial relation graph GR from the sides of each 3D furniture object, and the clearance bounding box is defined in the space that should remain free (i.e., on the sides of adjacent unconstrained objects).

[0052]

number

[0053] Here, A is the extended (ε) of the furniture in the room. c It is a set of bounding boxes (with clearance space) by [a specific method / framework].

[0054] Regarding the cyclical KPI, it is checked whether the free space (walkable space) of a furnished 3D room is divided into several separate spaces (in this case, lost space within the room). This is done in three main steps.

[0055] In the first step, all 3D furniture objects and walls of a furnished 3D room are projected onto a ground plane and rasterized into a 2D grid.

[0056] In the second step, an expansion operation is applied to these projections to take body size into account. This operation expands the discrete projections by a disk (of variable length) with a specified human body radius.

[0057] In the third step, polygons representing the free space (i.e., "walkable" space) within the 3D room are calculated and verified to ensure they are not composed of separate polygons (small corners represent large loss space, e.g., 20cm). 2 (To avoid counting them as such, polygons below a certain area are ignored.)

[0058] Several body radii ri (r defined as the target circular radius) min = 15cm to r max For R discrete radius values ​​up to a certain point, the scattered polygons represent the walkable area inside the room.

[0059]

number

[0060] The number of ) is calculated. The value of the KPI for the cycle g circ (r max ) is calculated as follows:

[0061]

number

[0062] Special attention is paid to the circulation of users who are using wheelchairs or strollers.

[0063] Regarding alignment KPIs, in interior design, objects should be properly oriented and aligned with respect to their supporting surfaces. Furthermore, the proportion of furniture components included in the superstructure is calculated to evaluate the level of regularity in the room. Alignment value g align (t al ,t sup ) is evaluated as follows:

[0064]

number

[0065] Obj is a set of all 3D furniture objects,

[0066]

number

[0067] is the forward vector of the 3D furniture object obj, and β obj obj(β obj This coefficient is proportional to the size of the region (∈[0,1]). W t is the set of front vectors for all walls of a furnished 3D room, S is the set of nodes included in one or more superstructures, and O is the set of objects in the room (without architectural elements). al and t sup These are target parameters for alignment and superstructure presence, respectively.

[0068] All target parameters mentioned in the KPI definition kpi_param This is calculated from the preferences provided by the user.

[0069] Alternatively, target parameter t kpi_param This corresponds to a standard value found either in literature (e.g., "Automated Interior Design Using a Genetic Algorithm," Peter Kan et al., Proceedings of VRST2017, Gothenburg, Sweden, November 2017) or experimentally (e.g., extracted from a dataset).

[0070] The standard value may preferably be used in the first iteration of the method of the present invention.

[0071] Here are some examples of standard target parameters that can be used for KPIs and the acceptable ranges for those KPI values.

[0072]

number

[0073] Next, the KPI distance corresponding to the aggregation of all KPI values ​​(KPIV) is dist. KPIHowever, this is calculated for each spatial relationship graph GR. The aforementioned KPI values ​​are added together.

[0074]

number

[0075] Therefore, some distances dist KPI This is calculated, meaning one calculation is performed for each graph.

[0076] In the fourth step d), at least one most promising spatial relation graph MPGR is automatically selected. The most promising spatial relation graph MPGR is the one with the lowest KPI distance dist KPI This is a spatial relation graph GR.

[0077] In the fifth step e), the most promising spatial relation graph MPGR is instantiated into a furnished 3D room with 3D furniture objects of the most promising spatial relation graph MPGR. The 3D furniture objects corresponding to each node of the most promising spatial relation graph MPGR are placed in the furnished 3D room according to the exact spatial configuration defined by the edges of the most promising spatial relation graph MPGR.

[0078] The proposed FP for a furnished virtual 3D room corresponds to the instantiation of the most promising spatial relation graph (MPGR).

[0079] Advantageously, assuming the graph is directed, the most promising step in instantiating a spatial relation graph MPGR involves a first substep of ordering the nodes of 3D furniture objects by the number of input relations they have, then by the number of outgoing relations, and finally by their size in descending order. Thus, how each node is constrained and how it is constrained is considered, and the superstructure is considered. This allows for instantiating objects by group, starting with large objects and their associated objects. It should be noted that the superstructure corresponds to special patterns in the spatial relation graph. For example, in the same way, i.e., three or more object categories linked by the same edge in several projects in a sufficient number of projects Np (Np / Number_Of_Projects) to be better than a certain threshold t (e.g., 0.2), can be considered a potential superstructure.

[0080] It should be noted that superstructures can also correspond to groups of one or more functional relationships between objects, and therefore they represent the functional arrangement of furniture (e.g., water supply with dishwasher, sink, and kitchen gas stove). In this case, predefined superstructures may be considered for each type of room. Those skilled in the art may refer to the definition and detection of superstructures provided in Appendix A.1 of "PlanIT: planning and instantiating indoor scenes with relation graph and spatial prior networks" (Wang, K. et al., ACM Trans. Graph., Vol. 38, No. 4, Article 132, July 2019), which is incorporated herein by reference.

[0081] The instantiation step includes a second substep in which, for each node of the 3D furniture object, the valid subspace area is calculated in descending order, and the second substep includes the following stages: The initial effective subspace can be instantiated as the entire empty floor space of a furnished 3D room, avoiding inconsistencies with already instantiated objects. Each input relationship is sorted by its distance value (from closest to furthest). The calculation of the association area in which an object can be instantiated at the reference of the object at the beginning of the relationship. This area is then converted into a reference to node n. The intersection of this area and the previous value in the valid subspace. If an intersection is not empty, the valid subspace takes the value of this intersection. Otherwise, the process is terminated, and the last value of the valid subspace is retained. Finally, the object is instantiated in the center of the valid subspace.

[0082] Figure 4 illustrates the creation of different effective subspaces. The first subspace SS1 corresponds to the effective subspace of the wardrobe 10, the second subspace SS2 corresponds to the effective subspace of the bed 6, and the third subspace SS3 corresponds to the effective subspace of the dresser 5.

[0083] In a further step f), the proposed FP of a furnished virtual 3D room is displayed to the user, as shown in Figure 3.

[0084] In a preferred embodiment, a set of Key Performance Indicator (KPIV) values ​​is displayed along with a proposed Functional Plan (FP) of a furnished virtual 3D room. Thus, the user can evaluate the performance metrics of the KPIs for each KPI, along with the proposed FP of the furnished virtual 3D room. The KPIV values ​​may be displayed in the form of a radar chart (or spider chart) consisting of a series of isometric spokes. Each spoke represents one of the Key Performance Indicators. The data length of the spokes is proportional to the magnitude of the Key Performance Indicator. Therefore, the user can compare proposed FPs of different virtual 3D rooms at a glance by comparing the radar charts.

[0085] Figure 6 shows an example of a proposed FP for a virtual 3D room (displaying only the 3D bounding boxes of 3D furniture objects, although 3D furniture objects themselves can also be displayed), along with a radar chart of KPIs. Circulation within the room is good, as all space is accessible to humans. The room has a high proportion, as it fully meets the criteria for a bedroom. Alignment is almost perfect, as the only object not aligned with the wall is the wall shelf. Room lighting is poor due to the absence of lamps. Clearance is low due to obstructed areas in front of the wardrobe and one of the nightstands.

[0086] Figure 7 shows another example of a proposed FP for a virtual 3D room, along with a radar chart of KPIs. The space behind the footstool is inaccessible (blocked by the footstool), thus limiting circulation within the room. The room has good proportions, as it fully meets the criteria for a bedroom. Alignment is correct, as only three objects are not aligned with the walls. Room lighting is correct, as there is one window and two lamps. Clearance is acceptable, but the right side of the floor is cluttered, making the clearance unfavorable.

[0087] When a proposed FP of a furnished virtual 3D room is displayed, the user can choose one of the following view modes: 2D top view, 3D top view (as in Figure 3), or a 3D view from the user's point of view located in the 3D room.

[0088] Next, in step g), the user preferences are updated. User preferences UP can be updated by the user. Thus, this method is highly interactive. Each user preference can be identified by an interactive cursor, such as a slider SLI, as illustrated in Figure 3. Each slider can be moved along a numbered axis (e.g., from -1 to 1), so that the user can indicate which preferences they care about the most. For example, the user will move the slider to the far left if they do not pay attention to the user preferences being considered, and to the far right if the latter is very important to them. Thus, user preferences UP is updated by moving at least one of the sliders.

[0089] User preference UP can be updated via a graphical control element or by entering a numerical value in a dedicated window.

[0090] Next, steps a) through g) are repeated at least once using the updated user preference (step h) in Figure 1). In fact, the updated user preference is used with respect to the target parameter t kpi_param It is converted to the above. As mentioned above, in the new iteration, the target parameter t kpi_param It depends on the target parameter in the preceding iteration, and also on a component calculated based on the user preference in the current iteration. Then, the most promising spatial relation graph MPGR is determined by the target parameter t kpi_param Based on an updated set of values ​​and an updated set of Key Performance Indicator (KPIV) values, a different set of furnished virtual 3D room suggestions is displayed to the user.

[0091] Figure 5 shows the target parameters, KPI values, and some numerical values ​​of the user preference after updating the user preference. This method starts from the aforementioned standard values. After the first iteration of this method, the most promising spatial relationship graph MPGR is instantiated into a 3D room with furniture. The KPI values ​​for the proposed 3D room are displayed in the form of a radar chart. If the displayed 3D room proposal is not satisfactory, the user may update their user preference. The target parameters are converted and modified according to the updated user preference.

[0092] Steps a) through g) are repeated until a stopping criterion is met. For example, the stopping criterion may be that a predetermined number of iterations have been performed, or that the user can indicate that the 3D room is satisfactory.

[0093] Therefore, to obtain a solution that better suits the user's preferences without losing the functional consistency of the room, a solution is proposed to the user after each iteration, and the user can specify their personal preferences regarding the current solution before initiating a new iteration. The proposed virtual 3D room with furniture is easily customizable to find a solution that better matches the user's expectations.

[0094] In another embodiment, the user preference UP set includes satisfaction criteria. If a proposed virtual 3D room with furniture has already been suggested by the algorithm and the user wants to initiate a new calculation, the user can evaluate their satisfaction with the currently proposed solution.

[0095] In that case, an additional slider can be specified for user satisfaction with the selected solution, which will be used for subsequent iterations (see Figure 3, "current proposal satisfaction").

[0096] Graph editing distance dist G,GThis is calculated between the most promising spatial relation graph MPGR and the spatial relation graph GR.

[0097] It is possible to evaluate user satisfaction with the displayed solution.

[0098] If a satisfaction preference is specified, this means that a new launch will be initiated after the user has already been presented with one or more solutions. The distance between the most promising spatial relation graph MPGR and other spatial relation graphs GR is calculated. For example, the graph edit distance disclosed in the paper "An Exact Graph Edit Distance Algorithm for Solving Pattern Recognition Problems" (Zeina Abu-Aisheh et al.) can be used. Essentially, the distances between paths starting from the same wall on the graphs under consideration are calculated, and these distances are summed up to obtain the overall distance between the graphs under consideration.

[0099]

number

[0100] Here, G and G' are graphs that calculate the distance between them, and P i This is a path that starts from the i-th wall of graph G.

[0101] The proposed algorithm eliminates high memory consumption and converges to the optimal solution more quickly.

[0102] For example, if the GED algorithm is used to calculate these distances, the following coarse weights can be used for the algorithm's editing operation, regardless of the node and edge type.

[0103]

number

[0104] Furthermore, several granularities can be used for cost to specify different costs depending on the node and edge type, or, to have the finest granularity, a matrix (N+M)×(N+M) can be designed for node edition costs, where N and M are the number of nodes in the graph in both the following forms:

[0105]

number

[0106] The second matrix (E+1) × (E+1) is for edge edition costs, where E is a different available type of edge.

[0107]

number

[0108] Based on the satisfaction ratings provided by previous solutions, we can guide you towards selecting the most promising graph MPGR, either towards similar ones (if satisfaction was good) or towards completely different ones (if users were not very satisfied).

[0109] To this end, a satisfaction criterion sat ∈ [-1,1] is considered, and either the most similar or different graph is selected compared to previously used graphs. To do this, the distance between the previous most promising graph MPGR and other graphs is distributed on the scale [-1,1]. Then, the closest one is selected compared to the satisfaction criterion sat. This can be done in several ways, either by selecting a fixed number of closest graphs, or by fixing a threshold below which all corresponding graphs are selected.

[0110] In a preferred embodiment, a distance dist smaller than a predetermined threshold KPIOnly graphs that have the minimum distance, and / or a predetermined number of graphs that have the minimum distance, will have the graph edit distance dist G,G This is taken into consideration when calculating.

[0111] In either case, for each iteration of the method, two or more of the most promising spatial relation graphs (MPGRs) can be assumed. For example, the user may be presented with proposals for several furnished virtual 3D rooms, and the iterations are performed in parallel for several of these furnished virtual 3D room proposals.

[0112] In another embodiment, the KPIV value for each key performance indicator can be approximated by the APKPIV value for an a priori key performance indicator, calculated solely based on the features of the spatial relation graph. In that case, the confidence coefficient x kpi This is associated with the value of each key performance indicator (KPI). KPI distance KPI When calculating the APKPIV value for each a priori key performance indicator, the corresponding confidence coefficient x kpi It is weighted by [the specified criteria].

[0113] The following are the formulas for calculating the values ​​of the a priori key performance indicators (APKPIV) for luminance, percentage, clearance, circulation, and alignment, respectively.

[0114] Luminance: Luminance levels can be estimated using the number of light source nodes in the high-level representation and their average illumination intensities according to the set of lamps available in the furniture dataset. Therefore, a subformula of the luminance KPI can be expressed with reasonable confidence (e.g., x bright It can be used with =0.8.

[0115]

number

[0116] Percentage: Number of non-architecture nodes N and average volume of available furniture per category

[0117]

number

[0118]

number

[0119] Clearance: The density of the graph can be used as an indicator of the clearance space left around an object. In this range, the total number of adjacent constraints in the graph is divided by the total number of sides of the furniture object in the room to get the "average number of adjacent relationships per side of the object" (limited confidence, e.g., x). clear =0.2) is obtained.

[0120]

number

[0121] Circulation: To have an idea of ​​whether a room is accessible or not, we can examine the nature of paths from one wall of a room to any other wall. If a path containing at least two furniture objects (excluding those located in the corners of the room) connects two different walls, it means that part of the room may not be accessible from the rest of the room. Thus, such a path P W Find the paths, and then for each edge in those paths, determine a specific cost according to its distance (e.g., 5 for adjacent edges, 1 for proximal edges, 0 for distal edges) (limited confidence, e.g., x circ Count the values ​​(=0.3).

[0122]

number

[0123] Alignment: Furniture alignment cannot be evaluated on the spatial relationship graph, but information about the superstructure, including the nodes in the graph, can be used. The ratio of nodes included in the superstructure to the total number of furniture objects in the room (e.g., relaxed confidence x) align (=0.5) is taken into consideration.

[0124]

number

[0125] The calculation of the KPIV values ​​for each key performance indicator is simplified compared to the aforementioned formula for KPIs. Therefore, calculating a set of key performance indicator values ​​is less time-consuming. The approximation introduces a greater or less higher degree of uncertainty and, therefore, a greater or less higher confidence coefficient x. kpi Applying the KPI distance dist KPI This compensates for the uncertainty in the calculation.

[0126] In another embodiment, the optimization process may be performed to fine-tune the proposed FP for a furnished virtual 3D room (or, if several furnished virtual 3D room proposal FPs are displayed to the user, for multiple furnished virtual 3D room proposal FPs) toward the expected preference (step e' in Figure 1).

[0127] The optimization process involves at least one iteration of modifying the 3D furniture objects in the proposed FP of the furnished virtual 3D room to minimize the global cost function, which is calculated for each modification of the 3D furniture objects in the proposed FP of the virtual 3D room.

[0128] For example, modifying a 3D furniture object could involve replacing the 3D furniture object within a valid subspace area. The new position of the 3D furniture object can be randomly selected or guided by metrics calculated at each step of the optimization process. Each time an object is replaced, all its dependent adjacent objects are replaced in the new valid subspace.

[0129] Alternatively, modifying a 3D furniture object may involve replacing it with another 3D furniture object of the same category, based on a list of alternative objects, data considered as optional attributes of a graph node, or the object's category. In this case, the category of the 3D furniture object corresponding to its function in the 3D room may have been previously detected. This replacement may occur as long as the new 3D furniture object does not collide with the 3D building element due to its potentially different size. Its dependent adjacent objects are replaced according to the size of the new object. If dependent adjacent objects collide with the building element, the replacement is canceled.

[0130] Alternatively, modifying a 3D furniture object can be done by deleting it. In particular, some objects can be defined as "optional" in the graph, meaning they can be deleted. This could be the case, for example, with purely decorative objects.

[0131] The global cost function used during the optimization process is calculated by summing the values ​​of the key performance indicators (KPIVs).

[0132]

number

[0133] Here g kpi_param_i is the value of a key performance indicator (KPIV), and t kpi_param_i is the target parameter t kpi_param And Nkpi_param This is the number of key performance indicators.

[0134] It should be noted that approximations of KPI values ​​affect the accuracy of the optimization process, and therefore, approximate KPI values ​​are not used for cost calculation purposes.

[0135] Considering the aforementioned KPIs (clearance, cycle, brightness, ratio, and alignment), the cost function can be written as follows:

[0136]

number

[0137] The process is probabilistic (though strictly guided), and several optimizations can be performed from different spatial relationship graphs as initial solutions, or from the same spatial relationship graph, to obtain some satisfactory furniture arrangements.

[0138] A solution is considered valid when it converges (either after a certain number of optimization iterations have been performed and the global cost is acceptable, or when the global cost falls below a certain threshold) and when there are no inconsistencies (overlaps) between objects in the room. If inconsistencies are found, the final attempt to resolve them is made in the form of local changes in the inconsistency zone by replacing the inconsistent objects with smaller available replacement objects, or by replacing one of the inconsistent objects enough to resolve the inconsistency without generating other inconsistencies. If inconsistencies persist, the solution is considered invalid and is not retained in the final set of solutions.

[0139] The optimization process is performed on only one graph, and therefore, the process converges much faster than if the optimization were performed on the entire set of graphs. However, optimization can be performed independently on a limited set of graphs.

[0140] After optimization step e'), the results are displayed (step f)), and the user can update their user preference, especially if the proposed FP for the furnished virtual 3D room is not satisfactory.

[0141] The method of the present invention can be executed by a well-programmed general-purpose computer or computer system, possibly including a computer network, which stores a suitable program in a non-volatile form on a computer-readable medium such as a hard disk, solid-state disk, or CD-ROM, and executes the program using its microprocessor and memory.

[0142] A computer suitable for carrying out the method according to an exemplary embodiment of the present invention is described with reference to Figure 8. In Figure 8, the computer includes a central processing unit (CPU) P that carries out the method steps described above while executing an executable program, i.e., a set of computer-readable instructions, stored in or remotely in a memory device such as RAMMEM1 or ROMMEM2 or a hard disk drive (HDD) MEM3, or a DVD / CD drive MEM4. Furthermore, one or more computer files that define a spatial relation graph, and a computer file that includes a proposal for a virtual 3D room with furniture, may be stored in one or more of the memory devices MEM1 to MEM4, or remotely.

[0143] The claimed invention is not limited to the form of a computer-readable medium in which the computer-readable instructions for the process of the present invention are stored. For example, instructions and files may be stored on a CD, DVD, flash memory, RAM, ROM, PROM, EPROM, EEPROM, hard disk, or any other computer-communicated information processing device such as a server or computer. Programs may be stored on the same memory device or on different memory devices.

[0144] Furthermore, computer programs suitable for carrying out the method of the present invention can be provided as utility applications, background daemons, or components of an operating system, or a combination thereof, which run together with CPUCP and an operating system such as Microsoft Vista®, Microsoft Windows 8®, UNIX®, Solaris®, LINUX®, Apple MAC-OS®, and other systems known to those skilled in the art.

[0145] The CPUP may be a Xenon processor (registered trademark) from Intel® in the United States, an Opteron processor from AMD® in the United States, or other processor types such as Freescale ColdFire®, IMX®, or ARM processors (registered trademarks) from Freescale Corporation® in the United States. Alternatively, the CPU may be a processor such as a Core2 Duo® from Intel Corporation, or may be implemented on an FPGA, ASIC, PLD, or using discrete logic circuits, as recognized by those skilled in the art. Furthermore, the CPU may be implemented as multiple processors working together to execute computer-readable instructions for the process of the present invention as described above.

[0146] The computer also includes network interfaces (NI), such as Intel Ethernet PRO network interface cards (registered trademark) from Intel Corporation in the United States, for interfacing with networks such as local area networks (LANs), wide area networks (WANs), and the internet. This method can be implemented remotely by a web application.

[0147] The computer further includes a display controller DC, such as an NVIDIA GeForce GTX® graphics adapter from NVIDIA Corporation®, for interface with a display DY, such as a Hewlett Packard® HPL2445w LCD monitor. A general-purpose I / O interface IF interfaces with a keyboard KB and pointing devices PD, such as a rollerball, mouse, or touchpad. The display, keyboard, sensing surface for touch mode, and pointing devices, together with the display controller and I / O interface, form a graphical user interface used by the user to provide input commands.

[0148] The disk controller DKC connects HDDMEM3 and DVD / CDMEM4 to the CBS communication bus, which can be ISA, EISA, VESA, PCI, etc., for interconnecting all the components of the computer.

[0149] A general description of the features and functions of displays, keyboards, pointing devices, as well as display controllers, disk controllers, network interfaces, and I / O interfaces, is omitted in this specification for brevity, as these features are well known.

Claims

1. 1. A computer-implemented method for automatically furnishing a 3D room based on user preferences, comprising: a) at least one spatial relationship graph (GR) of the virtual 3D room based on spatial relationships between 3D elements of said virtual 3D room, said 3D elements including 3D architectural elements (3D_arch, 1, 2, 3, 4, 11, 12, 13) and 3D furniture objects (3D_object, 5, 6, 7, 8, 9, 10) located in the furnished virtual 3D room; a set of user preferences (UP) related to furnishing the 3D room; obtaining a b) The set of user preferences (UP) is set to target parameters (t kpi_param ), wherein each target parameter is assigned to a respective KPI, said KPI corresponding to a measure for the furniture installation in the 3D room; c) For each spatial relationship graph, Based on the spatial relationship graph, the corresponding target parameters (t kpi_param ) or based on each target parameter (t kpi_param a set of key performance indicator values ​​(KPIVs) based on a dataset mapping a spatial relationship graph to key performance indicator values ​​in terms of The KPI distance (dist) corresponding to the aggregation of all KPI values ​​(KPIV) KPI )and, and calculating d) automatically selecting at least one most promising spatial relationship graph (MPGR), wherein said most promising spatial relationship graph (MPGR) is the one with the smallest KPI distance (dist); KPI ) the spatial relationship graph (GR) having e) instantiating the Most Promising Spatial Relationship Graph (MPGR) into a 3D room that is furnished with the 3D furniture objects (3D_Objects, 5, 6, 7, 8, 9, 10) of the Most Promising Spatial Relationship Graph (MPGR), thereby providing a Proposal (FP) of a furnished virtual 3D room; f) displaying said furnished virtual 3D room proposal (FP) to the user; g) receiving updates to said user preferences (UP); h) repeating steps a) to g) until a stopping criterion is met; A method comprising:

2. In step b), the target parameter t kpi_param is calculated using the following formula: [Equation 1] Here, Proposal kpi_param corresponds to the target parameter in the previous iteration, or the standard value of the first iteration of the method, [Equation 2] δ kpi_param is the constant expansion rate, N kpi is the number of user preferences that affect key performance indicators, w p is the weight of the user preference provided by the user, w kpi_param The method of claim 1 , wherein: is the weight of the user preference for the key performance indicator.

3. approximating each key performance indicator value (KPIV) with an a priori key performance indicator value (APKPIV); The confidence coefficient (x kpi ) and Including, The KPI distance (dist KPI ), each a priori key performance indicator value (APKPIV) is calculated by its corresponding confidence coefficient (x kpi ) are weighted by The method of claim 1.

4. Between steps e) and f), calculating a global cost function (cost), the global cost function (cost) being defined by the relationship: [Equation 3] where gkpi_param_i is the key performance indicator value (KPIV), tkpi_param_i is the target parameter (tkpi_param) of the KPI, Nkpi_param is the number of key performance indicators, and applying at least one iteration of modifications of 3D furniture objects (3D_Objects, 5, 6, 7, 8, 9, 10) in said furnished virtual 3D room proposal (FP) so as to minimize said global cost function; The method of claim 1 , comprising step e′) comprising:

5. 5. The method of claim 4, wherein step e) is completed on the condition that there is no overlap between the 3D furniture objects (3D_Objects, 5, 6, 7, 8, 9, 10) in the 3D room after a certain number of optimization iterations have been performed and / or when the global cost function is below a certain threshold.

6. At least one spatially directed relational graph (GR) is directed, with each node connected to another node by an incoming relation or an outgoing relation; Step e) is - ordering the nodes of said 3D furniture objects (3D_Objects, 5, 6, 7, 8, 9, 10) by the number of incoming relations they have, then by the number of outgoing relations and finally in descending order by their size; For each node of the 3D furniture object (3D_Object, 5, 6, 7, 8, 9, 10) in descending order: calculating a valid subspace area (SS1, SS2, SS3), which is an area of ​​the 3D room where the 3D furniture object corresponding to the node can be instantiated based on the 3D room constraints; - instantiating said 3D furniture object in the center of said valid subspace area (SS1, SS2, SS3); The method of claim 1 , comprising:

7. Step e′) performs the following operations on at least one 3D furniture object of said most likely spatial relationship graph: displacement of 3D furniture objects inside the valid subspace area (SS1, SS2, SS3); - detecting a category of said 3D furniture object corresponding to its function in said 3D room, replacing said 3D furniture object with another 3D furniture object of the same category, or replacing said 3D furniture object based on a list of alternative objects or based on data considered as optional attributes in said Most Probable Spatial Relations Graph (MPGR); Deleting the 3D furniture object; The method of claim 4 , comprising one of:

8. The user preferences (UP) include a set of weighted parameters, the set of weighted parameters being: Brightness, i.e. the light intensity level the user desires in the 3D room; accessibility, i.e. the level of accessibility of 3D furniture objects in the 3D room, Occupancy, i.e. the space occupancy required in the 3D room. Regularity, i.e. the consistency of the subdivision and alignment of the 3D furniture objects within the 3D room; The method of claim 1 , wherein the at least one of the following groups is included:

9. The graph edit distance (dist) between the most probable spatial relationship graph (MPGR) and each of the at least one spatial relationship graphs (GR) is calculated. G,G ), wherein the set of user preferences (UP) includes a satisfaction criterion, and the graph edit distance (dist G,G 2. The method of claim 1, wherein the most probable spatial relationship graph (MPGR) is selected for the next iteration as a function of

10. The method of claim 1 , wherein the dataset mapping a spatial relationship graph to values ​​of key performance indicators is obtained by a machine learning model that takes a graph as input and outputs a value for each considered KPI.

11. The method of claim 1 , wherein in step f) the set of key performance indicator values ​​(KPIPV) is displayed together with the furnished virtual 3D room proposal (FP).

12. 2. The method of claim 1, wherein the user preferences (UP) are updated by the user using sliders (SLI), each slider (SLI) corresponding to a user preference (UP).

13. A computer program comprising computer executable instructions to cause a computer system to carry out the method of any one of claims 1 to 12.

14. A non-transitory computer readable data storage medium (MEM1, MEM2, MEM3, MEM4) comprising computer executable instructions for causing a computer system to perform the method of any one of claims 1 to 12.

15. A computer system comprising a processor (CP) coupled to memories (MEM1, MEM2, MEM3, MEM4), said memories storing computer executable instructions causing said computer system to perform the method of any one of claims 1 to 12.