Point cloud processing method, device, computer device, and storage medium

The point cloud processing method using FPFH and Euclidean distances enhances SLAM system accuracy by filtering ground and sparse points and calculating standard deviations to match point clouds correctly, addressing erroneous trajectory optimization in SLAM systems.

CN115063611BActive Publication Date: 2025-07-15GUANGZHOU XIAOMA ZHIXING TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202210557352.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-05-20
Publication Date
2025-07-15
Estimated Expiration
2042-05-20

AI Technical Summary

Technical Problem

In SLAM systems, mismatch problems caused by environmental occlusion when matching radar point clouds, especially in the upper and lower layers of the viaduct or both sides of the road, it is difficult for the prior art to accurately determine whether the two frame point clouds are similar, resulting in trajectory optimization errors.

Method used

By calculating the standard deviation of each dimension of the descriptor of the point cloud, obtaining the feature set, and calculating the similarity of the two feature sets, identifying the similarity of the point cloud, and reducing matching errors.

Benefits of technology

Improve the accuracy and recall rate of point cloud matching in radar positioning loop detection, reducing the occurrence of mismatch.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115063611B_ABST
    Figure CN115063611B_ABST
Patent Text Reader

Abstract

This application relates to a point cloud processing method, apparatus, computer device, and storage medium. The method includes: obtaining a point cloud set of a target object at the current moment and obtaining point features of each scan point in the point cloud set; obtaining a first frame of point cloud and a second frame of point cloud; obtaining a descriptor of the first frame of point cloud according to a preset algorithm to obtain a first descriptor, and obtaining a descriptor of the second frame of point cloud according to a preset algorithm to obtain a second descriptor; calculating the standard deviation of each dimension in the first descriptor to obtain a first feature set, where the first feature set includes the standard deviation of each dimension in the first descriptor; calculating the standard deviation of each dimension in the second descriptor to obtain a second feature set, where the second feature set includes the standard deviation of each dimension in the second descriptor; calculating the similarity between the first feature set and the second feature set, and the similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud. The above method can detect whether two frames of point clouds are similar, thereby reducing the incorrect matching of point clouds.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of map data processing, and particularly to a point cloud processing method, apparatus, computer device, and storage medium. Background Art

[0002] In a radar-based simultaneous localization and mapping (SLAM) system, loop detection is an important part. The so-called loop detection is to detect that the same place has been passed at two different times, and then match the two radar point clouds together to optimize the trajectory of a carrier (such as a vehicle) at different times. An important assumption here is that two frames of environmental point clouds observed by the radar in close proximity should be similar. However, this assumption does not hold in some scenarios. For example, on both sides of a road, due to the occlusion of the middle shrubs, the point clouds seen by the vehicle on both sides do not reflect the same environment, or on the upper and lower layers of a viaduct. This results in incorrect guidance when using the radar to optimize the trajectory. For example, the trajectories of vehicles on the upper and lower layers are misjudged as being on the same layer. Summary of the Invention

[0003] Based on this, it is necessary to provide a point cloud processing method, apparatus, computer device, and storage medium for the above technical problems, which can detect whether two frames of point clouds are similar, thereby reducing incorrect matching of point clouds.

[0004] A point cloud processing method includes: obtaining a first frame of point cloud and a second frame of point cloud; obtaining a descriptor of the first frame of point cloud according to a preset algorithm to obtain a first descriptor, and obtaining a descriptor of the second frame of point cloud according to the preset algorithm to obtain a second descriptor; calculating the standard deviation of each dimension in the first descriptor to obtain a first feature set, where the first feature set includes the standard deviation of each dimension in the first descriptor; calculating the standard deviation of each dimension in the second descriptor to obtain a second feature set, where the second feature set includes the standard deviation of each dimension in the second descriptor; calculating the similarity between the first feature set and the second feature set, and the similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud.

[0005] In one embodiment, the preset algorithm is the Fast Point Feature Histogram (FPFH) algorithm.

[0006] In one embodiment, obtaining the descriptor of the first frame of point cloud according to a preset algorithm includes: calculating the point feature histogram of the first frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the first frame of point cloud and other points within a preset range from each point to obtain a first Euclidean feature set; obtaining the descriptor of the first frame of point cloud according to the point feature histogram of the first frame of point cloud and the first Euclidean feature set; and / or, obtaining the descriptor of the second frame of point cloud according to a preset algorithm includes: calculating the point feature histogram of the second frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the second frame of point cloud and other points within a preset range from each point to obtain a second Euclidean feature set; obtaining the descriptor of the second frame of point cloud according to the point feature histogram of the second frame of point cloud and the second Euclidean feature set.

[0007] In one embodiment, a point cloud processing method further includes: identifying the first point cloud of the physical ground in the first frame of point cloud; removing the first point cloud from the first frame of point cloud to obtain a first point cloud set; identifying the second point cloud of the physical ground in the second frame of point cloud; removing the second point cloud from the second frame of point cloud to obtain a second point cloud set; obtaining the descriptor of the first frame of point cloud according to a preset algorithm includes: obtaining the descriptor of the first point cloud set according to a preset algorithm; obtaining the descriptor of the second frame of point cloud according to a preset algorithm includes: obtaining the descriptor of the second point cloud set according to a preset algorithm.

