A real scene three-dimensional point cloud AI automatic extraction method and system
By collecting and processing point cloud data with LiDAR, and combining it with plane segmentation and boundary extraction algorithms, the problem of automatically distinguishing parapet walls from main exterior walls was solved, achieving efficient and accurate parapet wall extraction and improving the accuracy and detail of the 3D model.
Patent Information
- Application Number
- CN202510794879.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-14
- Publication Date
- 2025-11-21
- Estimated Expiration
- 2045-06-14
AI Technical Summary
Existing technologies struggle to efficiently and automatically distinguish and extract detailed building components, such as parapet walls, especially vertical planes similar in shape to the main exterior walls, leading to segmentation errors and missed detections.
Point cloud data is collected by lidar, preprocessed, and then the outer boundary line of the parapet wall is determined by using plane segmentation and boundary extraction algorithms, combined with the analysis of roof edge height and vertical plane, thus achieving automatic extraction.
It enables efficient and accurate extraction of detailed components such as parapet walls, improves the accuracy and stability of 3D models, and provides a more accurate geometric basis for building information modeling.
Smart Images

Figure CN120689629B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of three-dimensional point cloud processing, and more particularly, to a real scene three-dimensional point cloud AI automatic extraction method and system. BACKGROUND
[0002] In the real scene three-dimensional point cloud automatic extraction method, automatically distinguishing and extracting each semantic part of the building (such as the main wall, the load-bearing column, the parapet, the roof structure, etc.) is the key to improving the model accuracy and the application scope.
[0003] With the development of deep learning, PointNet, PointNet++, KPConv, RandLA-Net and other networks specially processing point clouds can learn their deep features and perform semantic segmentation. However, existing researches mostly focus on scene-level segmentation (such as distinguishing buildings, vehicles and pedestrians) or coarse-grained segmentation of buildings (such as walls, roofs and floors), and there are few researches on the fine and automatic identification of internal components of buildings (such as parapets, tiger windows and load-bearing columns).
[0004] By introducing more detailed geometric analysis and deep semantic segmentation technology, each component feature can be accurately identified in complex point clouds, so as to construct a more detailed building information model (BIM). Such methods not only help the accurate reconstruction and digital management of building structures, but also provide targeted structural analysis for the fields of urban planning, historical building protection and disaster assessment.
[0005] Especially the main outer wall and the parapet close to the edge of the roof, which are often represented as geometrically similar vertical planes, and the automatic distinction of the two is a difficult point that tests the accuracy of point cloud semantic segmentation.
[0006] In view of this, the present application provides a real scene three-dimensional point cloud AI automatic extraction system to solve the above problems. SUMMARY
[0007] In order to overcome the above-mentioned defects of the prior art and achieve the above-mentioned purpose, the present application provides the following technical scheme: a real scene three-dimensional point cloud AI automatic extraction method, comprising:
[0008] scanning by a laser radar to collect point cloud data of the facade and the roof of the building, to obtain original point clouds;
[0009] preprocessing the original point clouds to obtain preprocessed point clouds;
[0010] extracting a set of planar segments and a set of vertical planes based on the preprocessed point clouds;
[0011] extracting the roof edge line, the top surface outer boundary of the parapet and the top surface inner boundary of the parapet based on the set of planar segments;
[0012] based on the roof edge line, calculate a roof edge height; based on the roof edge height, the top surface outer boundary and the set of vertical planes, determine an outer boundary line of the parapet wall;
[0013] extract points belonging to the parapet wall from the preprocessed point cloud according to the roof edge height, the top surface outer boundary, the top surface inner boundary, the outer boundary line and the roof edge line, to obtain a parapet wall point set.
[0014] Further, the original point cloud is a point set of three-dimensional coordinates, each point in the point set has an X-axis component, a Y-axis component and a Z-axis component, and the Z-axis is set as the vertical direction.
[0015] Further, the preprocessing method of the original point cloud comprises: removing outlier points and noise points generated by measurement errors or environmental factors, unifying the coordinates to the same coordinate system, separating and removing ground point clouds, calculating the normal vector of each point, to obtain a set containing the coordinates of each point in the original point cloud and the normal vector corresponding to each point, marked as a preprocessed point cloud.
[0016] Further, the method for extracting the set of planar segments and the set of vertical planes comprises: applying a planar segmentation algorithm to the preprocessed point cloud to segment all planar segments in the preprocessed point cloud; the planar segment is a set of coplanar or approximately coplanar points in the point cloud, and approximately coplanar means that the included angle between the normal vectors of the points is less than a set threshold value;
[0017] For each planar segment, calculate the average value of the normal vector of each point in the planar segment to obtain the average normal vector of the planar segment; calculate the absolute value of the Z-axis component of each average normal vector to obtain a horizontal score;
[0018] If the horizontal score is less than or equal to a preset threshold value, the corresponding planar segment is marked as a vertical planar segment; all planar segments constitute a set of planar segments, and all vertical planar segments constitute a set of vertical planes.
[0019] Further, the method for extracting the roof edge line, the top surface outer boundary and the top surface inner boundary comprises: screening out planar segments in the set of planar segments whose horizontal score is greater than a preset threshold value; for each combination of X-axis component and Y-axis component, only the planar segment in which the point with the largest Z-axis component is retained, and the remaining planar segments constitute a set of non-vertical planar segments;
[0020] use the Alpha Shape concave hull algorithm to calculate the outer boundary polygon and the inner boundary polygon of each planar segment in the set of non-vertical planar segments, and uniformly mark them as boundary polygons; calculate the areas of all boundary polygons using the shoelace formula; sort the boundary polygons according to the areas from large to small, and take the three boundary polygons with the largest areas as the outer boundary polygons;
[0021] Calculate the average Z-axis component of each vertex of the peripheral polygons respectively to obtain three average elevations; sort the peripheral polygons according to the average elevations from large to small; mark the peripheral polygon with the smallest average elevation as the roof edge line, mark the peripheral polygon with the largest area as the top surface outer boundary, and mark the third peripheral polygon as the top surface inner boundary.
[0022] Further, the method for calculating the roof edge height comprises: calculating the average Z-axis component of each vertex of the roof edge line to obtain the roof edge height.
[0023] Further, the method for determining the outer boundary line comprises: projecting all points of each vertical plane segment in the vertical plane set to the XY plane to obtain a projection point set; the projection of the top surface outer boundary on the XY plane is marked as a projection polygon;
[0024] Calculate the minimum value of the distance of the points in the projection point set to the edges of the projection polygon to obtain the nearest distance between each point in the projection point set and the projection polygon; extract the vertical plane segment corresponding to the point with the nearest distance less than the preset small amount in the projection point set to form an outer side plane segment set;
[0025] Extract the point in each vertical plane segment of the outer side plane segment set whose Z-axis component and the roof edge height have a difference less than a preset gap to form an outer boundary point set; perform curve fitting on the points in the outer boundary point set to obtain the outer boundary line.
[0026] Further, the method for determining the value of the preset small amount comprises: if the parapet in the scene does not contain a protruding roof, determining the preset small amount according to the precision, taking the preset small amount as t times of the precision; if the parapet in the scene contains a protruding roof, considering the protruding amount of the protruding roof relative to the outer side of the parapet in the horizontal direction, taking the preset small amount as k times of the precision plus the protruding amount; the preset small amount is less than the difference between the wall thickness of the parapet and t times of the precision.
[0027] Further, the method for extracting the parapet point set comprises: removing the points with a Z-axis component less than the roof edge height from the preprocessed point cloud to obtain a temporary point cloud one; calculating the average Z-axis component of each vertex of the top surface outer boundary to obtain a top surface height; calculating the average of the top surface height and the roof edge height to obtain an intermediate height;
[0028] The temporary point cloud two is composed of the points with a Z-axis component greater than the intermediate height in the temporary point cloud one, and the temporary point cloud three is composed of the points with a Z-axis component less than or equal to the intermediate height in the temporary point cloud one;
[0029] Project all the points in the second temporary point cloud to the XY plane to obtain a first temporary point set; project all the points in the third temporary point cloud to the XY plane to obtain a second temporary point set; project the outer top surface boundary, the inner top surface boundary, the outer boundary line and the roof edge line to the XY plane to obtain an outer top surface projection, an inner top surface projection, an outer boundary line projection and a roof edge line projection respectively;
[0030] Remove the points inside the inner top surface projection and the points outside the outer top surface projection from the first temporary point set to obtain an upper half point set; remove the points inside the roof edge line projection and the points outside the outer boundary line projection from the second temporary point set to obtain a lower half point set; the points in the upper half point set and the lower half point set correspond to the points in the pre-processed point cloud to form a parapet point set.
[0031] An AI automatic extraction system for real three-dimensional point clouds, which implements the AI automatic extraction method for real three-dimensional point clouds, and the system comprises:
[0032] A data acquisition module acquires point cloud data of the outer facade and the roof of the building by scanning through a laser radar to obtain original point clouds;
[0033] A preprocessing module pre-processes the original point clouds to obtain pre-processed point clouds;
[0034] A vertical plane module extracts a plane segment set and a vertical plane set based on the pre-processed point clouds;
[0035] A roof periphery module extracts a roof edge line, an outer boundary of a top surface of a parapet and an inner boundary of the top surface of the parapet based on the plane segment set;
[0036] A boundary line module calculates a roof edge height based on the roof edge line, and determines an outer boundary line of the parapet based on the roof edge height, the outer boundary of the top surface and the vertical plane set;
[0037] A parapet extraction module extracts points belonging to the parapet from the pre-processed point clouds according to the roof edge height, the outer boundary of the top surface, the inner boundary of the top surface, the outer boundary line and the roof edge line to obtain a parapet point set.
[0038] The AI automatic extraction method and system for real three-dimensional point clouds have the following advantages:
[0039] By means of geometric methods such as plane segmentation, boundary extraction and height analysis, a modular and parameterizable processing chain is constructed, which can automatically identify and extract a parapet and other detailed components from complex real three-dimensional point clouds without human intervention, thereby improving the processing efficiency and stability;
[0040] In view of the high similarity of the parapet and the main outer wall in geometric shape, the system effectively separates the two by extracting the roof edge line, defining the parapet top surface boundary, and combining multiple constraints such as roof edge height to determine the outer boundary line, solving the common misclassification and missed detection problems in traditional methods.
[0041] The high-precision point cloud extraction of the parapet and other small components not only enriches the point cloud details, but also provides a more accurate geometric basis for subsequent building information modeling (BIM) construction, greatly improving the realism and measurement accuracy of the model. BRIEF DESCRIPTION OF DRAWINGS
[0042] Figure 1 It is a schematic diagram of the real scene three-dimensional point cloud AI automatic extraction system of the application;
[0043] Figure 2 It is a flowchart of the real scene three-dimensional point cloud AI automatic extraction method of the application;
[0044] Figure 3 It is a real scene diagram of the parapet. DETAILED DESCRIPTION
[0045] The technical solutions in the embodiments of the application will be described clearly and completely below with reference to the drawings in the embodiments of the application. Obviously, the described embodiments are only a part of the embodiments of the application, not all the embodiments. Based on the embodiments in the application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the application.
[0046] Embodiment 1
[0047] Referring to Figure 1 , the real scene three-dimensional point cloud AI automatic extraction system described in this embodiment comprises a data acquisition module, a preprocessing module, a vertical plane module, a roof periphery module, a boundary line module, and a parapet extraction module.
[0048] The parapet is a low wall built on the periphery of the roof of a building (such as Figure 3 As shown, this embodiment only considers the parapet under the ideal condition of a flat roof); it includes an upper surface, an inner wall surface, and an outer wall surface, which are marked as a parapet top surface, a parapet inner side, and a parapet outer side, respectively. The intersection line of the parapet inner side and the roof plane forms a roof edge line; the line with the same height as the parapet outer side and the roof edge line is the boundary line between the parapet and the main outer wall of the building.
[0049] The data acquisition module scans through a laser radar to acquire point cloud data of the outer facade and the roof of the building, obtaining original point clouds; the original point clouds are a set of points with three-dimensional coordinates, each point in the set of points has an X-axis component, a Y-axis component, and a Z-axis component, and the Z-axis is set as the vertical direction.
[0050] The method for collecting point cloud data includes: selecting a scanning technology, planning a scanning scheme, setting scanning parameters, performing scanning, obtaining a set of three-dimensional coordinates of points, and marking the original point cloud as A = {a}, where a is the three-dimensional coordinates of a point.
[0051] The scanning technologies of LiDAR include TLS (terrestrial laser scanning), MLS (mobile laser scanning), and ALS (airborne laser scanning). ALS includes UAV LiDAR (laser scanning by a UAV carrying a LiDAR).
[0052] The planned scanning scheme needs to ensure complete coverage of the building facade, especially focusing on the main facade, roof edges, and potential parapet areas; and needs to ensure sufficient overlap between scanning areas for subsequent splicing.
[0053] The point cloud density is recommended to be no less than 100 points per square meter, and the accuracy (the average distance between the true coordinates of a reference point and the coordinates of the corresponding point in the point cloud data) needs to reach the centimeter level (within 2 centimeters), to ensure that the typical thickness of the parapet (such as 0.2 meters or more) can be distinguished and the position of the roof edge can be accurately determined.
[0054] The method for collecting point cloud data is prior art, which will not be described here.
[0055] The preprocessing module pre-processes the original point cloud to obtain a pre-processed point cloud.
[0056] The pre-processing method of the original point cloud includes: removing outliers and noise points caused by measurement errors or environmental factors, unifying the coordinates to the same coordinate system, separating and removing ground point clouds, calculating the normal vector (unit vector) of each point, obtaining a set containing the coordinates of each point in the original point cloud and the corresponding normal vector of each point, and marking it as a pre-processed point cloud; denoted as B = {(a, τ a )}, a belongs to A, and τ a is the normal vector at point a.
[0057] The method for removing outliers and noise points includes using statistical filtering or radius filtering. The method for separating and removing ground point clouds includes using CSF (Cloth Simulation Filter) or a height threshold-based method to focus on the building itself. The method for calculating the normal vector of a point includes using its k-nearest neighbors or points within a radius neighborhood, estimating the local surface normal by PCA (Principal Component Analysis), and comparing the direction of the normal vector with the direction of the viewpoint to unify the direction of the normal vector, so that the normal vector consistently points to the outside of the surface. It is worth noting that in edge and corner areas, the accuracy of the normal vector generally decreases due to the unevenness of the local surface. Point cloud processing libraries (such as PCL and Open3D) provide functions for directly calculating the normal vector.
[0058] The vertical plane module extracts a set of plane segments and a set of vertical planes based on a pre-processed point cloud.
[0059] The method of extracting the set of plane segments and the set of vertical planes comprises: applying a plane segmentation algorithm to the pre-processed point cloud to segment all plane segments in the pre-processed point cloud, denoted as C i , i is the index of the plane segment (i.e. the number, the numbering order is arbitrary); the plane segment is a set of coplanar or approximately coplanar points in the point cloud, "approximately coplanar" means that the included angle between the normal vectors of the points is less than a set threshold (such as 10°);
[0060] For each plane segment, the average value of the normal vector of each point in the plane segment is calculated to obtain the average normal vector (a unit vector) of the plane segment; the absolute value of the Z-axis component (i.e. the direction of gravity) of each average normal vector is calculated to obtain the horizontal score;
[0061] If the horizontal score is less than or equal to a preset threshold (meaning that the corresponding plane segment is vertical or nearly vertical), the corresponding plane segment is marked as a vertical plane segment, denoted as D j , j is the index of the vertical plane segment; all plane segments constitute a set of plane segments, and all vertical plane segments constitute a set of vertical planes.
[0062] The plane segmentation algorithm includes a RANSAC (Random Sample Consensus) algorithm or a region growing algorithm based on normal similarity; the plane segmentation algorithm is used to find all significant plane regions. For example, the region growing algorithm starts from a seed point and gradually merges points according to the geometric attribute similarity (such as the included angle of the normal vector, the distance from the point to the plane, etc.) between adjacent points until the region cannot continue to expand or the maximum number of iterations is reached, and then stops to form a plane segment. The region growing algorithm needs to pay attention to the key parameter of the minimum region size, which needs to be estimated according to the minimum female wall size expected to be detected and the point cloud density; for example, if it is desired to detect a female wall with a minimum size of 0.5 meters by 0.5 meters, and the point cloud density is 100 points per square meter, then the minimum region size should be set to slightly less than 0.5x0.5x100=25 points, such as 15 or 20 points, to filter out noise; if the value of the minimum region size is too small, the point cloud noise and small uneven surfaces will be identified as planes, and if the value of the minimum region size is too large, small female walls will be missed.
[0063] The RANSAC algorithm and the region growing algorithm are prior art and will not be described here.
[0064] The preset threshold is used to distinguish the inclination degree of the plane segment; the normal vector of the horizontal plane is vertical, and the Z-axis component of the normal vector of the horizontal plane is equal to 1; the normal vector of the vertical plane is horizontal, and the Z-axis component of the normal vector of the vertical plane is equal to 0. When using the rule of "the horizontality score is less than or equal to the preset threshold" to identify the vertical plane segment, the preset threshold must be small enough to ensure that all non-vertical roof planes are excluded; if the noise is large or the surface is irregular, the threshold needs to be slightly relaxed (for example, from 0.15 to 0.2 or 0.25) to avoid falsely excluding those walls that are overall vertical but have fluctuations in the local normal vector; the preset threshold should ensure that the desired vertical wall (especially small coping) is not falsely excluded, and the unwanted inclined surface (such as roof, ramp) is not falsely retained. It is recommended to set the initial preset threshold to about 0.15, so that the angle between the normal vector and the horizontal plane is about 8.6 degrees; then through repeated adjustment and checking, find a value that achieves the best balance between including all target vertical surfaces and excluding non-vertical inclined surfaces.
[0065] The roof peripheral module is based on the plane segment set to extract the roof edge line, the top surface outer boundary of the coping, and the top surface inner boundary of the coping.
[0066] The method for extracting the roof edge line, the top surface outer boundary, and the top surface inner boundary includes: screening out the plane segments in the plane segment set whose horizontality scores are greater than the preset threshold (i.e., excluding the vertical plane segments); for each combination of X-axis component and Y-axis component, only keeping the plane segment where the Z-axis component is the largest (i.e., only keeping the plane segment on the top of the building), and the remaining plane segments constitute a non-vertical plane segment set;
[0067] The Alpha Shape convex hull algorithm is used to calculate the outer boundary polygon and the inner boundary polygon of each plane segment in the non-vertical plane segment set, which are collectively referred to as boundary polygons; the shoelace formula is used to calculate the areas of all boundary polygons; the boundary polygons are sorted according to the area from large to small, and the three boundary polygons with the largest areas are taken as peripheral polygons;
[0068] The average Z-axis components of the vertices of the peripheral polygons are calculated respectively to obtain three average elevations; the peripheral polygons are sorted according to the average elevations from large to small; the peripheral polygon with the smallest average elevation is marked as the roof edge line, the peripheral polygon with the largest area is marked as the top surface outer boundary, and the third peripheral polygon is marked as the top surface inner boundary.
[0069] The two-dimensional projection of the points in the planar segment on the best fitting plane of the planar segment constitutes a set of projected points; the Alpha Shape hull algorithm can be understood as follows: imagine a disc with a fixed radius rolling outside the set of projected points, and the points that can be touched by the disc are connected to form an outer boundary polygon; for the holes in the set of projected points, the disc rolls inside the holes to form an inner boundary polygon. The outer boundary polygon and the inner boundary polygon accurately depict the occupied range of the planar segment on the best fitting plane. The Alpha Shape hull algorithm can be used in Python using the alphashape library, in Matlab using the built-in alphaShape object, and in the PCL library using the pcl::ConcaveHull class. The Alpha Shape hull algorithm is prior art, and will not be described here again. The shoelace formula for calculating the area of a polygon is also prior art, and will not be described here again.
[0070] The dividing line module calculates the roof edge height based on the roof edge line; and determines the outer dividing line of the parapet based on the roof edge height, the outer boundary of the top surface, and the set of vertical planes.
[0071] The calculation method of the roof edge height includes: calculating the average Z-axis component of each vertex of the roof edge line to obtain the roof edge height.
[0072] The determination method of the outer dividing line includes: projecting all the points of each vertical plane segment in the set of vertical planes to the XY plane to obtain a set of projected points; and marking the projection of the outer boundary of the top surface on the XY plane as a projection polygon;
[0073] Calculating the minimum value of the distance from each point in the set of projected points to the edge of the projection polygon to obtain the nearest distance between each point in the set of projected points and the projection polygon; and extracting the vertical plane segment corresponding to the points in the set of projected points whose nearest distance is less than a preset small amount to form a set of outer side plane segments.
[0074] Extracting the points in each vertical plane segment in the set of outer side plane segments whose Z-axis component and the roof edge height differ by less than a preset gap (considering that the point cloud is a discrete set of points in a three-dimensional space, there may be no point in the vertical plane segment in the set of outer side plane segments that is at the same height as the roof edge height; therefore, a preset gap needs to be set), to form an outer dividing point set; and performing curve fitting on the points in the outer dividing point set to obtain an outer dividing line.
[0075] In order to determine the outer dividing line, first, project all the vertical plane segments to the XY plane, and then exclude the points of the vertical plane segments that are far away from the projection polygon, leaving the vertical plane segments that are in the same vertical direction as the outer side of the parapet; then, the outer dividing line of the parapet can be determined by the roof edge height.
[0076] The preset small amount is determined by the precision (e.g., 2 cm), and the preset small amount is t times of the precision (e.g., when the precision is 2 cm, and t = 2, the preset small amount can be 4 cm; t times is used to amplify the error, and ensure that most of the point clouds of the outer wall deviating from the accurate position due to the error are covered); if the parapet wall in the scene contains a protruding top cover, the protruding amount of the protruding top cover in the horizontal direction relative to the outside of the parapet wall is also considered, and the preset small amount is k times of the precision plus the protruding amount (e.g., when the precision is 2 cm, k = 2, and the protruding amount is 7 cm, the preset small amount can be 11 cm); the preset small amount should be able to be used to exclude the vertical plane section on the inside of the parapet wall close to the outside of the parapet wall, and therefore, the preset small amount should be less than the difference between the wall thickness of the parapet wall and t times of the precision (e.g., when the precision is 2 cm, t = 2, and the wall thickness is 20 cm, the preset small amount is less than 16 cm).
[0077] The preset gap is determined by the point cloud density, and it is ensured that in the vertical plane section of the outside plane section set, a point with a difference between the Z-axis component and the roof edge height less than the preset gap can be found. If the point cloud density is x points per square meter, the preset gap can be cm (e.g., when the point cloud density is 100 points per square meter, the preset gap can be 5 cm; when the point cloud density is 400 points per square meter, the preset gap can be 2.5 cm).
[0078] The parapet wall extraction module extracts the points belonging to the parapet wall from the preprocessed point cloud according to the roof edge height, the outer top boundary, the inner top boundary, the outer boundary line, and the roof edge line, to obtain a parapet wall point set.
[0079] The extraction method of the parapet wall point set includes: removing the points with a Z-axis component less than the roof edge height from the preprocessed point cloud to obtain a temporary point cloud one; calculating the average Z-axis component of each vertex of the outer top boundary to obtain a top surface height; calculating the average value of the top surface height and the roof edge height to obtain an intermediate height;
[0080] The temporary point cloud two is composed of the points with a Z-axis component greater than the intermediate height in the temporary point cloud one, and the temporary point cloud three is composed of the points with a Z-axis component less than or equal to the intermediate height in the temporary point cloud one; the points in the temporary point cloud two are all projected onto the XY plane to obtain a temporary point set one; the points in the temporary point cloud three are all projected onto the XY plane to obtain a temporary point set two; the projection of the outer top boundary, the inner top boundary, the outer boundary line, and the roof edge line on the XY plane is marked as an outer top projection, an inner top projection, an outer boundary projection, and a roof edge projection, respectively;
[0081] In the temporary point set one, the points inside the top surface inner projection and the points outside the top surface outer projection are removed to obtain an upper half point set (a point is inside or outside a polygon is determined by a ray method, that is, a ray is emitted from the point to be measured to an arbitrary fixed direction, and the number of intersection points of the ray with each side of the polygon is counted; if the number of intersection points is odd, the point to be measured is inside the polygon; if the number of intersection points is even, the point to be measured is outside the polygon; the ray method is prior art); in the temporary point set two, the points inside the roof edge projection and the points outside the outer boundary projection are removed to obtain a lower half point set; the points corresponding to the upper half point set and the lower half point set in the pre-processed point cloud form the parapet point set.
[0082] The embodiment proposes an AI automatic extraction system for real three-dimensional point clouds, which effectively solves the problem that the parapet close to the roof edge is difficult to be automatically distinguished from the main outer wall of the building when the existing technology processes the laser radar point cloud.
[0083] Specifically, the system is implemented by the following method: first, the vertical plane section is extracted from the pre-processed point cloud, and the non-vertical plane at the top of the building is analyzed to determine the roof edge line and the inner and outer boundaries of the parapet top; then, the accurate boundary line between the parapet outer facade and the lower main wall body is calculated in combination with the roof edge height and the identified vertical plane; finally, all the determined boundary lines and height information are comprehensively utilized to filter and extract the complete parapet point set by constraining the horizontal position of the point cloud in different height ranges.
[0084] Compared with the prior art, the system has the following advantages:
[0085] By combining geometric analysis (plane segmentation, boundary extraction, height analysis, etc.) and specific processing procedures, the point cloud data of the parapet can be automatically identified and extracted from complex real three-dimensional point clouds.
[0086] For the difficulty of geometric similarity between the parapet and the main outer wall, by analyzing the roof edge, the parapet top boundary, and determining the boundary line by the roof edge height, the parapet outside can be effectively distinguished from the main outer wall, and this technical problem is solved.
[0087] By accurately extracting the parapet and other detailed components, the accuracy and detail richness of the final generated three-dimensional model (such as BIM) can be significantly improved.
[0088] In summary, the system overcomes the difficulties of existing technologies in building point cloud fine segmentation, especially in distinguishing and extracting parapets, thereby improving the model accuracy.
[0089] Embodiment 2
[0090] Referring to Figure 2 The embodiment provides an AI automatic extraction method for real three-dimensional point clouds, which comprises:
[0091] Scanning by laser radar, collecting point cloud data of the outer facade and roof of the building, and obtaining original point cloud;
[0092] Pretreating the original point cloud to obtain pretreated point cloud;
[0093] Based on the pretreated point cloud, extracting a set of plane segments and a set of vertical planes;
[0094] Based on the set of plane segments, extracting a roof edge line, an outer boundary of a parapet top surface and an inner boundary of the parapet top surface;
[0095] Based on the roof edge line, calculating a roof edge height; based on the roof edge height, the outer boundary of the parapet top surface and the set of vertical planes, determining an outer boundary line of the parapet;
[0096] According to the roof edge height, the outer boundary of the parapet top surface, the inner boundary of the parapet top surface, the outer boundary line of the parapet and the roof edge line, extracting points belonging to the parapet from the pretreated point cloud to obtain a parapet point set.
[0097] The places not mentioned in the application can be realized by using or referring to the existing technology.
[0098] Each of the embodiments in the specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment mainly describes the difference from other embodiments.
[0099] The above is only an embodiment of the application and is not intended to limit the application. The application can be changed and varied by those skilled in the art. Any modification, equivalent replacement, improvement, etc. within the spirit and principle of the application shall be included in the scope of the claims of the application.
Claims
1. A real scene three-dimensional point cloud AI automatic extraction method, characterized in that, The application relates to a method for extracting parapet points from a point cloud of a building. The method comprises the following steps: scanning a building by a laser radar to collect point cloud data of the outer facade and roof of the building, and obtaining original point cloud data; preprocessing the original point cloud to obtain preprocessed point cloud data; extracting a set of plane segments and a set of vertical planes based on the preprocessed point cloud; extracting a roof edge line, an outer boundary of a parapet top surface and an inner boundary of the parapet top surface based on the set of plane segments; the method for extracting the roof edge line, the outer boundary of the parapet top surface and the inner boundary of the parapet top surface comprises the following steps: screening out plane segments with horizontal scores greater than a preset threshold value in the set of plane segments; only keeping the plane segment with the maximum Z-axis component for each combination of X-axis and Y-axis components, and the remaining plane segments constitute a set of non-vertical plane segments; calculating the outer boundary polygon and the inner boundary polygon of each plane segment in the set of non-vertical plane segments by using an Alpha Shape concave algorithm, and uniformly marking the polygons as boundary polygons; calculating the areas of all the boundary polygons by using a shoelace formula; sorting the boundary polygons from large to small according to the areas, and taking the three boundary polygons with the largest areas as peripheral polygons; calculating the average Z-axis components of the vertices of the peripheral polygons respectively to obtain three average elevations; sorting the peripheral polygons from large to small according to the average elevations; marking the peripheral polygon with the minimum average elevation as the roof edge line, marking the peripheral polygon with the maximum area as the outer boundary of the parapet top surface, and marking the third peripheral polygon as the inner boundary of the parapet top surface; calculating a roof edge height based on the roof edge line; determining an outer boundary line of the parapet based on the roof edge height, the outer boundary of the parapet top surface and the set of vertical planes; 2. The real scene three-dimensional point cloud AI automatic extraction method according to claim 1, characterized in that, extracting points belonging to the parapet from the preprocessed point cloud according to the roof edge height, the outer boundary of the parapet top surface, the inner boundary of the parapet top surface, the outer boundary line of the parapet and the roof edge line, and obtaining a parapet point set.
3. The real scene three-dimensional point cloud AI automatic extraction method according to claim 1, characterized in that, The original point cloud is a point set of three-dimensional coordinates, each point in the point set has an X-axis component, a Y-axis component and a Z-axis component, and the Z-axis is set as a vertical direction.
4. The AI automatic extraction method of a real scene three-dimensional point cloud according to claim 1, characterized in that, The preprocessing method of the original point cloud comprises the following steps: removing outlier points and noise points generated by measurement errors or environmental factors, unifying the coordinates to the same coordinate system, separating and removing ground point cloud, calculating the normal vector of each point, obtaining a set containing the coordinates of each point in the original point cloud and the normal vector corresponding to each point, and marking the set as preprocessed point cloud. The method for extracting the set of plane segments and the set of vertical planes comprises the following steps: applying a plane segmentation algorithm to the preprocessed point cloud to segment all the plane segments in the preprocessed point cloud; the plane segment is a set of points with a common plane or an approximately common plane, and the approximately common plane refers to that the included angle between the normal vectors of the points is less than a set threshold value; for each plane segment, calculating the average value of the normal vectors of each point in the plane segment to obtain the average normal vector of the plane segment; calculating the absolute value of the Z-axis component of each average normal vector to obtain a horizontal score; 5. The real scene three-dimensional point cloud AI automatic extraction method according to claim 1, characterized in that, if the horizontal score is less than or equal to a preset threshold value, the corresponding plane segment is marked as a vertical plane segment; all the plane segments constitute a set of plane segments, and all the vertical plane segments constitute a set of vertical planes. The method for calculating the roof edge height comprises the following steps: calculating the average Z-axis components of the vertices of the roof edge line to obtain the roof edge height.
6. The real scene three-dimensional point cloud AI automatic extraction method according to claim 1, characterized in that, The method for determining the outer boundary line comprises: projecting all points of each vertical plane segment in the vertical plane set to an XY plane to obtain a projected point set; and marking the projection of the outer boundary of the top surface on the XY plane as a projected polygon; calculating the minimum value of the distance from each point in the projected point set to the edges of the projected polygon to obtain the nearest distance between each point in the projected point set and the projected polygon; and extracting the vertical plane segments corresponding to the points in the projected point set with the nearest distance less than a preset small amount to form an outer side plane segment set; extracting the points in each vertical plane segment in the outer side plane segment set with a difference between the Z-axis component and the roof edge height less than a preset gap to form an outer boundary point set; and performing curve fitting on the points in the outer boundary point set to obtain an outer boundary line.
7. The real scene three-dimensional point cloud AI automatic extraction method according to claim 6, characterized in that, The preset small amount value method includes: if the parapet in the scene does not contain a protruding roof, the preset small amount is determined by the precision, and the preset small amount is taken as the precision times; if the parapet in the scene contains a protruding roof, the protruding amount of the protruding roof relative to the outside of the parapet in the horizontal direction is considered, and the preset small amount is taken as the precision times plus the protruding amount; and the preset small amount is less than the difference between the wall thickness of the parapet and the precision times.
8. The real scene three-dimensional point cloud AI automatic extraction method according to claim 1, characterized in that, The method for extracting the parapet point set comprises: removing the points with a Z-axis component less than the roof edge height from the preprocessed point cloud to obtain a temporary point cloud one; calculating the average Z-axis component of each vertex of the outer boundary of the top surface to obtain a top surface height; calculating the average value of the top surface height and the roof edge height to obtain an intermediate height; composing a temporary point cloud two from the points in the temporary point cloud one with a Z-axis component greater than the intermediate height, and composing a temporary point cloud three from the points in the temporary point cloud one with a Z-axis component less than or equal to the intermediate height; projecting all points in the temporary point cloud two to an XY plane to obtain a temporary point set one; projecting all points in the temporary point cloud three to the XY plane to obtain a temporary point set two; marking the projections of the outer boundary of the top surface, the inner boundary of the top surface, the outer boundary line and the roof edge line on the XY plane as an outer projection of the top surface, an inner projection of the top surface, an outer boundary projection and a roof edge projection, respectively; removing the points inside the inner projection of the top surface and the points outside the outer projection of the top surface from the temporary point set one to obtain an upper half point set; removing the points inside the roof edge projection and the points outside the outer boundary projection from the temporary point set two to obtain a lower half point set; and composing the parapet point set from the points in the preprocessed point cloud corresponding to the upper half point set and the lower half point set.
9. A real scene three-dimensional point cloud AI automatic extraction system, characterized in that, The system for implementing the AI automatic extraction method for real three-dimensional point clouds according to any one of claims 1-8 comprises: a data acquisition module configured to scan and acquire point cloud data of the outer facade and the roof of a building by a laser radar to obtain an original point cloud; a preprocessing module configured to preprocess the original point cloud to obtain a preprocessed point cloud; a vertical plane module configured to extract a plane segment set and a vertical plane set based on the preprocessed point cloud; a roof periphery module configured to extract a roof edge line, an outer boundary of a top surface of a parapet and an inner boundary of the top surface of the parapet based on the plane segment set; a boundary line module configured to calculate a roof edge height based on the roof edge line; and determine an outer boundary line of the parapet based on the roof edge height, the outer boundary of the top surface and the vertical plane set; a parapet extraction module configured to extract points belonging to the parapet from the preprocessed point cloud based on the roof edge height, the outer boundary of the top surface, the inner boundary of the top surface, the outer boundary line and the roof edge line to obtain a parapet point set.
Citation Information
Patent Citations
LOD2 + building model construction method based on image segmentation network
CN118470255A