A dynamic point cloud recognition method based on dual-resolution structure representation unit

Through dual-resolution raster division and height difference information identifying dynamic areas, combined with ground fitting and spatial distribution features to restore static points, the problem of misidentification of dynamic objects in lidar point clouds is solved, and the accurate construction of global static maps and efficient removal of dynamic point clouds is achieved.

CN117036287BActive Publication Date: 2025-08-22SOUTHEAST UNIV
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202311005546.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-10
Publication Date
2025-08-22
Estimated Expiration
2043-08-10

AI Technical Summary

Technical Problem

In urban environments, the point clouds scanned by lidar contain dynamic objects, resulting in the trajectory of dynamic objects in the global point cloud map being misidentified as obstacles, affecting the robot's positioning and navigation performance. It is difficult for the existing technology to effectively distinguish between static and dynamic point clouds.

Method used

The method of representing units based on a dual-resolution structure is adopted to divide the point cloud data with dual-resolution rasters, combine the height difference information and surrounding height information to identify potential dynamic areas, and use ground fitting and spatial distribution characteristics to restore static points, reduce static point manslaughter, and improve dynamic point rejection rate.

Benefits of technology

It realizes the accurate construction of global static maps in a dynamic environment, reduces static point manslaughter, improves the accuracy of dynamic point cloud recognition, and ensures the effectiveness of robot navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117036287B_ABST
    Figure CN117036287B_ABST
Patent Text Reader

Abstract

A dynamic point cloud recognition method based on dual-resolution structural representation units. Dynamic object recognition and removal is a key problem that needs to be solved for robots to complete tasks in changing outdoor environments. The traces of dynamic point clouds in the prior map affect the performance of subsequent path planning and relocalization technologies. However, the complex environment in the city, the occlusion problem of lidar scanning, and the accuracy of positioning and mapping all affect the accuracy of dynamic object recognition. Although some previous works have proposed some methods that use high-resolution grids or manual annotations to identify dynamic objects, these methods cannot guarantee a high rejection rate for dynamic points while still having a good retention rate for static points. The removal method of this application not only greatly reduces the false positives of static points, but also has an extremely high rejection rate for dynamic point clouds, ultimately establishing a more accurate global static map.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of laser radar global point cloud map processing, and in particular to a dynamic point cloud recognition method based on a dual-resolution structure representation unit. Background Art

[0002] In urban environments, point clouds generated by LiDAR scans often include representations of dynamic objects, such as vehicles and pedestrians. However, when constructing global point cloud maps from these point clouds, dynamic objects often leave unwanted traces in the map. The trajectories of these dynamic objects are perceived as obstacles on the road, hindering the mobile vehicle's ability to achieve good localization and navigation performance. Therefore, retaining static points and excluding dynamic objects is a key issue that needs to be addressed for robots to complete tasks in changing outdoor environments.

[0003] The prior map required for path planning and relocalization techniques should be a completely static global map, but accurately identifying dynamic and static points in a global map is quite difficult. On the one hand, the self-centered ray scanning method of LiDAR has obvious scanning occlusion problems, which greatly increases the difficulty of identifying occluded objects. On the other hand, the complex environment of the city increases the similarity of the spatial distribution and shape characteristics of static and dynamic objects, making them even more difficult to distinguish between the two. In addition, the uncertainty of the SLAM system's own pose estimation and the accuracy of the map construction also increase the false negative rate of static points. Previously reported related work on offline removal of dynamic objects from global maps either suffers from large-scale false negatives of static points or has difficulty maintaining a high rejection rate for dynamic objects. The recognition and rejection of dynamic objects from the global map still faces many challenges.

[0004] Compared with the prior art, the differences are as follows:

[0005] Application number 202211002350.2, patent name A method for constructing a static map based on probabilistic grid to remove dynamic objects. The application discloses a method for constructing a static map based on probabilistic grid to remove dynamic objects. First, the collected lidar data, IMU data and GPS data are tightly coupled to obtain a data set of a key frame. Secondly, using polar coordinates, the lidar intensity is selected as the descriptor to process the data set of the key frame to obtain a raster map of the key frame with the descriptor and a raster map of the sub-map corresponding to the key frame. Again, the raster map of the key frame with the descriptor and the raster map of the sub-map corresponding to the key frame are compared to find the dynamic area in the sub-map, and the dynamic area is plane-fitted to obtain the plane equation. Finally, the point cloud above the plane equation in the dynamic area is eliminated to obtain a three-dimensional static point cloud map. The present invention can be used to construct a three-dimensional static point cloud map in a dynamic environment.

