Map generation method
By extracting laser feature descriptor information and loop closure factor verification from point cloud data in underground parking lots, the problem of low accuracy caused by poor satellite positioning signals was solved, and a high-precision parking map was generated.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- NULLMAX INC
- Filing Date
- 2026-05-06
- Publication Date
- 2026-06-02
AI Technical Summary
Existing technologies that rely on satellite positioning to generate parking maps suffer from low accuracy in underground parking lots. In particular, due to poor signal and the ease with which multiple spaces can be confused, multiple routes cannot be aligned and maps cannot be stitched together.
By extracting laser feature descriptor information from multi-frame point cloud data, cross-trajectory matching and loop closure factor verification are performed. Combined with odometry factors, a high-precision map is generated, erroneous factors are eliminated, and global pose association is established.
The generated parking map is more accurate, avoiding trajectory distortion and map deformation caused by error factors, and realizing high-precision map stitching of underground parking lots.
Smart Images

Figure CN122134816A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of map generation technology, and in particular to a map generation method. Background Technology
[0002] With the rapid development of vehicle-assisted driving technology, parking technologies such as automated valet parking and low-speed autonomous parking have become emerging directions in vehicle-assisted driving. High-precision parking maps are the core foundation for achieving accurate vehicle relocation, path planning, and safe parking. Currently, most parking maps rely on satellite positioning. However, taking underground parking lots as an example, there are problems such as the loss of Global Navigation Satellite System (GNSS) / Real-Time Kinematic (RTK) signals due to poor signal strength, and the confusion between multiple levels of parking lots due to highly repetitive geometric structures. This results in low accuracy for parking maps generated by satellite positioning. Therefore, how to generate more accurate parking maps to meet the parking needs of assisted driving is a direction that is currently being explored in the field. Summary of the Invention
[0003] This application provides a map generation method that can generate parking maps with higher accuracy.
[0004] To address the aforementioned technical problems, in a first aspect, embodiments of this application provide a map generation method. This method includes: determining multiple frames of environmental data corresponding to each sampling trajectory among multiple sampling trajectories obtained by sampling a target parking lot; the environmental data including point cloud data and image data; generating map segments corresponding to each sampling trajectory and odometry factors between every two frames of environmental data corresponding to each sampling trajectory based on the multiple frames of environmental data corresponding to each sampling trajectory; extracting corresponding laser feature descriptor information from each frame of point cloud data in the multiple frames of environmental data corresponding to each sampling trajectory, obtaining laser descriptor information corresponding to each frame of point cloud data corresponding to each sampling trajectory; taking every two sampling trajectories as a sampling trajectory pair to obtain multiple sampling trajectory pairs; and determining multiple sampling trajectories based on the laser feature descriptor information corresponding to any frame of point cloud data corresponding to each sampling trajectory in each sampling trajectory pair. The process involves: identifying at least one set of target matching frame pairs corresponding to each track pair and determining the target relative pose information for each target matching frame pair; determining the loop closure factor corresponding to the sampled trajectory pair for each target matching frame pair based on the target relative pose information for each target matching frame pair, thereby obtaining the loop closure factor corresponding to multiple sampled trajectory pairs; performing constraint consistency and observability checks on the loop closure factors corresponding to multiple sampled trajectory pairs based on the odometry factor between every two frames of environmental data corresponding to each sampled trajectory and the loop closure factor corresponding to multiple sampled trajectory pairs, thereby determining the target loop closure factor corresponding to multiple sampled trajectory pairs; determining the global pose information of multiple sampled trajectories based on the odometry factor between every two frames of environmental data corresponding to each sampled trajectory and the target loop closure factor corresponding to multiple sampled trajectory pairs; and stitching together the map segments corresponding to multiple sampled trajectories based on the global pose information of multiple sampled trajectories to generate the target map corresponding to the target parking lot.
[0005] Using the above technical solution, based on the multi-frame point cloud data and image data corresponding to each sampling trajectory, single-trip mapping and odometry factor generation for single-trip sampling trajectories can be performed without relying on GNSS / RTK signals, and can be adapted to scenarios with poor satellite signals in underground parking lots. Laser descriptor information extraction and matching are performed on point cloud data from different sampling trajectories. This enables the laser descriptors of each point cloud data to distinguish scenes with similar structures but different locations within the target parking lot, improving the accuracy of association between multiple sampling trajectories. Furthermore, based on the target relative pose information of the target matching frame pairs, closure factors are generated across sampling trajectories, breaking the isolation of multiple sampling trajectories and establishing global pose association. This solves the problems of misalignment and map stitching issues associated with traditional pure odometer methods. By performing constraint consistency verification on the closure factors corresponding to multiple sampling trajectories, geometric conflicts and false closure factors can be eliminated. By performing observability verification on the closure factors corresponding to multiple sampling trajectories, weak closure factors with no observational value and cross-layer confusion constraint factors can be eliminated. This dual-factor verification method improves the accuracy of closure factors and can largely avoid problems such as trajectory distortion, multi-layer overlap, and map deformation caused by erroneous factors. Furthermore, by fusing odometer factors and closure factors for global pose solving, odometer drift of a single trajectory can be eliminated, resulting in a more accurate target map generated by stitching map fragments corresponding to multiple sampling trajectories based on global pose information. In this way, by matching laser descriptors across trajectories, target matching frame pairs are obtained, and then loop closure factors corresponding to multiple sampling trajectories are generated based on the target matching frame pairs. This enables the association of multiple independent sampling trajectories. Furthermore, by performing double verification on the loop closure factors and eliminating erroneous loop closure factors, the accuracy of the loop closure factors is improved, thereby improving the association accuracy of multiple sampling trajectories and making the final generated target map more accurate.
[0006] In one possible implementation of the first aspect described above, generating map segments corresponding to each sampling trajectory and odometry factors between every two frames of environmental data corresponding to each sampling trajectory based on multi-frame environmental data corresponding to each sampling trajectory includes: determining the initial pose information corresponding to each frame of point cloud data corresponding to each sampling trajectory based on laser odometry and multi-frame point cloud data corresponding to each sampling trajectory; determining the initial relative pose information corresponding to each pair of adjacent point cloud data corresponding to each sampling trajectory based on the initial relative pose information corresponding to each pair of adjacent point cloud data corresponding to each sampling trajectory, so as to obtain the odometry factors between every two frames of point cloud data corresponding to each sampling trajectory; and generating map segments corresponding to each sampling trajectory based on the initial pose information corresponding to each pair of adjacent point cloud data and the odometry factors corresponding to each frame of point cloud data corresponding to each sampling trajectory.
[0007] By sampling the above technical solution and using laser odometry, the initial pose information of each frame of point cloud data is first obtained based on the multi-frame point cloud data corresponding to each sampling trajectory. Then, the initial relative pose information is determined based on the initial pose of two adjacent frames. Subsequently, the odometry factor corresponding to the two adjacent frames is constructed. The map fragments corresponding to each sampling trajectory are generated by combining the initial pose and the odometry factor. In scenarios such as underground parking lots without external positioning signals such as GNSS and RTK, continuous pose calculation and local map construction of a single sampling trajectory can be achieved solely by relying on laser point clouds, ensuring the continuity and stability of the single trajectory pose and the local map.
[0008] In one possible implementation of the first aspect described above, extracting corresponding laser feature descriptor information from the point cloud data of each frame in the multi-frame environmental data corresponding to each sampling trajectory to obtain the laser descriptor information corresponding to the point cloud data of each frame in the multi-frame environmental data corresponding to each sampling trajectory includes: transforming the coordinate system of the point cloud data of each frame in the multi-frame environmental data corresponding to each sampling trajectory to polar coordinate space; discretizing the point cloud data of each frame in polar coordinate space into grids according to the rotation angle and radius of polar coordinate space to obtain the feature information corresponding to each grid; and obtaining the feature matrix corresponding to each frame of point cloud data based on the feature information corresponding to each grid of each frame of point cloud data, which serves as the laser descriptor information corresponding to the corresponding frame of point cloud data, so as to obtain the laser descriptor information corresponding to the point cloud data of each frame in the multi-frame environmental data corresponding to each sampling trajectory.
[0009] By adopting the above technical solution, the coordinate system of multi-frame point cloud data of each sampling trajectory is transformed to polar coordinate space. The discretized grid is divided by combining the angle and radius of the polar coordinates. The feature information corresponding to each grid is extracted and a feature matrix is constructed as laser descriptor information. This can transform the three-dimensional geometric information of the point cloud into a structured feature matrix, which fully preserves the local geometric features and spatial distribution rules of the point cloud. It effectively adapts to the feature extraction requirements of the repetitive structure of the parking lot. The polar coordinate grid division and feature extraction method can weaken the influence of point cloud translation and slight rotation, improve the stability and anti-interference ability of the laser descriptor, and obtain more accurate laser descriptor information.
[0010] In one possible implementation of the first aspect described above, determining at least one set of target matching frame pairs corresponding to multiple sampling trajectory pairs and determining the target relative pose information of each target matching frame pair based on the laser feature descriptor information corresponding to any frame of point cloud data corresponding to each sampling trajectory included in each sampling trajectory pair includes: taking any frame of point cloud data corresponding to the two sampling trajectories included in each sampling trajectory pair as the frame pairs to be matched corresponding to each sampling trajectory pair to obtain multiple frame pairs to be matched; determining the initial relative pose information and first scene similarity corresponding to the two frames of point cloud data corresponding to each frame pairs to be matched based on the laser feature descriptor information corresponding to each frame pairs to be matched; determining at least one set of candidate frame pairs corresponding to multiple sampling trajectory pairs from the multiple frame pairs to be matched based on the first scene similarity corresponding to each frame pairs to be matched; determining the target relative pose information corresponding to each candidate frame pair based on the initial relative pose information and the point cloud data corresponding to each candidate frame pair; determining the second scene similarity corresponding to each candidate frame pair based on the image data corresponding to each candidate frame pair; and determining at least one set of target matching frame pairs from the at least one set of candidate frame pairs based on the second scene similarity corresponding to each candidate frame pair.
[0011] Using the above technical solution, coarse matching is first performed quickly using laser descriptor information to obtain initial relative pose information and similarity with the first scene. Based on the similarity of the first scene, a large number of irrelevant frame pairs to be matched are filtered out and candidate frame pairs are obtained. Then, high-precision target relative pose information is obtained through point cloud fine registration to improve pose accuracy. Furthermore, image data is introduced to calculate the similarity of the second scene, and visual appearance features are used to supplement laser geometric features, effectively distinguishing highly similar repetitive structures such as pillars and lanes in underground parking lots, significantly reducing the probability of mismatch. Finally, high-confidence target matching frame pairs with accurate geometry and consistent scene are selected.
[0012] In one possible implementation of the first aspect above, each sampling trajectory pair includes a first sampling trajectory and a second sampling trajectory. Any frame of point cloud data corresponding to the first sampling trajectory is the first point cloud data, and any frame of point cloud data corresponding to the second sampling trajectory is the second point cloud data. The initial relative pose information includes an initial relative rotation angle and an initial relative position. The rows of the feature matrix correspond to the radius, and the columns of the feature matrix correspond to the rotation angle. Any frame of point cloud data corresponding to the two sampling trajectories included in each sampling trajectory pair is taken as the frame to be matched corresponding to each sampling trajectory pair. Based on the laser feature descriptor information corresponding to each frame to be matched, the initial relative pose information corresponding to the two frames of point cloud data corresponding to each frame to be matched is determined, including: taking the first point cloud data corresponding to the first sampling trajectory included in each sampling trajectory pair and the second point cloud data corresponding to the second sampling trajectory included in each sampling trajectory pair as the frame to be matched corresponding to each sampling trajectory pair. Matching frame pairs; translating the feature matrix of the first point cloud data corresponding to the first sampling trajectory column-wise to obtain feature matrices of the first point cloud data corresponding to different rotation angles; determining the matrix similarity between the feature matrix of the first point cloud data corresponding to each rotation angle and the feature matrix of the second point cloud data corresponding to the second sampling trajectory, obtaining matrix similarities corresponding to different rotation angles, and obtaining multiple matrix similarities corresponding to each frame pair to be matched; determining the rotation angle corresponding to the maximum similarity among the multiple matrix similarities of each frame pair to be matched as the initial relative rotation angle of the first and second point cloud data corresponding to each frame pair to be matched; determining the initial relative position of the first and second point cloud data corresponding to each frame pair to be matched based on the polar coordinates of the first and second point cloud data corresponding to each frame pair to be matched, the polar coordinates of the second point cloud data, and the initial relative rotation angle of the first and second point cloud data.
[0013] By adopting the above technical solution, point cloud data frames with different sampling trajectories are constructed into a pair of frames to be matched. The feature matrix of the first point cloud data is cyclically translated column by column to simulate different angle offsets. The matrix similarity with the feature matrix of the second point cloud data is calculated. The offset angle corresponding to the maximum similarity is taken as the initial relative rotation angle between the two point cloud frames. The initial relative position is further solved by combining polar coordinate information. This method can quickly and robustly complete the coarse registration between point cloud frames across trajectories without complex iterative optimization, and directly obtain the initial relative pose with rotation invariance.
[0014] In one possible implementation of the first aspect described above, the feature information corresponding to each grid includes the maximum height, minimum height, and average reflection intensity of each grid. Based on the laser feature descriptor information corresponding to each pair of frames to be matched, the first scene similarity corresponding to the two frames of point cloud data corresponding to each pair of frames to be matched is determined, including: determining the geometric distance between the first and second point cloud data corresponding to each pair of frames based on the maximum and minimum heights of each grid included in the feature matrix of the first point cloud data corresponding to each pair of frames to be matched, and the maximum and minimum heights of each grid included in the feature matrix of the second point cloud data corresponding to each pair of frames to be matched; and determining the geometric distance between the first and second point cloud data corresponding to each pair of frames based on the maximum and minimum heights of each grid included in the feature matrix of the first point cloud data corresponding to each pair of frames to be matched. The intensity similarity of the first point cloud data and the second point cloud data corresponding to each frame pair to be matched is determined by the average reflection intensity of each grid cell in the feature matrix corresponding to the second point cloud data. Based on the geometric distance and intensity similarity of the first point cloud data and the second point cloud data corresponding to each frame pair to be matched, the first scene similarity of the first point cloud data and the second point cloud data corresponding to each frame pair to be matched is determined. Based on the first scene similarity of each frame pair to be matched, at least one set of candidate frame pairs corresponding to multiple sampling trajectory pairs is determined from multiple frame pairs to be matched, including: determining the frame pairs to be matched corresponding to the first scene similarity greater than a preset first similarity threshold among multiple first scene similarities as candidate frame pairs, so as to obtain at least one set of candidate frame pairs corresponding to multiple sampling trajectory pairs.
[0015] By employing the above technical solution, the geometric distance is calculated using the maximum and minimum heights corresponding to each grid, which can accurately characterize the spatial geometric structure differences between two point cloud frames. This effectively distinguishes the terrain and structural features of different areas in the parking lot. Based on the average reflection intensity, the intensity similarity calculation can capture the differences in the reflection characteristics of objects in the environment (such as parking lines, pillars, and walls), supplementing the deficiencies of geometric features and realizing a dual-dimensional scene similarity assessment of both geometry and intensity. This significantly improves the accuracy of scene similarity judgment. Furthermore, by filtering candidate frame pairs through a preset first similarity threshold, invalid frame pairs with large differences in geometric structure and reflection characteristics can be efficiently eliminated, reducing the computational load of subsequent fine registration and verification, improving the efficiency of cross-trajectory frame pair matching, and ensuring that the selected candidate frame pairs have high scene consistency, effectively reducing the probability of mismatch of candidate frame pairs.
[0016] In one possible implementation of the first aspect above, determining the target relative pose information corresponding to each candidate frame pair based on the initial relative pose information corresponding to each candidate frame pair and the point cloud data corresponding to each candidate frame pair includes: based on a data registration algorithm, iteratively transforming the first point cloud data and the second point cloud data corresponding to each candidate frame pair and the initial relative pose information corresponding to each candidate frame pair to obtain the target relative pose information corresponding to each candidate frame pair.
[0017] By adopting the above technical solution, and through the data registration algorithm, combining the initial relative pose of the candidate frame pair, the first point cloud data, and the second point cloud data, iterative transformation and calibration of the two frame point clouds can obtain more accurate relative pose information.
[0018] In one possible implementation of the first aspect above, determining the second scene similarity corresponding to each candidate frame pair based on the image data corresponding to each candidate frame pair includes: determining the first image data and the second image data corresponding to the first point cloud data of each candidate frame pair at the same time ... The method involves determining the second scene similarity between first image data and second image data to obtain the second scene similarity corresponding to each candidate frame pair; and determining at least one target matching frame pair from at least one set of matching frame pairs based on the second scene similarity corresponding to each candidate frame pair, including: determining the candidate frame pairs corresponding to the second scene similarity greater than a preset second similarity threshold as valid matching frame pairs, thereby obtaining at least one set of valid matching frame pairs; determining the fusion similarity of each valid matching frame pair based on the first scene similarity and second scene similarity corresponding to each valid matching frame pair; and determining at least one valid matching frame pair corresponding to the fusion similarity greater than a preset third similarity threshold as a valid loopback matching frame pair, thereby obtaining at least one set of target matching frame pairs.
[0019] By adopting the above technical solution, and with the help of image data and bag-of-visual-words technology, the limitations of single laser point cloud features are overcome. By extracting image feature descriptors and mapping bag-of-visual-words vectors, multi-dimensional judgment of scene similarity is realized, which greatly improves the accuracy of frame pair matching, effectively distinguishes frame pairs with similar structures but different scenes, and avoids mismatch.
[0020] In one possible implementation of the first aspect above, determining the loop closure factor corresponding to the sampling trajectory pair corresponding to each target matching frame pair based on the target relative pose information of each target matching frame pair includes: mapping the target relative pose information of each target matching frame pair to the odometry coordinate system of the sampling trajectory pair corresponding to each target matching frame pair to generate relative pose constraint information between each sampling trajectory pair; determining the covariance matrix of each sampling trajectory pair based on the fusion similarity and second scene similarity of each target matching frame pair; determining the constraint confidence of each sampling trajectory pair based on the covariance matrix of each sampling trajectory pair; and generating the loop closure factor corresponding to each sampling trajectory pair based on the relative pose constraint information, covariance matrix, and constraint confidence of each sampling trajectory pair.
[0021] By adopting the above technical solution, the precise relative pose of the target matching frame pair is transformed into the closure factor between the sampled trajectories. Combined with multi-dimensional similarity to construct the covariance matrix and constraint confidence, the high-precision matching relationship at the frame level can be effectively transformed into the relative pose constraint at the trajectory level. This establishes a reliable global association for different sampled trajectories and breaks the pose drift and coordinate system inconsistency problems caused by independent mapping of each trajectory.
[0022] In one possible implementation of the first aspect above, based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the loop closure factor corresponding to multiple sampling trajectory pairs, constraint consistency verification and observability verification are performed on the loop closure factors corresponding to multiple sampling trajectory pairs to determine the target loop closure factors corresponding to multiple sampling trajectory pairs. This includes: generating a pose graph based on the odometry factors of each frame corresponding to any two frames of point cloud data corresponding to each sampling trajectory, the loop closure factors corresponding to the sampling trajectory pairs corresponding to each target matching frame among the loop closure factors corresponding to multiple sampling trajectory pairs, and the initial pose information of each sampling trajectory corresponding to each frame of point cloud data. The nodes of the pose graph are composed of the initial pose information of each sampling trajectory corresponding to each frame of point cloud data, and the edges of the pose graph are composed of any two frames of point cloud data corresponding to each sampling trajectory. The closure factors are composed of the odometry factors corresponding to each frame of cloud data and the closure factors corresponding to the sampling trajectory pairs of each target matching frame. Based on the target relative pose information corresponding to each edge in at least one closed loop formed by the target loop in the pose graph, the loop closure error of each closed loop is determined. Based on the loop closure error of each closed loop, constraint consistency verification is performed to determine the candidate edges composed of closure factors included in at least one closed loop that passes the constraint consistency verification, thus obtaining a candidate edge set. The observation information increment corresponding to each candidate edge in the candidate edge set is determined. Based on the observation information increment corresponding to each candidate edge, the observability verification of the closure factors corresponding to the candidate edges is performed to obtain the target edges that pass the verification. The closure factors corresponding to the target edges are taken as the target closure factors.
[0023] By employing the above technical solution, the local pose relationships and cross-trajectory constraints of multiple independent sampling trajectories can be integrated into a globally unified constraint network through the construction of a pose graph. Constraint consistency verification is achieved by calculating the loop closure error of closed loops, which can effectively identify and eliminate geometric conflicts and abnormal loop constraints caused by mismatches and loop non-closures, avoiding pose distortion introduced by erroneous loops. On this basis, the observation information increment of each candidate edge is further calculated and observability verification is completed, which can filter out loop factors that do not contribute to global pose estimation and only provide weak or redundant constraints, while retaining strong constraint loop factors that have a significant gain in improving map pose accuracy. The target loop factors obtained through dual verification are geometrically self-consistent, have high confidence, and strong observation value, which can significantly improve the stability and convergence accuracy of subsequent global pose optimization, effectively suppress trajectory drift, and provide a clean and reliable constraint guarantee for global pose unification and accurate map fragment stitching.
[0024] In one possible implementation of the first aspect above, determining the observation information increment corresponding to each candidate edge in the candidate edge set includes: determining the local information matrix of each candidate edge in the candidate edge set; obtaining the reference information matrix corresponding to the target candidate edge based on the local information matrices of all other candidate edges except the target candidate edge, where the target candidate edge is any candidate edge in the candidate edge set; determining the target information matrix corresponding to the target candidate edge based on the local information matrix of the target candidate edge and the reference information matrix corresponding to the target candidate edge; and obtaining the observation information increment of the target candidate edge based on the reference information matrix corresponding to the target candidate edge and the trace of the target information matrix, so as to obtain the observation information increment corresponding to each candidate edge.
[0025] In one possible implementation of the first aspect described above, the global pose information of multiple sampling trajectories is determined based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the target loop closure factor corresponding to multiple sampling trajectory pairs. This includes: constructing a global optimization model based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory, the initial pose information of each sampling trajectory corresponding to each frame of point cloud data, and the target loop closure factor corresponding to multiple sampling trajectory pairs; and optimizing the initial pose information of each sampling trajectory corresponding to each frame of point cloud data based on the global optimization model to obtain the global pose information of multiple sampling trajectories.
[0026] Secondly, this application also discloses an electronic device, including: a processor and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to enable the electronic device to implement the map generation method provided by any of the implementations of the first aspect above.
[0027] Thirdly, this application also discloses a computer-readable storage medium storing a computer program that can be executed by an electronic device to implement the map generation method provided by any of the implementations of the first aspect.
[0028] Fourthly, this application also discloses a computer program product, including a computer program that, when executed by an electronic device, implements the map generation method provided by any of the implementations of the first aspect.
[0029] The relevant beneficial effects of the second to fourth aspects mentioned above can be found in the relevant descriptions in the first aspect mentioned above, and will not be repeated here. Attached Figure Description
[0030] To more clearly illustrate the technical solution of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below.
[0031] Figure 1 A schematic flowchart of a map generation method provided in an embodiment of this application;
[0032] Figure 2 This is a schematic diagram of a process for generating map fragments corresponding to each sampling trajectory, provided in an embodiment of this application.
[0033] Figure 3 A schematic diagram of a process for generating laser feature descriptor information corresponding to each point cloud data provided in an embodiment of this application;
[0034] Figure 4 A schematic diagram of point cloud data provided in an embodiment of this application;
[0035] Figure 5 A schematic diagram of point cloud data provided in an embodiment of this application in polar coordinate space;
[0036] Figure 6 This is a schematic diagram of a process for determining a target matching frame pair provided in an embodiment of this application;
[0037] Figure 7 This is a schematic diagram of a process for determining candidate frame pairs provided in an embodiment of this application;
[0038] Figure 8 This is a schematic diagram illustrating another process for determining target matching frame pairs provided in an embodiment of this application;
[0039] Figure 9 This is a schematic diagram of a process for generating cyclic factors provided in an embodiment of this application;
[0040] Figure 10A flowchart illustrating the determination of a target closure factor provided in this application embodiment;
[0041] Figure 11 A flowchart illustrating the determination of global pose information provided in an embodiment of this application;
[0042] Figure 12 Another schematic flowchart of the map generation method provided in the embodiments of this application;
[0043] Figure 13 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0044] As mentioned earlier, parking maps generated by satellite positioning in existing technologies suffer from low accuracy.
[0045] Furthermore, most existing outdoor mapping methods are based on laser odometry methods (such as KISS-ICP and LOAM). These methods rely solely on inter-frame point cloud data matching to calculate pose, lacking global loop closure constraints. After long-distance travel, the trajectory accumulates drift and rotation, and trajectory stitching cannot be completed during multiple data collections. When this method is applied to mapping scenarios such as underground parking lots with poor signal, high structural overlap, and complexity, problems such as "odometer drift, inter-layer overlap, and map distortion" easily occur, failing to meet the high-precision requirements of parking maps.
[0046] Furthermore, existing mapping methods also include pure visual mapping. Pure visual mapping is difficult to extract image features in low-light and low-texture environments in parking lots, and cannot reliably complete loop closure detection and scene verification, resulting in problems with the accuracy of parking maps.
[0047] In summary, existing mapping methods suffer from problems such as missing GNSS / RTK signals, cross-layer confusion, limited sensing capabilities, and poor loopback robustness, resulting in low accuracy of parking maps.
[0048] Therefore, there is an urgent need for a mapping solution for underground parking scenarios, which can achieve high-precision and high-reliability point cloud map reconstruction through dedicated laser descriptor generation, multimodal joint loop closure detection, erroneous loop closure factor elimination, and global optimization.
[0049] Based on this, this application proposes a map generation method, mainly applied to parking map generation. The method includes: determining multiple frames of environmental data corresponding to each sampling trajectory in multiple sampling trajectories obtained from sampling a target parking lot; the environmental data includes point cloud data and image data; generating map segments corresponding to each sampling trajectory and odometry factors between every two frames of environmental data corresponding to each sampling trajectory based on the multiple frames of environmental data corresponding to each sampling trajectory; extracting corresponding laser feature descriptor information from each frame of point cloud data in the multiple frames of environmental data corresponding to each sampling trajectory, obtaining laser descriptor information corresponding to each frame of point cloud data corresponding to each sampling trajectory; taking every two sampling trajectories in the multiple sampling trajectories as a sampling trajectory pair to obtain multiple sampling trajectory pairs; and determining the multiple sampling trajectory pairs based on the laser feature descriptor information corresponding to any frame of point cloud data corresponding to each sampling trajectory in each sampling trajectory pair. The process involves: obtaining at least one set of target matching frame pairs and determining the target relative pose information for each target matching frame pair; determining the loop closure factor corresponding to the sampling trajectory pair corresponding to each target matching frame pair based on the target relative pose information for each target matching frame pair, thereby obtaining the loop closure factor corresponding to multiple sampling trajectory pairs; performing constraint consistency verification and observability verification on the loop closure factor corresponding to multiple sampling trajectory pairs based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the loop closure factor corresponding to multiple sampling trajectory pairs, thereby determining the target loop closure factor corresponding to multiple sampling trajectory pairs; determining the global pose information of multiple sampling trajectories based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the target loop closure factor corresponding to multiple sampling trajectory pairs; and stitching the map segments corresponding to multiple sampling trajectories based on the global pose information of multiple sampling trajectories to generate the target map corresponding to the target parking lot.
[0050] The parking map generation method proposed in this application performs single-trip mapping and generates odometer factors corresponding to a single-trip sampling trajectory based on multi-frame point cloud data and image data corresponding to each sampling trajectory. It can adapt to scenarios with poor satellite signals in underground parking lots without relying on GNSS / RTK signals. Laser descriptor information extraction and matching are performed on point cloud data from different sampling trajectories. This enables the laser descriptors of each point cloud data to distinguish scenes with similar structures but different locations within the target parking lot, improving the accuracy of association between multiple sampling trajectories. Furthermore, based on the target relative pose information of the target matching frame pairs, closure factors are generated across sampling trajectories, breaking the isolation of multiple sampling trajectories and establishing global pose association. This solves the problems of misalignment and map stitching issues associated with traditional pure odometer methods. By performing constraint consistency verification on the closure factors corresponding to multiple sampling trajectories, geometric conflicts and false closure factors can be eliminated. By performing observability verification on the closure factors corresponding to multiple sampling trajectories, weak closure factors with no observational value and cross-layer confusion constraint factors can be eliminated. This dual-factor verification method improves the accuracy of closure factors and can largely avoid problems such as trajectory distortion, multi-layer overlap, and map deformation caused by erroneous factors. Furthermore, by fusing odometer factors and closure factors for global pose solving, odometer drift of a single trajectory can be eliminated, resulting in a more accurate target map generated by stitching map fragments corresponding to multiple sampling trajectories based on global pose information. In this way, by matching laser descriptors across trajectories, target matching frame pairs are obtained, and then loop closure factors corresponding to multiple sampling trajectories are generated based on the target matching frame pairs. This enables the association of multiple independent sampling trajectories. Furthermore, by performing double verification on the loop closure factors and eliminating erroneous loop closure factors, the accuracy of the loop closure factors is improved, thereby improving the association accuracy of multiple sampling trajectories and making the final generated target map more accurate.
[0051] Next, with reference to the accompanying drawings, the parking map generation method provided in this application will be described in detail.
[0052] See Figure 1 The parking map generation method provided in this application includes the following steps.
[0053] S100, determine the multi-frame environmental data corresponding to each sampling trajectory in the multiple sampling trajectories obtained by sampling the target parking lot. The environmental data includes point cloud data and image data.
[0054] For example, the target parking lot is divided into sub-areas and numbered. Personnel drive vehicles to sample the environment of the target parking lot according to the planned sampling trajectory, and obtain multi-frame environmental data corresponding to each sampling trajectory.
[0055] The point cloud data includes main point cloud data and blind spot point cloud data. The vehicle is equipped with cameras, multi-line main LiDAR sensors, and blind spot LiDAR sensors. The cameras collect image data, and the LiDAR sensors collect main point cloud data.
[0056] Furthermore, since underground parking lots may have blind spots that vehicles cannot reach, in the implementation of this application, the data collectors can also use a simple mobile device (such as a robot) to collect point cloud data in the blind spots based on a lidar sensor, as supplementary point cloud data.
[0057] Furthermore, each sampling trajectory carries a number information.
[0058] Furthermore, the environmental data corresponding to each sampling trajectory is uploaded to the data platform.
[0059] Furthermore, the data platform parses the environmental data, performs time alignment processing on the point cloud data and image data, and performs integrity verification processing on the environmental data, outputting structured and parsed environmental data, resulting in environmental data with better accuracy and lower interference.
[0060] Furthermore, distortion correction and intrinsic parameter correction are performed on the full image data included in the parsed environmental data to obtain the final processed image data. The parsed blind spot lidar point cloud data is then projected onto the main radar coordinate system to obtain the final processed point cloud data.
[0061] Furthermore, in the implementation of this application, a Hesai laser motion compensation task is also performed to estimate and correct the dynamic distortion of the laser point cloud information caused by the motion of the lidar sensor itself or the motion of the target object, so as to improve the accuracy of three-dimensional reconstruction or perception.
[0062] Furthermore, in the implementation of this application, dynamic targets such as vehicles and pedestrians are identified based on a pre-trained target detection model (AUTOGT-OD). By tracking dynamic targets in continuous frames, dynamic point cloud data within the detection box is removed to construct laser point cloud data based on a static environment.
[0063] In other words, in this application, the environmental data used in subsequent mapping are laser point cloud data with dynamic obstacles removed and blind spot filling processed, and image data after distortion correction and internal parameter correction.
[0064] S200 generates map segments corresponding to each sampling trajectory and odometry factors between every two frames of environmental data corresponding to each sampling trajectory, based on the multi-frame environmental data corresponding to each sampling trajectory.
[0065] For example, ground filtering, voxel downsampling, and outlier removal are performed on the point cloud data of each frame, while retaining stable geometric features such as walls, pillars, parking spaces, and wheel stops. Using the point clouds of adjacent frames as input, the optimal rigid body transformation between frames is solved through nearest neighbor search (KD-TREE) and singular value decomposition (SVD) to obtain the initial relative pose information between adjacent frames. Based on the relative poses between frames, pose accumulation is performed to obtain multi-frame continuous pose trajectory information corresponding to each sampled trajectory. The point cloud data of each frame is then projected onto a local coordinate system according to the pose trajectory information, and stitched together to generate local map fragments corresponding to each sampled trajectory.
[0066] like Figure 2 As shown, in the implementation of this application, the following steps are included: generating map segments corresponding to each sampling trajectory and odometry factors between every two frames of environmental data corresponding to each sampling trajectory based on the multi-frame environmental data corresponding to each sampling trajectory.
[0067] S210, based on laser odometry, determines the initial pose information corresponding to each frame of point cloud data for each sampling trajectory according to the multi-frame point cloud data corresponding to each sampling trajectory.
[0068] For example, a laser odometry is used to calculate the initial pose information corresponding to the point cloud data of each frame frame by frame.
[0069] S220, based on the initial pose information corresponding to the two adjacent frames of point cloud data of each sampling trajectory, determine the initial relative pose information corresponding to the two adjacent frames of point cloud data of each sampling trajectory.
[0070] Furthermore, a KD-TREE is established for the point cloud data of the previous frame and the next frame, the nearest neighbor point pair is searched, the initial inter-frame matching is completed, and the initial relative pose information corresponding to the point cloud data of the two adjacent frames corresponding to each sampling trajectory is obtained.
[0071] The initial relative pose information includes the initial relative rotation frame and the initial relative position.
[0072] S230, based on the initial relative pose information corresponding to the two adjacent frames of point cloud data corresponding to each sampling trajectory, determine the odometry factor corresponding to the two adjacent frames of point cloud data corresponding to each sampling trajectory, so as to obtain the odometry factor between each two frames of point cloud data corresponding to each sampling trajectory.
[0073] For example, SVD decomposition is used to solve for the target relative pose information corresponding to two adjacent frames of point cloud data, and the inter-frame relative pose transformation matrix is obtained. Based on the relative pose transformation matrix corresponding to each frame, the continuous relative pose information corresponding to the multi-frame point cloud data of each sampling trajectory is determined.
[0074] Furthermore, for each frame of point cloud data whose pose is calculated, adjacent frame odometry factors are generated synchronously. The adjacent frame odometry factors include the initial pose information corresponding to the two adjacent frames of point cloud data, the target relative pose information of the two adjacent frames of point cloud data, and the covariance matrix and information matrix corresponding to the adjacent frame odometry factors.
[0075] S240: Based on the initial pose information corresponding to the two adjacent frames of point cloud data of each sampling trajectory and the odometry factor corresponding to each frame of point cloud data of each sampling trajectory, generate map segments corresponding to each sampling trajectory.
[0076] For example, from the first frame to the last frame, based on the initial pose information of the previous frame, and based on the odometry factors corresponding to the adjacent frames, the point cloud data of the next frame is projected onto the local coordinate system to obtain continuous point cloud data corresponding to each sampling trajectory, so as to obtain the map segment corresponding to each sampling trajectory.
[0077] S300 extracts the corresponding laser feature descriptor information from the point cloud data of each frame in the multi-frame environmental data corresponding to each sampling trajectory, and obtains the laser descriptor information corresponding to each frame of point cloud data corresponding to each sampling trajectory.
[0078] It should be noted that due to the sparse texture and repetitive geometric structure of underground parking garages, traditional feature descriptors such as Scan-Context or pure intensity descriptors are prone to severe performance degradation in areas such as long straight corridors and parallel parking spaces, resulting in insufficient loop closure recall and a high false alarm rate. Therefore, SLAM mapping of underground parking garages based on existing mapping methods suffers from three major technical bottlenecks: geometric degradation, cross-layer confusion, and single perception. To achieve robust loop closure detection and relocalization, this application designs a laser feature descriptor based on local geometric structure, ParkingScan (PK). This laser feature descriptor information is optimized by combining the core ideas of traditional feature descriptor information Scan Context with global descriptor methods for laser point cloud loop closure detection (such as LiDAR-Iris). It is suitable for structured, weakly textured environments such as underground parking garages and can extract accurate loop closure constraints.
[0079] Among them, the traditional feature descriptor sub-information Scan Context compresses 360° point cloud data into a "maximum height map" and quickly outlines the scene contour through concentric ring-sector grids, which facilitates retrieval.
[0080] The global descriptor method for laser point cloud loop closure detection allows each grid to no longer retain only a height value, but instead records a binary distribution of "whether the point exists". Then, a Fourier transform is performed on the entire image to calculate the rotation angle at once, achieving rotation-invariant deformation.
[0081] For example, for each frame of point cloud data after dynamic obstacle removal, a dedicated multi-channel ring laser descriptor ParkingScan is extracted. The disordered and sparse three-dimensional point cloud obtained by the lidar scan is encoded and transformed into an ordered and compact matrix or vector form through spatial discretization and statistical coding, preserving the key structural information of the point cloud so as to achieve efficient and accurate matching in the future.
[0082] In the implementation method of this application, such as Figure 3 As shown, the laser feature descriptor information is extracted from the point cloud data of each frame in the multi-frame environmental data corresponding to each sampling trajectory to obtain the laser descriptor information corresponding to each frame of point cloud data for each sampling trajectory, including the following steps.
[0083] S310, transform the coordinate system of each frame of point cloud data in the multi-frame point cloud data corresponding to each sampling trajectory to polar coordinate space, and discretize each frame of point cloud data in polar coordinate space according to the rotation angle and radius of polar coordinate space to obtain the feature information corresponding to each grid.
[0084] In the implementation of this application, the feature information corresponding to each grid includes the maximum height, minimum height, and average reflection intensity of each grid.
[0085] For example, the point cloud data of each frame is converted to polar coordinate space, and the point cloud data is cropped to retain only valid points within a radius of 0-30 meters from the radar center, while invalid points at excessively long distances are removed. This focuses on key local structures in the parking scenario (such as pillars, walls, parking spaces, and wheel stops), reducing redundant calculations. The point cloud data is as follows: Figure 4 As shown.
[0086] Furthermore, such as Figure 5 As shown, point cloud data in polar coordinate space is discretized into raster segments according to angle and radius to construct a unified feature coding space.
[0087] For example, the 360° horizontal panoramic space is divided into 60 sectors based on rotation angle, with an angular resolution of 6°, covering the vehicle's omnidirectional field of view. The radial distance from 0 to 30 meters is divided into 36 annular regions at logarithmic intervals to adapt to the point cloud distribution characteristics of near-dense and far-sparse areas. In this way, a polar coordinate grid of 60 (number of angular divisions) * 36 (number of radius divisions) is formed, which serves as the basic unit for feature statistics.
[0088] Furthermore, the point cloud within each grid cell is traversed, and three types of core feature information—maximum height (i.e., highest height), minimum height (i.e., lowest height), and average reflection intensity—are calculated for each grid cell to take into account both vertical geometric structure and scene material information.
[0089] The maximum height The maximum elevation of the point cloud within the grid represents the maximum elevation of the upper contour of the scene (such as the top of a wall or pillar), and the minimum height represents the minimum elevation of the point cloud within the grid. The minimum elevation of the point cloud within the grid represents the average reflection intensity of the lower structures of the scene (such as the ground or vehicle barriers). It represents the average reflection intensity of all point clouds within the grid, and can be used to distinguish different scene materials such as concrete, metal, and paint.
[0090] Furthermore, in the implementation method of this application, in order to eliminate the interference of vehicle bumps, ground slope, and cross-level elevation differences on the height characteristics, the maximum height and minimum height are locally normalized to obtain the processed maximum height and minimum height.
[0091] For example, calculate the median height of all points within a 30-meter radius of the origin of the current frame's point cloud data. The maximum and minimum heights are corrected based on the median height.
[0092] Among them, the maximum height after processing = Minimum height after processing = Thus, the normalized maximum and minimum heights can eliminate absolute elevation deviations, ensuring consistency of descriptors under different positions and driving postures, so that subsequent processing can be carried out based on the processed maximum and minimum heights.
[0093] In other words, the laser feature descriptor ParkingScan implemented in this application differs from the traditional feature descriptor information Scan Context. The traditional feature descriptor information Scan Context only records the "highest point" of each grid cell in the point cloud data, while the laser feature descriptor ParkingScan upgrades the feature information of each grid cell to three channels: "highest height, lowest height, and average reflection intensity" and performs local elevation normalization. This preserves the contour information while also taking into account the vertical structure and material information, resulting in superior performance in cross-layer adaptation, anti-rotation, and noise reduction.
[0094] S320: Based on the feature information corresponding to each grid of each frame of point cloud data, obtain the feature matrix corresponding to each frame of point cloud data, and use it as the laser descriptor information corresponding to the corresponding frame of point cloud data, so as to obtain the laser descriptor information corresponding to each frame of point cloud data corresponding to each sampling trajectory.
[0095] For example, the maximum height, minimum height, and average reflection intensity of each processed grid are used to construct a 60*36 two-dimensional matrix according to the rule of rotation angle as column and radius as row. Then, the matrix is stitched along the channel dimension to finally generate a 60*36*3 laser feature descriptor ParkingScan. This fully preserves the local geometric and material features of the single frame point cloud data without information compression loss. It is the basic data for subsequent rotation-invariant matching, geometric distance calculation, and intensity similarity calculation.
[0096] That is, in the implementation of this application, the rows of the feature matrix correspond to the radius, and the columns of the feature matrix correspond to the angle.
[0097] Furthermore, in the implementation of this application, for each three-dimensional point (x, y, z) in the point cloud data, its azimuth angle and radial distance are calculated.
[0098] The azimuth angle is obtained as follows:
[0099]
[0100] in, The azimuth angle (i.e., the aforementioned rotation angle) corresponds to the 3D point within the grid. Normalization to scope.
[0101] That is, by determining the orientation of the corresponding grid in the 360° horizontal panoramic space using the azimuth angle, the 360° horizontal panoramic space of the radar point cloud is divided into 60 angular sectors. Determine which column the corresponding grid cell belongs to.
[0102] The radial distance is obtained as follows:
[0103]
[0104] in, The radial distance (i.e. the radius mentioned above) is the radial distance r of the three-dimensional point within the corresponding grid. The radial distance r is normalized to the range of [0, 30m] after taking the logarithm.
[0105] That is, by determining the distance between the three-dimensional point and the point cloud data center point through radial distance, the radar point cloud is divided into 36 logarithmic ring regions with a radius of 30 meters. Determine which row the corresponding grid cell belongs to.
[0106] Thus, the 360° horizontal panoramic space of the radar point cloud is divided into 60 angular intervals (bins), and the radius region of the radar point cloud is equally divided into 36 logarithmic annular intervals (bins). The three-dimensional points of this point cloud data are projected onto the corresponding polar coordinate grid cells, forming a cluster of points within each grid. The clusters within each grid are statistically analyzed to obtain three normalized feature information: maximum height, minimum height, and average reflection intensity. These three feature information for the corresponding grid are then arranged in columns by angle and rows by radius, and further refined according to the azimuth angle. and radial distance The size and order of the points are used to generate the feature matrix corresponding to the point cloud data, so as to obtain the laser feature descriptor information corresponding to each point cloud data.
[0107] S400: Take every two sampling trajectories in the multiple sampling trajectories as a sampling trajectory pair to obtain multiple sampling trajectory pairs. Based on the laser feature descriptor information corresponding to any frame of point cloud data for each sampling trajectory in each sampling trajectory pair, determine at least one set of target matching frame pairs corresponding to the multiple sampling trajectory pairs and determine the target relative pose information of each target matching frame pair.
[0108] like Figure 6 As shown, in the implementation of this application, based on the laser feature descriptor information corresponding to any frame of point cloud data corresponding to each sampling trajectory pair, at least one set of target matching frame pairs corresponding to multiple sampling trajectory pairs and the target relative pose information of each target matching frame pair are determined, including the following steps.
[0109] S410, take any one frame of point cloud data corresponding to the two sampling trajectories included in each sampling trajectory pair as the frame pair to be matched corresponding to each sampling trajectory pair to obtain multiple frame pairs to be matched. According to the laser feature descriptor information corresponding to each frame pair to be matched, determine the initial relative pose information and the first scene similarity corresponding to the two frames of point cloud data corresponding to each frame pair to be matched. According to the first scene similarity corresponding to each frame pair to be matched, determine at least one set of candidate frame pairs corresponding to multiple sampling trajectory pairs from multiple frame pairs to be matched.
[0110] For example, by using rotation-invariant matching and multi-feature fusion scoring, the scene similarity of two frames of point cloud data is calculated, and the initial relative pose information of the candidate matching pair is output.
[0111] In the implementation of this application, each sampling trajectory pair includes a first sampling trajectory and a second sampling trajectory. Any frame of point cloud data corresponding to the first sampling trajectory is the first point cloud data, and any frame of point cloud data corresponding to the second sampling trajectory is the second point cloud data.
[0112] In this context, any frame of point cloud data corresponding to the first sampling trajectory can be the first frame of point cloud data, the last frame of point cloud data, or any intermediate frame of point cloud data; and any frame of point cloud data corresponding to the second sampling trajectory can be the first frame of point cloud data, the last frame of point cloud data, or any intermediate frame of point cloud data.
[0113] In one implementation of this application, the initial relative pose information includes the initial relative rotation angle and the initial relative position.
[0114] In the implementation method of this application, such as Figure 7 As shown, each sampling trajectory pair includes any one frame of point cloud data corresponding to the two sampling trajectories as the frame pair to be matched. Based on the laser feature descriptor information corresponding to each frame pair to be matched, the initial relative pose information corresponding to the two frames of point cloud data of each frame pair to be matched is determined, including the following steps.
[0115] S411, take the first point cloud data corresponding to the first sampling trajectory included in each sampling trajectory pair and the second point cloud data corresponding to the second sampling trajectory included in each sampling trajectory pair as the frame pairs to be matched for each sampling trajectory pair, and obtain multiple frame pairs to be matched.
[0116] The frame pair to be matched can be the last frame point cloud data corresponding to the first sampling trajectory and the first frame point cloud data corresponding to the second sampling trajectory, or it can be the first frame point cloud data corresponding to the first sampling trajectory and the last frame point cloud data corresponding to the second sampling trajectory, or it can be any other combination.
[0117] S412, the feature matrix of the first point cloud data corresponding to the first sampling trajectory is translated column by column to obtain the feature matrix of the first point cloud data corresponding to different rotation angles.
[0118] For example, in an underground parking lot, vehicles may enter the same scene with different headings. Direct matching descriptors will fail due to rotational deviations. Therefore, a cyclic displacement strategy is adopted to achieve rotational non-deformation.
[0119] Specifically, when comparing the laser feature descriptors of two point cloud data, one is fixed, and the 60*36*3 feature matrix of the laser feature descriptor of the other point cloud data, such as the first point cloud data, is cyclically translated according to the rotation angle (that is, each column moves to the right in turn until the last column moves to the first column) to simulate the 0°~360° all-heading attitude.
[0120] S413, determine the matrix similarity between the feature matrix of the first point cloud data corresponding to each rotation angle and the feature matrix of the second point cloud data corresponding to the second sampling trajectory, and obtain the matrix similarity corresponding to different rotation angles, so as to obtain multiple matrix similarities corresponding to each pair of frames to be matched.
[0121] For example, for each translation, the matrix similarity of the feature matrices corresponding to the two laser feature descriptors is calculated to obtain the matrix similarity corresponding to different rotation angles.
[0122] In the implementation of this application, the matrix similarity between the two feature matrices can specifically be cosine similarity.
[0123] S414, determine the angle corresponding to the maximum similarity among the multiple matrix similarities of each pair of frames to be matched as the initial relative rotation angle of the first point cloud data and the second point cloud data of each pair of frames to be matched.
[0124] For example, after traversing all displacement angles, the displacement angle corresponding to the maximum similarity (i.e., the aforementioned azimuth angle or rotation angle) is taken as the initial relative rotation angle between the two frames of point cloud data.
[0125] S415, based on the polar coordinates of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched, and the initial relative rotation angle of the first point cloud data and the second point cloud data, determine the initial relative position of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched.
[0126] For example, taking the first point cloud data as the current point cloud data, based on the polar coordinates corresponding to the first point cloud data and the polar coordinates corresponding to the second point cloud data, and combined with the initial relative rotation angle, the second point cloud data is mapped to the polar coordinate space of the first point cloud data within the angle range corresponding to the initial relative rotation angle, to obtain the target polar coordinates corresponding to the first point cloud data and the target polar coordinates corresponding to the second point cloud data. Based on the target polar coordinates corresponding to the first point cloud data and the target polar coordinates corresponding to the second point cloud data, the relative translation vector of the two frames of point cloud data on the horizontal plane is obtained, and the preliminary XY direction position is obtained.
[0127] Furthermore, in the implementation of this application, the first scene similarity corresponding to the two frames of point cloud data corresponding to each frame pair to be matched is determined based on the laser feature descriptor information corresponding to each frame pair to be matched, including the following steps.
[0128] S416, Based on the maximum and minimum heights of each grid cell in the feature matrix of the first point cloud data corresponding to each pair of frames to be matched, and the maximum and minimum heights of each grid cell in the feature matrix of the second point cloud data corresponding to each pair of frames to be matched, determine the geometric distance between the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched.
[0129] For example, extract the maximum and minimum height features from the laser feature descriptors of two point cloud datasets. For instance, the height feature matrix of the first point cloud dataset is... The height feature matrix of the second point cloud data is The height feature matrices of both point cloud datasets have dimensions W*H*2 (W=60, H=36). Flattening both matrices into one-dimensional height vectors... , The dimensions are both N=60*36*2=4320. The geometric distance between the first point cloud data and the second point cloud data is determined based on the one-dimensional height vector of the first point cloud data and the one-dimensional height vector of the second point cloud data. This distance can also be called geometric similarity.
[0130] The geometric distance between the first point cloud data and the second point cloud data is obtained as follows:
[0131]
[0132] in, The geometric distance between the first point cloud data and the second point cloud data. It is an L2 Euclidean norm. , = , = , It is 4320. For the first point cloud data A height vector, The maximum or minimum height of the first point cloud data. For the second point cloud data A one-dimensional height vector, The maximum or minimum height of the second point cloud data. The minimum constant (e.g., ) ), used to avoid a denominator of 0.
[0133] Furthermore, this application also addresses... Perform normalization to... Constrained in [0,1], the influence of eigenvalue scale differences is eliminated.
[0134] S417, Based on the average reflection intensity of each grid cell in the feature matrix corresponding to the first point cloud data and the average reflection intensity of each grid cell in the feature matrix corresponding to the second point cloud data, determine the intensity similarity of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched.
[0135] For example, let the average reflection intensity feature matrix composed of the average reflection intensities of the two point cloud data frames (i.e., the first point cloud data and the second point cloud data) of the frame pair to be matched be: , , , The matrix dimension is 60*36, and the average reflection intensity feature matrix is... , Flattened into a one-dimensional intensity vector , ,but , The dimension of each point cloud data is K=60*36=2160. The intensity similarity between the first point cloud data and the second point cloud data is obtained based on the one-dimensional intensity vector corresponding to the first point cloud data and the one-dimensional intensity vector corresponding to the second point cloud data. This is also known as the intensity channel cosine similarity.
[0136] The intensity similarity between the first point cloud data and the second point cloud data is obtained in the following way:
[0137]
[0138] in, The similarity in strength between the first point cloud data and the second point cloud data. Let i be the average reflection intensity corresponding to the first point cloud data. Let be the i-th average reflection intensity corresponding to the second point cloud data.
[0139] S418, Based on the geometric distance and intensity similarity of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched, determine the first scene similarity of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched.
[0140] For example, based on the geometric distance and intensity similarity of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched, and their respective weight coefficients, the first scene similarity (also known as the point cloud similarity score) of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched is obtained.
[0141] The first scene similarity between the first point cloud data and the second point cloud data was obtained in the following way:
[0142]
[0143] in, The first scene similarity between the first point cloud data and the second point cloud data.
[0144] S419, based on the first scene similarity corresponding to each pair of frames to be matched, determine at least one set of candidate frame pairs corresponding to multiple sampling trajectory pairs from multiple pairs of frames to be matched.
[0145] For example, the first scene similarity pairs corresponding to the first scene similarity pairs that are greater than a preset first similarity threshold are determined as candidate frame pairs, so as to obtain at least one set of candidate frame pairs corresponding to multiple sampling trajectory pairs.
[0146] Specifically, the first similarity threshold is, for example, 0.75. If the first scene similarity is greater than 0.75, the scene similarity of the image needs to be judged based on the bag-of-words visual system to ensure the accuracy of loop closure detection and obtain a reliable loop closure constraint factor. If the first scene similarity is less than or equal to 0.75, it is considered that the scenes of the two sampling trajectories included in the sampling trajectory pair are not the same scene, the two sampling trajectories are not related, and the current constraint segment is skipped.
[0147] S420: Based on the initial relative pose information corresponding to each candidate frame pair and the point cloud data corresponding to each candidate frame pair, determine the target relative pose information corresponding to each candidate frame pair.
[0148] For example, after completing the first scene similarity calculation using the laser feature descriptor ParkingScan and obtaining the initial relative pose information of the frame pair to be matched, the point cloud fine registration is performed using the Iterative Closest Point (ICP) algorithm. Taking the initial relative pose information of the coarse registration as the starting point of the iteration, the rigid body transformation between frames is optimized through multiple rounds of iteration to eliminate the small pose deviations left by the coarse matching, and output the target relative pose information with sub-centimeter level high precision, providing accurate constraints for subsequent visual verification and loop closure factor construction.
[0149] In the implementation of this application, determining at least one set of matching frame pairs corresponding to multiple sampling trajectory pairs and target relative pose information corresponding to each matching frame pair based on the initial relative pose information corresponding to each candidate frame pair and the point cloud data corresponding to each candidate frame pair includes: based on a data registration algorithm, iteratively transforming the first point cloud data and the second point cloud data corresponding to each candidate frame pair according to the first point cloud data, the second point cloud data, and the initial relative pose information corresponding to each candidate frame pair to obtain the target relative pose information corresponding to each candidate frame pair.
[0150] For example, the point cloud data of each candidate frame pair with dynamic obstacles removed is preprocessed to obtain the first target point cloud data and the second target point cloud data.
[0151] Specifically, the first and second point cloud data are sequentially processed by ground filtering, voxel downsampling, and outlier removal to obtain the first and second target point cloud data. For example, the ground plane is fitted based on the RANSAC algorithm, and ground points in the first point cloud data are removed, retaining only rigid and stable features such as walls, columns, and bollards to avoid ground interference during registration. For example, voxel downsampling is performed using a 0.05 voxel grid to reduce computation while preserving geometric details. Isolated noise points are removed through radius filtering to improve matching stability.
[0152] Furthermore, preset iteration parameters are determined, such as the maximum number of iterations (e.g., K=50), the displacement convergence threshold (…). ), rotational convergence threshold ( ).
[0153] Initialize iteration count k=0, current transformation matrix Incremental transformation matrix The identity matrix is the current transformation matrix, which includes the initial relative rotation angle and the initial relative position information.
[0154] Taking the first point cloud data as the source point cloud P and the second point cloud data as the target point cloud Q as an example, the first point cloud data is transformed according to the transformation matrix. Projecting onto the coordinate system of the target point cloud, we obtain... .
[0155] Build a KD-Tree for the second point cloud data to quickly search For each point, the nearest neighbor is used to generate initial matching point pairs. Pairs with Euclidean distances greater than a threshold (e.g., 0.5m) or angles between normal vectors greater than a threshold (e.g., 0.5m) are discarded. From the mismatched point pairs, reliable matching point pairs are obtained. Based on the reliable matching point pairs, the incremental transformation matrix that minimizes the residual is calculated using SVD decomposition. The current transformation matrix at the (k+1)th iteration is obtained based on the incremental transformation matrix and the current transformation matrix. This process continues until the relative position information generated in the k-th iteration is obtained, until the displacement increment is less than the displacement increment threshold. And the rotation increment is less than the rotation increment threshold. If the iteration converges early, output the target relative pose information for each candidate frame pair; or if the iteration count reaches the maximum iteration count k, force termination, and output the target relative pose information for each candidate frame pair.
[0156] S430, based on the image data corresponding to each matching frame pair, determine the second scene similarity corresponding to each matching frame pair, and based on the second scene similarity corresponding to each matching frame pair, determine at least one target matching frame pair in at least one set of matching frame pairs.
[0157] For example, after coarse matching of laser descriptors and fine registration of ICP through multiple iterations, candidate matching frame pairs are obtained. Secondary scene similarity verification is performed based on the Bag of Visual Words. This allows the matching to compensate for the shortcomings of laser set features in recognizing repetitive structures such as long straight corridors, parallel parking spaces, and symmetrical columns in underground parking garages by targeting the corresponding image appearance features. This accurately eliminates false positive matches generated in the laser point cloud registration process, ensuring the reliability of loop closure detection and providing a clean constraint basis for the subsequent construction of loop closure factors.
[0158] In the implementation method of this application, such as Figure 8 As shown, the second scene similarity of each matching frame pair is determined based on the image data corresponding to each matching frame pair, including the following steps.
[0159] S431, determine the first image data at the same time corresponding to the first point cloud data and the second image data at the same time corresponding to the second point cloud data for each matching frame pair.
[0160] For example, image data that is time-synchronized with the first point cloud data corresponding to the matching frame pair (as an example of the first image data) and image data that is time-synchronized with the corresponding second point cloud data (as an example of the second image data) are selected.
[0161] S432, extract the image feature descriptor information corresponding to the first image data and the image feature descriptor information corresponding to the second image data, and map the image feature descriptor information corresponding to the first image data and the image feature descriptor information corresponding to the second image data to the pre-trained visual bag-of-words dictionary to obtain the visual bag-of-words vector corresponding to the first image data and the visual bag-of-words vector corresponding to the second image data.
[0162] For example, distortion correction and cropping are performed on the first and second image data to retain key visual areas such as garage walls, pillars, parking spaces, and signs. Image feature descriptor information (ORB feature information) is extracted. This image feature descriptor information has the characteristics of rotation invariance and scale invariance, has high computational efficiency, is suitable for the low-light and weak-texture environment of underground parking lots, and can quickly obtain local feature points and descriptor information of the image.
[0163] Furthermore, a pre-trained visual bag-of-words dictionary (DBoW3 dictionary) for underground parking scenarios is loaded. The visual bag-of-words dictionary is generated by clustering the features of massive underground parking images and is adapted to the visual feature distribution of parking scenarios. The image feature descriptors of the two image data corresponding to the current matching frame pair are mapped to the pre-trained visual bag-of-words dictionary. The frequency of keyword occurrence in the feature descriptors is counted to generate the visual bag-of-words vector corresponding to the first image data. The visual bag-of-words vector corresponding to the second image data In this way, high-dimensional image feature information is compressed into low-dimensional discrete bag-of-words vectors, enabling efficient scene similarity calculation.
[0164] S433, based on the bag-of-visual-words vector corresponding to the first image data and the bag-of-visual-words vector corresponding to the second image data, determine the second scene similarity between the first image data and the second image data, so as to obtain the second scene similarity corresponding to each matching frame pair.
[0165] For example, the L1 Manhattan distance between the visual bag-of-words vector corresponding to the first image data and the visual bag-of-words vector corresponding to the second image data is determined, and the L1 Manhattan distance is converted into a second scene similarity (also known as a visual similarity score).
[0166] The L1 Manhattan distance is obtained as follows:
[0167]
[0168] in, Let L1 Manhattan distance be the bag-of-words vector corresponding to the first image data and the bag-of-words vector corresponding to the second image data. This is the visual bag-of-words vector (also known as the current frame bag-of-words vector) corresponding to the first image data. This is the visual bag-of-words vector (also known as the candidate frame bag-of-words vector) corresponding to the second image data. It is an L1 Euclidean norm.
[0169] Furthermore, the similarity of the second scene is obtained in the following way:
[0170]
[0171] in, The second scene similarity is defined between the first image data and the second image data.
[0172] S434, Based on the second scene similarity corresponding to each matching frame pair, determine at least one target matching frame pair in at least one set of matching frame pairs.
[0173] In the implementation method of this application, it continues as follows: Figure 8 As shown, in step S450, based on the second scene similarity corresponding to each matching frame pair, at least one target matching frame pair is determined from at least one set of matching frame pairs, including the following steps.
[0174] S435, determine the matching frame pairs whose second scene similarity is greater than the preset second similarity threshold among the matching frame pairs as valid matching frame pairs, and obtain at least one set of valid matching frame pairs.
[0175] If the similarity of the second scene is greater than the preset second similarity threshold (e.g., 0.77), the matching frame pair is considered a valid matching frame pair. If the similarity of the second scene is less than or equal to the preset second similarity threshold, the matching frame pair is considered a mismatched frame pair.
[0176] S436, determine the fusion similarity of each valid matching frame pair based on the first scene similarity and the second scene similarity corresponding to each valid matching frame pair.
[0177] For example, the fusion similarity of each valid matching frame pair is determined as follows:
[0178]
[0179] in, The fusion similarity of each valid matching frame pair.
[0180] S437, determine at least one valid matching frame pair whose fusion similarity is greater than a preset third similarity threshold among the fusion similarities of each valid matching frame pair as a valid loop-loop matching frame pair, so as to obtain at least one set of target matching frame pairs.
[0181] For example, if That is, the corresponding valid matching frame pair is considered a valid loopback matching frame pair, if If the corresponding valid matching frame pair is not found, it is considered a mismatched frame pair and will not be included in the subsequent closure factor calculation.
[0182] Furthermore, in another implementation of this application, the first scene similarity and the second scene similarity of each pair of frames to be matched can be directly calculated. Only when the first scene similarity is greater than 0.35 and the second scene similarity is greater than 0.77 (that is, the L1 Manhattan distance is less than 0.23) is the pair of frames to be matched considered to be a valid matching pair. The fusion similarity of the valid matching pair is further calculated, the target matching pair is determined according to the fusion similarity, and then the target relative pose information corresponding to the target matching pair is determined based on ICP fine registration.
[0183] That is, in the implementation of this application, S410, S420 and S430 can be executed sequentially, or S410 and S430 can be executed synchronously first to determine the first scene similarity and the second scene similarity of the frame pair to be matched, to determine the target matching frame pair, and then step S420 is executed to determine the target relative pose information corresponding to each target matching frame pair.
[0184] Furthermore, in the implementation of this application, if the number of image features is too small, completely overexposed, or the screen is black, the visual verification is automatically skipped, and the system reverts to the pure laser matching result to ensure continuous operation of the system.
[0185] S500: Based on the target relative pose information of each target matching frame pair, determine the loop closure factor corresponding to the sampling trajectory pair of each target matching frame pair, so as to obtain the loop closure factor corresponding to multiple sampling trajectory pairs.
[0186] For example, after completing coarse matching of laser descriptors, fine registration of ICP through multiple iterations, and removal of mismatches in the visual bag of words, the effective loop-closing matching frame pairs (i.e., target matching frame pairs) of cross-sampled trajectories that have passed dual verification are transformed into loop-closing factors (i.e., closed-loop constraint edges) that can be directly used in pose graph optimization, and global pose constraints between different sampled trajectories are established to realize the trajectory association and splicing of multiple sampled trajectories.
[0187] In the implementation method of this application, such as Figure 9 As shown, based on the target relative pose information of each target matching frame pair, the loop closure factor corresponding to the sampling trajectory pair of each target matching frame pair is determined, including the following steps.
[0188] S510: Map the relative pose information of each target matching frame pair to the odometry coordinate system of the sampling trajectory pair corresponding to each target matching frame pair, and generate the relative pose constraint information between each sampling trajectory pair.
[0189] For example, locate the sampling trajectory pair to which the target matching frame pair belongs, such as the first sampling trajectory clip1 and the second sampling trajectory clip2, and record the frame number, timestamp, and initial pose information of the target matching frame pair in their respective clips to complete the accurate binding across sampling trajectories.
[0190] Using the target relative pose information (i.e. the optimal rigid body transformation matrix) of the target matching frame pair output by ICP fine registration as the core, the relative pose constraint information between the two frames is constructed. The local inter-frame relative pose information corresponding to clip1 is mapped to the odometry coordinate system of clip2 to form the global relative pose constraint information between the sampled trajectory pairs.
[0191] S520, determine the covariance matrix of each sampling trajectory pair based on the fusion similarity and second scene similarity of each target matching frame pair.
[0192] For example, the covariance matrix of the corresponding sampling trajectory pairs is generated based on the fusion similarity, ICP registration residual, second scene similarity, and the uncertainty of the estimation constraints.
[0193] S530, determine the constraint confidence level of each sampling trajectory pair based on the covariance matrix of each sampling trajectory pair.
[0194] For example, the higher the similarity, the smaller the covariance, and the higher the constraint confidence.
[0195] S540 generates the closure factor for each sampling trajectory pair based on the relative pose constraint information, covariance matrix, and constraint confidence.
[0196] For example, the relative pose constraint information, covariance matrix, constraint confidence, and two sampling trajectory IDs are encapsulated to generate the closure factor corresponding to each sampling trajectory pair.
[0197] S600 performs constraint consistency verification and observability verification on the loop closure factors corresponding to multiple sampling trajectory pairs based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the loop closure factors corresponding to multiple sampling trajectory pairs, and determines the target loop closure factors corresponding to multiple sampling trajectory pairs.
[0198] For example, regarding the loop factors between multiple sampling trajectories, false loops, conflict constraints, and drift constraints caused by the repetition of underground parking lot structures, cross-layer confusion, and registration residuals, a dual verification mechanism of pose graph loop consistency check and observability check is used to eliminate erroneous factors with geometric conflicts and global incompatibility, retaining only high-confidence, self-consistent, and effective loop factors. This provides pure constraint input without distortion or drift for subsequent global optimization, fundamentally avoiding the overlap of multi-level parking lot maps and trajectory distortion.
[0199] In the implementation method of this application, such as Figure 10 As shown, based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the loop closure factor corresponding to multiple sampling trajectory pairs, constraint consistency verification and observability verification are performed on the loop closure factors corresponding to multiple sampling trajectory pairs to determine the target loop closure factor corresponding to multiple sampling trajectory pairs, including the following steps.
[0200] S610, generate a pose graph based on the odometry factors of each frame corresponding to any two frames of point cloud data corresponding to each sampling trajectory, the loop closure factors of each target matching frame corresponding to the sampling trajectory pair in the loop closure factors of multiple sampling trajectory pairs, and the initial pose information of each sampling trajectory corresponding to each frame of point cloud data.
[0201] In the implementation of this application, the nodes of the pose graph are composed of the initial pose information of each sampled trajectory corresponding to each frame of point cloud data, and the edges of the pose graph are composed of the odometry factors of each frame corresponding to any two frames of point cloud data corresponding to each sampled trajectory and the closure factors of each target matching frame corresponding to the sampled trajectory pair in the closure factors of multiple sampled trajectory pairs.
[0202] For example, the initial pose information, odometry factors, and closure factors of multiple sampled trajectory pairs are uniformly encapsulated into a Pose-Graph, which serves as the basic carrier for consistency verification. Each node corresponds to the laser odometry pose information (including position and attitude information) of one frame within each sampled trajectory. The odometry factors between every two frames of environmental data in each sampled trajectory and the closure factors between related sampled trajectory pairs generate the edges of the pose graph.
[0203] It should be noted that a single-sample trajectory is a single sampling, and the default scene is similar. Therefore, the confidence level of the odometry factor between every two frames of environmental data in a single-sample trajectory is high, and it is valid by default and does not require verification. Only the edges generated by the loop closure factor are verified.
[0204] It should also be noted that each edge must be bound to its corresponding relative pose constraint information, covariance matrix, and constraint confidence information.
[0205] S620, based on the target relative pose information corresponding to each side of at least one closed loop formed by the target loop in the pose diagram, determine the loop closure error of each closed loop.
[0206] For example, using the minimum closed loops of 3-rings and 4-rings (as examples of target rings) in the pose graph, we can quickly screen for suspicious constraint factors that are geometrically inconsistent. 3-rings and 4-rings are minimum closed loops consisting of 3 or 4 nodes and the corresponding number of edges. They are the basic units for checking cycle consistency because there are no smaller closed loops, and they can most directly reflect the error of the constraint edges.
[0207] Specifically, iterate through all closed loops in the pose graph consisting of 3 / 4 pose nodes plus corresponding constraint edges, and multiply the target relative pose information corresponding to the two pose nodes connected by each edge in the closed loop to obtain the loop closure error.
[0208] Taking a 3-ring closed loop as an example, this closed loop includes pose nodes i, j, and k. The target relative pose information for any two pose nodes in this closed loop (where the vehicle moves from pose i→j→k→i, forming a closed motion path at the physical level) is: , , The loop closure error of the corresponding closed loop can be obtained as follows:
[0209]
[0210] in, The loop closure error of each closed loop. This provides the target relative pose information for nodes i and j. This provides the target relative pose information for nodes j and k. The target relative pose information for node k and node i.
[0211] S630, based on the loop closure error of each closed loop, perform constraint consistency verification, determine the candidate edges composed of loop closure factors included in at least one closed loop that passes the constraint consistency verification, and obtain the candidate edge set.
[0212] For example, based on the loop closure error of each closed loop, if the loop closure error... Exceeding the error threshold All edges within a loop are considered suspicious edges. If the same edge in more than two closed loops is marked as a suspicious edge, the constraint consistency check is considered to have failed, and the edge is considered an erroneous edge. The erroneous edges are removed, and the remaining edges are considered candidate edges and added to the candidate edge set. That is, if the number of times the edge corresponding to any loop factor is marked as a suspicious edge is less than 2, the constraint consistency check of the edge is considered to have passed, and the edge is added to the candidate edge set.
[0213] It should be noted that in the constraint consistency verification and screening of erroneous constraint edges, the 3-ring (three-element ring) and 4-ring (four-element ring) are closed-loop topologies defined in the Pose-Graph model. Their core is a closed loop formed by continuous pose nodes and constraint edges, which is used to verify the geometric consistency of constraint edges within the loop and to determine whether there are drift or erroneous loop constraint factors.
[0214] It should also be noted that if the constraints of all three edges in the closed loop are accurate, the loop closure error should approach 0. If the error exceeds the error threshold, it means that at least one edge in the closed loop has an incorrect or drifting constraint.
[0215] Furthermore, in the implementation of this application, erroneous edges can also be removed based on the maximum clique algorithm.
[0216] For example, each closure factor is treated as a node. If two closure factors have no pose conflict and are geometrically compatible, they are connected by an edge. If there is a conflict, no edge is formed. The largest fully connected clique in the graph is searched. All constraints within the clique are mutually verified (i.e., consistency checks are performed). If they are globally consistent (i.e., the consistency check passes), the clique is considered a set of reliable constraints. The nodes within the clique are retained to obtain a set of candidate edges. Isolated or conflicting edges outside the clique are judged as erroneous constraint factors and are directly removed.
[0217] S640, determine the observation information increment corresponding to each candidate edge in the candidate edge set, perform observability verification on the closure factor corresponding to each candidate edge based on the observation information increment, obtain the target edge that passes the verification, and take the closure factor corresponding to the target edge as the target closure factor.
[0218] For example, for candidate edges in the candidate edge set Calculate the increment of the Fisher Information Matrix (FIM) of the overall information matrix (i.e., the observation information matrix). Based on the observation information increment of each candidate edge, perform observability verification on the closure factor of the candidate edge to obtain the target edge that passes the verification.
[0219] In SLAM pose graph optimization, the overall information matrix is the core matrix for estimating the uncertainty of all pose states. It is obtained by summing the information matrices of all constrained edges (odometry edges + candidate edges that have passed the initial screening).
[0220] The inverse matrix of FIM is approximately equivalent to the state covariance matrix. The larger the matrix elements, the stronger the constraints between the corresponding states, and the higher the estimation accuracy. FIM is a sparse symmetric square matrix, and its dimension is equal to the total number of degrees of freedom of all poses to be optimized (if each pose has 6 degrees of freedom, then the dimension = 6 × the number of poses).
[0221] In the implementation of this application, determining the observation information increment corresponding to each candidate edge in the candidate edge set includes: determining the local information matrix of each candidate edge in the candidate edge set, and obtaining the reference information matrix corresponding to the target candidate edge based on the local information matrices of each candidate edge other than the target candidate edge, wherein the target candidate edge is any candidate edge in the candidate edge set.
[0222] For example, initialize the global zero matrix. Iterate through all odometry edges and reliable loop-closed edges (i.e., candidate edges), and calculate the value of each edge. Local information matrix (connecting pose a and pose b):
[0223]
[0224] Among them, It is the Jacobian matrix of the residuals with respect to states a and b. It is the inverse of the measurement noise covariance of that side.
[0225] The local information matrix is mapped to the global matrix by pose index and then summed to obtain candidate edges excluding the current target. The baseline information matrix .
[0226] Furthermore, based on the local information matrix of the target candidate edge and the reference information matrix corresponding to the target candidate edge, the target information matrix corresponding to the target candidate edge is determined.
[0227] For example, the target candidate edge to be verified The local information matrix is accumulated into the baseline information matrix to obtain the target candidate edge. Target information matrix .
[0228] Furthermore, based on the traces of the baseline information matrix and the target information matrix corresponding to the target candidate edge, the observation information increment of the target candidate edge is obtained, so as to obtain the observation information increment corresponding to each candidate edge.
[0229] For example, the trace of a matrix is used to measure the contribution of a constraint to the observations of the system; the larger the trace increment, the higher the observational value of the candidate edge.
[0230] In this application, the incremental observation information of the target candidate edge is obtained in the following way:
[0231]
[0232] in, This is the incremental observation information for the target candidate edge. This is the trace of the baseline information matrix and the target information matrix.
[0233] Furthermore, if Less than the preset incremental threshold (For example, 0.02), then the trajectory estimation of the target candidate edge is considered to be almost unobservable (i.e., observability verification fails). Even if the set error is small, it is judged as a weak cloze factor and directly eliminated. If the value is greater than or equal to 0.02, the candidate edge is considered to significantly improve the trajectory observation accuracy (i.e., the observability verification is passed), and is judged as an effective strong loop factor and retained.
[0234] In this way, observability verification is performed on each candidate edge in the candidate edge set, resulting in multiple target edges that pass both the ring consistency verification and the observability verification. These target edges then participate in subsequent global optimization. Edges that do not pass the consistency verification or the observability verification are written to the log and do not participate in subsequent global optimization, but the original measurement data is retained for debugging and playback.
[0235] Furthermore, all loop constraint factors corresponding to the target edges that have passed the observability verification are merged with the odometry constraint factors to form a pure constraint factor set that is error-free, redundant, and has high observation value, which is then sent to the subsequent global optimization stage.
[0236] In this application's implementation, through ring consistency verification and observability verification, it is found that for underground parking garages with similar geometric structures on different floors, although some constraint factors have small geometric errors, they cannot provide effective elevation observations. Extremely small values will be directly eliminated. Furthermore, for low-information constraints such as long straight corridors and areas with overlapping parking spaces, they offer no observational contribution. Extremely small constraints will be directly eliminated to avoid diluting the weight of effective constraints with ineffective constraints. Only strong observation constraints will be retained, allowing global optimization to converge faster and the trajectory to be distortion-free, ensuring that multi-layer maps do not overlap or become distorted.
[0237] In the implementation method of this application, even with the manual injection of 20 false loops in a 3-layer geodatabase dataset, it is still possible to achieve a 100% false loop removal rate, zero loss of true positive factors, effective filtering of erroneous constraint factors, a 40% reduction in the root mean square error (RMSE) of the optimized trajectory, no distortion of "two layers overlapping into one" in the global map, and a significant improvement in mapping accuracy.
[0238] S700 determines the global pose information of multiple sampling trajectories based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the target loop closure factor corresponding to multiple sampling trajectory pairs.
[0239] For example, the bundle adjustment method or the GTSAM method is used to jointly solve the global pose of all sampled trajectories, completely eliminating the cumulative drift and local errors of the laser odometry, and outputting the globally unified, distortion-free, and high-precision optimal pose, providing a precise pose reference for the final multi-sampled trajectory stitching mapping.
[0240] Among them, Bundle Adjustment (BA) in SLAM specifically refers to Pose Graph Optimization, which jointly optimizes all pose nodes by minimizing the reprojection or measurement residuals of all constraint edges.
[0241] GTSAM, or Georgia Tech Smoothing and Mapping Library, is a mainstream tool library for implementing Factor Graph Optimization (BA), which can be directly used for BA optimization of pose graphs or factor graphs.
[0242] Factor graph optimization works by loading all odometry factors / loop closure factors that have passed dual-gate screening into a Nonlinear FactorGraph, and then using Gauss-Newton or Levenberg-Marquardt iterations to minimize the residuals and solve for the pose increment. It updates the values until convergence. GTSAM provides a mature API; in practice, you only need to assemble the factors and initial values to call it.
[0243] In one implementation of this application, such as Figure 11As shown, the global pose information of multiple sampling trajectories is determined based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the target loop closure factor corresponding to multiple sampling trajectory pairs, including the following steps.
[0244] S710 constructs a global optimization model based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory, the initial pose information of each sampling trajectory corresponding to each frame of point cloud data, and the target closure factor corresponding to multiple sampling trajectory pairs.
[0245] For example, with the goal of minimizing the residuals of all constraint factors, the odometer constraint factors and loop closure constraint factors are jointly constructed as the optimization objective function. All pose nodes are iteratively corrected through a nonlinear optimization algorithm, so that the inter-frame transformation and cross-sampling trajectory loop closure constraint factors simultaneously satisfy geometric consistency. This corrects the cumulative drift of a single trip odometer at the global level and solves the problems of cross-level overlap and trajectory distortion in underground parking garages.
[0246] Specifically, the 6-DOF pose information (3D position + 3D attitude) of each frame corresponding to all sampling trajectories is uniformly indexed by frame and sampling trajectory number and used as nodes of the global optimization model. The odometry factors between adjacent frames of each sampling trajectory are used as optimization basis edges, and the target closure factors between sampling trajectories are used as global correction key edges to obtain the target optimization model. Each factor includes the corresponding covariance matrix and constraint confidence.
[0247] Furthermore, we define the optimization objective function as the sum of squared Mahalanobis distance residuals for all constraints, as shown below:
[0248]
[0249] in, Represents the set of poses to be optimized ( or This refers to the initial pose information corresponding to the image segments from various locations that need to be optimized. , Let these represent the constraint sets for the odometer factor and the lap time factor, respectively. This refers to the odometer residual term corresponding to the odometer factor. For the closure factor, there are closure residual terms, where each residual term is the error between the predicted trajectory pose information (i.e., the initial pose information) and the observed trajectory pose information (i.e., the target pose information). , This is the covariance matrix of each factor, used to weight the confidence levels of different constraints; the higher the confidence level, the greater the weight. This is a robust kernel function (such as the Huber or Cauchy kernel) used to suppress the effects of outliers.
[0250] Furthermore, the odometer residual term is obtained as follows:
[0251]
[0252] in, These are odometer observations.
[0253] The cyclic residual term is obtained as follows:
[0254]
[0255] in, To match pose information for loop closure.
[0256] The S720, based on a global optimization model, optimizes the initial pose information of each sampling trajectory corresponding to each frame of point cloud data to obtain the global pose information of multiple sampling trajectories.
[0257] For example, the graph optimization framework g2o minimizes the objective function using either the Gauss-Newton method or the Levenberg-Marquardt method. This is to optimize the global optimization model and obtain globally consistent global pose information based on the optimal global optimization model.
[0258] Taking the Levenberg-Marquardt method as an example, the initial pose information of each frame output by the laser odometry is used as the starting point for optimization. All factors are traversed, the constraint residual under the current pose is calculated, the partial derivative of the residual corresponding to the pose node is calculated, a linearized equation is constructed, the pose increment is iteratively solved, all pose nodes are corrected, and the optimization stops when the pose increment is less than the pose increment threshold or the maximum number of iterations is reached, thus obtaining the global pose information of multiple sampled trajectories.
[0259] The S800 stitches together map segments corresponding to multiple sampling trajectories based on the global pose information of multiple sampling trajectories to generate a target map corresponding to the target parking lot.
[0260] For example, based on the unified global pose information after global optimization, the static point clouds of multiple sampling trajectories and multiple sensors (main lidar + blind lidar) are spatiotemporally aligned, fused and deduplicated, smoothly completed and hierarchically organized to generate a drift-free, distortion-free, cross-layer compatible, and high-precision global lidar point cloud map of the underground parking garage (as an example of the target map).
[0261] For example, using the world coordinate system as a reference, the map segments corresponding to each sampling trajectory are transformed from their respective independent local odometry coordinate systems to a unified global coordinate system through global pose information. For all point cloud data in each map segment, rigid body transformation is performed based on the optimized global pose corresponding to each frame in the sampling trajectory of each local image segment, so as to project the point cloud data corresponding to each local image segment into the global space, so that the original scattered and drifting multiple map segments are accurately aligned in space.
[0262] Furthermore, all map fragments transformed to a unified coordinate system are overlaid and merged. For overlapping point clouds, voxel filtering, distance-weighted averaging, and other methods are used to remove duplicates and reduce sparsity, thereby preserving the environmental geometry while reducing map redundancy.
[0263] Furthermore, after fusion, deduplication, smoothing, and structuring, all local map fragments are stitched together into a global map that covers the entire target parking lot area, is free from drift, overlap, and distortion, and has a consistent geometric structure, serving as the final output target map.
[0264] The map generation method provided in this application is a laser point cloud map reconstruction method based on laser descriptors in a parking scenario, such as... Figure 12 As shown, multi-frame environmental data acquisition (Clip data acquisition) is performed based on multiple sampling trajectories. The multi-frame environmental data corresponding to each sampling trajectory is uploaded to a data platform for data parsing, yielding full image data, main radar point cloud data, and blind spot radar point cloud data for each sampling trajectory. For each sampling trajectory, dynamic obstacles are removed based on temporal AUTO-OD, and single-Clip mapping is completed based on laser odometry, resulting in map fragments corresponding to each sampling trajectory. Laser feature descriptors (PKs) are extracted from each frame of laser point cloud data for each sampling trajectory. For every two sampling trajectories, the first scene similarity is calculated based on the laser feature descriptors of any frame corresponding to each of the two sampling trajectories, resulting in candidate frame pairs. The initial relative angle and initial relative position of each frame are used to perform fine registration of candidate frame pairs based on multiple iterations of ICP, obtaining the target relative pose information of each candidate frame pair. The scene similarity of the candidate frame pairs is further judged based on the visual bag-of-words system to avoid mismatches, resulting in multiple target matching frame pairs. The closure constraint factors of multiple sampling trajectory keys are obtained based on the target relative pose information of each target matching frame pair, and then constraint consistency judgment and observability judgment are performed to obtain the target closure factor. Global optimization is performed based on the odometry factor and target closure factor of the adjacent frames corresponding to each sampling trajectory to obtain the global pose information corresponding to multiple sampling trajectories. Then, multiple map fragments are stitched together based on the global pose information to obtain the target map.
[0265] This application addresses the core pain points of parking lots (especially underground / indoor parking lots) such as lack of GNSS signal, weak texture, repetitive structure, easy confusion across layers, and difficulty in aligning multiple sampling passes. Through a complete closed-loop architecture of "multi-track sampling → single-track local mapping → cross-track matching → constraint factor purification → global optimization → global stitching", it achieves high-precision, highly robust, and fully automated parking lot map construction without external dependencies.
[0266] In other words, the entire process relies solely on onboard LiDAR point cloud data and image data, eliminating the need for external positioning aids such as RTK and GPS. This makes it perfectly suited for satellite signal-blocked scenarios such as underground parking garages. Furthermore, through ParkingScan laser feature descriptor extraction, ICP precise point pair filtering, and visual bag-of-words secondary verification, it effectively resists interference from repetitive parking lot structures and avoids cross-trajectory mismatches. It can adapt to single-layer and multi-layer parking lots of different sizes and layouts. Based on a high-precision cross-trajectory matching and loop consistency verification, and a loop closure factor filtering strategy with secondary enhanced observability verification, it completely eliminates erroneous loop closure constraint factors, preventing trajectory distortion and map distortion. Then, through a standard BA or GTSAM global optimization, it solves for the globally optimal pose of all sampled trajectories, completely eliminating laser odometry drift and achieving sub-centimeter-level global pose accuracy, meeting the accuracy requirements of automatic parking. Based on the globally optimal pose, it can achieve precise spatial alignment of multiple local map fragments. After point cloud fusion, deduplication, and hole filling, it generates a high-precision map covering the entire parking lot area, with no blind spots, and supporting hierarchical management.
[0267] The map generation method provided in this application can be applied to electronic devices.
[0268] Please see Figure 13 , Figure 13 The diagram shown is a structural schematic of an electronic device provided in an embodiment of this application. Figure 13 As shown, the electronic device may include: transceiver 121, processor 122, and memory 123.
[0269] The processor 122 executes computer execution instructions stored in the memory, causing the processor 122 to perform the technical solution of the map generation method in the above embodiments. The processor 122 can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital data processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.
[0270] The memory 123 is connected to the processor 122 via the system bus and completes communication between them. The memory 123 is used to store computer program instructions.
[0271] For example, and not as a limitation, memory 123 may include a hard disk drive (HDD), a floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or a universal serial bus (USB) drive, or a combination of two or more of these. Where appropriate, memory 123 may include removable or non-removable (or fixed) media. Where appropriate, memory 123 may be internal or external to the integrated gateway device. In a particular embodiment, memory 123 is non-volatile solid-state memory. In a particular embodiment, memory 123 includes read-only memory (ROM). Where appropriate, the ROM may be a mask-programmed ROM, a programmable read-only ROM (PROM), an erasable programmable read-only ROM (EPROM), an electrically erasable programmable read-only ROM (EEPROM), an electrically alterable read-only ROM (EAROM), or flash memory, or a combination of two or more of these. Transceiver 121 can be used to obtain the task to be run and its configuration information.
[0272] The system bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The system bus can be divided into address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in the diagram, but this does not indicate that there is only one bus or one type of bus. Transceivers are used to enable communication between database access devices and other computers (e.g., clients, read-write libraries, and read-only libraries). Memory may include random access memory (RAM) and may also include non-volatile memory.
[0273] Furthermore, the electronic device can be, for example, a computer, a vehicle, a server, or other electronic equipment.
[0274] This application also provides a chip for executing instructions, which is used to execute the map generation method described in the above embodiments.
[0275] This application also provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed on the processor of an electronic device, the processor of the electronic device performs the technical solution of the map generation method described in the above embodiments.
[0276] In some possible implementations, various aspects of the methods provided in this application can also be implemented as a program product, which includes program code. When the program product is run on the processor of an electronic device, the program code is used to cause the processor of the electronic device to perform the steps in the methods of the various exemplary implementations of this application described above. For example, the electronic device can perform the map generation method described in the embodiments of this application.
[0277] The program product may take the form of any combination of one or more readable media. A readable medium may be a readable data medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CDROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0278] This application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor can read the computer program from the computer-readable storage medium, and when the at least one processor executes the computer program, it can implement the technical solution of the map generation method in the above embodiments.
[0279] It should be noted that, in addition to the specific embodiments described above, those skilled in the art can easily understand other advantages and effects of this application from the content disclosed in this specification. Although the description of this application is presented in conjunction with preferred embodiments, this does not mean that the features of this application are limited to this implementation. On the contrary, the purpose of describing the application in conjunction with the implementation is to cover other options or modifications that may be derived from this application. To provide a thorough understanding of this application, many specific details are included in the above description, and this application may also be implemented without using these details. Furthermore, to avoid confusion or obscuring the focus of this application, some specific details will be omitted in the description. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.
[0280] It should be noted that in this specification, similar reference numerals and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.
[0281] It should be noted that the terms "first" and "second" are used only to distinguish descriptions and should not be interpreted as indicating or implying relative importance.
[0282] It should be noted that some structural or methodological features may be shown in the accompanying drawings in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be necessary. Rather, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. Furthermore, including structural or methodological features in a particular figure does not imply that such features are required in all embodiments, and in some embodiments, these features may be omitted or may be combined with other features.
[0283] Although this application has been illustrated and described with reference to certain preferred embodiments, those skilled in the art should understand that the above description is a further detailed explanation of the application in conjunction with specific implementations, and should not be construed as limiting the specific implementation of the application to these descriptions. Those skilled in the art can make various changes in form and detail, including some simple deductions or substitutions, without departing from the spirit and scope of this application.
Claims
1. A map generation method, characterized in that, The method includes: Determine the multi-frame environmental data corresponding to each of the multiple sampling trajectories obtained by sampling the target parking lot, wherein the environmental data includes point cloud data and image data; Based on the multi-frame environmental data corresponding to each sampling trajectory, generate map segments corresponding to each sampling trajectory and odometry factors between every two frames of environmental data corresponding to each sampling trajectory. Laser feature descriptor information is extracted from the point cloud data of each frame in the multi-frame environmental data corresponding to each sampling trajectory to obtain the laser descriptor information corresponding to the point cloud data of each frame in the multi-frame environmental data corresponding to each sampling trajectory. Multiple sampling trajectory pairs are obtained by taking each pair of sampling trajectories as a sampling trajectory pair. Based on the laser feature descriptor information corresponding to any frame of point cloud data for each sampling trajectory in each sampling trajectory pair, at least one set of target matching frame pairs corresponding to the multiple sampling trajectory pairs are determined, and the target relative pose information of each target matching frame pair is determined. Based on the target relative pose information of each target matching frame pair, determine the loop closure factor corresponding to the sampling trajectory pair corresponding to each target matching frame pair, so as to obtain the loop closure factor corresponding to the plurality of sampling trajectory pairs; Based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the loop closure factor corresponding to the multiple sampling trajectory pairs, constraint consistency verification and observability verification are performed on the loop closure factors corresponding to the multiple sampling trajectory pairs to determine the target loop closure factor corresponding to the multiple sampling trajectory pairs. The global pose information of the multiple sampling trajectories is determined based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the target loop closure factor corresponding to the multiple sampling trajectory pairs. Based on the global pose information of the multiple sampling trajectories, the map segments corresponding to the multiple sampling trajectories are stitched together to generate the target map corresponding to the target parking lot.
2. The map generation method according to claim 1, characterized in that, Laser feature descriptor information is extracted from each frame of point cloud data in the multi-frame environmental data corresponding to each sampling trajectory to obtain laser descriptor information corresponding to each frame of point cloud data corresponding to each sampling trajectory, including: The coordinate system of each frame of point cloud data in the multi-frame environmental data corresponding to each sampling trajectory is transformed to polar coordinate space. The point cloud data of each frame in polar coordinate space is discretized into grids according to the rotation angle and radius of the polar coordinate space to obtain the feature information corresponding to each grid. Based on the feature information corresponding to each grid corresponding to each frame of point cloud data, the feature matrix corresponding to each frame of point cloud data is obtained, which is used as the laser descriptor information corresponding to the point cloud data of the corresponding frame, so as to obtain the laser descriptor information corresponding to each frame of point cloud data corresponding to each sampling trajectory.
3. The map generation method according to claim 2, characterized in that, Based on the laser feature descriptor information corresponding to any frame of point cloud data for each of the sampling trajectory pairs, at least one set of target matching frame pairs corresponding to the plurality of sampling trajectory pairs is determined, and the target relative pose information for each target matching frame pair is determined, including: Each sampling trajectory pair includes any one frame of point cloud data corresponding to the two sampling trajectories, which is taken as the matching frame pair corresponding to each sampling trajectory pair to obtain multiple matching frame pairs. Based on the laser feature descriptor information corresponding to each matching frame pair, the initial relative pose information and the first scene similarity corresponding to the two frames of point cloud data corresponding to each matching frame pair are determined. Based on the first scene similarity corresponding to each of the multiple pairs of frames to be matched, at least one set of candidate frame pairs corresponding to the multiple sampling trajectory pairs are determined from the multiple pairs of frames to be matched; Based on the initial relative pose information corresponding to each candidate frame pair and the point cloud data corresponding to each candidate frame pair, determine the target relative pose information corresponding to each candidate frame pair. Based on the image data corresponding to each candidate frame pair, the second scene similarity corresponding to each candidate frame pair is determined; Based on the second scene similarity corresponding to each candidate frame pair, at least one set of target matching frame pairs is determined from at least one set of candidate frame pairs.
4. The map generation method according to claim 3, characterized in that, Each sampling trajectory pair includes a first sampling trajectory and a second sampling trajectory. Any frame of point cloud data corresponding to the first sampling trajectory is the first point cloud data, and any frame of point cloud data corresponding to the second sampling trajectory is the second point cloud data. The initial relative pose information includes an initial relative rotation angle and an initial relative position. The rows of the feature matrix correspond to the radius, and the columns of the feature matrix correspond to the rotation angle. Any frame of point cloud data corresponding to the two sampling trajectories in each sampling trajectory pair is taken as the matching frame pair corresponding to each sampling trajectory pair. Based on the laser feature descriptor information corresponding to each matching frame pair, the initial relative pose information corresponding to the two frames of point cloud data corresponding to each matching frame pair is determined, including: The first point cloud data corresponding to the first sampling trajectory included in each sampling trajectory pair and the second point cloud data corresponding to the second sampling trajectory included in each sampling trajectory pair are taken as the frame pairs to be matched corresponding to each sampling trajectory pair; The feature matrix of the first point cloud data corresponding to the first sampling trajectory is translated column by column to obtain the feature matrix of the first point cloud data corresponding to different rotation angles. The matrix similarity between the feature matrix of the first point cloud data corresponding to each rotation angle and the feature matrix of the second point cloud data corresponding to the second sampling trajectory is determined, and the matrix similarity corresponding to different rotation angles is obtained, so as to obtain multiple matrix similarities corresponding to each pair of frames to be matched. The rotation angle corresponding to the maximum similarity among the multiple matrix similarities of each pair of frames to be matched is determined as the initial relative rotation angle between the first point cloud data and the second point cloud data of each pair of frames to be matched. Based on the polar coordinates of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched, and the initial relative rotation angle of the first point cloud data and the second point cloud data, the initial relative positions of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched are determined.
5. The map generation method according to claim 4, characterized in that, The feature information corresponding to each of the grids includes the maximum height, minimum height, and average reflection intensity of each grid. Based on the laser feature descriptor information corresponding to each pair of frames to be matched, the first scene similarity corresponding to the two frames of point cloud data corresponding to each pair of frames to be matched is determined, including: Based on the maximum and minimum heights of the grids included in the feature matrix of the first point cloud data corresponding to each of the frame pairs to be matched, and the maximum and minimum heights of the grids included in the feature matrix of the second point cloud data corresponding to each of the frame pairs to be matched, the geometric distance between the first point cloud data and the second point cloud data corresponding to each of the frame pairs to be matched is determined. Based on the average reflection intensity of each grid cell in the feature matrix corresponding to the first point cloud data of each pair of frames to be matched and the average reflection intensity of each grid cell in the feature matrix corresponding to the second point cloud data, the intensity similarity of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched is determined. Based on the geometric distance and intensity similarity of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched, the first scene similarity of the first point cloud data and the second point cloud data corresponding to each pair of frames to be matched is determined; Based on the first scene similarity corresponding to each of the multiple pairs of frames to be matched, at least one set of candidate frame pairs corresponding to the multiple sampling trajectory pairs is determined from the multiple pairs of frames to be matched, including: The first scene similarity pairs corresponding to the first scene similarity pairs that are greater than a preset first similarity threshold are identified as the candidate frame pairs, so as to obtain at least one set of the candidate frame pairs corresponding to the multiple sampling trajectory pairs.
6. The map generation method according to claim 5, characterized in that, Based on the image data corresponding to each candidate frame pair, determine the second scene similarity corresponding to each candidate frame pair, including: Determine the first image data at the same time corresponding to the first point cloud data and the second image data at the same time corresponding to the second point cloud data for each candidate frame pair; Extract the image feature descriptor information corresponding to the first image data and the image feature descriptor information corresponding to the second image data, and map the image feature descriptor information corresponding to the first image data and the image feature descriptor information corresponding to the second image data to a pre-trained visual bag-of-words dictionary to obtain the visual bag-of-words vector corresponding to the first image data and the visual bag-of-words vector corresponding to the second image data. Based on the bag-of-visual-words vector corresponding to the first image data and the bag-of-visual-words vector corresponding to the second image data, the second scene similarity between the first image data and the second image data is determined, so as to obtain the second scene similarity corresponding to each candidate frame pair; Based on the second scene similarity corresponding to each of the candidate frame pairs, at least one set of target matching frame pairs is determined from at least one set of matching frame pairs, including: The candidate frame pairs whose second scene similarity is greater than a preset second similarity threshold are identified as valid matching frame pairs, thus obtaining at least one set of valid matching frame pairs. Based on the first scene similarity and the second scene similarity corresponding to each of the effective matching frame pairs, the fusion similarity of each of the effective matching frame pairs is determined; Determine at least one of the effective matching frame pairs whose fusion similarity is greater than a preset third similarity threshold as an effective loopback matching frame pair, so as to obtain at least one set of target matching frame pairs.
7. The map generation method according to claim 6, characterized in that, Based on the target relative pose information of each target matching frame pair, determine the loop closure factor corresponding to the sampling trajectory pair corresponding to each target matching frame pair, including: The target relative pose information of each target matching frame pair is mapped to the odometry coordinate system of the sampling trajectory pair corresponding to each target matching frame pair, thereby generating relative pose constraint information between each sampling trajectory pair; The covariance matrix of each sampling trajectory pair is determined based on the fusion similarity corresponding to each target matching frame pair and the second scene similarity; Based on the covariance matrix of each sampling trajectory pair, determine the constraint confidence level of each sampling trajectory pair; Based on the relative pose constraint information, the covariance matrix, and the constraint confidence level between each of the sampling trajectory pairs, the closure factor corresponding to each sampling trajectory pair is generated.
8. The map generation method according to claim 7, characterized in that, Based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory and the loop closure factor corresponding to multiple sampling trajectory pairs, constraint consistency verification and observability verification are performed on the loop closure factors corresponding to the multiple sampling trajectory pairs to determine the target loop closure factor corresponding to the multiple sampling trajectory pairs, including: A pose graph is generated based on the odometry factors corresponding to each frame of point cloud data corresponding to any two frames of the sampling trajectory, the loop closure factors corresponding to each target matching frame pair of the sampling trajectory pair in the multiple sampling trajectory pairs, and the initial pose information of each sampling trajectory corresponding to each frame of point cloud data. The nodes of the pose graph are composed of the initial pose information of each sampling trajectory corresponding to each frame of point cloud data, and the edges of the pose graph are composed of the odometry factors corresponding to each frame of point cloud data corresponding to any two frames of the sampling trajectory and the loop closure factors corresponding to each target matching frame pair of the sampling trajectory pair in the multiple sampling trajectory pairs. Based on the target relative pose information corresponding to each edge in at least one closed loop formed by the target loop in the pose diagram, determine the loop closure error of each closed loop; Based on the loop closure error of each closed loop, a constraint consistency check is performed to determine the candidate edges composed of the loop closure factors included in at least one of the closed loops that pass the constraint consistency check, thereby obtaining a candidate edge set. Determine the observation information increment corresponding to each candidate edge in the candidate edge set, and perform observability verification on the loop closure factor corresponding to each candidate edge based on the observation information increment corresponding to each candidate edge to obtain the target edge that passes the verification, and take the loop closure factor corresponding to the target edge as the target loop closure factor.
9. The map generation method according to claim 8, characterized in that, Determining the observation information increment corresponding to each candidate edge in the candidate edge set includes: Determine the local information matrix of each candidate edge in the candidate edge set, and obtain the reference information matrix corresponding to the target candidate edge based on the local information matrices of each candidate edge other than the target candidate edge, wherein the target candidate edge is any candidate edge in the candidate edge set; The target information matrix corresponding to the target candidate edge is determined based on the local information matrix of the target candidate edge and the reference information matrix corresponding to the target candidate edge. Based on the reference information matrix and the trace of the target information matrix corresponding to the target candidate edge, the observation information increment of the target candidate edge is obtained, so as to obtain the observation information increment corresponding to each candidate edge.
10. The map generation method according to claim 9, characterized in that, Based on the odometry factor between every two frames of environmental data corresponding to each of the sampling trajectories and the target loop closure factor corresponding to the multiple sampling trajectory pairs, the global pose information of the multiple sampling trajectories is determined, including: A global optimization model is constructed based on the odometry factor between every two frames of environmental data corresponding to each sampling trajectory, the initial pose information of each sampling trajectory corresponding to each frame of point cloud data, and the target closure factor corresponding to multiple sampling trajectory pairs. Based on the global optimization model, the initial pose information of each sampling trajectory corresponding to the point cloud data of each frame is optimized to obtain the global pose information of the multiple sampling trajectories.