[0008] In one embodiment, a point cloud processing method further includes: identifying the first sparse point cloud in the first point cloud set that meets a preset condition; removing the first sparse point cloud from the first point cloud set to obtain a third point cloud set; identifying the second sparse point cloud in the second point cloud set that meets a preset condition; removing the second sparse point cloud from the second point cloud set to obtain a fourth point cloud set; obtaining the descriptor of the first point cloud set according to a preset algorithm includes: obtaining the descriptor of the third point cloud set according to a preset algorithm; obtaining the descriptor of the second point cloud set according to a preset algorithm includes: obtaining the descriptor of the fourth point cloud set according to a preset algorithm.

[0009] In one embodiment, calculating the similarity between the first feature set and the second feature set includes: calculating the norm of the standard deviation of each dimension in the first feature set and the standard deviation of each dimension in the second feature set; determining the similarity according to the norm.

[0010] In one embodiment, the first frame of point cloud and the second frame of point cloud are point clouds collected at the same location in the point cloud map at different times. A point cloud processing method further includes: performing loop detection on the point cloud map according to the similarity.

[0011] A point cloud processing device, comprising: a first acquisition module configured to acquire a first frame of point cloud and a second frame of point cloud; a second acquisition module configured to obtain a descriptor of the first frame of point cloud according to a preset algorithm to obtain a first descriptor, and obtain a descriptor of the second frame of point cloud according to a preset algorithm to obtain a second descriptor; a first calculation module configured to calculate the standard deviation of each dimension in the first descriptor to obtain a first feature set, where the first feature set contains the standard deviation of each dimension in the first descriptor; a second calculation module configured to calculate the standard deviation of each dimension in the second descriptor to obtain a second feature set, where the second feature set contains the standard deviation of each dimension in the second descriptor; a third calculation module configured to calculate the similarity between the first feature set and the second feature set, and the similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud.

[0012] A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the method according to any one of the above embodiments are implemented.

[0013] A computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method according to any one of the above embodiments are implemented.

[0014] In the above point cloud processing method, device, computer device and storage medium, a first frame of point cloud and a second frame of point cloud are acquired, a descriptor of the first frame of point cloud is obtained according to a preset algorithm to obtain a first descriptor, and a descriptor of the second frame of point cloud is obtained according to a preset algorithm to obtain a second descriptor. The standard deviation of each dimension in the first descriptor is calculated to obtain a first feature set, where the first feature set contains the standard deviation of each dimension in the first descriptor. The standard deviation of each dimension in the second descriptor is calculated to obtain a second feature set, where the second feature set contains the standard deviation of each dimension in the second descriptor. The similarity between the first feature set and the second feature set is calculated, and the similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud. Therefore, by calculating the standard deviation of each dimension of the descriptors of two frames of point cloud, two feature sets are obtained, and then the similarity between the two feature sets is calculated, so that it is possible to identify whether the two frames of point cloud are similar based on the similarity, that is, to identify whether the two frames of point cloud match, thus reducing the error rate of point cloud matching in radar positioning loop detection. Description of the Drawings

[0015] Figure 1 It is an application environment diagram of a point cloud processing method in an embodiment;

[0016] Figure 2 It is a flow schematic diagram of a point cloud processing method in an embodiment;

[0017] Figure 3 It is a structural block diagram of a point cloud processing device in an embodiment;

[0018] Figure 4 It is the internal structure diagram of a computer device in an embodiment. Detailed implementation manners

[0019] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0020] A point cloud processing method provided by the present application can be applied to, for example Figure 1 the application environment shown. A lidar scanning device is installed on the autonomous vehicle 102. During the driving process of the autonomous vehicle, the lidar scanning device scans the geographical environment of the driving section to obtain multiple frames of point clouds. The server 104 provides background services for the autonomous vehicle 102. The autonomous vehicle 102 uploads the multiple frames of point clouds obtained by scanning to the server 104. Specifically, the autonomous vehicle 102 passes through the same driving section multiple times, scans the geographical environment of the same driving section, and uploads the multiple frames of point clouds obtained by scanning the geographical environment of the same driving section multiple times to the server 104. When the server 104 performs loop detection, it is necessary to match the point clouds that have passed through the same geographical environment at two different times, so as to optimize the vehicle trajectories at different times. As Figure 1 shown, the point cloud set 106 contains two frames of point clouds of the same geographical environment, namely point cloud 1062 and point cloud 1064. When the server 104 performs loop detection, it matches point cloud 1062 and point cloud 1064 to optimize the geographical environment at the same location at different times. Before the server 104 performs loop detection, it executes a point cloud processing method of the present application. Specifically, the server 104 obtains a first frame of point cloud and a second frame of point cloud, obtains a first descriptor of the first frame of point cloud according to a preset algorithm to obtain a first descriptor, and obtains a second descriptor of the second frame of point cloud according to a preset algorithm to obtain a second descriptor, calculates the standard deviation of each dimension in the first descriptor to obtain a first feature set, the first feature set contains the standard deviation of each dimension in the first descriptor, calculates the standard deviation of each dimension in the second descriptor to obtain a second feature set, the second feature set contains the standard deviation of each dimension in the second descriptor, and calculates the similarity between the first feature set and the second feature set. The similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud. Therefore, before the server 104 performs loop detection, it can first judge the similarity between the two point clouds, and then enter the loop detection, so as to reduce the probability of incorrect point cloud matching in the loop detection stage.

[0021] In one embodiment, as Figure 2 shown, a point cloud processing method is provided. Taking the method applied to Figure 1 the server 104 in

[0022] S202, obtain the first frame of point cloud and the second frame of point cloud.

