A dynamic point cloud culling method for lidar simultaneous localization and mapping
By using an improved SalsaNext++ neural network and a diamond context module for dynamic point cloud culling, the problem of insufficient recognition capability in existing technologies is solved, achieving high-precision point cloud registration and map construction, and improving the robustness and accuracy of the SLAM system.
Patent Information
- Application Number
- CN202411702342.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-25
- Publication Date
- 2026-02-10
- Estimated Expiration
- 2044-11-25
AI Technical Summary
Existing technologies for dynamic point cloud data removal suffer from insufficient recognition capabilities, low efficiency and accuracy of removal algorithms, and high dependence on sensor accuracy and environmental conditions, which affects the robust performance and high-precision positioning and mapping of SLAM systems.
An improved SalsaNext++ neural network is used for point cloud semantic segmentation. Combined with a diamond context module and feature extraction method, dynamic point clouds are identified and removed in real time. Motion distortion is corrected through point cloud registration and odometry, thus optimizing the map building process.
It improves the semantic segmentation accuracy of point cloud data, effectively removes dynamic objects, enhances point cloud registration accuracy and map building quality, and strengthens the robustness and accuracy of SLAM system in complex environments.
Smart Images

Figure CN119649041B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to vehicle positioning and mapping technology and methods, and in particular to a dynamic point cloud removal method for simultaneous positioning and mapping using lidar. Background Technology
[0002] In the field of autonomous driving, LiDAR simultaneous localization and mapping (SLAM) technology has been widely used for vehicle localization and building high-precision maps of the surrounding environment. However, LiDAR SLAM systems often face many challenges in dynamic mapping, such as the interference of dynamic objects (including pedestrians and moving vehicles) on point cloud registration and map building.
[0003] In existing technologies, various methods have been proposed for processing and applying LiDAR point cloud data, but little attention has been paid to the problem of dynamic point cloud data removal. For example, patent CN118429637A proposes a semantic segmentation method for point clouds at road intersections, which improves semantic segmentation performance through an improved RandLA-Net network and a weighted cross-entropy loss function, but does not specifically address the removal of dynamic point clouds. Patent CN118447248A proposes a high-precision map generation method for autonomous driving based on LiDAR. Although it adopts a PointNet-based semantic segmentation algorithm for unordered point clouds, it also does not focus on the processing of dynamic point clouds. In addition, some existing technologies remove dynamic point clouds through geometric features and motion information, but these methods suffer from problems such as complex parameter settings and high requirements for sensor accuracy and environmental conditions. For example, patent CN116385292A proposes an IMU-assisted LiDAR dynamic point cloud removal method. This method collects LiDAR and IMU data, performs time synchronization and coordinate system relative spatial transformation parameter calibration, uses IMU information to help remove motion distortion of LiDAR point clouds, and uses a multi-level fuzzy comprehensive evaluation model to determine the motion state of point cloud clusters, thereby removing dynamic point clouds. However, there are still difficulties in setting the parameters of the evaluation model, which may affect the accuracy and application scope of the model.
[0004] In summary, further research and development are needed in dynamic point cloud data removal to improve the ability to identify dynamic objects, optimize the efficiency and accuracy of removal algorithms, reduce dependence on sensor accuracy and environmental conditions, and ultimately achieve robust performance and high-precision localization and mapping of SLAM systems in various complex dynamic environments. Furthermore, simplifying parameter setting procedures and improving the model's adaptability and generalization ability are also important directions for promoting technological development in this field. Summary of the Invention
[0005] Purpose of the invention: The purpose of this invention is to provide a dynamic point cloud removal method for simultaneous localization and mapping of lidar.
[0006] Technical solution: The dynamic point cloud culling method for simultaneous localization and mapping of lidar, as described in this invention, includes the following steps:
[0007] Step 1: Design of point cloud semantic segmentation network: Taking into account hardware resource utilization, computational efficiency and training complexity, the SalsaNext neural network is selected as the basic model for semantic segmentation of LiDAR point cloud data. Based on the SalsaNext neural network, the LiDAR point cloud data semantic segmentation network SalsaNext++ is designed.
[0008] Step 2: Point cloud semantic segmentation network training: Use the point cloud dataset Semantic-KITTI to train a semantic segmentation network, extract features and classify the input point cloud data, and assign the point cloud to predefined semantic categories, such as vehicles, pedestrians and buildings.
[0009] Step 3: Point cloud semantic segmentation: Integrate the trained SalsaNext++ semantic segmentation network into the LiDAR synchronous localization and mapping front-end system to process LiDAR point cloud data in real time and identify dynamic point clouds (such as moving vehicles, pedestrians, etc.) and static point clouds (such as roads, buildings, etc.) through semantic segmentation.
[0010] Step 4: Dynamic point cloud removal: For the identified dynamic point clouds, based on the semantic labels added when assigning them to the predefined semantic categories, the point cloud removal algorithm and program are used to remove them, retaining only the static point clouds for subsequent vehicle pose estimation and map building.
[0011] Step 5: Front-end odometry: In the front-end odometry module of the LiDAR synchronous positioning and mapping system, the static point cloud data after removing dynamic point clouds is used to quickly estimate the pose transformation between adjacent LiDAR data frames through feature-based point cloud registration. The motion of the LiDAR is estimated to correct the distortion of the point cloud, providing the static point cloud with inter-frame pose transformation and distortion correction for the back-end optimization of LiDAR synchronous positioning and mapping.
[0012] Step 6: Backend optimization and map building: The backend optimization and map building module receives the point cloud and inter-frame pose transformation after distortion correction from the front-end odometer, performs global registration on the multi-frame point cloud, merges the point cloud data into the world map for map update, and merges the obtained global pose transformation with the inter-frame pose transformation to estimate the motion state of the LiDAR relative to the map.
[0013] Preferably, step 1 includes the following sub-steps:
[0014] Step 1-1: The SalsaNext network, proposed in 2020, still ranks highly in the semantic segmentation leaderboard of the Semantic-KITTI dataset for point clouds. Moreover, it has low requirements for hardware storage and computing power, relatively low training complexity, and relatively short training time. Therefore, the SalsaNext neural network was chosen as the basic model for semantic segmentation of LiDAR point cloud data. Based on the SalsaNext neural network, an improved SalsaNext++ neural network model (hereinafter referred to as the SalsaNext++ network) was proposed. A new global context module, named the Diamond Context Module (DCB), was introduced into the SalsaNext++ network.
[0015] Steps 1-2: Map the point cloud data onto a two-dimensional sphere using the spherical projection method, and input the two-dimensional point cloud data into the DCB to output context information at different scales;
[0016] Steps 1-3: In the SalsaNext++ network encoding stage, features of two-dimensional point cloud data are extracted by expanding convolutional layers, gradually reducing the spatial dimension of the data, while increasing the number of channels to capture richer target features;
[0017] Steps 1-4: After dilating the convolutional layers in the SalsaNext++ network, average pooling layers are used to further reduce the spatial resolution of the features while increasing the level of abstraction of the features, providing a more compact feature representation for the deep network.
[0018] Steps 1-5: In the SalsaNext++ network decoding stage, a pixel shuffling layer is used to upsample the feature map output from the encoding stage to restore the spatial dimension of the data and provide the necessary spatial information for accurate semantic segmentation.
[0019] Steps 1-6: The feature maps from the encoding stage are fused with the upsampled features from the decoding stage through residual connections to enhance the network's ability to capture the local structure of the point cloud, thereby improving the accuracy of segmentation details.
[0020] Steps 1-7: After feature fusion, multi-scale convolutional layers are used to synthesize and refine features at different scales, thereby enhancing the network's semantic understanding of point clouds.
[0021] Steps 1-8: In the final stage of the SalsaNext++ network, in order to match the number of semantic label categories, the number of channels is adjusted again. Through the activation function layer, the fused features are converted into the semantic category probability distribution of each point, thus completing the semantic segmentation task of the point cloud.
[0022] Preferably, step 3 includes the following sub-steps:
[0023] Step 3-1: Set up a workspace in the ROS environment and create a new ROS package to encapsulate all relevant code and dependencies;
[0024] Step 3-2: Create and initialize a semantic segmentation node in the ROS environment. This node will be responsible for receiving LiDAR point cloud data and performing semantic segmentation using the SalsaNext++ model.
[0025] Step 3-3: Load the trained SalsaNext++ model weight file into the semantic segmentation node, and configure the semantic segmentation node parameters, including the topic name of the input point cloud data, the topic name of the output point cloud data with semantic labels, and the processing frequency.
[0026] Steps 3-4: The semantic segmentation node subscribes to the topic of raw point cloud data published by the LiDAR node, uses the SalsaNext++ model to perform semantic segmentation inference on the preprocessed point cloud data, obtains the semantic probability distribution of each point, and assigns a semantic label to each point accordingly.
[0027] Steps 3-5: Publish the point cloud data with semantic tags to the specified ROS topic for use by the dynamic point cloud culling node.
[0028] Preferably, step 4 includes the following sub-steps:
[0029] Step 4-1: Create and initialize a dynamic point cloud culling node in the ROS environment. This node is responsible for processing the point cloud data after semantic segmentation.
[0030] Step 4-2: Configure the parameters for dynamic point cloud node removal, including the topic name of the subscribed point cloud data with semantic tags, the topic name of the published static point cloud data, the semantic tag threshold of the dynamic point cloud, and the processing frequency.
[0031] Step 4-3: Dynamically remove nodes from the point cloud to subscribe to semantically tagged point cloud data topics processed and published by the SalsaNext++ network;
[0032] Step 4-4: For each point cloud data, check its semantic label. If the semantic label indicates that the point belongs to a dynamic object (such as a pedestrian or a moving vehicle), then mark the point as a dynamic point cloud and remove it.
[0033] Steps 4-5: Dynamic Point Cloud Node Removal After completing the dynamic point cloud node removal, the processed static point cloud data is published to the designated topic for use by the LiDAR synchronous positioning and mapping front-end module.
[0034] Preferably, step 5 includes the following sub-steps:
[0035] Step 5-1: Register the processed static point cloud into the lidar coordinate system {L} to obtain the point cloud P obtained by the lidar scan in the kth frame. k ;
[0036] Step 5-2: Define i as the lidar point cloud P k A point, i∈P k Let S be the set of consecutive points i returned by the laser scanner in the same scan. Point cloud features are extracted based on different curvatures. Using five points before and after a given point along each laser scan line, the distance c from the average value of these five points to that point represents the curvature of that point. Planar points and edge points are then extracted from the static point cloud. The specific formula is as follows:
[0037]
[0038] in, P is the point cloud of the kth scan in the L (radar) coordinate system. k The i-th point in for The surrounding points.
[0039] Step 5-3: Perform feature matching, matching the edge points and planar points of the current frame with the corresponding feature points in the previous frame to determine their correspondence. The matching process aims to minimize the distance from the edge point pair to the assumed line and the distance from the planar point to the assumed plane.
[0040] Step 5-4: Using the Levenberg-Marquardt (LM) iterative solution method, estimate the pose of the lidar, obtain the inter-frame pose estimate of the lidar, and correct the motion distortion of the point cloud accordingly to obtain the distortion-free static point cloud.
[0041] Step 5-5: Send the calculated inter-frame pose transformation of the LiDAR and the distortion-free static point cloud to the backend optimization and map building module for pose fusion estimation of the global pose of the LiDAR in the world coordinate system and map update.
[0042] Preferably, step 6 includes the following sub-steps:
[0043] Step 6-1: Initialize the global map, using the inter-frame pose transformation and the corresponding distortion-free static point cloud data provided by the front-end odometry module as the initial state;
[0044] Step 6-2: Apply the LM method to optimize the preliminary pose estimation provided by the front end. In the optimization process, consider the relative pose transformation between multiple consecutive LiDAR data frames during the mapping process, and fuse it with the inter-frame pose transformation provided by the front end odometry to obtain the global pose estimation of the LiDAR relative to the map.
[0045] Step 6-3: Update the global map using the optimized global pose estimation. Register the static point cloud data after distortion correction from multiple consecutive frames provided by the front-end odometry to the map coordinate system to achieve map update and ensure the geometric consistency and accuracy of the map.
[0046] Step 6-4: In each iteration, evaluate the optimization results and determine whether the termination condition is met. If it is met, the optimization process ends; if not, continue to the next round of optimization to finally generate a high-precision static map.
[0047] Compared with the prior art, the present invention has the following beneficial effects:
[0048] (1) High-precision semantic segmentation: The SalsaNext++ semantic segmentation network proposed in this invention can provide higher resolution and more accurate semantic segmentation by introducing an improved global context module (DCB), which enhances the ability to express features of different scales in point cloud data and improves the accuracy of segmentation details.
[0049] (2) Effective removal of dynamic point clouds: The present invention adopts a semantic segmentation method based on SalsaNext++ neural network, which can accurately classify the LiDAR point cloud semantically, effectively identify and remove dynamic objects, such as moving vehicles and pedestrians, reduce the negative impact of dynamic environment on SLAM system performance, and improve the accuracy of point cloud registration and the quality of map construction.
[0050] (3) It effectively removes dynamic point clouds from laser point cloud data, thereby improving the accuracy of point cloud registration and the accuracy of point cloud map construction. Attached Figure Description
[0051] Figure 1 This is a flowchart illustrating the dynamic point cloud removal method in this invention.
[0052] Figure 2 This is a schematic diagram of the semantic segmentation model architecture selected in this invention;
[0053] Figure 3 This is a schematic diagram of the improved context module architecture in this invention;
[0054] Figure 4 A schematic diagram of the LOAM algorithm structure for simultaneous localization and mapping using lidar. Detailed Implementation
[0055] 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, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0056] The dynamic point cloud culling method for simultaneous localization and mapping of lidar in this embodiment is as follows: Figure 1 As shown, it includes:
[0057] Step 1: Point Cloud Semantic Segmentation Network Design: Considering hardware resource utilization, computational efficiency, and training complexity, the SalsaNext neural network is selected as the basic model for semantic segmentation of LiDAR point cloud data. Based on the SalsaNext neural network, the SalsaNext++ semantic segmentation network for LiDAR point cloud data is designed; specifically:
[0058] Step 1-1: The SalsaNext network, proposed in 2020, still ranks highly in the semantic segmentation leaderboard of the Semantic-KITTI dataset for point clouds. Furthermore, it has low requirements for hardware storage and computing power, relatively low training complexity, and relatively short training time. Therefore, the SalsaNext neural network was chosen as the basic model for semantic segmentation of LiDAR point cloud data. Based on the SalsaNext neural network, an improved SalsaNext++ neural network model (hereinafter referred to as the SalsaNext++ network) was proposed. A spherical projection method was used to map the point cloud data onto a two-dimensional sphere. At this point, the two-dimensional point cloud image is [w×h×5], where w and h represent the width and height of the image, as shown below. Figure 2 The value can be set to [2048×64×5];
[0059] Steps 1-2: As Figure 3 As shown, a new global context module, named Diamond Context Block (DCB), is introduced in the SalsaNext++ network. Two-dimensional point cloud data is input into the DCB to output context information at different scales, with the number of channels increasing from 5 to 32.
[0060] Steps 1-3: In the SalsaNext++ network encoding stage, features of two-dimensional point cloud data are extracted by expanding convolutional layers, gradually reducing the spatial dimension of the data. At the same time, richer target features are captured by increasing the number of channels, with the number of channels changing from 32 to 64 to 128 to 256.
[0061] Steps 1-4: After dilating the convolutional layers in the SalsaNext++ network, average pooling layers are used to further reduce the spatial resolution of the features while increasing the abstraction level of the features, providing a more compact feature representation for the deep network. The point cloud size changes from 2048×64 to 512×32 to 256×16 to 128×8 to 64×4.
[0062] Steps 1-5: In the SalsaNext++ network decoding stage, the pixel shuffling layer is used to upsample the feature map output from the encoding stage to restore the spatial dimension of the data and provide the necessary spatial information for accurate semantic segmentation. The point cloud size changes from 64×4 to 128×8 to 256×16 to 512×32 to 1024×64.
[0063] Steps 1-6: The feature maps from the encoding stage are fused with the upsampled features from the decoding stage through residual connections to enhance the network's ability to capture the local structure of the point cloud, thereby improving the accuracy of segmentation details.
[0064] Steps 1-7: After feature fusion, multi-scale convolutional layers are used to synthesize and refine features at different scales, enhancing the network's semantic understanding of point clouds. The number of channels changes from 256 to 128 to 64 to 32.
[0065] Steps 1-8: In the final stage of the SalsaNext++ network, in order to match the number of semantic label categories, the number of channels is adjusted again, resulting in an output of [2048×64×20]. Through the activation function layer, the fused features are converted into the semantic category probability distribution of each point, thus completing the semantic segmentation task of the point cloud.
[0066] Step 2: Point cloud semantic segmentation network training: Use the point cloud dataset Semantic-KITTI to train a semantic segmentation network, extract features and classify the input point cloud data, and assign the point cloud to predefined semantic categories, such as vehicles, pedestrians and buildings.
[0067] Step 3: Point Cloud Semantic Segmentation: The trained SalsaNext++ semantic segmentation network is integrated into the LiDAR simultaneous localization and mapping front-end system to process LiDAR point cloud data in real time. Semantic segmentation is used to identify dynamic point clouds (such as moving vehicles and pedestrians) and static point clouds (such as roads and buildings). Specifically:
[0068] Step 3-1: Set up a workspace in the ROS environment and create a new ROS package to encapsulate all relevant code and dependencies;
[0069] Step 3-2: Create and initialize a semantic segmentation node in the ROS environment, named semantic_segmentation_node. This node will be responsible for receiving LiDAR point cloud data and performing semantic segmentation using the SalsaNext++ model.
[0070] Step 3-3: Load the trained SalsaNext++ model weight file into the semantic segmentation node, configure the semantic segmentation node parameters, the topic name of the input point cloud data is Lidar_points, the topic name of the output point cloud data with semantic labels is Points_with_labels, and the processing frequency is 10Hz.
[0071] Steps 3-4: The semantic segmentation node subscribes to the topic "Lidar_points" of the raw point cloud data published by the LiDAR node, and uses the SalsaNext++ model to perform semantic segmentation inference on the preprocessed point cloud data to obtain the semantic probability distribution of each point, and assigns a semantic label to each point accordingly.
[0072] Steps 3-5: Publish the point cloud data with semantic labels to topic P o The `ints_with_labels` property is used for dynamically removing nodes from point clouds.
[0073] Step 4: Dynamic Point Cloud Removal: For the identified dynamic point clouds, based on the semantic labels added when assigning them to predefined semantic categories, point cloud removal algorithms and programs are used to remove them, retaining only static point clouds for subsequent vehicle pose estimation and map building. Specifically:
[0074] Step 4-1: Create and initialize a dynamic point cloud culling node in the ROS environment, named dynamicpoint_cloud_filter_node. This node is responsible for processing the point cloud data after semantic segmentation.
[0075] Step 4-2: Configure the parameters for dynamic point cloud node removal. The topic name for subscribing to semantically labeled point cloud data is Points_with_1abels, the topic name for publishing static point cloud data is Static_Lidar_points, the semantic label threshold for dynamic point clouds is 252, and the processing frequency is 10Hz.
[0076] Step 4-3: Dynamically remove nodes from the point cloud to subscribe to the semantically labeled point cloud data topic Points_with_labels processed and published by the SalsaNext++ network;
[0077] Step 4-4: For each point cloud data, check its semantic label. If the data represented by the semantic label is greater than or equal to the threshold, it indicates that the point belongs to a dynamic object (such as a pedestrian or a moving vehicle). Then mark the point as a dynamic point cloud and remove it.
[0078] Steps 4-5: Dynamic Point Cloud Node Removal After completing the dynamic point cloud node removal, the processed static point cloud data is published to the topic Static_Lidar_points for use by the LiDAR synchronous positioning and mapping front-end module.
[0079] Step 5: Front-end Odometry: In the front-end odometry module of the LiDAR simultaneous localization and mapping system, using static point cloud data after removing dynamic point clouds, the pose transformation between adjacent LiDAR data frames is quickly estimated through feature-based point cloud registration. The estimated LiDAR motion is used for point cloud distortion correction, providing inter-frame pose transformation and distorted static point clouds for back-end optimization of LiDAR simultaneous localization and mapping. Specifically:
[0080] Step 5-1: Register the processed static point cloud into the lidar coordinate system {L} to obtain the point cloud P obtained by the lidar scan in the kth frame. k ;
[0081] Step 5-2: Define i as the lidar point cloud P k A point, i∈P k Let S be the set of consecutive points i returned by the laser scanner in the same scan. Point cloud features are extracted based on different curvatures. Using five points before and after a given point along each laser scan line, the distance c from the average value of these five points to that point represents the curvature of that point. Planar points and edge points are then extracted from the static point cloud. The specific formula is as follows:
[0082]
[0083] in, P is the point cloud of the kth scan in the L (radar) coordinate system. k The i-th point in for The surrounding points.
[0084] Step 5-3: Perform feature matching, matching the edge points and planar points of the current frame with the corresponding feature points in the previous frame to determine their correspondence. The matching process aims to minimize the distance from the edge point pair to the assumed line and the distance from the planar point to the assumed plane. Step 5-4: Use the Levenberg-Marquardt (LM) iterative solution method to estimate the pose of the lidar, obtain the inter-frame pose estimate of the lidar, and correct the motion distortion of the point cloud accordingly to obtain the distortion-free static point cloud.
[0085] Step 5-5: Send the calculated inter-frame pose transformation of the LiDAR and the distortion-free static point cloud to the backend optimization and map building module for pose fusion estimation of the global pose of the LiDAR in the world coordinate system and map update.
[0086] Step 6: Backend Optimization and Map Building: The backend optimization and map building module receives the distortion-corrected point cloud and inter-frame pose transformation from the front-end odometry system. It performs global registration on the multi-frame point cloud, merges the point cloud data into the world map for map updates, and fuses the obtained global pose transformation with the inter-frame pose transformation to estimate the motion state of the LiDAR relative to the map. Specifically:
[0087] Step 6-1: Initialize the global map, using the inter-frame pose transformation and the corresponding distortion-free static point cloud data provided by the front-end odometry module as the initial state;
[0088] Step 6-2: Apply the LM method to optimize the preliminary pose estimation provided by the front end. In the optimization process, consider the relative pose transformation between 10 consecutive LiDAR data frames during the mapping process, and fuse it with the inter-frame pose transformation provided by the front end odometry to obtain the global pose estimation of the LiDAR relative to the map.
[0089] Step 6-3: Update the global map using the optimized global pose estimation. Register the 10 consecutive frames of distortion-free static point cloud data provided by the front-end odometry to the map coordinate system to achieve map update and ensure the geometric consistency and accuracy of the map.
[0090] Step 6-4: In each iteration, evaluate the optimization results and determine whether the termination condition is met. If it is met, the optimization process ends; if not, continue to the next round of optimization to finally generate a high-precision static map.
[0091] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in the present invention, and these modifications or substitutions should all be covered within the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.
Claims
1. A dynamic point cloud culling method for simultaneous localization and mapping of lidar, characterized in that, Includes the following steps: Step 1: Design of point cloud semantic segmentation network: The SalsaNext neural network is selected as the basic model for semantic segmentation of LiDAR point cloud data. Based on the SalsaNext neural network, the LiDAR point cloud data semantic segmentation network SalsaNext++ is designed, and the diamond context module DCB is introduced into the SalsaNext++ network. Step 2: Point cloud semantic segmentation network training: Use the point cloud dataset Semantic-KITTI to train a semantic segmentation network, extract features and classify the input point cloud data, and assign the point cloud to a predefined semantic category; Step 3: Point cloud semantic segmentation: Integrate the trained SalsaNext++ semantic segmentation network into the LiDAR synchronous localization and mapping front-end system to process LiDAR point cloud data in real time and identify dynamic and static point clouds through semantic segmentation. Step 4: Dynamic point cloud removal: For the identified dynamic point clouds, based on the semantic labels added when assigning them to the predefined semantic categories, the point cloud removal algorithm and program are used to remove them, retaining only the static point clouds for subsequent pose estimation and map construction. Step 5: Front-end odometry: In the front-end odometry module of the LiDAR synchronous positioning and mapping system, the static point cloud data after removing dynamic point clouds is used to extract edge points and planar points from the static point cloud based on curvature. The edge points and planar points of the current frame are matched with the corresponding feature points in the previous frame to estimate the inter-frame pose transformation. The motion of the LiDAR is estimated to distort the point cloud, providing the static point cloud after inter-frame pose transformation and distortion correction for the back-end optimization of LiDAR synchronous positioning and mapping. Step 6: Backend optimization and map building: The backend optimization and map building module receives the distortion-free static point cloud and inter-frame pose transformation provided by the front-end odometer, performs global registration on the multi-frame point cloud, merges the point cloud data into the world map for map update, and merges the obtained global pose transformation with the inter-frame pose transformation to estimate the motion state of the LiDAR relative to the map.
2. The method according to claim 1, characterized in that, Step 1 includes: Step 1-1: Based on the SalsaNext neural network, improve and propose the SalsaNext++ neural network model; Step 1-2: Map the point cloud data onto a two-dimensional sphere using a spherical projection method, and input the two-dimensional point cloud data into the rhombus context module DCB to output context information at different scales; Steps 1-3: In the SalsaNext++ network encoding stage, features of two-dimensional point cloud data are extracted by expanding convolutional layers, gradually reducing the spatial dimension of the data, while increasing the number of channels to capture richer target features; Steps 1-4: After dilating the convolutional layers in the SalsaNext++ network, average pooling layers are used to further reduce the spatial resolution of the features; Steps 1-5: In the SalsaNext++ network decoding stage, a pixel shuffling layer is used to upsample the feature map output from the encoding stage to restore the spatial dimension of the data; Steps 1-6: Fuse the feature maps from the encoding stage with the upsampled features from the decoding stage using residual connections; Steps 1-7: After feature fusion, multi-scale convolutional layers are used to synthesize and refine features at different scales; Steps 1-8: In the final stage of the SalsaNext++ network, the number of channels is adjusted to match the number of semantic label categories. Through activation function layers, the fused features are converted into a semantic category probability distribution for each point.
3. The method according to claim 1, characterized in that, In step 5, the specific method for extracting edge points and planar points based on curvature is as follows: Defined as a point in the lidar point cloud, and denoted as the set of consecutive points returned by the laser scanner in the same scan, the curvature c is calculated using the following formula: ; in, yes The first in radar coordinate system Point cloud of the second scan The first in One point, for The surrounding points; determine whether the point is an edge point or a plane point based on the magnitude of the curvature c.
4. The method according to claim 1, characterized in that, Step 6 includes: Step 6-1: Initialize the global map, using the inter-frame pose transformation and the corresponding distortion-free static point cloud data provided by the front-end odometry module as the initial state; Step 6-2: Apply the graph optimization method to optimize the preliminary pose estimation provided by the front end. In the optimization process, consider the relative pose transformation between multiple consecutive LiDAR data frames during the mapping process, and fuse it with the inter-frame pose transformation provided by the front end odometry to obtain the global pose estimation of the LiDAR relative to the map. Step 6-3: Update the global map using the optimized global pose estimation, and register the distortion-free static point cloud data from multiple consecutive frames provided by the front-end odometry into the map coordinate system; Step 6-4: In each iteration, evaluate the optimization results and determine whether the termination condition is met, and finally generate a high-precision static map.
5. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the steps of the method as described in any one of claims 1-4.
6. A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method as described in any one of claims 1-4.
Citation Information
Patent Citations
Method for generating automatic driving high-precision map based on laser radar
CN118447248A
A laser SLAM system and method for use in dynamic environments
CN114937083A
Automatic generation method of point cloud label and dynamic segmentation method based on convolutional neural network
CN118334657A