A vgicp point cloud registration method based on an fpfh feature descriptor
By using the VGICP point cloud registration method based on FPFH feature descriptors, combined with local feature extraction and voxelization, the problems of insufficient speed and accuracy in point cloud registration are solved, and fast and high-precision point cloud registration is achieved.
Patent Information
- Application Number
- CN202411876289.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-19
- Publication Date
- 2026-06-23
AI Technical Summary
Existing point cloud registration algorithms are insufficient in terms of speed and accuracy, especially in the coarse registration stage where they are ineffective, and the fine registration stage has high computational complexity, resulting in low overall registration efficiency.
The VGICP point cloud registration method based on FPFH feature descriptors is adopted. By extracting local features and voxelizing them, combined with maximum likelihood estimation, the method can achieve fast coarse and fine registration of point clouds, reduce computational complexity, and improve registration accuracy.
In the point cloud registration process, the registration speed and accuracy are significantly improved, especially for point clouds with small overlap. At the same time, the costly neighbor search is reduced, thus improving computational efficiency.
Smart Images

Figure CN122265351A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of 3D point cloud processing technology, and in particular to a VGICP point cloud registration method based on FPFH feature descriptors. Background Technology
[0002] In recent years, with the development of laser imaging technology, the acquisition of 3D data has become increasingly convenient. The application of machine vision is also continuously driving the development of the industrial machinery field.
[0003] 3D point cloud registration technology is the process of aligning sets of 3D data points captured from different perspectives, time points, or sensors into a unified coordinate system. This process involves identifying and applying transformations (such as rotation, translation, and scaling) to minimize the differences between different point clouds and achieve their precise alignment. It is the most important step in the digital reconstruction of the 3D information of an object.
[0004] Point cloud registration algorithms can be broadly classified into two categories: point cloud registration algorithms based on optimization strategies and point cloud registration algorithms based on learning.
[0005] Registration methods based on optimization strategies are typically divided into two parts: coarse registration and fine registration. Coarse registration is performed when the relative poses between point clouds are unknown, aiming to provide a good initial pose for the fine registration stage, avoid getting trapped in local optima, and improve registration accuracy. Fine registration, based on coarse registration, minimizes the spatial differences between point clouds. Common fine registration methods include ICP and its variants, NDT, etc.
[0006] In addition, there are many learning-based registration methods that improve performance through deep learning, exhibiting superior robustness and computational efficiency, but they require a large amount of data and resources and are time-consuming. These mainly include three approaches: end-to-end learning, feature-based learning, and cross-modal registration, with classic algorithms such as Point R-CNN, RPM-Net, and Deep Closest Point. Summary of the Invention
[0007] To address the aforementioned problems, the present invention aims to design a VGICP point cloud registration method based on FPFH feature descriptors, design a coarse point cloud registration algorithm, and an improved fine point cloud registration algorithm, so as to accelerate the point cloud registration speed and increase the point cloud registration accuracy.
[0008] The technical solution adopted by the present invention to achieve the above objectives is as follows:
[0009] A VGICP point cloud registration method based on FPFH feature descriptors includes the following steps:
[0010] 1) Acquire point cloud data and perform initialization processing;
[0011] 2) Calculate the normal vector of each point in the point cloud data to construct the local feature descriptor of the histogram;
[0012] 3) Perform key point detection on all point cloud data to obtain neighboring points;
[0013] 4) Extract the features represented by each point and its neighboring points from the point cloud data;
[0014] 5) Based on the extracted features, perform coarse registration on the source point cloud;
[0015] 6) Voxelize the target point cloud;
[0016] 7) Perform fine registration on the source point cloud.
[0017] Step 1) specifically refers to:
[0018] The source and target point cloud data are read from a public dataset and initialized. Invalid points in both point clouds are removed, and downsampling is performed to reduce the size of the point cloud data.
[0019] Step 2) specifically refers to:
[0020] The NormalEstimation function is used to analyze the spatial position and normal direction of each pair of points in the k-neighborhood of the point cloud, and then the normal vector is calculated and added to the point cloud histogram as a local feature descriptor of the histogram.
[0021] Step 3) specifically refers to:
[0022] In point cloud data, a sphere with a fixed radius is constructed with a random point as the center. Every point inside the sphere is a key point of the center point and serves as a neighboring point of that point.
[0023] Step 4) specifically involves:
[0024] Calculate the Euclidean distance, curvature, normal vector, angle between the normal vector and the distance direction vector, the angle between the projection of the distance direction vector onto the orthogonal plane of the normal vector and the normal vector, and the angle between the normal vectors of two points in the point cloud data. Construct a simplified point feature histogram. By calculating the distance weights and weighting the simplified point feature histogram, obtain the fast point feature histogram for each point, i.e.:
[0025]
[0026] Among them, FPFH(p q SPFH(p) represents the final feature histogram.q SPFH(p) represents the simplified feature histogram obtained at the center point. i ) represents a simplified feature histogram obtained from the neighboring points of the center point, where k represents the number of neighboring points, and ω i This represents the Euclidean distance between two neighboring points.
[0027] Step 5) specifically involves:
[0028] Based on the extracted features, several pairs of matching initial point cloud points are found using SAC-IA. Then, the rigid transformation matrix between the point pairs is calculated using a pre-packaged function, and the source point cloud is subjected to rigid transformation to complete the coarse registration stage of the point cloud. The point cloud after coarse registration and rigid transformation is used as the new source point cloud.
[0029] Step 6) specifically refers to:
[0030] The 3D target point cloud is projected along the main direction, and then a voxel grid of fixed size is generated to form a voxel grid set. The center of the source point cloud is projected onto the voxel grid of the target point cloud. Each point of the source point cloud is traversed and it is determined whether it falls within the voxel grid. If it is within the voxel grid, the transformation matrix of that point is calculated. Otherwise, the iteration continues until the transformation matrix with the smallest error is found, which is taken as the optimal transformation matrix. This achieves the goal of finding corresponding point pairs between the source point cloud and the target point cloud.
[0031] Step 7) specifically involves:
[0032] The transformation matrix calculated for the corresponding point pairs of the source point cloud and the target point cloud is used to calculate the optimal rigid transformation matrix T for fine registration through maximum likelihood estimation. The source point cloud is then rigidly transformed using the transformation matrix to complete the fine registration.
[0033] The optimal rigid transformation matrix T is specifically:
[0034] Assume the source point cloud A = {a0,...,a...} N} and the target point cloud B = {b0,...,b N All points in the source point cloud A and the target point cloud B follow a Gaussian distribution. The correspondence between the source point cloud A and the target point cloud B is expressed as b according to the GICP algorithm. i =Τa i Let T be the transformation matrix. The formula for calculating the error is extended as follows:
[0035]
[0036] in, The sum of nearest neighbor distances, It satisfies the following Gaussian distribution:
[0037]
[0038] in, For nearest neighbor distance and The mathematical expectation, It is the covariance matrix;
[0039] The VGICP algorithm is used to simultaneously calculate multiple points to smooth local features, thereby obtaining:
[0040]
[0041] in, It follows a Gaussian distribution;
[0042] The transformation matrix T with the highest confidence is obtained using the maximum likelihood method:
[0043]
[0044] Summarized as follows:
[0045]
[0046] Process variables and The corresponding transformation is:
[0047]
[0048] Where, N i It is the number of adjacent points.
[0049] The present invention has the following beneficial effects and advantages:
[0050] 1. Because local feature extraction was performed in the coarse registration stage, the registration effect was also good for point clouds with small overlapping parts.
[0051] 2. The fine registration stage ensures the accuracy of the GICP algorithm while avoiding expensive nearest neighbor search, thus increasing computational efficiency. Attached Figure Description
[0052] Figure 1 A flowchart of a VGICP point cloud registration algorithm based on FPFH feature descriptors is provided for an embodiment of the present invention.
[0053] Figure 2 The diagrams before and after registration are provided for embodiments of the present invention;
[0054] Figure 3 This is a schematic diagram illustrating the principle of feature extraction.
[0055] Figure 4 This is a schematic diagram from a special angle. Detailed Implementation
[0056] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments.
[0057] like Figure 1 As shown, a VGICP point cloud registration method based on FPFH feature descriptors is presented, the method comprising the following steps:
[0058] Step 1: Read point cloud data
[0059] Read source and target point cloud data. The point cloud data uses the Stanford University public dataset bunny, such as... Figure 2 As shown in the left half, the red point cloud is the point cloud to be registered (source point cloud), and the blue point cloud is the target point cloud. After successful reading, the point cloud is initialized and configured, invalid points in both point clouds are removed, and voxel downsampling is used to reduce the size of the point cloud data and increase computational efficiency.
[0060] Step 2: Calculate the normal vector
[0061] The normal vector is calculated by analyzing the spatial position and normal direction of each pair of points in the k-neighborhood of the point cloud, thereby constructing a local feature descriptor of the histogram;
[0062] The calculation of the normal vector is as follows: calculate the covariance matrix for the two points, then perform eigenvalue decomposition on the covariance matrix, and the eigenvector corresponding to the smallest eigenvalue is the normal vector. The above calculation process is encapsulated in the library by the NormalEstimation function, which can be called directly.
[0063] Step 3: Key Point Detection
[0064] On the point cloud data points, construct a sphere with a fixed radius centered at a random point. Every point within the sphere is a key point of the center point and is called a neighboring point.
[0065] Step 4: Feature Extraction
[0066] like Figure 3 As shown, feature extraction involves extracting the features represented by each point and its neighbors from point cloud data. First, keypoint detection is performed on all points in the point cloud data, and the Euclidean distance between the center point and its internal neighbors, as well as geometric features such as special angles, are calculated. Figure 4 As shown, the special angles include the angle between the normal vector and the distance direction vector, the angle between the projection of the distance direction vector onto the orthogonal plane of the normal vector and the normal vector, and the angle between the normal vectors of two points. These are stored in the histogram to construct a simplified point feature histogram. Then, by calculating the distance weights and weighting the simplified point feature histogram, a fast point feature histogram for each point is finally obtained, as shown in the following formula:
[0067]
[0068] Step 5: Calculate the rigid body transformation matrix for coarse registration.
[0069] Based on the features extracted in step 4, several pairs of matching initial point cloud points can be quickly found. The rigid body transformation matrix is calculated based on these point pairs, and the source point cloud is subjected to rigid body transformation to complete the coarse registration stage of the point cloud. The point cloud after coarse registration and rigid body transformation is used as the new source point cloud.
[0070] Step 6: Voxelization
[0071] The 3D target point cloud is projected along the main direction, and then a voxel grid of fixed size is generated to form a voxel grid set. The center of the source point cloud is projected onto the voxel grid of the target point cloud. Each point of the source point cloud is traversed and it is determined whether it falls within the voxel grid. If it is within the voxel grid, the transformation matrix of that point is calculated. Otherwise, the iteration continues until the transformation matrix with the smallest error is found, which is taken as the optimal transformation matrix. This achieves the goal of finding corresponding point pairs between the source point cloud and the target point cloud.
[0072] Step 7: Calculate the rigid body transformation matrix for fine registration.
[0073] Assume the source point cloud A = {a0,...,a...} N} and the target point cloud B = {b0,...,b N All points in the source point cloud A and the target point cloud B follow a Gaussian distribution. The correspondence between them, according to the GICP algorithm, can be written as b. i =Τa i To facilitate voxelization of the GICP algorithm, the error calculation formula is extended as follows:
[0074]
[0075] in It satisfies the following Gaussian distribution:
[0076]
[0077] The VGICP algorithm calculates multiple points simultaneously to smooth local features. Combining this with the above formula, we can obtain:
[0078]
[0079] The transformation matrix T with the highest confidence is obtained using the maximum likelihood method:
[0080]
[0081] Further analysis reveals:
[0082]
[0083] Among them and The corresponding transformation is:
[0084]
[0085] N i It represents the number of adjacent points, which in actual calculations is the number of points in the corresponding voxel. It only needs to be calculated once in each voxel. and Storing it in each voxel can significantly reduce computational complexity and improve registration efficiency.
[0086] After calculating the optimal transformation matrix, a rigid transformation can be performed on the source point cloud to complete the fine registration process. The point cloud obtained after registration using this patented method is shown below. Figure 2 As shown in the right part, the registration time is 125.473 ms, and the root mean square error of the registration calculation is 3.02276 × 10⁻⁶. -4 The registration score was 1.08649 × 10⁻⁶. -5 .
[0087] Algorithm parameter settings:
[0088]
[0089] The above is a detailed description of one embodiment of the present invention, but the present invention is not limited to the described embodiment. Without departing from the core spirit of the present invention, those skilled in the art can make various equivalent modifications or substitutions, and these equivalent modifications or substitutions are all considered to be included within the scope of the claims of this application.
Claims
1. A VGICP point cloud registration method based on FPFH feature descriptors, characterized in that, Includes the following steps: 1) Acquire point cloud data and perform initialization processing; 2) Calculate the normal vector of each point in the point cloud data to construct the local feature descriptor of the histogram; 3) Perform key point detection on all point cloud data to obtain neighboring points; 4) Extract the features represented by each point and its neighboring points from the point cloud data; 5) Based on the extracted features, perform coarse registration on the source point cloud; 6) Voxelize the target point cloud; 7) Perform fine registration on the source point cloud.
2. The VGICP point cloud registration method based on FPFH feature descriptors according to claim 1, characterized in that, Step 1) specifically refers to: The source and target point cloud data are read from a public dataset and initialized. Invalid points in both point clouds are removed, and downsampling is performed to reduce the size of the point cloud data.
3. The VGICP point cloud registration method based on FPFH feature descriptors according to claim 1, characterized in that, Step 2) specifically refers to: The NormalEstimation function is used to analyze the spatial position and normal direction of each pair of points in the k-neighborhood of the point cloud, and then the normal vector is calculated and added to the point cloud histogram as a local feature descriptor of the histogram.
4. The VGICP point cloud registration method based on FPFH feature descriptors according to claim 1, characterized in that, Step 3) specifically refers to: In point cloud data, a sphere with a fixed radius is constructed with a random point as the center. Every point inside the sphere is a key point of the center point and serves as a neighboring point of that point.
5. The VGICP point cloud registration method based on FPFH feature descriptors according to claim 1, characterized in that, Step 4) specifically involves: Calculate the Euclidean distance, curvature, normal vector, angle between the normal vector and the distance direction vector, the angle between the projection of the distance direction vector onto the orthogonal plane of the normal vector and the normal vector, and the angle between the normal vectors of two points in the point cloud data. Construct a simplified point feature histogram. By calculating the distance weights and weighting the simplified point feature histogram, obtain the fast point feature histogram for each point, i.e.: Among them, FPFH(p q SPFH(p) represents the final feature histogram. q SPFH(p) represents the simplified feature histogram obtained at the center point. i ) represents a simplified feature histogram obtained from the neighboring points of the center point, where k represents the number of neighboring points, and ω i This represents the Euclidean distance between two neighboring points.
6. The VGICP point cloud registration method based on FPFH feature descriptors according to claim 1, characterized in that, Step 5) specifically involves: Based on the extracted features, several pairs of matching initial point cloud points are found using SAC-IA. Then, the rigid transformation matrix between the point pairs is calculated using a pre-packaged function, and the source point cloud is subjected to rigid transformation to complete the coarse registration stage of the point cloud. The point cloud after coarse registration and rigid transformation is used as the new source point cloud.
7. The VGICP point cloud registration method based on FPFH feature descriptors according to claim 1, characterized in that, Step 6) specifically refers to: The 3D target point cloud is projected along the main direction, and then a voxel grid of fixed size is generated to form a voxel grid set. The center of the source point cloud is projected onto the voxel grid of the target point cloud. Each point of the source point cloud is traversed and it is determined whether it falls within the voxel grid. If it is within the voxel grid, the transformation matrix of that point is calculated. Otherwise, the iteration continues until the transformation matrix with the smallest error is found, which is taken as the optimal transformation matrix. This achieves the goal of finding corresponding point pairs between the source point cloud and the target point cloud.
8. The VGICP point cloud registration method based on FPFH feature descriptors according to claim 1, characterized in that, Step 7) specifically involves: The transformation matrix calculated for the corresponding point pairs of the source point cloud and the target point cloud is used to calculate the optimal rigid transformation matrix T for fine registration through maximum likelihood estimation. The source point cloud is then rigidly transformed using the transformation matrix to complete the fine registration.
9. The VGICP point cloud registration method based on FPFH feature descriptors according to claim 8, characterized in that, The optimal rigid transformation matrix T is specifically: Assume the source point cloud A = {a0,...,a...} N } and the target point cloud B = {b0,...,b N All points in the source point cloud A and the target point cloud B follow a Gaussian distribution. The correspondence between the source point cloud A and the target point cloud B is expressed as b according to the GICP algorithm. i =Τa i Let T be the transformation matrix. The formula for calculating the error is extended as follows: in, The sum of nearest neighbor distances, It satisfies the following Gaussian distribution: in, For nearest neighbor distance and The mathematical expectation, It is the covariance matrix; The VGICP algorithm is used to simultaneously calculate multiple points to smooth local features, thereby obtaining: in, It follows a Gaussian distribution; The transformation matrix T with the highest confidence is obtained using the maximum likelihood method: Summarized as follows: Process variables and The corresponding transformation is: Where, N i It is the number of adjacent points.