[0023] In this embodiment, the first frame of point cloud and the second frame of point cloud are point clouds corresponding to the same geographical location. For example, both the first frame of point cloud and the second frame of point cloud are point clouds scanned by a lidar at different time points at the same geographical location. Among them, both the first frame of point cloud and the second frame of point cloud are used for loop detection of the localization and mapping system. It can be that the first frame of point cloud and the second frame of point cloud are two frames of candidate point clouds to be loop-detected and matched from an upstream system.

[0024] S204, obtain the descriptor of the first frame of point cloud according to a preset algorithm to obtain the first descriptor, and obtain the descriptor of the second frame of point cloud according to a preset algorithm to obtain the second descriptor.

[0025] In this embodiment, it can be that the descriptor of each point in the first frame of point cloud is calculated by the FPFH algorithm to obtain the first descriptor. It can also be that the descriptor of some points in the first frame of point cloud is calculated by the FPFH algorithm to obtain the first descriptor. The length of the first descriptor can be 4*N, where N is a parameter set by the user. It can be that the descriptor of each point in the second frame of point cloud is calculated by the FPFH algorithm to obtain the second descriptor. It can also be that the descriptor of some points in the second frame of point cloud is calculated by the FPFH algorithm to obtain the second descriptor. The length of the second descriptor can be 4*N, where N is a parameter set by the user.

[0026] The descriptors of the first frame of point cloud and the second frame of point cloud are obtained according to the same preset algorithm. That is, the first descriptor and the second descriptor are obtained by processing point cloud data based on the same algorithm. The feature data in the first descriptor and the feature data in the second descriptor belong to the same type, and the similarity between the first frame of point cloud and the second frame of point cloud can be determined based on the comparison operation of the first descriptor and the second descriptor.

[0027] In an example, the preset algorithm is the Fast Point Feature Histogram (FPFH) algorithm, FPFH (Fast Point Feature Histogram). The basic idea of FPFH: For each point in each frame of point cloud, by calculating the geometric relationship between this point and other point clouds within its local radius area, a descriptor with a length of 4*N is calculated, where N is a parameter set by the user. The definition of a frame of point cloud: All the point clouds within a certain range scanned by a lidar at a certain moment. The descriptor obtained based on FPFH processing is mainly used for object-level point cloud description and matching.

[0028] S206, calculate the standard deviation of each dimension in the first descriptor to obtain the first feature set, and the first feature set contains the standard deviation of each dimension in the first descriptor.

[0029] In this embodiment, after calculating the first descriptor of the first frame of point cloud, instead of extracting feature points from the first descriptor, the standard deviation of each dimension of the first descriptor is calculated. For example, if the length of the first descriptor is 4*N (or expressed as 4N), the standard deviation of each dimension of the 4*N length of the first descriptor is calculated to obtain the first feature set. The representation of the first feature set is as follows:

[0030] vector1 std-dev =[bin11,bin12......bin1 4N ;

[0031] Among them, vector1 std-dev represents the first feature set, bin1 represents the standard deviation, and bin11, bin12......bin1 4N respectively represent the standard deviation of the first dimension, the standard deviation of the second dimension...... the standard deviation of the 4Nth dimension.

[0032] Therefore, by uniformly calculating a large descriptor of 4N length, that is, the first feature set, from the 4N length descriptors of all points in the first frame of point cloud, the first frame of point cloud is described by the first feature set. Since the first feature set contains the standard deviation of the first descriptor, the standard deviation can better represent the specificity of the point cloud, so the first feature set can better represent the features of the first frame of point cloud.

[0033] S208. Calculate the standard deviation of each dimension in the second descriptor to obtain the second feature set, and the second feature set contains the standard deviation of each dimension in the second descriptor.

[0034] In this embodiment, after calculating the second descriptor of the second frame of point cloud, instead of extracting feature points from the second descriptor, the standard deviation of each dimension of the second descriptor is calculated. For example, if the length of the second descriptor is 4*N, the standard deviation of each dimension of the 4*N length of the second descriptor is calculated to obtain the second feature set. The representation of the second feature set is as follows:

[0035] vector2 std-dev =[bin21,bin22......bin2 4N ;

[0036] Among them, vector2 std-dev represents the second feature set, bin2 represents the standard deviation, and bin21, bin22......bin2 4N respectively represent the standard deviation of the first dimension, the standard deviation of the second dimension...... the standard deviation of the 4Nth dimension.

[0037] Therefore, by uniformly calculating a large descriptor with a length of 4N from the descriptors of all the points in the second-frame point cloud, that is, the second feature set, the second-frame point cloud is described using the second feature set. Since the standard deviation of the second descriptor is included in the second feature set, and the standard deviation can better represent the specificity of the point cloud, the second feature set can better represent the features of the second-frame point cloud.

[0038] S210, calculate the similarity between the first feature set and the second feature set, where the similarity is used to represent the similarity between the first-frame point cloud and the second-frame point cloud.

[0039] In this embodiment, the similarity between the first feature set and the second feature set is calculated. Specifically, a set similarity algorithm is used to calculate the similarity between the first feature set and the second feature set, and the obtained similarity can be used to represent the similarity between the first-frame point cloud and the second-frame point cloud.

[0040] The descriptor obtained based on FPFH processing is mainly used for point cloud description and matching at the object level. In the complex outdoor scene of autonomous driving, directly using the descriptor of the FPFH algorithm as the feature description of the corresponding point cloud, its robustness and accuracy are not sufficient to meet the requirements of subsequent similarity matching. In this embodiment, using the standard deviation of the descriptor as the feature description of the point cloud can more accurately represent the specificity of the point cloud, has a certain degree of robustness, and can tolerate the density change, height change of the point cloud scanned when the vehicle moves within a certain range, and the change caused by a certain degree of occlusion. In addition, when calculating the similarity using this standard deviation, the judgment of the similarity of the point cloud can be improved, thereby reducing matching errors, and thus the accuracy rate and recall rate of the matching judgment are relatively high.

[0041] For the above point cloud processing method, the first-frame point cloud and the second-frame point cloud are obtained. According to a preset algorithm, the descriptor of the first-frame point cloud is obtained to get the first descriptor, and according to a preset algorithm, the descriptor of the second-frame point cloud is obtained to get the second descriptor. Calculate the standard deviation of each dimension in the first descriptor to obtain the first feature set, where the first feature set contains the standard deviation of each dimension in the first descriptor. Calculate the standard deviation of each dimension in the second descriptor to obtain the second feature set, where the second feature set contains the standard deviation of each dimension in the second descriptor. Calculate the similarity between the first feature set and the second feature set, and the similarity is used to represent the similarity between the first-frame point cloud and the second-frame point cloud. Therefore, by calculating the standard deviation of each dimension of the descriptors of the two frames of point clouds, two feature sets are obtained, and then the similarity between the two feature sets is calculated, so that it is possible to identify whether the two frames of point clouds are similar based on the similarity, that is, to identify whether the two frames of point clouds match, thus reducing the error rate of point cloud matching in radar positioning loop detection.

[0042] In one embodiment, obtaining the descriptor of the first frame of point cloud according to the preset algorithm includes: calculating the point feature histogram of the first frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the first frame of point cloud and other points within a preset range from each point to obtain the first Euclidean feature set; obtaining the descriptor of the first frame of point cloud according to the point feature histogram of the first frame of point cloud and the first Euclidean feature set; and / or, obtaining the descriptor of the second frame of point cloud according to the preset algorithm includes: calculating the point feature histogram of the second frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the second frame of point cloud and other points within a preset range from each point to obtain the second Euclidean feature set; obtaining the descriptor of the second frame of point cloud according to the point feature histogram of the second frame of point cloud and the second Euclidean feature set.

[0043] In this embodiment, when obtaining the descriptors of the first frame of point cloud and the second frame of point cloud, not only the Fast Point Feature Histogram (FPFH) algorithm is used to calculate the point feature histogram of the point cloud, but also another geometric relationship representation is added, that is, the Euclidean distance between each point in the point cloud and other points within its local area is added. Among them, the descriptor of the first frame of point cloud is obtained according to the point feature histogram of the first frame of point cloud and the first Euclidean feature set, and the descriptor of the second frame of point cloud is obtained according to the point feature histogram of the second frame of point cloud and the second Euclidean feature set. Therefore, the descriptors of the first frame of point cloud and the second frame of point cloud can more accurately describe the complex outdoor scenes of autonomous driving. In particular, this geometric relationship of Euclidean distance can more effectively distinguish scenes such as viaducts in the complex outdoor scenes of autonomous driving.

[0044] In one embodiment, before the step of obtaining the descriptor of the first frame of point cloud according to the preset algorithm, it further includes: identifying the first point cloud of the physical ground in the first frame of point cloud, removing the first point cloud from the first frame of point cloud to obtain the first point cloud set; obtaining the descriptor of the first frame of point cloud according to the preset algorithm further includes: obtaining the descriptor of the first point cloud set according to the preset algorithm. Before the step of obtaining the descriptor of the second frame of point cloud according to the preset algorithm, it further includes: identifying the second point cloud of the physical ground in the second frame of point cloud, removing the second point cloud from the second frame of point cloud to obtain the second point cloud set; obtaining the descriptor of the second frame of point cloud according to the preset algorithm further includes: obtaining the descriptor of the second point cloud set according to the preset algorithm.

[0045] In this embodiment, before calculating the descriptor of the first frame of point cloud, the first point cloud of the physical ground is removed from the first frame of point cloud, and then the descriptor is calculated based on the remaining point cloud after removing the first point cloud of the physical ground. In the complex outdoor scenarios of autonomous driving, for the point clouds of different scenarios, the point clouds representing the ground are the same and lack distinctiveness. Therefore, when calculating the first descriptor, excluding the first point cloud of the physical ground can reduce the computational amount. In addition, the first point cloud of the physical ground is likely to interfere with the calculation of the descriptor. Removing the first point cloud of the physical ground can improve the accuracy of the similarity between the subsequent two frames of point clouds. Similarly, the processing method of the second frame of point cloud is the same as that of the first frame of point cloud described above and will not be repeated here.

[0046] In one embodiment, before the step of obtaining the descriptor of the first point cloud set according to the preset algorithm, the method further includes: identifying the first sparse point cloud in the first point cloud set that meets the preset conditions, removing the first sparse point cloud from the first point cloud set to obtain a third point cloud set; the step of obtaining the descriptor of the first point cloud set according to the preset algorithm includes: obtaining the descriptor of the third point cloud set according to the preset algorithm. Before the step of obtaining the descriptor of the second point cloud set according to the preset algorithm, the method further includes: identifying the second sparse point cloud in the second point cloud set that meets the preset conditions, removing the second sparse point cloud from the second point cloud set to obtain a fourth point cloud set; the step of obtaining the descriptor of the second point cloud set according to the preset algorithm includes: obtaining the descriptor of the fourth point cloud set according to the preset algorithm.

[0047] In this embodiment, not only the point clouds of the corresponding physical ground are extracted from the first frame of point cloud and the second frame of point cloud, but also the unstable sparse point clouds need to be removed. For example, identify the first sparse point cloud in the first point cloud set that meets the preset conditions, remove the first sparse point cloud from the first point cloud set to obtain a third point cloud set, and then calculate the descriptor of the third point cloud set to obtain the first descriptor. Among them, the preset conditions are set based on the characteristics of the sparse point cloud. For example, based on the characteristics of the sparse point cloud, a feature matching rule is set, the feature of any point cloud in the first point cloud set is identified, and it is determined whether the feature of any point cloud conforms to the feature matching rule. If so, the any point cloud is the first sparse point cloud that meets the preset conditions. For example: The first sparse point cloud includes the point cloud of leaves. The point cloud of leaves is unstable, vulnerable to external interference, and has poor robustness when the vehicle is moving. The point cloud of leaves in the first point cloud set can be identified and removed through the preset conditions, so as to obtain a third point cloud set. Therefore, by calculating the descriptor of the third point cloud set through the preset algorithm, the obtained first descriptor can more accurately characterize the characteristics of the first frame of point cloud. Similarly, the processing method of the second point cloud set of the second frame of point cloud is the same as that of the first point cloud set described above and will not be repeated here.

[0048] In one embodiment, calculating the similarity between the first feature set and the second feature set includes: calculating the norm of the standard deviation of each dimension in the first feature set and the standard deviation of each dimension in the second feature set; determining the similarity according to the norm.

[0049] In this embodiment, determining the similarity according to the norm includes: the larger the norm, the smaller the determined similarity. Among them, the norm can be the L1 norm. The calculation method of the norm is:

[0050]

[0051] where diff represents the norm, N is the user input parameter described in the foregoing embodiment, i represents an integer, and stddev s (i) represents the standard deviation of each dimension in the first feature set, and stddev v (i) represents the standard of each dimension in the second feature set. Therefore, after the norm is determined, the similarity can be directly determined based on the norm.

[0052] In one example, after the step of determining the similarity according to the norm, it further includes: when the norm is greater than or equal to a set threshold, determining that the first frame of point cloud and the second frame of point cloud are not similar; when the norm is less than the set threshold, determining that the first frame of point cloud and the second frame of point cloud are similar.

[0053] Specifically, as in the above embodiment, when diff exceeds a certain threshold, it is considered that the first frame of point cloud and the second frame of point cloud are not similar, and it is determined that the first frame of point cloud and the second frame of point cloud do not represent the same scene, and the first frame of point cloud and the second frame of point cloud can be excluded in loop detection. For example, as Figure 1 shown, between the upper and lower layers of the viaduct, that is, the first frame of point cloud 1062 and the second frame of point cloud 1064, when diff is greater than a certain threshold, the upper and lower layers of the viaduct do not belong to the representation of the same viaduct and belong to an incorrect match, and can be excluded in loop detection. When diff is less than a certain threshold, it is considered that the first frame of point cloud and the second frame of point cloud are similar, and it is determined that the first frame of point cloud and the second frame of point cloud represent the same scene and belong to a correct match.

[0054] In one embodiment, the first frame of point cloud and the second frame of point cloud are point clouds collected at the same location in the point cloud map at different times. After the step of calculating the similarity between the first feature set and the second feature set, it further includes: performing loop detection on the point cloud map according to the similarity.

[0055] In this embodiment, loop detection of the point cloud map is to match two radar point clouds by detecting that the same place has been passed at two different times, so as to optimize the vehicle trajectories at different times. When the similarity between the first feature set and the second feature set meets the similarity requirement, it is determined that the first frame of point cloud and the second frame of point cloud are similar, and the matching operation for loop detection can be performed. On the contrary, when the similarity between the first feature set and the second feature set does not meet the similarity requirement, it is determined that the first frame of point cloud and the second frame of point cloud are not similar, and the matching operation for loop detection is not performed, and the first frame of point cloud and the second frame of point cloud are excluded in the loop detection link.

[0056] For the point cloud processing method described in the above embodiment, compared with Scan Context (scene recognition) which only saves the maximum Z coordinate value, the present application can describe the point cloud appearance more comprehensively by calculating richer geometric relationships, such as calculating the Euclidean distance between points, and has stronger robustness to the point cloud changes caused by the movement of the radar. Compared with the existing FPFH descriptor, the features are improved by adding more geometric relationship descriptions and preprocessing the point cloud (such as removing ground point clouds and sparse point clouds), achieving better results in large outdoor scenes.

[0057] It should be understood that although the steps in the flowchart are shown sequentially in the direction of the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless there is a clear description in this article, the execution of these steps has no strict order limit, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowchart may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but can be executed at different times. The execution order of these sub-steps or stages is not necessarily sequential, but can be executed alternately or alternately with at least a part of other steps or sub-steps or stages of other steps.

[0058] In one embodiment, the present application further provides a point cloud processing device, such as Figure 3As shown in the figure, the device includes a first acquisition module 302, a second acquisition module 304, a first calculation module 306, a second calculation module 308, and a third calculation module 310. The first acquisition module 302 is configured to acquire a first frame of point cloud and a second frame of point cloud; the second acquisition module 304 is configured to obtain a descriptor of the first frame of point cloud according to a preset algorithm to obtain a first descriptor, and obtain a descriptor of the second frame of point cloud according to a preset algorithm to obtain a second descriptor; the first calculation module 306 is configured to calculate the standard deviation of each dimension in the first descriptor to obtain a first feature set, where the first feature set includes the standard deviation of each dimension in the first descriptor; the second calculation module 308 is configured to calculate the standard deviation of each dimension in the second descriptor to obtain a second feature set, where the second feature set includes the standard deviation of each dimension in the second descriptor; the third calculation module 310 is configured to calculate the similarity between the first feature set and the second feature set, and the similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud.

[0059] In one embodiment, the preset algorithm is the Fast Point Feature Histogram (FPFH) algorithm.

[0060] In one embodiment, obtaining the descriptor of the first frame of point cloud according to the preset algorithm includes: calculating the point feature histogram of the first frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the first frame of point cloud and other points within a preset range from each point to obtain a first Euclidean feature set; obtaining the descriptor of the first frame of point cloud according to the point feature histogram of the first frame of point cloud and the first Euclidean feature set; and / or, obtaining the descriptor of the second frame of point cloud according to the preset algorithm includes: calculating the point feature histogram of the second frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the second frame of point cloud and other points within a preset range from each point to obtain a second Euclidean feature set; obtaining the descriptor of the second frame of point cloud according to the point feature histogram of the second frame of point cloud and the second Euclidean feature set.

[0061] In one embodiment, a point cloud processing device further includes a first rejection module, configured to identify the first point cloud of the physical ground in the first frame of point cloud; remove the first point cloud from the first frame of point cloud to obtain a first point cloud set; identify the second point cloud of the physical ground in the second frame of point cloud; remove the second point cloud from the second frame of point cloud to obtain a second point cloud set; obtaining the descriptor of the first frame of point cloud according to the preset algorithm as described above includes: obtaining the descriptor of the first point cloud set according to the preset algorithm; obtaining the descriptor of the second frame of point cloud according to the preset algorithm as described above includes: obtaining the descriptor of the second point cloud set according to the preset algorithm.

[0062] In one embodiment, a point cloud processing device further includes a second culling module, configured to identify a first sparse point cloud in the first point cloud set that meets a preset condition; cull the first sparse point cloud from the first point cloud set to obtain a third point cloud set; identify a second sparse point cloud in the second point cloud set that meets the preset condition; cull the second sparse point cloud from the second point cloud set to obtain a fourth point cloud set; obtaining the descriptor of the first point cloud set according to the preset algorithm includes: obtaining the descriptor of the third point cloud set according to the preset algorithm; obtaining the descriptor of the second point cloud set according to the preset algorithm includes: obtaining the descriptor of the fourth point cloud set according to the preset algorithm.

[0063] In one embodiment, calculating the similarity between the first feature set and the second feature set includes: calculating the norm of the standard deviation of each dimension in the first feature set and the standard deviation of each dimension in the second feature set; determining the similarity according to the norm.

[0064] In one embodiment, the first frame of point cloud and the second frame of point cloud are point clouds collected at the same location in the point cloud map at different times. A point cloud processing device further includes a loop detection module, configured to perform loop detection on the point cloud map according to the similarity.

[0065] For the specific limitations on a point cloud processing device, reference may be made to the limitations on a point cloud processing method in the foregoing text, which will not be elaborated herein. Each module in the above-mentioned map representation device for target object positioning can be implemented in whole or in part by software, hardware, and their combination. The above-mentioned modules can be embedded in the processor of the computer device in the form of hardware or independent of it, or stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above-mentioned modules.

[0066] In one embodiment, a computer device is provided. The computer device can be a server, and its internal structure diagram can be as Figure 4 shown. The computer device includes a processor, a memory, and a network interface connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, it implements a point cloud processing method.

[0067] Those skilled in the art can understand, Figure 4The structure shown only represents a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

[0068] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented: obtaining a first frame of point cloud and a second frame of point cloud; obtaining a descriptor of the first frame of point cloud according to a preset algorithm to obtain a first descriptor, and obtaining a descriptor of the second frame of point cloud according to a preset algorithm to obtain a second descriptor; calculating the standard deviation of each dimension in the first descriptor to obtain a first feature set, where the first feature set includes the standard deviation of each dimension in the first descriptor; calculating the standard deviation of each dimension in the second descriptor to obtain a second feature set, where the second feature set includes the standard deviation of each dimension in the second descriptor; calculating the similarity between the first feature set and the second feature set, and the similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud.

[0069] In one embodiment, the preset algorithm is the Fast Point Feature Histogram (FPFH) algorithm.

[0070] In one embodiment, when the processor executes the computer program to implement the step of obtaining the descriptor of the first frame of point cloud according to the preset algorithm, the following steps are also implemented: calculating the point feature histogram of the first frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the first frame of point cloud and other points within a preset range from each point to obtain a first Euclidean feature set; obtaining the descriptor of the first frame of point cloud according to the point feature histogram of the first frame of point cloud and the first Euclidean feature set; and / or, when the processor executes the computer program to implement the step of obtaining the descriptor of the second frame of point cloud according to the preset algorithm, the following steps are also implemented: calculating the point feature histogram of the second frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the second frame of point cloud and other points within a preset range from each point to obtain a second Euclidean feature set; obtaining the descriptor of the second frame of point cloud according to the point feature histogram of the second frame of point cloud and the second Euclidean feature set.

[0071] In one embodiment, when the processor executes the computer program, the following steps are further implemented: identifying a first point cloud of the physical ground in the first frame of point cloud; removing the first point cloud from the first frame of point cloud to obtain a first point cloud set; identifying a second point cloud of the physical ground in the second frame of point cloud; removing the second point cloud from the second frame of point cloud to obtain a second point cloud set; when the processor executes the computer program to implement the step of obtaining the descriptor of the first frame of point cloud according to a preset algorithm, the following steps are further implemented: obtaining the descriptor of the first point cloud set according to the preset algorithm; when the processor executes the computer program to implement the step of obtaining the descriptor of the second frame of point cloud according to a preset algorithm, the following steps are further implemented: obtaining the descriptor of the second point cloud set according to the preset algorithm.

[0072] In one embodiment, when the processor executes the computer program, the following steps are further implemented: identifying a first sparse point cloud in the first point cloud set that meets a preset condition; removing the first sparse point cloud from the first point cloud set to obtain a third point cloud set; identifying a second sparse point cloud in the second point cloud set that meets a preset condition; removing the second sparse point cloud from the second point cloud set to obtain a fourth point cloud set; when the processor executes the computer program to implement the step of obtaining the descriptor of the first point cloud set according to a preset algorithm, the following steps are further implemented: obtaining the descriptor of the third point cloud set according to the preset algorithm; when the processor executes the computer program to implement the step of obtaining the descriptor of the second point cloud set according to a preset algorithm, the following steps are further implemented: obtaining the descriptor of the fourth point cloud set according to the preset algorithm.

[0073] In one embodiment, when the processor executes the computer program to implement the step of calculating the similarity between the first feature set and the second feature set, the following steps are further implemented: calculating the norm of the standard deviations of each dimension in the first feature set and the standard deviations of each dimension in the second feature set; determining the similarity according to the norm.

[0074] In one embodiment, the first frame of point cloud and the second frame of point cloud are point clouds collected at the same location in the point cloud map at different times. When the processor executes the computer program, the following steps are further implemented: performing loop detection on the point cloud map according to the similarity.

[0075] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented: obtaining a first frame of point cloud and a second frame of point cloud; obtaining the descriptor of the first frame of point cloud according to a preset algorithm to obtain a first descriptor, and obtaining the descriptor of the second frame of point cloud according to a preset algorithm to obtain a second descriptor; calculating the standard deviation of each dimension in the first descriptor to obtain a first feature set, where the first feature set contains the standard deviations of each dimension in the first descriptor; calculating the standard deviation of each dimension in the second descriptor to obtain a second feature set, where the second feature set contains the standard deviations of each dimension in the second descriptor; calculating the similarity between the first feature set and the second feature set, and the similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud.

[0076] In one embodiment, the preset algorithm is the Fast Point Feature Histogram (FPFH) algorithm.

[0077] In one embodiment, when the computer program is executed by the processor to implement the step of obtaining the descriptor of the first frame of point cloud according to the preset algorithm, the following steps are further implemented: calculating the point feature histogram of the first frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the first frame of point cloud and other points within a preset range from each point to obtain a first Euclidean feature set; obtaining the descriptor of the first frame of point cloud according to the point feature histogram of the first frame of point cloud and the first Euclidean feature set; and / or, when the processor executes the computer program to implement the step of obtaining the descriptor of the second frame of point cloud according to the preset algorithm, the following steps are further implemented: calculating the point feature histogram of the second frame of point cloud according to the Fast Point Feature Histogram (FPFH) algorithm; calculating the Euclidean distance between each point in the second frame of point cloud and other points within a preset range from each point to obtain a second Euclidean feature set; obtaining the descriptor of the second frame of point cloud according to the point feature histogram of the second frame of point cloud and the second Euclidean feature set.

[0078] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: identifying the first point cloud of the physical ground in the first frame of point cloud; removing the first point cloud from the first frame of point cloud to obtain a first point cloud set; identifying the second point cloud of the physical ground in the second frame of point cloud; removing the second point cloud from the second frame of point cloud to obtain a second point cloud set; when the computer program is executed by the processor to implement the step of obtaining the descriptor of the first frame of point cloud according to the preset algorithm, the following steps are further implemented: obtaining the descriptor of the first point cloud set according to the preset algorithm; when the computer program is executed by the processor to implement the step of obtaining the descriptor of the second frame of point cloud according to the preset algorithm, the following steps are further implemented: obtaining the descriptor of the second point cloud set according to the preset algorithm.

[0079] In one embodiment, when the computer program is executed by the processor, the following steps are further implemented: identifying the first sparse point cloud in the first point cloud set that meets the preset conditions; removing the first sparse point cloud from the first point cloud set to obtain a third point cloud set; identifying the second sparse point cloud in the second point cloud set that meets the preset conditions; removing the second sparse point cloud from the second point cloud set to obtain a fourth point cloud set; when the computer program is executed by the processor to implement the step of obtaining the descriptor of the first point cloud set according to the preset algorithm, the following steps are further implemented: obtaining the descriptor of the third point cloud set according to the preset algorithm; when the computer program is executed by the processor to implement the step of obtaining the descriptor of the second point cloud set according to the preset algorithm, the following steps are further implemented: obtaining the descriptor of the fourth point cloud set according to the preset algorithm.

[0080] In one embodiment, when the computer program is executed by a processor to implement the step of calculating the similarity between the first feature set and the second feature set, the following steps are also implemented: calculating the norm of the standard deviation of each dimension in the first feature set and the standard deviation of each dimension in the second feature set; determining the similarity according to the norm.

[0081] In one embodiment, the first frame of point cloud and the second frame of point cloud are point clouds collected at the same location in the point cloud map at different times. When the computer program is executed by a processor, the following steps are also implemented: performing loop detection on the point cloud map according to the similarity.

[0082] Those of ordinary skill in the art can understand that all or part of the processes of implementing the methods in the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the various embodiments provided in the present application can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0083] The technical features of the above embodiments can be combined arbitrarily. For the sake of brevity of description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope described in this specification.

[0084] The above-described embodiments merely represent several implementation manners of the present application. Their descriptions are relatively specific and detailed, but they should not be construed as limiting the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent of the present application should be subject to the appended claims.

Claims

1. A point cloud processing method, the method comprising: Obtaining a first frame of point cloud and a second frame of point cloud; Obtaining a descriptor of the first frame of point cloud according to a preset algorithm to obtain a first descriptor, and obtaining a descriptor of the second frame of point cloud according to the preset algorithm to obtain a second descriptor; wherein, the preset algorithm is the Fast Point Feature Histogram (FPFH) algorithm, and the obtaining of the descriptor of the first frame of point cloud according to the preset algorithm includes: calculating a point feature histogram of the first frame of point cloud according to the FPFH algorithm; calculating the Euclidean distance between each point in the first frame of point cloud and other points within a preset range from each point to obtain a first Euclidean feature set; obtaining the descriptor of the first frame of point cloud according to the point feature histogram of the first frame of point cloud and the first Euclidean feature set; the obtaining of the descriptor of the second frame of point cloud according to the preset algorithm includes: calculating a point feature histogram of the second frame of point cloud according to the FPFH algorithm; calculating the Euclidean distance between each point in the second frame of point cloud and other points within a preset range from each point to obtain a second Euclidean feature set; obtaining the descriptor of the second frame of point cloud according to the point feature histogram of the second frame of point cloud and the second Euclidean feature set; Calculating the standard deviation of each dimension in the first descriptor to obtain a first feature set, and the first feature set contains the standard deviation of each dimension in the first descriptor; Calculating the standard deviation of each dimension in the second descriptor to obtain a second feature set, and the second feature set contains the standard deviation of each dimension in the second descriptor; Calculating the similarity between the first feature set and the second feature set, and the similarity is used to represent the similarity between the first frame of point cloud and the second frame of point cloud.

2. The method according to claim 1, wherein The method further comprises: Identifying a first point cloud of the physical ground in the first frame of point cloud; Removing the first point cloud from the first frame of point cloud to obtain a first point cloud set; Identifying a second point cloud of the physical ground in the second frame of point cloud; Removing the second point cloud from the second frame of point cloud to obtain a second point cloud set; The obtaining of the descriptor of the first frame of point cloud according to the preset algorithm includes: obtaining the descriptor of the first point cloud set according to the preset algorithm; The obtaining of the descriptor of the second frame of point cloud according to the preset algorithm includes: obtaining the descriptor of the second point cloud set according to the preset algorithm.

3. The method according to claim 2, wherein The method further comprises: Identifying a first sparse point cloud in the first point cloud set that meets a preset condition; Removing the first sparse point cloud from the first point cloud set to obtain a third point cloud set; Identifying a second sparse point cloud in the second point cloud set that meets the preset condition; Removing the second sparse point cloud from the second point cloud set to obtain a fourth point cloud set; The obtaining of the descriptor of the first point cloud set according to the preset algorithm includes: obtaining the descriptor of the third point cloud set according to the preset algorithm; The obtaining of the descriptor of the second point cloud set according to the preset algorithm includes: obtaining the descriptor of the fourth point cloud set according to the preset algorithm.

4. The method according to claim 1, wherein The calculating of the similarity between the first feature set and the second feature set includes: Calculate the norm of the standard deviations of each dimension in the first feature set and the standard deviations of each dimension in the second feature set; Determine the similarity according to the norm.

5. The method according to claim 1, characterized in that, The first point cloud frame and the second point cloud frame are point clouds collected at the same location in the point cloud map at different times, and the method further includes: Perform loop detection on the point cloud map according to the similarity.

6. A point cloud processing device, characterized in that, The device includes: A first acquisition module, configured to acquire a first point cloud frame and a second point cloud frame; A second acquisition module, configured to obtain a first descriptor of the first point cloud frame according to a preset algorithm, to obtain a first descriptor, and to obtain a second descriptor of the second point cloud frame according to the preset algorithm; wherein, the preset algorithm is the Fast Point Feature Histogram (FPFH) algorithm, and the obtaining of the descriptor of the first point cloud frame according to the preset algorithm includes: calculating the point feature histogram of the first point cloud frame according to the FPFH algorithm; calculating the Euclidean distances between each point in the first point cloud frame and other points within a preset range from each point, to obtain a first Euclidean feature set; obtaining the descriptor of the first point cloud frame according to the point feature histogram of the first point cloud frame and the first Euclidean feature set; the obtaining of the descriptor of the second point cloud frame according to the preset algorithm includes: calculating the point feature histogram of the second point cloud frame according to the FPFH algorithm; calculating the Euclidean distances between each point in the second point cloud frame and other points within a preset range from each point, to obtain a second Euclidean feature set; obtaining the descriptor of the second point cloud frame according to the point feature histogram of the second point cloud frame and the second Euclidean feature set; A first calculation module, configured to calculate the standard deviations of each dimension in the first descriptor, to obtain a first feature set, where the first feature set includes the standard deviations of each dimension in the first descriptor; A second calculation module, configured to calculate the standard deviations of each dimension in the second descriptor, to obtain a second feature set, where the second feature set includes the standard deviations of each dimension in the second descriptor; A third calculation module, configured to calculate the similarity between the first feature set and the second feature set, where the similarity is used to represent the similarity between the first point cloud frame and the second point cloud frame.

7. A computer device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the computer program, the steps of the method according to any one of claims 1 to 5 are implemented.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • Similar frame detection method, system and device and readable storage medium

    CN109583513A