Voxel map plane merging method, system and device and storage medium

By calculating the hash key values ​​of the voxel plane and merging similar voxel planes, the problem of wasting storage and computing resources in traditional SLAM systems when dealing with large-scale environments is solved, and map construction accuracy and system real-time performance are improved.

CN119445012APending Publication Date: 2025-02-14SHENZHEN GUANGJIAN TECH CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411368779.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

Traditional SLAM systems use fixed-size voxel planes to describe geometric features in space, resulting in waste of storage space, excessive consumption of computing resources, limited accuracy and efficiency, especially when dealing with large-scale environments, they cannot effectively express the global properties of geometric structures. .

Method used

By calculating the hash key value of the voxel plane, voxel planes with similar geometric properties are merged into the same hash bucket and processed uniformly, reducing duplicate representations, and optimizing the merge operation to improve the accuracy and memory utilization of map construction. .

Benefits of technology

On the premise of ensuring the positioning accuracy of SLAM system, the real-time performance and resource utilization efficiency of the system are greatly improved, especially when dealing with large-scale environments, it can more effectively deal with the shortcomings of traditional fixed voxel size methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119445012A_ABST
    Figure CN119445012A_ABST
Patent Text Reader

Abstract

The invention discloses a voxel map plane merging method, system and device and a storage medium, and the method comprises the steps: S1, carrying out the voxelization of a point cloud, detecting a plane in a plurality of voxels, and recording the feature information of the plane; wherein the plane is a flat surface with a certain area; s2, classifying the planes in the voxels according to the plane feature information, and calculating a hash key value; and S3, according to the position relationship between the hash key values and the planes, merging the plurality of adjacent planes. According to the method, by calculating the hash key values of the voxel planes, the voxel planes with similar geometric attributes can be quickly merged into the same hash bucket and are uniformly processed, so that the real-time performance and the resource utilization efficiency of the system are greatly improved, and particularly, when a large-scale environment is processed, the real-time performance of the system is greatly improved. The defects of a traditional fixed voxel size method can be more effectively overcome.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0002] In the simultaneous localization and mapping (SLAM) system of LiDAR or depth camera, building maps based on voxel planes has become a very popular practice. Voxels simplify the processing of point cloud data by dividing the space into regular three-dimensional grids, especially in real-time SLAM systems, where voxel planes are used to represent geometric structures in the environment. However, traditional SLAM systems usually use fixed-size voxel planes to describe geometric features in space, which has significant problems in practical applications.

[0003] When dealing with large-area planes in the real world (such as walls, floors, etc.), multiple voxel planes are often used to repeatedly represent the same physical feature. Since each voxel needs to store and calculate information related to the plane (such as normal vectors, center points, covariance, etc.), this will lead to a waste of storage space and excessive consumption of computing resources. As the number of voxels increases, the computational complexity of the system increases significantly, and memory usage also increases. In addition, the use of fixed-size voxel planes cannot flexibly cope with geometric structures of different scales, especially when dealing with large planes. The global properties of these features cannot be fully expressed, resulting in the SLAM system being limited in accuracy and efficiency.

[0004] The number and distribution of plane points directly affect the accuracy of plane estimation. The more points there are on the plane, the higher the estimation accuracy of the plane, and the accuracy of plane-based SLAM also improves accordingly. However, it is difficult to effectively aggregate this information using fixed-size voxel planes, resulting in large-area physical planes that cannot be accurately described and represented. This limitation of fixed voxel size makes the existing voxel-based SLAM methods have significant accuracy and efficiency bottlenecks when facing large-scale environments.

[0005] The disclosure of the above background technology content is only used to assist in understanding the inventive concept and technical solution of the present invention. It does not necessarily belong to the prior art of this patent application. In the absence of clear evidence that the above content has been disclosed on the filing date of this patent application, the above background technology should not be used to evaluate the novelty and creativity of the present application. Summary of the invention

[0006] To this end, the present invention proposes a method for fast plane merging based on a hash algorithm. By calculating the hash key value of the voxel plane, the voxel planes with similar geometric properties can be quickly merged into the same hash bucket and processed uniformly. This not only reduces repeated representation, but also improves the accuracy of map construction and memory utilization by optimizing the merging operation. Under the premise of ensuring the positioning accuracy of the SLAM system, the real-time performance and resource utilization efficiency of the system are greatly improved. In particular, when dealing with large-scale environments, it can more effectively cope with the shortcomings of the traditional fixed voxel size method.

[0007] In a first aspect, the present invention provides a voxel map plane merging method, characterized by comprising:

[0008] Step S1: voxelize the point cloud, detect planes in multiple voxels, and record plane feature information; the plane is a flat surface with a certain area size;

[0009] Step S2: classifying the planes in the voxels according to the plane feature information, and calculating hash key values;

[0010] Step S3: merging a plurality of adjacent planes according to the positional relationship between the hash key value and the plane.

[0011] Optionally, the voxel map plane merging method is characterized in that step S1 comprises:

[0012] Step S11: obtaining a point cloud and voxelizing the point cloud;

[0013] Step S12: fitting a preliminary plane within the voxel;

[0014] Step S13: judging whether it is a plane according to the preliminary plane and point cloud distribution;

[0015] Step S14: Record the characteristic information of the plane.

[0016] Optionally, the voxel map plane merging method is characterized in that, in step S12, the point clouds are fitted separately according to the degree of aggregation of the point clouds in the voxels to obtain at least one preliminary plane.

[0017] Optionally, the voxel map plane merging method is characterized in that step S2 comprises:

[0018] Step S21: Calculate the projection angle θ of the normal vector of the plane on the xoy plane and the angle between the normal vector and the z-axis

[0019] Step S22: Calculate the distance d between the plane and the center point of the voxel;

[0020] Step S23: constructing a rotation matrix to align the z-axis of the global coordinate system with the normal vector of the plane, and projecting the plane onto the same plane according to the rotation matrix to obtain two-dimensional coordinates (u, v) to determine the spatial proximity relationship of multiple planes;

[0021] Step S24: Calculate the hash key value of the plane to determine the plane that can be merged.

[0022] Optionally, the voxel map plane merging method is characterized in that in step S24, the hash value of the plane is calculated Among them, the symbol It means rounding the value down to the nearest integer. Δθ, Δφ, Δd, Δu, and Δv are the quantization intervals of the corresponding parameters, which determine the width of the hash bucket of the parameters. Then, according to the calculation method of the hash key value, similar planes are represented by one key value.

[0023] Optionally, the voxel map plane merging method is characterized in that step S3 comprises:

[0024] Step S31: in the same hash bucket, determining a reference plane and a plane to be merged from a plurality of the planes according to the number of point clouds contained in the plane;

[0025] Step S32: According to the distance between the reference plane and the plane to be merged, determine in turn whether the angle between the two and the eigenvalue of the point cloud covariance matrix meet the merging conditions.

[0026] Optionally, the voxel map plane merging method is characterized in that step S3 further comprises:

[0027] Step S33: Calculating the center point weighted by the number of point clouds according to the reference plane and the plane to be merged;

[0028] Step S34: recalculating the singular values ​​of the covariance matrix, and decomposing and calculating the normal vector of the merged plane;

[0029] Step S35: If there is no plane to be merged that meets the merging condition within a certain distance range from the reference plane, the merging process is terminated.

[0030] In a second aspect, the present invention provides a voxel map plane merging system, which is used to implement any of the voxel map plane merging methods described above, and is characterized by comprising:

[0031] A detection module, used to voxelize the point cloud, detect planes in multiple voxels, and record plane feature information; the plane is a flat surface with a certain area size;

[0032] A calculation module, used for classifying the planes in the voxels according to the plane feature information and calculating a hash key value;

[0033] A merging module is used to merge multiple adjacent planes according to the position relationship between the hash key value and the plane.

[0034] In a third aspect, the present invention provides a voxel map plane merging device, characterized in that it includes:

[0035] processor;

[0036] a memory storing executable instructions of the processor;

[0037] The processor is configured to perform the steps of any of the aforementioned voxel map plane merging methods by executing the executable instructions.

[0038] In a fourth aspect, the present invention provides a computer-readable storage medium for storing a program, characterized in that when the program is executed, the steps of any of the aforementioned voxel map plane merging methods are implemented.

[0039] Compared with the prior art, the present invention has the following beneficial effects:

[0040] By calculating the hash key value of the voxel plane, the present invention can quickly merge the voxel planes with similar geometric properties into the same hash bucket and perform unified processing, which not only reduces repeated representation, but also improves the accuracy of map construction and memory utilization by optimizing the merging operation. Under the premise of ensuring the positioning accuracy of the SLAM system, the real-time performance and resource utilization efficiency of the system are greatly improved, especially when dealing with large-scale environments, it can more effectively cope with the shortcomings of the traditional fixed voxel size method. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following will briefly introduce the drawings required for use in the embodiments or the prior art descriptions. Obviously, the drawings in the following descriptions are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without creative work. By reading the detailed description of the non-limiting embodiments with reference to the following drawings, other features, purposes and advantages of the present invention will become more obvious:

[0042] Figure 1 A flowchart of a method for merging voxel maps in planes according to an embodiment of the present invention;

[0043] Figure 2 This is a flow chart of the steps of detecting a plane in a system in an embodiment of the present invention;

[0044] Figure 3 A flowchart of the steps for calculating a hash key value in an embodiment of the present invention;

[0045] Figure 4 A flowchart of steps for merging multiple planes in an embodiment of the present invention;

[0046] Figure 5 Another flowchart of steps for merging multiple planes in an embodiment of the present invention;

[0047] Figure 6 It is a structural schematic diagram of a voxel map plane merging system in an embodiment of the present invention;

[0048] Figure 7 is a schematic structural diagram of a voxel map plane merging device in an embodiment of the present invention; and

[0049] Figure 8 Schematic diagram of the structure of a computer-readable storage medium in an embodiment of the present invention. DETAILED DESCRIPTION

[0050] The present invention is described in detail below in conjunction with specific embodiments. The following embodiments will help those skilled in the art to further understand the present invention, but are not intended to limit the present invention in any form. It should be noted that, for those of ordinary skill in the art, several variations and improvements may be made without departing from the concept of the present invention. These all belong to the protection scope of the present invention.

[0051] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein, for example, can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0052] A voxel map plane merging method provided in an embodiment of the present invention is intended to solve the problems existing in the prior art.

[0053] The following specific embodiments are used to describe in detail the technical solution of the present invention and how the technical solution of the present application solves the above technical problems. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present invention will be described below in conjunction with the accompanying drawings.

[0054] By calculating the hash key value of the voxel plane, the present invention can quickly merge the voxel planes with similar geometric properties into the same hash bucket and perform unified processing, which not only reduces repeated representation, but also improves the accuracy of map construction and memory utilization by optimizing the merging operation. Under the premise of ensuring the positioning accuracy of the SLAM system, the real-time performance and resource utilization efficiency of the system are greatly improved, especially when dealing with large-scale environments, it can more effectively cope with the shortcomings of the traditional fixed voxel size method.

[0055] Figure 1 FIG. 1 is a flow chart of steps of a method for merging voxel maps in a plane according to an embodiment of the present invention. Figure 1 As shown, the steps of a voxel map plane merging method in an embodiment of the present invention include:

[0056] Step S1: voxelize the point cloud, detect planes within the voxels, and record plane feature information.

[0057] In this step, the voxel plane detection process is mainly to find the area with plane features in the three-dimensional space by analyzing the point cloud data collected by the lidar.

[0058] First, the point cloud data obtained by the LiDAR sensor is input into the SLAM algorithm. The point cloud data consists of a large number of three-dimensional coordinate points, each of which corresponds to a measurement position in space. In order to effectively process these points, the entire space is divided into several voxels, each of which contains point cloud data within a certain range in space. When performing voxel division, the voxel to which each point belongs is determined based on the three-dimensional coordinates of each point:

[0059]

[0060] Among them, x, y, z are the coordinates of the point, s is the side length of the voxel, and i, j, k are the voxel coordinates.

[0061] After the space is divided into voxels, the point cloud data in each voxel is processed in turn. In each voxel, whether there is a plane feature is detected according to the spatial distribution characteristics of the point cloud data. Plane detection is usually based on the geometric characteristics of point cloud data, such as normal vectors, point cloud density, etc. By calculating the normal vectors of each point in the point cloud and judging whether it meets the conditions of the plane equation, it is determined whether the plane exists. For the detected plane, its feature information is recorded, including the normal vector of the plane, the coordinates of the center point, the plane equation parameters, and the statistical information of the points in the plane (such as the covariance matrix), etc. This information will be used for subsequent plane classification and merging. A plane is a flat surface with a certain area size. The plane in this embodiment is a plane with a boundary. The boundary of the plane is not always the edge of the voxel, but can also be a part of the voxel.

[0062] Step S2: classifying the planes in the voxels according to the plane feature information, and calculating hash key values.

[0063] In this step, the planes within the voxel are classified according to the plane feature information (such as normal vector, center point coordinates, etc.). The purpose of classification is to classify planes with similar features (such as parallel, coplanar, etc.) into one category for subsequent merging. The classification method can be based on the similarity measurement of the plane feature information, such as cosine similarity, Euclidean distance, etc. Afterwards, a unique hash key value is calculated for each classified plane. The hash key value is used to quickly retrieve and match similar planes. The calculation of the hash key value can be based on the feature information of the plane, such as the quantized value of the normal vector, the quantized value of the center point coordinates, etc. Through the hash key value, it is possible to quickly determine whether two planes are similar, thereby deciding whether to merge them.