[0006] Compared to the present application, the proposed method relies primarily on height difference ratios rather than intensity information for dynamic object recognition. It also uses region growing rather than RANSAC plane fitting for ground plane fitting. It also uses a dual-resolution grid for the first time to identify dynamic points and recover static points, and proposes its own solutions for various occlusion issues. It also includes an algorithm for recovering erroneous ground points and other static points.

[0007] In summary, the proposed method is similar to the other method only in the grid division method, but there are great differences in other major steps. Summary of the Invention

[0008] To solve the above technical problems, the present invention proposes a dynamic point cloud recognition method based on a dual-resolution structure representation unit. This method greatly reduces the false positives of static points while also having an extremely high rejection rate for dynamic point clouds, ultimately establishing a more accurate global static map.

[0009] To achieve the above object, the technical solution adopted by the present invention is:

[0010] A dynamic point cloud recognition method based on a dual-resolution structure representation unit comprises the following steps:

[0011] Step 1: Extract the processing area from the current point cloud data and extract the points within the limited height space. Divide the processing area into grids along the X and Y axes of the radar coordinate system. Count the maximum and minimum values ​​of the height within each grid and save the points that fall within the grid.

[0012] Step 2: Using the global pose of the current frame output by LIO_SAM, extract a submap from the global map and extract points within the limited height space. Divide the submap into grids along the X and Y axes of the radar coordinate system, count the maximum and minimum values ​​of the height within each grid, and save the points that fall within the grid. In addition, divide the submap into grids with a higher resolution, count the maximum and minimum values ​​of the height within each grid, and save the information of the points that fall within the grid.

[0013] Step 3: Divide the submap radially to obtain N sectors, and count the number of sectors in each sector whose height is greater than h. a The distance to the nearest point, if there is no point that meets this height, the distance is assigned to L;

[0014] Step 4: Calculate the height difference between the current frame grid and the corresponding sub-map grid to determine the potential dynamic area, traverse each grid in the processing area, and mark each grid determined to be a potential dynamic area;

[0015] Step 5: Use the surrounding height information to screen these potential grids. If the heights of the left and right sides or the front and back sides of the grid are significantly lower than the height of the central grid, it is considered to be a dynamic area.

[0016] Step 6: Considering the influence of the odometer accuracy, the occupancy status of the grid edge squares is used to determine whether a static point has been mistakenly killed. The minimum value s of the maximum value of the surrounding height calculated in step 5 is used. h To count the occupancy status of the dynamic grid;

[0017] Step 7: Assuming that the static point false positives caused by odometry errors all occur at the edge of the grid, if all occupied squares are at the edge of the grid, and the number of occupied squares in the edge neighborhood is greater than the number of occupied squares in the grid, the area will be restored to a static area;

[0018] The points in the static edge region are recovered as follows;

[0019] If all occupied squares are at the edge of the grid, and the number of occupied squares in the neighborhood of the edge is greater than the number of occupied squares in the grid, the area will be restored to a static area;

[0020] Step 8: Use the points in the static area obtained in step 6 to perform ground fitting. If all the squares in the grid are occupied, all the points in the grid are considered non-ground points. Then, continue to recover the static points for these non-ground points.

[0021] Step 9: Using g_l calculated in step 6 as the ground height, restore the ground points that were mistakenly killed, and restore the dynamic points lower than g_l to static points;

[0022] Step 10: Utilize s h The maximum height of the points in the grid is evenly divided into four areas, and the proportion of points falling in each area to all dynamic points to be deleted is calculated. If the proportion of a certain height area R is less than 2 / N d , restore all dynamic points to static points;

[0023] Step 11: Using the Maximum Height Value of the Grid The minimum value of the dynamic points to be deleted is used to divide the area into four areas. The proportion of points in the lowest altitude area is counted. If the proportion is greater than 50%, it is considered that there is a false positive of ground points, and the dynamic points in the area are restored to static points.

[0024] Step 12: Traverse all grids, delete all identified dynamic points on the sub-map, and then merge the deleted sub-maps into the global map and wait for the next frame to be processed.

[0025] As a further improvement of the present invention, step 1 divides the grid of the current frame point cloud into the following specific steps:

[0026] A square map with a side length of 60m is intercepted with the lidar coordinate system as the center as the processing area VOI. The current frame point cloud is divided into grids along the X and Y axes of the lidar coordinate system. Each grid is called a BIN. The vertical processing area is delineated according to the vertical field of view of the lidar and the height information of the dynamic object. The maximum and minimum height values ​​within the BIN and the number of points falling within the BIN are counted. The processing area Vt of the current map is defined as:

[0027] Vt={p k ||x k |<L,|y k |<L,h min <z k <h max}

[0028] In the above formula, x k ,y k and z k For point p k Coordinates in the laser radar coordinate system, L = 60m,h min =-1,h max =3;

[0029] The grid division is expressed as:

[0030]

[0031]

[0032] In the above formula, x and y are the coordinates of the point in the laser radar coordinate system, x idx and y idx is the index of the grid, and the grid length g is obtained by division len =4m, grid width g wid =2m. After grid division, the highest and lowest points in each grid are counted, and all information of the points in the grid is saved.

[0033] As a further improvement of the present invention, step 2 extracts the submap and uses two resolutions to perform grid division on the submap as follows;

[0034] Using the current carrier's position in the global coordinate system output by the LIO_SAM algorithm, the submap at the same position as the current frame in the prior map is intercepted, and then the selected submap is gridded in the same way as the current point cloud data. In addition, the submap is gridded at a higher resolution for subsequent dynamic object recognition and static point recovery. The high-resolution grid division of the submap is expressed as:

[0035]

[0036]

[0037] In the above formula, x and y are the coordinates of the point in the laser radar coordinate system, x idx and y idx is the index of the high-resolution grid, and the side length of the high-resolution grid is R = 0.5m. After the two grids with different resolutions are divided, the highest and lowest points in each grid are counted, and all the information of the points in the grid is saved.

[0038] As a further improvement of the present invention, the processing of the occlusion problem in step 3 is as follows:

[0039] Divide the sub-map radially and count the height of each sector greater than h a The distance to the nearest point. If there is no point that meets this height, the distance is assigned to L and the fan index is calculated as:

[0040]

[0041] In the above formula, x and y are the position parameters of the point in the laser radar coordinate system, and the radial resolution R of the fan is h =3, the value assigned in each sector is expressed as:

[0042]

[0043] In the above formula, For points in the same sector area, the occlusion threshold h a =2m. The purpose of this step is to prevent the occluded objects from being identified as dynamic objects.

[0044] As a further improvement of the present invention, in step 4, the height difference information between the current frame grid and the corresponding sub-map grid is used to determine the potential dynamic area. If the number of points in any grid is less than 10, it will not be considered as a potential dynamic area. The potential dynamic area determination condition is defined as:

[0045]

[0046]

[0047] In the above formula, and Indicates the maximum and minimum heights of points within the grid in the submap. and Indicates the maximum and minimum heights of the points in the current point cloud grid. The α coefficient avoids the false negatives of static points in two aspects.

[0048] The first is to solve the problem of height changes caused by pseudo ground points generated by mapping;

[0049] The second is to avoid the height change caused by the occlusion of objects at a closer distance, which results in only scanning the part of the occluded object;

[0050] When the ratio is ≥ 5, the grid is considered as a potential dynamic area. Each grid in the processing area is traversed and each grid determined to be a potential dynamic area is marked.

[0051] As a further improvement of the present invention, step 5 uses the surrounding height information to screen these potential dynamic grids as follows:

[0052] If the height of the left and right sides or the front and back sides of the grid are significantly lower than the height of the center grid, it is considered a dynamic area. The height of the left side of the grid is defined as:

[0053]

[0054] The height of the right side of the grid is defined as:

[0055]

[0056] The grid front height is defined as:

[0057]

[0058] The grid back height is defined as:

[0059]

[0060] In the above formula, hmax is the maximum height of the points in the grid;

[0061] Dynamic region determination is expressed as:

[0062]

[0063] In the above formula, Indicates the maximum height value of all points in the current grid. ε is set to 0.5. If the height is greater than 0.5m of the adjacent height, it is determined to be a dynamic area.

[0064] Finally, calculate the minimum value of the surrounding maximum height for the following steps;

[0065] s h =min{h r , h l , h f , h b}.

[0066] As a further improvement of the present invention, step 6 uses the occupancy status of the grid edge squares to determine whether a static point has been mistakenly killed as follows:

[0067] First, use the minimum value s of the surrounding maximum height calculated in step 5 h To count the occupancy status of the dynamic grid, traverse each square in the grid and calculate the maximum height difference between the square and the grid it is in to determine whether it is occupied. The occupied square is defined as:

[0068]

[0069] In the above formula, is the maximum height value of all points in the grid, β is set to 0.5, and the grid defined as occupied is actually the culling area of ​​dynamic points, while the grid not in the occupied state is the static point area, and the points in these grids will not be culled. Finally, the number of occupied squares num_occupy is counted, and the average value g_l of the maximum value of the static point area is calculated.

