Building BIM modeling method based on three-dimensional point cloud
By acquiring point cloud data through drones and 3D laser scanners, combined with feature point registration and plane segmentation algorithms, the problems of poor point cloud data quality and blurred component boundaries were solved, achieving efficient and accurate BIM modeling automation.
Patent Information
- Application Number
- CN202510934460.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-08
- Publication Date
- 2025-10-10
AI Technical Summary
Existing technologies in BIM modeling of buildings have problems such as poor point cloud data quality, fuzzy component boundaries, and high manual participation, resulting in low modeling efficiency and insufficient accuracy.
Dense matching point clouds are obtained by drones and laser point clouds are obtained by 3D laser scanners. Feature point registration algorithms and plane segmentation algorithms are combined to perform point cloud registration, plane extraction, and component classification. Secondary development is performed using Revit to achieve automatic modeling.
It improves the accuracy and automation of BIM modeling, reduces manual participation, and improves modeling efficiency and the integrity of point cloud data.
Smart Images

Figure CN120765876A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of smart city construction, and in particular to a building BIM modeling method based on three-dimensional point cloud. Background Art
[0002] In recent years, with the rapid development of surveying and mapping and sensor technologies in my country, drones and 3D laser scanners have become the primary means of information collection. They can effectively capture building information and play a vital role in 3D reconstruction and smart city development. Fusion of densely matched point clouds generated by drone imagery with 3D laser point clouds leverages the respective strengths of both point clouds, addressing the issue of missing information in a single data point and improving the accuracy of 3D reconstruction. Smart cities aim to achieve intelligent management and efficient operation of various urban systems through advanced information technology, and Building Information Modeling (BIM) plays a crucial role in this. BIM models are digital representations of buildings and infrastructure, encompassing a wealth of information and attributes. Generating BIM from point clouds offers higher accuracy than traditional methods and can significantly improve BIM modeling efficiency through automated or semi-automated approaches. Summary of the Invention
[0003] The purpose of the present invention is to provide a BIM modeling method based on three-dimensional point cloud.
[0004] The present invention comprises the following steps: S1. Densely match the building point cloud with the collected laser building point cloud, and denoise and downsample the building point cloud; S2. Register the cross-source building point cloud data based on the feature point four-point set registration algorithm to obtain the complete building point cloud data; S3, performing plane segmentation on the building point cloud, extracting plane boundaries on the obtained planes, and extracting components based on nearest neighbor search; S4. Fusion, regularization and classification of component boundaries, extraction of component parameters, secondary development based on Revit, reading of component parameters, and realization of BIM automated modeling.
[0005] 2. The BIM modeling method based on three-dimensional point cloud according to claim 1, wherein step S1 specifically comprises the following sub-steps: S11. Obtain oblique images using a drone, process the oblique images, generate dense matching point clouds, and crop the building point clouds; S12, using a 3D laser scanner, setting up stations around the building to scan, obtaining a laser point cloud, and cropping the building point cloud; S13. The acquired building point cloud has noise points due to the environmental and human factors, and is denoised using Gaussian filtering; S14. Downsampling the denoised building point cloud using a centroid-based voxel downsampling method to improve the efficiency of subsequent point cloud processing.
[0006] 3. The BIM modeling method based on three-dimensional point cloud according to claim 1, wherein step S2 specifically comprises the following sub-steps: S21, using the laser point cloud as the target point cloud and the dense matching point cloud as the source point cloud, and using the ISS algorithm to extract feature points; S22. For the extracted feature points, use FPFH to calculate feature information such as the distance and angle of the point cloud at the feature points; S23, using ISS-FPFH feature key points instead of random sampling points in 4PCS algorithm for coarse registration; S24. Use the ICP algorithm to precisely register the point cloud and introduce the KD tree to speed up the registration process. This will yield a complete building point cloud, addressing the poor quality of densely matched point clouds and the missing building tops in the laser point cloud.
[0007] 4. The BIM modeling method based on three-dimensional point cloud according to claim 1, wherein step S3 specifically comprises the following sub-steps: S31. Improve the RANSAC algorithm and propose the Remove the Interference Point RANSAC algorithm (RIP-RANSAC). Use the RIP-RANSAC algorithm to perform plane segmentation on the building point cloud. S32, Utilization α -Shapes algorithm extracts the boundary of the segmented plane; S33. For the obtained plane boundary, components are extracted using a nearest neighbor search-based method.
[0008] 5. The BIM modeling method based on three-dimensional point cloud according to claim 1, wherein step S4 specifically comprises the following sub-steps: S41: If the boundary of a planar external component has problems such as boundary fuzziness or boundary separation, the component boundary point cloud is fused based on the intersection of the fitted planes of adjacent boundaries. S42. In view of the fact that component data still has problems such as fuzzy boundaries and gross errors of scattered point sets, a reasonable regularization method is designed. Based on the least squares method, straight line fitting is performed and orthogonality is forced to obtain a regular quadrilateral. S43. Determine the component type using the spatial geometric characteristics of the component. For roof, wall, door, and window components, classify the components based on characteristics such as area, inclination, and narrow length. S44. Based on the classification results, extract parameters according to the parameters required for BIM modeling. Perform secondary development based on Revit and read component parameters. Compile and generate external commands (APIs). Call the APIs in Revit to achieve automatic BIM modeling.
[0009] The present invention provides a building BIM modeling method based on three-dimensional point cloud. For point cloud generation of BIM model, laser point cloud and dense matching point cloud are selected for registration and fusion to obtain high-quality building point cloud, and a series of point cloud processing methods are used to obtain building component parameters. Secondary development is performed based on Revit to realize automatic creation of BIM model, which greatly reduces manual participation in the process of generating BIM model from point cloud and can ensure the accuracy and integrity of BIM model. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Figure 1 Schematic diagram of the workflow of the present invention.
[0011] Figure 2 Schematic diagram of plane segmentation.
[0012] Figure 3 Easily extract schematics for components.
[0013] Figure 4 Schematic diagram of component boundary fusion. DETAILED DESCRIPTION
[0014] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. However, the scope of protection of the present invention is not limited to the embodiments.
[0015] like Figure 1 As shown, the patent of this invention discloses a building BIM modeling method based on three-dimensional point cloud, which includes the following steps: S1. Point cloud data collection and preprocessing S11. Densely matched point cloud acquisition. Drone oblique photogrammetry is an advanced method that combines drones with oblique photogrammetry technology. This technology uses a drone equipped with an oblique photography system to capture high-resolution images of the target area from different angles. The acquired oblique images contain rich geometric information about the terrain, including building facade features such as doors, windows, and walls. 3D image reconstruction technology can be used to complete the 3D reconstruction of the target area and obtain a 3D densely matched point cloud of the target area. Data collection was performed using a single-lens drone, the DJI Phantom 4 Pro, which simulates oblique photography. After acquiring oblique images, dense point clouds were generated through image dense matching.
[0016] S12. Laser point cloud acquisition. The collection of spatial point data acquired by laser radar through scanning is called laser point cloud, which has the characteristics of high precision and high density. Laser point cloud can provide accurate spatial information for the target, with real geographic coordinates and spatial scale. Each point in the laser point cloud contains three-dimensional coordinates ( x , y , z The intensity of the laser pulse reflection can reveal the surface characteristics of the target object. A Rigel VZ-400i 3D laser scanner was used to set up eight stations around the building, with each station collecting point clouds with at least 40% overlap. After acquisition, the point cloud data from each station was spliced and cropped to produce a complete 3D laser scan point cloud of the building.
[0017] S13. Point cloud denoising. There are certain noise points in the point cloud data. Before processing the data, point cloud denoising is first performed and the Gaussian filter method is used to remove the noise points. Assume that point There are a series of points in the neighborhood of First, calculate each neighborhood point To the center point distance , can be calculated in three-dimensional space according to the spatial distance formula. Then, according to the distance And the pre-set Gaussian function, calculate each neighborhood point Corresponding weight , the weight calculation method is similar to the Gaussian function expression above. Finally, the coordinates of all points in the neighborhood are weighted averaged to obtain the new filtered point The coordinates of . and The coordinates of Replace the coordinates of the original point to complete the filtering process of the point. Repeat this operation for each point in the entire point cloud data, and finally achieve the denoising of the entire 3D point cloud while preserving the geometric features such as the surface shape of the object originally reflected by the point cloud as much as possible. S14, point cloud downsampling. First, count the point cloud. The maximum and minimum values of the x, y, and z coordinates of all points in the point cloud space are determined, and then the grid size is set. l , divide the point cloud space into multiple regular voxel grids. For each non-empty voxel, obtain the edge length of l All points in the voxel grid , the number of which is k , calculate the centroid points of all grids G , the calculation is shown as follows:
[0018] Calculate the distance between points in the voxel and the centroid G distance from the center of gravity G The point with the smallest distance is the desired centroid. The centroid of each voxel is used as the representative point of the voxel and added to the downsampled point cloud.
[0019] S2. Cross-source point cloud registration S21, feature point extraction. Take the laser point cloud as the target point cloud and the dense matching point cloud as the source point cloud, perform ISS feature point extraction on the point cloud, and extract the feature points of the point cloud data. P Points in p i , Specify a search radius r , search radius r In the region p i All corresponding points of the center p j , and calculate the weight of each point w ij :
[0020] Calculate each center point p i and p j The weighted covariance matrix of :
[0021] use p i The covariance matrix of Its characteristic value can be found , the eigenvalue size is the length of the ellipsoid axis, Sort by largest to smallest. Set threshold 、 ,use and Divide by the maximum value , if the results are less than or equal to and , then judge that p i Point is a feature point, and all points are traversed repeatedly. p i .
[0022] S22, feature information description. Use Fast Point Feature Histogram (FPFH) to describe the features and calculate the distance, angle and other feature information of the model point cloud at the feature points. , search for points in its neighborhood ,calculate The three angle features between it and its neighborhood points are obtained as a triplet ( , , ), is the projection of the point to the normal vector, is the projection angle between the point pairs, The three angle features are quantized into histograms respectively. The result of this step is called Simplified Point Feature Histogram (SPFH). , its FPFH descriptor is a weighted combination of its own SPFH and the SPFH of the neighboring points, and is calculated using the SPFH of the neighboring points FPFH: (3-8) The weight Represents a query point and neighboring points distance.
[0023] S23. Coarse point cloud registration. After acquiring feature information, registration is performed based on the FPFH features combined with the Four Point Congruent Set (4PCS) algorithm. ISS-FPFH feature points are used instead of the random sampling points in the 4PCS algorithm for registration. A Keypoint Four Point Congruent Set (K4PCS) registration algorithm using ISS-FPFH is proposed to complete the registration of the building's densely matched point cloud with the laser point cloud.
[0024] S24. Fine point cloud registration. The coarse registration results are finely registered using the Iterative Closest Point (ICP) algorithm. The ICP algorithm calculates point-to-point correspondences between two point clouds, uses a nearest neighbor search to find corresponding point sets, and then iteratively calculates the optimal rigid transformation (rotation and translation) to minimize the distance between point pairs, achieving fine point cloud registration. The KD tree is also introduced to the ICP algorithm to accelerate the entire ICP registration process.
[0025] S3. Building component boundary extraction S31. Point cloud plane segmentation. First, the building is segmented using the traditional RANSAC algorithm. The angle between each plane and other planes is calculated. All two non-parallel planes are considered to be two possible adjacent planes. The fitting plane parameters of each plane are calculated. The plane equations of each pair of adjacent planes are obtained using the fitting plane parameters:
[0026] Normalize the normal vector of the plane and determine the direction vector of the plane intersection by cross-producting the normal vectors of adjacent planes Assuming the z coordinate of the plane is 0, we get the equations of the two lines:
[0027] Solve for x and y in the equation to get the common point of the adjacent planes. Use the direction vector D and the common point to determine the intersection of the two planes. Calculate the distance from the point on the adjacent plane to the intersection line. S :
[0028] in is a three-dimensional floating-point vector of a point on the plane, is a three-dimensional floating-point vector of points on the intersection line. S If the value is less than the set threshold, it is determined to be an interference point and put into the point set In. For , calculate the normal direction of each point and the Euclidean distance to the two planes respectively, and redistribute the points to the plane with the same normal direction and the closest distance (refer to Figure 2 shown).
[0029] S32, building plane boundary extraction. α The -shapes algorithm extracts the boundaries of the acquired point cloud plane. In order to ensure the accuracy of boundary extraction, the plane point cloud is projected onto its corresponding fitting plane before boundary extraction.
[0030] S33. Building component extraction. Since there are multiple components in the same plane, it is difficult to classify and extract the components. Based on the nearest neighbor search method, the plane boundary is segmented and each component is extracted separately. First, a KD tree is created. Then, for the neighboring points found within the threshold r range, such as points p2 and p3, they are used as new query points for the nearest neighbor search (refer to Figure 3 Finally, select another point from the remaining point cloud and repeat the above iterative process to continue looking for the point cloud corresponding to the next component boundary. Repeat the iteration to extract each disconnected point cloud and finally obtain the independent component boundary.
[0031] S4, BIM modeling S41, external component boundary fusion plane In the actual application scenario, data acquisition may deviate, and the plane external component boundary may have problems such as boundary blur and boundary separation, so boundary fusion needs to be performed on the external component. First, the intersection line L between adjacent components is obtained, which represents the geometric relationship between the boundaries of two adjacent components in space and is the basis for point cloud fusion; secondly, all points in the plane are traversed, and the distance of each point to the intersection line L is calculated. For the points in the space and straight line L The distance from the point to the straight line L is: The points (target points) within the threshold range are saved to the point set q 1 (points belonging to component boundary A) and q 2 (points belonging to component boundary B), and the corresponding points in A and B are deleted; finally, the target points are projected. For any point q in the point set 1 , the projection point q of the point on the intersection line L is calculated, and the projection operation is also performed on the points in Figure 4 2. Then, these projected points are added back to the original boundaries A and B (as shown in ).
[0032] S42, building component boundary regularization. The component boundary point cloud obtained based on the boundary point cloud still has problems such as boundary blur, scattered point set, and missing detail data, so the component boundary needs to be regularized. First, a fitting straight line is obtained for each internal component to obtain the fitting straight line of each edge; secondly, a straight line is selected, and the other three straight lines are traversed to calculate the included angle between the two straight lines. The direction vectors of the two straight lines can be obtained through the fitting straight line equation, and the direction vectors of the two straight lines are and , according to the vector dot product formula:
[0033] where is the included angle between the two vectors, and the calculation formula of is derived:
[0034] Then the included angle between the two straight lines is calculated:
[0035] If the included angle is between 80-100 degrees, it means that the two edges are adjacent edges, and after obtaining the adjacent edges, they are forced to be orthogonal to ensure that the two adjacent edges are perpendicular to each other. Finally, repeat the above steps until each straight line is traversed.
[0036] S43. Classification of building components. Components need to be classified to extract component parameters. The component's spatial geometric characteristics are used to determine its component type. For roof, wall, door, and window components, components can be classified by area, slope, and narrow length. Components can be classified by adding constraints based on their significant differences in geometric characteristics.
[0037] S44. Building BIM modeling. After categorizing components, extract parameters based on the data requirements for Revit secondary development modeling. Working within the Revit 2018 and Visual Studio 2022 development environments, combining the C# programming language and the Revit API, perform secondary development of Revit software BIM model creation commands. These commands read component parameters, compile and generate external commands (APIs), and then add and call the APIs in Revit to automate BIM model creation.
[0038] After completing the above steps, the BIM model can be generated from the point cloud.
[0039] The above description is merely a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.
Claims
1. A building BIM modeling method based on three-dimensional point cloud, characterized in that: The following steps are involved: S1. Densely match the building point cloud with the collected laser building point cloud, and denoise and downsample the building point cloud; S2. Register the cross-source building point cloud data based on the feature point four-point set registration algorithm to obtain the complete building point cloud data; S3, performing plane segmentation on the building point cloud, extracting the building plane boundary, and extracting components based on the nearest neighbor search; S4. Fusion, regularization and classification of component boundaries, extraction of component parameters, secondary development based on Revit, reading of component parameters, and realization of BIM automated modeling.
2. The building BIM modeling method based on three-dimensional point cloud according to claim 1, characterized in that: The step S1 specifically includes the following sub-steps: S11. Obtain oblique images using a drone, process the oblique images, generate dense matching point clouds, and crop the building point clouds; S12, using a 3D laser scanner, setting up stations around the building to scan, obtaining a laser point cloud, and cropping the building point cloud; S13. The acquired building point cloud has noise points due to environmental and human factors, and is denoised using Gaussian filtering; S14. Downsampling the denoised building point cloud using a centroid-based voxel downsampling method to improve the efficiency of subsequent point cloud processing.
3. The building BIM modeling method based on three-dimensional point cloud according to claim 1, characterized in that: The step S2 specifically includes the following sub-steps: S21, using the laser point cloud as the target point cloud and the dense matching point cloud as the source point cloud, and using the ISS algorithm to extract feature points; S22. For the extracted feature points, use FPFH to calculate feature information such as the distance and angle of the point cloud at the feature points; S23, using ISS-FPFH feature points instead of random sampling points in 4PCS algorithm for coarse registration; S24. Use the ICP algorithm to accurately align the point cloud and introduce the KD tree to speed up the alignment process to obtain a complete building point cloud, making up for the poor quality of dense matching point clouds and the missing top of the building in the laser point cloud.
4. The building BIM modeling method based on three-dimensional point cloud according to claim 1, characterized in that: The step S3 specifically The following steps are included: S31. Use RIP-RANSAC algorithm to perform plane segmentation on building point cloud; S32, for the plane obtained by segmentation, use α -Shapes algorithm is used to extract plane boundaries; S33. For the obtained plane boundary, components are extracted using a nearest neighbor search-based method.
5. The building BIM modeling method based on three-dimensional point cloud according to claim 1, characterized in that: The step S4 specifically includes the following sub-steps: S41. Based on the intersection of the fitted planes of the adjacent boundaries as a reference, the component boundary point clouds are fused; S42. Perform straight line fitting based on the least squares method and force orthogonality to obtain a regular quadrilateral; S43. Determine the component type using the spatial geometric characteristics of the component. For roof, wall, door, and window components, classify the components based on characteristics such as area, slope, and narrow length. S44. Based on the classification results, extract parameters according to the parameters required for BIM modeling, perform secondary development based on Revit, read component parameters, generate external components (API), and call the API in Revit to achieve automatic BIM modeling.