[0064] Step S3: merging a plurality of adjacent planes according to the positional relationship between the hash key value and the plane.

[0065] In this step, based on the hash key value and the positional relationship between different planes, determine which planes can be merged. The merging conditions usually include the similarity of the planes (determined by the hash key value) and the spatial positional relationship of the planes (such as whether they are adjacent, coplanar, etc.). Only when two planes are similar and satisfy a certain spatial positional relationship are they considered to be merged. For planes that meet the merging conditions, a merge operation is performed. The merge operation usually includes updating the feature information of the merged plane (such as normal vector, center point coordinates, plane equation parameters, etc.), and recalculating the statistical information of the merged plane (such as the covariance matrix). The merged plane will represent a larger and more stable plane feature, which will help improve the accuracy and stability of the map. When merging, multiple planes are merged according to their adjacent relationship, and only adjacent planes can be merged into a larger plane.

[0066] Figure 2 FIG. 1 is a flow chart of the steps of detecting a plane in a system according to an embodiment of the present invention. Figure 2 As shown, in an embodiment of the present invention, a step of detecting a plane in a system includes:

[0067] Step S11: Acquire a point cloud and voxelize the point cloud.

[0068] In this step, the original point cloud data is obtained from sensors (such as lidar, depth camera, etc.). These data usually represent points in space in the form of three-dimensional coordinates (x, y, z). The three-dimensional space is divided into multiple small cubes (voxels), and the point cloud data is assigned to the corresponding voxels. The size of the voxel can be adjusted according to the needs of the application scenario to balance the computational efficiency and accuracy. For a voxel, all points that fall within the range of the voxel will be extracted to form a local point cloud data set.

[0069] Step S12: Fitting a preliminary plane within the voxel.

[0070] In this step, after obtaining the point cloud data in the voxel, a plane fitting algorithm (such as least squares method, RANSAC, etc.) is applied to find a preliminary plane that best represents these points. This plane model is usually represented by a plane equation (such as ax+by+cz+d=0), where (a, b, c) is the normal vector of the plane and d is a constant term. This fitting process estimates the normal vector and center point of the plane and calculates the distance between the plane and the point cloud data in the voxel.

[0071] Step S13: Determine whether it is a plane according to the preliminary plane and point cloud distribution.

[0072] In this step, the fitting result is used to determine whether there is a plane in the voxel. After fitting the preliminary plane, it is necessary to verify whether the plane truly represents the main structure of the point cloud in the voxel. This is usually achieved by calculating the distance from the point to the plane and checking whether these distances meet certain threshold conditions. If the distance from most points to the plane is small, it can be considered that there is indeed a plane in the voxel. During the verification process, it may also be necessary to remove noise points that are obviously deviated from the plane to improve the accuracy of plane detection.

[0073] Step S14: Record the characteristic information of the plane.

[0074] In this step, once a plane is detected, the geometric features of the voxel are saved, including the plane's normal vector, center point position, and other geometric parameters required by the SLAM system.

[0075] Through the above steps, the system can detect plane features from voxels and provide basic data for subsequent plane classification and merging operations.

[0076] In some embodiments, in step S13, if the distance between the point cloud data exceeding the first ratio and the preliminary plane is less than the first threshold, the system will determine that a plane feature exists in the voxel. If the error between the fitted plane and the point cloud data is small, and most of the points are located near the fitted plane, the system will determine that a plane feature exists in the voxel. If the error is large or the distribution of the points does not conform to the plane feature, the voxel will not be marked as a plane voxel.

[0077] In some embodiments, in step S12, the point clouds are fitted according to the degree of aggregation of the point clouds in the voxels to obtain at least one preliminary plane. If the point clouds are focused together, they are fitted into one preliminary plane. If the point clouds are focused into two areas, they are fitted into two preliminary planes. If the point clouds are focused into three areas, they are fitted into three preliminary planes. The focusing state of the point cloud is related to the distribution of the surface in the voxel. This step first identifies the distribution of the point cloud in the voxel, and then performs plane fitting according to whether the area with the highest point cloud density is one or more, to obtain a preliminary plane, which can be applied to scenes with complex planes.

[0078] Figure 3 FIG. 1 is a flowchart of a step of calculating a hash key value in an embodiment of the present invention. Figure 3 As shown, a step of calculating a hash key value in an embodiment of the present invention includes:

[0079] Step S21: Calculate the projection angle θ of the normal vector of the plane on the xoy plane and the angle between the normal vector and the z-axis

[0080] In this step, the plane normal vector n = [n x ,n y ,n z ] T It is an important parameter used to describe the orientation of a plane. The normal vector of a plane is represented by two angles: one angle describes the projection angle of the normal vector on the xOy plane: θ = arctan (n y / n x ), another angle describes the angle between the normal vector and the z-axis: φ = arccos(n z / |n|). These two angles determine the tilt direction of the plane and can be used for merging.

[0081] Step S22: Calculate the distance d between the plane and the center point of the voxel.

[0082] In this step, in addition to the normal vector, the distance between the plane and the voxel center is also an important parameter to describe the position of the plane. This distance is determined by calculating the distance between the plane center and the voxel center: d = -n Tq. Among them, q is the center point of the voxel plane. By comparing the distance from the plane to the voxel center point, the relative position of the plane in space can be determined, so that similar planes can be merged.

[0083] Step S23: construct a rotation matrix to align the z-axis of the global coordinate system with the normal vector of the plane, and project the plane onto the same plane according to the rotation matrix to obtain two-dimensional coordinates (u, v) to determine the spatial proximity relationship of multiple planes.

[0084] In this step, the physical planes in the real world are limited. If planes with similar normal vectors and distance parameters are distributed too far, they may represent different physical characteristics. Therefore, classification based solely on normal vectors and distance parameters may lead to incorrect merging. In order to solve this problem, the present invention calculates the position coordinates of the planes to ensure that only planes that are adjacent in space are considered similar and merged. First, a rotation matrix R is constructed to rotate the global coordinate system so that the z-axis of the global coordinate system is aligned with the plane normal vector. This rotation matrix is ​​constructed based on the projection angle of the normal vector on the xOy plane and the angle between the normal vector and the z-axis. After constructing the rotation matrix, the center points of all planes can be projected onto the same plane using the matrix R, thereby obtaining the two-dimensional coordinates of the plane position: Where, e1=[1,0,0] T , e2=[0,1,0] T , q is the center point of the voxel plane. According to the two-dimensional coordinates of the plane position, the proximity relationship of the plane in space can be determined.

[0085] Step S24: Calculate the hash key value of the plane to determine the plane that can be merged.

[0086] In this step, a hash key is calculated based on the feature information of the plane (such as the direction information of the normal vector, the distance from the center point of the voxel, the two-dimensional projection coordinates, etc.). This hash key should be able to uniquely (or at an acceptable conflict rate) identify planes with similar features. In subsequent steps, this hash key can be used to quickly retrieve and match planes that can be merged.

[0087] In some embodiments, in step S24, the hash value of the plane is calculated. Among them, the symbol Indicates that the value is rounded down to the nearest integer. Δθ, Δφ, Δd, Δu, and Δv are the quantization intervals of the corresponding parameters, which determine the width of the hash bucket of the parameters. Then, according to the calculation method of the hash key value, similar planes are represented by a key value. After calculating the parameters θ, φ, d, u, and v required for plane merging, the hash value of the plane can be calculated. According to the calculation method of hash key value, similar planes can be represented by one key value. This method can effectively map voxel planes with similar plane directions and close in space into the same hash bucket, so as to quickly perform plane merging judgment.

[0088] Figure 4 FIG. 1 is a flow chart of steps for merging multiple planes in an embodiment of the present invention. Figure 4 As shown, in an embodiment of the present invention, a step of merging multiple planes includes:

[0089] Step S31: In the same hash bucket, a reference plane and a plane to be merged are determined from a plurality of planes according to the number of point clouds contained in the plane.

[0090] In this step, when enough planes are accumulated in a hash bucket, the system triggers a merge operation. First, the plane with the largest number of point clouds is selected as the reference plane. Next, other planes in the same hash bucket are compared with the reference plane to determine whether they meet the merge criteria. The reason for selecting the plane with the largest number of point clouds as the reference plane is that as the number of point clouds in the plane increases, the geometric uncertainty of the plane will gradually decrease. Therefore, using the plane with the largest number of point clouds as a reference can improve the accuracy of the merge.

[0091] Step S32: According to the distance between the reference plane and the plane to be merged, determine in turn whether the angle between the two and the eigenvalue of the point cloud covariance matrix meet the merging conditions.

[0092] In this step, planes are merged from near to far according to their distance. There are two main criteria for judging plane merging:

[0093] (i) Angle between two planes. By comparing the angle between the normal vectors of two planes, we can determine whether their directions are close. If the angle between the normal vectors of two planes is less than the set threshold, it is considered that their directions are close enough to be merged.

[0094] (ii) Before merging, the present invention will also calculate the point cloud covariance matrix after the two voxels are merged, and perform eigenvalue decomposition on it. The size of the eigenvalue reflects the distribution of the point cloud in different directions. The merging condition is that the eigenvalue of the covariance λ3<λ2<λ1 satisfies the conditions: λ3 / λ1<η, and λ3 / λ2<η. Among them, η is a threshold close to 0. If this condition is met, it means that the distribution of the point cloud satisfies the planar characteristics.

[0095] When the above angle and covariance analysis are satisfied, the two planes will be considered to belong to the same physical plane.

[0096] Once the merge with the reference plane is completed, the geometric parameters of the current voxel plane (such as normal vector and center point) and its related memory will be released. In contrast, the memory of the reference plane will be shared by all merged planes, thus significantly reducing memory usage. In the future, if new point cloud data falls into the merged plane block, these new data will be accumulated in the reference plane for update.

[0097] Figure 5 FIG. 2 is another flow chart of steps for merging multiple planes in an embodiment of the present invention. Figure 5 As shown, compared with the above-mentioned embodiment, another step of merging multiple planes in the embodiment of the present invention further includes:

[0098] Step S33: Calculate the center point weighted by the number of point clouds based on the reference plane and the plane to be merged.

[0099] In this step, after deciding to merge the reference plane and the plane to be merged, the center point of the merged plane needs to be calculated. Since different planes may contain different amounts of point cloud data, directly averaging their center points will not reflect the true distribution of the point cloud. Therefore, the center point of the merged plane should be calculated by weighting the number of point clouds.

[0100] Step S34: recalculate the singular values ​​of the covariance matrix, and decompose and calculate the normal vector of the merged plane.

[0101] In this step, after merging the planes, the covariance matrix of the merged point cloud data needs to be recalculated. The covariance matrix is ​​an important statistic that describes the linear relationship between points in the point cloud and their dispersion in various directions. By using the singular value decomposition (SVD) of the covariance matrix, its singular values ​​and corresponding singular vectors can be obtained. These singular vectors are closely related to the main directions of the merged planes (including the normal vector).

[0102] Update of normal vector: After SVD decomposition, the singular vector corresponding to the smallest singular value (after normalization) can usually be regarded as the normal vector of the merged plane. This is because the normal vector is perpendicular to the plane, and the smallest singular value of the covariance matrix usually corresponds to the direction with the smallest change in the data distribution, that is, the normal direction of the plane. However, it should be noted that directly taking the vector corresponding to the smallest singular value may require sign adjustment (i.e., negation) according to actual conditions to ensure that the direction of the normal vector is consistent with expectations.

[0103] Recalculation and verification: After updating the normal vector, the rationality of the merge can be verified by comparing the new normal vector with the normal vector of the plane before the merge. If the new normal vector is very close to the normal vector of a plane before the merge (in direction and magnitude), the correctness of the merge is further confirmed.

[0104] Step S35: If there is no plane to be merged that meets the merging condition within a certain distance range from the reference plane, the merging process is terminated.

[0105] In this step, the reference plane is used as the reference and merged with the plane to be merged from near to far. The distance between the reference plane and the plane to be merged is used as a parameter. When there is no plane to be merged that meets the conditions within a certain distance range, it means that the plane is interrupted at this time, so the continuous plane is interrupted. The distance range is a preset range value, which refers to the maximum distance span without a plane to be merged that meets the conditions. For example, 3 voxel widths, 4 voxel widths, 5 voxel widths, or any other unlisted values.

[0106] Through the above steps, it can be ensured that the merged plane is more accurate and reliable in both geometric and statistical characteristics.

[0107] Figure 6 FIG. 1 is a schematic diagram of the structure of a voxel map plane merging system according to an embodiment of the present invention. Figure 6 As shown, a voxel map plane merging system in an embodiment of the present invention includes:

[0108] A detection module, used to voxelize the point cloud, detect planes in multiple voxels, and record plane feature information; the plane is a flat surface with a certain area size;

[0109] A calculation module, used for classifying the planes in the voxels according to the plane feature information and calculating a hash key value;

[0110] A merging module is used to merge multiple adjacent planes according to the position relationship between the hash key value and the plane.

