A method and system for removing linear noise clusters in airborne LiDAR scanning.

By combining pass-through filtering, statistical outlier removal, and two-dimensional density filtering with the RANSAC algorithm and Euclidean clustering, we can identify and remove scan line noise clusters in airborne LiDAR point clouds. This solves the problem of incomplete noise cluster removal in traditional methods and achieves efficient removal of noise points and clusters.

CN117132481BActive Publication Date: 2025-10-31WUHAN FEIYAN AVIATION REMOTE SENSING TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310701386.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-14
Publication Date
2025-10-31
Estimated Expiration
2043-06-14

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively remove scan line noise clusters from airborne LiDAR point clouds, especially noise clusters that cross the ground. Traditional methods either misclassify ground points as noise or fail to effectively remove continuously distributed noise clusters.

Method used

The algorithm employs steps such as pass-through filtering, statistical outlier removal filtering, two-dimensional density filtering, and noise scanning surface extraction. Combined with the RANSAC algorithm and Euclidean clustering, it identifies and removes points and clusters on the noise scanning surface, and finally classifies them by constructing a set of noise points.

Benefits of technology

It can effectively remove large, continuously distributed scanning linear noise clusters caused by tiny particles in the atmosphere. It is suitable for noise clusters suspended in the air and underground, and does not require pre-classification of point clouds, thus avoiding misclassification of low-density points such as tree points as noise points. The noise reduction effect is significant.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117132481B_ABST
    Figure CN117132481B_ABST
Patent Text Reader

Abstract

This invention discloses a method for removing linear noise clusters in airborne LiDAR scanning, comprising: S1, reading point cloud data to form a set S all S2. Perform a pass-through filter on the original point cloud using elevation coordinates to obtain set S. badz S3, for S all Statistical outlier removal filtering is performed on the points within the range to obtain the outlier set S. outlier S4, for S outlier Two-dimensional density filtering is performed on the points within the range to form a candidate noise point set S. cand S5, from S cand Extract the noise scanning surface set S plane S6, Find S cand The points that fall on the noise scanning surface constitute the noise scanning surface point set S. planepoint S7, from S planepoint Extract large noise clusters and add them to the large noise cluster point set S. bignoise S8. Determine the set of classified points and the set of points to be classified, and perform nearest neighbor classification on the set of points to be classified to obtain the final set of noise points. This method can effectively remove large, continuously distributed scan line noise clusters from airborne LiDAR point clouds, especially noise clusters that cross the ground.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of aerial surveying and mapping, and in particular relates to a method and system for denoising scan line noise clusters in airborne lidar point clouds. Background Technology

[0002] The near-Earth atmosphere contains a large number of tiny particles, such as smoke, dust, water droplets, and aerosols. Airborne lidar (LiDAR) used for land topographic mapping operates in the near-infrared band, close to the diameter of some particles (typical examples being some PM2.5 particles and tiny raindrops). Besides being partially absorbed by particles (for example, under high humidity conditions such as fog, tiny water droplets exhibit significant absorption of laser pulses), the laser pulses emitted by airborne LiDAR also undergo Mie scattering at tiny particles with diameters comparable to their wavelength. Figure 1 As shown, in Figure 1 In the diagram, hollow circles represent tiny particles, gray filled circles represent tiny particles detected by the laser pulse, and black dots represent tiny particles that undergo backscattering. "→" indicates the emitted pulse, and "→" indicates the scattered pulse. Although most of the scattered pulse energy continues to propagate forward, a small portion may still be backscattered to the laser receiver. If the pulse energy received by the receiver is strong enough, LiDAR considers it a valid pulse. Because tiny particles are unevenly distributed in the atmosphere, LiDAR will receive more echo pulses in a short period at areas with higher concentrations. Therefore, these received pulses are difficult for LiDAR to classify as noise pulses and exclude.

[0003] Currently, airborne LiDAR widely employs multi-pulse technology, requiring the received pulse to be correlated with a specific emitted pulse to determine the distance from the laser to the scattering surface. However, for received pulses generated by scattering from tiny particles, it is difficult to correlate them with the correct emitted pulse because the distance calculated from the accurate emitted pulse is less than the pre-defined distance range between the aircraft and normal ground features during flight path planning. Therefore, LiDAR may incorrectly correlate received pulses scattered by tiny particles with an earlier emitted pulse than the correct one to obtain a distance that roughly falls within the pre-defined range. This results in the appearance of arc-shaped noise, such as... Figure 2 As shown. Figure 2 In the diagram, the hollow circle on the ground represents a non-noise ground point. Point A0 represents the position of a tiny particle obtained from an accurate transmitted pulse. Point A1 represents the position of a tiny particle obtained by shifting the transmitted pulse forward by one cycle. Point A2 represents the position of a tiny particle obtained by shifting the transmitted pulse forward by two cycles. Point A3 represents the position of a tiny particle obtained by shifting the transmitted pulse forward by three cycles. Point A4 represents the position of a tiny particle obtained by shifting the transmitted pulse forward by four cycles. Point A5 represents the position of a tiny particle obtained by shifting the transmitted pulse forward by five cycles.

