Three-dimensional point cloud registration method, system, device and storage medium based on graph voting
By constructing a first-order graph of point cloud pairs and filtering high-quality point cloud pairs based on vertex voting, and using the covariance matrix to calculate the optimal spatial change matrix, the calculation complexity and noise sensitivity of the existing three-dimensional point cloud registration method are solved, and efficient and accurate point cloud registration is achieved.
Patent Information
- Application Number
- CN202510885301.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-06-30
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2045-06-30
AI Technical Summary
The existing three-dimensional point cloud registration methods have high computational complexity and are noise-sensitive, making it difficult to process large-scale point cloud data and have low registration accuracy.
A first-order graph of point cloud pairs is constructed based on graph voting methods, high-quality point cloud pairs are filtered through vertex distance and voting value, and the optimal spatial change matrix is calculated using the vertex subgraph and covariance matrix for point cloud registration.
It improves the accuracy and efficiency of point cloud registration, reduces the computational complexity, and is suitable for efficient and accurate registration of large-scale point cloud data.
Smart Images

Figure QLYQS_1 
Figure QLYQS_13
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of point cloud registration, specifically to a three-dimensional point cloud registration method, system, device and storage medium based on graph voting. Background Art
[0002] 3D point cloud registration technology is widely used in fields such as SLAM (Simultaneous Localization and Mapping) and 3D reconstruction. Existing mainstream methods (such as the Teaser method, SC2-PCR method, and MAC method) rely on the quality of the initial correspondences and suffer from the following issues: high computational complexity: Existing methods require traversing all possible point pair relationships. When the number of point pairs is large, they need to process a large amount of complex information, which is not only time-consuming but also requires a large amount of memory, making it difficult to handle large-scale point clouds; and sensitivity to noise: erroneous point pairs in the initial point pair data can significantly reduce registration accuracy. Summary of the Invention
[0003] The purpose of the present invention is to provide a three-dimensional point cloud registration method, system, device and storage medium based on graph voting.
[0004] The technical solutions of the present invention are as follows:
[0005] A 3D point cloud registration method based on graph voting includes the following operations:
[0006] S1. Based on the source point cloud set and the target point cloud set, several point cloud pairs are obtained to form a point cloud pair set. The point cloud pairs are used as vertices, and two vertices whose vertex distance is less than a vertex distance threshold are connected with edges to obtain a first-order graph. From the first-order graph, the vertices and edges in the neighborhood of each vertex are obtained to obtain a vertex subgraph of each vertex.
[0007] S2. Based on the number of vertex repetitions between different vertex subgraphs, vertex voting is performed to obtain the voting value of each vertex; the point cloud pairs corresponding to the vertices whose voting values are greater than the voting value threshold are selected as the selected point cloud pairs, forming a selected point cloud pair set;
[0008] S3. Randomly select several selected point cloud pairs from the selected point cloud pair set, calculate the point cloud spatial change matrix, perform spatial transformation on the target point cloud set, and obtain the spatially transformed point cloud set; obtain the point cloud distance between the spatially transformed point cloud set and each point cloud pair of the source point cloud set, and use the point cloud pairs whose point cloud distance is less than the point cloud distance threshold as feature point cloud pairs, and obtain the number of feature point cloud pairs; if the number of feature point cloud pairs is less than the point cloud pair number threshold, record the point cloud spatial change matrix; repeat the operations of selecting selected point cloud pairs, calculating the point cloud spatial change matrix, obtaining the number of feature point cloud pairs, and recording the point cloud spatial change matrix several times until the number of repetitions is equal to the repetition number threshold, and use the point cloud spatial change matrix corresponding to the minimum number of feature point cloud pairs as the optimal point cloud spatial change matrix; based on the optimal point cloud spatial change matrix, perform point cloud registration of the source point cloud set and the target point cloud set.
[0009] The vertex distance in S1 is calculated using the following formula:
[0010] ,
[0011] Vertex With vertex The distance between the vertices, To set the source point cloud in the source point cloud With the source point cloud The Euclidean distance of To concentrate the target point cloud in the target point cloud With the target point cloud The Euclidean distance of , .
[0012] The operation of obtaining the voting value of each vertex in S2 is: obtaining the total number of times each vertex appears repeatedly between two different vertex subgraphs as the voting value of each vertex.
[0013] The operation of obtaining the voting value of each vertex in S2 is as follows: the vertex subgraph corresponding to the vertex in the vertex subgraph of the current vertex is used as the vertex subgraph to be compared with the current vertex, and the vertex subgraph of the current vertex is used as the target vertex subgraph; the total number of times each vertex appears repeatedly between all target vertex subgraphs and the corresponding vertex subgraph to be compared is obtained as the voting value of each vertex.
[0014] The method for obtaining the point cloud spatial variation matrix in S3 is as follows: obtain point clouds belonging to the target point cloud set and the source point cloud set respectively from several selected point cloud pairs to obtain several target selected point clouds and several source selected point clouds; take the average value of all target selected point clouds and the average value of all source selected point clouds as the target selected point cloud center and the source selected point cloud center respectively; subtract the corresponding target selected point cloud center and source selected point cloud center from each target selected point cloud and each source selected point cloud to obtain several target decentralized point clouds and several source decentralized point clouds; construct a point cloud covariance matrix based on the several target decentralized point clouds and several source decentralized point clouds; perform singular value decomposition on the point cloud covariance matrix to obtain a rotation matrix; obtain a translation vector based on the rotation matrix; and obtain a point cloud spatial variation matrix based on the rotation matrix and the translation vector.
[0015] The point cloud spatial change matrix is , is the translation vector, is the rotation matrix.
[0016] In S1, the vertices and edges in the neighborhood of each vertex are the vertices and edges directly connected to each vertex.
[0017] A three-dimensional point cloud registration system based on graph voting, used to implement the above-mentioned three-dimensional point cloud registration method based on graph voting, comprising:
[0018] The vertex subgraph generation module is used to obtain several point cloud pairs based on the source point cloud set and the target point cloud set to form a point cloud pair set; the point cloud pairs are used as vertices, and two vertices whose vertex distance is less than the vertex distance threshold are connected by edges to obtain a first-order graph; from the first-order graph, the vertices and edges in the neighborhood of each vertex are obtained to obtain a vertex subgraph for each vertex;
[0019] The selected point cloud pair generation module is used to perform vertex voting based on the number of vertex repetitions between different vertex subgraphs to obtain the voting value of each vertex; the point cloud pairs corresponding to the vertices with voting values greater than the voting value threshold are selected as the selected point cloud pairs, forming a selected point cloud pair set;
[0020] The point cloud registration module is used to randomly select several selected point cloud pairs from the selected point cloud pair set, calculate the point cloud spatial change matrix, perform spatial transformation on the target point cloud set, and obtain the spatially transformed point cloud set; obtain the point cloud distance between the spatially transformed point cloud set and each point cloud pair of the source point cloud set, and take the point cloud pairs whose point cloud distance is less than the point cloud distance threshold as the feature point cloud pairs, and obtain the number of feature point cloud pairs; if the number of feature point cloud pairs is less than the point cloud pair number threshold, record the point cloud spatial change matrix; repeat the operations of selecting selected point cloud pairs, calculating the point cloud spatial change matrix, obtaining the number of feature point cloud pairs and recording the point cloud spatial change matrix several times until the number of repetitions is equal to the repetition number threshold, and take the point cloud spatial change matrix corresponding to the minimum number of feature point cloud pairs as the optimal point cloud spatial change matrix; based on the optimal point cloud spatial change matrix, perform point cloud registration of the source point cloud set and the target point cloud set.
[0021] A three-dimensional point cloud registration device based on graph voting includes a processor and a memory, wherein the processor implements the above-mentioned three-dimensional point cloud registration method based on graph voting when executing a computer program stored in the memory.
[0022] A computer-readable storage medium, characterized in that it is used to store a computer program, wherein when the computer program is executed by a processor, it implements the above-mentioned three-dimensional point cloud registration method based on graph voting.
[0023] The beneficial effects of the present invention are:
[0024] The present invention provides a three-dimensional point cloud registration method based on graph voting. First, point cloud pairs are taken as vertices, and a first-order graph of point cloud pairs is constructed based on vertex distances. Vertices and edges in the neighborhood of each vertex are obtained, and noise point pairs are filtered to obtain a vertex subgraph for each vertex. Then, voting screening is performed based on the number of vertex repetitions between vertex subgraphs. Point cloud pairs corresponding to vertices with voting values greater than a voting value threshold are selected as selected point cloud pairs, and high-quality matching point cloud pairs recognized in multiple vertex subgraphs are retained, so that the selected point cloud pair set is more representative and reliable. Finally, a spatial variation matrix is calculated by selecting point cloud pairs from the selected point cloud pair set, and feature point cloud pairs are screened and counted after transforming the target point cloud. After multiple iterations, the matrix with the smallest number of feature point cloud pairs is selected as the optimal point cloud spatial variation matrix to perform point cloud registration of the source point cloud set and the target point cloud set, thereby improving the accuracy and precision of point cloud registration, reducing computational complexity, and improving registration efficiency. The method is suitable for efficient and accurate registration of large-scale point cloud data. DETAILED DESCRIPTION
[0025] This embodiment provides a 3D point cloud registration method based on graph voting, including the following operations:
[0026] S1. Based on the source point cloud set and the target point cloud set, several point cloud pairs are obtained to form a point cloud pair set. The point cloud pairs are used as vertices, and two vertices whose vertex distance is less than a vertex distance threshold are connected with edges to obtain a first-order graph. From the first-order graph, the vertices and edges in the neighborhood of each vertex are obtained to obtain a vertex subgraph of each vertex.
[0027] S2. Based on the number of vertex repetitions between different vertex subgraphs, vertex voting is performed to obtain the voting value of each vertex; the point cloud pairs corresponding to the vertices whose voting values are greater than the voting value threshold are selected as the selected point cloud pairs, forming a selected point cloud pair set;
[0028] S3. Randomly select several selected point cloud pairs from the selected point cloud pair set, calculate the point cloud spatial change matrix, perform spatial transformation on the target point cloud set, and obtain the spatially transformed point cloud set; obtain the point cloud distance between the spatially transformed point cloud set and each point cloud pair of the source point cloud set, and use the point cloud pairs whose point cloud distance is less than the point cloud distance threshold as feature point cloud pairs, and obtain the number of feature point cloud pairs; if the number of feature point cloud pairs is less than the point cloud pair number threshold, record the point cloud spatial change matrix; repeat the operations of selecting selected point cloud pairs, calculating the point cloud spatial change matrix, obtaining the number of feature point cloud pairs, and recording the point cloud spatial change matrix several times until the number of repetitions is equal to the repetition number threshold, and use the point cloud spatial change matrix corresponding to the minimum number of feature point cloud pairs as the optimal point cloud spatial change matrix; based on the optimal point cloud spatial change matrix, perform point cloud registration of the source point cloud set and the target point cloud set.
[0029] The specific operation details are as follows.
[0030] S1. Based on the source point cloud set and the target point cloud set, several point cloud pairs are obtained to form a point cloud pair set; the point cloud pairs are used as vertices, and two vertices whose vertex distance is less than the vertex distance threshold are connected with edges to obtain a first-order graph; from the first-order graph, the vertices and edges directly connected to each vertex are obtained to obtain a vertex subgraph of each vertex.
[0031] Based on vertex distance, a first-order graph of point cloud pairs is constructed and vertex subgraphs are extracted to filter out noisy point pairs. The local geometric consistency constraints of the subgraphs are used to retain point cloud pairs with similar structures, providing a low-noise, high-correlation sample set for subsequent point cloud registration, reducing redundant calculations, and improving registration efficiency and accuracy.
[0032] Firstly, based on the source point cloud set and the target point cloud set, several point cloud pairs are obtained by manual labeling or feature-based methods to form a point cloud pair set.
[0033] Then, the point cloud pairs are taken as vertices, and two vertices whose vertex distance is less than the vertex distance threshold are connected by edges to obtain a first-order graph that constrains the rigid distance between vertices (point cloud pairs).
[0034] The vertex distance is calculated using the following formula:
[0035] ,
[0036] is a vertex (point cloud pair) With vertices (point cloud pairs) The distance between the vertices, To set the source point cloud in the source point cloud With the source point cloud The Euclidean distance of To concentrate the target point cloud in the target point cloud With the target point cloud The Euclidean distance of , .
[0037] Finally, from the first-order graph, we retrieve the vertices and edges in the neighborhood of each vertex. These vertices and edges typically have the same transformation parameters as the central vertex, preferably the vertices and edges directly connected to each vertex, to form a vertex subgraph for each vertex. This vertex subgraph reflects the local consistency of all compatible nodes and is used to prevent redundant samples (such as highly similar duplicate matching pairs) from entering the subsequent point cloud registration process, reducing the computational effort.
[0038] S2. Based on the number of vertex repetitions between different vertex subgraphs, vertex voting is performed to obtain the voting value of each vertex; the point cloud pairs corresponding to the vertices whose voting values are greater than the voting value threshold are selected as the selected point cloud pairs, forming a selected point cloud pair set.
[0039] Voting screening based on the number of vertex repetitions between vertex subgraphs can use global structural consistency to identify and eliminate local noisy point cloud pairs, retaining high-quality matching point cloud pairs recognized in multiple vertex subgraphs, making the selected point cloud pair set more representative and reliable, providing high-quality samples for subsequent point cloud registration, significantly reducing invalid calculations, accelerating convergence, and improving registration accuracy and robustness.
[0040] First, vertex voting is performed based on the number of vertex duplications between different vertex subgraphs to obtain the voting value of each vertex.
[0041] The operation of obtaining the voting value of each vertex is as follows: obtaining the total number of times each vertex appears repeatedly between two different vertex subgraphs as the voting value of each vertex.
[0042] In order to further reduce the amount of calculation and improve the calculation efficiency, the operation of obtaining the voting value of each vertex can also be: the vertex subgraph corresponding to the vertex in the vertex subgraph of the current vertex is used as the vertex subgraph to be compared with the current vertex, and the vertex subgraph of the current vertex is used as the target vertex subgraph; the total number of times each vertex appears repeatedly between all target vertex subgraphs and the corresponding vertex subgraph to be compared is obtained as the voting value of each vertex.
[0043] Next, the vertex corresponding point cloud pairs whose voting values are greater than the voting value threshold are taken as selected point cloud pairs, and all selected point cloud pairs form a selected point cloud pair set.
[0044] S3. Based on the selected point cloud pair set, the optimal point cloud spatial variation matrix is obtained, and based on the optimal point cloud spatial variation matrix, the point cloud registration of the source point cloud set and the target point cloud set is performed.
[0045] By selecting point cloud pairs from a selected point cloud pair set to calculate the spatial variation matrix, the target point cloud is transformed and the feature point cloud pairs are screened and counted. After multiple iterations, the matrix with the smallest number of feature point cloud pairs is selected as the optimal point cloud spatial variation matrix. This can effectively eliminate mismatched point pairs in the point cloud pair set and reduce outlier interference, thereby improving the accuracy of point cloud registration. At the same time, through threshold filtering and iterative optimization, it avoids falling into local optimality and only needs to process selected point cloud pairs instead of the entire data, reducing computational complexity and improving registration efficiency. Moreover, based on the characteristics of sampling and statistics, it can adapt to the challenges of noise and redundant points in large-scale point cloud data, avoid the resource consumption bottleneck of full data calculation, and is suitable for efficient and accurate registration of large-scale point cloud data.
[0046] The steps for obtaining the optimal point cloud spatial variation matrix based on the selected point cloud pair set are as follows.
[0047] Step 1: Randomly select several selected point cloud pairs from the selected point cloud pair set and calculate the point cloud spatial variation matrix; based on the point cloud spatial variation matrix, perform spatial transformation on the target point cloud set to obtain a spatially transformed point cloud set.
[0048] The steps to obtain the point cloud space transformation matrix are as follows.
[0049] Step a: obtain point clouds belonging to the target point cloud set and the source point cloud set respectively from a number of selected point cloud pairs to obtain a number of target selected point clouds and a number of source selected point clouds; and take the average value of all target selected point clouds and the average value of all source selected point clouds as the center of the target selected point cloud and the center of the source selected point cloud, respectively.
[0050] Step b: Subtract the corresponding target selected point cloud center and source selected point cloud center from each target selected point cloud and each source selected point cloud to obtain several target decentralized point clouds and several source decentralized point clouds; based on the several target decentralized point clouds and the several source decentralized point clouds, construct a point cloud covariance matrix.
[0051] The point cloud covariance matrix is calculated using the following formula:
[0052] ,
[0053] is the point cloud covariance matrix, 、 Respectively i The horizontal coordinate of the decentralized point cloud of the target, i The horizontal coordinate of the decentralized point cloud of each source, 、 Respectively i The vertical coordinate of the target decentralized point cloud, i The vertical coordinate of the decentralized point cloud of each source, 、 Respectively i The vertical coordinate of the decentralized point cloud of the target, i The vertical coordinate of the decentralized point cloud of each source.
[0054] Step c: perform singular value decomposition on the point cloud covariance matrix to obtain a rotation matrix; obtain a translation vector based on the rotation matrix; and obtain a point cloud spatial change matrix based on the rotation matrix and the translation vector.
[0055] Based on the rotation matrix, the translation vector is calculated using the following formula: , is the translation vector, is the rotation matrix, 、 They are the target selected point cloud center and the source selected point cloud center respectively.
[0056] The above point cloud space change matrix is .
[0057] Step 2. Obtain the point cloud distance between each point cloud pair of the spatial transformation point cloud set and the source point cloud set. Take the point cloud pairs whose point cloud distance (Euclidean distance between two point clouds in a point cloud pair) is less than the point cloud distance threshold as feature point cloud pairs, and obtain the number of feature point cloud pairs. If the number of feature point cloud pairs is less than the point cloud pair number threshold, record the point cloud spatial change matrix.
[0058] Step 3. Repeat the operations of selecting selected point cloud pairs, calculating the point cloud spatial change matrix, obtaining the number of feature point cloud pairs, and recording the point cloud spatial change matrix several times until the number of repetitions is equal to the repetition threshold, and take the point cloud spatial change matrix corresponding to the minimum number of feature point cloud pairs as the optimal point cloud spatial change matrix.
[0059] Finally, based on the optimal point cloud spatial variation matrix, the source point cloud set and the target point cloud set are registered. Specifically, the optimal point cloud spatial variation matrix is multiplied by the homogeneous coordinate matrix corresponding to the target point cloud set.
[0060] This embodiment further provides a three-dimensional point cloud registration system based on graph voting, which is used to implement the above-mentioned three-dimensional point cloud registration method based on graph voting, including:
[0061] The vertex subgraph generation module is used to obtain several point cloud pairs based on the source point cloud set and the target point cloud set to form a point cloud pair set; the point cloud pairs are used as vertices, and two vertices whose vertex distance is less than the vertex distance threshold are connected by edges to obtain a first-order graph; from the first-order graph, the vertices and edges in the neighborhood of each vertex are obtained to obtain a vertex subgraph for each vertex;
[0062] The selected point cloud pair generation module is used to perform vertex voting based on the number of vertex repetitions between different vertex subgraphs to obtain the voting value of each vertex; the point cloud pairs corresponding to the vertices with voting values greater than the voting value threshold are selected as the selected point cloud pairs, forming a selected point cloud pair set;
[0063] The point cloud registration module is used to randomly select several selected point cloud pairs from the selected point cloud pair set, calculate the point cloud spatial change matrix, perform spatial transformation on the target point cloud set, and obtain the spatially transformed point cloud set; obtain the point cloud distance between the spatially transformed point cloud set and each point cloud pair of the source point cloud set, and take the point cloud pairs whose point cloud distance is less than the point cloud distance threshold as the feature point cloud pairs, and obtain the number of feature point cloud pairs; if the number of feature point cloud pairs is less than the point cloud pair number threshold, record the point cloud spatial change matrix; repeat the operations of selecting selected point cloud pairs, calculating the point cloud spatial change matrix, obtaining the number of feature point cloud pairs and recording the point cloud spatial change matrix several times until the number of repetitions is equal to the repetition number threshold, and take the point cloud spatial change matrix corresponding to the minimum number of feature point cloud pairs as the optimal point cloud spatial change matrix; based on the optimal point cloud spatial change matrix, perform point cloud registration of the source point cloud set and the target point cloud set.
[0064] This embodiment also provides a three-dimensional point cloud registration device based on graph voting, including a processor and a memory, wherein the processor implements the above-mentioned three-dimensional point cloud registration method based on graph voting when executing a computer program stored in the memory.
[0065] This embodiment also provides a computer-readable storage medium, characterized in that it is used to store a computer program, wherein when the computer program is executed by a processor, it implements the above-mentioned three-dimensional point cloud registration method based on graph voting.
[0066] This embodiment provides a three-dimensional point cloud registration method based on graph voting. First, point cloud pairs are taken as vertices, and a first-order graph of point cloud pairs is constructed based on vertex distances. Vertices and edges within the neighborhood of each vertex are obtained, and noise point pairs are filtered to obtain a vertex subgraph for each vertex. Then, voting screening is performed based on the number of vertex repetitions between vertex subgraphs. Point cloud pairs corresponding to vertices with voting values greater than a voting value threshold are selected as selected point cloud pairs, and high-quality matching point cloud pairs recognized in multiple vertex subgraphs are retained, making the selected point cloud pair set more representative and reliable. Finally, a spatial variation matrix is calculated by selecting point cloud pairs from the selected point cloud pair set, and feature point cloud pairs are screened and counted after transforming the target point cloud. After multiple iterations, the matrix with the smallest number of feature point cloud pairs is selected as the optimal point cloud spatial variation matrix, and point cloud registration of the source point cloud set and the target point cloud set is performed. This improves the accuracy and precision of point cloud registration, reduces computational complexity, and improves registration efficiency. The method is suitable for efficient and accurate registration of large-scale point cloud data.
Claims
1. A three-dimensional point cloud registration method based on graph voting, characterized in that: The following operations are included: S1. Based on the source point cloud set and the target point cloud set, a number of point cloud pairs are obtained to form a point cloud pair set; Take the point cloud pairs as vertices, and connect two vertices whose vertex distance is less than the vertex distance threshold with edges to obtain a first-order graph; From the first-order graph, obtain the vertices and edges in the neighborhood of each vertex to obtain the vertex subgraph of each vertex; S2. Based on the number of vertex repetitions between different vertex subgraphs, vertex voting is performed to obtain the voting value of each vertex; the point cloud pairs corresponding to the vertices whose voting values are greater than the voting value threshold are selected as the selected point cloud pairs, forming a selected point cloud pair set; S3. Randomly select a number of selected point cloud pairs from the selected point cloud pair set, calculate the point cloud spatial change matrix, perform spatial transformation on the target point cloud set, and obtain a spatial transformation point cloud set; Obtain the point cloud distance between each point cloud pair of the spatial transformation point cloud set and the source point cloud set, take the point cloud pairs whose point cloud distance is less than the point cloud distance threshold as feature point cloud pairs, and obtain the number of feature point cloud pairs; if the number of feature point cloud pairs is less than the point cloud pair number threshold, record the point cloud spatial change matrix; Repeat the operations of selecting selected point cloud pairs, calculating the point cloud spatial change matrix, obtaining the number of feature point cloud pairs, and recording the point cloud spatial change matrix several times until the number of repetitions is equal to the repetition threshold, and take the point cloud spatial change matrix corresponding to the minimum number of feature point cloud pairs as the optimal point cloud spatial change matrix; Based on the optimal point cloud spatial variation matrix, the source point cloud set and the target point cloud set are registered.
2. The three-dimensional point cloud registration method based on graph voting according to claim 1, characterized in that: The vertex distance in S1 is calculated using the following formula: , Vertex With vertex The distance between the vertices, To set the source point cloud in the source point cloud With the source point cloud The Euclidean distance of To concentrate the target point cloud in the target point cloud With the target point cloud The Euclidean distance of , .
3. The three-dimensional point cloud registration method based on graph voting according to claim 1, characterized in that: The operation of obtaining the voting value of each vertex in S2 is: obtaining the total number of times each vertex appears repeatedly between two different vertex subgraphs as the voting value of each vertex.
4. The three-dimensional point cloud registration method based on graph voting according to claim 1, characterized in that: The operation of obtaining the voting value of each vertex in S2 is as follows: the vertex subgraph corresponding to the vertex in the vertex subgraph of the current vertex is used as the vertex subgraph to be compared with the current vertex, and the vertex subgraph of the current vertex is used as the target vertex subgraph; the total number of times each vertex appears repeatedly between all target vertex subgraphs and the corresponding vertex subgraph to be compared is obtained as the voting value of each vertex.
5. The three-dimensional point cloud registration method based on graph voting according to claim 1, characterized in that: The method for obtaining the point cloud spatial change matrix in S3 is: Obtaining point clouds belonging to the target point cloud set and the source point cloud set respectively from a plurality of selected point cloud pairs, thereby obtaining a plurality of target selected point clouds and a plurality of source selected point clouds; taking the average value of all target selected point clouds and the average value of all source selected point clouds as the center of the target selected point cloud and the center of the source selected point cloud, respectively; From each target selected point cloud and each source selected point cloud, the center of the corresponding target selected point cloud and the center of the source selected point cloud are subtracted to obtain a number of target decentralized point clouds and a number of source decentralized point clouds; based on the number of target decentralized point clouds and the number of source decentralized point clouds, a point cloud covariance matrix is constructed; Perform singular value decomposition on the point cloud covariance matrix to obtain the rotation matrix; Based on the rotation matrix, get the translation vector; Based on the rotation matrix and translation vector, the point cloud space change matrix is obtained.
6. The three-dimensional point cloud registration method based on graph voting according to claim 5, characterized in that: The point cloud spatial change matrix is , is the translation vector, is the rotation matrix.
7. The three-dimensional point cloud registration method based on graph voting according to claim 1, characterized in that: In S1, the vertices and edges in the neighborhood of each vertex are the vertices and edges directly connected to each vertex.
8. A three-dimensional point cloud registration system based on graph voting, used to implement the three-dimensional point cloud registration method based on graph voting according to claim 1, characterized in that: include: A vertex subgraph generation module is used to obtain a number of point cloud pairs based on a source point cloud set and a target point cloud set to form a point cloud pair set; Take the point cloud pairs as vertices, connect two vertices whose vertex distance is less than the vertex distance threshold with edges to obtain a first-order graph; from the first-order graph, obtain the vertices and edges in the neighborhood of each vertex to obtain the vertex subgraph of each vertex; The selected point cloud pair generation module is used to perform vertex voting based on the number of vertex repetitions between different vertex subgraphs to obtain the voting value of each vertex; the point cloud pairs corresponding to the vertices with voting values greater than the voting value threshold are selected as the selected point cloud pairs, forming a selected point cloud pair set; The point cloud registration module is used to randomly select several selected point cloud pairs from the selected point cloud pair set, calculate the point cloud spatial change matrix, perform spatial transformation on the target point cloud set, and obtain the spatial transformation point cloud set; Obtain the point cloud distance between each point cloud pair of the spatial transformation point cloud set and the source point cloud set, take the point cloud pairs whose point cloud distance is less than the point cloud distance threshold as the feature point cloud pairs, and obtain the number of feature point cloud pairs; if the number of feature point cloud pairs is less than the point cloud pair number threshold, record the point cloud spatial change matrix; repeat the operations of selecting selected point cloud pairs, calculating the point cloud spatial change matrix, obtaining the number of feature point cloud pairs and recording the point cloud spatial change matrix several times until the number of repetitions is equal to the repetition number threshold, and take the point cloud spatial change matrix corresponding to the minimum number of feature point cloud pairs as the optimal point cloud spatial change matrix; based on the optimal point cloud spatial change matrix, perform point cloud registration of the source point cloud set and the target point cloud set.
9. A three-dimensional point cloud registration device based on graph voting, characterized in that: The method comprises a processor and a memory, wherein when the processor executes the computer program stored in the memory, the three-dimensional point cloud registration method based on graph voting as described in any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium, characterized in that Used to store a computer program, wherein when the computer program is executed by a processor, the three-dimensional point cloud registration method based on graph voting according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Robust three-dimensional point cloud feature matching method based on progressive consistency voting
CN115527048A
Interior point screening and three-dimensional point cloud registration method based on iterative reweighted voting mechanism
CN118115550A