[0070] As a further improvement of the present invention, step 8 performs ground fitting on the static area as follows:

[0071] Select the lower point as the seed point to get the initial estimated ground point set, which is represented as:

[0072]

[0073] In the above formula, l, t represent the index of the grid, represents the initial seed point set, S l,t represents all points in the dynamic area, z α is the average height value of the initial seed point, τseed represents the height boundary, and the covariance matrix of these points is calculated as follows:

[0074]

[0075] In the above formula, p j is the initial seed point, is the mean of the seed points. Next, the principal component method is used to obtain the three eigenvalues ​​and corresponding eigenvectors. The eigenvector with the smallest eigenvalue is selected as the initial normal vector of the ground. Let the normal vector be:

[0076] n l,t =[a l,t , b l,t , c l,t ]

[0077] Then the plane coefficient is calculated as:

[0078]

[0079] The resulting plane equation is:

[0080] a l,t x+b l,t y+c l,t z+d l,t =0

[0081] Finally, potential static points below the plane are extracted as follows:

[0082] I l,t ={p k |p k ∈S l,t , d l,t -d k <τ g}

[0083] Among them, d k is defined as:

[0084]

[0085] τ g Indicates the distance from the edge of the plane;

[0086] The process of step 8 is repeated three times to fit a more accurate ground plane equation, and then the points above the ground are regarded as potential dynamic points and the points below the ground are regarded as static points.

[0087] As a further improvement of the present invention, step 10 utilizes the high degree of continuity feature to restore the static points as follows;

[0088] Utilize s h The maximum height of the points in the grid is used to evenly divide the height into four areas, and the proportion of points falling in each area to all points is calculated. The height division process is expressed as:

[0089]

[0090] The weight of each regional point is:

[0091]

[0092] Among them, N s is a point within a specific height area, N d For all dynamic points to be removed, if the proportion of a certain height area R is less than 2 / N d , restore all dynamic points to static points.

[0093] The technical solution of the present invention is:

[0094] First, the global pose is used to extract a submap corresponding to the current scan point cloud from the global prior map. The current frame map and submap are then gridded along the X and Y axes of the Cartesian coordinate system, and the submap is further divided at a smaller resolution. The height difference between the corresponding grids of the current frame map and submap is then compared with surrounding height information to determine potential dynamic areas. Dynamic points above the ground plane are then removed by fitting the ground plane. Finally, static points are recovered using surrounding height information, spatial distribution information, and a smaller resolution grid. BRIEF DESCRIPTION OF THE DRAWINGS

[0095] Figure 1 is a system block diagram of the present invention;

[0096] Figure 2 This is the grid state of the map divided by the present invention, and the green grid is the dynamic area;

[0097] Figure 3 A local path map built using the LIO_SAM algorithm for the KITTI05 public dataset for autonomous driving;

[0098] Figure 4 This is a static map under a local path created after the dynamic objects are removed in the present invention. DETAILED DESCRIPTION

[0099] The present invention is further described in detail below with reference to the accompanying drawings and specific embodiments:

[0100] The system block diagram of the present invention is as follows Figure 1 As shown, the grid status of the divided map, the green grid is the dynamic area. Figure 2 As shown, the map under the local path established by the LIO_SAM algorithm in the KITTI05 sequence of the autonomous driving public dataset is as follows Figure 3 As shown, the static map under the local path established after removing dynamic objects is as follows Figure 4 shown.

[0101] Step 1: Cut a square map with a side length of 60m with the lidar coordinate system as the processing area VOI. Divide the current point cloud map into grids along the X-axis and Y-axis of the lidar coordinate system. Each grid obtained is called a BIN. Delineate the vertical processing area based on the vertical field of view of the lidar and the general height information of dynamic objects. Finally, count the maximum and minimum values ​​of the height within the BIN and save the information of the points falling within the BIN. The processing area of ​​the current map can be defined as:

[0102] Vt={p k |x k <L,y k <L,h min <zk <h max}

[0103] In the above formula, x k ,y k and z k For point p k Coordinates in the laser radar coordinate system, L = 60m,h min =-1,h max =3.

[0104] The grid division can be expressed as:

[0105]

[0106]

[0107] In the above formula, x and y are the coordinates of the point in the laser radar coordinate system, x idx and y idx is the index of the grid, and the grid length g is obtained by division len =4m, grid width g wid = 2m. After the grid is divided, the highest and lowest points in each grid are counted, and all information of the points in the grid is saved.

