Robust three-dimensional point cloud registration method based on maximum clique'hypothesis-check '
Through the hypothesis-checking method based on the extreme cluster, the problems of noise, resolution changes and clutter interference in 3D point cloud registration are solved, and efficient and robust 3D point cloud registration is achieved without a large amount of computing resources. and training.
Patent Information
- Application Number
- CN202410740475.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-06-08
- Publication Date
- 2024-12-17
AI Technical Summary
The existing three-dimensional point cloud registration methods are insufficient in the face of interference such as noise, resolution changes, clutter and occlusion, and deep learning methods require a large amount of computing resources and have poor generalization.
Using the hypothesis-checking method based on the extreme clump, the maximum clump pool is constructed through feature matching, compatibility graph search and seed matching, and the six-degree of freedom pose hypothesis is generated, and the optimal registration result is selected through gradual verification. .
High-precision registration is achieved in the case of severe interference and low overlap rate, with strong robustness and high generalization capabilities, and does not require a large number of computing resources and training steps.
Smart Images

Figure CN119151999A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of computer vision, and in particular relates to a robust three-dimensional point cloud registration method based on maximal clique "hypothesis-verification". Background Art
[0002] Point cloud is a data set composed of points in a three-dimensional space under a certain coordinate system. In addition to carrying three-dimensional coordinate information, each point may also contain information such as color, classification value, reflection intensity, etc. Point cloud data is usually collected by a three-dimensional laser scanner, depth camera or binocular camera. Laser scanners include satellite-borne, airborne, ground-based and mobile laser radars. In practical applications, point cloud data collected by scanners often suffer from degradation due to the following reasons: 1) Noise: Limitations such as sensor hardware cause noise in point cloud data, which has a negative impact on the geometric structure and feature expression of point clouds. 2) Changes in point cloud data resolution: Changes in the distance between the sensor and the object will cause changes in the resolution of the point cloud data, such as movement between the sensor and the object. 3) Clutter and occlusion: In three-dimensional object recognition scenarios, objects are often in complex and occluded environments, resulting in missing point cloud data and a large number of outliers. 4) Low overlap rate: Since the sensor can only obtain point cloud data from a limited field of view, it is necessary to scan from different perspectives to obtain complete information, but point cloud data from different perspectives may have fewer overlapping areas. These influencing factors will interfere with subsequent tasks, such as point cloud registration. In order to achieve accurate 3D point cloud registration, current methods are mainly divided into two categories: 1) Traditional geometric methods: using iterative nearest point, random sampling, branch and bound and other techniques. However, these methods have problems with insufficient accuracy and robustness. 2) Deep learning methods: By improving the discriminative ability of feature descriptors, training classifiers to eliminate false matches, and adopting end-to-end learning, good registration results have been achieved. However, these methods usually require a lot of computing resources and their generalization needs to be improved. Summary of the invention
[0003] In order to overcome the shortcomings of the prior art, the present invention provides a robust three-dimensional point cloud registration method based on maximal clique "hypothesis-verification", which first pre-processes the input point cloud and extracts local features, and forms an initial correspondence through feature matching; then, the initial matching is modeled as a compatibility graph and the maximal clique in the graph is searched; next, the maximal clique pool is constructed using seed matching to generate a six-degree-of-freedom pose hypothesis; finally, all the generated hypotheses are verified in a step-by-step manner and the best one is selected for registration. The method of the present invention is simple and efficient, does not require a large amount of computing resources, and has strong robustness. It can still achieve accurate registration in the face of severe point cloud interference and low overlap rate. It has strong generalization ability and does not require any training.
[0004] The technical solution adopted by the present invention to solve the technical problem is as follows:
[0005] Step 1: Input point cloud P s and P t Downsample and use the feature descriptor to construct the input point cloud P s and P t The local feature descriptor and
[0006] Step 2: Form the input point cloud P through local feature matching s and P t The corresponding relationship between Select some corresponding relations from all corresponding relations to form the initial feature matching set C initial ;
[0007] Step 3: Initial feature matching set C initial Construct a compatibility graph G; check whether the graph G is dense. If it is dense, remove some nodes and edges to reduce the density;
[0008] Step 4: Search for the maximum clique based on graph G;
[0009] Step 5: Vote to select the seed matching set C seed And construct the maximum group pool P MAC , filter the maximum group to get the set MAC selected ; MAC for the maximal clique set selected Each set of locally consistent matches in generates a pose hypothesis;
[0010] Step 6: Cluster all generated hypotheses; analyze all clusters, select the best hypothesis for alignment, and output the visualization results.
[0011] Furthermore, the step 1 specifically includes:
[0012] Step 1-1: Use voxel downsampling method to reduce the number of points in the input point cloud;
[0013] Step 1-2: Randomly select key points from two point clouds respectively and
[0014] Step 1-3: Get the local area where each key point is located and construct a local feature descriptor and
[0015] Furthermore, the step 2 specifically includes:
[0016] Step 2-1: Search in the feature space for the feature descriptor f is ,i∈[1,m] is the closest f j t ,j∈[1,n] forms the input point cloud P s and P t The corresponding relationship between Represent the input point cloud P s and P t point;
[0017] Step 2-2: Randomly select K roots from all corresponding relationships to form the initial feature matching set C initial ={c1,c2,…,c k}.
[0018] Furthermore, the step 3 specifically includes:
[0019] Step 3-1: C initial ={c1,c2,…,c k} is modeled as a compatible graph G = {V, E}, where V = {c1, c2, …, c k}, E={e 12 ,e 13 ,…,e ij}, V and E represent the set of nodes and edges in the graph respectively; the rigid distance measure between matches is used as the edge construction rule. First, according to the two coordinate points p in the source point cloud and the target point cloud connected by each match, s and p t , and then calculate the matching pair (c i ,c j ) is:
[0020]
[0021] The rigid distance constraint is used to calculate the distance between each pair of matches (c i ,c j ) between:
[0022]
[0023] where d cmp is the distance parameter;
[0024] When the compatibility value between two matches is greater than the set compatibility threshold, the two matches are determined to meet the compatibility constraint, and the compatibility value will be stored in the adjacency matrix W. FOG Middle; Weight matrix W of compatibility graph SOG Calculated by the following formula:
[0025] W SOG =W FOG⊙(W FOG ×W FOG ) (3)
[0026] Where ⊙ represents the element-wise multiplication of matrices. SOG is a symmetric matrix, and the corresponding compatibility graph is an undirected graph G;
[0027] Step 3-2: Find the density index of the compatibility graph; for each node c in graph G i , let its degree be d i , the sum of the weights of its adjacent edges is w i , then node c i The clustering coefficient α i for:
[0028]
[0029] Average clustering coefficient and the overall clustering coefficient α overall for:
[0030]
[0031]
[0032] Then the density index of graph G is:
[0033]
[0034] Determine whether to remove some graph nodes based on the density index; if α G If the clustering degree is greater than the set threshold, some nodes and edges are removed to reduce the scale of the graph, that is, the first 100 nodes and the edges connecting the nodes are retained in the order of the size of the node clustering coefficient.
[0035] Furthermore, in step 4, the search for the maximal clique is completed using the igraph_maximal_cliques function of igraph.
[0036] Furthermore, the step 5 specifically includes:
[0037] Step 5-1: Obtain the MAC of the maximum clique set after performing the maximum clique search initial , for MAC initial The maximum clique CL in i = {V i ,E i} Calculate its local weight w(CL according to the following formula i ):
[0038]
[0039] where w(e j ) indicates W SOG Middle side j The weight of node v i ∈V, define the maximal clique containing the node as the neighbor clique, denoted by NC(v i )={CL j |v i ∈CL j}; Then, use NC(v i )v i vote:
[0040]
[0041] All nodes are sorted in descending order according to their voting scores, and matches with scores higher than the average level are selected as seed matches C. seed ;
[0042] Step 5-2: C seed Each seed v in i Select NC(v i ) and put them into the pool P(v i ); then, all the groups in the pool are merged together, and the groups with the top K2 weights are selected to obtain MAC selected ;
[0043] Step 5-3: Solve MAC using SVD selected The pose hypothesis corresponding to each maximal clique in .
[0044] Furthermore, the step 6 specifically includes:
[0045] Step 6-1: Parameter conversion;
[0046] For the assumption that h i =(R i ,t i ), where the rotation matrix R i ∈SO(3), translation vector R is calculated as follows i Convert to Euler angle vector r i =(α,β,γ) T :
[0047]
[0048]
[0049] Since the range of the converted angle is (-π,π), add 2π to all negative angles to ensure that all angles are within the range of (0,2π);
[0050] Step 6-2: Cluster all hypotheses;
[0051] Each angle vector is regarded as a 3D point coordinate, and the point cloud composed of all assumed angle vectors represents the solution space; then, the point cloud segmentation algorithm Conditional Euclidean Clustering of PCL is used to cluster the point cloud; the spatial distance threshold t1 of the algorithm is set to 5 radians, and the condition function f c Defined as:
[0052] f c (r i ,r j )=|| t it j || (12)
[0053] where r i ,r j Represents two assumptions h i ,h j The vector obtained by transforming the rotation part of i ,t j is the translation part of the two assumptions;
[0054] The outlier-sensitive mean square error OA-MAE indicator is used to evaluate the quality of the hypothesis; the set Indicates the predicted matches and common target points A corresponding set of source points; therefore, the matching set forms a correspondence between the set and the target points; the calculation method of OA-MAE is as follows:
[0055]
[0056] Where M represents the number of target points in all matches, and the scoring function is defined as follows:
[0057]
[0058] Step 6-3: Cluster selection;
[0059] Step 6-3-1: Select two candidate clusters from all clusters;
[0060] 1) Evaluate all class centers and select the cluster with the best center as the candidate class; in each cluster, select the pose transformation with the highest score as the center transformation; then, optimize the quality of the center transformation using class matching, which includes all matches that generate these transformations in the same cluster, and obtain a set of optimized center transformations; then, use the OA-MAE metric to evaluate these optimized center transformations and select candidate classes;
[0061] 2) Evaluate all individual hypotheses obtained in step 5-3 and select the cluster containing the best transformation as the candidate class;
[0062] Step 6-3-2: Perform post-verification on the two candidate classes;
[0063] By changing the C seed The matching points are sampled to obtain a pair of semi-dense point cloud pieces Q1 and Q2. The two candidate classes are post-verified using point cloud-level evaluation indicators. The indicators are defined as follows:
[0064]
[0065] Every point x in Q1 passes through R k and t k After the transformation, its nearest neighbor y is found in Q2, and vice versa; the average MAE score is calculated, and finally the two scores are averaged to calculate the verification score; the candidate class with the higher score is selected;
[0066] Step 6-3-3: Individual optimization;
[0067] Each transformation in the selected cluster is checked one by one, and the seed match is intersected with the cluster match to improve the matching quality for OA-MAE evaluation; the one with the highest OA-MAE score is retained for the final point cloud registration.
[0068] Preferably, the compatibility threshold is defined as 0.99.
[0069] Preferably, the aggregation degree threshold is 3.
[0070] Preferably, the K1 value is 10, and the K2 value is C initial size.
[0071] Preferably, the f c The threshold t2 is set to 10cm.
[0072] The beneficial effects of the present invention are as follows:
[0073] 1) The hypothesis generation method proposed in the present invention, which uses reliable seed matching generated by voting to guide the construction of a maximum cluster pool, can effectively retain more correct hypotheses;
[0074] 2) The hypothesis checking method proposed by the present invention that gradually reduces the solution space can solve the problem of being unable to find the correct hypothesis;
[0075] 3) The method of the present invention is highly robust and can still obtain relatively accurate results in the face of many interferences;
[0076] 4) The method of the present invention has strong generalization ability and does not require any training steps. BRIEF DESCRIPTION OF THE DRAWINGS
[0077] Figure 1 Flow chart for implementing the present invention.
[0078] Figure 2 A point cloud set is input to the embodiment of the present invention.
[0079] Figure 3 Original input matching and seed matching according to an embodiment of the present invention, (a) original input matching, (b) seed matching.
[0080] Figure 4 The clustering results are assumed for the embodiments of the present invention.
[0081] Figure 5 This is the registration effect of the embodiment of the present invention.
[0082] Figure 6 This is a visualization diagram of the 3D Match & 3D LoMatch dataset registration according to an embodiment of the present invention.
[0083] Figure 7 This is a visualization diagram of the KITTI dataset registration according to an embodiment of the present invention. DETAILED DESCRIPTION
[0084] The present invention is further described below in conjunction with the accompanying drawings and embodiments.
[0085] This paper proposes a robust three-dimensional point cloud registration method based on maximal clique "hypothesis-verification". The method first preprocesses the input point cloud and extracts local features, and forms an initial correspondence through feature matching; then, the initial matching is modeled as a compatibility graph and the maximal clique in the graph is searched; secondly, a maximal clique pool is constructed using seed matching to generate six-degree-of-freedom pose hypotheses; finally, all the generated hypotheses are verified in a step-by-step manner and the best one is selected for registration.
[0086] The method of the present invention is simple and efficient, does not require a large amount of computing resources, and has strong robustness. It can still achieve accurate registration in the face of severe point cloud interference and low overlap rate. It has strong generalization ability and does not require any training.
[0087] The solution adopted by the present invention to solve the technical problem of three-dimensional point cloud registration includes the following steps:
[0088] Step 1: Input point cloud P s and P t Downsample and use feature descriptors to construct local feature descriptors of two point clouds and
[0089] Step 1-1: Use voxel downsampling method to reduce the number of points in the input point cloud;
[0090] Step 1-2: Randomly select key points from two point clouds respectively and
[0091] Step 1-3: Get the local area where each key point is located and construct a local feature descriptor and
[0092] Step 2: Form the input point cloud P through local feature matching s and P t The corresponding relationship between Select some corresponding relations from all corresponding relations to form the initial feature matching set C initial ;
[0093] Step 2-1: Search in the feature space for the feature descriptor f i s (i∈[1,m]) is the closest (j∈[1,n]), forming the input point cloud P s and P t The corresponding relationship between
[0094] Step 2-2: Randomly select K roots from all corresponding relationships to form the initial feature matching set C initial ={c1,c2,…,c k};
[0095] Step 3: Initial feature matching set C initial Construct a compatibility graph G; check whether the graph G is dense. If it is dense, remove some nodes and edges to reduce the density;
[0096] Step 3-1: To convert C initial ={c1,c2,…,c k} is modeled as a compatible graph G = {V, E}, where V = {c1, c2, …, c k}, E={e 12 ,e 13 ,…,e ij}, using the rigid distance measure between matches as the edge construction rule. First, according to the two coordinate points p in the source point cloud and the target point cloud connected by each match s and p t , and then calculate the matching pair (c i ,c j ) is:
[0097]
[0098] The rigid distance constraint can be used to calculate the distance between each pair of matches (c i ,c j ) between:
[0099]
[0100] where d cmp is a distance parameter. When the compatibility value between two matches is greater than the set threshold, it can be considered that the two matches meet the compatibility constraint, and the compatibility value will be stored in the adjacency matrix W FOG A good compatibility threshold is defined as 0.99; the weight matrix W of the compatibility graph SOG Calculated by the following formula:
[0101] W SOG =W FOG ⊙(W FOG ×W FOG ), (3)
[0102] Where ⊙ represents the element-wise multiplication of matrices. SOG is a symmetric matrix, and the corresponding compatibility graph is an undirected graph G.
[0103] Step 3-2: Find the density index of the compatibility graph. For each node c in graph G i , let its degree be d i , the sum of the weights of its adjacent edges is w i , then node c i The clustering coefficient α i for:
[0104]
[0105] Average clustering coefficient and the overall clustering coefficient α overall for:
[0106]
[0107]
[0108] Then the density index of graph G is:
[0109]
[0110] Determine whether to remove some graph nodes based on the density index. GIf the clustering degree is greater than the set threshold, some nodes and edges need to be removed to reduce the size of the graph, that is, the first 100 nodes and the edges between nodes are retained in the order of the node clustering coefficient. A good clustering degree threshold is 3;
[0111] Step 4: Search for the maximal clique based on graph G; this is done using the igraph_maximal_cliques function of igraph;
[0112] Step 5: Vote to select the seed matching set C seed And construct the maximum group pool P MAC , filter the maximum group to get the set MAC selected ; MAC for the maximal clique set selected Each set of locally consistent matches in generates a pose hypothesis;
[0113] Step 5-1: Obtain the MAC of the maximum clique set after performing the maximum clique search initial , for MAC initial The maximum clique CL in i = {V i ,E i} Calculate its local weight w(CL according to the following formula i ):
[0114]
[0115] where w(e j ) indicates W SOG Middle side j The weight of node v i ∈V, define the maximal clique containing the node as the neighbor clique, denoted by NC(v i )={CL j |v i ∈CL j Then, use NC(v i )v i vote:
[0116]
[0117] Voting score w(v i ) not only with NC(v i ) and the size of CL in the set j All nodes are sorted in descending order according to the voting scores, and the matches corresponding to the scores higher than the average level are selected as seed matches C seed . These seed matches can improve the correctness of subsequent hypothesis generation and verification;
[0118] Step 5-2: C seed Each seed v ini Select NC(v i ) and put them into the pool P(v i ). After that, all the groups in the pool are merged together, and the groups with the top K2 weights are selected to obtain MAC selected ; A reasonable K1 value is 10, and a reasonable K2 value is C initial size;
[0119] Step 5-3: Solve MAC using SVD selected The pose hypothesis corresponding to each maximal clique in .
[0120] Step 6: Cluster all generated hypotheses; analyze all clusters, select the best hypothesis for alignment, and output the visualization results.
[0121] Step 6-1: Parameter transformation. Assuming h i =(R i ,t i ), where the rotation matrix R i ∈SO(3), translation vector R is calculated as follows i Convert to Euler angle vector r i =(α,β,γ) T :
[0122]
[0123]
[0124] Since the range of the converted angle is (-π,π), add 2π to all negative angles to ensure that all angles are within the range of (0,2π);
[0125] Step 6-2: Cluster all hypotheses. Each angle vector can be regarded as a 3D point coordinate, and the point cloud composed of all hypothesized angle vectors represents the solution space. Then, PCL's point cloud segmentation algorithm Conditional Euclidean Clustering is used to cluster the point cloud. The algorithm's spatial distance threshold t1 is set to 5 radians, and the condition function f c Defined as:
[0126] f c (r i ,r j )=||t i -tj | |, (12)
[0127] where r i ,r j Represents two assumptions h i ,hj The vector obtained by transforming the rotation part of i ,t j is the translation part of the two assumptions. c The threshold t2 is set to 10cm.
[0128] The outlier-sensitive mean square error (OA-MAE) metric is used to evaluate the quality of the hypothesis. Indicates the predicted matches and common target points A set of corresponding source points. Therefore, the matching set forms a correspondence between the set and the target points. The calculation method of OA-MAE is as follows:
[0129]
[0130] Where M represents the number of target points in all matches, and the scoring function is defined as follows:
[0131]
[0132] Step 6-3: Cluster selection, this step is divided into two stages.
[0133] Step 6-3-1: Select two candidate classes from all clusters. 1) Evaluate all class centers and select the cluster with the best center as the candidate class. In each cluster, select the pose transformation with the highest score as the center transformation. Afterwards, class matching is used to optimize the quality of the center transformation (class matching refers to all matches that generate these transformations in the same cluster) to obtain a set of optimized center transformations. Then, the OA-MAE indicator is used to evaluate these optimized center transformations and select candidate classes; 2) Evaluate all individual hypotheses obtained in step 5-3 and select the cluster containing the best transformation as the candidate class;
[0134] Step 6-3-2: Perform post-verification on the two candidate classes. seed The matching points are sampled to obtain a pair of semi-dense point cloud pieces Q1 and Q2. The two candidate classes are post-verified using point cloud-level evaluation indicators. The indicators are defined as follows:
[0135]
[0136] Every point x in Q1 passes through R k and t k After the transformation, its nearest neighbor y will be found in Q2, and vice versa. The average MAE score is calculated, and finally the two scores are averaged to calculate the verification score. The candidate class with a higher score is more likely to contain the correct hypothesis and will be selected;
[0137] Step 6-3-3: Individual optimization. Check each transformation in the selected cluster one by one. At the same time, intersect the seed match with the cluster match to improve the matching quality for OA-MAE evaluation. Keep the one with the highest OA-MAE score for the final point cloud registration.
[0138] Example:
[0139] Figure 1 A process of a robust three-dimensional point cloud registration method based on maximal clique "hypothesis-verification" is provided in an embodiment of the present application.
[0140] (1) Input point cloud preprocessing and feature extraction. This is achieved through the following ①-②:
[0141] ① Input point cloud P s and P t (like Figure 2 Downsampling is performed to simplify the structure of point cloud data and retain basic shape features.
[0142] ② Extract key points from the downsampled point cloud and And use the feature descriptor to construct a local feature descriptor and
[0143] (2) Generate initial feature matching. This is achieved through the following ①-②:
[0144] ① Search in the feature space for the feature descriptor f i s (i∈[1,m]) The nearest target point cloud feature descriptor f j t (j∈[1,n]), forming the input point cloud P s and P t The corresponding relationship between
[0145] ② Randomly select K roots from all corresponding relationships to form the initial feature matching set C initial ={c1,c2,…,c k}, the initial feature matching is as follows Figure 3 (a) shown.
[0146] (3) Construct a compatibility graph. This is achieved through the following steps ①-②:
[0147] ① Calculate the initial feature matching set C initial Every two matches (c i ,c j ) between the compatibility score S cmp (c i ,cj ), according to the score, C initial Modeled as a compatible graph G = {V, E}, where V = {c1, c2, …, c k}, E={e 12 ,e 13 ,…,e ij}, using a rigid distance measure between matches as an edge-building rule:
[0148]
[0149] The rigid distance constraint can be used to calculate the distance between each pair of matches (c i ,c j ) between:
[0150]
[0151] where d cmp is a distance parameter. When the compatibility value between two matches is greater than the set threshold, it can be considered that the two matches meet the compatibility constraint, and the compatibility value will be stored in the adjacency matrix W FOG The weight matrix W of the compatibility graph is SOG Calculated by the following formula:
[0152] W SOG =W FOG ⊙(W FOG ×W FOG ), (3)
[0153] ② Check whether the compatibility graph is dense. If it is dense, remove some nodes and edges to reduce the density. For each node c in graph G i , let its degree be d i , the sum of the weights of its adjacent edges is w i , then node c i The clustering coefficient α i for:
[0154]
[0155] Average clustering coefficient and the overall clustering coefficient α overall for:
[0156]
[0157]
[0158] Then the density index of graph G is:
[0159]
[0160] Determine whether to remove some graph nodes based on the density index. G If the degree of clustering is greater than the set threshold, some nodes and edges need to be removed to reduce the scale of the graph, that is, the top 100 nodes and the edges connecting the nodes are retained in the order of the node clustering coefficient.
[0161] (4) Perform a maximal clique search on the compatibility graph. The maximal clique search is performed using the igraph_maximal_cliques function of igraph.
[0162] (5) Generate hypotheses. This is achieved through the following steps ①-③:
[0163] ①Vote to select the seed matching set C seed (like Figure 3 (b)). For the set MAC obtained in the previous step initial The maximum clique CL in i = {V i ,E i} Calculate its local weight w(CL according to the following formula i ):
[0164]
[0165] where w(e j ) indicates W SOG Middle side j The weight of node v i ∈V, define the maximal clique containing the node as the neighbor clique, denoted by NC(v i )={CL j |v i ∈CL j Then, use NC(v i )v i vote:
[0166]
[0167] Voting score w(v i ) not only with NC(v i ) and the size of CL in the set j All nodes are sorted in descending order according to the voting scores, and the matches corresponding to the scores higher than the average level are selected as seed matches C seed . These seed matches can improve the correctness of subsequent hypothesis generation and verification.
[0168] ②Construct the maximum cluster pool and select the maximum cluster. seed Each seed v in i Select NC(v i) and put them into the pool P(v i ). After that, all the groups in the pool are merged together, and the groups with the top K2 weights are selected to obtain MAC selected .
[0169] ③Use SVD to solve MAC selected The pose hypothesis corresponding to each maximal clique in .
[0170] (6) Evaluate the hypothesis and perform registration. This is achieved through the following steps ①-③:
[0171] ① Parameter conversion. For the assumption h i =(R i ,t i ), where the rotation matrix R i ∈SO(3), translation vector R is calculated as follows i Convert to Euler angle vector r i =(α,β,γ) T :
[0172]
[0173]
[0174] Since the range of the converted angle is (-π,π), add 2π to all negative angles to ensure that all angles are within the range of (0,2π);
[0175] ② Cluster all generated hypotheses, such as Figure 4 As shown. Each angle vector can be regarded as a 3D point coordinate, and the point cloud composed of all assumed angle vectors represents the solution space. Afterwards, the PCL point cloud segmentation algorithm Conditional Euclidean Clustering is used to cluster the point cloud. The condition function f of this algorithm c Defined as:
[0176] f c (r i ,r j )=||t i -t j ||, (12)
[0177] where r i ,r j Represents two assumptions h i ,h j The vector obtained by transforming the rotation part of i ,t j is the translation part of the two assumptions.
[0178] ③ Analyze all the classes, select the best hypothesis for registration, and output the visualization results. Figure 5 Specifically including:
[0179] a) Use the outlier-sensitive mean square error (OA-MAE) evaluation metric. Indicates the predicted matches and common target points A set of corresponding source points. Therefore, the matching set forms a correspondence between the set and the target points. The calculation method of OA-MAE is as follows:
[0180]
[0181] Where M represents the number of target points in all matches, and the scoring function is defined as follows:
[0182]
[0183] b) Cluster selection, this step is divided into two stages.
[0184] Select two candidate classes from all clusters. 1) Evaluate all class centers and select the cluster with the best center as the candidate class. In each cluster, select the pose transformation with the highest score as the center transformation. Afterwards, optimize the quality of the center transformation using class matching (class matching refers to all matches that generate these transformations in the same cluster) to obtain a set of optimized center transformations. Then, use the OA-MAE metric to evaluate these optimized center transformations and select candidate classes; 2) Evaluate all individual hypotheses obtained in step (5) and select the cluster containing the best transformation as the candidate class;
[0185] Perform post-verification on the two candidate classes. seed The matching points are sampled to obtain a pair of semi-dense point cloud pieces Q1 and Q2. The two candidate classes are post-verified using point cloud-level evaluation indicators. The indicators are defined as follows:
[0186]
[0187] Every point x in Q1 passes through R k and t k After the transformation, its nearest neighbor y will be found in Q2, and vice versa. The average MAE score is calculated, and finally the two scores are averaged to calculate the verification score. The candidate class with a higher score is more likely to contain the correct hypothesis and will be selected;
[0188] c) Individual optimization. Check each transformation in the selected cluster one by one. At the same time, intersect the seed match with the cluster match to improve the match quality for OA-MAE evaluation. Keep the one with the highest OA-MAE score for the final point cloud registration.
[0189] From the performance of this method on the 3D dataset ( Figure 6 , Figure 7 , Table 1, Table 2, Table 3) It can be seen that the method of the present invention can accurately register point cloud data and is superior to the existing registration methods. Table 1 and Table 2 are the evaluation results of the registration of 3DMatch and 3DLoMatch datasets, respectively. The table shows the recall rate (Registration Recall, RR), rotation error (Rotation Error, RE) and translation error (Translation Error, TE) indicators under the recommended evaluation threshold of the dataset, and the best results are bolded.
[0190] Table 1 Comparison results of methods on 3DMatch dataset
[0191]
[0192] Table 2 Comparison results of methods on 3DLoMatch dataset
[0193]
[0194] Table 3 is the evaluation of the registration results of the KITTI-LC dataset. The table shows the recall rate (RR), rotation error (RE) and translation error (TE) indicators under the recommended evaluation threshold of the dataset, and the best results are bolded.
[0195] Table 3 Comparison results of methods on KITTI-LC dataset
[0196]
Claims
1. A robust 3D point cloud registration method based on maximal clique “hypothesis-verification”, characterized in that: The steps include: Step 1: Input point cloud P s and P t Downsample and use the feature descriptor to construct the input point cloud P s and P t The local feature descriptor and Step 2: Form the input point cloud P through local feature matching s and P t The corresponding relationship between Select some corresponding relations from all corresponding relations to form the initial feature matching set C initial ; Step 3: Initial feature matching set C initial Construct a compatibility graph G; check whether the graph G is dense. If it is dense, remove some nodes and edges to reduce the density; Step 4: Search for the maximum clique based on graph G; Step 5: Vote to select the seed matching set C seed And construct the maximum group pool P MAC , filter the maximum group to get the set MAC selected ; MAC for the maximal clique set selected Each set of locally consistent matches in generates a pose hypothesis; Step 6: Cluster all generated hypotheses; analyze all clusters, select the best hypothesis for alignment, and output the visualization results.
2. A robust three-dimensional point cloud registration method based on maximal clique “hypothesis-verification” according to claim 1, characterized in that: The step 1 specifically includes: Step 1-1: Use voxel downsampling method to reduce the number of points in the input point cloud; Step 1-2: Randomly select key points from two point clouds respectively and Step 1-3: Get the local area where each key point is located and construct a local feature descriptor and 3. The robust three-dimensional point cloud registration method based on maximal clique “hypothesis-verification” according to claim 2, characterized in that: The step 2 specifically includes: Step 2-1: Search for feature descriptors in feature space The nearest Form the input point cloud P s and P t The corresponding relationship between Represent the input point cloud P s and P t point; Step 2-2: Randomly select K roots from all corresponding relationships to form the initial feature matching set C initial ={c1, c2, ..., c k }.
4. The robust three-dimensional point cloud registration method based on maximal clique “hypothesis-verification” according to claim 3, characterized in that: The step 3 specifically includes: Step 3-1: C initial ={c1, c2, ..., c k } is modeled as a compatible graph G = {V, E}, where V = {c1, c2, ..., c k }, E={e 12 , e 13 , ..., e ij }, V and E represent the set of nodes and edges in the graph respectively; the rigid distance measure between matches is used as the edge construction rule. First, according to the two coordinate points p in the source point cloud and the target point cloud connected by each match, s and p t , and then calculate the matching pair (c i , c j ) is: The rigid distance constraint is used to calculate the distance between each pair of matches (c i , c j ) between: where d cmp is the distance parameter; When the compatibility value between two matches is greater than the set compatibility threshold, the two matches are determined to meet the compatibility constraint, and the compatibility value will be stored in the adjacency matrix W. FOG Middle; Weight matrix W of compatibility graph SOG Calculated by the following formula: IN SOG =In FOG ⊙(In FOG ×W FOG ) (3) Where ⊙ represents the element-wise multiplication of matrices; W SOG is a symmetric matrix, and the corresponding compatibility graph is an undirected graph G; Step 3-2: Find the density index of the compatibility graph; for each node c in graph G i , let its degree be d i , the sum of the weights of its adjacent edges is w i , then node c i The clustering coefficient α i for: Average clustering coefficient and the overall clustering coefficient α overall for: Then the density index of graph G is: Determine whether to remove some graph nodes based on the density index; if α G If the clustering degree is greater than the set threshold, some nodes and edges are removed to reduce the scale of the graph, that is, the first 100 nodes and the edges connecting the nodes are retained in the order of the node clustering coefficient.
5. The robust three-dimensional point cloud registration method based on maximal clique “hypothesis-verification” according to claim 4, characterized in that: In step 4, the search for the maximal clique is completed using the igraph_maximal_cliques function of igraph.
6. A robust three-dimensional point cloud registration method based on maximal clique “hypothesis-verification” according to claim 5, characterized in that: The step 5 specifically includes: Step 5-1: Obtain the MAC of the maximum clique set after performing the maximum clique search initial , for MAC initial The maximum clique CL in i = {V i , E i } Calculate its local weight w(CL according to the following formula i ): where w(e j ) indicates W SOG Middle side j The weight of node v i ∈V, define the maximal clique containing the node as the neighbor clique, denoted by NC(v i )={CL j |v i ∈CL j }; Then, use NC(v i )v i vote: All nodes are sorted in descending order according to their voting scores, and matches with scores higher than the average level are selected as seed matches C. seed ; Step 5-2: C seed Each seed v in i Select NC(v i ) and put them into the pool P(v i ); then, all the groups in the pool are merged together, and the groups with the top K2 weights are selected to obtain MAC selected ; Step 5-3: Solve MAC using SVD selected The pose hypothesis corresponding to each maximal clique in .
7. The robust three-dimensional point cloud registration method based on maximal clique “hypothesis-verification” according to claim 6, characterized in that: The step 6 specifically includes: Step 6-1: Parameter conversion; For the assumption that h i =(R i , t i ), where the rotation matrix R i ∈SO(3), translation vector R is calculated as follows i Convert to Euler angle vector r i =(α, β, γ) T : Since the range of the converted angles is (-π, π), add 2π to all negative angles to ensure that all angles are within the range of (0, 2π); Step 6-2: Cluster all hypotheses; Each angle vector is regarded as a 3D point coordinate, and the point cloud composed of all assumed angle vectors represents the solution space; then, the point cloud segmentation algorithm Conditional Euclidean Clustering of PCL is used to cluster the point cloud; the spatial distance threshold t1 of the algorithm is set to 5 radians, and the condition function f c Defined as: f c (r i ,r j )=||t i -t j || (12) where r i , r j Represents two assumptions h i ,h j The vector obtained by transforming the rotation part of i , t j is the translation part of the two assumptions; The outlier-sensitive mean square error OA-MAE indicator is used to evaluate the quality of the hypothesis; the set Indicates the predicted matches and common target points A corresponding set of source points; therefore, the matching set forms a correspondence between the set and the target points; the calculation method of OA-MAE is as follows: Where M represents the number of target points in all matches, and the scoring function is defined as follows: Step 6-3: Cluster selection; Step 6-3-1: Select two candidate clusters from all clusters; 1) Evaluate all class centers and select the cluster with the best center as the candidate class; in each cluster, select the pose transformation with the highest score as the center transformation; then, optimize the quality of the center transformation using class matching, which includes all matches that generate these transformations in the same cluster, and obtain a set of optimized center transformations; then, use the OA-MAE metric to evaluate these optimized center transformations and select candidate classes; 2) Evaluate all individual hypotheses obtained in step 5-3 and select the cluster containing the best transformation as the candidate class; Step 6-3-2: Perform post-verification on the two candidate classes; By changing the C seed The matching points are sampled to obtain a pair of semi-dense point cloud pieces Q1 and Q2. The two candidate classes are post-verified using point cloud-level evaluation indicators. The indicators are defined as follows: Every point x in Q1 passes through R k and t k After the transformation, its nearest neighbor y is found in Q2, and vice versa; the average MAE score is calculated, and finally the two scores are averaged to calculate the verification score; the candidate class with the higher score is selected; Step 6-3-3: Individual optimization; Each transformation in the selected cluster is checked one by one, and the seed match is intersected with the cluster match to improve the matching quality for OA-MAE evaluation; the one with the highest OA-MAE score is retained for the final point cloud registration.
8. The robust three-dimensional point cloud registration method based on maximal clique “hypothesis-verification” according to claim 7, characterized in that: The compatibility threshold is defined as 0.99; the aggregation threshold is 3; the K1 value is 10, and the K2 value is C initial The size of f c The threshold t2 is set to 10cm.
Citation Information
Cited By
Object pose estimation method and device based on three-dimensional point cloud and storage medium
CN121616661A
An object pose estimation method and device based on a three-dimensional point cloud and a storage medium
CN121616661B