[0111] This embodiment can quickly merge voxel planes with similar geometric properties into the same hash bucket and perform unified processing by calculating the hash key value of the voxel plane, which not only reduces repeated representation but also improves the accuracy of map construction and memory utilization by optimizing the merging operation. While ensuring the positioning accuracy of the SLAM system, the real-time performance and resource utilization efficiency of the system are greatly improved, especially when dealing with large-scale environments, and can more effectively deal with the shortcomings of the traditional fixed voxel size method.

[0112] The present invention also provides a voxel map plane merging device in an embodiment, including a processor and a memory, wherein executable instructions of the processor are stored, wherein the processor is configured to execute the steps of a voxel map plane merging method by executing the executable instructions.

[0113] As mentioned above, this embodiment can quickly merge voxel planes with similar geometric properties into the same hash bucket and perform unified processing by calculating the hash key value of the voxel plane, which not only reduces repeated representation, but also improves the accuracy of map construction and memory utilization by optimizing the merging operation. While ensuring the positioning accuracy of the SLAM system, the real-time performance and resource utilization efficiency of the system are greatly improved, especially when dealing with large-scale environments, and can more effectively deal with the shortcomings of the traditional fixed voxel size method.

[0114] It will be appreciated by those skilled in the art that various aspects of the present invention may be implemented as systems, methods or program products. Therefore, various aspects of the present invention may be specifically implemented in the following forms, namely: complete hardware implementation, complete software implementation (including firmware, microcode, etc.), or a combination of hardware and software implementations, which may be collectively referred to herein as "circuits", "modules" or "platforms".

[0115] Figure 7 Schematic diagram of the structure of a voxel map plane merging device in an embodiment of the present invention. Figure 7 The electronic device 600 according to this embodiment of the present invention is described. Figure 7 The electronic device 600 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0116] like Figure 7 As shown, the electronic device 600 is in the form of a general computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different platform components (including the storage unit 620 and the processing unit 610), a display unit 640, etc.

[0117] The storage unit stores program codes, which can be executed by the processing unit 610, so that the processing unit 610 performs the steps of various exemplary embodiments of the present invention described in the above-mentioned voxel map plane merging method section of this specification. For example, the processing unit 610 can perform the following steps: Figure 1 Follow the steps shown in .

[0118] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache memory unit 6202 , and may further include a read-only memory unit (ROM) 6203 .

[0119] The storage unit 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a grid environment.

[0120] Bus 630 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0121] The electronic device 600 may also communicate with one or more external devices 700 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), one or more devices that enable a user to interact with the electronic device 600, and / or any device that enables the electronic device 600 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed through an input / output (I / O) interface 650. Furthermore, the electronic device 600 may also communicate with one or more grids (e.g., a local area network (LAN), a wide area network (WAN), and / or a public grid, such as the Internet) through a grid adapter 660. The grid adapter 660 may communicate with other modules of the electronic device 600 through the bus 630. It should be understood that although Figure 7 Not shown, other hardware and / or software modules may be used in conjunction with electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage platforms.

[0122] In an embodiment of the present invention, a computer-readable storage medium is also provided for storing a program, and the steps of a voxel map plane merging method are implemented when the program is executed. In some possible implementations, various aspects of the present invention can also be implemented in the form of a program product, which includes a program code. When the program product is run on a terminal device, the program code is used to enable the terminal device to execute the steps of various exemplary embodiments of the present invention described in the above-mentioned voxel map plane merging method section of this specification.

[0123] As shown above, this embodiment can quickly merge voxel planes with similar geometric properties into the same hash bucket and perform unified processing by calculating the hash key value of the voxel plane, which not only reduces repeated representation, but also improves the accuracy of map construction and memory utilization by optimizing the merging operation. While ensuring the positioning accuracy of the SLAM system, the real-time performance and resource utilization efficiency of the system are greatly improved, especially when dealing with large-scale environments, and can more effectively deal with the shortcomings of the traditional fixed voxel size method.

[0124] Figure 8 Schematic diagram of the structure of a computer-readable storage medium in an embodiment of the present invention. Figure 8 As shown, a program product 800 for implementing the above method according to an embodiment of the present invention is described, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, a readable storage medium can be any tangible medium containing or storing a program, which can be used by or in combination with an instruction execution system, an apparatus or a device.

[0125] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0126] Computer readable storage media may include data signals propagated in baseband or as part of a carrier wave, wherein readable program codes are carried. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program codes contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0127] Program code for performing the operations of the present invention may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of grid, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., via the Internet using an Internet service provider).