[0108] Step 2: Using the current carrier's position in the global coordinate system output by the LIO_SAM algorithm, extract the submap in the prior map at the same position as the current frame. The selected submap is then gridded. The grid parameter division process is the same as in step 1. In addition, the submap is gridded at a higher resolution for subsequent dynamic object recognition and static point recovery. The high-resolution grid division of the submap can be expressed as:

[0109]

[0110]

[0111] In the above formula, x and y are the coordinates of the point in the laser radar coordinate system, x idx and y idx is the index of the high-resolution grid, and the side length of the high-resolution grid is R = 0.5m. After the two different resolution grids are divided, the highest and lowest points in each grid are counted, and all information of the points in the grid is saved.

[0112] Step 3: Divide the submap radially to obtain N sector-shaped areas. Count the number of areas with a height greater than h in each sector-shaped area. a The distance to the nearest point, if there is no point that meets this height, the distance is assigned to L. The sector index is calculated as:

[0113]

[0114] In the above formula, x and y are the position parameters of the point in the laser radar coordinate system. The radial resolution R of the sector h =3°. The value assigned to each sector can be expressed as:

[0115]

[0116] In the above formula, For points in the same sector area, the occlusion threshold h a =2m. The main purpose of this step is to prevent the occluded objects from being identified as dynamic objects.

[0117] Step 4: Calculate the height difference between the current grid and the corresponding sub-map grid to determine the potential dynamic area. If the number of points in any grid is less than 10, it will not be considered a potential dynamic area. The conditions for determining the potential dynamic area can be defined as:

[0118]

[0119]

[0120] In the above formula, and Indicates the maximum and minimum heights of points within the grid in the submap. and Represents the maximum and minimum heights of points within the current point cloud grid. The α coefficient can help prevent false positives for static points in two ways: first, addressing height variations caused by pseudo-ground points generated during mapping; and second, preventing height variations caused by occlusion by closer objects, which results in only scanning a portion of the occluded object. When the ratio ≥ 5, the grid is considered a potential dynamic area. Each grid in the processing area is traversed and marked as a potential dynamic area.

[0121] Step 5: After determining the potential dynamic grids, use the surrounding height information to screen these potential grids. Whether it is a moving vehicle or a pedestrian, the maximum height of the grid should be significantly greater than the height of the adjacent area. Using this feature, the height values ​​of the surrounding adjacent grids are counted to further determine the dynamic area. Since the division of larger grids will introduce other static objects to increase the height of the neighborhood, this step uses higher resolution grids to calculate the neighborhood height. If the height of the left and right sides of the grid or the height of the front and back sides is significantly lower than the height of the central grid, it is considered to be a dynamic area. The height on the left side of the grid is defined as:

[0122]

[0123] The height of the right side of the grid is defined as:

[0124]

[0125] The grid front height is defined as:

[0126]

[0127] The grid back height is defined as:

[0128]

[0129] In the above formula, h max is the maximum height of the points within the grid. In reality, it is impossible for the grid division to fit the same object into exactly one grid. Considering the length and width of the grid division, the neighborhood in the width direction is expanded, and the square in the center grid in the length direction is also taken as the neighborhood. Dynamic area determination can be expressed as:

[0130]

[0131] In the above formula, The maximum height of the current grid point is represented by ε, which is 0.5. If the maximum height of the current grid is greater than 0.5m of the adjacent grid, it is considered a dynamic area. Finally, the minimum value of the maximum height of the surrounding grids, sh, is calculated for the following steps.

[0132] s h =min{h r , h I , h f ,h b}

[0133] Step 6: The above process of determining the dynamic area is based on an assumption that the grid divided by the current frame point cloud and the grid in the submap are completely correctly corresponding, but due to the inaccurate posture estimation and the existence of positioning errors, the grid cannot achieve completely correct position correspondence. Therefore, this step takes into account the influence of the accuracy of the odometer and uses the occupancy status of the grid edge squares to determine whether a static point has been mistakenly killed. First, use the sh calculated in step 5 to count the occupancy status of the dynamic grid. Generally speaking, it is impossible for all 32 squares in the grid to be occupied. Traverse each square in the grid and calculate the maximum height difference between the square and the grid to determine whether it is occupied. The occupied square can be defined as:

[0134]

[0135] In the above formula, is the maximum height of the points within the grid, and β is set to 0.5. The grid defined as occupied is actually the dynamic point culling area, while the unoccupied grid is the static point area; the points within these grids are not culled. Finally, the number of occupied grids, num_occupy, is counted, and the average value g_l of the maximum value of the static point area is calculated.

[0136] Step 7: Assuming that the static point misidentification caused by the odometry error occurs at the edge of the grid, if all the occupied squares are at the edge of the grid, and the number of occupied squares in the edge neighborhood is greater than the number of occupied squares in the grid, the area will be restored to a static area.