[0004] Doing so may result in large, continuously distributed clusters of scan line noise, such as Figure 3 As shown, Figure 3 The black ellipse in the image represents noise points. The echo intensity of these noise clusters is generally very weak, and their point density is typically lower than that of normal ground features. They can be located at high altitudes, underground, or even at elevations close to the ground, forming noise clusters that penetrate the ground. For linear LiDAR scanning, a single noise cluster is generally composed of noise points located on the plane containing one or more scan lines (referred to as the scan plane). These scan planes are roughly perpendicular to the ground, and the noise points on a single scan plane are distributed in an approximately arc-shaped pattern.

[0005] This type of noise does not conform to the assumption of discrete and isolated noise in traditional point cloud denoising methods, making it difficult to remove using methods such as radius outlier removal, statistical outlier removal (SOR), point cloud denoising based on triangular mesh smoothing rules (see reference 1: Han Wenjun, Zuo Zhiquan. LiDAR point cloud noise removal algorithm based on triangular mesh smoothing rules [J]. Surveying and Mapping Science, 2012, 37(6): 153-154, 132), and noise detection based on local neighbor fitting (see reference 2: Sun Zhongzhen. Research on snow line extraction of glaciers in the Qinghai-Tibet Plateau based on airborne LiDAR [D]. Chongqing Jiaotong University, 2019). Manual denoising is time-consuming, laborious, and cannot guarantee accuracy. The denoising algorithm for adaptive moving boxes proposed by Li Lian et al. (see Reference 3: Li Lian. Research on Airborne LiDAR Point Cloud Filtering and Classification Algorithm [D]. Chengdu University of Technology, 2014; Reference 4: Li Lian, Wang Lei, Liu Gang, et al. Airborne LiDAR Point Cloud Denoising Algorithm for Adaptive Moving Box [J]. Science of Surveying and Mapping, 2016, 41(4): 144-147.) cannot be applied to noise clusters passing through the ground. The point cloud noise removal algorithm for three-dimensional finite element analysis proposed by Zuo Zhiquan et al. (see Reference 5: Zuo Zhiquan, Zhang Zuxun, Zhang Jianqing. LiDAR Point Cloud Noise Removal Algorithm Based on Three-Dimensional Finite Element Analysis [J]. Journal of Remote Sensing, 2012, 16(2): 297-309.) easily classifies low-density areas such as tree points and water surface points as noise. Ni Yuan et al. (Reference 6: Ni Yuan, Yang Hong, Yi Juping, et al. Research on point cloud denoising based on airborne lidar based on Terrasolid [J]. Surveying and Mapping Spatial Geographic Information, 2021, 44(1): 204-206, 209) used commercial software to extract coarse surface points to construct a reference surface, and regarded points above or below the reference surface at a certain height as noise points. This method requires that surface points must be roughly extracted first, but the existence of noise clusters may seriously limit the extraction effect of this method on surface points. In addition, this method is not effective for noise points near the ground surface. Summary of the Invention

[0006] Purpose of the invention: To address the problems existing in the prior art, the present invention provides a method for removing linear noise clusters in airborne LiDAR scanning. This method can effectively remove linear noise clusters with a large number of points and continuous distribution in airborne LiDAR point clouds, especially noise clusters that pass through the ground.

[0007] Technical solution: This invention discloses a method for removing linear noise clusters in airborne LiDAR scanning, comprising:

[0008] S1. Read point cloud data, assuming the original point cloud consists of a set S. all ;

[0009] S2. Perform a pass-through filter on the original point cloud using elevation coordinates, ensuring that the elevation Z satisfies: Z < Z low Or Z > Z high The set S is composed of points badZ Z low Z is the lower bound of the pass-through filter. high This is the upper limit of the pass-through filter;

[0010] S3, against S all Statistical outlier removal filtering is performed on the points within the range to obtain the outlier set S. outlier ;

[0011] S4, for the set of outliers S outlier Two-dimensional density filtering is performed on the points within the plane to extract outliers with high planar density, and then compared with S. badZ The candidate noise point set S is formed by merging the noise points. cand ;

[0012] S5, from the candidate noise point set S cand Extract the noise scanning surface set S plane ;

[0013] S6, Find S cand The points that fall on the noise scanning surface constitute the noise scanning surface point set S. planepoint ;

[0014] S7, from the noise scan surface point set S planepoint Extract large noise clusters and add them to the large noise cluster point set S. bignoise ;

[0015] S8. Determine the set of classified points S class and the set of points to be classified S unclass The set of classification points S unclass Perform nearest neighbor classification to obtain the final set of noise points.

[0016] Furthermore, the lower bound Z of the pass-through filter low and the upper bound Z of the pass-through filter highDetermine as follows:

[0017] Method 1:

[0018] The lower bound Z of the through filter low The minimum elevation of the survey area, the upper limit of the direct-pass filter Z high This represents the maximum elevation of the survey area.

[0019] Method 2:

[0020] The lower bound Z of the through filter low The value can be: The upper bound of the through filter Z high The value can be: in and σ Z S all Mean and standard deviation of interior point cloud elevation, u low and u high These are the lower bound offset coefficient and the upper bound offset coefficient of the through-pass filter, respectively, both of which are positive real numbers.

[0021] Furthermore, step S3 specifically includes:

[0022] S31. Construct the set of outliers S outlier Construct a temporary point cloud set S tmp S tmp =S all ; Traverse S tmp For points within the range, perform removal filtering according to steps S32-S34;

[0023] S32. Let the current point be p, in S tmp Search for the K-neighbors of point p and calculate the average d of the three-dimensional Euclidean distances between point p and its K-neighbors. sor (p K );

[0024] S33, Calculate S tmp The average of the three-dimensional Euclidean distances from all points within a given point to their K-neighborhood. and standard deviation σ sor ;

[0025] S34. If point p satisfies Add point p to the outlier set S. outlier ;where u sor This is the outlier offset coefficient, with a value greater than 0.

[0026] Furthermore, after step S34, the method further includes:

[0027] S35, Order S tmp =S all -Soutlier traverse S again tmp For points within the range, perform removal filtering according to steps S32-S34, and update the outlier set S. outlier If S outlier The newly added points account for S outlier If the proportion of total points is lower than the preset threshold, then step S3 ends.

[0028] Furthermore, step S4 specifically includes:

[0029] S41. Establish the candidate noise point set S cand S cand =S badZ Establish the grid point set S grid And initialize it to empty;

[0030] S42, S outlier Points within the grid are rasterized based on their ×Y coordinates, with a grid side length of d. cell Count the number of points n in each grid cell. grid ;

[0031] S43. For a grid with a non-zero number of points, change the corresponding number of points n. grid Add to the grid point set S grid ;

[0032] S44, against S grid Calculate the average of the elements within the range. and standard deviation σ grid ;

[0033] S45, S grid Internal satisfaction The elements constitute the set S′ grid , where u grid >0 indicates the preset point offset coefficient;

[0034] S46. If S′ grid ≠S grid S grid =S′ grid Proceed to steps S44-S45 for iterative calculations until S′ grid and S grid They are the same set;

[0035] S47. Let S′ grid The largest element in is n grid,max , will S outlier The number of pixels after rasterization is greater than n grid,max All outliers within the grid are added to the candidate noise point set S. cand .

[0036] Further, step S5 specifically includes:

[0037] S51, regarding S cand Perform 3D Euclidean clustering on the points within the range, and let the clustering radius be R. euclid The minimum number of clusters is N. min ,

[0038] S52. Traverse all the clusters obtained from the segmentation, and let the current cluster be C. clust The total number of points is n clust The RANSAC algorithm is used to iteratively extract from C clust The steps for extracting candidate scan surfaces include:

[0039] S521, Using the RANSAC algorithm from C clust Extracting the planar model from C each time, from C clust Randomly select three points that are not on the same straight line, calculate the planar model corresponding to these three points, and then set C. clust The vertical distance from the center to the plane is less than or equal to a preset threshold d. thre The points are taken as interior points, the number of interior points is counted, and this process is repeated N times. ransac Second-rate;

[0040] S522, from N ransac From the results of this execution, the planar model P with the most interior points is selected. maxinl Let P maxinl The general equation of the plane is ax + by + cz + d = 0, containing n maxinl There are _n_ interior points, and these interior points form a set S. maxinl ;

[0041] If n maxinl Greater than the preset number of points threshold n mininl Proceed to step S523; otherwise, proceed to the next clustering.

[0042] S523, Calculate P maxinl The angle α between the normal vector and the Z-axis is calculated as follows:

[0043]

[0044] If α satisfies |α-β|≤γ, then P maxinl As a noise scanning surface, P maxinl Add noise scanning surface set S plane , where β is the general angle between the scanning surface normal vector and the Z-axis, and γ is the preset maximum angle deviation;

[0045] S524, from C clust Remove interior point set S from the middle maxinlAt point C, repeat steps S521-S523 until point C is reached. clust The number of remaining points n′ clust Satisfying n′ clust / n clust <ρ or n′ clust ≤3; ρ is the threshold for the proportion of remaining points, 0<ρ≤0.1.

[0046] Furthermore, step S6 specifically includes:

[0047] Traverse S cand Let p be a point within the range. m (x m y m , z m ), p m ∈S cand If the set of noise scanning surfaces S plane Noisy scanning surface P exists in the middle n Satisfy d m,n ≤d thre Then p m Add noise to the scan point set S planepoint middle;

[0048] Among them, the noise scanning surface P n The corresponding general equation of the plane is a n x+b n y+c n z+d n =0,d m,n For point p m To the noise scanning surface P n vertical distance,

[0049] Furthermore, step S7 specifically includes:

[0050] S71, regarding S planepoint Using cluster radius R euclid , minimum number of points N min Perform three-dimensional Euclidean clustering segmentation;