[0128] This embodiment can quickly merge voxel planes with similar geometric properties into the same hash bucket and perform unified processing by calculating the hash key value of the voxel plane, which not only reduces repeated representation but also improves the accuracy of map construction and memory utilization by optimizing the merging operation. While ensuring the positioning accuracy of the SLAM system, the real-time performance and resource utilization efficiency of the system are greatly improved, especially when dealing with large-scale environments, and can more effectively deal with the shortcomings of the traditional fixed voxel size method.

[0129] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same and similar parts between the embodiments can be referred to each other. The above description of the disclosed embodiments enables professionals and technicians in this field to implement or use the present invention. Various modifications to these embodiments will be obvious to professionals and technicians in this field, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to these embodiments shown in this article, but will comply with the widest range consistent with the principles and novel features disclosed herein.

[0130] The above describes the specific embodiments of the present invention. It should be understood that the present invention is not limited to the above specific embodiments, and those skilled in the art may make various modifications or variations within the scope of the claims, which do not affect the essence of the present invention.

Claims

1. A voxel map plane merging method, characterized in that: include: Step S1: voxelize the point cloud, detect planes in multiple voxels, and record plane feature information; wherein the plane is a flat surface with a certain area size; Step S2: classifying the planes in the voxels according to the plane feature information, and calculating hash key values; Step S3: merging a plurality of adjacent planes according to the positional relationship between the hash key value and the plane.

2. A voxel map plane merging method according to claim 1, characterized in that: The step S1 comprises: Step S11: obtaining a point cloud and voxelizing the point cloud; Step S12: fitting a preliminary plane within the voxel; Step S13: judging whether it is a plane according to the preliminary plane and point cloud distribution; Step S14: Record the characteristic information of the plane.

3. A voxel map plane merging method according to claim 2, characterized in that: In step S12, the point clouds are fitted respectively according to the aggregation degree of the point clouds in the voxels to obtain at least one preliminary plane.

4. A voxel map plane merging method according to claim 1, characterized in that: Step S2 includes: Step S21: Calculate the projection angle θ of the normal vector of the plane on the xoy plane and the angle between the normal vector and the z-axis Step S22: Calculate the distance d between the plane and the center point of the voxel; Step S23: constructing a rotation matrix to align the z-axis of the global coordinate system with the normal vector of the plane, and projecting the plane onto the same plane according to the rotation matrix to obtain two-dimensional coordinates (u, v) to determine the spatial proximity relationship of multiple planes; Step S24: Calculate the hash key value of the plane to determine the plane that can be merged.

5. A voxel map plane merging method according to claim 4, characterized in that: In step S24, the hash value of the plane is calculated Among them, the symbol It means rounding the value down to the nearest integer. Δθ, Δφ, Δd, Δu, and Δv are the quantization intervals of the corresponding parameters, which determine the width of the hash bucket of the parameters. Then, according to the calculation method of the hash key value, similar planes are represented by one key value.

6. A voxel map plane merging method according to claim 1, characterized in that: Step S3 includes: Step S31: in the same hash bucket, determining a reference plane and a plane to be merged from a plurality of the planes according to the number of point clouds contained in the plane; Step S32: According to the distance between the reference plane and the plane to be merged, determine in turn whether the angle between the two and the eigenvalue of the point cloud covariance matrix meet the merging conditions.

7. A voxel map plane merging method according to claim 6, characterized in that: Step S3 also includes: Step S33: Calculating the center point weighted by the number of point clouds according to the reference plane and the plane to be merged; Step S34: recalculating the singular values ​​of the covariance matrix, and decomposing and calculating the normal vector of the merged plane; Step S35: If there is no plane to be merged that meets the merging condition within a certain distance range from the reference plane, the merging process is terminated.

8. A voxel map plane merging system, used to implement the voxel map plane merging method according to any one of claims 1 to 7, characterized in that: include: A detection module, used to voxelize the point cloud, detect planes in multiple voxels, and record plane feature information; The plane is a flat surface with a certain area; A calculation module, used for classifying the planes in the voxels according to the plane feature information and calculating a hash key value; A merging module is used to merge multiple adjacent planes according to the position relationship between the hash key value and the plane.

9. A voxel map plane merging device, characterized in that: include: processor; a memory storing executable instructions of the processor; The processor is configured to perform the steps of the voxel map plane merging method according to any one of claims 1 to 7 by executing the executable instructions.

10. A computer-readable storage medium for storing a program, characterized in that: When the program is executed, the steps of the voxel map plane merging method described in any one of claims 1 to 7 are implemented.