A BIM-based method and system for constructing engineering building component models
By dynamically correcting the noise level and performing self-similarity analysis, the problem of accidental deletion or omission caused by existing filtering algorithms in point cloud data processing is solved, achieving higher precision point cloud data processing and BIM model construction.
Patent Information
- Application Number
- CN202511271974.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-08
- Publication Date
- 2025-12-02
- Estimated Expiration
- 2045-09-08
AI Technical Summary
Existing filtering algorithms are prone to accidentally deleting normal points or missing noise points in point cloud data processing due to fixed radius thresholds, which affects the accuracy of BIM model construction.
A BIM-based method for constructing engineering building component models is adopted. By dynamically correcting the noise value, combining local spatial distribution and intensity texture self-similarity analysis, the filtering threshold is adaptively adjusted, and the regularity of the component is introduced as a correction weight to improve the noise reduction accuracy.
It significantly improves the denoising accuracy of point cloud data, enhances the noise recognition accuracy in complex scenes such as overlapping areas and areas with abrupt material changes, and ensures the accuracy of BIM model construction.
Smart Images

Figure CN120807853B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of image processing technology, specifically to a method and system for constructing engineering building component models based on BIM. Background Technology
[0002] In the field of modern architectural engineering, Building Information Modeling (BIM) has become an indispensable tool. It digitally simulates buildings and their components, providing an integrated platform for design, construction, and operation and maintenance management. However, in practice, especially when renovating or maintaining existing buildings, the challenge lies in efficiently and accurately converting real-world building structures into digital models.
[0003] Point cloud technology, as an advanced 3D data acquisition method, can capture the geometry of building surfaces with high precision. However, due to the complex and variable scanning environment, the obtained point cloud data often contains a large amount of noise, such as "flying points" (outliers), overlapping areas, and irregular distributions. These problems seriously affect the accuracy of subsequent data processing and BIM model construction. To improve the efficiency and quality of the conversion from point cloud data to BIM models, effective denoising processing of the original point cloud data is essential.
[0004] Most existing filtering algorithms only analyze point clouds for noise processing based on information such as point cloud coordinates and grayscale values. However, in practical processing, such as existing radius filtering algorithms, the choice of search radius and minimum neighbor count directly affects the filtering effect. An excessively large radius may lead to the wrong deletion of normal points; an excessively small radius may fail to effectively remove noise points. Summary of the Invention
[0005] To address the aforementioned technical problems, this application provides a BIM-based method and system for constructing engineering building component models. The specific technical solution adopted is as follows:
[0006] In one aspect, one embodiment of this application provides a method for constructing engineering building component models based on BIM, the method comprising the following steps:
[0007] Scan the target building components to obtain initial point cloud data containing three-dimensional coordinates and strength values;
[0008] A radius filtering algorithm is applied to the initial point cloud data based on a preset radius threshold to calculate the noise content of each point cloud.
[0009] The neighborhood centered on the target point cloud is uniformly divided into multiple sub-regions; clustering is performed based on the reflection intensity values of all point clouds in the neighborhood of the target point cloud; the first self-similarity between the target point cloud and any point cloud in its neighborhood is determined based on the difference between the number of point clouds belonging to the same cluster category in the same sub-region of the neighborhood of different point clouds.
[0010] The reflection intensity value of the target point cloud is compared with the average of the reflection intensity values of all point cloud data in each sub-region to calculate the texture feature descriptor of the target point cloud, thereby determining the second self-similarity between the target point cloud and any point cloud in its neighborhood; and combined with the first self-similarity, the target point cloud is determined to be a first correction value for noisy data.
[0011] The difference in normal vectors between the target point cloud and its neighboring point clouds after surface fitting is analyzed to determine the regularity of the components in the local neighborhood of the target point cloud, and the noise value of the target point cloud is corrected using the first correction value.
[0012] The noise point cloud is identified and removed based on the corrected noise value to obtain effective point cloud data for constructing BIM engineering building component models.
[0013] Preferably, the method for calculating the noise value is as follows:
[0014] If the number of point clouds in the neighborhood of the target point cloud is greater than or equal to a preset number threshold, then the noise value of the target point cloud is set to the first preset value.
[0015] Otherwise, the noise level of the target point cloud is calculated based on the ratio of the absolute value of the difference between the number of point clouds in the neighborhood and the preset number threshold to the preset number threshold.
[0016] Preferably, the neighborhood is a spherical discrimination region centered on the target point cloud; the sub-region is obtained by dividing the spherical discrimination region into 8 equal parts using an 8-part division method centered on the target point cloud.
[0017] Preferably, the method for calculating the first self-similarity is as follows:
[0018]
[0019] in Let represent the first self-similarity between the target point cloud u and the v-th point cloud in its neighborhood, and norm represent the normalization function. Let K represent the absolute value of the difference between the number of points contained in the i-th sub-region of the spherical discrimination region centered on the target point cloud u and the v-th point cloud in its neighborhood, and let K represent the number of point cloud intensity categories obtained by clustering based on point cloud reflection intensity values in the neighborhood of the target point cloud u. This represents the absolute value of the difference between the number of points in the i-th region containing the target point cloud u and the v-th point cloud in its neighborhood, whose reflection intensity values belong to the j-th category.
[0020] Preferably, the step of comparing the reflection intensity value of the target point cloud with the average of the reflection intensity values of all point cloud data in each sub-region to calculate the texture feature descriptor of the target point cloud, thereby determining the second self-similarity between the target point cloud and any point cloud in its neighborhood, includes:
[0021] Sub-regions with a reflection intensity greater than that of the target point cloud are marked as 1, and those with a reflection intensity less than that of the target point cloud are marked as 0.
[0022] The labeling results are arranged in ascending order according to the division of sub-regions, and the sorted binary data is converted into decimal as the texture feature descriptor of the target point cloud.
[0023] The second self-similarity is calculated based on the difference in texture feature descriptors between the target point cloud and any point cloud in its neighborhood.
[0024] Preferably, the first correction value is positively correlated with the first self-similarity and the second self-similarity between the target point cloud and any point cloud in its neighborhood.
[0025] Preferably, the method for determining the component regularity is as follows: obtain the normal vectors of the target point cloud and all point clouds in its neighborhood on the fitted surface; calculate the variance of the angle difference between the normal vectors of all point clouds in the neighborhood of the target point cloud and the normal vector of the target point cloud, and use 1 minus the normalized value of the variance as the component regularity of the local neighborhood where the target point cloud is located.
[0026] Preferably, the calculation method for correcting the noise value of the target point cloud is as follows:
[0027]
[0028] in This represents the noise level of the target point cloud u after correction. This represents the noise level of the target point cloud u. This indicates the degree of regularity of the components in the local neighborhood of the target point cloud u. This indicates that the target point cloud u is the first correction value for the noisy data.
[0029] Preferably, when the corrected noise value is greater than the first preset value, the corresponding point cloud is determined to be a noisy point cloud and is removed.
[0030] Secondly, another embodiment of this application also provides a BIM-based engineering building component model building system, including a memory, a processor, and a computer program stored in the memory and running on the processor. When the processor executes the computer program, it implements the above-described BIM-based engineering building component model building method.
[0031] This application has at least the following beneficial effects:
[0032] 1. Traditional radius filtering algorithms, due to their use of a fixed radius threshold, are prone to problems such as "falsely deleting normal points due to an excessively large radius" or "missing noise points due to an excessively small radius." This application addresses these issues by dynamically correcting the noise value and introducing self-similarity analysis of local spatial distribution and intensity texture. This allows the filtering threshold to adaptively adjust according to the local features of the component, such as regularity and texture consistency, significantly improving the denoising accuracy.
[0033] 2. By combining the analysis of the first and second self-similarity, the geometric features and physical properties of point clouds are deeply integrated. This method improves the recognition accuracy when dealing with noise in complex scenes such as overlapping areas and areas with abrupt changes in material.
[0034] 3. The regularity of components is introduced as a correction weight. The smoothness of local surfaces is quantified by the variance of the normal vector. When the component surface is regular, the reliability of the self-similarity analysis results is high, and the correction weight is increased; conversely, the influence of self-similarity is reduced. This mechanism effectively avoids misjudgment of normal points caused by the complexity of local structures. Attached Figure Description
[0035] To more clearly illustrate the technical solutions and advantages in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0036] Figure 1 This is a flowchart illustrating a BIM-based method for constructing engineering building component models, as provided in one embodiment of this application. Detailed Implementation
[0037] Example 1
[0038] This application provides an embodiment of a BIM-based method for constructing engineering building component models, as detailed in the following document. Figure 1 The method includes the following steps:
[0039] Step S1: Collect initial point cloud data of the target engineering building components.
[0040] The target building components were scanned using a 3D laser scanner to obtain initial point cloud data of the components. The point cloud data format is P={x,y,z,a}, where x, y, and z are the 3D coordinates of the point cloud data, and a represents the reflection intensity value of the point cloud data.
[0041] Step S2: Perform feature analysis on the initial point cloud data to correct the noise level of each point cloud when calculated using existing filtering algorithms.
[0042] By combining the autocorrelation characteristics of point cloud data, the noise analysis results obtained using existing filtering algorithms are corrected, thereby obtaining more accurate and effective point cloud data preprocessing results. The details are as follows:
[0043] a. Based on a preset radius threshold, a radius filtering algorithm is used to calculate the noise value of each point cloud.
[0044] The initial point cloud data is denoised using existing filtering algorithms. In this embodiment, a radius filtering algorithm with a preset first radius threshold r=15 is used to denoise the obtained point cloud data. In the existing radius filtering algorithm, target point clouds whose number of points contained within the radius of the target point cloud is less than a preset number threshold are recorded as noise point clouds and removed.
[0045] In order to better analyze the noise of point cloud data and correct its analysis results, this application denotes the noise value of a target point cloud that is greater than or equal to a preset number threshold as C, where C is a first preset value. In this embodiment, the value is 0.5. The method for calculating the noise value of a target point cloud whose number of points is less than the preset number threshold is as follows: calculate the absolute value of the difference between the number of points contained in the neighborhood of the target point cloud within a preset radius and the preset number threshold, divide the ratio of the absolute value of the difference to the preset number threshold by 2 and add 0.5 to the result, and denote the noise value of the target point cloud.
[0046] That is, the greater the difference between the number of points contained in the neighborhood of the target point cloud and the preset number threshold, the greater the noise value of the target point cloud.
[0047] Based on the above results, if the noise value of the target point cloud is greater than C, it can be concluded that the point cloud is noisy data.
[0048] b. Based on the local self-similarity of point cloud data, the noise value of the point cloud is corrected to obtain the corrected noise value.
[0049] Since adjacent point cloud regions exhibit self-similarity characteristics for relatively regular engineering building components, the acquired point cloud data can be analyzed by examining the self-similarity characteristics between point cloud data and between adjacent point cloud data, thereby determining whether the point cloud is noisy data.
[0050] In this application, a self-similarity analysis model is constructed, and a preset second radius threshold is built with the target point cloud as the center. The spherical discriminant region is used as the neighborhood of the target point cloud. The correlation between the target point cloud data and the spherical discriminant region, and between the target point cloud data and the spherical discriminant regions of adjacent point clouds, is analyzed to determine whether the target point cloud is noisy point cloud data. Specifically:
[0051] The spherical discrimination region is evenly divided into 8 parts centered on the target point cloud using the 8-part division method, resulting in 8 sub-regions of 8 parts. The number of point clouds contained in each sub-region is counted.
[0052] In classifying the data, this application further considers the reflection intensity data of the point cloud data. Therefore, during the analysis, the reflection intensity values of all point clouds within the neighborhood of the target point cloud are clustered. While calculating the point cloud data for each sub-region, the differences in the distribution of reflection intensity values in each sub-region are further analyzed to obtain more accurate autocorrelation analysis results. In this embodiment, the DBSCAN clustering algorithm is used to cluster based on the reflection intensity values of all scanned point cloud data. In this embodiment, the clustering parameters r=5 and minpts=5. The number of clusters is denoted as K.
[0053] In the process of determining whether a target point cloud is noise based on self-similarity analysis, the number of point clouds belonging to each cluster in the above-described sub-region is analyzed to see if they are consistent.
[0054] Furthermore, this application determines the first self-similarity between a target point cloud and any point cloud in its neighborhood based on the difference in the number of point clouds belonging to the same cluster category within the same sub-region of their neighborhood; wherein, the calculation method for the first self-similarity between the target point cloud and its neighborhood point clouds is as follows:
[0055]
[0056] in Let represent the first self-similarity between the target point cloud u and the v-th point cloud in its neighborhood, and norm represent the normalization function. Let K represent the absolute value of the difference between the number of points contained in the i-th sub-region of the spherical discrimination region centered on the target point cloud u and the v-th point cloud in its neighborhood, and let K represent the number of point cloud intensity categories obtained by clustering based on point cloud reflection intensity values in the neighborhood of the target point cloud u. This represents the absolute value of the difference between the number of points in the i-th region containing the target point cloud u and the v-th point cloud in its neighborhood, whose reflection intensity values belong to the j-th category. The construction not only considers spatial distribution information but also incorporates texture consistency. That is, even if there are similar numbers of point cloud data in the same area, but the materials of the corresponding point cloud data are different, the above method can still detect the corresponding differences.
[0057] Therefore, the self-similarity index can ultimately reflect the comprehensive similarity between the two points in terms of spatial distribution and intensity characteristics within their local spherical neighborhood. The closer the value is to 1, the more similar the local structures of the two point clouds are; the smaller the value, the greater the difference, indicating the possible presence of noise points.
[0058] Meanwhile, this application further considers the self-similarity of point cloud texture information based on point cloud reflection intensity values, and analyzes the texture self-similarity between the target point cloud and its neighboring point clouds to analyze the noise value of the target point cloud.
[0059] This application obtains the point cloud data contained in each sub-region of the target point cloud, records the average reflection intensity value of all point cloud data in each sub-region as the average reflection intensity value of the point cloud in the corresponding sub-region, compares the average reflection intensity value of the point cloud data in each sub-region with the reflection intensity value of the target point cloud, marks the sub-region with a greater reflection intensity value than the target point cloud as 1, and the other as 0. The marking results are arranged in ascending order according to the division of the 8 sub-regions, and the sorted binary data is converted into decimal as the texture feature descriptor of the target point cloud. Thus, a texture feature descriptor based on reflection intensity value is obtained to describe the target point cloud and its neighboring point cloud data.
[0060] Using this method to calculate the texture feature descriptors of the target point cloud and its neighboring point clouds, taking the analysis of the target point cloud u and the v-th neighboring point cloud data as an example, the absolute value of the difference between the corresponding texture feature descriptors of the target point cloud and its neighboring point clouds can be normalized, and 1 minus the normalized value is recorded as the second self-similarity between the target point cloud u and the v-th neighboring point cloud. The greater the difference between the texture feature descriptors of the target point cloud and its neighboring point clouds, the more likely the target point cloud is to be noisy point cloud data.
[0061] Based on the above self-similarity analysis, the first correction value for the target point cloud data as noisy data is obtained as follows:
[0062] In this application, the first correction value is positively correlated with the first self-similarity and the second self-similarity between the target point cloud and any point cloud in its neighborhood.
[0063] It is understandable that a positive correlation means that the dependent variable increases as the independent variable increases, and the dependent variable decreases as the independent variable decreases. This is determined by the actual application and is not subject to any special restrictions in this application.
[0064] Wherein, the target point cloud u is the first correction value for the noise data. For example, the calculation formula is:
[0065]
[0066] in This indicates that the target point cloud u is the first correction value for the noisy data, and norm represents the normalization function. This represents the number of points in the target point cloud u contained within a spherical discrimination region of radius r. This represents the first self-similarity between the target point cloud u and the v-th point cloud in its neighborhood. This represents the second self-similarity between the target point cloud u and the v-th point cloud in its neighborhood. The resulting first correction value reflects the degree of deviation between the target point cloud u and its surrounding point clouds in terms of structural self-similarity and texture feature consistency within its local neighborhood. This value will serve as an important input for the subsequent calculation of the "noise correction value," used to more accurately identify and preserve true structural points while eliminating noise points.
[0067] Meanwhile, the reliability of the results in local similarity analysis is highly correlated with the regularity of the building components, so it is necessary to analyze the regularity of the corresponding building components.
[0068] This application calculates the local regularity of building components within a local region of the corresponding point cloud, and then corrects the noise judgment results obtained from local similarity analysis based on the obtained local regularity of the building components. The calculation method for the local regularity of building components is as follows:
[0069] First, we analyze the regularity of the point cloud regions containing all point clouds within the neighborhood of the target point cloud. In this application, the flatter the regularity of the building components, the smaller the difference in the normal vectors of the fitted plane of the point cloud.
[0070] Taking one target point cloud u as an example for analysis, firstly, a surface fitting is performed on the point cloud and its neighboring point cloud data. The surface fitting uses the least squares method, from which the normal vector of each point cloud based on the fitted surface can be obtained. If the building structure in the local area where the point cloud is located is regular, then the normal vector of the corresponding point cloud data and the obtained fitted surface should also be similar. Therefore, the regularity of the fitted plane can be obtained by calculating the angular difference of the normal vector.
[0071] This application obtains the normal vector corresponding to the target point cloud, calculates the variance of the angle difference between the normal vectors of all point clouds in the neighborhood of the target point cloud and the normal vector of the target point cloud, and uses 1 minus the normalized value of this variance as the component regularity Tn of the local neighborhood where the target point cloud is located. The smaller the variance of this sequence, the higher the construction local regularity of the neighborhood where the target point cloud is located, and the greater the reliability of the judgment result of whether the target point cloud is noise obtained from the autocorrelation analysis of the component point clouds.
[0072] c. Point cloud noise correction.
[0073] By analyzing the point cloud texture information constructed by combining point cloud distribution and reflection intensity values, the analysis results obtained by radius filtering are corrected based on the self-similarity analysis between the obtained target point cloud and its neighborhood. The specific calculation method is as follows:
[0074]
[0075] in This represents the noise level of the target point cloud u after correction. This represents the noise level of the target point cloud u. This indicates the degree of regularity of the components in the local neighborhood of the target point cloud u. This indicates that the target point cloud u is the first correction value for the noisy data.
[0076] In other words, the greater the regularity of the neighborhood region where the target point cloud is located, the more reliable the first correction value obtained from the analysis is, and the higher its corresponding weight will be. The larger the value, the less regular the neighborhood of the target point cloud. Conversely, the less reliable the first correction value obtained from the self-similarity analysis is.
[0077] This completes the process of obtaining the corrected noise level of the target point cloud based on local self-similarity analysis of the point cloud.
[0078] Step S3: Based on the corrected noise value, identify and remove noisy point clouds to obtain valid point cloud data for constructing BIM engineering building component models.
[0079] Based on the calculation method for the initial noise value of the target point cloud in the above steps, when the corrected noise value of the target point cloud is greater than the first preset value C, it indicates that the target point cloud is a noisy point cloud and needs to be removed. The removed point cloud is then used as the valid point cloud. The obtained valid point cloud is used to construct the BIM engineering building component model.
[0080] Example 2
[0081] Another embodiment of this application provides a BIM-based engineering building component model building system, including a memory, a processor, and a computer program stored in the memory and running on the processor. When the processor executes the computer program, it implements the above-described BIM-based engineering building component model building method.
[0082] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not invented in this application.
[0083] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope.
Claims
1. A method for constructing engineering building component models based on BIM, characterized in that, The method includes the following steps: Scan the target building components to obtain initial point cloud data containing three-dimensional coordinates and strength values; A radius filtering algorithm is applied to the initial point cloud data based on a preset radius threshold to calculate the noise content of each point cloud. The neighborhood centered on the target point cloud is uniformly divided into multiple sub-regions; clustering is performed based on the reflection intensity values of all point clouds in the neighborhood of the target point cloud; the first self-similarity between the target point cloud and any point cloud in its neighborhood is determined based on the difference between the number of point clouds belonging to the same cluster category in the same sub-region of the neighborhood of different point clouds. The reflection intensity value of the target point cloud is compared with the average of the reflection intensity values of all point cloud data in each sub-region to calculate the texture feature descriptor of the target point cloud, thereby determining the second self-similarity between the target point cloud and any point cloud in its neighborhood; and combined with the first self-similarity, the target point cloud is determined to be a first correction value for noisy data. The difference in normal vectors between the target point cloud and its neighboring point clouds after surface fitting is analyzed to determine the regularity of the components in the local neighborhood of the target point cloud, and the noise value of the target point cloud is corrected using the first correction value. The noise point cloud is identified and removed based on the corrected noise value to obtain effective point cloud data for constructing BIM engineering building component models. The method for determining the component regularity is as follows: obtain the normal vectors of the target point cloud and all point clouds in its neighborhood on the fitted surface; calculate the variance of the angle difference between the normal vectors of all point clouds in the neighborhood of the target point cloud and the normal vector of the target point cloud, and use 1 minus the normalized value of the variance as the component regularity of the local neighborhood where the target point cloud is located. The calculation method for correcting the noise value of the target point cloud is as follows: in This represents the noise level of the target point cloud u after correction. This represents the noise level of the target point cloud u. This indicates the degree of regularity of the components in the local neighborhood of the target point cloud u. This indicates that the target point cloud u is the first correction value for the noisy data.
2. The method for constructing engineering building component models based on BIM as described in claim 1, characterized in that, The method for calculating the noise level is as follows: If the number of point clouds in the neighborhood of the target point cloud is greater than or equal to a preset number threshold, then the noise value of the target point cloud is set to the first preset value. Otherwise, the noise level of the target point cloud is calculated based on the ratio of the absolute value of the difference between the number of point clouds in the neighborhood and the preset number threshold to the preset number threshold.
3. The method for constructing engineering building component models based on BIM as described in claim 1, characterized in that, The neighborhood is a spherical discrimination region centered on the target point cloud; the sub-region is obtained by dividing the spherical discrimination region into 8 equal parts using the 8-part division method centered on the target point cloud.
4. The method for constructing engineering building component models based on BIM as described in claim 3, characterized in that, The method for calculating the first self-similarity is as follows: in Let represent the first self-similarity between the target point cloud u and the v-th point cloud in its neighborhood, and norm represent the normalization function. Let K represent the absolute value of the difference between the number of points contained in the i-th sub-region of the spherical discrimination region centered on the target point cloud u and the v-th point cloud in its neighborhood, and let K represent the number of point cloud intensity categories obtained by clustering based on point cloud reflection intensity values in the neighborhood of the target point cloud u. This represents the absolute value of the difference between the number of points in the i-th region containing the target point cloud u and the v-th point cloud in its neighborhood, whose reflection intensity values belong to the j-th category.
5. The method for constructing engineering building component models based on BIM as described in claim 3, characterized in that, The step of comparing the reflection intensity value of the target point cloud with the average of the reflection intensity values of all point cloud data in each sub-region to calculate the texture feature descriptor of the target point cloud, thereby determining the second self-similarity between the target point cloud and any point cloud in its neighborhood, includes: Sub-regions with a reflection intensity greater than that of the target point cloud are marked as 1, and those with a reflection intensity less than that of the target point cloud are marked as 0. The labeling results are arranged in ascending order according to the division of sub-regions, and the sorted binary data is converted into decimal as the texture feature descriptor of the target point cloud. The second self-similarity is calculated based on the difference in texture feature descriptors between the target point cloud and any point cloud in its neighborhood.
6. A method for constructing engineering building component models based on BIM as described in claim 4 or 5, characterized in that, The first correction value is positively correlated with the first self-similarity and the second self-similarity between the target point cloud and any point cloud in its neighborhood.
7. The method for constructing engineering building component models based on BIM as described in claim 1, characterized in that, When the corrected noise value is greater than the first preset value, the corresponding point cloud is determined to be a noisy point cloud and is removed.
8. A BIM-based engineering building component model building system, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the BIM-based engineering building component model construction method as described in claim 1.
Citation Information
Patent Citations
Green energy-saving building construction quality evaluation method and system based on BIM
CN116167668A
BIM-based building construction data management method and system
CN118096077A