[0051] S72. Traverse each cluster obtained from the segmentation. If the elevation difference ΔZ within a certain cluster is greater than or equal to the threshold ΔZ... min If the cluster is considered to be a large noisy cluster, then all points in the cluster are added to set S. bignoise , where ΔZ=Z max -Z min Z min Z is the minimum elevation of the cluster points. max The maximum elevation of the cluster points.

[0052] Further, step S8 specifically includes:

[0053] S81. Calculate the set of non-noise points S nonoise =S all -S badZ -S outlier Calculate the set S of classified points class =S nonoise ∪S bignoise ∪S badZ Calculate the set S of points to be classified. unclass =S all -S class Establish the noise point set S noise And make S noise =S badZ ∪S bignoise ;

[0054] S82, regarding S class Build an index from points within the index;

[0055] S83, Traverse the set of points to be classified S unclass Let p be a point within the range. unclass Search for S class Inner distance pun class The nearest point p class If p class ∈S bignoise or p class ∈S badZ Then p unclass Add noise point set S noise ;

[0056] The present invention also discloses a system for implementing the above-described method for removing linear noise clusters in airborne LiDAR scanning, comprising:

[0057] Original point cloud acquisition module 1 is used to read point cloud data and form an original point cloud set S. au ;

[0058] Pass-through filtering module 2 is used to perform pass-through filtering on the original point cloud using elevation coordinates, ensuring that the elevation Z satisfies: Z < Z low Or Z > Z high The set S is composed of points badZ Z low Z is the lower bound of the pass-through filter. high This is the upper limit of the pass-through filter;

[0059] Statistical outlier removal filter module 3 is used to filter S au Statistical outlier removal filtering is performed on the points within the range to obtain the outlier set S. outlier ;

[0060] Two-dimensional density filtering module 4 is used to filter the outlier set S.outlier Two-dimensional density filtering is performed on the points within the plane to extract outliers with high planar density, and then compared with S. badZ The candidate noise point set S is formed by merging the noise points. cand ;

[0061] Noise scanning surface set extraction module 5 is used to extract noise points from candidate noise point set S. cand Extract the noise scanning surface set S plane ;

[0062] Noise Scan Point Set Extraction Module 6 is used to find S cand The points that fall on the noise scanning surface constitute the noise scanning surface point set S. planepoint ;

[0063] Large noise cluster extraction module 7 is used to extract noise from the set of noisy scan points S. planepoint Extract large noise clusters and add them to the large noise cluster point set S. bignoise ;

[0064] Classification module 8, which is used to determine the set of classified points S, is used to classify the set of classified points. class and the set of points to be classified S unclass The set of classification points S unclass Perform nearest neighbor classification to obtain the final set of noise points.

[0065] Beneficial Effects: The airborne LiDAR scanning linear noise cluster removal method and system disclosed in this invention are applicable to large, continuously distributed scanning linear noise clusters caused by tiny particles in the atmosphere. Besides noise clusters suspended in the air and underground, it can also be used for noise clusters that intersect in spatial distribution and on the ground. Even if the noise point ratio is higher than 10%, this invention can still be used for noise reduction. With reasonable parameter settings, the vast majority of noise scanning surfaces and noise points can be extracted. The method of this invention does not require pre-classification of the point cloud and has no explicit requirements on noise point density, which can largely avoid misclassifying low-density points such as those under trees, power lines, streetlights, walls, and water surfaces as noise points. Attached Figure Description

[0066] Figure 1 A schematic diagram of emission / scattering at tiny particles in the atmosphere;

[0067] Figure 2 A schematic diagram illustrating the mismatch between the received pulse and the transmitted pulse due to scattering from tiny particles;

[0068] Figure 3 This is a schematic diagram of scan line noise in a real point cloud.

[0069] Figure 4 This is a flowchart of the method for removing linear noise clusters in airborne LiDAR scanning disclosed in this invention;

[0070] Figure 5 This is a schematic diagram of the airborne LiDAR scanning linear noise cluster removal system disclosed in this invention. Detailed Implementation

[0071] The present invention will be further explained below with reference to the accompanying drawings and specific embodiments.

[0072] This invention discloses a method for removing linear noise clusters in airborne LiDAR scanning, such as... Figure 4 As shown, it includes:

[0073] S1. Read point cloud data, assuming the original point cloud consists of a set S. all ;

[0074] S2. Perform a pass-through filter on the original point cloud using elevation coordinates, ensuring that the elevation Z satisfies: Z < Z low Or Z > Z high The set S is composed of points badZ Z low Z is the lower bound of the pass-through filter. high This is the upper limit of the pass-through filter;

[0075] If you have a good understanding of the terrain of the survey area, the lower bound Z of the direct-pass filter is... low and the upper bound Z of the pass-through filter high Determine as follows:

[0076] The lower bound Z of the through filter low The minimum elevation of the survey area, the upper limit of the direct-pass filter Z high This represents the maximum elevation of the survey area.

[0077] If there is a lack of understanding of the topography of the survey area, the lower limit Z of the direct-pass filter should be determined as follows: low and the upper bound Z of the pass-through filter high :

