Environment feature extraction method based on multi-line laser radar three-dimensional point cloud and reflectivity
By calculating reflectivity differences and threshold filtering, combined with open-source library clustering and linear equation calculation, the noise interference problem in multi-line lidar environmental feature extraction is solved, achieving accurate extraction and clear description of environmental features, and improving the accuracy of environmental modeling and navigation.
Patent Information
- Application Number
- CN202511083437.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-04
- Publication Date
- 2025-11-11
AI Technical Summary
Existing multi-line lidar suffers from severe noise interference in environmental feature extraction, making it difficult to accurately acquire environmental features, especially with insufficient accuracy in recognizing straight lines.
By calculating the mean and normalization of the reflectance difference, combined with threshold filtering and open-source library clustering, the environmental contour point cloud is extracted, and the centroid and covariance matrix of the clusters are calculated to obtain the linear equation, thus accurately describing the environmental features.
It effectively reduces noise interference, ensures data source quality, improves the accuracy and clarity of environmental feature extraction, and enhances the precision and reliability of environmental modeling, autonomous navigation, and target recognition.
Smart Images

Figure CN120932101A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of environmental feature extraction methods, specifically to an environmental feature extraction method based on multi-line lidar three-dimensional point clouds and reflectivity. Background Technology
[0002] With the development of computer technology and artificial intelligence, LiDAR has been widely used in various industries, such as AGVs for hotel food delivery, home cleaning robots, and new energy vehicles. Compared to single-line LiDAR, although multi-line LiDAR is more expensive, its 3D measurement capabilities are unmatched by single-line LiDAR.
[0003] Multi-line lidar, by simultaneously emitting and receiving multiple laser beams, can generate dense point cloud data in the vertical direction, significantly improving spatial resolution and detail capture capabilities. For example, it can not only identify vehicle outlines but also accurately distinguish pedestrians, trees, manhole covers, and even small objects, providing centimeter-level accurate stereoscopic environment models for 3D environmental perception. Extracting useful features from the stereoscopic environment lays the foundation for 3D environmental perception and subsequent action decisions.
[0004] This paper proposes a method for extracting environmental features from 3D point clouds and reflectivity using multi-line lidar. This method adds reflectivity features to the 3D environment, extracting environmental features in a total of four dimensions. Summary of the Invention
[0005] To achieve the above objectives, the present invention provides the following technical solution: an environmental feature extraction method based on multi-line lidar 3D point cloud and reflectivity, comprising the following steps: The first step is to obtain a 3D point cloud and the reflectivity of each point; The second step is to calculate the average of the difference between the reflectance of each point and the reflectance of all points within a 3cm radius. After calculating the reflectance difference of all points, the largest value is taken out and all reflectance differences are normalized. The third step is to select an appropriate threshold based on the reflectivity difference, filter all point clouds, and obtain the outline point cloud of the environment. The fourth step involves using the open-source PointCloudLibrary library to cluster the point cloud from the third step, resulting in 26 clusters, and then assigning a different color to each cluster. The fifth step is to find the equation of the line for the cluster with a linear structure, calculate the centroid and covariance matrix of the cluster, and then calculate the eigenvalues and eigenvectors of the covariance matrix. The eigenvector corresponding to the largest eigenvalue is taken as the direction of the line equation of the cluster. Finally, the equation of the line of the cluster is obtained by combining the centroid and the direction of the line. The sixth step is to use the clusters with linear equations as environmental features.
[0006] Preferably, the reflectivity in the first step is collected using a multi-line lidar with 16 or more lines.
[0007] Preferably, the calculation steps for the reflectivity difference in the second step are as follows: Constructing a neighborhood search structure: Load the 3D point cloud data (including X, Y, Z coordinates and reflectance values) obtained in the first step, and use the pcl::PointCloud class in the PointCloudLibrary library for data storage and management; Initialize the KdTreeFLANN search structure, input point cloud data into the structure, and accelerate the subsequent neighborhood point search process by building a kd-tree index. The default parameter settings are used when building the index to ensure search efficiency. Filtering valid point cloud data: Iterate through each point in the point cloud and check whether its reflectivity value is within a reasonable range. The reasonable range for lidar reflectivity values is an integer from 0 to 255. If the reflectance value of a point is negative, greater than 255, or not a number, then the point is marked as invalid and removed from the point cloud. At the same time, the index of the invalid point is recorded. When processing the neighborhood of other points later, if the neighborhood contains invalid points, they will also be excluded from the calculation. Find the 3cm neighborhood of each valid point: For each valid point P(x_p,y_p,z_p,r_p), where (x_p,y_p,z_p) are the three-dimensional coordinates and r_p is the reflectance value, the search radius is set to 3cm; Call the radiusSearch function of KdTreeFLANN, input the coordinates of point P and the search radius, and get the index list of all valid neighboring points within a 3cm radius of the point. If the number of neighboring points is 0, the reflectance difference of that point is temporarily set to 0 and marked as an isolated point. Whether to retain it can be decided later based on actual needs. Calculate the mean reflectance difference at a single point: For point P and each neighboring point Q (x_q, y_q, z_q, r_q) in its neighboring point list, calculate the absolute value of the reflectance difference |r_p-r_q| to avoid positive and negative differences canceling each other out. Count the number of valid neighbor points n in the neighbor list. If n≥1, calculate the sum of all |r_p-r_q| and divide by n to obtain the mean of the reflectance difference of point P, which is used as the reflectance difference of that point. Iterate through all points to obtain the set of reflectivity differences: Repeat the steps of finding the 3 cm neighborhood points of each valid point and calculating the mean reflectivity difference of a single point, and calculate for each valid point in the original point cloud to obtain the reflectivity differences of all valid points, forming a reflectivity difference set D = {d_1, d_2,..., d_m}, where m is the number of valid points and d_i is the reflectivity difference of the i-th valid point; Determine the maximum reflectivity difference: Initialize the maximum difference variable max_d to 0, and traverse each element d_i in the reflectivity difference set D; If d_i > max_d, then update max_d = d_i. After the traversal, max_d is the maximum value among all the point reflectivity differences; Determine the minimum reflectivity difference: Initialize the minimum difference variable min_d to a relatively large value, and traverse each element d_i in the reflectivity difference set D; If d_i < min_d, then update min_d = d_i. After the traversal, min_d is the minimum value among all the point reflectivity differences..
[0008] Preferably, the normalization process is as follows: For each element d_i in the reflectivity difference set D, calculate the normalized reflectivity difference d'_i according to the linear normalization formula: d'_i = (d_i - min_d) / (max_d - min_d); If max_d == min_d, that is, the reflectivity differences of all points are the same, then set all d'_i to 0.5 to avoid division by zero error; After normalization, a new set D' = {d'_1, d'_2,..., d'_m} is obtained, where each element is within the range of [0, 1].
[0009] Preferably, the process of screening the point cloud in the third step is as follows: Data preprocessing: Before performing threshold screening, smooth the normalized reflectivity difference data using the moving average method. Set a window size and calculate the average value of each data point within the window in turn, replacing the original reflectivity difference of that point. If the neighborhood data points of a certain point are less than the window size, take the actual existing neighborhood points for average calculation; Preliminary threshold range determination: Draw a histogram of reflectance difference after smoothing, with the horizontal axis representing the reflectance difference and the vertical axis representing the number of points in the cloud corresponding to the difference. Observe the distribution pattern of the histogram. If it presents a bimodal or multimodal distribution, select the reflectance difference corresponding to the valley between the two main peaks as the reference point for the preliminary threshold range. If it is a unimodal distribution, select the reflectance difference corresponding to the point where the slope changes significantly on the right side of the peak as the starting point for the preliminary threshold. Threshold screening: Based on the initially determined threshold range, select 3-5 candidate thresholds and screen all point clouds respectively, that is, retain point clouds with reflectance difference greater than or equal to the candidate thresholds to obtain 5 sets of candidate contour point clouds; Evaluation metrics for screening results: For each group of candidate contour point clouds, the following evaluation metrics are calculated: Contour integrity: Known environmental contour regions in the original point cloud are manually marked, and the proportion of points in the candidate contour point cloud belonging to the marked region is calculated. The higher the proportion, the better the contour integrity.
[0010] Noise rate: Calculate the proportion of points in the candidate contour point cloud that do not belong to the manually marked contour region to the total number of points in the candidate contour point cloud. The lower the proportion, the less noise there is. Contour continuity: The least squares method is used to fit a straight line to the candidate contour point cloud, and the average distance between the fitted line and the point cloud is calculated. The smaller the distance, the better the contour continuity. Threshold optimization selection: Compare the evaluation indicators corresponding to each group of candidate thresholds, and give priority to the candidate thresholds with contour integrity higher than 85%, noise rate lower than 15%, and average contour continuity distance less than 2cm. If multiple thresholds meet the conditions, select the threshold with the lowest noise rate. If no threshold fully meets the conditions, select the threshold closest to the above indicators as the optimal threshold. Final screening and verification: All point clouds are screened using the optimal threshold to obtain the final environmental contour point cloud. The contour point cloud and the original point cloud are then overlaid in a 3D visualization on the same coordinate system. The contour points are observed from different perspectives to see if they accurately cover the edge structure of the environment and if there are no obvious redundant noise points. If there are missing contours or noise accumulation in local areas, the area is manually marked. The local threshold is readjusted based on the reflectivity difference of the area. The adjusted local screening results are then merged with the global screening results to form the final environmental contour point cloud.
[0011] It has the following beneficial effects: This environmental feature extraction method based on multi-line LiDAR 3D point cloud and reflectivity effectively reduces noise interference and ensures the quality of data sources for subsequent feature extraction through rigorous screening, neighborhood analysis, and normalization of 3D point cloud and reflectivity data, laying the foundation for accurate acquisition of environmental features. Employing a multi-step threshold screening strategy combined with histogram analysis, multi-index evaluation, and visualization verification, it can accurately extract environmental contour point clouds, ensuring contour integrity while reducing noise ratios, making contour features more closely resemble the actual environment. Using an open-source library for clustering and assigning different colors, different environmental feature regions can be clearly distinguished. For linear structure clusters, the linear equations are obtained through steps such as centroid, covariance matrix, and eigenvalue decomposition, accurately describing linear features and providing reliable structured information for applications such as environmental modeling. The extracted clusters with linear equations can be applied to multiple fields such as environmental modeling, autonomous navigation, and target recognition, improving the clarity of environmental models, the accuracy and reliability of navigation, and the accuracy of target recognition. It has strong practical application value, and each step has detailed operating specifications. Implementation using an open-source library lowers the technical threshold and facilitates practical engineering applications and promotion. Attached Figure Description
[0012] Figure 1 This is a schematic diagram of the structure of the reflectivity difference calculation method of the present invention; Figure 2 This is a schematic diagram of the visualization structure for the three-dimensional point cloud reflectivity difference of the present invention; Figure 3 This is a schematic diagram of the point cloud structure after filtering reflectance differences using a threshold of 0.5 according to the present invention. Figure 4 This is a schematic diagram of the contour point cloud structure after clustering according to the present invention; Figure 5 This is a schematic diagram of the contour point cloud structure for obtaining the linear equation in part of this invention; Figure 6 This is a flowchart of the method of the present invention. Detailed Implementation
[0013] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0014] Please see Figures 1-6 This invention provides a technical solution: an environmental feature extraction method based on multi-line lidar three-dimensional point cloud and reflectivity, characterized by comprising the following steps: The first step is to obtain a 3D point cloud and the reflectivity of each point.
[0015] The second step is to calculate the average of the reflectance differences between each point and all points within a 3cm radius. After calculating the reflectance differences for all points, the largest value is selected, and all reflectance differences are normalized. Thus, the 3D point cloud gains an additional feature dimension besides the xyz coordinates. To make the reflectance differences more intuitive... Figure 2 It shows how a 3D point cloud is colored according to the difference in reflectance; The specific steps are as follows: Constructing a neighborhood search structure: Load the 3D point cloud data (including X, Y, Z coordinates and reflectance values) obtained in the first step, and use the pcl::PointCloud class in the PointCloudLibrary library for data storage and management; Initialize the KdTreeFLANN search structure, input point cloud data into the structure, and accelerate the subsequent neighborhood point search process by building a kd-tree index. The default parameter settings are used when building the index to ensure search efficiency. Filtering valid point cloud data: Iterate through each point in the point cloud and check whether its reflectivity value is within a reasonable range. The reasonable range for lidar reflectivity values is an integer from 0 to 255. If the reflectance value of a point is negative, greater than 255, or not a number, then the point is marked as invalid and removed from the point cloud. At the same time, the index of the invalid point is recorded. When processing the neighborhood of other points later, if the neighborhood contains invalid points, they will also be excluded from the calculation. Find the 3cm neighborhood of each valid point: For each valid point P(x_p,y_p,z_p,r_p), where (x_p,y_p,z_p) are the three-dimensional coordinates and r_p is the reflectance value, the search radius is set to 3cm; Call the radiusSearch function of KdTreeFLANN, input the coordinates of point P and the search radius, and get the index list of all valid neighboring points within a 3cm radius of the point. If the number of neighboring points is 0, the reflectance difference of that point is temporarily set to 0 and marked as an isolated point. Whether to retain it can be decided later based on actual needs. Calculate the mean reflectance difference at a single point: For point P and each neighboring point Q (x_q, y_q, z_q, r_q) in its neighboring point list, calculate the absolute value of the reflectance difference |r_p-r_q| to avoid positive and negative differences canceling each other out. Count the number of valid neighbor points n in the neighbor list. If n≥1, calculate the sum of all |r_p-r_q| and divide by n to obtain the mean of the reflectance difference of point P, which is used as the reflectance difference of that point. Traverse all points to obtain the set of reflectivity differences: Repeat the steps of finding the 3-cm neighborhood points of each valid point and calculating the average reflectivity difference of a single point, calculate for each valid point in the original point cloud, obtain the reflectivity differences of all valid points, and form a set of reflectivity differences D = {d_1, d_2,..., d_m}, where m is the number of valid points and d_i is the reflectivity difference of the i-th valid point; Determine the maximum reflectivity difference: Initialize the maximum difference variable max_d to 0 and traverse each element d_i in the set of reflectivity differences D; If d_i > max_d, then update max_d = d_i. After the traversal, max_d is the maximum value among all the reflectivity differences of the points; Determine the minimum reflectivity difference: Initialize the minimum difference variable min_d to a relatively large value and traverse each element d_i in the set of reflectivity differences D; If d_i < min_d, then update min_d = d_i. After the traversal, min_d is the minimum value among all the reflectivity differences of the points; Normalization: For each element d_i in the set of reflectivity differences D, calculate the normalized reflectivity difference d'_i according to the linear normalization formula: d'_i = (d_i - min_d) / (max_d - min_d); If max_d == min_d, that is, the reflectivity differences of all points are the same, then set all d'_i to 0.5 to avoid division by zero error; After normalization, a new set D' = {d'_1, d'_2,..., d'_m} is obtained, where each element is within the range of [0, 1].
[0016] In the third step, select an appropriate threshold for the reflectivity differences, filter all the point clouds, and obtain the contour point cloud of the environment. In this example, the threshold is selected as 0.5. After filtering all the point clouds, as Figure 3 shown, it can be seen that the contours of doors and windows, walls and columns, posters, and reflective tapes are relatively obvious. If the geometric features of these contour point clouds can be calculated, they can be regarded as the features of the environment; The filtering process is as follows: Data preprocessing: Before threshold filtering, the normalized reflectance difference data is smoothed by using the moving average method. A window size is set, and the average value of each data point within the window is calculated sequentially to replace the original reflectance difference value of that point. If the number of neighboring data points of a point is less than the window size, the actual number of neighboring points is used for averaging. Preliminary threshold range determination: Draw a histogram of reflectance difference after smoothing, with the horizontal axis representing the reflectance difference and the vertical axis representing the number of points in the cloud corresponding to the difference. Observe the distribution pattern of the histogram. If it presents a bimodal or multimodal distribution, select the reflectance difference corresponding to the valley between the two main peaks as the reference point for the preliminary threshold range. If it is a unimodal distribution, select the reflectance difference corresponding to the point where the slope changes significantly on the right side of the peak as the starting point for the preliminary threshold. Threshold screening: Based on the initially determined threshold range, all point clouds are screened separately, that is, point clouds with reflectance differences greater than or equal to the candidate threshold are retained, resulting in 5 sets of candidate contour point clouds; Evaluation metrics for screening results: For each group of candidate contour point clouds, the following evaluation metrics are calculated: Contour integrity: Known environmental contour regions in the original point cloud are manually marked, and the proportion of points in the candidate contour point cloud belonging to the marked region is calculated. The higher the proportion, the better the contour integrity.
[0017] Noise rate: Calculate the proportion of points in the candidate contour point cloud that do not belong to the manually marked contour region to the total number of points in the candidate contour point cloud. The lower the proportion, the less noise there is. Contour continuity: The least squares method is used to fit a straight line to the candidate contour point cloud, and the average distance between the fitted line and the point cloud is calculated. The smaller the distance, the better the contour continuity. Threshold optimization selection: Compare the evaluation indicators corresponding to each group of candidate thresholds, and give priority to the candidate thresholds with contour integrity higher than 85%, noise rate lower than 15%, and average contour continuity distance less than 2cm. If multiple thresholds meet the conditions, select the threshold with the lowest noise rate. If no threshold fully meets the conditions, select the threshold closest to the above indicators as the optimal threshold. Final screening and verification: All point clouds are screened using the optimal threshold to obtain the final environmental contour point cloud. The contour point cloud and the original point cloud are then overlaid in a 3D visualization on the same coordinate system. The contour points are observed from different perspectives to see if they accurately cover the edge structure of the environment and if there are no obvious redundant noise points. If there are missing contours or noise accumulation in local areas, the area is manually marked. The local threshold is readjusted based on the reflectivity difference of the area. The adjusted local screening results are then merged with the global screening results to form the final environmental contour point cloud.
[0018] The fourth step involves using the open-source PointCloudLibrary library to cluster the point cloud from the third step, resulting in 26 clusters. Each cluster is then assigned a different color, yielding the desired result. Figure 4 The effect shown.
[0019] The fifth step involves finding the equation of the straight line for a cluster with a linear structure. This includes calculating the cluster centroid and covariance matrix, then calculating the eigenvalues and eigenvectors of the covariance matrix. The eigenvector corresponding to the largest eigenvalue is used as the direction of the straight line equation for this cluster. Finally, combining the centroid and the line direction, the equation of the straight line containing the cluster is obtained. Some of the straight line equations in this example are shown below. Figure 5 As shown.
[0020] The sixth step is to use the clusters with linear equations as environmental features.
[0021] Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. All other embodiments obtained by those skilled in the art and related fields based on the embodiments of the present invention without inventive effort should fall within the scope of protection of the present invention. Structures, devices, and operating methods not specifically described and explained in the present invention, unless otherwise specified or limited, shall be implemented according to conventional means in the art.
Claims
1. A method for extracting environmental features based on 3D point clouds and reflectivity from multi-line lidar, characterized in that, Includes the following steps: The first step is to obtain a 3D point cloud and the reflectivity of each point; The second step is to calculate the average of the difference between the reflectance of each point and the reflectance of all points within a 3cm radius. After calculating the reflectance difference of all points, the largest value is taken out and all reflectance differences are normalized. The third step is to select an appropriate threshold based on the reflectivity difference, filter all point clouds, and obtain the outline point cloud of the environment. The fourth step involves using the open-source PointCloudLibrary library to cluster the point cloud from the third step, resulting in 26 clusters, and then assigning a different color to each cluster. The fifth step is to find the equation of the line for the cluster with a linear structure, calculate the centroid and covariance matrix of the cluster, and then calculate the eigenvalues and eigenvectors of the covariance matrix. The eigenvector corresponding to the largest eigenvalue is taken as the direction of the line equation of the cluster. Finally, the equation of the line of the cluster is obtained by combining the centroid and the direction of the line. The sixth step is to use the clusters with linear equations as environmental features.
2. The environmental feature extraction method based on multi-line lidar three-dimensional point cloud and reflectivity according to claim 1, characterized in that: The reflectivity data in the first step is collected using a multi-line lidar with 16 or more lines.
3. The environmental feature extraction method based on multi-line lidar three-dimensional point cloud and reflectivity according to claim 1, characterized in that: The steps for calculating the reflectivity difference in the second step are as follows: Constructing a neighborhood search structure: Load the 3D point cloud data (including X, Y, Z coordinates and reflectance values) obtained in the first step, and use the pcl::PointCloud class in the PointCloudLibrary library for data storage and management; Initialize the KdTreeFLANN search structure, input point cloud data into the structure, and accelerate the subsequent neighborhood point search process by building a kd-tree index. The default parameter settings are used when building the index to ensure search efficiency. Filtering valid point cloud data: Iterate through each point in the point cloud and check whether its reflectivity value is within a reasonable range. The reasonable range for lidar reflectivity values is an integer from 0 to 255. If the reflectance value of a point is negative, greater than 255, or not a number, then the point is marked as invalid and removed from the point cloud. At the same time, the index of the invalid point is recorded. When processing the neighborhood of other points later, if the neighborhood contains invalid points, they will also be excluded from the calculation. Find the 3cm neighborhood of each valid point: For each valid point P(x_p,y_p,z_p,r_p), where (x_p,y_p,z_p) are the three-dimensional coordinates and r_p is the reflectance value, the search radius is set to 3cm; Call the radiusSearch function of KdTreeFLANN, input the coordinates of point P and the search radius, and get the index list of all valid neighboring points within a 3cm radius of the point. If the number of neighboring points is 0, the reflectance difference of that point is temporarily set to 0 and marked as an isolated point. Whether to retain it can be decided later based on actual needs. Calculate the mean reflectance difference at a single point: For point P and each neighboring point Q (x_q, y_q, z_q, r_q) in its neighboring point list, calculate the absolute value of the reflectance difference |r_p-r_q| to avoid positive and negative differences canceling each other out. Statistically count the number \(n\) of valid neighboring points in the neighboring point list. If \(n\geq1\), calculate the sum of all \(|r_p - r_q|\), and then divide it by \(n\) to obtain the mean reflectivity difference of point \(P\), which is used as the reflectivity difference of this point. Traverse all points to obtain the set of reflectivity differences: Repeat the steps of finding the 3-cm neighborhood points of each valid point and calculating the mean reflectivity difference of a single point, and calculate for each valid point in the original point cloud to obtain the reflectivity differences of all valid points, forming a set of reflectivity differences \(D = \{d_1, d_2,\cdots, d_m\}\), where \(m\) is the number of valid points and \(d_i\) is the reflectivity difference of the \(i\)-th valid point. Determine the maximum reflectivity difference: Initialize the maximum difference variable \(max_d\) to 0, and traverse each element \(d_i\) in the set of reflectivity differences \(D\). If \(d_i>max_d\), then update \(max_d = d_i\). After the traversal, \(max_d\) is the maximum value among all the reflectivity differences of the points. Determine the minimum reflectivity difference: Initialize the minimum difference variable \(min_d\) to a relatively large value, and traverse each element \(d_i\) in the set of reflectivity differences \(D\). If \(d_i<min_d\), then update \(min_d = d_i\). After the traversal, \(min_d\) is the minimum value among all the reflectivity differences of the points.
4. The environmental feature extraction method based on multi-line lidar three-dimensional point cloud and reflectivity according to claim 3, characterized in that: The normalization process is as follows: For each element \(d_i\) in the set of reflectivity differences \(D\), calculate the normalized reflectivity difference \(d'_i\) according to the linear normalization formula: \(d'_i=(d_i - min_d) / (max_d - min_d)\). If \(max_d == min_d\), that is, the reflectivity differences of all points are the same, then set all \(d'_i\) to 0.5 to avoid division by zero errors. After normalization, a new set \(D'=\{d'_1, d'_2,\cdots, d'_m\}\) is obtained, where each element is within the range of \([0, 1]\).
5. The environmental feature extraction method based on multi-line lidar three-dimensional point cloud and reflectivity according to claim 1, characterized in that: The process of screening the point cloud in the third step is as follows: Data preprocessing: Before performing threshold screening, smooth the normalized reflectivity difference data using the moving average method. Set a window size and calculate the average value of each data point within the window in turn to replace the original reflectivity difference of this point. If the number of neighboring data points of a certain point is less than the window size, take the actually existing neighboring points for average calculation. Determine the preliminary threshold range: Plot the histogram of the smoothed reflectivity differences. The horizontal axis is the reflectivity difference, and the vertical axis is the number of point clouds corresponding to the difference. Observe the distribution pattern of the histogram. If it shows a bimodal or multimodal distribution, select the reflectivity difference corresponding to the valley value between the two main peaks as the reference point for the preliminary threshold range. If it is a unimodal distribution, select the reflectivity difference corresponding to the obvious slope change at the descending edge on the right side of the peak as the starting point of the preliminary threshold. Initial threshold screening: According to the preliminary determined threshold range, select 3 - 5 candidate thresholds and screen all the point clouds respectively, that is, retain the point clouds with reflectivity differences greater than or equal to the candidate thresholds, and obtain 5 groups of candidate contour point clouds. Calculate the evaluation indicators for the screening results: For each group of candidate contour point clouds, calculate the following evaluation indicators: Contour integrity: Known environmental contour regions in the original point cloud are manually marked, and the proportion of points in the candidate contour point cloud belonging to the marked region is calculated. The higher the proportion, the better the contour integrity. Noise rate: Calculate the proportion of points in the candidate contour point cloud that do not belong to the manually marked contour region to the total number of points in the candidate contour point cloud. The lower the proportion, the less noise there is. Contour continuity: The least squares method is used to fit a straight line to the candidate contour point cloud, and the average distance between the fitted line and the point cloud is calculated. The smaller the distance, the better the contour continuity. Threshold optimization selection: Compare the evaluation indicators corresponding to each group of candidate thresholds, and give priority to the candidate thresholds with contour integrity higher than 85%, noise rate lower than 15%, and average contour continuity distance less than 2cm. If multiple thresholds meet the conditions, select the threshold with the lowest noise rate. If no threshold fully meets the conditions, select the threshold closest to the above indicators as the optimal threshold. Final screening and verification: All point clouds are screened using the optimal threshold to obtain the final environmental contour point cloud. The contour point cloud and the original point cloud are then overlaid in a 3D visualization on the same coordinate system. The contour points are observed from different perspectives to see if they accurately cover the edge structure of the environment and if there are no obvious redundant noise points. If there are missing contours or noise accumulation in local areas, the area is manually marked. The local threshold is readjusted based on the reflectivity difference of the area. The adjusted local screening results are then merged with the global screening results to form the final environmental contour point cloud.
Citation Information
Cited By
Human body three-dimensional structure modeling method based on single-station linear scanning laser radar
CN122023676A
A human body three-dimensional structure modeling method based on single-station line-scan laser radar
CN122023676B