Point cloud registration method based on multi-scale neighborhood features
By using a multi-scale neighborhood feature difference method, the point cloud registration process is optimized, solving the high computational complexity and low robustness problems of dense point cloud data, and achieving efficient and accurate point cloud registration, which is suitable for scenarios such as autonomous driving and robot navigation.
Patent Information
- Application Number
- CN202510579939.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-07
- Publication Date
- 2025-09-09
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing point cloud registration methods have high computational complexity, insufficient robustness and low efficiency when processing dense point cloud data, making it difficult to achieve high-precision initial pose registration.
A multi-scale neighborhood feature difference method is adopted to achieve efficient matching of point clouds through voxel filtering, multi-neighborhood feature difference screening and coarse-fine registration process optimization, including voxel grid partitioning, covariance matrix analysis, eigenvector partitioning and feature point matching, combined with FPFH, 4PCS and ICP algorithms.
It significantly improves the efficiency and accuracy of point cloud registration, reduces calculation time and enhances adaptability to noise and density changes, achieving millimeter-level registration accuracy and more than 50% efficiency improvement.
Smart Images

Figure CN120612349A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of computer vision and three-dimensional reconstruction, and particularly relates to a point cloud registration method based on multi-scale neighborhood features. Background Art
[0002] Point cloud registration is a key technology in computer vision and 3D reconstruction, widely used in scenarios such as robotic navigation, autonomous driving, and 3D modeling. The goal of point cloud registration is to calculate the pose transformation between a source point cloud and a target point cloud to align the two point clouds.
[0003] Traditional methods, such as the Iterative Closest Point (ICP) algorithm, can achieve high-precision registration when the initial pose differences between point clouds are small. However, as the density and scale of point cloud data increase, existing methods face the following problems: 1) High computational complexity: The large scale of dense point cloud data makes feature point extraction and matching time-consuming. 2) Insufficient robustness: Existing feature point extraction methods are sensitive to noise and density variations, prone to mismatching. 3) Inefficiency: Traditional coarse-fine registration frameworks are computationally intensive in the coarse registration stage, making it difficult to provide an accurate initial pose.
[0004] To solve the above problems, a point cloud registration method based on multi-neighborhood feature difference (MNFD) was proposed, and the entire process from feature point extraction to registration algorithm was optimized. Summary of the Invention
[0005] In response to the above problems existing in the prior art, the present invention proposes a point cloud registration method based on multi-scale neighborhood features, which has a reasonable design, solves the shortcomings of the prior art, and has good results.
[0006] A point cloud registration method based on multi-neighborhood feature differences includes the following steps:
[0007] Step 1: Perform voxel filtering on the input original point cloud data respectively;
[0008] Step 2: For each point in the filtered target point cloud data, calculate the multi-neighborhood feature difference;
[0009] Step 3: Filter the filtered target point cloud according to the multi-neighborhood feature differences to obtain the feature points of the point cloud data;
[0010] Step 4: Using the feature points of the point cloud data obtained in step 3, use the FPFH algorithm to match the corresponding feature points in the filtered source point cloud data. Using the two sets of feature points, through the coarse matching-fine matching method, the matching between the source point cloud and the target point cloud is achieved, and the matching results are obtained.
[0011] Furthermore, the step 1 includes the following sub-steps:
[0012] Step 1.1: The original point cloud data includes the target point cloud data and the source point cloud data. The maximum and minimum values of the target point cloud data and the source point cloud data in the X, Y, and Z directions are obtained to determine the minimum bounding box of the input point cloud data. The bounding box is divided into n equal parts in each direction. x 、n y 、n z Partition the minimum bounding box into n x ×n y ×n z Individual qualities;
[0013] Step 1.2: Calculate the coordinates of the center of gravity of each voxel grid. The expression is:
[0014]
[0015] Among them, c is the coordinate of the center of gravity, p j is the coordinate of the jth internal point in the voxel grid, and M is the number of internal points in the voxel grid;
[0016] Step 1.3: Traverse the inner points in each voxel grid, calculate the Euclidean distance between the inner point and the centroid, and obtain the point closest to the centroid, which is called the centroid neighbor point. The centroid neighbor point is used as the representative of the entire voxel grid.
[0017] Step 1.4: Traverse all voxel grids, obtain a representative point for each voxel grid, use all representative points to replace the original data, and obtain the filtered target point cloud data and source point cloud data.
[0018] Furthermore, step 2 includes the following sub-steps:
[0019] Step 2.1: According to the target point cloud data filtered in step 1, for a certain sampling point p i , the nearest neighbor method is used to select the k points closest to it as the neighborhood point set Construct p i Details neighborhood;
[0020] Step 2.2: Use the principal component analysis algorithm to analyze the detail neighborhood and calculate the neighborhood point set The center of gravity coordinates of And use the neighborhood point set and center of gravity to construct the covariance matrix C i , the expression is:
[0021]
[0022] Among them, p ij Neighborhood point set The coordinates of the jth point in ω imThe distance weight parameter is used to give greater calculation weight to the neighboring points close to the sampling point and reduce the influence of the neighboring points far away from the sampling point.
[0023] Step 2.3: For the covariance matrix C i Perform eigendecomposition and solve eigenvalues and eigenvectors;
[0024] Step 2.4: Take the eigenvector corresponding to the maximum eigenvalue as the main direction of the neighborhood distribution, and the eigenvector corresponding to the minimum eigenvalue as the main direction of the neighborhood distribution. as a non-main direction and As a detail neighborhood, the sampling point p i The point normal vector of ;
[0025] Step 2.5: Set the neighborhood search radius r to determine the large-scale local neighborhood. Based on the main direction vector and non-main direction vector in step 2.4, divide the local neighborhood into the following: the area within the range of ±45° from the main direction is defined as the main area, the area within the range of ±45° from the non-main direction is defined as the non-main area, and the other areas are defined as secondary main areas. Each area is divided equally, and finally divided into 6 sub-areas.
[0026] Step 2.6: Calculate the centroid of each region to form a centroid set Select neighborhood point set Inner distance point p i The nearest 6 points, plus the centroid point set G i , reconstruct the local neighborhood point set;
[0027] Step 2.7: Construct the covariance matrix of the reconstructed local neighborhood point set, perform eigendecomposition, solve the eigenvector, and take the eigenvector corresponding to the minimum eigenvalue as As the local neighborhood sampling point p i Normal vector of the point, calculate the eigenvector and The angle α i , as the multi-neighborhood feature differences.
[0028] Furthermore, step 3 includes the following sub-steps:
[0029] Step 3.1: Calculate the mean α of the multi-neighborhood feature differences of all points in the filtered target point cloud data avg and standard deviation α std , calculate the threshold ε=α based on the mean and standard deviation avg +k * ×α std , where k * is the standard deviation coefficient;
[0030] Step 3.2: When αi When it is greater than the threshold ε, it is considered that p i is a feature point, otherwise, the point is not used as a feature point.
[0031] Furthermore, step 4 includes the following sub-steps:
[0032] Step 4.1: For the extracted target point cloud feature points, generate feature point descriptors using the FPFH algorithm. For all points in the source point cloud, generate feature descriptors using the FPFH algorithm as well, and match the corresponding feature points in the source point cloud to obtain the source point cloud feature points.
[0033] Step 4.2: Use 4PCS and ICP algorithms to align the feature points of the source point cloud with the target point cloud to obtain the transformation matrix T0 of the rough registration;
[0034] Step 4.3: Use the rough matching result T0 as the initial transformation matrix and use the ICP algorithm to further optimize the matching results to obtain the final transformation matrix T f , and realize point cloud alignment according to the transformation matrix.
[0035] Beneficial technical effects brought about by the present invention:
[0036] 1) Improve matching speed: By improving the voxel filtering method, the amount of point cloud data is significantly reduced while retaining detailed features. The 4PCS and ICP algorithms are combined to optimize the coarse and fine registration processes, which increases the registration efficiency by an average of more than 50%. 2) Enhance registration accuracy: Multi-neighborhood feature differences are used to extract significant and stable feature points, reducing the interference of noise and redundant points, providing high-quality feature support for subsequent registration, and achieving final registration accuracy at the millimeter level. 3) Improve algorithm robustness: Multi-neighborhood feature differences are combined with statistical filtering ideas to dynamically adjust the feature point extraction threshold, enhancing the algorithm's adaptability to noise, data fluctuations, and changes in point cloud density. 4) Expand application scenarios: This method is applicable to a variety of scenarios, including autonomous driving, robot navigation, and three-dimensional modeling, and exhibits excellent performance in dense point cloud registration tasks. In summary, the present invention combines efficiency and accuracy through improved voxel filtering, multi-scale feature extraction, and an optimized coarse-fine registration framework, solving key problems in the existing technology and having significant technical advantages and application value. BRIEF DESCRIPTION OF THE DRAWINGS
[0037] Figure 1 This is a flow chart of the point cloud registration method based on multi-neighborhood feature differences of the present invention;
[0038] Figure 2 This is a schematic diagram of neighborhood division in the present invention;
[0039] (a) is a schematic diagram of the division of the main area, and (b) is a schematic diagram of the division of the non-main area;
[0040] Figure 3 This is a flow chart of obtaining feature points of point cloud data by using multi-neighborhood feature differences in the present invention;
[0041] Figure 4 The original point cloud and the point cloud result image after registration in the present invention; DETAILED DESCRIPTION
[0042] The specific implementation of the present invention will be further described below with reference to specific embodiments:
[0043] A point cloud registration method based on multi-scale neighborhood features, such as Figure 1 As shown, the following steps are included:
[0044] Step 1: Perform voxel filtering on the input original point cloud data, which can effectively reduce the redundancy of the point cloud data while retaining the detailed features of the original point cloud;
[0045] Step 1 includes the following sub-steps:
[0046] Step 1.1: The original point cloud data includes the target point cloud data and the source point cloud data. The maximum and minimum values of the target point cloud data and the source point cloud data in the X, Y, and Z directions are obtained to determine the minimum bounding box of the input point cloud data. The bounding box is divided into n equal parts in each direction. x 、n y 、n z Partition the minimum bounding box into n x ×n y ×n z Individual qualities;
[0047] In this embodiment, the point cloud model of the public dataset Dragon is used as the test data. The point cloud data contains 29,103 points, the data density is uneven and noisy, and the side length of the divided voxel grid is 3 mm.
[0048] Step 1.2: Calculate the centroid of each voxel using the expression:
[0049]
[0050] Among them, c is the center of gravity, p j is the coordinate of the jth internal point in the voxel grid, and M is the number of internal points in the voxel grid;
[0051] Step 1.3: Traverse the inner points in each voxel grid, calculate the Euclidean distance between the inner point and the centroid, and obtain the point closest to the centroid, which is called the centroid neighbor point. The centroid neighbor point is used as the representative of the entire voxel grid.
[0052] Step 1.4: Traverse all voxel grids, obtain a representative point for each voxel grid, use all representative points to replace the original data, and obtain the filtered target point cloud data and source point cloud data.
[0053] In this embodiment, the filtered point cloud data is reduced to approximately 8,000 points while retaining key detail features.
[0054] Step 2: For each sampling point in the filtered target point cloud data, calculate the multi-neighborhood feature difference for the subsequent matching process. The multi-neighborhood feature difference can ensure the stability and repeatability of feature point extraction;
[0055] Step 2 includes the following sub-steps:
[0056] Step 2.1: According to the target point cloud data filtered in step 1, for a certain point p i , the nearest neighbor method is used to select the k points closest to it as the neighborhood point set Construct p i Details neighborhood;
[0057] Step 2.2: Use the principal component analysis (PCA) algorithm to analyze the detail neighborhood (neighborhood point set ) to analyze and calculate the neighborhood point set The center of gravity coordinates of And use the neighborhood point set and center of gravity to construct the covariance matrix C i ;
[0058]
[0059] Among them, p ij Neighborhood point set The coordinates of the jth point in ω im The distance weight parameter is used to give greater calculation weight to the neighboring points close to the sampling point and reduce the influence of the neighboring points far away from the sampling point.
[0060] Step 2.3: For the covariance matrix C i Perform eigendecomposition and solve eigenvalues and eigenvectors;
[0061] Step 2.4: Take the eigenvector corresponding to the maximum eigenvalue as the main direction of the neighborhood distribution, and the eigenvector corresponding to the minimum eigenvalue as the main direction of the neighborhood distribution. as a non-main direction and As a detail neighborhood, the sampling point p i The point normal vector of ;
[0062] Step 2.5: Set the neighborhood search radius r to determine the large-scale local neighborhood. Divide the local neighborhood based on the main direction vector and non-main direction vector in step 2.4. The area with an angle of ±45° to the main direction is defined as the main area, such as Figure 2 As shown in (a), the area with an angle of ±45° to the non-main direction is defined as the non-main area, such as Figure 2 As shown in (b), the remaining areas are defined as sub-main areas, and each area is divided equally, and finally divided into 6 sub-areas;
[0063] Step 2.6: Calculate the centroid of each region to form a centroid set Select neighborhood point set Inner distance point p i The nearest 6 points, plus the centroid point set G i , reconstruct the local neighborhood point set. The final reconstructed local neighborhood point set contains 12 points, and the neighborhood point set in step 2.1 is The number of points in is also set to 12 to ensure computational efficiency;
[0064] Step 2.7: Construct the covariance matrix of the reconstructed local neighborhood point set and perform eigendecomposition to solve the eigenvector And the eigenvector corresponding to the minimum eigenvalue As the local neighborhood sampling point p i Normal vector of the point, calculate the eigenvector and The angle α i , as the multi-neighborhood feature differences.
[0065] Step 3: Filter the filtered target point cloud according to the multi-neighborhood feature differences to obtain the feature points of the point cloud data, such as Figure 3 The following sub-steps are included:
[0066] Step 3.1: Calculate the mean α of the multi-neighborhood feature differences of all points in the filtered target point cloud data avg and standard deviation α std , calculate the threshold ε=α based on the mean and standard deviation avg +k * ×α std , where k * is the standard deviation coefficient; in this embodiment, k * Set to 1.5.
[0067] Step 3.2: When α i When it is greater than the threshold ε, it is considered that p i is a feature point, otherwise, the point is not used as a feature point;
[0068] In this embodiment, a total of 520 feature points are extracted, and the feature points can be distributed in the main geometric feature areas of the point cloud.
[0069] Step 4: Use step 3 to obtain point cloud data feature points in the target point cloud, and use the FPFH algorithm to match the corresponding feature points in the source point cloud. Using the two sets of feature points, the source point cloud and the target point cloud are matched through the coarse matching-fine matching method, and the matching result is obtained. The following sub-steps are included:
[0070] Step 4.1: Use the FPFH (Fast Point Feature Histogram) algorithm to match the corresponding feature points in the source point cloud based on the feature points of the target point cloud. The specific process is as follows:
[0071] (1) For each feature point in the target point cloud and each point in the filtered source point cloud, the FPFH algorithm is used to generate a feature descriptor;
[0072] (2) For the feature point p in the target point cloud i , calculate the Euclidean distance between its feature descriptor and the feature descriptors of each point in the source point cloud, and find the point q that is closest to it i as its matching point;
[0073] (3) Traverse all target point cloud feature points and finally obtain two sets of feature points, target point cloud feature points and source point cloud feature points.
[0074] Step 4.2: Use the 4PCS (4-Points Congruent Sets) and ICP (Iterative Closest Point) algorithms to align the feature points of the source point cloud with the target point cloud and obtain the transformation matrix T0 for rough registration.
[0075] Step 4.3: Using the rough matching result T0 as the initial transformation matrix, the ICP algorithm is used to perform the final fine registration of the original source point cloud and the target point cloud (the original source point cloud and target point cloud without any processing) to obtain the final transformation matrix T f , and realize point cloud alignment according to the transformation matrix.
[0076] like Figure 4 As shown in FIG, before registration, the target point cloud data in the real situation is simulated by introducing a random perturbation of [-5 mm, 5 mm] to the x, y, and z coordinates of each point in the standard point cloud (source point cloud), and an initial pose is given.
[0077] The proposed method takes 8.5 seconds on the dragon point cloud, while the traditional method takes 34.6 seconds, which is a 75.4% reduction in time. i, search for its nearest point q in the template point cloud i The point pair (p i ,q i ), calculate the root mean square error E using all point pairs r To quantify the registration accuracy, the calculation formula is as follows:
[0078]
[0079] The final root mean square error of the method of the present invention is 0.0047m, achieving high-precision alignment while significantly improving efficiency.
[0080] Of course, the above description is not a limitation of the present invention, and the present invention is not limited to the above examples. Changes, modifications, additions or substitutions made by technicians in this technical field within the essential scope of the present invention should also fall within the scope of protection of the present invention.
Claims
1. A point cloud registration method based on multi-scale neighborhood features, characterized in that: The steps include: Step 1: Perform voxel filtering on the input original point cloud data respectively; Step 2: For each point in the filtered target point cloud data, calculate the multi-neighborhood feature difference; Step 3: Filter the filtered target point cloud according to the multi-neighborhood feature differences to obtain the feature points of the point cloud data; Step 4: Using the feature points of the point cloud data obtained in step 3, use the FPFH algorithm to match the corresponding feature points in the filtered source point cloud data. Using the two sets of feature points, through the coarse matching-fine matching method, the matching between the source point cloud and the target point cloud is achieved, and the matching results are obtained.
2. The point cloud registration method based on multi-scale neighborhood features according to claim 1, characterized in that: The step 1 includes the following sub-steps: Step 1.1: The original point cloud data includes the target point cloud data and the source point cloud data. The maximum and minimum values of the target point cloud data and the source point cloud data in the X, Y, and Z directions are obtained to determine the minimum bounding box of the input point cloud data. The bounding box is divided into n equal parts in each direction. x 、n y 、n z Partition the minimum bounding box into n x ×n y ×n z Individual qualities; Step 1.2: Calculate the coordinates of the center of gravity of each voxel grid. The expression is: Among them, c is the coordinate of the center of gravity, p j is the coordinate of the jth internal point in the voxel grid, and M is the number of internal points in the voxel grid; Step 1.3: Traverse the inner points in each voxel grid, calculate the Euclidean distance between the inner point and the centroid, and obtain the point closest to the centroid, which is called the centroid neighbor point. The centroid neighbor point is used as the representative of the entire voxel grid. Step 1.4: Traverse all voxel grids, obtain a representative point for each voxel grid, use all representative points to replace the original data, and obtain the filtered target point cloud data and source point cloud data.
3. The point cloud registration method based on multi-scale neighborhood features according to claim 2, characterized in that: The step 2 includes the following sub-steps: Step 2.1: According to the target point cloud data filtered in step 1, for a certain sampling point p i , the nearest neighbor method is used to select the k points closest to it as the neighborhood point set This constructs p i Details neighborhood; Step 2.2: Use the principal component analysis algorithm to analyze the detail neighborhood and calculate the neighborhood point set The center of gravity coordinates of And use the neighborhood point set and center of gravity to construct the covariance matrix C i , the expression is: Among them, p ij Neighborhood point set The coordinates of the jth point in ω im The distance weight parameter is used to give greater calculation weight to the neighboring points close to the sampling point and reduce the influence of the neighboring points far away from the sampling point. Step 2.3: For the covariance matrix C i Perform eigendecomposition and solve eigenvalues and eigenvectors; Step 2.4: Take the eigenvector corresponding to the maximum eigenvalue as the main direction of the neighborhood distribution, and the eigenvector corresponding to the minimum eigenvalue as the main direction of the neighborhood distribution. as a non-main direction and As a detail neighborhood, the sampling point p i The point normal vector of ; Step 2.5: Set the neighborhood search radius r to determine the large-scale local neighborhood. Based on the main direction vector and non-main direction vector in step 2.4, divide the local neighborhood into the following: the area within the range of ±45° from the main direction is defined as the main area, the area within the range of ±45° from the non-main direction is defined as the non-main area, and the other areas are defined as secondary main areas. Each area is divided equally, and finally divided into 6 sub-areas. Step 2.6: Calculate the centroid of each region to form a centroid set Select neighborhood point set Inner distance point p i The nearest 6 points, plus the centroid point set G i , reconstruct the local neighborhood point set; Step 2.7: Construct the covariance matrix of the reconstructed local neighborhood point set, perform eigendecomposition, solve the eigenvector, and take the eigenvector corresponding to the minimum eigenvalue as As the local neighborhood sampling point p i Normal vector of the point, calculate the eigenvector and The angle α i , as the multi-neighborhood feature differences.
4. The point cloud registration method based on multi-scale neighborhood features according to claim 3, characterized in that: Step 3 includes the following sub-steps: Step 3.1: Calculate the mean α of the multi-neighborhood feature differences of all points in the filtered target point cloud data avg and standard deviation α std , calculate the threshold ε=α based on the mean and standard deviation avg +k * ×α std , where k * is the standard deviation coefficient; Step 3.2: When α i When it is greater than the threshold ε, it is considered that p i is a feature point, otherwise, the point is not used as a feature point.
5. The point cloud registration method based on multi-scale neighborhood features according to claim 4, characterized in that: The step 4 includes the following sub-steps: Step 4.1: For the extracted target point cloud feature points, generate feature point descriptors using the FPFH algorithm. For all points in the source point cloud, generate feature descriptors using the FPFH algorithm as well, and match the corresponding feature points in the source point cloud to obtain the source point cloud feature points. Step 4.2: Use 4PCS and ICP algorithms to align the feature points of the source point cloud with the target point cloud to obtain the transformation matrix T0 of the rough registration; Step 4.3: Use the rough matching result T0 as the initial transformation matrix and use the ICP algorithm to further optimize the matching results to obtain the final transformation matrix T f , and realize point cloud alignment according to the transformation matrix.
Citation Information
Cited By
Heterogeneous point cloud registration method
CN121482120A