[0078] The lower bound Z of the through filter low The value can be: The upper bound of the through filter Z high The value can be: in and σ Z S all Mean and standard deviation of interior point cloud elevation, u low and u high These are the lower bound offset coefficient and the upper bound offset coefficient of the direct-pass filter, respectively, both of which are positive real numbers. In this embodiment, u low and u high Simply take a value greater than or equal to 3.

[0079] S3, against S allStatistical outlier removal filtering is performed on the points within the range to obtain the outlier set S. outlier Specifically, it includes:

[0080] S31. Construct the set of outliers S outlier Construct a temporary point cloud set S tmp S tmp =S all ; Traverse S tmp For points within the range, perform removal filtering according to steps S32-S34;

[0081] S32. Let the current point be p, in S tmp Search for the K-neighbors of point p and calculate the average d of the three-dimensional Euclidean distances between point p and its K-neighbors. sor (p K );

[0082] The K-neighbors of point p are the K nearest points to p. Using an octree or KD-tree to find the K-neighbors of point p is a mature and readily available technique. In this embodiment, K is greater than or equal to 8, and d... sor (p K The calculation method for ) is:

[0083]

[0084] Where p m Let p be the m-th point in the K-neighborhood of p, where m = 1, 2, ..., K, and |||| is the three-dimensional Euclidean distance between the two points.

[0085] S33, Calculate S tmp The average of the three-dimensional Euclidean distances from all points within a given point to their K-neighborhood. and standard deviation σ sor ;

[0086] In this embodiment, and σ sor The calculation method is as follows:

[0087]

[0088] Where N is S tmp The number of points inside, For S tmp The nth point p n The average three-dimensional Euclidean distance of its K-neighbors, n = 1, 2, ..., N;

[0089] S34. If point p satisfies Add point p to the outlier set S. outlier ;where u sorThis is the outlier offset coefficient, which takes a value greater than 0. In this embodiment, the outlier offset coefficient u... sor The value of is a real number greater than or equal to 2.5. If there are many points within the noise cluster and the point density is high, then u sor It can take values ​​within the range [1.5, 3.0].

[0090] In practice, if a single outlier removal operation is insufficient to obtain all noise points within a noise cluster, the filtering process can be performed multiple times. Step S34 is followed by:

[0091] S35, Order S tmp =S all -S outlier traverse S again tmp For points within the range, perform removal filtering according to steps S32-S34, and update the outlier set S. outlier If S outlier The newly added points account for S outlier If the proportion of total points is lower than a preset threshold, then step S3 ends; in this embodiment, the threshold is set to 10%.

[0092] S4, for the set of outliers S outlier Two-dimensional density filtering is performed on the points within the plane to extract outliers with high planar density, and then compared with S. badZ The candidate noise point set S is formed by merging the noise points. cand Specifically, it includes:

[0093] S41. Establish the candidate noise point set S cand S cand =S badZ Establish the grid point set S grid And initialize it to empty;

[0094] S42, S outlier Points within the grid are rasterized based on their ×Y coordinates, with a grid side length of d. cell Count the number of points n in each grid cell. grid ;

[0095] In specific implementation, d cell A value greater than half the maximum thickness of the noise cluster can be taken;

[0096] S43. For a grid with a non-zero number of points, change the corresponding number of points n. grid Add to the grid point set S grid ;

[0097] S44, against S grid Calculate the average of the elements within the range. and standard deviation σ grid ;

[0098] S45, S grid Internal satisfaction The elements constitute the set S′ grid , where u grid >0 indicates the preset point offset coefficient;

[0099] In practical implementation, if there are not many points under the trees in the survey area, u grid Values ​​greater than or equal to 3 are acceptable; if there are many points under the tree and the points within the noise cluster are relatively dispersed, u grid A value around 2 is acceptable;

[0100] S46. If S′ grid ≠S grid S grid =S′ grid Proceed to steps S44-S45 for iterative calculations until S′ grid and S grid They are the same set;

[0101] S47. Let S′ grid The largest element in is n grid,max , will S outlier The number of pixels after rasterization is greater than n grid,max All outliers within the grid are added to the candidate noise point set S. cand .

[0102] S5, from the candidate noise point set S cand Extract the noise scanning surface set S plane Specifically, it includes:

[0103] S51, regarding S cand Perform 3D Euclidean clustering on the points within the range, and let the clustering radius be R. euclid The minimum number of clusters is N. min ;

[0104] In practical implementation, R euclid The value of N should be the minimum radius that allows noise points in a single noise cluster to be segmented into the same cluster. min A value slightly smaller than the minimum number of points for a medium-sized noise cluster can be selected;

[0105] S52. Traverse all the clusters obtained from the segmentation, and let the current cluster be C. clust The total number of points is n clust The RANSAC algorithm is used to iteratively extract from C clust The steps for extracting candidate scan surfaces include:

[0106] S521, Using the RANSAC algorithm from C clust Extracting the planar model from C each time, from Cclust Randomly select three points that are not on the same straight line, calculate the planar model corresponding to these three points, and then set C. clust The vertical distance from the center to the plane is less than or equal to a preset threshold d. thre The points are taken as interior points, the number of interior points is counted, and this process is repeated N times. ransac Second-rate;

