Multi-room indoor structure point cloud segmentation method
By determining the relative spatial position of the vertical structure in a multi-room indoor environment and a segmentation method based on angular rate characteristics, and identifying other structures in combination with elevation information, the problem that the existing technology cannot effectively segment the multi-room indoor structure is solved, and high-precision indoor structure segmentation is achieved, and complex indoor three-dimensional reconstruction and related applications are supported.
Patent Information
- Application Number
- CN202411576066.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-06
- Publication Date
- 2025-03-28
AI Technical Summary
The prior art cannot effectively extract complete indoor structures from multi-room indoor environments, especially in complex indoor scenarios.
By determining the relative spatial position of the vertical structure, segmenting it based on the angular rate characteristics, and identifying and segmenting other structures based on the elevation information, the indoor structure is accurately and completely divided from a complex multi-room indoor environment.
It realizes accurate segmentation of indoor structures in complex multi-room indoor environments, and the recall and accuracy of segmentation results can reach 95%, meeting the accuracy requirements for follow-up work of indoor three-dimensional reconstruction, and providing stronger data support for applications such as building information management, indoor navigation and positioning, and intelligent planning.
Smart Images

Figure CN119723072A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of three-dimensional point cloud reconstruction, and in particular to a method for segmenting a multi-room indoor structure point cloud. Background Art
[0002] With the development of LiDAR technology, point cloud data has become easier to obtain. The easy accessibility of point clouds has greatly increased the importance of point clouds in building information modeling (BIM). Complete point cloud indoor structure segmentation is the basic key work of indoor 3D modeling. Generally speaking, there are many kinds of objects in complex indoor scenes, including not only indoor structures, but also many decorations (such as curtains, paintings, lamps, etc.) and furniture and appliances (such as tables, chairs, sofas, bookcases, refrigerators, etc.). Existing methods cannot segment multi-room indoor structures in complex indoor environments, so indoor structure segmentation from multi-room point clouds still faces many challenges. At present, point cloud segmentation methods focus more on the segmentation and detection of multiple objects indoors. Researchers pay less attention to the segmentation of indoor structures, and most of them only focus on the segmentation of a single room. The indoor structure is the main structure of the room frame and is a key basic step in the construction of indoor BIM in a building. Therefore, segmenting the indoor structure from complex multi-rooms has important research significance.
[0003] Traditional point cloud segmentation methods are divided into segmentation methods directly based on the original point cloud and segmentation methods based on projection. Segmentation methods directly based on the original point cloud can be divided into region growing methods, clustering methods, and model matching methods. The region growing method uses local features extracted from the neighborhood around each point to cluster nearby points with similar attributes and perform regional segmentation on the point cloud. Vo et al. first voxelized the point cloud and then performed region growing based on the extracted voxel features (Reference 1: Vo, A.-V., Truong-Hong, L., Laefer, DF, Bertolotto, M., 2015. Octree-based region growing for point cloud segmentation. ISPRS Journal of Photogrammetry and Remote Sensing 104, 88–100.). Lu et al. calculated the curvature and normal vector of the point through the covariance matrix, and used these features for region growing and fusion (Reference 2: Lu, X., Liu, Y., Li, K., 2019. Fast 3D Line Segment Detection From Unorganized Point Cloud. In arXiv preprint arXiv: 1901.02532.). However, this method is susceptible to noise and sharp features in the point cloud. Clustering methods are used to segment point sets based on clustering of local feature attributes of 3D point clouds. Chen et al. designed a coplanar threshold as an additional clustering condition, and clustered 3D points whose distance to the fitting plane meets the threshold constraint (Reference 3: Chen, H., Liang, M., Liu, W., Wang, W., Liu, PX, 2022. An approach to boundary detection for 3D point clouds based on DBSCAN clustering. Pattern Recognition 124, 108431.).Chen et al. reconstructed point clouds based on multidimensional scaling (MDS) and then performed density clustering on the reconstructed point clouds, but this method does not work well for discontinuous points (such as sharp features and plane transitions) because the features extracted at these points are usually different from other points located on adjacent planes (Reference 4: Chen, H., Xie, T., Liang, M., Liu, W., Liu, PX, 2023. A local tangent plane distance-based approach to 3D point cloud segmentation via clustering. Pattern Recognition 137, 109307.). The model matching method compares the features extracted from the point cloud to be identified with the corresponding features in the template according to some semantic decision rules to obtain the category of the point cloud. It is generally used to extract structures with specific geometric features, such as planes, cylinders, and spheres. In general, direct segmentation methods are usually used to segment multiple objects, have their limitations, and cannot be applied to segment internal structures separately from complex multi-room indoor environments.
[0004] The projection-based segmentation method projects the 3D point cloud into 2D space through plane projection or grid feature calculation, and then segments the point cloud using 2D image segmentation methods or by determining segmentation targets in the projection. Yang et al. transform the extraction of street scene objects from 3D mobile LiDAR point clouds into the extraction of geometric features in 2D image space (Reference 5: Yang, B., Wei, Z., Li, Q., Li, J., 2012. Automated extraction of street-scene objects from mobile lidar point clouds. International Journal of Remote Sensing 33, 5839-5861.). Tian et al. removed the horizontal plane according to the elevation value and projected the remaining vertical plane onto the XY plane to determine the wall position. However, when the horizontal plane is removed, the segmentation result will be affected by the bed, table, etc. In addition, this method is only applicable to single-room houses and cannot be extended to multi-room scenes (Reference 6: Yang, B., Wei, Z., Li, Q., Li, J., 2012. Automated extraction of street-scene objects from mobile lidar point clouds. International Journal of Remote Sensing 33, 5839-5861.). Qin et al. projected the point cloud onto two separate planes to obtain the locations of walls, floors, and ceilings, but this method is also only applicable to single-room houses and horizontal ceilings (Reference 7: Qin, Z., Liang, X., Wang, J., Gao, X., Chen, L., Yin, X., Jia, H., Liu, Y., 2024. Indoor 3D wireframe construction from incomplete point cloudsbased on Gestalt rules. International Journal of Applied Earth Observation and Geoinformation 130, 103893.). Summary of the invention
[0005] In order to solve the problem that the existing technology cannot effectively extract complete indoor structures from a multi-room indoor environment, the present invention provides a multi-room indoor structure point cloud segmentation method, which can accurately and completely segment indoor structures from a complex multi-room indoor environment by determining the relative spatial position of the vertical structure, segmenting it based on angular rate features, and identifying and segmenting other structures based on elevation information.
[0006] The present invention provides a multi-room indoor structure point cloud segmentation method, comprising:
[0007] Step 1: Obtain multi-room indoor point cloud data;
[0008] Step 2: determining the lowest ceiling based on the Z-axis distribution histogram of the multi-room indoor point cloud data, intercepting the point cloud data of the lowest ceiling and above, and generating first point cloud data;
[0009] Step 3: Calculate the normal vector of each point in the first point cloud data based on PCA, delete the points whose normal vectors are perpendicular to the Z axis, and generate the second point cloud data;
[0010] Step 4: Euclidean clustering of the second point cloud data into multiple ceiling clusters, deleting non-ceiling clusters, and generating ceiling point cloud data;
[0011] Step 5: Sort the ceiling clusters in the ceiling point cloud data from large to small according to the number of points, project them to the XOY plane in sequence, and extract the boundary points of each ceiling cluster as ceiling boundary points;
[0012] Step 6: extracting corner points from the ceiling boundary points based on the angular rate features, and segmenting the straight line point cluster and the curve point cluster based on the corner points;
[0013] Step 7: Project the multi-room indoor point cloud data onto the XOY plane, segment the projected wall points from the projected point cloud data using the straight line point cluster and the curve point cluster, and map the segmented wall points into three-dimensional space;
[0014] Step 8: Delete the segmented wall points from the multi-room indoor point cloud data, and segment the ceiling and floor from the point cloud data after deleting the wall points using the elevation values.
[0015] Furthermore, in step 4, deleting non-ceiling clusters specifically includes: designing a ceiling function by considering the number of points and normal vectors of the ceiling cluster, and determining whether the cluster is a ceiling cluster by judging whether the ceiling function value is greater than 0; the ceiling function Calculate according to the following formula:
[0016]
[0017] Among them, S zis the number of points in the current ceiling cluster, is the average number of points of all ceiling clusters, θ is the angle between the normal vector of the current ceiling cluster and the Z axis, is the weighting coefficient.
[0018] Furthermore, in step 5, the α-shape algorithm is used to extract the ceiling contour points.
[0019] Furthermore, in step 5, the boundary points of each ceiling cluster are extracted as ceiling boundary points, specifically including: projecting the target ceiling cluster and the ceiling cluster to be determined onto the XOY plane, and deleting the ceiling cluster to be determined that overlaps with the target ceiling cluster; the ceiling cluster to be determined is a ceiling cluster whose boundary points have not been extracted, and the target ceiling cluster is a ceiling cluster whose boundary points have been extracted.
[0020] Furthermore, step 5 also includes:
[0021] The multi-room indoor point cloud data is projected onto an XOY plane, and boundary points of the projected point cloud are extracted and merged with the ceiling boundary points to supplement the ceiling boundary points.
[0022] Furthermore, in step 6, the angular rate feature C f Calculate according to the following formula:
[0023] C f =P cur exp(N l -1)
[0024] Among them, P cur Represents the curvature of the current point, N l represents the nonlinear rate of the current point,
[0025]
[0026] Among them, λ1 and λ2 are the eigenvalues of the covariance matrix calculated between the current point and the adjacent points, and λ1>λ2.
[0027] Furthermore, step 6 specifically includes:
[0028] Calculate the angular rate feature of each point in the ceiling boundary points, and determine whether the angular rate feature value of each point is the largest among its adjacent points. If the angular rate feature value of the point is the largest, it is a corner point;
[0029] Sort the ceiling boundary points in ascending order according to the angular rate feature, start from the point with the smallest angular rate feature, search for the nearest ceiling boundary point, if the nearest ceiling boundary point is not a corner point, continue searching from the nearest ceiling boundary point until a corner point is found or there are no points nearby to complete a search, search each point twice to complete a segmentation, searched points will not be searched again, after all ceiling boundary points are segmented, a boundary point cluster is obtained;
[0030] The curvature of the boundary point cluster is calculated to determine whether the boundary point cluster is a curve point cluster or a straight line point cluster.
[0031] Furthermore, the step 6 also includes:
[0032] If two adjacent boundary point clusters are both straight line point clusters, the angle between the two boundary point clusters is calculated. If the angle is less than 10°, they are merged into one straight line point cluster;
[0033] If two adjacent boundary point clusters are both curve point clusters, they are directly merged into one curve point cluster.
[0034] Furthermore, step 7 also includes:
[0035] The mapped planes are clustered according to distance and the planes whose normal vectors are not perpendicular to the Z axis are deleted.
[0036] Furthermore, step 7 also includes:
[0037] The multi-room indoor point cloud data is projected onto the X0Y plane, the boundary points of the projected point cloud are extracted, all point cloud projection boundary points are generated, the points in all point cloud projection boundary points that are repeated with the ceiling boundary points are deleted, and the remaining points are segmented into vertical structures to supplement the wall.
[0038] Beneficial effects of the present invention:
[0039] The present invention simplifies the complex multi-room structure segmentation by dividing the multi-room indoor structure into vertical structure and other structures, and converts the segmentation of vertical structure (3D) into the segmentation of projection boundary points (2D), which not only reduces the dimension but also reduces the number of points in the segmentation process. By designing a new angular rate feature calculation method to extract the corner points of the boundary points, and using the corner points to segment the demarcation points, this method is not limited by the structure shape and can accurately identify the corner points of the boundary points of the straight line and curve. By using the boundary points of all point cloud projections to supplement the indoor structures such as missing ceilings and bay windows, and determining other structures by elevation values, a complete multi-room indoor structure can be segmented. The method provided by the present invention can segment indoor structures in complex multi-room indoor point clouds, and the recall rate and precision of the segmentation results can reach 95%, which can meet the accuracy requirements of subsequent indoor three-dimensional reconstruction work, and provide more powerful data support for applications such as building information management, indoor navigation positioning, and intelligent planning. BRIEF DESCRIPTION OF THE DRAWINGS
[0040] Figure 1 One of the flow charts of a multi-room indoor structure point cloud segmentation method provided by an embodiment of the present invention;
[0041] Figure 2 A second flow chart of a method for segmenting a multi-room indoor structure point cloud provided by an embodiment of the present invention;
[0042] Figure 3 A schematic diagram of a corner point extraction structure provided by an embodiment of the present invention;
[0043] Figure 4 A schematic diagram of an over-segmentation fusion result provided by an embodiment of the present invention;
[0044] Figure 5 A schematic diagram of a vertical structure segmentation result provided by an embodiment of the present invention;
[0045] Figure 6 A schematic diagram of a ceiling segmentation result provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0046] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution in the embodiment of the present invention will be clearly described below in conjunction with the drawings in the embodiment of the present invention. Obviously, the described embodiment is a part of the embodiment of the present invention, not all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0047] like Figure 1 and Figure 2 As shown, an embodiment of the present invention provides a multi-room indoor structure point cloud segmentation method, comprising the following steps:
[0048] Step 1: Obtain multi-room indoor point cloud data.
[0049] Specifically, download the Matterport3D dataset and obtain multi-room indoor point cloud data. The Matterport3D dataset has multiple regions, each region has multiple rooms, select the target region as the multi-room indoor point cloud data, and align the multi-room indoor point cloud data with the three-dimensional coordinate system, with the Z axis of the coordinate system perpendicular to the ground.
[0050] Step 2: Capture the point cloud above the lowest ceiling:
[0051] The lowest ceiling is determined based on the Z-axis distribution histogram of the indoor point cloud data of the multiple rooms, and the point cloud data of the lowest ceiling and above are intercepted to generate the first point cloud data.
[0052] Specifically, in the process of indoor point cloud acquisition, the ceiling point cloud is usually the most complete because the ceiling has the least occlusion. In addition, the projection of the vertical structure of the target area on the XOY plane coincides with the ceiling contour points and all point cloud projections. In order to obtain the ceiling contour points, the lowest ceiling is determined from the Z-axis distribution histogram of the multi-room point cloud data and all ceiling point cloud data are intercepted, which is called the first point cloud data.
[0053] Step 3: Roughly filter non-ceiling points.
[0054] The normal vector of each point in the first point cloud data is calculated based on PCA, and the points whose normal vectors are perpendicular to the Z axis are deleted to generate the second point cloud data.
[0055] Specifically, for scenes containing ceilings of different heights, the point clouds of all ceilings are determined as the point clouds of the lowest ceiling and above. This will inevitably misclassify non-ceiling points (such as walls and fans, etc.) as ceilings. For wall points, the normal vector of each point in the first point cloud data is estimated based on PCA, and the points perpendicular to the Z axis are deleted. All wall points are deleted, and the remaining point cloud data is called the second point cloud data.
[0056] Step 4: Filter non-ceiling clusters after clustering:
[0057] Euclidean clustering of the second point cloud data into multiple ceiling clusters, deleting non-ceiling clusters, and generating ceiling point cloud data;
[0058] Specifically, the wall points are filtered out in the above step 3. For the remaining non-ceiling points, considering the fact that all ceiling point clouds are based on gaps between rooms, the second point cloud data are first clustered into ceiling clusters of different rooms through Euclidean clustering, and the non-ceiling clusters are deleted. The remaining point cloud data are all ceiling point cloud data.
[0059] Deleting non-ceiling clusters specifically includes first considering the number of cluster points and the direction of the normal vector, and designing the ceiling function Whether it is a ceiling cluster is determined by judging whether the ceiling function value is greater than 0; the ceiling function Calculate according to the following formula:
[0060]
[0061] Among them, S z is the number of points in the current ceiling cluster, is the average number of points of all ceiling clusters, θ is the angle between the normal vector of the current ceiling cluster and the Z axis, is the weighting coefficient. In the embodiment of the present invention, Set to 0.3.
[0062] It can be understood that after clustering, the ceiling clusters may contain different ceiling clusters in the same room, and non-ceiling clusters need to be filtered by the ceiling function to retain the ceiling clusters.
[0063] Step 5: Ceiling boundary point extraction:
[0064] The ceiling clusters in the ceiling point cloud data are sorted from large to small according to the number of points, projected to the XOY plane in sequence, and the boundary points of each ceiling cluster are extracted as ceiling boundary points.
[0065] Specifically, in order to avoid the influence of unfiltered non-ceiling clusters in the ceiling point cloud data, extracting the boundary points of each ceiling cluster as ceiling boundary points specifically includes: e and the ceiling cluster C to be determined d Projected onto the XOY plane, it will be aligned with the target ceiling cluster C e Overlapping ceiling clusters to be determined C d Delete; among them, the ceiling cluster C is to be determined d is the ceiling cluster where the boundary points have not been extracted, and the target ceiling cluster C e is the ceiling cluster from which boundary points have been extracted.
[0066] Specifically, the target ceiling cluster C e and the ceiling cluster C to be determined d Project it onto the XOY plane, and then transform the target ceiling cluster C e Build it into an octree to increase its search speed. d Every point P in n , P n Set to the search point in the octree. If C is found e The point in is considered to be C e and C d overlapping points.
[0067] It can be understood that the ceiling cluster obtained in step 4 may contain unfiltered non-ceiling clusters. For example, ceiling cluster C1 is room A, and ceiling cluster C2 is contained in ceiling cluster C1. Ceiling cluster C2 may be non-ceiling objects such as fans or lights in room A that are close to the ceiling. Since they are close to the ceiling and their normal vectors are approximately parallel to the ceiling, the ceiling function cannot filter them when filtering in step 4. Therefore, they need to be filtered out when extracting boundary points.
[0068] As an implementable method, the embodiment of the present invention uses an α-shape algorithm to extract ceiling contour points in the projected point cloud;
[0069] Specifically, the radius R of the circle in the α-shape algorithm is set to 0.03.
[0070] Step 6: Ceiling boundary point segmentation:
[0071] Extract corner points from the ceiling boundary points based on the angular rate feature, and segment the straight line point clusters and curve point clusters based on the corner points. Specifically include:
[0072] Calculate the angular rate feature of each point in the ceiling boundary point, and determine whether the angular rate feature value of each point is the largest among its adjacent points. If the angular rate feature value of the point is the largest, it is a corner point; among them, the angular rate feature is a point feature, and the angular rate feature C f Calculate according to the following formula:
[0073] C f =P cur exp(N l -1)
[0074] Among them, P cur Represents the curvature of the current point, N l represents the nonlinear rate of the current point,
[0075]
[0076] Among them, λ1 and λ2 are the eigenvalues of the covariance matrix calculated between the current point and the adjacent points, and λ1>λ2.
[0077] Specifically, calculate the angular rate feature C of each point f , determine whether each point has the largest C among its adjacent points f , if the point C f is the largest, then the point is considered to be a corner point. Figure 3 As shown, the green points in the figure are corner points extracted by the embodiment of the present invention.
[0078] Sort the ceiling boundary points from small to large according to the angular rate feature, start from the point with the smallest angular rate feature, and search for the nearest ceiling boundary point. If the nearest ceiling boundary point is not a corner point, continue searching from the nearest ceiling boundary point until a corner point is found or there are no points nearby. A search is completed. Each point is searched twice to complete a segmentation. The searched points will not be searched again. After all ceiling boundary points are segmented, a boundary point cluster is obtained;
[0079] Specifically, the boundary points of each ceiling are divided according to the angular rate feature C f Sort from small to large, starting from C f The smallest point P s First, search for the closest s Point P m , if point P m If it is not a corner point, continue searching for the point closest to P m The search stops until a corner point is found or there are no points nearby. Each point is searched twice to complete a segmentation, that is, after each point is searched once, a projection of a vertical structure is determined. Next, from the remaining ceiling contour points that have not been searched, C f The smallest point starts segmentation until all ceiling boundary points are segmented.
[0080] Calculate the curvature of the boundary point cluster and determine whether the boundary point cluster is a curve point cluster or a straight line point cluster;
[0081] Specifically, a segmented boundary point cluster is set as B i , calculate the boundary point cluster B i The curvature P c ' ur , through P c ' ur Determine the boundary point cluster B i Is it a curve point cluster or a straight line point cluster? In this embodiment, if the P of the boundary point cluster c ' ur If it is less than 0.03, it is a curve cluster. It should be noted that the curvature P of the boundary point cluster is calculated. c ' ur The method is the same as the curvature of the above calculation point, as shown below:
[0082]
[0083] Among them, P c ' ur represents the curvature of the current boundary point cluster, λ3 and λ4 are the eigenvalues of the covariance matrix calculated for all points in the current boundary point cluster, λ3>λ4.
[0084] Furthermore, if Figure 4As shown in (a), in order to solve the problem of over-segmentation, the over-segmented boundary point clusters are merged. If two adjacent boundary point clusters are straight line point clusters, the angle between the two boundary point clusters is calculated. If the angle is less than 10°, they are merged into a straight line point cluster; if two adjacent boundary point clusters are curve point clusters, they are directly merged into a curve point cluster.
[0085] Specifically, find the boundary point cluster B i The nearest neighboring boundary point cluster B l , judge B i and B l If they are all straight line point clusters, then the angle between the two boundary point clusters is calculated. If the angle is less than 10°, they are merged into a straight line point cluster; if the two adjacent boundary point clusters are both curve point clusters, they are directly merged into a curve point cluster, such as Figure 4 (b) is a schematic diagram of the merging result provided by an embodiment of the present invention.
[0086] Step 7: Vertical structure segmentation:
[0087] Projecting the multi-room indoor point cloud data onto the XOY plane, segmenting the projected wall points from the projected point cloud data using straight line point clusters and curve point clusters, and mapping the segmented wall points into three-dimensional space;
[0088] Specifically, the original multi-room indoor point cloud data is projected onto the XOY plane, and all straight line point clusters and curve point clusters are used to segment the 2D projected walls in the XOY plane. The internal points searched in each cluster are the projected walls, and these wall points can be mapped to the three-dimensional space by unchanged x and y values.
[0089] Furthermore, in order to filter out the cluttered planes extracted due to the missing ceiling, the mapped planes are clustered according to the distance, and the planes whose normal vectors are not perpendicular to the Z axis are deleted.
[0090] Step 8: Segmentation of other structures:
[0091] The segmented wall points are deleted from the multi-room indoor point cloud data, and the ceiling and floor are segmented from the point cloud data after the wall points are deleted using the elevation values.
[0092] It can be understood that in indoor buildings, the upper and lower structures of bay windows, ceilings and floors show distinct characteristics, that is, they have the highest and lowest elevation values in a certain XOY area. Their characteristics can be used to segment other structures such as ceilings and floors, and the ceilings and floors are combined with the walls segmented in step 7 to obtain the segmentation results of the target multi-room indoor point cloud.
[0093] Specifically, the point cloud segmented in step 7 is deleted from the original multi-room point cloud data, and the remaining point cloud data Pre The XOY plane is divided into units of the same size δ. In this embodiment, δ is set to 0.00016. In each unit, two points with the maximum and minimum elevation values are searched, so that a preliminary other structure is obtained. The other structure is divided into different structures by Euclidean clustering. The points in each structure are in P re The nearest neighbor search with radius r is performed in , and the radius r is calculated by the following formula:
[0094]
[0095] Here, δ represents the area of each unit.
[0096] The floor and ceiling are segmented to remove clutter points. After all the segmentations are completed, adjacent planes with parallel normal vectors are considered as over-segmented planes and merged. Figure 5 As shown, other structural segmentation result schematic diagrams provided by embodiments of the present invention are as follows: Figure 5 As shown in the red frame, the method of the present invention is not limited by the shape of the ceiling, and the raised ceiling can also be well segmented.
[0097] The method provided by the embodiment of the present invention can accurately segment indoor structures in complex multi-room indoor point clouds and is not limited by the shape of the ceiling. The protruding ceiling can also be well segmented, which can meet the accuracy requirements of subsequent indoor three-dimensional reconstruction work.
[0098] In one embodiment, step 5 further includes: projecting the multi-room indoor point cloud data onto the XOY plane, extracting boundary points from the projected point cloud and merging them with the ceiling boundary points to obtain all point cloud projection boundary points;
[0099] Specifically, Figure 6 As shown in (a), for scenes with bay windows or incomplete ceiling boundaries, the vertical structural positions of the corresponding positions cannot be determined using the extracted ceiling boundary points. In order to supplement these missing positions, all point clouds of the initial multi-room indoor point cloud data are projected onto the XOY plane, boundary points are extracted from the projected point cloud, and merged with the ceiling boundary points to obtain the boundary points of all point cloud projections.
[0100] Step 7 also includes:
[0101] Project the multi-room indoor point cloud data onto the X0Y plane, extract the boundary points of the projected point cloud, generate all point cloud projection boundary points, delete all the point cloud projection boundary points that are repeated with the ceiling boundary points, and segment the remaining points into vertical structures to supplement the wall.
[0102] Specifically, the ceiling boundary points cannot confirm the location of the bay window or wall where the ceiling boundary points are missing. Therefore, the boundary points of all point cloud projections are used to supplement the vertical structure. First, the ceiling boundary points are used to remove the duplicate points of all point cloud projection boundary points, and the remaining points are segmented in the same way to separate the remaining vertical structures, such as Figure 6 (b) is a schematic diagram of the result of the supplementary wall and bay window structure provided by an embodiment of the present invention.
[0103] It can be understood that the original point cloud data is used to supplement the missing bay windows or ceiling boundaries, making the overall multi-room interior structure more complete and adapting to complex structural contours.
[0104] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.
Claims
1. A multi-room indoor structure point cloud segmentation method, characterized in that: include: Step 1: Obtain multi-room indoor point cloud data; Step 2: determining the lowest ceiling based on the Z-axis distribution histogram of the multi-room indoor point cloud data, intercepting the point cloud data of the lowest ceiling and above, and generating first point cloud data; Step 3: Calculate the normal vector of each point in the first point cloud data based on PCA, delete the points whose normal vectors are perpendicular to the Z axis, and generate the second point cloud data; Step 4: Euclidean clustering of the second point cloud data into multiple ceiling clusters, deleting non-ceiling clusters, and generating ceiling point cloud data; Step 5: Sort the ceiling clusters in the ceiling point cloud data from large to small according to the number of points, project them to the XOY plane in sequence, and extract the boundary points of each ceiling cluster as ceiling boundary points; Step 6: extracting corner points from the ceiling boundary points based on the angular rate features, and segmenting the straight line point cluster and the curve point cluster based on the corner points; Step 7: Project the multi-room indoor point cloud data onto the XOY plane, segment the projected wall points from the projected point cloud data using the straight line point cluster and the curve point cluster, and map the segmented wall points into three-dimensional space; Step 8: Delete the segmented wall points from the multi-room indoor point cloud data, and segment the ceiling and floor from the point cloud data after deleting the wall points using the elevation values.
2. The multi-room indoor structure point cloud segmentation method according to claim 1, characterized in that: Deleting the non-ceiling cluster in step 4 specifically includes: designing a ceiling function by considering the number of points and normal vectors of the ceiling cluster, and determining whether the cluster is a ceiling cluster by judging whether the value of the ceiling function is greater than 0; Calculate according to the following formula: Among them, S z is the number of points in the current ceiling cluster, is the average number of points of all ceiling clusters, θ is the angle between the normal vector of the current ceiling cluster and the Z axis, is the weighting coefficient.
3. The multi-room indoor structure point cloud segmentation method according to claim 1, characterized in that: In step 5, the α-shape algorithm is used to extract the ceiling contour points.
4. The multi-room indoor structure point cloud segmentation method according to claim 1, characterized in that: In step 5, the boundary points of each ceiling cluster are extracted as ceiling boundary points, which specifically includes: projecting the target ceiling cluster and the ceiling cluster to be determined onto the XOY plane, and deleting the ceiling cluster to be determined that overlaps with the target ceiling cluster; the ceiling cluster to be determined is a ceiling cluster whose boundary points have not been extracted, and the target ceiling cluster is a ceiling cluster whose boundary points have been extracted.
5. The multi-room indoor structure point cloud segmentation method according to claim 1, characterized in that: Step 5 also includes: The multi-room indoor point cloud data is projected onto an XOY plane, and boundary points of the projected point cloud are extracted and merged with the ceiling boundary points to supplement the ceiling boundary points.
6. The multi-room indoor structure point cloud segmentation method according to claim 1, characterized in that: In step 6, the angular rate feature C f Calculate according to the following formula: C f =P cur exp(N l -1) Among them, P cur Represents the curvature of the current point, N l represents the nonlinear rate of the current point, Among them, λ1 and λ2 are the eigenvalues of the covariance matrix calculated between the current point and the adjacent points, and λ1>λ2.
7. The method for segmenting a multi-room indoor structure point cloud according to claim 6, characterized in that: Step 6 specifically includes: Calculate the angular rate feature of each point in the ceiling boundary points, and determine whether the angular rate feature value of each point is the largest among its adjacent points. If the angular rate feature value of the point is the largest, it is a corner point; Sort the ceiling boundary points in ascending order according to the angular rate feature, start from the point with the smallest angular rate feature, search for the nearest ceiling boundary point, if the nearest ceiling boundary point is not a corner point, continue searching from the nearest ceiling boundary point until a corner point is found or there are no points nearby to complete a search, search each point twice to complete a segmentation, searched points will not be searched again, after all ceiling boundary points are segmented, a boundary point cluster is obtained; The curvature of the boundary point cluster is calculated to determine whether the boundary point cluster is a curve point cluster or a straight line point cluster.
8. The method for segmenting a multi-room indoor structure point cloud according to claim 7, characterized in that: The step 6 also includes: If two adjacent boundary point clusters are both straight line point clusters, the angle between the two boundary point clusters is calculated. If the angle is less than 10°, they are merged into one straight line point cluster; If two adjacent boundary point clusters are both curve point clusters, they are directly merged into one curve point cluster.
9. The multi-room indoor structure point cloud segmentation method according to claim 1, characterized in that: Step 7 also includes: The mapped planes are clustered according to distance and the planes whose normal vectors are not perpendicular to the Z axis are deleted.
10. The method for segmenting a multi-room indoor structure point cloud according to claim 9, characterized in that: Step 7 also includes: The multi-room indoor point cloud data is projected onto the XOY plane, the boundary points of the projected point cloud are extracted, all point cloud projection boundary points are generated, the points in all point cloud projection boundary points that are repeated with the ceiling boundary points are deleted, and the remaining points are segmented into vertical structures to supplement the wall.