[0137] Step 8: Use the points in the static area obtained in Step 6 to perform ground fitting. If all the grid cells are occupied, all the points in the grid are considered non-ground points. Since each grid is small, it is assumed that the ground within each grid cell is flat. The ground plane equation is fitted below. Select the lower point as the seed point to obtain the initial estimated ground point set. These points can be expressed as:

[0138]

[0139] In the above formula, l, t represent the index of the grid, represents the initial seed point set, S l,t represents all points in the dynamic area, z a is the average height of the initial seed points, τ seed Represents the height boundary. Calculate the covariance matrix of these points, expressed as:

[0140]

[0141] In the above formula, p j is the initial seed point, is the mean of the seed points. Next, the principal component analysis (PCA) is used to obtain the three eigenvalues ​​and corresponding eigenvectors, and the eigenvector with the smallest eigenvalue is selected as the initial normal vector of the ground. Let the normal vector be:

[0142] n l,t =[a l,t , b l,t ,c l,t ]

[0143] Then the plane coefficient can be calculated as:

[0144]

[0145] From this we can get the plane equation:

[0146] a l,tx+b l,t y+c l,t z+d l,t =0

[0147] Finally, our goal is to extract potential static points below the plane as follows:

[0148] I l,t ={p k |p k ∈S l,t , d l,t -d k <τ g}

[0149] Among them, d k is defined as:

[0150]

[0151] τ g The distance from the edge of the plane is represented by . The process of step 8 is repeated three times to fit a more accurate ground plane equation. Then, the points above the ground are regarded as potential dynamic points, and the points below the ground are regarded as static points.

[0152] Step 9: While the above steps complete the recognition of dynamic points, there are still significant static points that are mistakenly identified. These points primarily include ground points mistakenly identified due to inaccurate ground fitting and static points such as unstructured objects like trees. First, use g_l calculated in Step 6 as the ground height to restore the mistaken ground points. Dynamic points below g_l are restored to static points.

[0153] Step 10: Utilize s h The height is evenly divided into four regions based on the maximum height of the points in the grid, and the proportion of points falling within each region to all points is calculated. Since the vertical distribution of points representing vehicles and pedestrians has a certain degree of continuity, the vertical distribution is approximately uniform, while unstructured objects generally do not have these characteristics. This difference makes it necessary to recover the static points of this part of the error. The height region division process can be expressed as:

[0154]

[0155] The weight of each regional point is:

[0156]

[0157] Among them, N s is a point within a specific height area, N dFor all dynamic points to be removed. In actual processing, considering the large sparsity of dynamic point clouds, the above processing is not performed on grids with a height lower than 1.6m. If the proportion of a certain height area R is less than 2 / N d , restore all dynamic points to static points.

[0158] Step 11: The spatial distribution characteristics are also used to recover the ground points. The difference is that this step uses the maximum height value of the grid The minimum value of the dynamic points to be deleted is used to divide the area into four height zones. The proportion of points in the lowest height zone is counted. If it is greater than 50%, it is considered that there is a false positive of ground points, and the dynamic points in the zone are restored to static points.

[0159] Step 12: Traverse all grids, delete all identified dynamic points on the sub-map, and then merge the sub-map after removing the dynamic points into the global map, waiting for the next frame to be processed.

[0160] The above description is merely a preferred embodiment of the present invention and does not constitute any other form of limitation to the present invention. Any modification or equivalent variation based on the technical essence of the present invention shall still fall within the scope of protection claimed by the present invention.

Claims

