A method for online removal of dynamic traces from a point cloud map
By employing two-stage ground segmentation and voxel map management, combined with upward and downward retrieval techniques, the problem of removing dynamic traces in point cloud maps was solved, achieving efficient and accurate dynamic trace removal and meeting online processing requirements.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- NORTHEASTERN UNIV CHINA
- Filing Date
- 2024-01-03
- Publication Date
- 2026-06-02
Smart Images

Figure CN117830341B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of dynamic trace removal technology for point cloud maps, and more particularly to an online method for removing dynamic traces from point cloud maps. Background Technology
[0002] Clean and reliable maps play a crucial role in 3D reconstruction, autonomous robot navigation, autonomous driving, and environmental monitoring. Maps created by LiDAR sensors are called 3D point cloud maps, typically obtained by accumulating point cloud data collected by LiDAR frame by frame. Unfortunately, urban environments often contain numerous dynamic objects, which are also scanned into point cloud data by LiDAR. Moreover, as these objects move, a large number of points accumulate on the map along their movement trajectories, forming long, strip-like tracks. These points are commonly referred to as dynamic points, and the tracks they form are called dynamic tracks. Furthermore, these dynamic tracks can become obstacles in autonomous navigation and city modeling, affecting the subsequent use of the map. Therefore, dynamic track removal is essential for constructing clean point cloud maps.
[0003] Dynamic trace removal typically falls into two categories: offline removal and online removal. Offline removal involves first obtaining a prior map containing all dynamic traces, then processing that map to remove the dynamic traces, ultimately resulting in a map containing only static point clouds. Online removal, on the other hand, identifies and removes dynamic traces from the map during its construction, directly obtaining a static map.
[0004] Most offline dynamic trace removal methods are based on the fundamental idea of identifying dynamic traces by comparing the differences between a single-frame point cloud and a prior map. Common offline removal methods include ray projection, visual visibility, and traversability methods. These methods can achieve excellent dynamic trace removal results, but offline removal requires processing after map construction, increasing the time cost of map acquisition.
[0005] Online dynamic trace removal methods are mainly implemented through moving object segmentation algorithms, which often rely on deep learning. However, deep learning methods are heavily dependent on the dataset; if the actual scene differs significantly from the training scene, these methods often fail. Therefore, designing and implementing a method for online dynamic trace removal while simultaneously building a map has significant innovative and practical application value.
[0006] The Chinese patent "CN114926369A A Method for Removing Dynamic Obstacles from Laser Point Clouds Combined with Map Models" describes a technique that combines a map model to remove dynamic obstacles from laser point clouds, thereby improving vehicle positioning accuracy. The method first separates the ground from the current frame's point cloud, then compares the remaining point cloud with a high-precision map to remove dynamic point clouds. However, this method removes dynamic point clouds from the current frame, aiming to eliminate the influence of dynamic obstacles on vehicle positioning; therefore, it cannot obtain a clean and reliable map.
[0007] The Chinese patent "CN112270694B Method for Dynamic Target Detection in Urban Environment Based on LiDAR Scan Map" describes a method that projects LiDAR point clouds into panoramic depth images and establishes an index relationship between the panoramic depth image and the point cloud. After detecting the initial dynamic region and removing the background static region, it constructs a relevant change optical flow to remove pseudo-dynamic detection regions, and finally performs point clustering and region filling to complete the detection of dynamic targets in the urban environment. However, in the initial dynamic region detection, it only uses the information changes of two adjacent frames to detect dynamic targets, without using the complete map, and therefore cannot detect all dynamic targets. Summary of the Invention
[0008] The technical problem this invention aims to solve is to address the shortcomings of existing technologies by providing an online method for removing dynamic traces from point cloud maps. This method removes dynamic traces during the point cloud map construction process. Using LiDAR point clouds and the pose of each frame as input, it removes dynamic traces by comparing the observation time difference between the point cloud and the ground. This allows for the removal of dynamic traces during map construction, resulting in a clean and reliable static map and reducing the time cost of conventional offline removal methods.
[0009] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is: a method for removing dynamic traces from point cloud maps online, comprising the following steps:
[0010] Step 1: Use a two-stage ground segmentation process, coarse segmentation and fine segmentation, to obtain ground point sets and non-ground point sets;
[0011] A two-stage ground segmentation process is adopted: In the preprocessing stage, the LiDAR point cloud and the pose of each frame of point cloud are used as input, and the point cloud is coarsely segmented using a depth map-based ground segmentation method to remove most of the non-ground points to obtain a candidate ground point set; Principal component analysis (PCA) is used to refine the candidate ground point set to obtain the final ground point set, and points not included in the ground point set are included in the non-ground point set.
[0012] Step 2: Construct a voxel map and update the voxel map using radar frame indexing;
[0013] Using voxels as the basic unit for dynamic trace removal, a voxel map is constructed to manage the point cloud map;
[0014] The voxel map is divided into three parts: ground submap, non-ground submap, and dynamic submap. The three submaps share the same coordinate system and are stored separately. The voxels located in the ground submap, non-ground submap, and dynamic submap are respectively called ground voxels, non-ground voxels, and dynamic voxels. At the same time, the radar frame index of each point is stored. The smallest frame index represents the time when the voxel was first observed, and the largest frame index represents the time when the voxel was last observed.
[0015] Calculate the voxel coordinates of the ground point set and non-ground point set obtained from ground segmentation, and add the voxels to the ground submap and non-ground submap respectively to complete the map update;
[0016] Step 3: Use a dynamic voxel removal method based on downward and upward retrieval to eliminate dynamic voxels that "suddenly appear" and "suddenly disappear";
[0017] The observation time difference between the ground submap and the non-ground submap is compared by searching upwards and downwards, so as to remove dynamic voxels that "suddenly appear" and "suddenly disappear" respectively;
[0018] The downward search is as follows: calculate the voxels of the non-ground point set in the non-ground subgraph, take the voxel as the starting point, search downward in the ground subgraph to find the ground voxels below the voxel, and compare the observation time difference in these two voxels to determine the dynamic voxels.
[0019] The upward search is as follows: calculate the voxels of the ground point set in the ground submap, and starting from the voxel, search upward in the non-ground submap to find all non-ground voxels above the voxel; compare the observation time difference between the ground voxel and all non-ground voxels to determine the dynamic voxels.
[0020] The dynamic voxel is defined as follows: if a voxel contains dynamic points, it is considered a dynamic voxel.
[0021] The "suddenly appearing" dynamic voxel is defined as follows: at time t0, observation position P can only observe the ground and cannot observe non-ground target voxels; but starting from time t1, t1>t0, it can observe both ground and non-ground target voxels at the same time. Therefore, the non-ground target voxel is defined as the "suddenly appearing" dynamic voxel.
[0022] The dynamic voxel that "suddenly disappears" is defined as follows: at time t0, at observation position P, both ground and non-ground target voxels can be observed simultaneously, but starting from time t1 (t1>t0), only ground can be observed and non-ground target voxels cannot be observed; then, the non-ground target voxel is defined as the dynamic voxel that "suddenly disappears".
[0023] The dynamic voxel judgment method based on observation time difference is as follows: by comparing the time difference between the target voxel at the radar observation position and the ground, it is determined whether the voxel is a dynamic voxel, and dynamic voxels are divided into dynamic voxels that "suddenly appear" and "suddenly disappear".
[0024] Step 4: Use the static restoration method to recover the accidentally deleted static voxels and obtain a complete static voxel map;
[0025] Calculate the voxels of the non-ground point set in the dynamic subgraph, and starting from the voxel, search downwards in the ground subgraph to find the ground voxels below the voxel.
[0026] By comparing the total number of observations in these two voxels (i.e., comparing the total number of observations between the dynamic submap and the ground submap), it can be determined whether the voxel is a static voxel that was mistakenly removed. Static voxels that were mistakenly identified as dynamic are restored back to the non-ground submap to reduce the overall false alarm rate.
[0027] The beneficial effects of adopting the above technical solution are as follows: The method for removing dynamic traces from point cloud maps online provided by the present invention can remove dynamic traces without prior maps by comparing the observation time difference between ground sub-maps and non-ground sub-maps, and can directly obtain a clean static map.
[0028] This invention only requires comparing the observation time difference between non-ground and ground voxels in each iteration, and the number of voxels involved is much smaller than the number of point clouds per frame. Therefore, the processing time for each frame of point clouds is very short, which can meet the speed requirements of online processing. Attached Figure Description
[0029] Figure 1 This is a flowchart of a method for removing dynamic traces from point cloud maps online, provided by an embodiment of the present invention.
[0030] Figure 2 This is a schematic diagram of static voxel observation provided in an embodiment of the present invention;
[0031] Figure 3 is a schematic diagram of dynamic voxel observation provided in an embodiment of the present invention;
[0032] Figure 4 This is a schematic diagram of the downward retrieval principle provided in an embodiment of the present invention;
[0033] Figure 5 This is a schematic diagram of the upward retrieval principle provided in an embodiment of the present invention;
[0034] Figure 6 This is a comparison image of the dynamic trace removal effect before and after provided in an embodiment of the present invention. Detailed Implementation
[0035] The technical solutions in the specific embodiments will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described specific 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 based on the embodiments of the present invention without creative effort are within the scope of protection of the present invention.
[0036] The purpose of dynamic trace removal is to remove all dynamic points obtained from dynamic objects. Processing each point in the map individually is impractical for online workflows. Therefore, this invention uses voxels as the smallest unit for dynamic trace removal. If a voxel contains dynamic points, it is considered a dynamic voxel, and all points within that voxel are identified as dynamic points and deleted. Otherwise, the voxel is considered a static voxel. Furthermore, if a point in a voxel is in t... k If a voxel is observed at a given time, then it is assumed that the voxel is at time t. k The time can be observed; otherwise, it is assumed that the voxel is at t. k It cannot be observed at any moment.
[0037] Fundamentally, if a voxel in a map is static, then that voxel should be observed and disappear from the view of the map simultaneously with the ground it is situated on. For example... Figure 2 As shown, the box represents a voxel, containing a static object, and the triangle represents a specific location on the map corresponding to the box. The rectangular and sector-shaped gray areas represent the detection range of the ground and the LiDAR, respectively, with the LiDAR at the center of the sector. The arrow above the LiDAR indicates the direction of its movement. Initially, the LiDAR is far from the voxel, and neither the voxel nor the ground at its location can be observed. As the LiDAR moves, both the voxel and the ground at its location simultaneously enter its detection range and become observable. Then, as the LiDAR continues to move in the same direction, both the voxel and the ground at its location simultaneously disappear from its field of view. In other words, the voxel and the ground must appear and disappear simultaneously; if either condition is not met, the voxel is considered a dynamic voxel.
[0038] As shown in Figure 3(a), initially, the target voxel is outside the box, and the radar can only observe the ground at the box location, not the target voxel. After a period of time, the target voxel moves into the box. At this point, the radar can simultaneously observe both the target voxel and the ground at the box location. That is, within the radar's detection range, if the target voxel appears later than the ground, it is considered a "suddenly appearing" dynamic voxel. Similarly, as shown in Figure 3(b), initially, the radar can simultaneously observe both the ground at the box location and the target voxel. After a period of time, the target voxel moves out of the box location, and the radar can no longer observe it, but it can still observe the ground at the box location. The target voxel disappears earlier than the ground at the box location. That is, within the radar's detection range, if the target voxel disappears earlier than the ground, it is considered a "suddenly disappearing" dynamic voxel.
[0039] Based on the voxel definitions of "sudden appearance" and "sudden disappearance," a voxel is considered a "suddenly appearing" dynamic voxel if the first observation of a voxel occurs later than the observation of the ground below it. Conversely, if the last observation of a voxel occurs earlier than the observation of the ground, it is considered a "suddenly disappearing" dynamic voxel. We call this method of determining dynamic voxels the "observation time difference."
[0040] In this embodiment, a method for removing dynamic traces from point cloud maps online is described, such as... Figure 1 As shown, the implementation is based on three modules: ground segmentation, map management, and dynamic removal. The ground segmentation module uses the input point cloud and pose to transform the current frame's point cloud into the world coordinate system, dividing it into ground point sets and non-ground point sets, which are then sent to the map management module. Using voxels as the smallest unit of dynamic removal, the map management module constructs a voxel map, dividing the entire map into three parts: ground submap, non-ground submap, and dynamic submap. The map management module performs mutual conversions between the non-ground submap and the ground submap and dynamic submap based on the results of the dynamic removal module. The dynamic removal module includes three processing methods: downward retrieval, upward retrieval, and static restoration. Downward and upward retrieval determine dynamic voxels by comparing the observation time difference between the non-ground submap and the ground submap, while static restoration is responsible for finding incorrectly removed static voxels in the dynamic submap and restoring them to the static map. Specifically, it includes the following steps:
[0041] Step 1: Ground segmentation;
[0042] Since dynamic removal methods require continuous comparison of observation time differences between ground and non-ground voxels, the accuracy of ground segmentation will affect the accuracy of dynamic removal. In particular, since it is assumed that there are no dynamic points in the ground submap, if too many dynamic points are incorrectly classified into the ground point set, the effectiveness of dynamic removal may also be affected. Therefore, a two-stage ground segmentation process is adopted: first, a candidate ground point set is extracted through preprocessing, and then it is refined to obtain the final ground point set.
[0043] In preprocessing, the point cloud P of the current frame is first transformed into the world coordinate system using the input point cloud and pose, denoted as Pi. W This is then projected into image I, where the number of rows in image I corresponds to the number of laser beams from the sensor, and the number of columns corresponds to the number of points obtained per laser beam per frame. Each pixel in image I corresponds to P. W A point in the m-th row of image I. The coordinates of point p. m,n =(x m,n ,y m,n ,z m,n ) T The coordinates of point p in the (m+1)th row m+1,n =(x m+1,n ,y m+1,n ,z m+1,n ) T From point p m,n and point p m+1,n The elevation angle θ of the constituent vector can be calculated using the following formula:
[0044]
[0045] In the formula: p m,n =(x m,n ,y m,n ,z m,n ) T p represents the coordinates of the radar point corresponding to the pixel in the m-th row and n-th column of image I in the world frame. m+1,n =(x m+1,n ,y m+1,n ,z m+1,n ) T This represents the coordinates of the radar point in the world frame corresponding to the pixel in the (m+1)th row and nth column of image I.
[0046] If θ is less than the threshold τ θ Then point p m,n Add to the alternative ground point set c In G, after processing all points, the final set of candidate ground points is obtained. c G. Because a relatively lenient threshold τ was set during the preprocessing process. θThis process classifies more ground points into the candidate ground point set. However, it also incorrectly classifies some non-ground points into the candidate ground point set. Therefore, further refinement is needed to address this issue.
[0047] Obtain candidate ground point set c After G, PCA is introduced for further refinement. Based on the initial ground point set obtained using the point cloud height, PCA is used iteratively to obtain the final ground point set. Generally, vehicle-mounted radars are placed at a fixed position on the vehicle body, and the radar's height h relative to the ground can be obtained in advance.
[0048] The initial ground points are set as follows:
[0049] G 0 ={p i |p i ∈ c G,h-τ seed <z i <h+τ seed} (2)
[0050] In the formula: τ seed It is the preset initial ground point height threshold, G 0 Let p represent the initial set of ground points. i Represents the candidate ground point set c A point in G, z i p i The coordinates of the point on the z-axis.
[0051] Then the iteration begins. For the ground point set G in the κ-th iteration... κ Calculate the mean coordinates of all points in the ground point set. With covariance matrix Σ κ as follows:
[0052]
[0053] Where n is G κ The total number of midpoints. Then, for the covariance matrix Σ κ Perform SVD decomposition. (The Σ...) κ The singular value vector corresponding to the smallest singular value is used as the plane normal vector. Construct the point-normal plane equation as follows:
[0054]
[0055] After obtaining the plane equation, solve sequentially... c Every point p in G i Distance d to the plane i If it is less than the preset threshold τ h Then pi Add to the ground point set G in the next round κ+1 In, that is:
[0056] G κ+1 ={p i |p i ∈ c G,d i <τ h} (5)
[0057] Then begin the (κ+1)th iteration. Stop iterating when the maximum number of iterations is reached, obtaining the final ground point cloud G. W The remaining points are non-ground point clouds U. W .
[0058] Since most non-ground points have been removed from the candidate ground point set after preprocessing, performing PCA on the candidate ground point set will be more accurate and allows for setting a more stringent threshold τ. h This is to ensure that dynamic points are removed as much as possible.
[0059] Step 2: Construct a voxel map and update the voxel map using radar frame indexing;
[0060] Using voxels as the basic unit for dynamic trace removal, a voxel map is constructed to manage the point cloud map. The voxel map is divided into three parts: a ground submap... Non-ground submap and dynamic subgraph The three subgraphs share the same coordinate system but are stored separately. The voxels located in the ground subgraph, non-ground subgraph, and dynamic subgraph are respectively called ground voxels, non-ground voxels, and dynamic voxels.
[0061] Simultaneously, store the radar frame index for each point, and record all frame indices in a set, denoted as . Minimum frame index γ min γ represents the time when the voxel was first observed; maximum frame index γ max , representing the time when the voxel was last observed.
[0062] t k+1 The ground point set and non-ground point set at time are denoted as follows: and Then, by calculating the voxel coordinates of each point, they are added to the ground submap respectively. Non-ground submap middle.
[0063] Step 3: Search downwards to remove dynamic voxels that "suddenly appear";
[0064] The purpose of downward retrieval is to remove t k Non-ground subgraph of time The dynamic voxels that "suddenly appear" in the text. Take them out one by one. For each point in the voxel coordinate V i Find V in the non-ground subgraph i Non-terrestrial voxels at location n V i Statistical voxels n V i All frame indices in the set, and denote the smallest frame index as . n γ min This represents the moment when the non-terrestrial voxel was first observed.
[0065] Then, in the ground subplot, using voxel coordinates V i Based on this, search for ground voxels within 3 meters downwards along the z-axis. g V i If not found, then it proves... n V i These are voxels in the high atmosphere, dynamic targets that shouldn't exist. If found, then statistical analysis is performed. g V i All frame indices in the set, and denote the smallest frame index as . g γ min This represents the moment when the voxel on that surface was first observed.
[0066] Finally, comparing the times of the first observation of ground voxels and non-ground voxels, if the time of the first observation of non-ground voxels is much later than the time of the first observation of ground voxels:
[0067] n γ min - g γ min >τ sea (6)
[0068] Then prove n V i For dynamic voxels that "appear suddenly", n V i All points and all frame indices are moved to the dynamic subgraph. Where τ sea This is a preset time difference threshold.
[0069] like Figure 4As shown, the image on the left represents the i-th radar frame, and the image on the right represents the j-th radar frame (j>i). Points observed by the radar are represented by dots. The target was located at position E in the i-th lidar frame and moved to position C in the j-th lidar frame. Therefore, the non-ground voxel (C,4) was first observed in the j-th frame, so the smallest radar frame index in (C,4) is denoted as j. Then, starting from (C,4), the ground voxel (C,2) below it is found by descending along the z-axis. Since (C,2) was already observed in the i-th frame, the smallest radar frame index in (C,2) is i. According to formula (6), if ji>τ ret Then, the non-ground voxel (C,4) is considered a dynamic voxel.
[0070] Step 4: Search upwards to remove dynamic voxels that "suddenly disappear";
[0071] The purpose of upward retrieval is to remove t k Non-ground subgraph of time The dynamic voxels that "suddenly disappear" in the text. Take them out one by one. For each point in the map, the corresponding voxel in the ground submap is: g V i ,statistics g V i All frame indices are in the set, and the largest frame index is denoted as . g γ max This represents the most recent observation time of that ground voxel. Search upwards within 3 meters for all voxels in the non-ground submap, checking each non-ground voxel sequentially. n V i ,statistics n V i All frame indices are listed, and the largest frame index is denoted as . n γ max , representing the moment when the non-terrestrial voxel was last observed.
[0072] Compare the times of the most recent observation of ground voxels and non-ground voxels. If the most recent observation of ground voxels is much later than the observation of non-ground voxels, that is:
[0073] g γ max - n γ max >τ sea
[0074] This proves that the non-terrestrial voxel n V i For dynamic targets that "suddenly disappear". n V iAll points and all frame indices are moved to the dynamic subgraph.
[0075] like Figure 5 As shown, the last observed ground voxel (E,2) was in the j-th frame. Therefore, the largest radar frame index in (E,2) is denoted as j. Then, we find the non-ground voxel (E,4) by moving upwards along the z-axis from (E,2). Since the last observed (E,4) was in the i-th frame, the largest radar frame index in (E,4) is i. According to formula (6), if ji>τ ret Then, the non-ground voxel (E,4) is considered a dynamic voxel.
[0076] Step 5: Static restoration, recover the accidentally deleted static voxels, and obtain a complete map of static voxels;
[0077] Downward and upward searches removed dynamic voxels that "suddenly appeared" and "suddenly disappeared," respectively. Due to the influence of ground slope and radar measurement noise, some static voxels may be incorrectly identified as dynamic voxels. Therefore, a static recovery module is introduced to restore these misclassified static voxels back to the non-ground submap. The identification of static voxels is based on the characteristic that they always appear and disappear simultaneously with the ground and are similar to the total number of ground observations. The specific method is as follows:
[0078] Take them out one by one For each point in the voxel coordinate V i Find V in the dynamic subgraph i Dynamic voxels at position d V i Statistical voxels d V i The total number of middle frame indices, and denoted as d γ sum , representing the total number of times the dynamic voxel was observed.
[0079] Then, in the ground subplot, using voxel coordinates V i Based on this, search for ground voxels within 3 meters downwards along the z-axis. g V i If found, then count. g V i The total number of middle frame indices, and denoted as g γ sum , representing the total number of times that ground voxel was observed.
[0080] if g γ sum and d γ sum The difference between them is less than a predefined threshold τ res Then prove dV i It is a misidentified static voxel. d V i All points and all frame indices are moved back to the non-ground subgraph.
[0081] In this embodiment, the schematic diagrams before and after dynamic trace removal are as follows: Figure 6 As shown: Figure 6 The two images in the upper middle section are the original map and a magnified view of a part containing dynamic voxels. Figure 6 The two images in the lower half are a static map constructed by the method of this invention and a magnified view of the original location containing dynamic voxels. The dark gray covered area in the circle is the trace left by the dynamic voxels.
[0082] This embodiment was experimentally validated on the SemanticKITTI dataset, the UrbanLoca dataset, and a self-collected campus dataset. The SemanticKITTI dataset, a classic dataset in the fields of robotics and autonomous driving, includes various scenes such as urban areas, suburbs, and highways, as well as various dynamic targets such as pedestrians, cars, and bicycles. This embodiment achieved an average dynamic removal rate of 98.229% and an average static retention rate of 98.064% on the SemanticKITTI dataset.
[0083] To demonstrate the effectiveness of dynamic trace removal in more challenging scenarios, this embodiment also conducted experimental verification on the UrbanLoca dataset and a self-collected campus dataset. The UrbanLoca dataset mainly depicts urban scenes, but it includes a large number of moving cars and challenging scenarios such as traffic jams and close following. The campus dataset was collected during students' break time and includes a large number of pedestrians and bicycles.
[0084] In this embodiment, the average dynamic removal rate reaches 96.489% and the average static retention rate reaches 98.452% on the UrbanLoca dataset. On the Campus dataset, the average dynamic removal rate reaches 97.0131% and the average static retention rate reaches 98.686%. Compared to the SemanticKITTI dataset, the UrbanLoca and Campus datasets contain more dynamic targets, resulting in slightly lower dynamic removal rates, but both remain above 95%, demonstrating the effectiveness of this invention in removing dynamic traces in more challenging scenarios.
[0085] In this embodiment, each iteration only needs to compare the observation time difference between non-ground and ground voxels, and the number of voxels involved is much smaller than the number of point clouds per frame. Therefore, the processing time for each frame of point clouds is only 25.9ms, which can fully meet the requirements of online processing.
[0086] The above embodiments are merely exemplary embodiments of this application and are not intended to limit this application. The scope of protection of this application is defined by the claims. Those skilled in the art can make various modifications or equivalent substitutions to this application within its substance and scope of protection, and such modifications or equivalent substitutions should also be considered to fall within the scope of protection of this application.
Claims
1. A method for removing dynamic traces from point cloud maps online, characterized in that: The steps include the following: Step 1: Use a two-stage ground segmentation process, coarse segmentation and fine segmentation, to obtain ground point sets and non-ground point sets; The two-stage ground segmentation process is as follows: In the preprocessing stage, the LiDAR point cloud and the pose of each frame of point cloud are used as input, and the point cloud is coarsely segmented using a depth map-based ground segmentation method to remove most of the non-ground points and obtain a candidate ground point set. Principal component analysis is used to refine the candidate ground point set to obtain the final ground point set. Points not included in the ground point set are placed in the non-ground point set. Step 2: Construct a voxel map and update the voxel map using radar frame indexing; Step 3: Use a dynamic voxel removal method based on downward and upward retrieval to remove dynamic voxels that "suddenly appear" and "suddenly disappear"; The dynamic voxel that "suddenly appears" is: at time... At observation position P, only the ground can be observed, and non-ground target voxels cannot be observed; however, from... From the moment on, If both ground and non-ground target voxels can be observed simultaneously, then the non-ground target voxel is defined as a "suddenly appearing" dynamic voxel. The dynamic voxel that "suddenly disappears" is: at time... The observation position P can simultaneously observe ground and non-ground target voxels, but from From the moment on, If only the ground can be observed and non-ground target voxels cannot be observed, then the non-ground target voxel is defined as a dynamic voxel that "suddenly disappears". Step 4: Use the static restoration method to recover the accidentally deleted static voxels and obtain a complete static voxel map; Calculate the voxels of the non-ground point set in the dynamic subgraph. Starting from the voxel, search downwards in the ground subgraph to find the ground voxels below it. Compare the total number of observations of these two voxels. By comparing the total number of observations between the dynamic subgraph and the ground subgraph, determine whether the voxel is a static voxel that was mistakenly removed. Static voxels that were mistakenly identified as dynamic are restored back to the non-ground subgraph.
2. The method for removing dynamic traces from point cloud maps online according to claim 1, characterized in that: Step 2 uses voxels as the basic unit for dynamic trace removal to construct a voxel map and manage the point cloud map.
3. The method for removing dynamic traces from point cloud maps online according to claim 2, characterized in that: The voxel map is divided into three sub-maps: ground sub-map, non-ground sub-map, and dynamic sub-map. The three sub-maps share the same coordinate system but are stored separately. Voxels located in the ground submap, non-ground submap, and dynamic submap are respectively called ground voxels, non-ground voxels, and dynamic voxels.
4. The method for removing dynamic traces from point cloud maps online according to claim 3, characterized in that: Step 2 updates the voxel map using the radar frame index, specifically as follows: Store the radar frame index for each point. The smallest frame index represents the time when the voxel was first observed, and the largest frame index represents the time when the voxel was last observed. Obtain the voxel coordinates of the ground point set and the non-ground point set, and add the voxels to the ground submap and the non-ground submap respectively to complete the map update.
5. The method for removing dynamic traces from point cloud maps online according to claim 4, characterized in that: In step 3, the downward search involves calculating the voxels of the non-ground point set in the non-ground subgraph, using the voxel as the starting point, and searching downwards in the ground subgraph to find the ground voxels below the voxel. The observation time difference between these two voxels is then compared to determine the dynamic voxel.
6. The method for removing dynamic traces from point cloud maps online according to claim 5, characterized in that: In step 3, the voxels of the ground point set in the ground submap are calculated by searching upwards. Starting from the voxel, the voxels are searched upwards in the non-ground submap to find all non-ground voxels above the voxel. The observation time difference between the ground voxel and all non-ground voxels is compared to determine the dynamic voxels.
7. The method for removing dynamic traces from point cloud maps online according to claim 6, characterized in that: In step 3, a dynamic voxel refers to a voxel that contains dynamic points.