A building modeling method and related apparatus
By acquiring point cloud data of buildings, and using topological information and neural networks to determine whether the projected line segments of wall and ground areas are preserved, the problem of low model accuracy caused by missing point cloud data is solved, and high-precision BIM construction is achieved.
Patent Information
- Application Number
- CN202280093047.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-04
- Publication Date
- 2026-02-24
- Estimated Expiration
- 2042-03-04
AI Technical Summary
Existing technologies for building modeling suffer from low accuracy due to omissions in point cloud data, resulting in incomplete acquisition of some wall or ground areas. This makes it impossible to achieve high-precision BIM construction.
By acquiring point cloud data of buildings, topological information and target neural networks are used to determine whether the projected line segments of wall and ground areas are retained. BIM is constructed by extending the intersection of the projected line segments, and graph neural networks are used to identify real-world line segments and retain them in the BIM.
It improves the accuracy of building model construction, enabling the generation of high-precision BIM even with incomplete point cloud data, thus increasing the completeness and accuracy of the model.
Smart Images

Figure CN118830005B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computers, and more particularly to a building modeling method and related apparatus. Background Technology
[0002] Scene vectorization is the automatic conversion of sensor information into CAD models that contain semantic meaning, single instances, and combinations of 3D primitives with minimal parameters, achieving and exceeding the quality standards of manual modeling. Scene vectorization is widely used in many industries such as game animation, architectural design, smart factories, and digital cities. Currently, scene vectorization relies heavily on manual processing. Due to high labor costs, low fidelity to the real environment, and semantic ambiguity, it can only achieve human-computer interaction in limited scenarios and cannot even enable further intelligent digital analysis.
[0003] In existing implementations, Building Information Models (BIMs) are obtained by extracting surfaces from sensor-collected data. This method is highly dependent on the accuracy of the collected data. If some structural planes of the building are not captured by the sensors, the accuracy of the constructed building model will be low. Specifically, current methods can construct a building's BIM based on point cloud data collected from the building and rely on assumptions such as loop closure. However, in some scenarios, due to omissions in the collected point cloud data—that is, incomplete point cloud data may not be collected for some building surfaces—a complete loop cannot be formed. In such cases, some wall or floor areas of the building may be omitted from the BIM model. Summary of the Invention
[0004] The building modeling method provided in this application can still obtain a high-precision building model even when the data collected on the building is not comprehensive.
[0005] In a first aspect, this application provides a building modeling method, the method comprising: acquiring point cloud data collected for a target building, the point cloud data including first point cloud data of multiple walls of the target building; acquiring topological information based on the first point cloud data, the topological information including position information of projection line segments of each wall and position information of at least one ground area surrounded by multiple projection line segments; wherein the multiple projection line segments are formed by the intersection of straight lines containing the projection lines of the multiple walls on a horizontal plane; and determining, based on the topological information, whether each projection line segment or the ground area is retained through a target neural network, wherein the retained projection line segments or ground areas are used to construct a Building Information Model (BIM) of the target building.
[0006] In existing implementations, BIM (Building Information Modeling) of buildings is constructed based on point cloud data collected from the building and relying on closed-loop assumptions. In some scenarios, due to omissions in the collected point cloud data—that is, incomplete point cloud data may not be collected for some building surfaces—a complete closed loop cannot be formed. In such cases, some wall or floor areas of the building will be omitted in the BIM. In this embodiment, the projection lines of the walls can be extended, and the line segments between the intersections of the extended projection lines (i.e., the straight lines containing the projection lines) are used as candidate projection line segments. These projection line segments may actually exist (e.g., the point cloud data itself is complete or the point cloud data itself is incomplete), or they may not exist (since they are obtained by the intersection of extended lines, they may not actually exist). A neural network can be used to determine whether to retain the projection line segment obtained by the intersection of extended lines, thereby restoring the walls with missing point cloud data in the BIM and increasing the accuracy of BIM construction.
[0007] In one possible implementation, the plurality of walls includes a first wall, and a first projection segment of the first wall includes a projection line of the first wall on a horizontal plane and an extension of the projection line.
[0008] In one possible implementation, the topology information also includes the location information of the intersection points of the straight lines where the projection lines of the plurality of walls on the horizontal plane intersect.
[0009] To construct the BIM of a target building, it is necessary to obtain the topological information (which may include shape and location) used to describe the structure of the walls and ground areas of the target building. For example, the structure of the walls of the target building can be described by the position of the projected line segments of the walls on the horizontal plane, and the structure of the ground areas of the target building can be described by the position of the ground areas.
[0010] In one possible implementation, the position of the wall can be described by the position of the projection line segment of the wall onto the horizontal plane. The position of the projection line segment can be described by the positions of the two endpoints, or by the center point (or other feature points) of the line segment combined with the direction.
[0011] In one possible implementation, the location information of the at least one ground area can also be represented by the location of the surrounding projection line segment.
[0012] In one possible implementation, the topology information may include the location information of the intersection points of the straight lines whose projections of the plurality of walls onto the horizontal plane intersect. The location information of the intersection points can be described as the coordinate values of the intersection points.
[0013] In one possible implementation, the position information of each projection line segment is represented by the positions of the endpoints at both ends of the target projection line, where the endpoints are the intersections of the target projection lines of the plurality of walls.
[0014] In one possible implementation, the location information of the at least one ground area is represented by the position of the surrounding projection line segment.
[0015] In one possible implementation, the topology information includes the intersection points of the straight lines where the projection lines of the plurality of walls on the horizontal plane intersect; and the data structure used for the arrangement relationship between the intersection points, the projection line segments and the ground area includes arrangement.
[0016] In one possible implementation, topological information can be represented as an arrangement. The arrangement can include segmented atomic lines (i.e., projected lines in this embodiment) and patches formed by these atomic lines (i.e., ground regions in this embodiment). The arrangement allows for isolated points and edges, providing a more general representation of planar graphs. Planar graph prediction based on ArrangementNet not only utilizes explicit geometric data features but also learns latent topological relationships between lines, generating higher-quality planar graphs.
[0017] In one possible implementation, after obtaining the topology information, since the topology information includes projection line segments obtained by extending the projection lines and ground areas, it is necessary to identify whether these projection line segments and ground areas actually exist, and then determine whether these projection line segments and ground areas need to be retained in the BIM.
[0018] In one possible implementation, the topological information can be transformed into a graph structure, and a trained graph neural network (including downstream task networks, such as fully connected layers and output layers) can be used to identify whether this part of the projected line segment and ground area needs to be retained in the BIM.
[0019] In one possible implementation, a target graph structure can be obtained based on the topology information. The target graph structure includes multiple nodes and the connection relationships between the multiple nodes, wherein each node corresponds to an object, which is the wall surface or the ground area.
[0020] In one possible implementation, some nodes in the target graph structure correspond to walls. Optionally, these nodes can have a one-to-one correspondence with walls, meaning one node corresponds to one wall.
[0021] In one possible implementation, some nodes in the target graph structure correspond to ground regions. Optionally, these nodes can have a one-to-one correspondence with ground regions, meaning one node corresponds to one ground region.
[0022] For each node corresponding to a wall, each node can be represented as a feature vector. In one possible implementation, each of the plurality of nodes includes a target vector representing the corresponding wall. The target vector may be related to at least one of the following: the position information of the corresponding wall in the topology information (e.g., but not limited to the center point position of the projection line segment corresponding to the wall); or, the degree of overlap (or consistency) between the position information of the corresponding wall in the topology information and the position information of the corresponding wall in the point cloud data.
[0023] For each node corresponding to a ground region, each node can be represented as a feature vector. In one possible implementation, each of the plurality of nodes includes a target vector representing the corresponding ground region. The target vector may be related to at least one of the following: the location information of the corresponding ground region in the topology information; or, the degree of overlap (or consistency) between the location information of the corresponding ground region in the topology information and the location information of the corresponding ground region in the point cloud data.
[0024] In one possible implementation, the objects corresponding to the nodes with connections in the target graph structure are adjacent units, wherein there are edges between the nodes with connections.
[0025] In one possible implementation, the geometric relative position information of the edges can be used as a feature of the edges in the graph structure.
[0026] In one possible implementation, all nodes with interconnected relationships correspond to the wall surface, and the adjacent positions are defined as: the projected line segments of the wall surface are adjacent and collinear; or,
[0027] The nodes that are connected all correspond to the wall surface, and the adjacent positions mean that the projected line segments of the wall surface enclose the same ground area; or,
[0028] The nodes that are connected correspond to the wall and the ground area respectively, and the adjacent positions are defined as follows: the projected line segment of the wall is used to surround the ground area.
[0029] In one possible implementation, the point cloud data further includes: second point cloud data of multiple ceilings of the target building; the multiple ceilings include a first ceiling and a second ceiling; the method further includes:
[0030] Based on the second point cloud data, determine the position information of the first ceiling and the second ceiling;
[0031] Based on the minimum cut algorithm of the graph, an energy equation is constructed, and the position information of the first ceiling and the second ceiling is corrected according to the energy equation. The corrected position information of the first ceiling and the second ceiling is used to construct the building information model (BIM) of the target building.
[0032] For the roof primitives, primitive boundaries can be established and stitched together. The roof consists of multiple primitive planes. For each pair of primitives, intersection lines are drawn and projected onto a horizontal plane to form an arrangement. The arrangement is then divided into atomic units of faces, considering fitting energy and smoothing energy. For each atomic facet, the fitting energy term is the volume difference between the facet and the roof point cloud when classifying it as a certain plane; for every two faces, the smoothing energy is the area of the vertical gap between adjacent faces due to their different planes. A multi-label graph cut algorithm can be used to optimize and segment the energy overall, determining the final planar division of the roof for mesh construction.
[0033] Secondly, this application provides a building modeling apparatus, the apparatus comprising:
[0034] The acquisition module is used to acquire point cloud data collected for a target building, wherein the point cloud data includes first point cloud data of multiple walls of the target building;
[0035] The topology information construction module is used to obtain topology information based on the first point cloud data. The topology information includes the position information of the projection line segments of each wall surface and the position information of at least one ground area surrounded by multiple projection line segments. The multiple projection line segments are formed by the intersection of the straight lines containing the projection lines of the multiple walls on the horizontal plane.
[0036] The modeling module is used to determine, based on the topology information and through a target neural network, whether each of the projected line segments or the ground areas is retained, wherein the retained projected line segments or the ground areas are used to construct the Building Information Model (BIM) of the target building.
[0037] In one possible implementation, the plurality of walls includes a first wall, and a first projection segment of the first wall includes a projection line of the first wall on a horizontal plane and an extension of the projection line.
[0038] In one possible implementation, the topology information also includes the location information of the intersection points of the straight lines where the projection lines of the plurality of walls on the horizontal plane intersect.
[0039] In one possible implementation, the position information of each projection line segment is represented by the positions of the endpoints at both ends of the target projection line, where the endpoints are the intersections of the target projection lines of the plurality of walls.
[0040] In one possible implementation, the location information of the at least one ground area is represented by the position of the surrounding projection line segment.
[0041] In one possible implementation, the topology information includes the intersection points of the straight lines where the projection lines of the plurality of walls on the horizontal plane intersect; and the data structure used for the arrangement relationship between the intersection points, the projection line segments and the ground area includes arrangement.
[0042] In one possible implementation, the device further includes:
[0043] The graph structure construction module is used to obtain a target graph structure based on the topology information. The target graph structure includes multiple nodes and the connection relationships between the multiple nodes. Each node corresponds to an object, which is the wall or the ground area. The objects corresponding to nodes with connection relationships are adjacent units.
[0044] The modeling module is specifically used for:
[0045] Based on the target graph structure, the target neural network determines whether each node among the plurality of nodes is retained.
[0046] In one possible implementation, all nodes with interconnected relationships correspond to the wall surface, and the adjacent positions are defined as: the projected line segments of the wall surface are adjacent and collinear; or,
[0047] The nodes that are connected all correspond to the wall surface, and the adjacent positions mean that the projected line segments of the wall surface enclose the same ground area; or,
[0048] The nodes that are connected correspond to the wall and the ground area respectively, and the adjacent positions are defined as follows: the projected line segment of the wall is used to surround the ground area.
[0049] In one possible implementation, the target neural network includes a graph neural network.
[0050] In one possible implementation, each of the plurality of nodes includes a target vector representing the corresponding object, the target vector relating to at least one of the following:
[0051] The location information of the corresponding object in the topology information; or...
[0052] The degree of overlap between the location information of the corresponding object in the topology information and the location information of the corresponding object in the point cloud data.
[0053] In one possible implementation, the point cloud data further includes: second point cloud data of multiple ceilings of the target building; the multiple ceilings include a first ceiling and a second ceiling; the modeling module is further configured to:
[0054] Based on the second point cloud data, determine the position information of the first ceiling and the second ceiling;
[0055] Based on the minimum cut algorithm of the graph, an energy equation is constructed, and the position information of the first ceiling and the second ceiling is corrected according to the energy equation. The corrected position information of the first ceiling and the second ceiling is used to construct the building information model (BIM) of the target building.
[0056] Thirdly, this application provides a building modeling apparatus, which may include a processor coupled to a memory. The memory stores program instructions, and when the program instructions stored in the memory are executed by the processor, the method described in the first aspect is implemented. For details regarding the steps in the various possible implementations of the first aspect executed by the processor, please refer to the first aspect; further details will not be repeated here.
[0057] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the method described in the first aspect above.
[0058] Fifthly, this application provides a circuit system including a processing circuit configured to perform the method described in the first aspect above.
[0059] Sixthly, this application provides a computer program product including code that, when run on a computer, causes the computer to perform the method described in the first aspect above.
[0060] Seventhly, this application provides a chip system including a processor for implementing the functions involved in the foregoing aspects, such as transmitting or processing data and / or information involved in the foregoing methods. In one possible design, the chip system further includes a memory for storing program instructions and data necessary for a server or communication device. This chip system may be composed of chips or may include chips and other discrete devices.
[0061] This application provides a building modeling method, the method comprising: acquiring point cloud data collected for a target building, the point cloud data including first point cloud data of multiple walls of the target building; acquiring topology information based on the first point cloud data, the topology information including position information of projection line segments of each wall and position information of at least one ground area surrounded by multiple projection line segments; wherein the multiple projection line segments are formed by the intersection of straight lines containing the projection lines of the multiple walls on a horizontal plane; and determining, based on the topology information, whether each projection line segment or the ground area is retained through a target neural network, wherein the retained projection line segments or ground areas are used to construct a Building Information Model (BIM) of the target building. This application addresses the projection lines on walls by extending them and using the line segments between the intersections of the extended projection lines (i.e., the straight lines containing the projection lines) as candidate projection line segments. These projection line segments may actually exist (e.g., the point cloud data itself is complete or incomplete) or they may not exist (since they are obtained by the intersection of extended lines, they may not actually exist). A neural network can be used to determine whether to retain the projection line segment obtained by the intersection of extended lines, thereby restoring the wall with missing point cloud data in BIM and increasing the accuracy of BIM construction. Attached Figure Description
[0062] Figure 1 This is a schematic diagram of an application architecture structure according to this application;
[0063] Figure 2 This is a schematic diagram of an application architecture structure according to this application;
[0064] Figure 3 This is a schematic diagram of an application architecture structure according to this application;
[0065] Figure 4 A schematic diagram illustrating a building modeling method provided in an embodiment of this application;
[0066] Figure 5 A schematic diagram illustrating the construction of topology information as provided in an embodiment of this application;
[0067] Figure 6 A schematic diagram illustrating the construction of topology information as provided in an embodiment of this application;
[0068] Figure 7 A schematic diagram illustrating the construction of topology information as provided in an embodiment of this application;
[0069] Figure 8 A schematic diagram illustrating the construction of topology information as provided in an embodiment of this application;
[0070] Figure 9 A flowchart illustrating a building modeling method provided in this application embodiment;
[0071] Figure 10 A schematic diagram of a building modeling device provided in an embodiment of this application;
[0072] Figure 11 A schematic diagram of the structure of the execution device provided in the embodiments of this application;
[0073] Figure 12 This is a schematic diagram of a training device provided in an embodiment of this application;
[0074] Figure 13 This is a schematic diagram of a chip structure provided in an embodiment of this application. Detailed Implementation
[0075] The embodiments of the present invention will now be described with reference to the accompanying drawings. The terminology used in the embodiments section is for illustrative purposes only and is not intended to limit the scope of the invention.
[0076] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.
[0077] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing objects with the same attributes in the embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of elements is not necessarily limited to those elements, but may include other elements not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0078] It should be understood that in this application, "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0079] The application architecture of this application embodiment will be introduced next:
[0080] Reference Figure 1 , Figure 1 This is a schematic diagram of the application system architecture in an embodiment of this application:
[0081] The application architecture may include point cloud production hardware (4001), a main server (4002), and a terminal (4003). The point cloud production hardware may include a data acquisition module and a data distribution module. The data acquisition module may, for example, include a laser vehicle and an inertial sensor, or a camera group, an RGBD camera, etc. The data distribution module can store the data acquired by the data acquisition module (e.g., the point cloud data in this embodiment) into memory and transmit it to the main server via a network card. The hardware of the main server (4002) may include: (a) a network card for accepting input point cloud data and distributing the results of the output building information model (BIM); (b) memory for storage; (c) an AI chip for calculating and implementing deep learning algorithms; and (d) a CPU for calculating and implementing geometric processing algorithms. (c) and (d) can implement the building modeling method in this embodiment. The terminal (4003) is used to receive the BIM model calculated by the main server, and displays the BIM model through the collaboration of memory, GPU and CPU, enabling users to interact with the terminal. Optionally, it can also perform BIM model analysis according to business needs.
[0082] Reference Figure 2 , Figure 2 This is a schematic diagram of the application system architecture in an embodiment of this application, compared to Figure 1 , Figure 2 This illustrates the data flow process between different parts of the system architecture:
[0083] The system architecture can include logical modules and hardware modules.
[0084] The logic module may include a preprocessing module, which reads the input point cloud data and performs semantic and primitive segmentation, which is the foundation for the successful construction of subsequent BIM main elements.
[0085] The main element construction module includes modules for building floor plans, ceilings, and key structures such as doors, windows, and columns. For example, the main element construction module can specifically implement floor plan construction based on Arrangement. Unlike other existing floor plan construction algorithms, it does not require assumptions such as Manhattan projection or room loop closure, making it a general-purpose 2D floor plan generation algorithm. Specifically, the main element construction module can implement a ceiling construction module based on Arrangement and a multi-label graph cut optimization algorithm. Specifically, the main element construction module can implement a door, window, and column construction module based on FCAF3D.
[0086] The BIM generation module integrates multiple semantic single-unit elements and uses constructive solid geometry (CSG) to fuse them into the final BIM model.
[0087] The description of the hardware module can be found in [reference]. Figure 1 The similarities will not be elaborated further.
[0088] The following section describes the more detailed architecture of the execution entity that performs the connection prediction method in the embodiments of this application.
[0089] The following is combined with Figure 3 The system architecture provided in the embodiments of this application will be described in detail. Figure 3 This is a schematic diagram of the system architecture provided for an embodiment of this application. Figure 3 As shown, the system architecture 500 includes an execution device 510, a training device 520, a database 530, a client device 540, a data storage system 550, and a data acquisition system 560.
[0090] The execution device 510 includes a computing module 511, an I / O interface 512, a preprocessing module 513, and a preprocessing module 514. The computing module 511 may include a target model / rule 501. For example, the preprocessing modules 513 and 514 can acquire point cloud data and perform operations such as semantic segmentation and topology construction on the point cloud data.
[0091] The data acquisition device 560 is used to collect training samples. The training samples can be point cloud data (which can be used to describe the topological information of buildings), etc. In this embodiment, the training samples can be obtained based on the topological information of buildings. After collecting the training samples, the data acquisition device 560 stores these training samples in the database 530.
[0092] The training device 520 can maintain training samples in the database 530 and the neural network to be trained (such as the target neural mesh in the embodiments of this application) to obtain the target model / rule 501.
[0093] It should be noted that in practical applications, the training samples maintained in database 530 may not all come from the data acquisition device 560; they may also be received from other devices. Furthermore, it should be noted that training device 520 may not necessarily train the target model / rule 501 entirely based on the training samples maintained in database 530; it may also obtain training samples from the cloud or other sources for model training. The above description should not be construed as limiting the embodiments of this application.
[0094] The target model / rule 501 trained using training device 520 can be applied to different systems or devices, such as... Figure 3 The execution device 510 shown can be a server, terminal, such as a mobile terminal, tablet computer, laptop computer, augmented reality (AR) / virtual reality (VR) device, vehicle terminal, etc., or it can be a server or cloud.
[0095] Specifically, the training device 520 can transfer the trained model to the execution device 510.
[0096] exist Figure 3 In the process, the execution device 510 is configured with an input / output (I / O) interface 512 for data interaction with external devices. Users can input data (such as point cloud data collected for buildings in this embodiment) into the I / O interface 512 through the client device 540.
[0097] Preprocessing modules 513 and 514 are used to preprocess the input data received from the I / O interface 512. It should be understood that preprocessing modules 513 and 514 may be absent, or only one preprocessing module may be used. When preprocessing modules 513 and 514 are absent, the calculation module 511 can be used directly to process the input data.
[0098] During the preprocessing of input data by the execution device 510, or during the calculation module 511 of the execution device 510 performing calculations and other related processes, the execution device 510 can call data, code, etc. in the data storage system 550 for corresponding processing, or store the data, instructions, etc. obtained from the corresponding processing into the data storage system 550.
[0099] Finally, I / O interface 512 provides the processing results (e.g., BIM in this embodiment) to customer device 540, thereby providing them to the user.
[0100] exist Figure 3 In the illustrated scenario, the user can manually provide input data, which can be done through the interface provided by I / O interface 512. Alternatively, the client device 540 can automatically send input data to I / O interface 512. If user authorization is required for the client device 540 to automatically send input data, the user can set the corresponding permissions in the client device 540. The user can view the output results of the execution device 510 on the client device 540, which can be presented in various forms such as display, sound, or animation. The client device 540 can also act as a data acquisition terminal, collecting the input data and output results of the input I / O interface 512 as shown in the figure, and storing them as new sample data in database 530. Alternatively, data can be collected directly from the I / O interface 512 without going through the client device 540, using the input data and output results of the input I / O interface 512 as shown in the figure, and storing them as new sample data in database 530.
[0101] It is worth noting that, Figure 3 This is merely a schematic diagram of a system architecture provided in an embodiment of this application. The positional relationships between the devices, components, modules, etc., shown in the diagram do not constitute any limitation. For example, in Figure 3 In this context, the data storage system 550 is an external storage device relative to the execution device 510. However, in other cases, the data storage system 550 may also be placed within the execution device 510. It should be understood that the aforementioned execution device 510 may be deployed within the client device 540.
[0102] From the inference side of the model:
[0103] In this embodiment of the application, the computing module 511 of the execution device 510 can obtain the code stored in the data storage system 550 to implement part or all of the building modeling method in this embodiment of the application.
[0104] In this embodiment of the application, the computing module 511 of the execution device 510 may include hardware circuits (such as application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), general-purpose processors, digital signal processors (DSPs), microprocessors or microcontrollers, etc.) or combinations of these hardware circuits. For example, the training device 520 may be a hardware system with instruction execution capabilities, such as a CPU or DSP, or a hardware system without instruction execution capabilities, such as an ASIC or FPGA, or a combination of the aforementioned hardware systems without instruction execution capabilities and hardware systems with instruction execution capabilities.
[0105] Specifically, the computing module 511 of the execution device 510 can be a hardware system with the function of executing instructions. Some or all of the building modeling method provided in this application embodiment can be software code stored in memory. The computing module 511 of the execution device 510 can obtain the software code from the memory and execute the obtained software code to realize some or all of the building modeling method provided in this application embodiment.
[0106] It should be understood that the computing module 511 of the execution device 510 can be a combination of a hardware system without the function of executing instructions and a hardware system with the function of executing instructions (such as an AI chip). Some or all of the steps in the building modeling method provided in this application embodiment can also be implemented by a hardware system in the computing module 511 of the execution device 510 that does not have the function of executing instructions, which is not limited here.
[0107] Since the embodiments of this application involve a large number of neural network applications, for ease of understanding, the relevant terms and concepts such as neural networks involved in the embodiments of this application will be introduced below.
[0108] (1) Neural Network
[0109] A neural network can be composed of neural units, which can be operational units that take xs and an intercept of 1 as inputs, and whose output can be:
[0110] (1-1)
[0111] Where s = 1, 2, ..., n, where n is a natural number greater than 1, Ws is the weight of xs, and b is the bias of the neural unit. f is the activation function of the neural unit, used to introduce nonlinear characteristics into the neural network to convert the input signal in the neural unit into the output signal. The output signal of this activation function can be used as the input of the next convolutional layer. The activation function can be the sigmoid function. A neural network is a network formed by connecting many of the above-mentioned individual neural units together, that is, the output of one neural unit can be the input of another neural unit. The input of each neural unit can be connected to the local receptive field of the previous layer to extract the features of the local receptive field, which can be a region composed of several neural units.
[0112] The function of each layer in a neural network can be expressed mathematically. To describe it: From a physical perspective, the work of each layer in a neural network can be understood as transforming the input space (the set of input vectors) to the output space (i.e., from the row space to the column space of a matrix) through five operations on the input space. These five operations include: 1. Dimensionality increase / decrease; 2. Magnification / scaling; 3. Rotation; 4. Translation; 5. "Bending". Operations 1, 2, and 3 are... Completed, operation 4 is performed by Completed, operation 5 is then performed by To achieve this. The term "space" is used here because the object being classified is not a single thing, but a category of things; space refers to the collection of all individuals within this category. This is a weight vector, where each value represents the weight of a neuron in that layer of the neural network. The weights of each layer determine the spatial transformation from the input space to the output space described above. It controls how the space is transformed. The goal of training a neural network is to ultimately obtain the weight matrix of all layers of the trained neural network (composed of vectors from many layers). (The resulting weight matrix). Therefore, the training process of a neural network is essentially about learning how to transform the control space, more specifically, learning the weight matrix.
[0113] Because we want the output of the neural network to be as close as possible to the actual predicted value, we can compare the current network's prediction with the desired target value, and then update the weight vector of each layer of the neural network based on the difference between the two (of course, there is usually an initialization process before the first update, that is, pre-configuring the parameters of each layer in the neural network). For example, if the network's prediction is too high, the weight vector is adjusted to make it predict lower, and this adjustment is continued until the neural network can predict the actual target value. Therefore, it is necessary to predefine "how to compare the difference between the predicted value and the target value," which is the loss function or objective function. These are important equations used to measure the difference between the predicted value and the target value. Taking the loss function as an example, the higher the output value (loss) of the loss function, the greater the difference, so training the neural network becomes the process of minimizing this loss as much as possible.
[0114] (2) Deep Neural Networks
[0115] Deep Neural Networks (DNNs), also known as multilayer neural networks, can be understood as neural networks with many hidden layers, though there's no specific metric for "many." DNNs can be categorized into three layers based on their position: input layers, hidden layers, and output layers. Generally, the first layer is the input layer, the last layer is the output layer, and the layers in between are hidden layers. All layers are fully connected, meaning that any neuron in the i-th layer is connected to any neuron in the (i+1)-th layer. Although DNNs appear complex, the operation of each layer is actually quite simple, resembling a linear relationship as follows: ,in, It is the input vector. It is the output vector. It is an offset vector. It is the weight matrix (also called coefficients). It's an activation function. Each layer simply applies the input vector... The output vector is obtained through such a simple operation. Because DNNs have many layers, the coefficients... and offset vector The number of these parameters is therefore quite large. These parameters are defined in DNNs as follows: [as coefficients] For example: Suppose in a three-layer DNN, the linear coefficient from the fourth neuron in the second layer to the second neuron in the third layer is defined as... The superscript 3 represents the coefficient. The layer number is used, and the index corresponds to the output third layer index 2 and the input second layer index 4. In summary: the coefficients from the k-th neuron in layer L−1 to the j-th neuron in layer L are defined as... It's important to note that the input layer does not have... Parameters. In deep neural networks, more hidden layers allow the network to better depict complex situations in the real world. Theoretically, the more parameters a model has, the higher its complexity and "capacity," meaning it can accomplish more complex learning tasks. Training a deep neural network is essentially the process of learning the weight matrix, and its ultimate goal is to obtain the weight matrix of all layers in the trained deep neural network (a weight matrix formed by vectors W from many layers).
[0116] (3) Convolutional Neural Network
[0117] A Convolutional Neural Network (CNN) is a deep neural network with a convolutional structure. A CNN contains a feature extractor consisting of convolutional layers and subsampling layers. This feature extractor can be viewed as a filter, and the convolution process can be seen as using a trainable filter to convolve with an input image or a convolutional feature map. A convolutional layer is a layer of neurons in a CNN that performs convolution processing on the input signal. In a convolutional layer of a CNN, a neuron may only be connected to some of its neighboring neurons. A convolutional layer typically contains several feature maps, each composed of rectangularly arranged neural units. Neural units on the same feature map share weights, which are the convolutional kernel. Shared weights can be understood as the way image information is extracted regardless of location. The underlying principle is that the statistical information of one part of the image is the same as that of other parts. This means that image information learned in one part can also be used in another part. Therefore, the same learned image information can be used for all locations in the image. In the same convolutional layer, multiple convolutional kernels can be used to extract different image information. Generally, the more convolutional kernels there are, the richer the image information reflected by the convolution operation.
[0118] Convolutional kernels can be initialized as matrices of random size, and during the training of a convolutional neural network, they can learn appropriate weights. Furthermore, sharing weights directly reduces the number of connections between layers in the convolutional neural network, while also lowering the risk of overfitting.
[0119] (4) Loss function
[0120] In training a deep neural network, to ensure the output closely approximates the desired predicted value, we compare the network's prediction with the target value. Based on the difference, we update the weight vector of each layer (usually pre-configuring parameters before the initial update). For example, if the prediction is too high, the weight vector is adjusted to predict a lower value. This adjustment continues until the deep neural network predicts the target value or a value very close to it. Therefore, we need to predefine "how to compare the difference between the predicted and target values," which is the loss function or objective function. These are important equations used to measure the difference between the predicted and target values. Taking the loss function as an example, a higher output value (loss) indicates a greater difference, and training the deep neural network becomes a process of minimizing this loss.
[0121] (5) Backpropagation algorithm
[0122] Convolutional neural networks can employ backpropagation (BP) to correct the parameters in the initial super-resolution model during training, thereby reducing the reconstruction error loss. Specifically, forward propagation of the input signal to the output generates an error loss; this error loss information is then propagated back to update the parameters in the initial super-resolution model, leading to convergence of the error loss. The backpropagation algorithm is an error-loss-driven backpropagation process aimed at obtaining the optimal parameters of the super-resolution model, such as the weight matrix.
[0123] In one possible implementation, scene vectorization automatically converts sensor information into a CAD model containing semantics, single instances, and a minimal set of 3D primitives, achieving and exceeding the quality standards of manual modeling. Scene vectorization is widely used in many industries, including game animation, architectural design, smart factories, and digital cities. Currently, scene vectorization relies heavily on manual processing. Due to high labor costs, low fidelity to the real environment, and semantic ambiguity, it can only achieve human-computer interaction in limited scenarios and cannot even enable further intelligent digital analysis.
[0124] In existing implementations, BIM is obtained by extracting surfaces from data collected by sensors. This method is highly dependent on the accuracy of the collected data. If some structural planes of a building are not captured by the sensors, the accuracy of the constructed building model will be low. The building modeling method provided in this application can still obtain a high-accuracy building model even when the data collected from the building is not comprehensive.
[0125] See Figure 4 , Figure 4 This is a flowchart illustrating a building modeling method provided in an embodiment of this application, such as... Figure 4 As shown, the building modeling method provided in this application includes:
[0126] 401. Acquire point cloud data collected for the target building, wherein the point cloud data includes first point cloud data of multiple walls of the target building.
[0127] In one possible implementation, the execution device can acquire point cloud data collected for the target building.
[0128] In one possible implementation, the data acquisition device for collecting point cloud data of the target building can be a laser scanning vehicle, a camera, as well as a mobile phone, tablet personal computer, laptop computer, digital camera, personal digital assistant (PDA), navigation device, mobile internet device (MID), or wearable device, etc., without specific limitations in this application.
[0129] In one possible implementation, the sensor that collects point cloud data of the target building could be a lidar, a camera, or the like.
[0130] Optionally, the data acquisition device can have real-time upload capabilities, meaning it can upload the collected data to the server in real time. Alternatively, the acquisition device can collect the data and then upload it to the server all at once. This collected data is used by the execution device to build a BIM model for the target building.
[0131] For example, point cloud data can be acquired in various ways, including LiDAR scanning, stereo cameras, and multi-view cameras. Figure 3 Algorithms such as 3D reconstruction can be used for data recovery. Optionally, the point cloud data can include multiple point clouds, which can be an Nx6 array representing the 3D coordinates and RGB colors of N point clouds. The RGB colors are optional information.
[0132] In one possible implementation, point cloud data can be used to describe the structural features of the target building (e.g., it can be used to describe the structural features of the building's surface).
[0133] In one possible implementation, point cloud data can be segmented using both semantic segmentation and primitive segmentation. For example, a pre-trained semantic segmentation network can be used for semantic segmentation, and a pre-trained primitive segmentation network can be used for primitive segmentation. For instance, SparseConvNet can be used for semantic segmentation, and RegionGrowing can be used for primitive segmentation. After semantic segmentation and primitive segmentation, each point in the point cloud data can contain a corresponding semantic label and planar primitive parameters.
[0134] In one possible implementation, for the i-th point, a semantic integer value 0<=si<=S can be assigned (for example, the semantic type can include but is not limited to ground, wall, column, door and window, ceiling, table, chair, etc.), where 0 represents no semantics (for example, for noisy points in point cloud data, or point clouds that the semantic segmentation network cannot recognize, 0 can be assigned), and S represents the total number of semantic types that the system can segment.
[0135] In one possible implementation, each point cloud can be assigned a plane integer value li >= 0, where 0 indicates that the point is not on the detected plane. Points assigned the same plane integer value are considered to be on the same plane. Assuming the maximum value of {li} is L, there are a total of L planes, and the parameters of each plane are calculated using a plane fitting method.<a, b, c, d> Let represent the plane equation ax + by + cz + d = 0. For the i-th plane (1 <= i <= L), its semantics can be calculated as follows: count the maximum number of points contained in each semantic among the points contained in the plane, and the corresponding semantic is the semantic of the plane.
[0136] In one possible implementation, floor levels can also be determined based on point cloud data. Specifically, by segmenting primitives that semantically represent the ground, the scene can be divided into different floors. For example, a plane semantically representing the ground is found, the median height of the points it contains is obtained, and this number is used as the horizontal cutting height for the floor, thus segmenting the point cloud into floors.
[0137] In one possible implementation, the point cloud data may include first point cloud data, which may be point cloud data whose semantics are wall.
[0138] In one possible implementation, the first point cloud data can be the point cloud data located on the same floor and semantically representing a wall.
[0139] 402. Based on the first point cloud data, obtain topology information, the topology information including the position information of the projection line segments of each wall surface, and the position information of at least one ground area surrounded by multiple projection line segments; wherein, the multiple projection line segments are formed by the intersection of the straight lines where the projection lines of the multiple walls surface are located on the horizontal plane.
[0140] In one possible implementation, the first point cloud data of the wall can be projected onto the ground (e.g., a horizontal plane) to become projection lines. The intersection of the straight lines containing the projection lines of multiple walls on the horizontal plane can form multiple projection line segments, where the endpoints of each projection line segment can be the intersection points between the projection lines.
[0141] In one possible implementation, the projection lines obtained by projecting point cloud data onto the ground (e.g., a horizontal plane) can be obtained by fitting straight lines.
[0142] In existing implementations, BIM (Building Information Modeling) is constructed based on point cloud data collected from buildings and relying on assumptions such as closed-loop mapping. However, in some scenarios, the collected point cloud data may be incomplete, meaning that complete point cloud data for some building surfaces may not be collected. Consequently, a complete closed loop cannot be formed. In such cases, some wall or floor areas of the building may be omitted from the BIM model. Figure 5 , Figure 5 The solid lines in the diagram represent the projection results of point cloud data representing walls onto the horizontal plane. Due to missing data collection, the point cloud data of a portion of the wall corresponding to projection line 501 was not collected (the dashed part of projection line 501), and the point cloud data of a portion of the wall corresponding to projection line 502 was not collected (the dashed part of projection line 502). In this case, since only the area strictly enclosed by the walls is a valid ground area under the closed-loop assumption, the BIM construction of the building is based only on the partial point cloud data. The ground area enclosed by projection lines 501, 502, 503, and 504 is missing in the BIM.
[0143] In this embodiment, the projection lines on the wall can be extended, and the line segments between the intersections of the extended projection lines (i.e., the straight lines containing the projection lines) are taken as candidate projection line segments. These projection line segments may actually exist (e.g., the point cloud data itself is complete or the point cloud data itself is incomplete), or they may not exist (since they are obtained by the intersection of extended lines, they may not actually exist). A neural network can be used to determine whether to retain the projection line segment obtained by the intersection of extended lines, thereby restoring the wall with missing point cloud data in the BIM, thus increasing the accuracy of BIM construction.
[0144] Taking the plurality of walls as an example, the first projection line segment of the first wall includes the projection line of the first wall on the horizontal plane and the extension line of the projection line.
[0145] For example, you can refer to Figure 5One end of the projection line segment 501 is the intersection point with the extended projection line 501, and the other end of the projection line segment 501 is the intersection point with the projection line 504. Therefore, the projection line segment 504 may include the projection line of the wall on the horizontal plane (solid line part) and the extension line of the projection line (dashed line part).
[0146] To construct the BIM of a target building, it is necessary to obtain the topological information (which may include shape and location) used to describe the structure of the walls and ground areas of the target building. For example, the structure of the walls of the target building can be described by the position of the projected line segments of the walls on the horizontal plane, and the structure of the ground areas of the target building can be described by the position of the ground areas.
[0147] In one possible implementation, the position of the wall can be described by the position of the projection line segment of the wall onto the horizontal plane. The position of the projection line segment can be described by the positions of the two endpoints, or by the center point (or other feature points) of the line segment combined with the direction.
[0148] In one possible implementation, the location information of the at least one ground area can also be represented by the location of the surrounding projection line segment.
[0149] In one possible implementation, the topology information may include the location information of the intersection points of the straight lines whose projections of the plurality of walls onto the horizontal plane intersect. The location information of the intersection points can be described as the coordinate values of the intersection points.
[0150] In one possible implementation, the position information of each projection line segment is represented by the positions of the endpoints at both ends of the target projection line, where the endpoints are the intersections of the target projection lines of the plurality of walls.
[0151] For example, refer to Figure 5 , Figure 5 The position of the projection line segment 501 can be described by the positions of the endpoints at both ends of the projection line segment 501.
[0152] In one possible implementation, the location information of the at least one ground area is represented by the position of the surrounding projection line segment.
[0153] In one possible implementation, topological information can be represented as an arrangement. The arrangement can include segmented atomic lines (i.e., projected lines in this embodiment) and patches formed by these atomic lines (i.e., ground regions in this embodiment). The arrangement allows for isolated points and edges, providing a more general representation of planar graphs. Planar graph prediction based on ArrangementNet not only utilizes explicit geometric data features but also learns latent topological relationships between lines, generating higher-quality planar graphs.
[0154] The arrangement structure can include the positions of each intersection point, the positions of the two endpoints of each projection line segment, each ground area, and the positions of the projection line segments that enclose the ground area.
[0155] In one possible implementation, after obtaining the topology information, since the topology information includes projection line segments obtained by extending the projection lines and ground areas, it is necessary to identify whether these projection line segments and ground areas actually exist, and then determine whether these projection line segments and ground areas need to be retained in the BIM.
[0156] In one possible implementation, the topological information can be transformed into a graph structure, and a trained graph neural network (including downstream task networks, such as fully connected layers and output layers) can be used to identify whether this part of the projected line segment and ground area needs to be retained in the BIM.
[0157] In one possible implementation, a target graph structure can be obtained based on the topology information. The target graph structure includes multiple nodes and the connection relationships between the multiple nodes, wherein each node corresponds to an object, which is the wall surface or the ground area.
[0158] In one possible implementation, some nodes in the target graph structure correspond to walls. Optionally, these nodes can have a one-to-one correspondence with walls, meaning one node corresponds to one wall.
[0159] In one possible implementation, some nodes in the target graph structure correspond to ground regions. Optionally, these nodes can have a one-to-one correspondence with ground regions, meaning one node corresponds to one ground region.
[0160] For each node corresponding to a wall, each node can be represented as a feature vector. In one possible implementation, each of the plurality of nodes includes a target vector representing the corresponding wall. This target vector can be related to at least one of the following: the position information of the corresponding wall in the topology information (e.g., but not limited to, the center point position of the projected line segment corresponding to the wall); or, the degree of overlap (or consistency) between the position information of the corresponding wall in the topology information and the position information of the corresponding wall in the point cloud data. For example, in... Figure 5 In the first point cloud data, the longer the dashed part of the projection line segment 501, the lower the overlap between the position information of the corresponding objects (or the worse the consistency).
[0161] For each node corresponding to a ground region, each node can be represented as a feature vector. In one possible implementation, each of the plurality of nodes includes a target vector representing the corresponding ground region. The target vector may be related to at least one of the following: the location information of the corresponding ground region in the topology information; or, the degree of overlap (or consistency) between the location information of the corresponding ground region in the topology information and the location information of the corresponding ground region in the point cloud data.
[0162] In one possible implementation, the objects corresponding to the nodes with connections in the target graph structure are adjacent units, wherein there are edges between the nodes with connections.
[0163] In one possible implementation, the nodes that are connected all correspond to the wall surface, and the adjacent positions mean that the projected line segments of the wall surface are adjacent and collinear.
[0164] For example, you can refer to Figure 6 Projection line segment 601 and projection line segment 602 are adjacent and collinear.
[0165] In one possible implementation, the nodes that are connected all correspond to the wall surface, and the adjacent positions are defined as follows: the projected line segments of the wall surface are used to enclose the same ground area.
[0166] For example, you can refer to Figure 7 Projection segments 701, 702, 703, and 704 are used to enclose the same ground area.
[0167] In one possible implementation, the nodes that are connected correspond to the wall and the ground area respectively, and the adjacent positions are defined as follows: the projected line segment of the wall is used to surround the ground area.
[0168] For example, you can refer to Figure 8 Projection segments 801, 802, 803, and 804 are used to enclose the same ground region 805. Therefore, there is a connection between any two nodes in projection segments 801, 802, 803, and the ground region 805.
[0169] Taking the topological information "Arrangement" as an example, "Arrangement" can be further constructed into a graph structure, serving as input to a graph neural network. The graph structure contains two different types of nodes representing the two elements of the "Arrangement": line segments represent wall nodes, and faces represent floor nodes. Three types of edges are constructed in the graph structure to represent the relationships between the two types of nodes:
[0170] (1) Two adjacent line segments are collinear: adjacent line segments with the same direction vector;
[0171] (2) Two adjacent line segments are coplanar: adjacent line segments that form the same surface;
[0172] (3) Adjacent lines and surfaces: The correspondence between line segments and the surfaces they surround;
[0173] By calculating the data consistency between the elements (line segments, patches) in the Arrangement and the original point cloud, these consistency values are used as features for two types of nodes in the graph structure. Optionally, the geometric relative position information of the edges can be used as features for the edges in the graph structure.
[0174] 403. Based on the topology information, determine whether each of the projection line segments or the ground areas is retained through the target neural network, wherein the retained projection line segments or the ground areas are used to construct the building information model (BIM) of the target building.
[0175] In one possible implementation, after obtaining the topology information, since the topology information includes projection line segments obtained by extending the projection lines and ground areas, it is necessary to identify whether these projection line segments and ground areas actually exist, and then determine whether these projection line segments and ground areas need to be retained in the BIM.
[0176] In one possible implementation, the topological information can be transformed into a graph structure, and a trained graph neural network (including downstream task networks, such as fully connected layers and output layers) can be used to identify whether this part of the projected line segment and ground area needs to be retained in the BIM.
[0177] In one possible implementation, determining whether each of the projected line segments or the ground region is retained based on the topology information and through a target neural network may specifically include: determining whether each of the plurality of nodes is retained based on the target graph structure and through a target neural network.
[0178] The following is a diagram illustrating data processing using a graph neural network:
[0179] In one possible implementation, the graph neural network takes as input a graph structure composed of the basic elements of the arrangement, and feature vectors for each node and relation. Convolutions are performed on each relation in the graph structure using different network parameters, and the features obtained from edge convolutions are pooled back to the elements adjacent to the edges through pooling operations. Specifically, this may include updating node features and edge features.
[0180] (1) Node feature update
[0181] In one possible implementation, the features of each node are updated by the features of all its associated neighboring nodes. For example, the feature calculation formula for node v in layer k is:
[0182] ;
[0183] Where N(v) represents the neighboring nodes of node v, λ represents the proportion of the original features in the node feature update, and f represents the linear projection from the edge feature space to the node feature space. This indicates a convolution operation.
[0184] (2) Edge feature update
[0185] In one possible implementation, edge features are updated by the features of their two endpoints. For example, the update formula for the edge features of the k-th layer composed of uv nodes is:
[0186] ;
[0187] in, f' represents the proportion of the original features in the edge feature update, and f' represents the linear projection from the node feature space to the edge feature space.
[0188] In one possible implementation, the input features for initializing elements are the occupancy, size, and center position of their original point cloud. The output of a multilayer perceptron consisting of 5 layers of ArrangementConv and 3 linear layers provides a binary prediction for each element in the Arrangement. Elements that are retained are set to 1, and those that are deleted are set to 0. The learning is supervised by groundtruth, and the elements that are retained are the final planar image.
[0189] In one possible implementation, the reserved projection line segments or ground areas are used to construct the Building Information Model (BIM) of the target building.
[0190] In one possible implementation, BIM may also include other objects of the target building (such as ceilings, doors and windows, columns, etc.).
[0191] In one possible implementation, the point cloud data further includes: second point cloud data of multiple ceilings of the target building; the multiple ceilings include a first ceiling and a second ceiling; the location information of the first ceiling and the second ceiling can be determined based on the second point cloud data; an energy equation is constructed based on the minimum cut algorithm of the graph, and the location information of the first ceiling and the second ceiling is corrected according to the energy equation, and the corrected location information of the first ceiling and the second ceiling is used to construct the building information model (BIM) of the target building.
[0192] For the roof primitives, primitive boundaries can be established and stitched together. The roof consists of multiple primitive planes. For each pair of primitives, intersection lines are drawn and projected onto a horizontal plane to form an arrangement. The arrangement is then divided into atomic-level patches, considering fitting energy and smoothing energy. For each atomic patch, the fitting energy term is the volume difference between the patch and the roof point cloud when classifying it as a certain plane; for every two patches, the smoothing energy is the area of the vertical gap between adjacent patches due to their different planes. The energy can be optimized and segmented overall using the standard Multilabel Graphcut to determine the final planar division of the roof for mesh construction.
[0193] For constructing key structures such as doors, windows, and columns, FCAF3D can learn their positions. For each object, FCAF3D provides a three-dimensional bounding box in space.
[0194] In one possible implementation, CSG technology can be combined to fuse semantic elements into a single model. Based on the aforementioned rules, a modeling language is formed, combining various elements (e.g., layers (floors), floor plans (ground, walls), columns, doors, windows, ceilings) to construct the final BIM model. The mathematical description can be:
[0195] ;
[0196] Specifically, this can be achieved through arrangement and layout. Function predicts wall and ground ,pass The function (described in S4) predicts the ceiling. The three elements are then integrated. Features can be extracted using FCAF3D (denoted as a function). This includes doors and windows, as well as other key semantic elements, in which doors and windows are removed from the structure of the first three elements, and the remaining elements are integrated using CSG technology.
[0197] The following example illustrates the building modeling method in this application:
[0198] Reference Figure 9 Taking the construction of an entire shopping mall as an example, a Navvis laser scanning vehicle is used to scan the mall, covering as much of the mall area as possible, thereby obtaining an Nx6 point cloud (3D coordinates and color) from the laser vehicle. The point cloud is transmitted to a server, and SparseConvNet and RegionGrowing are used to assign semantic labels and planar instance labels to each point, respectively. For each plane, a four-parameter planar equation is fitted using the points it contains, and the semantics with the largest number of points are identified as the semantics of each plane. Based on the plane of ground semantics, the median height of the points it contains is found as the ground height. Using the ground height of each floor as a boundary, the original point cloud is clustered to each floor, and correspondingly, the semantics and planes are also clustered to the corresponding floors. Each floor is iterated through, and the corresponding BIM is constructed for that floor, and then merged to obtain the final BIM.
[0199] Specifically, all planes on a floor that are semantically represented as walls can be found and projected onto a horizontal plane to obtain two-dimensional line segments. These two-dimensional line segments are then extended and intersected to form a standard geometric arrangement. A graph structure on this geometric arrangement is constructed using the method described in the above embodiments, and a GCN network is used to perform binary prediction on whether to retain any elements of the graph. The resulting plan view is as follows: the retained line segments are the two-dimensional projections of the walls that should actually be retained, and the retained faces are the areas that should be filled with flooring.
[0200] For all planes on a floor whose semantic meaning is ceiling, the intersection lines are obtained pairwise in 3D space, and these intersection lines are projected onto a 2D plane to form a geometric arrangement. The geometric arrangement facets are segmented into instances using the method described in the above embodiments, and each facet is assigned a corresponding plane instance. Using the plane parameters, the facets can be back-projected into 3D space to form a CAD model of the ceiling. The wall segments in the floor plan are stretched to the ceiling height to form vertical 3D walls. This yields intermediate BIM results for the 3D floor, ceiling, and walls.
[0201] Use FCAF3D to extract 3D bounding boxes for key semantics. For doors and windows, deduct the 3D bounding box area from the intermediate results generated in S4. For the remaining key elements in the mall, such as columns and stairs, the CAD models in the model library can be replaced. Specifically, directly perform stretching along the three axes to make its bounding box consistent with the bounding box extracted by FCAF3D. Integrate these elements and the BIM intermediate results through CSG to form the final BIM for each floor.
[0202] The result comparison between the embodiments of this application and the prior art can be as shown in Table 1 below:
[0203] Table 1
[0204]
[0205] Among them, the simplification rate can take 2 cm to uniformly thin out the point cloud, output the simplified mesh, and the number of patches and the number of points in the point cloud is b.
[0206] Evaluation method: Take all indoor scenes, calculate the simplification rate for each scene, and take the average value.
[0207] Table 1 shows that automatic CAD can achieve a simplification rate extremely close to that of manual CAD, and the simplification rate of 3D vectorization is much higher than that of mesh generation.
[0208] [[ID=2,1]]Table 2 <00004,99>
[0209] <000050,3>Among them, for the floor (F), wall (W), and ceiling (C), evaluate them separately:
[0211] Accuracy <N represents the proportion of the area where the error is less than N.
[0212] Evaluation method: Take the average value of the proportion of indoor scenes.
[0213] Median error: Take the median of the errors for the above semantic regions.
[0214] [[ID=&]]Evaluation method: Take the average value of the medians of all indoor scenes.
[0215] This application provides a building modeling method, the method comprising: acquiring point cloud data collected for a target building, the point cloud data including first point cloud data of multiple walls of the target building; acquiring topology information based on the first point cloud data, the topology information including position information of projection line segments of each wall and position information of at least one ground area surrounded by multiple projection line segments; wherein the multiple projection line segments are formed by the intersection of straight lines containing the projection lines of the multiple walls on a horizontal plane; and determining, based on the topology information, whether each projection line segment or the ground area is retained through a target neural network, wherein the retained projection line segments or ground areas are used to construct a Building Information Model (BIM) of the target building. This application addresses the projection lines on walls by extending them and using the line segments between the intersections of the extended projection lines (i.e., the straight lines containing the projection lines) as candidate projection line segments. These projection line segments may actually exist (e.g., the point cloud data itself is complete or incomplete) or they may not exist (since they are obtained by the intersection of extended lines, they may not actually exist). A neural network can be used to determine whether to retain the projection line segment obtained by the intersection of extended lines, thereby restoring the wall with missing point cloud data in BIM and increasing the accuracy of BIM construction.
[0216] Furthermore, the Arrangement structure is used to model planar graphs, and a graph convolutional network based on the Arrangement graph structure is implemented to learn the correct connectivity relationships of line segments in the planar graph, automatically generating high-quality 2D planar graphs. The Arrangement-based planar graph representation does not require the Manhattan hypothesis or contour closure assumptions.
[0217] Furthermore, the boundary lines between the roof planes are projected to construct an Arrangement structure. An energy equation is constructed based on minimum graph cut to achieve patch segmentation of the arrangement. For each atomic patch, the fitted energy term is the volume difference between the patch and the roof point cloud when classifying a patch as a certain plane; for every two patches, the smoothing energy is the area of the vertical gap between adjacent patches due to their different planes. The energy is optimized and segmented globally using a standard multi-label graph cut algorithm to determine the final planar division of the roof for mesh construction.
[0218] Next, from the perspective of the device, the building modeling device provided in the embodiments of this application will be discussed, referring to... Figure 10 , Figure 10 This is a schematic diagram of the structure of the building modeling device 1000 provided in the embodiments of this application. The device 1000 includes:
[0219] The acquisition module 1001 is used to acquire point cloud data collected for a target building, wherein the point cloud data includes first point cloud data of multiple walls of the target building;
[0220] The specific description of the acquisition module 1001 can be found in the description of step 401 in the above embodiments, and will not be repeated here.
[0221] The topology information construction module 1002 is used to obtain topology information based on the first point cloud data. The topology information includes the position information of the projection line segments of each wall and the position information of at least one ground area surrounded by multiple projection line segments. The multiple projection line segments are formed by the intersection of the straight lines where the projection lines of the multiple walls are located on the horizontal plane.
[0222] The specific description of the topology information construction module 1002 can be found in the description of step 402 in the above embodiment, and will not be repeated here.
[0223] The modeling module 1003 is used to determine, based on the topology information and through a target neural network, whether each of the projection line segments or the ground areas is retained, wherein the retained projection line segments or the ground areas are used to construct the building information model (BIM) of the target building.
[0224] The specific description of the modeling module 1003 can be found in the description of step 403 in the above embodiment, and will not be repeated here.
[0225] In one possible implementation, the plurality of walls includes a first wall, and a first projection segment of the first wall includes a projection line of the first wall on a horizontal plane and an extension of the projection line.
[0226] In one possible implementation, the topology information also includes the location information of the intersection points of the straight lines where the projection lines of the plurality of walls on the horizontal plane intersect.
[0227] In one possible implementation, the position information of each projection line segment is represented by the positions of the endpoints at both ends of the target projection line, where the endpoints are the intersections of the target projection lines of the plurality of walls.
[0228] In one possible implementation, the location information of the at least one ground area is represented by the position of the surrounding projection line segment.
[0229] In one possible implementation, the device further includes:
[0230] The graph structure construction module is used to obtain a target graph structure based on the topology information. The target graph structure includes multiple nodes and the connection relationships between the multiple nodes. Each node corresponds to an object, which is the wall or the ground area. The objects corresponding to nodes with connection relationships are adjacent units.
[0231] The modeling module is specifically used for:
[0232] Based on the target graph structure, the target neural network determines whether each node among the plurality of nodes is retained.
[0233] In one possible implementation, all nodes with interconnected relationships correspond to the wall surface, and the adjacent positions are defined as: the projected line segments of the wall surface are adjacent and collinear; or,
[0234] The nodes that are connected all correspond to the wall surface, and the adjacent positions mean that the projected line segments of the wall surface enclose the same ground area; or,
[0235] The nodes that are connected correspond to the wall and the ground area respectively, and the adjacent positions are defined as follows: the projected line segment of the wall is used to surround the ground area.
[0236] In one possible implementation, the target neural network includes a graph neural network.
[0237] In one possible implementation, each of the plurality of nodes includes a target vector representing the corresponding object, the target vector relating to at least one of the following:
[0238] The location information of the corresponding object in the topology information; or...
[0239] The degree of overlap between the location information of the corresponding object in the topology information and the location information of the corresponding object in the point cloud data.
[0240] In one possible implementation, the point cloud data further includes: second point cloud data of multiple ceilings of the target building; the multiple ceilings include a first ceiling and a second ceiling; the modeling module is further configured to:
[0241] Based on the second point cloud data, determine the position information of the first ceiling and the second ceiling;
[0242] Based on the minimum cut algorithm of the graph, an energy equation is constructed, and the position information of the first ceiling and the second ceiling is corrected according to the energy equation. The corrected position information of the first ceiling and the second ceiling is used to construct the building information model (BIM) of the target building.
[0243] The following describes an execution device provided in an embodiment of this application. Please refer to [link / reference]. Figure 11 , Figure 11 This is a schematic diagram of an execution device provided in an embodiment of this application. The execution device 1100 can specifically be a mobile phone, tablet, laptop, smart wearable device, server, etc., and is not limited thereto. The execution device 1100 may be equipped with... Figure 10 The building modeling device described in the corresponding embodiment is used to achieve... Figure 11 The corresponding embodiment describes the building modeling function. Specifically, the execution device 1100 includes: a receiver 1101, a transmitter 1102, a processor 1103, and a memory 1104 (wherein the execution device 1100 may have one or more processors 1103). Figure 11 (Taking a processor as an example), processor 1103 may include application processor 11031 and communication processor 11032. In some embodiments of this application, receiver 1101, transmitter 1102, processor 1103 and memory 1104 may be connected via bus or other means.
[0244] Memory 1104 may include read-only memory and random access memory, and provides instructions and data to processor 1103. A portion of memory 1104 may also include non-volatile random access memory (NVRAM). Memory 1104 stores processor and operation instructions, executable modules, or data structures, or subsets thereof, or extended sets thereof, wherein the operation instructions may include various operation instructions for implementing various operations.
[0245] Processor 1103 controls the operation of the execution device. In specific applications, the various components of the execution device are coupled together through a bus system, which may include not only the data bus, but also power buses, control buses, and status signal buses. However, for clarity, all buses are referred to as the bus system in the diagram.
[0246] The methods disclosed in the embodiments of this application can be applied to or implemented by the processor 1103. The processor 1103 can be an integrated circuit chip with signal processing capabilities. During implementation, each step of the above method can be completed by the integrated logic circuits in the hardware of the processor 1103 or by instructions in software form. The processor 1103 can be a general-purpose processor, a digital signal processor (DSP), a microprocessor, or a microcontroller, and may further include an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. The processor 1103 can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of this application. The general-purpose processor can be a microprocessor or any conventional processor. The steps of the methods disclosed in the embodiments of this application can be directly embodied in the execution of a hardware decoding processor, or executed by a combination of hardware and software modules in the decoding processor. The software module can reside in a mature storage medium in the art, such as random access memory, flash memory, read-only memory, programmable read-only memory, electrically erasable programmable memory, or registers. This storage medium is located in memory 1104. Processor 1103 reads the information in memory 1104 and, in conjunction with its hardware, completes the steps of the above method.
[0247] Receiver 1101 can be used to receive input digital or character information, and to generate signal inputs related to the settings and function control of the execution device. Transmitter 1102 can be used to output digital or character information through the first interface; transmitter 1102 can also be used to send instructions to the disk group through the first interface to modify the data in the disk group; transmitter 1102 may also include a display device such as a display screen.
[0248] In one embodiment of this application, the processor 1103 is configured to execute... Figure 4 The building modeling method in the corresponding embodiment.
[0249] This application also provides a training device; please refer to [link / reference]. Figure 12 , Figure 12This is a schematic diagram of a training device provided in an embodiment of this application. Specifically, the training device 1200 is implemented by one or more servers. The training device 1200 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 1212 (e.g., one or more processors) and memory 1232, and one or more storage media 1230 (e.g., one or more mass storage devices) for storing application programs 1242 or data 1244. The memory 1232 and storage media 1230 can be temporary or persistent storage. The program stored in the storage media 1230 may include one or more modules (not shown in the diagram), each module may include a series of instruction operations on the training device. Furthermore, the CPU 1212 may be configured to communicate with the storage media 1230 and execute the series of instruction operations in the storage media 1230 on the training device 1200.
[0250] The training device 1200 may also include one or more power supplies 1226, one or more wired or wireless network interfaces 1250, one or more input / output interfaces 1258; or, one or more operating systems 1241, such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, etc.
[0251] Specifically, the training device can perform the steps related to model training in the above embodiments.
[0252] This application also provides a computer program product that, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.
[0253] This application also provides a computer-readable storage medium storing a program for signal processing, which, when run on a computer, causes the computer to perform steps as performed by the aforementioned execution device, or causes the computer to perform steps as performed by the aforementioned training device.
[0254] The execution device, training device, or terminal device provided in this application embodiment can specifically be a chip. The chip includes a processing unit and a communication unit. The processing unit can be, for example, a processor, and the communication unit can be, for example, an input / output interface, pins, or circuits. The processing unit can execute computer execution instructions stored in the storage unit to cause the chip within the execution device to execute the data processing method described in the above embodiments, or to cause the chip within the training device to execute the data processing method described in the above embodiments. Optionally, the storage unit can be a storage unit within the chip, such as a register or cache. Alternatively, the storage unit can be a storage unit located outside the chip within the wireless access device, such as a read-only memory (ROM) or other types of static storage devices capable of storing static information and instructions, such as random access memory (RAM).
[0255] For details, please refer to Figure 13 , Figure 13 This is a schematic diagram of a chip provided in an embodiment of this application. The chip can be represented as a neural network processor (NPU) 1300. The NPU 1300 is mounted as a coprocessor on the host CPU, and tasks are assigned by the host CPU. The core part of the NPU is the arithmetic circuit 1303, which is controlled by the controller 1304 to extract matrix data from the memory and perform multiplication operations.
[0256] In some implementations, the arithmetic circuit 1303 internally includes multiple processing engines (PEs). In some implementations, the arithmetic circuit 1303 is a two-dimensional pulsating array. The arithmetic circuit 1303 can also be a one-dimensional pulsating array or other electronic circuitry capable of performing mathematical operations such as multiplication and addition. In some implementations, the arithmetic circuit 1303 is a general-purpose matrix processor.
[0257] For example, suppose we have an input matrix A, a weight matrix B, and an output matrix C. The arithmetic circuit retrieves the corresponding data of matrix B from the weight memory 1302 and caches it in each PE of the arithmetic circuit. The arithmetic circuit retrieves the data of matrix A from the input memory 1301 and performs matrix operations with matrix B. The partial result or the final result of the obtained matrix is stored in the accumulator 1308.
[0258] Unified memory 1306 is used to store input and output data. Weight data is directly transferred to weight memory 1302 via Direct Memory Access Controller (DMAC) 1305. Input data is also transferred to unified memory 1306 via DMAC.
[0259] BIU stands for Bus Interface Unit, which is used for interaction between the AXI bus and the DMAC and the Instruction Fetch Buffer (IFB) 1309.
[0260] The Bus Interface Unit (BIU) 1310 is used by the instruction fetch memory 1309 to fetch instructions from external memory, and also by the memory access controller 1305 to fetch the original data of the input matrix A or the weight matrix B from external memory.
[0261] The DMAC is mainly used to move input data from external memory DDR to unified memory 1306, or to weight data to weight memory 1302, or to input data to input memory 1301.
[0262] The vector computation unit 1307 includes multiple arithmetic processing units that, when needed, further process the output of the computation circuit 1303, such as vector multiplication, vector addition, exponential operations, logarithmic operations, size comparisons, etc. It is mainly used for computation in non-convolutional / fully connected layers of neural networks, such as batch normalization, pixel-level summation, and upsampling of feature planes.
[0263] In some implementations, the vector computation unit 1307 can store the processed output vector in the unified memory 1306. For example, the vector computation unit 1307 can apply a linear function, or a nonlinear function, to the output of the computation circuit 1303, such as performing linear interpolation on the feature planes extracted by the convolutional layer, or, for example, accumulating a vector of values to generate activation values. In some implementations, the vector computation unit 1307 generates normalized values, pixel-level summed values, or both. In some implementations, the processed output vector can be used as an activation input to the computation circuit 1303, for example, for use in subsequent layers of the neural network.
[0264] The instruction fetch buffer 1309 connected to the controller 1304 is used to store the instructions used by the controller 1304;
[0265] Unified memory 1306, input memory 1301, weighted memory 1302, and instruction fetch memory 1309 are all on-chip memories. External memory is proprietary to this NPU hardware architecture.
[0266] The processor mentioned above can be a general-purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits used to control the execution of the above program.
[0267] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0268] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0269] In the above embodiments, the implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, in the form of a computer program product.
[0270] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
Claims
1. A building modeling method, characterized in that, The method includes: Acquire point cloud data collected for a target building, the point cloud data including first point cloud data of multiple walls of the target building; Based on the first point cloud data, topological information is obtained, including the position information of the projection line segments of each wall surface and the position information of at least one ground area surrounded by multiple projection line segments; wherein, the multiple projection line segments are formed by the intersection of the straight lines where the projection lines of the multiple walls surface are located on the horizontal plane. Based on the topology information, a target neural network is used to determine whether each projection line segment or ground area is retained, wherein the retained projection line segment or ground area is used to construct the building information model (BIM) of the target building.
2. The method according to claim 1, characterized in that, The plurality of walls includes a first wall, and the first projection segment of the first wall includes the projection line of the first wall on the horizontal plane and the extension line of the projection line.
3. The method according to claim 1 or 2, characterized in that, The topology information also includes the location information of the intersection points of the straight lines where the projection lines of the multiple walls on the horizontal plane intersect.
4. The method according to any one of claims 1 to 3, characterized in that, The position information of each projection line segment is represented by the positions of the endpoints at both ends of the projection line segment, where the endpoints are the intersections between the projection lines.
5. The method according to any one of claims 1 to 4, characterized in that, The location information of the at least one ground area is represented by the position of the surrounding projection line segment.
6. The method according to any one of claims 1 to 5, characterized in that, The topology information includes the intersection points of the straight lines where the projection lines of the multiple walls on the horizontal plane intersect; and the data structure used for the arrangement and layout relationship between the intersection points, the projection line segments and the ground area includes arrangement.
7. The method according to any one of claims 1 to 6, characterized in that, The method further includes: Based on the topology information, a target graph structure is obtained. The target graph structure includes multiple nodes and the connection relationships between the multiple nodes. Each node corresponds to an object, which is the wall or the ground area. The objects corresponding to nodes with connection relationships are adjacent units. The step of determining whether each projected line segment or ground region is preserved based on the topology information using a target neural network includes: Based on the target graph structure, the target neural network determines whether each node among the plurality of nodes is retained.
8. The method according to claim 7, characterized in that, All nodes that are connected correspond to the wall surface, and the adjacent positions mean that the projected line segments of the wall surface are adjacent and collinear; or, The nodes that are connected all correspond to the wall surface, and the adjacent positions mean that the projected line segments of the wall surface are used to enclose the same ground area; or, The nodes that are connected correspond to the wall and the ground area respectively, and the adjacent positions are defined as follows: the projected line segment of the wall is used to surround the ground area.
9. The method according to claim 7 or 8, characterized in that, The target neural network includes a graph neural network.
10. The method according to any one of claims 7 to 9, characterized in that, Each of the plurality of nodes includes a target vector representing the corresponding object, the target vector being related to at least one of the following: The location information of the corresponding object in the topology information; or... The degree of overlap between the location information of the corresponding object in the topology information and the location information of the corresponding object in the point cloud data.
11. The method according to any one of claims 1 to 10, characterized in that, The point cloud data further includes: second point cloud data of multiple ceilings of the target building; the multiple ceilings include a first ceiling and a second ceiling; the method further includes: Based on the second point cloud data, determine the position information of the first ceiling and the second ceiling; Based on the minimum cut algorithm of the graph, an energy equation is constructed, and the position information of the first ceiling and the second ceiling is corrected according to the energy equation. The corrected position information of the first ceiling and the second ceiling is used to construct the building information model (BIM) of the target building.
12. A building modeling device, characterized in that, The device includes: The acquisition module is used to acquire point cloud data collected for a target building, wherein the point cloud data includes first point cloud data of multiple walls of the target building; The topology information construction module is used to obtain topology information based on the first point cloud data. The topology information includes the position information of the projection line segments of each wall surface and the position information of at least one ground area surrounded by multiple projection line segments. The multiple projection line segments are formed by the intersection of the straight lines containing the projection lines of the multiple walls on the horizontal plane. The modeling module is used to determine, based on the topology information and through a target neural network, whether each of the projected line segments or the ground areas is retained, wherein the retained projected line segments or the ground areas are used to construct the Building Information Model (BIM) of the target building.
13. The apparatus according to claim 12, characterized in that, The plurality of walls includes a first wall, and the first projection segment of the first wall includes the projection line of the first wall on the horizontal plane and the extension line of the projection line.
14. The apparatus according to claim 12 or 13, characterized in that, The topology information also includes the location information of the intersection points of the straight lines where the projection lines of the multiple walls on the horizontal plane intersect.
15. The apparatus according to any one of claims 12 to 14, characterized in that, The position information of each projection line segment is represented by the positions of the endpoints at both ends of the projection line segment, where the endpoints are the intersections between the projection lines.
16. The apparatus according to any one of claims 12 to 15, characterized in that, The location information of the at least one ground area is represented by the position of the surrounding projection line segment.
17. The apparatus according to any one of claims 12 to 16, characterized in that, The topology information includes the intersection points of the straight lines where the projection lines of the multiple walls on the horizontal plane intersect; and the data structure used for the arrangement and layout relationship between the intersection points, the projection line segments and the ground area includes arrangement.
18. The apparatus according to any one of claims 12 to 17, characterized in that, The device further includes: The graph structure construction module is used to obtain a target graph structure based on the topology information. The target graph structure includes multiple nodes and the connection relationships between the multiple nodes. Each node corresponds to an object, which is the wall or the ground area. The objects corresponding to nodes with connection relationships are adjacent units. The modeling module is specifically used for: Based on the target graph structure, the target neural network determines whether each node among the plurality of nodes is retained.
19. The apparatus according to claim 18, characterized in that, All nodes that are connected correspond to the wall surface, and the adjacent positions mean that the projected line segments of the wall surface are adjacent and collinear; or, The nodes that are connected all correspond to the wall surface, and the adjacent positions mean that the projected line segments of the wall surface are used to enclose the same ground area; or, The nodes that are connected correspond to the wall and the ground area respectively, and the adjacent positions are defined as follows: the projected line segment of the wall is used to surround the ground area.
20. The apparatus according to claim 18 or 19, characterized in that, The target neural network includes a graph neural network.
21. The apparatus according to any one of claims 18 to 20, characterized in that, Each of the plurality of nodes includes a target vector representing the corresponding object, the target vector being related to at least one of the following: The location information of the corresponding object in the topology information; or... The degree of overlap between the location information of the corresponding object in the topology information and the location information of the corresponding object in the point cloud data.
22. The apparatus according to any one of claims 12 to 21, characterized in that, The point cloud data further includes: second point cloud data of multiple ceilings of the target building; the multiple ceilings include a first ceiling and a second ceiling; the modeling module is also used for: Based on the second point cloud data, determine the position information of the first ceiling and the second ceiling; Based on the minimum cut algorithm of the graph, an energy equation is constructed, and the position information of the first ceiling and the second ceiling is corrected according to the energy equation. The corrected position information of the first ceiling and the second ceiling is used to construct the building information model (BIM) of the target building.
23. A building modeling device, characterized in that, include: One or more processors and a memory; wherein the memory stores computer-readable instructions; The one or more processors read the computer-readable instructions to cause the computer device to perform the method as described in any one of claims 1 to 11.
24. A computer-readable storage medium, characterized in that, Includes computer-readable instructions that, when executed on a computer device, cause the computer device to perform the method according to any one of claims 1 to 11.
25. A computer program product, characterized in that, Includes computer-readable instructions that, when executed on a computer device, cause the computer device to perform the method as described in any one of claims 1 to 11.
Citation Information
Patent Citations
Method for extracting coordinates of building characteristic points based on least square method
CN104697502A
House plan reconstruction method and device based on point cloud data
CN112765709A