[0107] In specific implementation, d thre A value slightly greater than half the thickness of the noise cluster can be taken, N. ransac Values ​​greater than or equal to 100 are acceptable, but excessively large values ​​will increase execution time, therefore N ransac It doesn't need to be too big;

[0108] S522, from N ransac From the results of this execution, the planar model P with the most interior points is selected. maxinl Let P maxinl The general equation of the plane is ax + by + cz + d = 0, containing n maxinl There are _n_ interior points, and these interior points form a set S. maxinl ;

[0109] If n maxinl Greater than the preset number of points threshold n mininl Proceed to step S523; otherwise, proceed to the next clustering.

[0110] In this embodiment, n mininl The value takes N min / 2;

[0111] S523, Calculate P maxinl The angle α between the normal vector and the Z-axis is calculated as follows:

[0112]

[0113] If α satisfies |α-β|≤γ, then P maxinl As a noise scanning surface, P maxinl Add noise scanning surface set S plane , where β is the general angle between the scanning surface normal vector and the Z-axis, and γ is the preset maximum angle deviation;

[0114] In practice, β and γ can be determined based on the actual situation of the scanning surface in the data. Generally, β is slightly less than 90° and γ is less than 10°.

[0115] S524, from C clust Remove interior point set S from the middle maxinl At point C, repeat steps S521-S523 until point C is reached. clust The number of remaining points n′ clust Satisfying n′clust / n clust <ρ or n′ clust ≤3; ρ is the threshold for the proportion of remaining points, 0<ρ≤0.1. If you want to extract more finely, ρ can be set to a smaller value.

[0116] S6, Find S cand The points that fall on the noise scanning surface constitute the noise scanning surface point set S. planepoint Specifically, it includes:

[0117] Traverse S cand Let p be a point within the range. m (x m y m , z m ), p m ∈S cand If the set of noise scanning surfaces S plane Noisy scanning surface P exists in the middle n Satisfy d m,n ≤d thre Then p m Add noise to the scan point set S planepoint middle;

[0118] Among them, the noise scanning surface P n The corresponding general equation of the plane is a n x+b n y+c n z+d n =0,d m,n For point p m To the noise scanning surface P n vertical distance,

[0119] S7, from the noise scan surface point set S planepoint Extract large noise clusters and add them to the large noise cluster point set S. bignoise Specifically, it includes:

[0120] S71, regarding S planepoint Using cluster radius R euclid , minimum number of points N min Perform three-dimensional Euclidean clustering segmentation;

[0121] S72. Traverse each cluster obtained from the segmentation. If the elevation difference ΔZ within a certain cluster is greater than or equal to the threshold ΔZ... min If the cluster is considered to be a large noisy cluster, then all points in the cluster are added to set S. bignoise , where ΔZ=Z max -Z min Z min Z is the minimum elevation of the cluster points. maxThe maximum elevation of the cluster points.

[0122] In practical implementation, ΔZ min A value slightly smaller than the elevation difference of the largest noise cluster with the smallest elevation difference can be selected;

[0123] S8. Determine the set of classified points S class and the set of points to be classified S unclass The set of classification points S unclass Perform nearest neighbor classification to obtain the final set of noise points, specifically including:

[0124] S81. Calculate the set of non-noise points S nonoise =S all -S badZ -S outlier Calculate the set S of classified points class =S nonoise ∪S bignoise ∪S badZ Calculate the set S of points to be classified. unclass =S all -S class Establish the noise point set S noise And make S noise =S badZ ∪S bignoise ;

[0125] S82, For the set of classified points S class Build an index from points within the index;

[0126] In practice, the index can be a KD-tree index or an octree index;

[0127] 583. Traverse the set S of points to be classified unclass Let p be a point within the range. unclass Search for S class Inner distance p unclass The nearest point p class If p class ∈S bignoise or p class ∈S badz Then p unclass Add noise point set S noise .

[0128] This invention also discloses a system for implementing the above-described method for removing linear noise clusters in airborne LiDAR scanning, such as... Figure 5 As shown, it includes:

[0129] The original point cloud acquisition module 1 is used to read point cloud data according to step S1 and form the original point cloud set S. all ;

[0130] Pass-through filtering module 2 is used to perform pass-through filtering on the original point cloud using elevation coordinates according to step S2, so that the elevation Z satisfies: Z < Z low Or Z > Z high The set S is composed of points badZ Z low Z is the lower bound of the pass-through filter. high This is the upper limit of the pass-through filter;

[0131] Statistical outlier removal filter module 3 is used to filter S according to step S3. all Statistical outlier removal filtering is performed on the points within the range to obtain the outlier set S. outlier ;

[0132] Two-dimensional density filtering module 4 is used to filter the outlier set S according to step S4. outlier Two-dimensional density filtering is performed on the points within the plane to extract outliers with high planar density, and then compared with S. badZ The candidate noise point set S is formed by merging the noise points. cand ;