1. A dynamic point cloud recognition method based on a dual-resolution structure representation unit, comprising the following steps, characterized in that: Step 1: Extract the processing area from the current point cloud data and extract the points within the limited height space. Divide the processing area into grids along the X and Y axes of the radar coordinate system. Count the maximum and minimum values ​​of the height within each grid and save the points that fall within the grid. Step 2: Using the global pose of the current frame output by LIO_SAM, extract a submap from the global map and extract points within the limited height space. Divide the submap into grids along the X and Y axes of the radar coordinate system, count the maximum and minimum values ​​of the height within each grid, and save the points that fall within the grid. In addition, divide the submap into grids with a higher resolution, count the maximum and minimum values ​​of the height within each grid, and save the information of the points that fall within the grid. Step 3: Divide the submap radially to obtain N sectors, and count the number of sectors in each sector whose height is greater than h. a The distance to the nearest point, if there is no point that meets this height, the distance is assigned to L; Step 4: Calculate the height difference between the current frame grid and the corresponding sub-map grid to determine the potential dynamic area, traverse each grid in the processing area, and mark each grid determined to be a potential dynamic area; Step 5: Use the surrounding height information to screen these potential grids. If the heights of the left and right sides or the front and back sides of the grid are significantly lower than the height of the central grid, it is considered to be a dynamic area. Step 6: Considering the influence of the odometer accuracy, the occupancy status of the grid edge squares is used to determine whether a static point has been mistakenly killed. The minimum value sh of the maximum surrounding height calculated in step 5 is used to count the occupancy status of the dynamic grid. Step 7: Assuming that the static point false positives caused by odometry errors all occur at the edge of the grid, if all occupied squares are at the edge of the grid, and the number of occupied squares in the edge neighborhood is greater than the number of occupied squares in the grid, the area will be restored to a static area; The points in the static edge region are recovered as follows; If all occupied squares are at the edge of the grid, and the number of occupied squares in the neighborhood of the edge is greater than the number of occupied squares in the grid, the area will be restored to a static area; Step 8: Use the points in the static area obtained in step 6 to perform ground fitting. If all the squares in the grid are occupied, all the points in the grid are considered non-ground points. Then, continue to recover the static points for these non-ground points. Step 9: Using g_l calculated in step 6 as the ground height, restore the ground points that were mistakenly killed, and restore the dynamic points lower than g_l to static points; Step 10: Utilize s h The maximum height of the points in the grid is evenly divided into four areas, and the proportion of points falling in each area to all dynamic points to be deleted is calculated. If the proportion of a certain height area R is less than 2 / N d , restore all dynamic points to static points; Step 11: Using the Maximum Height Value of the Grid The minimum value of the dynamic points to be deleted is used to divide the area into four areas. The proportion of points in the lowest altitude area is counted. If the proportion is greater than 50%, it is considered that there is a false positive of ground points, and the dynamic points in the area are restored to static points. Step 12: Traverse all grids, delete all identified dynamic points on the sub-map, and then merge the deleted sub-maps into the global map and wait for the next frame to be processed.

2. The dynamic point cloud recognition method based on a dual-resolution structure representation unit according to claim 1, characterized in that: Step 1 divides the grid of the current frame point cloud into the following details: A square map with a side length of 60m is intercepted with the lidar coordinate system as the center as the processing area VOI. The current frame point cloud is divided into grids along the X and Y axes of the lidar coordinate system. Each grid is called a BIN. The vertical processing area is delineated according to the vertical field of view of the lidar and the height information of the dynamic object. The maximum and minimum height values ​​within the BIN and the number of points falling within the BIN are counted. The processing area Vt of the current map is defined as: Vt={p k ||x k |<L,|y k |<L,h min <from k <h max } In the above formula, x k ,y k and z k For point p k Coordinates in the laser radar coordinate system, L = 60m,h min =-1,h max =3; The grid division is expressed as: In the above formula, x and y are the coordinates of the point in the laser radar coordinate system, x idx and y idx is the index of the grid, and the grid length g is obtained by division len =4m, grid width g wid =2m. After grid division, the highest and lowest points in each grid are counted, and all information of the points in the grid is saved.

3. The dynamic point cloud recognition method based on a dual-resolution structure representation unit according to claim 1, characterized in that: Step 2 extracts the submap and divides the submap into grids using two resolutions as follows; Using the current carrier's position in the global coordinate system output by the LIO_SAM algorithm, the submap at the same position as the current frame in the prior map is intercepted, and then the selected submap is gridded in the same way as the current point cloud data. In addition, the submap is gridded at a higher resolution for subsequent dynamic object recognition and static point recovery. The high-resolution grid division of the submap is expressed as: In the above formula, x and y are the coordinates of the point in the laser radar coordinate system, x idx and t idx is the index of the high-resolution grid, and the side length of the high-resolution grid is R = 0.5m. After the two grids with different resolutions are divided, the highest and lowest points in each grid are counted, and all the information of the points in the grid is saved.

4. The dynamic point cloud recognition method based on a dual-resolution structure representation unit according to claim 1, characterized in that: Step 3 deals with the occlusion problem as follows: Divide the sub-map radially and count the height of each sector greater than h a The distance to the nearest point. If there is no point that meets this height, the distance is assigned to L and the fan index is calculated as: In the above formula, x and y are the position parameters of the point in the laser radar coordinate system, and the radial resolution R of the fan is h =3, the value assigned in each sector is expressed as: In the above formula, For points in the same sector area, the occlusion threshold h a =2m. The purpose of this step is to prevent the occluded objects from being identified as dynamic objects.

