A steep slope line recognition method and system based on point cloud data
Through the steep slash line identification method based on point cloud data, the steep slash line is identified, which solves the problem of low accuracy in surface steep slash line identification in the prior art, and achieves more efficient and accurate steep slash line identification.
Patent Information
- Application Number
- CN202411137452.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2044-08-19
AI Technical Summary
The prior art has severe distortion when identifying the surface where gradient terrain and mutant terrain are intertwined and artificial terrain and natural terrain is mixed, and the morphological fidelity is low, especially in areas with dense steep ridges.
The steep thrust line recognition method based on point cloud data is used to obtain point cloud data of the geographical area to be identified, sort, calculate the height difference value, filter the steep thrust point cloud, cluster, curve fit and simplify, and gradually identify the steep thrust line.
It improves the efficiency and accuracy of steep ridge recognition, accurately fits the real terrain, reduces the distortion of the construction results, and improves the morphological fidelity of the terrain description.
Smart Images

Figure CN119181016B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of high-precision digital elevation model construction, and in particular to a steep slope line recognition method and system based on point cloud data. Background Art
[0002] In recent years, with the rapid development and widespread application of LiDAR technology, new 3D data sources represented by point clouds have played an indispensable supporting role in geographic information science, remote sensing and forestry resource management. Point cloud data provides rich 3D landform information, and the automatic recognition of surface features has become an important research direction.
[0003] In the prior art, the DEM construction method is used to identify the natural undulating characteristics of the surface. However, for the surface where the gradual terrain and the sudden change terrain are staggered, and the artificial terrain and the natural terrain are mixed, the existing DEM terrain description and application have serious distortion and low morphological fidelity. The reason is that there are a large number of steep terrain lines in the above-mentioned terrain, especially in areas where human activities have been significantly transformed, such as river banks, road edges, farmland plot boundaries, terrace boundaries, etc. These boundary lines are the boundary lines of different landforms, and are also the sudden change lines of the surface elevation of the local area, and often there is a significant elevation difference on both sides of the line. Therefore, in order to construct regular DEM in these areas, it is necessary to consider the impact of the above-mentioned various boundary lines on the regional elevation, otherwise it will cause obvious distortion of the morphology of the construction result.
[0004] However, identifying steep slopes in complex environments is a complicated and challenging problem. Xi'an's existing technologies often use the elevation difference characteristics of the terrain to identify steep slopes. Not only does it not take the terrain into consideration, but it is also easily confused with geographical features such as mountains, resulting in extremely low recognition accuracy. Summary of the invention
[0005] In order to solve the above technical problems, the present invention discloses a steep slope line recognition method and system based on point cloud data, which are used to improve the efficiency and accuracy of steep slope line recognition.
[0006] In order to achieve the above object, the present invention discloses a steep slope line recognition method based on point cloud data, comprising:
[0007] Acquire a plurality of first point clouds corresponding to the geographic area to be identified, and sort the plurality of first point clouds according to the coordinates of each of the first point clouds;
[0008] Calculating a height difference between each of the sorted first point clouds and an adjacent point cloud, and selecting a plurality of second point clouds from the plurality of first point clouds according to the height difference;
[0009] rasterizing a plurality of the second point clouds to construct a ground reference surface according to the second point clouds in each grid formed after the rasterization, and calculating a terrain slope value corresponding to each of the second point clouds based on the ground reference surface;
[0010] Filtering a plurality of steep slope point clouds from a plurality of the second point clouds according to the terrain slope value;
[0011] Clustering a plurality of the steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each of the steep ridge point clouds to obtain a plurality of steep ridge point cloud clusters;
[0012] Fitting a first curve according to a plurality of the steep point cloud clusters, and calculating a height difference within a certain range on both sides of the first curve, so as to adjust the direction of the first curve according to the height difference, and obtain a second curve;
[0013] The second curve is simplified to obtain a steep slope corresponding to the geographic area to be identified.
[0014] The present invention discloses a steep slope line recognition method based on point cloud data, in which the steep slope line is recognized by acquiring point cloud data corresponding to the geographic area to be recognized, so as to accurately fit the real terrain according to the detailed three-dimensional information of the point cloud data, thereby improving the accuracy of the recognition. After the first point cloud data is acquired, the first point cloud data is sorted, and the steep slope point cloud used for steep slope line recognition is screened from the first point cloud according to the height difference between adjacent point clouds and the terrain slope value, and the accuracy of steep slope line recognition can be improved by integrating the height difference and the angle.
[0015] Furthermore, after the steep slope point cloud is identified, the steep slope point cloud is automatically clustered by adding horizontal distance and elevation value as constraint conditions, so that the position of the steep slope line can be quickly and accurately identified. The curve shape is automatically adjusted by the curve segmentation adjacent point height difference method, which can accurately fit the real terrain and improve the efficiency and accuracy of steep slope line identification.
[0016] As a preferred example, the step of acquiring a plurality of first point clouds corresponding to the to-be-identified geographic area and sorting the plurality of first point clouds according to the coordinates of each of the first point clouds includes:
[0017] Using morphological filtering to filter the point cloud data of the to-be-identified geographical area obtained after scanning, to obtain a plurality of initial point clouds corresponding to the to-be-identified geographical area;
[0018] Performing rough extraction on a plurality of the initial point clouds by using a point density constraint method within a three-dimensional neighborhood to obtain a plurality of the first point clouds;
[0019] Performing coordinate system conversion on each of the first point clouds, converting each of the first point clouds into an initial second point cloud in a local coordinate system consistent with the tangent direction of the geographic area to be identified;
[0020] The plurality of initial second point clouds are sorted according to the horizontal coordinate of each of the initial second point clouds.
[0021] The present invention filters the point cloud data obtained by the initial scan, removes noise in the point cloud data, improves the accuracy of the data, and then performs a coordinate system conversion on the first point cloud, converting it into a local coordinate system with a consistent section direction of the geographic area to be identified, so as to facilitate sorting the point cloud according to the coordinate conversion, that is, integrating the point cloud data according to the geographic location, and performing a preliminary screening of the first point cloud according to the height difference between the point clouds, thereby improving the accuracy and efficiency of steep slope line identification.
[0022] As a preferred example, the calculating of the height difference between each of the sorted first point clouds and the adjacent point clouds, and selecting a plurality of second point clouds from a plurality of the first point clouds according to the height difference, includes:
[0023] Performing interval sampling from the sorted plurality of the initial second point clouds according to a preset distance interval to obtain a plurality of sampling point clouds;
[0024] Calculating a height difference between two adjacent sampling point clouds according to the ordinate of each sampling point cloud, and comparing the height difference with a preset height difference threshold, so as to screen the point clouds according to the comparison result;
[0025] When the height difference value is greater than the height difference threshold, the first point cloud corresponding to the current sampling point cloud is used as the second point cloud.
[0026] The invention is based on the fact that the elevation between the steep point and its adjacent point cloud is discontinuous, so the steep point is identified by using the height difference to improve the efficiency of identification.
[0027] As a preferred example, the rasterizing of the plurality of second point clouds to construct a ground reference surface according to the second point cloud in each grid formed after the rasterization includes:
[0028] rasterizing the plurality of second point clouds to form a plurality of grids;
[0029] Traversing the second point cloud in each of the grids to obtain the lowest position point cloud corresponding to each of the grids;
[0030] The ground reference surface is constructed by performing TPS interpolation according to the lowest position point cloud.
[0031] The present invention rasterizes the second point cloud so as to construct a ground reference surface according to the lowest point in the grid, thereby facilitating the subsequent calculation of the slope of each point cloud according to the ground reference surface, and then further identifying the steep point according to the slope, thereby improving the accuracy of identification.
[0032] As a preferred example, the step of selecting a plurality of steep slope point clouds from a plurality of the second point clouds according to the terrain slope value includes:
[0033] Calculating the slope angle between two adjacent second point clouds according to the terrain slope value, and comparing the slope angle with a preset angle threshold;
[0034] When the slope angle is greater than the angle threshold, the currently corresponding second point cloud is determined as the steep slope point cloud.
[0035] The present invention is based on the technical problem that the elevation difference recognition method is limited to a local area and has a poor effect on the recognition of steep points in complex terrain or a large area. Therefore, the slope angle is introduced to further identify the steep points and improve the accuracy of the steep point cloud recognition.
[0036] As a preferred example, clustering a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters includes:
[0037] Randomly selecting a plurality of point clouds from the plurality of steep-hill point clouds as cluster centers to construct a plurality of initial steep-hill point cloud clusters;
[0038] Traversing a plurality of the steep-bump point clouds, respectively calculating a horizontal distance between each of the steep-bump point clouds and each of the cluster centers, and assigning each of the steep-bump point clouds to a corresponding initial steep-bump point cloud cluster according to the horizontal distance, to obtain a plurality of first steep-bump point cloud clusters;
[0039] Calculating the mean of each of the first steep hill point cloud clusters, and updating the cluster center according to the mean;
[0040] According to a preset number of iterations, the process of allocating the steep ridge point cloud and the process of updating the cluster center are repeatedly executed to obtain a plurality of first steep ridge point cloud clusters.
[0041] The present invention first clusters the point clouds based on the horizontal distances between the point clouds, so as to quickly identify the position of the steep slope line and facilitate subsequent curve fitting.
[0042] As a preferred example, clustering a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters includes:
[0043] Traversing all the steep ridge point clouds in each of the first steep ridge point cloud clusters to calculate an average height value corresponding to each of the first steep ridge point cloud clusters;
[0044] The steep ridge point cloud cluster is obtained by removing steep ridge point clouds whose height values are less than or equal to the average height value from the first steep ridge point cloud cluster.
[0045] The present invention utilizes the interval between the elevation of the cluster and the elevation of the point cloud to remove abnormal point clouds from the cluster, thereby reducing the amount of data for subsequent steep slope line fitting and improving the efficiency of steep slope line recognition.
[0046] As a preferred example, fitting a first curve according to a plurality of steep point cloud clusters, and calculating a height difference within a certain range on both sides of the first curve, so as to adjust the direction of the first curve according to the height difference, to obtain a second curve, includes:
[0047] Traversing a plurality of the steep ridge point cloud clusters to obtain a plurality of first steep ridge point clouds;
[0048] According to the first steep hill point cloud, fitting the first curve by using a preset curve fitting model and a least square method and obtaining a curve point cloud set corresponding to the first curve;
[0049] Traversing the curve point cloud set, obtaining a point cloud set within a certain range near each curve point cloud, and calculating a vector between a current curve point cloud and a next curve point cloud according to the point cloud set;
[0050] Dividing the curve point cloud set into a left curve point cloud set and a right curve point cloud set according to the vector, and calculating a first average height value corresponding to the left curve point cloud set and a second average height value corresponding to the right curve point cloud set;
[0051] A height difference between the first average height value and the second average height value is calculated to adjust the direction of the first curve according to the height difference.
[0052] The present invention improves the efficiency and accuracy of curve fitting by fitting the curve through the least squares method. Furthermore, the height difference method of adjacent points of curve segmentation is used to calculate the height difference on both sides of the curve. At the same time, the direction of the curve is adjusted in combination with the principle of left low and right high in the drawing rules to ensure the accuracy of the curve direction and meet the requirements of the drawing rules, thereby improving the accuracy of recognition.
[0053] On the other hand, the present invention discloses a steep slope line recognition system based on point cloud data, including a point cloud acquisition module, a point cloud screening module, a slope calculation module, a steep slope screening module, a point cloud clustering module, a curve fitting module and a curve simplification module;
[0054] The point cloud acquisition module is used to obtain a plurality of first point clouds corresponding to the geographic area to be identified, and sort the plurality of first point clouds according to the coordinates of each of the first point clouds;
[0055] The point cloud screening module is used to calculate the height difference between each of the sorted first point clouds and adjacent point clouds, and screen out a plurality of second point clouds from a plurality of the first point clouds according to the height difference;
[0056] The slope calculation module is used to rasterize a plurality of the second point clouds, so as to construct a ground reference surface according to the second point clouds in each grid formed after rasterization, and calculate the terrain slope value corresponding to each second point cloud based on the ground reference surface;
[0057] The steep slope screening module is used to screen out a plurality of steep slope point clouds from a plurality of second point clouds according to the terrain slope value;
[0058] The point cloud clustering module is used to cluster a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters;
[0059] The curve fitting module is used to fit a first curve according to a plurality of the steep point cloud clusters, and calculate a height difference within a certain range on both sides of the first curve, so as to adjust the direction of the first curve according to the height difference to obtain a second curve;
[0060] The curve simplification module is used to simplify the second curve to obtain the steep slope corresponding to the geographic area to be identified.
[0061] The present invention discloses a steep slope line recognition system based on point cloud data. In this system, steep slope lines are recognized by acquiring point cloud data corresponding to a geographic area to be recognized, so as to accurately fit the real terrain according to the detailed three-dimensional information of the point cloud data, thereby improving the accuracy of the recognition. After the first point cloud data is acquired, the first point cloud data is sorted, and steep slope point clouds for steep slope line recognition are screened from the first point cloud according to the height difference between adjacent point clouds and the terrain slope value, and the accuracy of steep slope line recognition can be improved by integrating the height difference and the angle.
[0062] Furthermore, after the steep slope point cloud is identified, the steep slope point cloud is automatically clustered by adding horizontal distance and elevation value as constraint conditions, so that the position of the steep slope line can be quickly and accurately identified. The curve shape is automatically adjusted by the curve segmentation adjacent point height difference method, which can accurately fit the real terrain and improve the efficiency and accuracy of steep slope line identification.
[0063] As a preferred example, the point cloud acquisition module includes a filtering unit, an extraction unit and a sorting unit;
[0064] The filtering unit is used to filter the point cloud data of the to-be-identified geographical area obtained after scanning by using morphological filtering to obtain a plurality of initial point clouds corresponding to the to-be-identified geographical area;
[0065] The extraction unit is used to perform rough extraction on a plurality of the initial point clouds by using a point density constraint method within a three-dimensional neighborhood to obtain a plurality of the first point clouds;
[0066] The sorting unit is used to perform coordinate system conversion on each of the first point clouds, converting each of the first point clouds into an initial second point cloud in a local coordinate system consistent with the section direction of the geographic area to be identified; and sorting a plurality of the initial second point clouds according to the horizontal coordinate of each of the initial second point clouds.
[0067] The present invention filters the point cloud data obtained by the initial scan, removes noise in the point cloud data, improves the accuracy of the data, and then performs a coordinate system conversion on the first point cloud, converting it into a local coordinate system with a consistent section direction of the geographic area to be identified, so as to facilitate sorting the point cloud according to the coordinate conversion, that is, integrating the point cloud data according to the geographic location, and performing a preliminary screening of the first point cloud according to the height difference between the point clouds, thereby improving the accuracy and efficiency of steep slope line identification. BRIEF DESCRIPTION OF THE DRAWINGS
[0068] Figure 1 : A schematic diagram of a flow chart of a steep slope line recognition method based on point cloud data disclosed in an embodiment of the present invention;
[0069] Figure 2 : A schematic diagram of the structure of a steep slope line recognition system based on point cloud data disclosed in an embodiment of the present invention;
[0070] Figure 3 : A schematic flow chart of a steep slope line recognition method based on point cloud data disclosed in another embodiment of the present invention;
[0071] Figure 4 : A schematic diagram of the principle of left-right segmentation of a point cloud disclosed in another embodiment of the present invention. DETAILED DESCRIPTION
[0072] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of 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.
[0073] Embodiment 1
[0074] This embodiment discloses a steep slope line recognition method based on point cloud data. For the specific implementation process of the recognition method, please refer to Figure 1 , mainly including steps 101 to 107, wherein the steps are mainly:
[0075] Step 101: Acquire a plurality of first point clouds corresponding to the geographic area to be identified, and sort the plurality of first point clouds according to the coordinates of each of the first point clouds.
[0076] In this embodiment, this step mainly includes: using morphological filtering to filter the point cloud data of the geographic area to be identified after scanning, so as to obtain a number of initial point clouds corresponding to the geographic area to be identified; performing coarse extraction on a number of the initial point clouds through a point density constraint method within a three-dimensional neighborhood, so as to obtain a number of the first point clouds; performing coordinate system conversion on each of the first point clouds, so as to convert each of the first point clouds into an initial second point cloud in a local coordinate system consistent with the section direction of the geographic area to be identified; and sorting the several initial second point clouds according to the horizontal coordinate of each of the initial second point clouds.
[0077] In this embodiment, this step filters the point cloud data obtained from the initial scan to remove noise in the point cloud data and improve the accuracy of the data. Then, the first point cloud is converted into a coordinate system to convert it into a local coordinate system with a consistent section direction of the geographic area to be identified, so as to facilitate sorting of the point cloud according to the coordinate conversion, that is, integrating the point cloud data according to the geographic location, and preliminarily screening the first point cloud according to the height difference between the point clouds, so as to improve the accuracy and efficiency of steep slope line identification.
[0078] Step 102: Calculate the height difference between each of the sorted first point clouds and the adjacent point clouds, and select a plurality of second point clouds from the plurality of first point clouds according to the height difference.
[0079] In this embodiment, this step mainly includes: performing interval sampling from the sorted initial second point clouds according to a preset distance interval to obtain a plurality of sampling point clouds; calculating the height difference between two adjacent sampling point clouds according to the longitudinal coordinate of each sampling point cloud, and comparing the height difference with a preset height difference threshold to screen the point clouds according to the comparison result; when the height difference is greater than the height difference threshold, taking the first point cloud corresponding to the current sampling point cloud as the second point cloud.
[0080] In this embodiment, this step is based on the discontinuity of elevation between the steep point and its adjacent point clouds, so the steep point is identified by using height difference to improve the efficiency of identification.
[0081] Step 103: rasterizing a plurality of the second point clouds to construct a ground reference surface according to the second point clouds in each grid formed after rasterization, and calculating a terrain slope value corresponding to each of the second point clouds based on the ground reference surface.
[0082] In this embodiment, this step mainly includes: rasterizing a number of the second point clouds to form a number of grids; traversing the second point clouds in each of the grids to obtain the lowest position point cloud corresponding to each of the grids; and performing TPS interpolation based on the lowest position point cloud to construct the ground reference surface.
[0083] In this embodiment, this step rasterizes the second point cloud so that a ground reference surface is constructed based on the lowest point in the grid, which facilitates the subsequent calculation of the slope of each point cloud based on the ground reference surface, and then further identifies the steep points based on the slope, thereby improving the accuracy of identification.
[0084] Step 104: Filter out a plurality of steep slope point clouds from a plurality of second point clouds according to the terrain slope value.
[0085] In this embodiment, this step mainly includes: calculating the slope angle between two adjacent second point clouds according to the terrain slope value, and comparing the slope angle with a preset angle threshold; when the slope angle is greater than the angle threshold, determining the current corresponding second point cloud as the steep slope point cloud.
[0086] In this embodiment, this step is based on the technical problem that the elevation difference recognition method is limited to local areas and has poor recognition effect on steep points in complex terrain or large areas. Therefore, the slope angle is introduced to further identify steep points and improve the accuracy of the steep point cloud recognition.
[0087] Step 105: clustering a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters.
[0088] In this embodiment, this step mainly includes: randomly selecting multiple point clouds from the multiple steep-bump point clouds as cluster centers to construct multiple initial steep-bump point cloud clusters; traversing the multiple steep-bump point clouds, respectively calculating the horizontal distance between each of the steep-bump point clouds and each of the cluster centers, and assigning each of the steep-bump point clouds to the corresponding initial steep-bump point cloud cluster according to the horizontal distance to obtain multiple first steep-bump point cloud clusters; calculating the mean of each of the first steep-bump point cloud clusters, and updating the cluster centers according to the mean; and repeating the assignment process of the steep-bump point clouds and the update process of the cluster centers according to a preset number of iterations to obtain multiple first steep-bump point cloud clusters.
[0089] Further, all the steep ridge point clouds in each of the first steep ridge point cloud clusters are traversed to calculate the average height value corresponding to each of the first steep ridge point cloud clusters; steep ridge point clouds with height values less than or equal to the average height value are removed from the first steep ridge point cloud clusters to obtain the steep ridge point cloud clusters.
[0090] In this embodiment, the step first clusters the point clouds based on the horizontal distance between the point clouds, so as to quickly identify the position of the steep slope line, so as to facilitate the subsequent curve fitting. Then, the abnormal point cloud is removed from the cluster by using the interval between the cluster elevation and the point cloud elevation, so as to reduce the amount of data for the subsequent steep slope line fitting and improve the efficiency of steep slope line identification.
[0091] Step 106: Fitting a first curve according to the plurality of steep point cloud clusters, and calculating height differences within a certain range on both sides of the first curve, so as to adjust the direction of the first curve according to the height differences, and obtain a second curve.
[0092] In this embodiment, this step mainly includes: traversing a plurality of steep-bump point cloud clusters to obtain a plurality of first steep-bump point clouds; fitting the first curve through a preset curve fitting model and a least squares method according to the first steep-bump point cloud and obtaining a curve point cloud set corresponding to the first curve; traversing the curve point cloud set to obtain a point cloud set within a certain range near each curve point cloud, and calculating a vector between a current curve point cloud and a next curve point cloud according to the point cloud set; dividing the curve point cloud set into a left curve point cloud set and a right curve point cloud set according to the vector, and calculating a first average height value corresponding to the left curve point cloud set and a second average height value corresponding to the right curve point cloud set; calculating a height difference between the first average height value and the second average height value to adjust the direction of the first curve according to the height difference.
[0093] In this embodiment, this step fits the curve through the least squares method to improve the efficiency and accuracy of curve fitting. Furthermore, the curve segmentation adjacent point height difference method is used to calculate the height difference on both sides of the curve. At the same time, the direction of the curve is adjusted in combination with the left low and right high principle in the drawing rules to ensure the accuracy of the curve direction and meet the requirements of the drawing rules, thereby improving the accuracy of recognition.
[0094] Step 107: simplify the second curve to obtain a steep slope corresponding to the geographic area to be identified.
[0095] On the other hand, this embodiment also discloses a steep slope line recognition system based on point cloud data. For the specific structure of the system, please refer to Figure 2 , including a point cloud acquisition module 201, a point cloud screening module 202, a slope calculation module 203, a steep slope screening module 204, a point cloud clustering module 205, a curve fitting module 206 and a curve simplification module 207.
[0096] The point cloud acquisition module 201 is used to obtain a plurality of first point clouds corresponding to the geographic area to be identified, and sort the plurality of first point clouds according to the coordinates of each of the first point clouds.
[0097] The point cloud screening module 202 is used to calculate the height difference between each of the sorted first point clouds and the adjacent point clouds, and screen out a plurality of second point clouds from a plurality of the first point clouds according to the height difference.
[0098] The slope calculation module 203 is used to rasterize a plurality of the second point clouds, to construct a ground reference surface according to the second point clouds in each grid formed after rasterization, and to calculate the terrain slope value corresponding to each second point cloud based on the ground reference surface.
[0099] The steep slope screening module 204 is used to screen out a plurality of steep slope point clouds from a plurality of second point clouds according to the terrain slope value.
[0100] The point cloud clustering module 205 is used to cluster a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters.
[0101] The curve fitting module 206 is used to fit a first curve according to the plurality of steep point cloud clusters, and calculate the height difference within a certain range on both sides of the first curve, so as to adjust the direction of the first curve according to the height difference to obtain a second curve.
[0102] The curve simplification module 207 is used to simplify the second curve to obtain the steep slope corresponding to the geographic area to be identified.
[0103] In this embodiment, the point cloud acquisition module 201 includes a filtering unit, an extraction unit and a sorting unit.
[0104] The filtering unit is used to filter the point cloud data of the to-be-identified geographical area obtained after scanning by using morphological filtering to obtain a plurality of initial point clouds corresponding to the to-be-identified geographical area.
[0105] The extraction unit is used to perform rough extraction on a plurality of the initial point clouds by using a point density constraint method within a three-dimensional neighborhood to obtain a plurality of the first point clouds.
[0106] The sorting unit is used to perform coordinate system conversion on each of the first point clouds, converting each of the first point clouds into an initial second point cloud in a local coordinate system consistent with the section direction of the geographic area to be identified; and sorting a plurality of the initial second point clouds according to the horizontal coordinate of each of the initial second point clouds.
[0107] The present embodiment discloses a steep slope line recognition method and system based on point cloud data, which recognizes steep slope lines by acquiring point cloud data corresponding to the geographic area to be recognized, so as to accurately fit the real terrain according to the detailed three-dimensional information of the point cloud data, thereby improving the accuracy of the recognition. After acquiring the first point cloud data, the first point cloud data is sorted, and the steep slope point cloud used for steep slope line recognition is screened from the first point cloud according to the height difference between adjacent point clouds and the terrain slope value, and the accuracy of steep slope line recognition can be improved by integrating the height difference and the angle. Furthermore, after the steep slope point cloud is recognized, the steep slope point cloud is automatically clustered by adding the horizontal distance and elevation value as the constraint condition, so that the position of the steep slope line can be quickly and accurately identified. The curve shape is automatically adjusted by the curve segmentation adjacent point height difference method, so that the real terrain can be accurately fitted, and the efficiency and accuracy of steep slope line recognition can be improved.
[0108] Embodiment 2
[0109] This embodiment further provides a steep slope line recognition method based on point cloud data. In this embodiment, the implementation process of the recognition method can refer to Figure 3 , including steps 301 to 306, wherein the steps are mainly:
[0110] Step 301: Acquire initial point cloud data corresponding to the geographic area to be identified, and pre-process the initial point cloud data to obtain a plurality of first point clouds.
[0111] In this embodiment, the step is specifically as follows: using morphological filtering to filter the point cloud data of the to-be-identified geographical area obtained after scanning, to obtain a number of initial point clouds corresponding to the to-be-identified geographical area; using a point density constraint method within a three-dimensional neighborhood to roughly extract a number of the initial point clouds, to obtain a number of the first point clouds.
[0112] Optionally, due to the incompleteness of the three-dimensional target data and the possible overlap, occlusion and similarity between targets, the extraction of steep slopes becomes extremely challenging. Therefore, before the steep slope line extraction, the data must be filtered to remove noise. Among them, the point cloud data of the geographical area to be identified obtained after scanning is first filtered using morphological filtering to remove noise points.
[0113] Furthermore, the data is roughly extracted using the point density constraint method in the three-dimensional neighborhood to obtain the rough screening points. The specific steps of the rough extraction are: vertically projecting the denoised data along the z-axis, constructing a kd tree for the projected data, traversing each point in the denoised data, and obtaining the ID array of all points within the two-dimensional distance threshold near the point. If the quotient of the number of all points in the neighborhood and the search area (i.e., density) is greater than a certain threshold, the point is considered to be a key point and saved, otherwise the point is skipped and the above process is continued until all points are processed.
[0114] Step 302: Calculate the height difference and the angle between each of the first point clouds and its adjacent point clouds, so as to identify a plurality of slope point clouds from a plurality of the first point clouds according to the height difference and the angle.
[0115] In this embodiment, the step is specifically as follows: calculating the height difference between each of the sorted first point clouds and the adjacent point clouds, and selecting a plurality of second point clouds from the plurality of first point clouds according to the height difference; rasterizing the plurality of second point clouds to construct a ground reference surface according to the second point clouds in each grid formed after rasterization, and calculating the terrain slope value corresponding to each of the second point clouds based on the ground reference surface; selecting a plurality of steep point clouds from the plurality of second point clouds according to the terrain slope value.
[0116] Optionally, the point cloud obtained after rough screening is first transformed into a point in a local coordinate system consistent with the section direction, and the transformed point coordinates are sorted from small to large according to the X value, and the sorted points are sampled at a certain distance interval; the height difference between each adjacent sampling point is calculated, and if the height difference is greater than the height difference threshold, it is judged as a candidate point for a steep step point, otherwise, if there is no sudden change in elevation between the point to be judged and its neighboring points, there is no steep step.
[0117] Furthermore, the elevation difference method is often limited to local areas, and the recognition effect of steep points in complex terrain or large areas is poor. For this reason, steep points are further identified based on the slope angle. Specifically, the steep candidate point cloud is first rasterized, and the points in each grid are traversed to find the lowest point of the grid. The lowest point in each grid is used for TPS interpolation to construct a ground reference surface; then, the terrain slope value of each point is calculated based on the constructed ground reference surface; finally, the slope angle between each point to be classified and its neighboring points is calculated. If the slope angle is greater than the angle threshold, it is judged as a steep point, otherwise, it is a non-steep point.
[0118] In the process of constructing the bottom reference surface using the TPS interpolation, the calculation formula of the TPS interpolation is:
[0119]
[0120] in,
[0121] In the above formula, F(x i ,y i ) is the estimated elevation of the point to be classified (xi, yi); k is the number of adjacent ground seed points of the interpolation point (xi, yi); rij is the distance between the point to be classified (xi, yi) and the jth ground point; α i , b are weight coefficients, which can be obtained by solving the linear equations:
[0122]
[0123] Where Fi is the i-th measurement value and b is the coefficient of the polynomial.
[0124] Furthermore, the calculation formula of the terrain slope value is:
[0125]
[0126] In the above formula, F is a function between X, Y and Z, and Z = (X, Y).
[0127] Step 303: clustering the plurality of slope point clouds using elevation and horizontal distance as constraint conditions to generate a plurality of steep slope point cloud clusters.
[0128] In this embodiment, this step specifically includes: clustering a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters.
[0129] Optionally, randomly select K data points as the initial cluster centers (cluster centers); traverse all the humps identified in the previous step, and for each data point, calculate its horizontal distance to each cluster center, and assign the data point to the cluster with the closest distance; for each cluster, calculate the mean of all data points in the cluster, and use the mean as the new cluster center; repeat the above steps until the stopping condition is met (such as reaching the maximum number of iterations or the change of the cluster center is less than a threshold), and finally obtain K clusters, each data point is assigned to one of the clusters to form the final clustering result.
[0130] Since the ridge point basically needs to retain the upper edge position of the steep step, it is necessary to use the elevation to screen the points in each cluster. Specifically, traverse the points in each clustered cluster, calculate the average height of each cluster, and only retain the points in each cluster whose height is greater than the mean, that is, the final ridge point.
[0131] Step 304: fitting a corresponding first curve according to the plurality of steep point cloud clusters by using the least squares method.
[0132] In this embodiment, this step specifically includes: traversing a plurality of the steep-bump point cloud clusters to obtain a plurality of first steep-bump point clouds; and fitting the first curve through a preset curve fitting model and a least squares method according to the first steep-bump point clouds to obtain a curve point cloud set corresponding to the first curve.
[0133] Optionally, if the clustered point clusters cannot effectively form a curve, the least square method is a commonly used mathematical optimization method that can be used to fit the curve to find a function model that best fits the data points.
[0134] First, define the error between the fitted curve and the actual data points. Usually, the residual sum of squares is used as the error function, that is, the square of the difference between the actual value of each data point and the fitted value is summed, expressed as E(θ) = Σ(yi-f(xi;θ))2; then, the least squares method is used to solve the optimal model parameter θ by minimizing the error function. That is, find the parameter value that minimizes the error function, that is, min E(θ), and differentiate the error function, setting the derivative to zero, that is, The optimal parameter value θ is solved; using the obtained optimal parameter value θ, the model y=f(x; θ) is brought into the fitting curve to obtain the point set of the final fitting curve.
[0135] Step 305: Use the curve segmentation adjacent point height difference method to adjust the direction of the first curve and construct a second curve.
[0136] In this embodiment, the step is specifically as follows: traversing the curve point cloud set, obtaining a point cloud set within a certain range near each curve point cloud, and calculating a vector between the current curve point cloud and the next curve point cloud according to the point cloud set; dividing the curve point cloud set into a left curve point cloud set and a right curve point cloud set according to the vector, and calculating a first average height value corresponding to the left curve point cloud set and a second average height value corresponding to the right curve point cloud set; calculating a height difference between the first average height value and the second average height value, so as to adjust the direction of the first curve according to the height difference
[0137] Optionally, the height difference between the two sides of the curve can be calculated by using the curve segmentation adjacent point height difference method, and the direction of the curve can be adjusted by combining the left low and right high principle in the drawing rules.
[0138] First, traverse the previously fitted curve point set, obtain the point set at a certain distance near each node, calculate the vector between the current point and the next point, traverse all nearby points, determine whether the point is on the left or right side of the vector, and finally split it into left and right parts. Specifically, the segmentation of the point cloud can refer to Figure 4 ,like Figure 4 As shown, taking the node P0 as an example, its corresponding nearby points are P1 and P2. Figure 4Based on the vectors formed by P0, P1 and P2, the P0 node can be classified as left or right. The average height values of the point sets on both sides are calculated to see whether the height difference on both sides of the curve conforms to the principle of left low and right high. If so, there is no need to adjust the current curve direction. If not, the direction of the curve needs to be adjusted in the opposite direction.
[0139] This method can effectively use the technical means of curve segmentation and height difference analysis to automatically adjust the direction of the fitted curve to ensure the accuracy of the curve direction and meet the requirements of drawing rules.
[0140] Step 306: Simplify the second curve by using the Douglas-Peucker method to obtain a steep slope line.
[0141] In this embodiment, the step is specifically: optimizing the fitting result by using the Peucker algorithm. The Douglas-Peucker algorithm is an algorithm for curve thinning (curve simplification), which can approximate a complex curve with a smaller number of points while keeping the shape characteristics of the original curve as much as possible.
[0142] First, the curve to be thinned is represented as a list of points, where each point includes its position coordinates on the curve; then, the starting point and the end point are selected as the basic points for thinning. For each intermediate point, the distance between it and the starting point and the end point is calculated, and the point with the largest distance and its position are found. The vertical distance from the point with the largest distance to the straight line segment is compared with the preset threshold. If the vertical distance is less than the threshold, it is considered that all points on the straight line segment can be ignored; otherwise, the point is selected as a key point. If a key point exists, the original curve is divided into two parts: from the starting point to the key point and from the key point to the end point. The two parts of the curve are recursively processed separately, and the above steps are repeated until all curve segments meet the conditions or cannot be split any further. Finally, a set of key points are obtained, which can represent the simplified curve.
[0143] The present embodiment discloses a steep slope line recognition method based on point cloud data, which accurately recognizes steep slope points by integrating height difference and angle, and then automatically clusters steep slope points by adding constraints; the position of the steep slope line can be quickly and accurately identified, and the curve shape can be automatically adjusted by the curve segmentation method of the height difference of adjacent points, which can accurately fit the real terrain, obtain landform information in real time and display it visually, so that relevant personnel can intuitively understand the terrain conditions and make corresponding decisions and plans. Compared with traditional manual measurement methods, automatic recognition can greatly improve recognition efficiency and accuracy.
[0144] The specific embodiments described above further illustrate the purpose, technical solutions and beneficial effects of the present invention. It should be understood that the above description is only a specific embodiment of the present invention and is not intended to limit the scope of protection of the present invention. It is particularly pointed out that for those skilled in the art, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention should be included in the scope of protection of the present invention.
Claims
1. A steep slope line recognition method based on point cloud data, characterized in that: include: Acquire a plurality of first point clouds corresponding to the geographic area to be identified, and sort the plurality of first point clouds according to the coordinates of each of the first point clouds; Calculating a height difference between each of the sorted first point clouds and an adjacent point cloud, and selecting a plurality of second point clouds from the plurality of first point clouds according to the height difference; rasterizing a plurality of the second point clouds to construct a ground reference surface according to the second point clouds in each grid formed after the rasterization, and calculating a terrain slope value corresponding to each of the second point clouds based on the ground reference surface; Filtering a plurality of steep slope point clouds from a plurality of the second point clouds according to the terrain slope value; Clustering a plurality of the steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each of the steep ridge point clouds to obtain a plurality of steep ridge point cloud clusters; Fitting a first curve according to a plurality of the steep-bump point cloud clusters, and calculating the height difference of the point clouds on both sides of a certain range of the first curve, so as to adjust the direction of the first curve according to the height difference, and obtain a second curve; wherein, traversing a plurality of the steep-bump point cloud clusters, obtaining a plurality of first steep-bump point clouds; fitting the first curve according to the first steep-bump point cloud by a preset curve fitting model and a least square method, and obtaining a curve point cloud set corresponding to the first curve; traversing the curve point cloud set, obtaining a point cloud set within a certain range near each curve point cloud, and calculating a vector between a current curve point cloud and a next curve point cloud according to the point cloud set; dividing the curve point cloud set into a left curve point cloud set and a right curve point cloud set according to the vector, and calculating a first average height value corresponding to the left curve point cloud set and a second average height value corresponding to the right curve point cloud set; calculating the height difference between the first average height value and the second average height value, so as to adjust the direction of the first curve according to the height difference; The second curve is simplified to obtain a steep slope corresponding to the geographic area to be identified.
2. The steep slope line recognition method based on point cloud data according to claim 1, characterized in that: The obtaining of a plurality of first point clouds corresponding to the to-be-identified geographic area and sorting the plurality of first point clouds according to the coordinates of each of the first point clouds includes: Using morphological filtering to filter the point cloud data of the to-be-identified geographical area obtained after scanning, to obtain a plurality of initial point clouds corresponding to the to-be-identified geographical area; Performing rough extraction on a plurality of the initial point clouds by using a point density constraint method within a three-dimensional neighborhood to obtain a plurality of the first point clouds; Performing coordinate system conversion on each of the first point clouds, converting each of the first point clouds into an initial second point cloud in a local coordinate system consistent with the tangent direction of the geographic area to be identified; The plurality of initial second point clouds are sorted according to the horizontal coordinate of each of the initial second point clouds.
3. The steep slope line recognition method based on point cloud data according to claim 2 is characterized in that: The calculating of the height difference between each of the first point clouds and the adjacent point clouds after sorting, and selecting a plurality of second point clouds from the plurality of first point clouds according to the height difference, comprises: Performing interval sampling from the sorted plurality of the initial second point clouds according to a preset distance interval to obtain a plurality of sampling point clouds; Calculating a height difference between two adjacent sampling point clouds according to the ordinate of each sampling point cloud, and comparing the height difference with a preset height difference threshold, so as to screen the point clouds according to the comparison result; When the height difference value is greater than the height difference threshold, the first point cloud corresponding to the current sampling point cloud is used as the second point cloud.
4. The steep slope line recognition method based on point cloud data according to claim 1, characterized in that: The rasterizing of the plurality of second point clouds to construct a ground reference surface according to the second point cloud in each grid formed after the rasterization includes: rasterizing the plurality of second point clouds to form a plurality of grids; Traversing the second point cloud in each of the grids to obtain the lowest position point cloud corresponding to each of the grids; The ground reference surface is constructed by performing TPS interpolation according to the lowest position point cloud.
5. The steep slope line recognition method based on point cloud data according to claim 1, characterized in that: The step of selecting a plurality of steep slope point clouds from a plurality of the second point clouds according to the terrain slope value comprises: Calculating the slope angle between two adjacent second point clouds according to the terrain slope value, and comparing the slope angle with a preset angle threshold; When the slope angle is greater than the angle threshold, the currently corresponding second point cloud is determined as the steep slope point cloud.
6. The steep slope line recognition method based on point cloud data according to claim 1, characterized in that: The step of clustering a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters includes: Randomly selecting a plurality of point clouds from the plurality of steep-hill point clouds as cluster centers to construct a plurality of initial steep-hill point cloud clusters; Traversing a plurality of the steep ridge point clouds, respectively calculating the horizontal distance between each of the steep ridge point clouds and each of the cluster centers, and assigning each of the steep ridge point clouds to a corresponding initial steep ridge point cloud cluster according to the horizontal distance, to obtain a plurality of first steep ridge point cloud clusters; Calculating the mean of each of the first steep hill point cloud clusters, and updating the cluster center according to the mean; According to a preset number of iterations, the process of allocating the steep ridge point cloud and the process of updating the cluster center are repeatedly executed to obtain a plurality of first steep ridge point cloud clusters.
7. The steep slope line recognition method based on point cloud data according to claim 6, characterized in that: The step of clustering a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters includes: Traversing all the steep ridge point clouds in each of the first steep ridge point cloud clusters to calculate an average height value corresponding to each of the first steep ridge point cloud clusters; The steep ridge point cloud cluster is obtained by removing steep ridge point clouds whose height values are less than or equal to the average height value from the first steep ridge point cloud cluster.
8. A steep slope line recognition system based on point cloud data, characterized in that: It includes point cloud acquisition module, point cloud screening module, slope calculation module, steep slope screening module, point cloud clustering module, curve fitting module and curve simplification module; The point cloud acquisition module is used to obtain a plurality of first point clouds corresponding to the geographic area to be identified, and sort the plurality of first point clouds according to the coordinates of each of the first point clouds; The point cloud screening module is used to calculate the height difference between each of the sorted first point clouds and adjacent point clouds, and screen out a plurality of second point clouds from a plurality of the first point clouds according to the height difference; The slope calculation module is used to rasterize a plurality of the second point clouds, so as to construct a ground reference surface according to the second point clouds in each grid formed after rasterization, and calculate the terrain slope value corresponding to each second point cloud based on the ground reference surface; The steep slope screening module is used to screen out a plurality of steep slope point clouds from a plurality of second point clouds according to the terrain slope value; The point cloud clustering module is used to cluster a plurality of steep ridge point clouds according to the horizontal distance between the point clouds and the elevation value of each steep ridge point cloud to obtain a plurality of steep ridge point cloud clusters; The curve fitting module is used to fit a first curve according to a plurality of the steep step point cloud clusters, and calculate the height difference of the point clouds on both sides of a certain range of the first curve, so as to adjust the direction of the first curve according to the height difference to obtain a second curve; wherein, the plurality of the steep step point cloud clusters are traversed to obtain a plurality of first steep step point clouds; according to the first steep step point cloud, the first curve is fitted by a preset curve fitting model and a least square method and a curve point cloud set corresponding to the first curve is obtained; the curve point cloud set is traversed to obtain a point cloud set within a certain range near each curve point cloud, and a vector between a current curve point cloud and a next curve point cloud is calculated according to the point cloud set; the curve point cloud set is divided into a left curve point cloud set and a right curve point cloud set according to the vector, and a first average height value corresponding to the left curve point cloud set and a second average height value corresponding to the right curve point cloud set are calculated; the height difference between the first average height value and the second average height value is calculated to adjust the direction of the first curve according to the height difference; The curve simplification module is used to simplify the second curve to obtain the steep slope corresponding to the geographic area to be identified.
9. The steep slope line recognition system based on point cloud data according to claim 8, characterized in that: The point cloud acquisition module includes a filtering unit, an extraction unit and a sorting unit; The filtering unit is used to filter the point cloud data of the to-be-identified geographical area obtained after scanning by using morphological filtering to obtain a plurality of initial point clouds corresponding to the to-be-identified geographical area; The extraction unit is used to perform rough extraction on a plurality of the initial point clouds by using a point density constraint method within a three-dimensional neighborhood to obtain a plurality of the first point clouds; The sorting unit is used to perform coordinate system conversion on each of the first point clouds, converting each of the first point clouds into an initial second point cloud in a local coordinate system consistent with the section direction of the geographic area to be identified; and sorting a plurality of the initial second point clouds according to the horizontal coordinate of each of the initial second point clouds.
Citation Information
Patent Citations
Terrain steep ridge line information fusion method for regular grid DEM construction
CN110544305A
Terrain surveying and mapping method based on laser radar
CN117949920A