[0133] Noise scanning surface set extraction module 5 is used to extract noise points from candidate noise point set S according to step S5. cand Extract the noise scanning surface set S plane ;

[0134] Noise Scan Point Set Extraction Module 6 is used to find S according to step S6. cand The points that fall on the noise scanning surface constitute the noise scanning surface point set S. planepoint ;

[0135] Large noise cluster extraction module 7 is used to extract noise scan point set S according to step S7. planepoint Extract large noise clusters and add them to the large noise cluster point set S. bignoise ;

[0136] Classification module 8, which is used to determine the set of classified points S according to step S8. class and the set of points to be classified S unclass The set of classification points S unclass Perform nearest neighbor classification to obtain the final set of noise points.

Claims

1. A method for removing linear noise clusters in airborne LiDAR scanning, characterized in that, include: S1. Read point cloud data, assuming the original point cloud consists of a set S. all ; S2. Perform a pass-through filter on the original point cloud using elevation coordinates, ensuring that the elevation Z satisfies: Z <Z low Or Z > Z high The set S is composed of points badZ Z low Z is the lower bound of the pass-through filter. high This is the upper limit of the pass-through filter; S3, against S all Statistical outlier removal filtering is performed on the points within the range to obtain the outlier set S. outlier ; S4, for the set of outliers S outlier Two-dimensional density filtering is performed on the points within the plane to extract outliers with high planar density, and then compared with S. badZ The candidate noise point set S is formed by merging the noise points. cand ; S5, from the candidate noise point set S cand Extract the noise scanning surface set S plane ; S6, Find S cand The points that fall on the noise scanning surface constitute the noise scanning surface point set S. planepoint ; S7, from the noise scan surface point set S planepoint Extract large noise clusters and add them to the large noise cluster point set S. bignoise ; S8. Determine the set of classified points S class and the set of points to be classified S unclass The set of classification points S unclass Perform nearest neighbor classification to obtain the final set of noise points.

2. The method for removing linear noise clusters in airborne LiDAR scanning according to claim 1, characterized in that, The lower bound Z of the pass-through filter low and the upper bound Z of the pass-through filter high Determine as follows: Method 1: The lower bound Z of the through filter low The minimum elevation of the survey area, the upper limit of the direct-pass filter Z high This represents the maximum elevation of the survey area. Method 2: The lower bound Z of the through filter low The value can be: The upper bound of the through filter Z high The value can be: in and σ Z S all Mean and standard deviation of interior point cloud elevation, u low and u high These are the lower bound offset coefficient and the upper bound offset coefficient of the through-pass filter, respectively, both of which are positive real numbers.

3. The method for removing linear noise clusters in airborne LiDAR scanning according to claim 1, characterized in that, Step S3 specifically includes: S31. Construct the set of outliers S outlier Construct a temporary point cloud set S tmp S tmp =S all ; Traverse S tmp For points within the range, perform removal filtering according to steps S32-S34; S32. Let the current point be p, in S tmp Search for the K-neighbors of point p and calculate the average d of the three-dimensional Euclidean distances between point p and its K-neighbors. sor (p K ); S33, Calculate S tmp The average of the three-dimensional Euclidean distances from all points within a given point to their K-neighborhood. and standard deviation σ sor ; S34. If point p satisfies Add point p to the outlier set S. outlier ;where u sor This is the outlier offset coefficient, with a value greater than 0.

4. The method for removing linear noise clusters in airborne LiDAR scanning according to claim 3, characterized in that, Following step S34, the following is also included: S35, Order S tmp =S all -S outlier traverse S again tmp For points within the range, perform removal filtering according to steps S32-S34, and update the outlier set S. outlier If S outlier The newly added points account for S outlier If the proportion of total points is lower than the preset threshold, then step S3 ends.

5. The method for removing linear noise clusters in airborne LiDAR scanning according to claim 1, characterized in that, Step S4 specifically includes: S41. Establish the candidate noise point set S cand S cand =S badz Establish the grid point set S grid And initialize it to empty; S42, S outlier Points within the grid are rasterized based on their ×Y coordinates, with a grid side length of d. cell Count the number of points n in each grid cell. grid ; S43. For a grid with a non-zero number of points, change the corresponding number of points n. grid Add to the grid point set S grid ; S44, regarding S grid Calculate the average of the elements within the range. and standard deviation σ grid ; S45, S grid Internal satisfaction The elements constitute the set S′ grid , where u grid >0 indicates the preset point offset coefficient; S46. If S′ grid ≠S grid S grid =S′ grid Proceed to steps S44-S45 for iterative calculations until S′ grid and S grid They are the same set; S47. Let S′ grid The largest element in is n grid,max , will S outlier The number of pixels after rasterization is greater than n grid,max All outliers within the grid are added to the candidate noise point set S. cand .

