A Method for Point Cloud Segmentation and Attribute Extraction of Houses in a Building-Dense Scene
By extracting corner points in building dense scenes and using DBSCAN and RANSAC algorithms to segment the house, the difficulties of house segmentation and attribute extraction in the existing technology are solved, and efficient house segmentation and attribute extraction effects are achieved.
Patent Information
- Application Number
- CN202210856475.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-21
- Publication Date
- 2025-07-08
- Estimated Expiration
- 2042-07-21
AI Technical Summary
The prior art is difficult to efficiently segment houses and automatically extract house properties in building-intensive scenarios, especially when the building spacing is less than 0.3 meters, and the existing methods have limitations.
House segmentation is performed by extracting corner points of houses. By sorting point cloud data, calculating method vectors, screening house facade point clouds, using DBSCAN and RANSAC algorithms for coarse segmentation and straight line detection, determining house boundaries and corner points, and combining digital elevation model to extract house area, number of layers and height.
It realizes efficient division of independent houses in dense building areas and accurately extracts the area, number of floors and height of the houses, which is suitable for engineering applications in large scenarios.
Smart Images

Figure CN115170598B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for segmenting and extracting attributes of house point clouds in a densely built-up scene, belonging to the technical field of point cloud data processing. Background Art
[0002] Laser scanning technology is known as the "real scene replication" technology, and the visualization effect of point cloud data is basically consistent with the real world. Laser point cloud is essentially a pile of disordered points, but contains rich spatial information. All walks of life extract the data and information of interest from the massive point cloud scenes. In the face of the need to utilize buildings, the initial research was point cloud classification, classifying the building category from the original point cloud data and then further utilization. Currently, more and more demands in the industry are for individual houses and their attributes, that is, segmenting the house point clouds, efficiently segmenting each independent building, and extracting the relevant attributes.
[0003] For house point cloud segmentation, there are currently two mainstream methods. One is the extraction method based on point cloud using mathematical morphology, and the other is the extraction method based on the fusion of image and point cloud. Based on the image and point cloud fusion algorithm, it is mainly to first use image processing technology to identify the building boundary, and then use this as prior knowledge to continue processing the point cloud. Segmenting individual houses based on point cloud using mathematical morphology only requires point cloud data and is more universal. From the literature retrieved so far, there are house segmentation methods based on deep learning, algorithms for extracting contours and boundaries based on geometric features, and region growing algorithms, etc. These algorithms can even extract the house facades and roofs. However, for the method based on deep learning, it requires more sample learning. At the current stage, it is more of theoretical research and small-scale scene experiments and cannot yet be applied to large-scale engineering applications.
[0004] In current research, there are few research methods for house segmentation in densely built-up scenes. For example, when the minimum distance between buildings is less than 0.3 meters, the above methods have limitations and cannot be used. For densely built-up scenes, how to efficiently segment houses and automatically and efficiently extract attributes such as building height, number of floors, and area is worthy of research and exploration. Summary of the Invention
[0005] The technical problem to be solved by the present invention is to overcome the defects of the prior art and provide a method for segmenting and extracting attributes of house point clouds in a densely built-up scene. The method uses the method of extracting house corner points for house segmentation, extracts house corner points according to the basic rule that "the corner points in the house floor plan are the intersection points of two straight lines", and then segments the house. To achieve the above object, the present invention provides a method for segmenting and extracting attributes of house point clouds in a densely built-up scene, which is characterized by including the following steps:
[0006] 1) Classify the original point cloud to separate the ground and building point clouds;
[0007] 2) Use the ground point cloud to construct a digital elevation model and calculate the normal vectors of the building point clouds;
[0008] 3) Use the normal vector features to screen out the facade point cloud data of the buildings from the building point clouds;
[0009] 4) Project the facade point cloud data of the buildings onto the XOY plane to become discrete points in the XOY plane, and the coordinates of each discrete point are represented by (x i , y i );
[0010] 5) Use the DBSCAN algorithm to roughly segment the discrete points in the XOY plane to form independent clusters;
[0011] 6) Calculate the building boundary points of each cluster;
[0012] 7) Randomly select a cluster, and choose one of the points with the smallest abscissa and the smallest ordinate, the point with the smallest abscissa and the largest ordinate, the point with the largest abscissa and the smallest ordinate, and the point with the largest abscissa and the largest ordinate in this cluster as the required point;
[0013] Use the RANSAC algorithm to detect the straight line of the building boundary. Randomly determine a straight line y1 through the required point. If the vertical distance from other building boundary points to the straight line y1 is within the set range and the number of other building boundary points whose vertical distance to the straight line y1 is within the set range ≥ the set number threshold, it means that the building boundary is detected, and the other building boundary points whose vertical distance to the straight line y1 is within the set range are classified into the building boundary point set Q1;
[0014] Randomly determine another straight line y2 through the required point again. If the vertical distance from other building boundary points to the straight line y2 is within the set range and the number of other building boundary points whose vertical distance to the straight line y2 is within the set range ≥ the set number threshold, it means that the building boundary is detected, the straight lines y1 and y2 do not coincide, the other building boundary points whose vertical distance to the straight line y2 is within the set range are classified into the building boundary point set Q2, and the required point is represented by J2 and written into the building corner point set J = {J2, J3... Jn};
[0015] If the number of other building boundary points on the same straight line detected is less than the set number threshold, it is determined that it is not a building boundary;
[0016] 8) Set the initial value of i to 2;
[0017] 9) According to the building boundary point set Q iThe distances from the house boundary points in i to the points Ji in the set J of house corner points are sorted from near to far for the set Q of house boundary points i in it; the RANSAC algorithm is used to sequentially perform line detection on the sorted set Q of house boundary points
[0018] in it; i a straight line ym is randomly determined through the house boundary points in the set Q of house boundary points, where m = i + 1. If the distances from other house boundary points to the straight line ym are within a set range and the number of other house boundary points is ≥ the set number threshold, it means that the house boundary is detected, and the other house boundary points and the house boundary points in this set Q i in it are classified into the set Qm of house boundary points;
[0019] The house boundary points that belong to both the set Q of house boundary points i and the set Qm of house boundary points are set as new house corner points Jm, and the house corner points Jm are written into the set J of house corner points;
[0020] 10) If the detected straight line ym coincides with the straight line y1, stop the line detection;
[0021] If the detected straight line ym does not coincide with the straight line y1, the value of i is increased by 1;
[0022] 11) According to the set J of house corner points, the digital elevation model, and the building point cloud, extract the house area, house floor number, and house height attributes;
[0023] Remove the house facade point cloud within the range formed by the set J of house corner points detected by the straight line, and execute step 9).
[0024] Preferably, calculate the normal vector feature of the building point cloud, which is realized through the following steps:
[0025] For any building point cloud, with a search radius of 0.3 meters, use all the points within the search radius to fit into a plane; calculate the unit normal vector of this plane;
[0026] Take the unit normal vector of this plane as the normal vector of this point, and the normal vectors of the points in all the building point clouds are represented by Ni (Nxi, Nyi, Nzi), where Nxi, Nyi, and Nzi are the components of the normal vector Ni in the X direction, the component of the normal vector Ni in the Y direction, and the component of the normal vector Ni in the Z direction, respectively.
[0027] Preferably, step 3 is realized through the following steps:
[0028] The facade of the house is perpendicular to the ground, and Nzi in the normal vector component of the house facade is approximately 0. Select the Nzi within the set Nzi threshold range as the point cloud data of the house facade.
[0029] Preferably, step 5 is implemented through the following steps:
[0030] Set the neighborhood distance to 3m and the minimum number of points included in the entity to 1000. Use the DBSCAN algorithm to roughly segment the point cloud data of the house facade in the XOY plane. The point cloud data of the house facade in the XOY plane is divided into independent clusters D1, D2, …, Dd, where d represents the number of clusters. The number of point cloud data of the house facade in the XOY plane in each cluster is at least 1000, and the point spacing between adjacent point cloud data of the house facade in the XOY plane is less than 3m.
[0031] Preferably, in step 9, set the set range ε = 0.1m and the set number threshold minpt = 100.
[0032] Preferably, step 11 is implemented through the following steps:
[0033] The house attributes include house area, number of floors of the house, and house height;
[0034] Calculate the area S of the polygon formed by the house corners in the house corner point set to obtain the house area;
[0035] In the digital elevation model, retrieve the maximum value Zmax and the minimum value Zmin in the Z direction of the point cloud in the original point cloud according to the range of the polygon, and calculate to obtain the house height h = Zmax - Zmin;
[0036] According to the single - floor height a of the building, calculate the number of floors c of the house, c = h / a.
[0037] An electronic device includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, the steps of the method described in any one of the above are implemented.
[0038] A computer - readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the method described in any one of the above are implemented.
[0039] The beneficial effects achieved by the present invention:
[0040] Through step 5, the entire dense house can be roughly divided into several independent clusters, and the minimum distance between the clusters is 3 meters; through step 6, the boundary points of each cluster can be determined, and taking the boundary points as the mandatory points is convenient for further division;
[0041] The two boundaries of the house can be quickly determined through step 7; the corner points of each independent house can be gradually found through step 9; the attributes such as the area and building height of the house can be obtained through step 11. By repeatedly executing the process of steps 9 - 11, each independent house can be distinguished in the area of dense buildings, achieving the effect of house segmentation. Brief Description of the Drawings
[0042] Figure 1 is a flowchart of the present invention;
[0043] Figure 2 is a schematic diagram of the result of house segmentation of the present invention. Detailed Description of the Invention
[0044] The following embodiments are only used to more clearly illustrate the technical solutions of the present invention and should not be used to limit the protection scope of the present invention.
[0045] Embodiment 1
[0046] As Figure 1 shown, a method for house point cloud segmentation and attribute extraction in a dense building scene, characterized by including the following steps:
[0047] 1) Classify the original point cloud to separate the ground and building point clouds;
[0048] 2) Use the ground point cloud to construct a digital elevation model and calculate the normal vector of the building point cloud;
[0049] 3) Use the normal vector feature to screen out the house facade point cloud data from the building point cloud;
[0050] 4) Project the house facade point cloud data onto the XOY plane to become discrete points in the XOY plane, and the coordinates of each discrete point are represented by (x i , y i );
[0051] 5) Use the DBSCAN algorithm to roughly segment the discrete points in the XOY plane to form independent clusters;
[0052] 6) Calculate the house boundary points of each cluster;
[0053] 7) Randomly select a cluster and choose one of the point with the smallest abscissa and the smallest ordinate, the point with the smallest abscissa and the largest ordinate, the point with the largest abscissa and the smallest ordinate, and the point with the largest abscissa and the largest ordinate in this cluster as the required point;
[0054] Use the RANSAC algorithm to detect the straight line of the house boundary. Randomly determine a straight line y1 through the required points. If the vertical distances of other house boundary points from the straight line y1 are within the set range and the number of other house boundary points whose vertical distances from the straight line y1 are within the set range is ≥ the set number threshold, it means that the house boundary is detected, and the other house boundary points whose vertical distances from the straight line y1 are within the set range are classified as belonging to the house boundary point set Q1;
[0055] A straight line y2 is randomly determined again through the required points. If the vertical distances of other house boundary points from the straight line y2 are within the set range and the number of other house boundary points whose vertical distances from the straight line y2 are within the set range is ≥ the set number threshold, it means that the house boundary is detected, the straight line y1 and the straight line y2 do not overlap, and the other house boundary points whose vertical distances from the straight line y2 are within the set range are classified as belonging to the house boundary point set Q2, and the required points are written into the house corner point set J = {J2, J3...Jn};
[0056] If the number of other house boundary points detected on the same straight line is less than the set number threshold, it is determined not to be a house boundary;
[0057] 8) Set the initial value of i to 2;
[0058] 9) According to the house boundary point set Q i The distance between the house boundary point in the house corner point set J and the point Ji in the house boundary point set Q is from near to far. i Sort the house boundary points in the , and use the RANSAC algorithm to sort the sorted house boundary point set Q i Perform straight line detection on the house boundary points in the image;
[0059] Through the house boundary point set Q i A straight line ym is randomly determined from the house boundary points in the set, m=i+1. If the distance between other house boundary points and the straight line ym is within the set range and the number of other house boundary points is ≥ the set number threshold, it means that the house boundary is detected, and the other house boundary points and the house boundary point set Q i The house boundary points in are classified into the house boundary point set Qm;
[0060] Belongs to the house boundary point set Q i The house boundary points that belong to the house boundary point set Qm are set as new house corner points Jm, and the house corner points Jm are written into the house corner point set J;
[0061] 10) If the detected straight line ym coincides with the straight line y1, the straight line detection is stopped;
[0062] If the detected straight line ym does not coincide with the straight line y1, the value of i increases by 1;
[0063] 11) Extract the house area, the number of floors of the house, and the height attribute of the house according to the set of house corner points J, the digital elevation model, and the building point cloud;
[0064] Remove the house facade point cloud within the range formed by the set of house corner points J detected by the straight line, and execute step 9).
[0065] Further, in this embodiment, calculating the normal vector feature of the building point cloud is achieved through the following steps: For any building point cloud, with a search radius of 0.3 meters, fit all the points within the search radius into a plane; calculate the unit normal vector of the plane;
[0066] Take the unit normal vector of the plane as the normal vector of the point. The normal vectors of the points in all building point clouds are represented by Ni (Nxi, Nyi, Nzi), where Nxi, Nyi, and Nzi are the components of the normal vector Ni in the X direction, the Y direction, and the Z direction of the normal vector Ni, respectively.
[0067] Further, step 3 in this embodiment is achieved through the following steps:
[0068] The house facade is perpendicular to the ground, and Nzi in the normal vector components of the house facade is approximately 0. Screen the Nzi within the set Nzi threshold range as the point cloud data of the house facade.
[0069] Further, step 5 in this embodiment is achieved through the following steps:
[0070] Set the neighborhood distance to 3m and the minimum number of points included in the entity to 1000. Use the DBSCAN algorithm to roughly segment the point cloud data of the house facade in the XOY plane. The point cloud data of the house facade in the XOY plane is respectively divided into independent clusters D1, D2,..., Dd, where d represents the number of clusters. The number of point cloud data of the house facade in the XOY plane in each cluster is at least 1000, and the point spacing between adjacent point cloud data of the house facade in the XOY plane is less than 3m.
[0071] Further, in step 9 of this embodiment, set the set range ε = 0.1m and the set number threshold minpt = 100.
[0072] Further, step 11 in this embodiment is achieved through the following steps:
[0073] The house attributes include the house area, the number of floors of the house, and the height of the house;
[0074] Calculate the area S of the polygon formed by the house corner points in the set of house corner points to obtain the house area;
[0075] In the digital elevation model, retrieve the maximum value Zmax and the minimum value Zmin in the vertical direction (Z direction) of the point cloud based on the range of the polygon, and calculate the building height h = Zmax - Zmin;
[0076] According to the single - floor height a of the building, calculate the number of floors c of the building, c = h / a.
[0077] An electronic device includes a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the program, it implements the steps of the method described in any one of the above.
[0078] A computer - readable storage medium stores a computer program. When the computer program is executed by a processor, it implements the steps of the method described in any one of the above.
[0079] Embodiment 2
[0080] As Figure 2 shown, step 7: Take the boundary point A in step 6 as a mandatory point for line detection, and detect two lines y1 and y2. The set of points on the y1 line is named Q1, and the set of points on the y2 line is named Q2;
[0081] 8) Set the initial value of i to 2;
[0082] Step 9: Sort the building boundary points in the building boundary point set Q i according to the distance from the building corner point set J to the Ji point in ascending order, and preferentially detect the building boundary points in the building boundary point set Q i closest to the Ji point; Take the points on the y2 line as mandatory points and continue line detection. Detect a new line y3 at point B, and name the set of points on the y3 line as Q3;
[0083] Take the points in Q3 as mandatory points and continue line detection, and so on, until a line form coinciding with y1 is found at point D, then end the line detection. The points A, B, C, and D connected end - to - end are an independent building, which is equivalent to separating this building;
[0084] Step 10: Extract the building attributes;
[0085] Step 11: Kick out the other points that have been detected by line detection, and execute step 9.
[0086] More specifically, it includes the following steps:
[0087] In step 3), according to the magnitude of the component Nzi of the normal vector Ni (Nxi, Nyi, Nzi), the vertical of the building facade is perpendicular to the ground, and Nzi in its normal vector components is approximately 0. The points with Nzi in the range of [-0.01, 0.01] are selected as the building facade point cloud.
[0088] 4) Project the building facade point cloud data onto the XOY plane to form discrete points in the XOY plane, and the coordinates of each point are represented by (x i , y i ).
[0089] 5) Use the DBSCAN algorithm to roughly segment the building facade point cloud data in the XOY plane to form independent clusters;
[0090] 6) Calculate the boundary points of each cluster;
[0091] In step 6, sort the (X, Y) coordinates of all points in the sets D1, D2,..., Dn according to the X component and the Y component respectively to determine the Xmax&Ymax boundary points, Xmax&Ymin boundary points, Xmin&Ymax boundary points, Xmin&Ymin boundary points. Xmax is the maximum coordinate value in the X direction, Ymax is the maximum coordinate value in the Y direction, Xmin is the minimum coordinate value in the X direction, and Ymin is the minimum coordinate value in the Y direction.
[0092] In step 7, select the northwest boundary point of Ymin&Xmax. The serial number of this point is J2, and let it belong to the corner point set J = {J2, J3,..., Jn}.
[0093] It is set that if there are at least 100 points belonging to a certain straight line, it is determined that the straight line is established, otherwise it is determined that it is not the required straight line; the distance range of the points belonging to the same straight line to the straight line is set as
[0094] ε = 0.1m;
[0095] Start using the RANSAC algorithm for line detection from point J2. If the number of points on the y1 line and the y2 line obtained by line detection is greater than 100 points, then output two lines y1 = k1x + b1 and y2 = k2x + b2. The points belonging to the y1 line and the y2 line are respectively made to belong to the building boundary alternative point sets Q1 and Q2.
[0096] In step 8, the initial value of i is set to 2;
[0097] Step 9, according to the distance from the building boundary points in the building boundary point set Q i to the Ji point in the building corner point set J, sort the building boundary point set Q iSorting the house boundary points, using the RANSAC algorithm to sequentially detect straight lines for the sorted set Q of house boundary points i in the house boundary points;
[0098] In the set Q2, sequentially use the RANSAC algorithm to detect straight lines for each point until a new straight line form y3 = k3x + b3 is detected at a certain point, and there are at least 100 points on y3. Then, this point is designated as the new house corner point J3 and written into the set J of house corner points. The points belonging to the same straight line are candidate points for the house boundary and are made to belong to the set Q3. By analogy, set m = i + 1, and the new house corner point Jm corresponds to the new set Q of house boundary points m .
[0099] Step 10, if the detected straight line ym coincides with the straight line y1, stop the straight line detection;
[0100] If the detected straight line ym does not coincide with the straight line y1, increase the value of i by 1;
[0101] Specifically, it includes the following steps:
[0102] In the new set of candidate points for the house boundary, continue the straight line detection. If the newly detected straight line form y i coincides with the already detected straight line form y j (j < i and j ≠ 1), it is determined that it does not conform to the house rules, and J j+1 does not belong to the house boundary points and is removed from the set J, and the straight line detection continues in the set Q j . By analogy, until the detected straight line form yn = k n x + b n coincides with the y1 = k1x + b1 straight line detected at the J2 point, then stop the detection. All the detected house corner points form an independent set J of house corner points.
[0103] In step 11, according to the set J of house corner points, the digital elevation model, and the building point cloud, extract the house area, the number of house floors, and the house height attributes;
[0104] Remove the house facade point cloud within the range formed by the set J of house corner points detected by the straight line, and execute step 9);
[0105] More specifically, according to the set J of house corner points = {J2, J3... Jn}, calculate the house area S of the polygon enclosed by the house corner points. In the original point cloud and DEM, according to the polygon range, retrieve the maximum value Zmax in the Z direction of the point cloud and the average elevation value Z of the DEM, calculate the house height h = Zmax - Z, and according to the single - floor height a, calculate the number of house floors c, c = h / a, to obtain the house attributes such as the house area, the number of house floors, and the house height.
[0106] This application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to embodiments of the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing devices to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing devices generate means for implementing the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 block or multiple blocks.
[0107] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 block or multiple blocks.
[0108] These computer program instructions can also be loaded onto a computer or other programmable data processing device, such that a series of operation steps are executed on the computer or other programmable device to generate a computer-implemented process, and thus the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one Figure 1 flow or multiple flows and / or blocks Figure 1 block or multiple blocks.
[0109] The above is only the preferred embodiment of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the technical principle of the present invention, several improvements and modifications can be made, and these improvements and modifications should also be regarded as the protection scope of the present invention.
Claims
1. A method for point cloud segmentation and attribute extraction of houses in a densely built-up scene, characterized in that The following steps are involved: 1) Classify the original point cloud into ground point cloud and building point cloud; 2) Use the ground point cloud to build a digital elevation model and calculate the normal vector of the building point cloud; 3) Using normal vector features to filter out building facade point cloud data from building point clouds; 4) Project the point cloud data of the building facade onto the XOY plane to become discrete points in the XOY plane, and the coordinates of each discrete point are represented by (x i , y i ). 5) Use the DBSCAN algorithm to roughly segment the discrete points in the XOY plane to form independent clusters; 6) Calculate the house boundary points of each cluster; 7) Randomly select a cluster, and select one of the points with the smallest horizontal coordinate and the smallest vertical coordinate, the point with the smallest horizontal coordinate and the largest vertical coordinate, the point with the largest horizontal coordinate and the smallest vertical coordinate, and the point with the largest horizontal coordinate and the largest vertical coordinate in this cluster as the required point; Use the RANSAC algorithm to detect the straight line of the house boundary. Randomly determine a straight line y1 through the required points. If the vertical distances of other house boundary points from the straight line y1 are within the set range and the number of other house boundary points whose vertical distances from the straight line y1 are within the set range is ≥ the set number threshold, it means that the house boundary is detected, and the other house boundary points whose vertical distances from the straight line y1 are within the set range are classified as belonging to the house boundary point set Q1; A straight line y2 is randomly determined again through the required points. If the vertical distances of other house boundary points from the straight line y2 are within the set range and the number of other house boundary points whose vertical distances from the straight line y2 are within the set range is ≥ the set number threshold, it means that the house boundary is detected, the straight line y1 and the straight line y2 do not overlap, and the other house boundary points whose vertical distances from the straight line y2 are within the set range are classified as belonging to the house boundary point set Q2. The required points are represented by J2 and written into the house corner point set J = {J2, J3...Jn}; If the number of other house boundary points detected on the same straight line is less than the set number threshold, it is determined not to be a house boundary; 8) Set the initial value of i to 2; 9) According to the set Q of house boundary points i sort the house boundary points in the set Q of house boundary points in ascending order of the distance from the house boundary points in Q to the point Ji in the set J of house corner points, and use the RANSAC algorithm to sequentially i detect straight lines for the sorted house boundary points in the set Q of house boundary points; i Determine a straight line ym randomly through the housing boundary points in the housing boundary point set Q, where m = i + 1. If the distances from other housing boundary points to the straight line ym are within the set range and the number of other housing boundary points is ≥ the set number threshold, it indicates that the housing boundary is detected. The other housing boundary points and the housing boundary points in the housing boundary point set Q i are classified as belonging to the housing boundary point set Qm; i Both belong to the set Q of house boundary points i The house boundary points that also belong to the set Qm of house boundary points are set as new corner points Jm, and the corner points Jm are written into the set J of house corner points; 10) If the detected straight line ym coincides with the straight line y1, the straight line detection is stopped; If the detected straight line ym does not coincide with the straight line y1, the value of i increases by 1; 11) Extracting the house area, number of floors and height attributes based on the house corner point set J, the digital elevation model and the building point cloud; Eliminate the house facade point cloud within the range formed by the house corner point set J detected by the straight line, and execute step 9).
2. The method for building point cloud segmentation and attribute extraction in a dense building scenario according to claim 1, wherein Calculate the normal vector features of the building point cloud through the following steps: For any building point cloud, use 0.3 meters as the search radius and use all points within the search radius to fit a plane; Calculate the unit normal vector of the plane; The unit normal vector of the plane is used as the normal vector of the point. The normal vectors of all points in the building point cloud are represented by Ni (Nxi, Nyi, Nzi), where Nxi is the component of Ni in the X direction; Nyi is the component of Ni in the Y direction; and Nzi is the component of Ni in the Z direction.
3. The method for building point cloud segmentation and attribute extraction in a dense building scene according to claim 2, characterized in that, Step 3 is achieved by following these steps: The building facade is perpendicular to the ground, and Nzi in the normal vector component of the building facade is ≈ 0. Nzi within the set Nzi threshold range is selected as the point cloud data of the building facade.
4. A method for building point cloud segmentation and attribute extraction in a dense building scenario according to claim 1, characterized in that, Step 5 is achieved by following the steps below: Set the neighborhood distance to 3m and the minimum number of points included in the entity to 1000. Use the DBSCAN algorithm to roughly segment the point cloud data of the building facades in the XOY plane. The point cloud data of the building facades in the XOY plane are respectively divided into independent clusters D1, D2, …, Dd, where d represents the number of clusters. The number of point cloud data of the building facades in the XOY plane in each cluster is at least 1000, and the point spacing of adjacent point cloud data of the building facades in the XOY plane is less than 3m.
5. A method for building dense scene house point cloud segmentation and attribute extraction according to claim 1, characterized in that, In step 9, set the set range ε = 0.1m and the set number threshold minpt = 100.
6. The method for building point cloud segmentation and attribute extraction in a dense building scenario according to claim 1, wherein Step 11 is implemented through the following steps: The building attributes include building area, number of floors, and building height. Calculate the area S of the polygon formed by the building corners in the building corner point set to obtain the building area. In the digital elevation model, retrieve the maximum value Zmax and the minimum value Zmin in the Z direction of the point cloud in the vertical direction according to the range of the polygon in the original point cloud, and calculate the building height h = Zmax - Zmin. According to the single-story building height a of the building, calculate the number of floors c of the building, c = h / a.
7. An electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method described in any one of claims 1 to 6.
8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the method described in any one of claims 1 to 6.
Citation Information
Patent Citations
Random sampling consistency-based characteristic line detection method for three-dimensional point cloud
CN102034104A
Method for segmenting top surface of building based on airborne LiDAR point cloud
CN113205529A