5. The dynamic point cloud recognition method based on a dual-resolution structure representation unit according to claim 1, characterized in that: In step 4, the height difference between the current frame grid and the corresponding sub-map grid is used to determine the potential dynamic area. If the number of points in any grid is less than 10, it will not be considered a potential dynamic area. The potential dynamic area determination condition is defined as: In the above formula, and Indicates the maximum and minimum heights of points within the grid in the submap. and Indicates the maximum and minimum heights of the points in the current point cloud grid. The α coefficient avoids the false negatives of static points in two aspects. The first is to solve the problem of height changes caused by pseudo ground points generated by mapping; The second is to avoid the height change caused by the occlusion of objects at a closer distance, which results in only scanning the part of the occluded object; When the ratio is ≥ 5, the grid is considered as a potential dynamic area. Each grid in the processing area is traversed and each grid determined to be a potential dynamic area is marked.

6. The dynamic point cloud recognition method based on a dual-resolution structure representation unit according to claim 1, characterized in that: Step 5 uses the surrounding height information to screen these potential dynamic grids as follows: If the heights of the left and right sides or the front and back sides of the grid are significantly lower than the height of the central grid, it is considered a dynamic area. The height of the left side of the grid is defined as: The height of the right side of the grid is defined as: The grid front height is defined as: The grid back height is defined as: In the above formula, h max is the maximum height of the points within the grid; Dynamic region determination is expressed as: In the above formula, Indicates the maximum height value of all points in the current grid. ε is set to 0.

5. If the height is greater than 0.5m of the adjacent height, it is determined to be a dynamic area. Finally, calculate the minimum value of the surrounding maximum height for the following steps; s h =min{h r ,h l ,h f ,h b }。 7. The dynamic point cloud recognition method based on a dual-resolution structure representation unit according to claim 1, characterized in that: Step 6 uses the occupancy status of the grid edge squares to determine whether a static point has been mistakenly killed. The details are as follows: First, use the minimum value s of the surrounding maximum height calculated in step 5 h To count the occupancy status of the dynamic grid, traverse each square in the grid and calculate the maximum height difference between the square and the grid it is in to determine whether it is occupied. The occupied square is defined as: In the above formula, is the maximum height value of all points in the grid, β is set to 0.5, and the grid defined as occupied is actually the culling area of ​​dynamic points, while the grid not in the occupied state is the static point area, and the points in these grids will not be culled. Finally, the number of occupied squares num_occupy is counted, and the average value g_l of the maximum value of the static point area is calculated.

8. The dynamic point cloud recognition method based on a dual-resolution structure representation unit according to claim 1, characterized in that: Step 8 performs ground fitting on the static area as follows: Select the lower point as the seed point to get the initial estimated ground point set, which is represented as: In the above formula, l, t represent the index of the grid, represents the initial seed point set, S l,t represents all points in the dynamic area, z a is the average height value of the initial seed point, τseed represents the height boundary, and the covariance matrix of these points is calculated as follows: In the above formula, p j is the initial seed point, is the mean of the seed points. Next, the principal component method is used to obtain the three eigenvalues ​​and corresponding eigenvectors. The eigenvector with the smallest eigenvalue is selected as the initial normal vector of the ground. Let the normal vector be: n l,t =[a l,t ,b l,t ,c l,t ] The plane coefficient is calculated as: The resulting plane equation is: a l,t x+b l,t y+c l,t z+d l,t =0 Finally, potential static points below the plane are extracted as follows: I l,t }{p k |p k ∈S l,t ,d l,t -d k <τ g } Among them, d k is defined as: τ g Indicates the distance from the edge of the plane; The process of step 8 is repeated three times to fit a more accurate ground plane equation, and then the points above the ground are regarded as potential dynamic points and the points below the ground are regarded as static points.

9. The dynamic point cloud recognition method based on a dual-resolution structure representation unit according to claim 1, characterized in that: Step 10 uses the high continuity feature to restore the static points as follows; Utilize s h The maximum height of the points in the grid is used to evenly divide the height into four areas, and the proportion of points falling in each area to all points is calculated. The height division process is expressed as: The weight of each regional point is: Among them, N s is a point within a specific height area, N d For all dynamic points to be removed, if the proportion of a certain height area R is less than 2 / N d , restore all dynamic points to static points.

Citation Information

Patent Citations

  • A static map construction method based on probabilistic grid to remove dynamic objects

    CN115371662B

  • Point cloud map creation and scene identification method based on static semantic information

    CN112767485A

  • Unstructured road-oriented point cloud map construction and maintenance method

    CN114659513A