6. The method for removing linear noise clusters in airborne LiDAR scanning according to claim 1, characterized in that, Step S5 specifically includes: S51, regarding S cand Perform 3D Euclidean clustering on the points within the range, and let the clustering radius be R. euclid The minimum number of clusters is N. min ; S52. Traverse all the clusters obtained from the segmentation, and let the current cluster be C. clust The total number of points is n clust The RANSAC algorithm is used to iteratively extract from C clust The steps for extracting candidate scan surfaces include: S521, Using the RANSAC algorithm from C clust Extracting the planar model from C each time, from C clust Randomly select three points that are not on the same straight line, calculate the planar model corresponding to these three points, and then set C. clust The vertical distance from the center to the plane is less than or equal to a preset threshold d. thre The points are taken as interior points, the number of interior points is counted, and this process is repeated N times. ransac Second-rate; S522, from N ransac From the results of this execution, the planar model P with the most interior points is selected. maxinl Let P maxinl The general equation of the plane is ax + by + cz + d = 0, containing n maxinl There are _n_ interior points, and these interior points form a set S. maxinl ; If n maxinl Greater than the preset number of points threshold n mininl Proceed to step S523; otherwise, proceed to the next clustering. S523, Calculate P maxinl The angle α between the normal vector and the Z-axis is calculated as follows: If α satisfies |α-β|≤γ, then P maxinl As a noise scanning surface, P maxinl Add noise scanning surface set S plane , where β is the general angle between the scanning surface normal vector and the Z-axis, and γ is the preset maximum angle deviation; S524, from C clust Remove interior point set S from the middle maxinl At point C, repeat steps S521-S523 until point C is reached. clust The number of remaining points n′ clust Satisfying n′ clust / n clust <ρ or n′ clust ≤3; ρ is the threshold for the proportion of remaining points, 0<ρ≤0.

1.

7. The method for removing linear noise clusters in airborne LiDAR scanning according to claim 6, characterized in that, Step S6 specifically includes: Traverse S cand Let the current point be p. m (x m ,y m , z m ), p m ∈S cand If the set of noise scanning surfaces S plane Noisy scanning surface P exists in the middle n Satisfy d m,n ≤d thre Then p m Add noise to the scan point set S planepoint middle; Among them, the noise scanning surface P n The corresponding general equation of the plane is a n x+b n y+c n z+d n =0,d m,n For point p m To the noise scanning surface P n vertical distance, 8. The method for removing linear noise clusters in airborne LiDAR scanning according to claim 1, characterized in that, Step S7 specifically includes: S71, regarding S planepoint Using cluster radius R euclid , minimum number of points N min Perform three-dimensional Euclidean clustering segmentation; S72. Traverse each cluster obtained from the segmentation. If the elevation difference ΔZ within a certain cluster is greater than or equal to the threshold ΔZ... min If the cluster is considered to be a large noisy cluster, then all points in the cluster are added to set S. bignoise , where ΔZ=Z max -Z min Z min Z is the minimum elevation of the cluster points. max The maximum elevation of the cluster points.

9. The method for removing linear noise clusters in airborne LiDAR scanning according to claim 1, characterized in that, Step S8 specifically includes: S81. Calculate the set of non-noise points S nonoise =S all -S badZ -S outlier Calculate the set S of classified points class =S nonoise ∪S bignoise ∪S badZ Calculate the set S of points to be classified unclass =S all -S class Establish the noise point set S noise And make S noise =S badZ ∪S bignoise ; S82, regarding S class Build an index from points within the index; S83, Traverse the set of points to be classified S unclass Let the current point be p. unclass Search for S class Inner distance p unclass The nearest point p class If p class ∈S bignoise or p class ∈S badZ Then p unclass Add noise point set S noise .

10. A system for removing linear noise clusters in airborne LiDAR scanning, characterized in that, include: The original point cloud acquisition module (1) is used to read point cloud data and form the original point cloud set S. all ; The pass-through filtering module (2) is used to perform pass-through filtering on the original point cloud using elevation coordinates, so that the elevation Z satisfies: Z < Z low Or Z > Z high The set S is composed of points badz Z low Z is the lower bound of the pass-through filter. high This is the upper limit of the pass-through filter; The statistical outlier removal filter module (3) is used to filter S. all Statistical outlier removal filtering is performed on the points within the range to obtain the outlier set S. outlier ; The two-dimensional density filtering module (4) is used to filter the outlier set S. outlier Two-dimensional density filtering is performed on the points within the plane to extract outliers with high planar density, and then compared with S. badZ The candidate noise point set S is formed by merging the noise points. cand ; The noise scanning surface set extraction module (5) is used to extract noise points from the candidate noise point set S. cand Extract the noise scanning surface set S plane ; The noise scan point set extraction module (6) is used to find S. cand The points that fall on the noise scanning surface constitute the noise scanning surface point set S. planepoint ; Large noise cluster extraction module (7), used to extract noise scan surface points from S planepoint Extract large noise clusters and add them to the large noise cluster point set S. bignoise ; The unclassified point set classification module (8) is used to determine the already classified point set S. class and the set of points to be classified S unclass The set of classification points S unclass Perform nearest neighbor classification to obtain the final set of noise points.

Citation Information

Patent Citations

  • Long-distance laser radar point cloud data processing method

    CN114494287A

  • Scan line-based road point cloud extraction method

    WO2022121177A1