Point cloud registration method based on improved ISS-TOLDI feature in combination with ICP
By combining the improved ISS-TOLDI features with the ICP algorithm, the problems of spatial structure information loss and slow calculation speed in point cloud registration are solved, achieving high-precision and efficient point cloud registration, which is suitable for complex scenarios.
Patent Information
- Application Number
- CN202511108416.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-08
- Publication Date
- 2025-11-21
AI Technical Summary
Traditional feature extraction methods not based on local coordinate systems lead to the loss of spatial structure information in point cloud registration, while the original TOLDI algorithm is slow and cannot meet real-time requirements.
An improved point cloud registration method combining ISS-TOLDI features and ICP is adopted. Feature points are extracted by ISS algorithm, feature description is performed by improved TOLDI algorithm, and coarse and fine registration are performed by combining SAC-IA and ICP algorithms, which reduces computational complexity and provides high-quality initial pose.
It achieves accurate feature point extraction and registration of point clouds, improves registration accuracy, enhances robustness in complex scenarios, and reduces mismatch rate.
Smart Images

Figure CN120997265A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of laser point cloud application, and relates to a point cloud registration method based on improved ISS-TOLDI features combined with ICP. BACKGROUND
[0002] Point cloud is a data set composed of a large number of discrete points in space, commonly used to describe the three-dimensional shape and structure of objects or environments, and each point contains position information and possible additional attributes such as color or intensity. Point cloud registration is the process of aligning point cloud data in different coordinate systems through rotation and translation to the same coordinate system to restore the complete scene or object structure. As a key technology in the field of computer vision, point cloud registration involves correctly corresponding two or more three-dimensional point cloud data sets in space, and plays a crucial role in three-dimensional modeling, robot navigation, industrial detection and many other applications.
[0003] The performance of point cloud registration depends on the quality of key feature extraction of point cloud. Traditional non-local coordinate system-based feature extraction methods, such as shape index and fast point feature histogram, mainly use statistical quantities of local geometric attributes as feature representation. This kind of method directly calculates the statistical quantities of local point cloud normal vectors, curvatures and other attributes, compresses three-dimensional space information into low-dimensional feature vectors, and this dimensionality reduction operation inevitably leads to the loss of spatial structure information, resulting in insufficient feature discrimination.
[0004] The original TOLDI algorithm also has shortcomings in practical application, its calculation speed is slow, which is particularly prominent when dealing with large-scale point cloud data, and it is difficult to meet the real-time requirements, which limits its application in scenes with high efficiency requirements. Based on the above situation, it is urgent to design a point cloud registration method based on improved ISS-TOLDI features combined with ICP to solve the above problems. SUMMARY
[0005] Therefore, the purpose of the present application is to provide a point cloud registration method based on improved ISS-TOLDI features combined with ICP to solve the problems of spatial structure information loss and slow calculation speed of the original TOLDI algorithm in the traditional non-local coordinate system-based feature extraction method.
[0006] To achieve the above purpose, the present application provides the following technical scheme:
[0007] A point cloud registration method based on improved ISS-TOLDI features combined with ICP, the method comprising the following steps:
[0008] Obtain source point cloud data and target point cloud data, and perform data preprocessing respectively;
[0009] The internal shape descriptor (ISS) algorithm is used to extract feature points from the point cloud data, and a feature point set is obtained.
[0010] The improved triple orthogonal local depth image (TOLDI) algorithm is used to describe the feature of the extracted feature point set, and a corresponding feature descriptor is obtained.
[0011] The sample consensus initial alignment (SAC-IA) algorithm is used to coarsely register the point cloud, and a coarse registration transformation matrix is established. The coarse registration point cloud data is obtained according to the coarse registration transformation matrix.
[0012] The iterative closest point (ICP) algorithm is used to finely register the coarse registration point cloud data, and a fine registration transformation matrix is obtained. The fine registration point cloud data is obtained according to the fine registration transformation matrix, and the point cloud registration is completed.
[0013] Further, the source point cloud data is obtained by scanning a certain view or region of the target object by a three-dimensional scanning device, collecting the original point cloud data under the view as the source point cloud in the registration process.
[0014] The target point cloud data is obtained by scanning another view or region of the same target object by the same or compatible scanning device, collecting the original point cloud data under the view as the target point cloud in the registration process.
[0015] The source point cloud and the target point cloud are preprocessed, including noise removal, point cloud downsampling and point cloud segmentation.
[0016] Further, the process of extracting feature points of point cloud data using the ISS algorithm includes:
[0017] For each sampling point p i A local coordinate system is established, and a field search radius r is set.
[0018] Query all points in the neighborhood of each sampling point p i in the point cloud data, and calculate the weight ω ij :
[0019]
[0020] Calculate the weighted covariance matrix of the neighborhood points for the sampling point p i :
[0021]
[0022] Eigenvalue decomposition is performed on the covariance matrix cov(p i ), and three eigenvalues λ1≥λ2≥λ3 are obtained.
[0023] Thresholds ε1 and ε2 are set, and if the sampling point satisfies Then the point is regarded as an ISS feature point.
[0024] Further, the feature description process of the feature point set is performed by the improved TOLDI algorithm, which comprises:
[0025] A local reference frame is constructed by using a projection matrix pre-computation method;
[0026] A binary search tree structure KD-Tree is adopted to pre-compute the neighborhood index of all feature points at one time, and the shared characteristics of the tree structure traversal are utilized to optimize the calculation;
[0027] A voxel processing method is dynamically selected according to the number of neighborhood points, and the voxel processing method comprises vectorization voxel processing and dictionary voxel processing.
[0028] Further, the establishment process of the local reference frame comprises:
[0029] A unit normal vector n = (n x ,n y ,n z ) of the feature point is calculated and normalized to a unit normal vector The z axis axis direction of the local reference frame is z
[0030] A projection matrix P is constructed, and the calculation formula is as follows:
[0031]
[0032] In the formula, I is a 3*3 unit matrix, and n' is a unit normal vector of the extracted feature point;
[0033] The neighborhood point p j is a vector v j = p j -p i relative to the feature point p i , and all v j are stacked into a matrix V in rows:
[0034]
[0035] Through matrix multiplication V proj = VP, the relative vectors of all neighborhood points are projected in batches to a local orthogonal plane defined by the normal vector n' of the feature point, the normal vector direction component is removed, and a projection vector matrix V proj containing only the local plane coordinate information is obtained.
[0036] The weighted sum projection vector is obtained, and the weight is set as the reciprocal of the distance The coordinate axis construction formula is as follows:
[0037]
[0038] y axis =z axis ×x axis
[0039] z axis =n'
[0040] Therefore, an orthogonal local reference system {x} is constructed. axis ,y axis ,z axis}
[0041] Furthermore, the process of pre-compiling the neighborhood index of all feature points at once using the KD-Tree structure includes:
[0042] Let the global point set of the point cloud be X = {x1, x2, ..., xn}. N}, where N is the total number of points in the point cloud, and the feature point set is P = {p1, p2, ..., p...} K}, where K is the number of feature points;
[0043] Construct a KD-Tree for the global point set X, and store the points in the nodes of the tree by recursively partitioning the point cloud space.
[0044] Using the spatial index of the KD-Tree, for each feature point p k Batch execute range queries to find the distance from p k Points with a neighborhood search radius r less than or equal to the neighborhood search radius are ultimately obtained as the set of neighborhood points for all feature points:
[0045] N all ={N(p1),N(p2),...,N(p K )}
[0046] For each feature point p k ∈K, its neighborhood point set N(p k ) is defined as a global subset N(p) that satisfies the Euclidean distance constraint. k )={x i ∈X∣‖x i -p k ||≤r}.
[0047] Furthermore, the process of selecting the voxel processing method and the corresponding voxel processing method is as follows:
[0048] Determine the number of neighboring points for feature point p. k The neighborhood point set N(p) k ), count its quantity m=|N(p k The algorithm determines the relationship between the number of neighborhood points *m* and the threshold value *τ*. If *m* ≥ *τ*, vectorized voxel processing is used; if *m* < *τ*, dictionary voxel processing is used.
[0049] The vectorization voxel processing procedure is as follows:
[0050] Calculate the voxel size v using the total volume V of the point cloud and the total number of points N. size :
[0051]
[0052] In the formula, α is the scaling factor;
[0053] For local coordinate matrix Perform integer index calculation:
[0054]
[0055] Iterate through all voxel indices v and select the non-empty voxel set V = {v1, v2, ..., v}. M}, iterate through all points {x} within each voxel. p ,y p ,z p} Calculate the local average depth μ of the voxel. v Local mean characteristics μ for all non-empty voxels v Calculate the global average depth μ g , which serves as the feature descriptor for the current point cloud;
[0056] The dictionary voxel processing procedure is as follows:
[0057] Create a hash dictionary G to store the voxel-point set mapping, with the voxel identifier v as the key. i The value is the point set {p} within the corresponding voxel. j};
[0058] For each local coordinate point p i Point p i Add the corresponding key v to dictionary G i List of values: G[v i ] = G[v i ]∪{p i};
[0059] Calculate the depth features of all non-empty voxel bonds v in the dictionary G across the three planes (XY, XZ, YZ);
[0060] For each plane's depth feature list, calculate the mean μ and standard deviation σ as feature descriptors;
[0061] Then the feature descriptor f(v) of voxel v is:
[0062] f(v)=[μ XY ,σ XY ,μ XZ ,σXZ ,μ YZ ,σ YZ ] T
[0063] The feature descriptor f(v) of each voxel is composed of the mean value and standard deviation of three planes (XY, XZ, YZ).
[0064] Further, the coarse registration process using the SAC-IA algorithm is as follows:
[0065] Based on the feature descriptors, in the source point cloud P src and the target point cloud P tar , the feature point pairs are determined by calculating the Euclidean distance between the two feature descriptors;
[0066] A number of feature point pairs are randomly selected from the feature point pairs, and the rigid transformation T(R, t) between them is calculated, and the transformation that makes the largest number of point pairs consistent is selected, wherein the RANSAC algorithm is used to estimate the rigid transformation T * (R, t):
[0067]
[0068] Where C' is the corresponding point set obtained by feature matching; p i ∈S and q j ∈T are feature point pairs in the two point clouds; T * (R, t) is the coarse registration transformation matrix obtained after RANSAC iteration optimization; R is the rotation matrix between the source point cloud S and the target point cloud T, and t is the translation vector between the source point cloud and the target point cloud;
[0069] Stop iteration when the preset number of iterations is reached, or the point pairs that meet the distance threshold reach the preset threshold, select the rigid transformation that makes the most point pairs consistent as the initial transformation, and obtain the coarse registration result.
[0070] Further, the process of fine registration using the Iterative Closest Point (ICP) algorithm is as follows:
[0071] The normal vectors of the points in the source point cloud S and the target point cloud T are calculated respectively;
[0072] A point p i in the source point cloud S is randomly selected, the closest point q i in the target point cloud T is found, and the direction vector between the two points is calculated;
[0073] According to the correspondence of the point clouds and the direction vector constraint, the fine registration transformation matrix T(R, t) composed of the rotation matrix R and the translation vector t between the two point clouds is calculated;
[0074] Apply the source point cloud to the fine registration transformation matrix, minimize the objective function:
[0075]
[0076] Calculate the RMSE error between the transformed source point cloud and the target point cloud, if the error is less than the threshold or reaches the maximum number of iterations, stop iteration, otherwise repeat the above process until the convergence condition is met.
[0077] The beneficial effects of the present application are:
[0078] The point cloud registration method based on improved ISS-TOLDI feature combined with ICP can accurately extract and register point clouds. By accurately selecting ISS feature points, the region for TOLDI feature extraction is determined, avoiding redundant calculation of global traversal. Combined with SAC-IA coarse registration and ICP fine registration, accurate point cloud registration is realized.
[0079] The classic ICP registration algorithm requires a good initial pose before registration. The registration algorithm proposed in the present application provides a good initial pose for the subsequent ICP algorithm, avoiding the local optimal situation after the ICP algorithm. This method has higher point cloud registration accuracy.
[0080] The improved TOLDI algorithm is used for feature description, and the projection matrix pre-computation method is used instead of point-by-point projection. The neighborhood index of all feature points is pre-computed once through KD-Tree, which reduces the computational complexity while ensuring the integrity of the features. The dynamic voxel processing strategy based on the number of neighborhood points is introduced, which solves the problem of the original TOLDI fixed strategy for different point cloud densities, and is more robust in complex tree point cloud scenes, providing a high-quality initial transformation matrix for ICP fine registration. Compared with the traditional feature description algorithms FPFH and SHOT, the improved TOLDI algorithm is more suitable for outdoor tree point cloud registration requirements, more accurately distinguishes complex local geometry, and reduces the mismatch rate.
[0081] Other advantages, objects and features of the present application will be set forth in part in the following specification, and in part will become apparent to those skilled in the art upon examination of the following specification, or can be learned from practice of the present application. The objects and other advantages of the present application can be realized and attained by the methods and instrumentalities particularly pointed out in the following description. BRIEF DESCRIPTION OF DRAWINGS
[0082] In order to make the objects, technical solutions and advantages of the present application clearer, the preferred detailed description of the present application will be combined with the drawings as follows, wherein:
[0083] Fig. 1A schematic diagram of the overall process of the point cloud registration method based on the improved ISS-TOLDI feature combined with ICP under the embodiment of the present application is shown in the figure.
[0084] Fig. 2 A schematic diagram of the process of the improved TOLDI algorithm under the embodiment of the present application is shown in the figure. DETAILED DESCRIPTION
[0085] The advantages and effects of the present application can be easily understood by those skilled in the art from the description. The present application can also be implemented or applied in different specific embodiments, and various modifications or changes can be made to the details based on different views and applications without departing from the spirit of the present application. It should be noted that the figures provided in the following embodiments only illustrate the basic concept of the present application in a schematic manner, and the following embodiments and features in the embodiments can be combined with each other without conflict.
[0086] The figures are only used for illustrative description, and the representation is only a schematic diagram, not a physical diagram, and should not be understood as a limitation of the present application. In order to better illustrate the embodiments of the present application, some components in the figures may be omitted, enlarged or reduced, and do not represent the actual size of the product. It is understandable for those skilled in the art that some well-known structures and their descriptions in the figures may be omitted.
[0087] The same or similar reference numerals in the figures of the embodiments of the present application correspond to the same or similar components; in the description of the present application, it should be understood that the orientations or positional relationships indicated by terms such as "upper", "lower", "left", "right", "front", "back" and the like are based on the orientations or positional relationships shown in the figures, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the devices or elements referred to must have a particular orientation, be constructed and operated in a particular orientation, therefore the terms describing the positional relationship in the figures are only used for illustrative description, and should not be understood as a limitation of the present application. For those skilled in the art, the specific meanings of the above terms can be understood according to the specific circumstances.
[0088] Please refer to Figs. 1-2 , a point cloud registration method based on improved ISS-TOLDI features combined with ICP.
[0089] The present embodiment describes in detail a point cloud registration method based on improved ISS-TOLDI features combined with ICP proposed by the present application, as shown in the figure, the method at least includes the following steps: Fig. 1
[0090] S1: Obtain the source point cloud and the target point cloud, and perform pretreatment;
[0091] Specifically, the source point cloud and the target point cloud are acquired and preprocessed, specifically: a three-dimensional scanning device is used to scan a certain view or region of a target object, raw point cloud data under the view is collected as the source point cloud in the registration process; the same or compatible scanning device is used to scan another view or region of the same target object, raw point cloud data under the view is collected as the target point cloud in the registration process; the source point cloud and the target point cloud are preprocessed, specifically including: noise removal, point cloud downsampling and point cloud segmentation.
[0092] S2: feature points are extracted from the point cloud data using an internal shape descriptor (ISS) algorithm to obtain a feature point set;
[0093] Specifically, the internal shape descriptor (ISS) is a method of establishing a local coordinate system using neighborhood information and expressing feature points using the relationship between eigenvalues, and the algorithm has rich geometric feature information and is suitable for high-precision point cloud registration. Since the feature extraction is based on local geometric information, the ISS algorithm will extract the same feature points for two pieces of point cloud with the same features. The specific steps of the ISS algorithm are as follows:
[0094] S21: for each sampling point p in the point cloud data i a local coordinate system is established, and a field search radius r is set;
[0095] S22: for each sampling point p in the point cloud data i all points in the neighborhood are queried, and a weight ω ij is calculated.
[0096]
[0097] S23: for the sampling point p i a weighted covariance matrix of the neighborhood points is calculated:
[0098]
[0099] S24: eigenvalue decomposition is performed on the covariance matrix cov(p i ), and three eigenvalues λ1≥λ2≥λ3 are obtained.
[0100] S25: threshold values ε1 and ε2 are set, and if the sampling point satisfies two constraint conditions of the following formula, it is regarded as an ISS feature point:
[0101]
[0102] S3: using the improved triple orthogonal local depth image algorithm TOLDI (Triple Orthogonal Local Depth Images, TOLDI) algorithm to describe the extracted feature point set;
[0103] Specifically, in step S3 of the embodiment, as shown in the figure, the following sub-steps are further included: Fig. 2
[0104] S31: constructing a local reference system, using a projection matrix pre-computation method instead of point-by-point projection, specifically:
[0105] Calculate the unit normal vector n = (n x , n y , n z ) of the feature point and normalize it to a unit vector As the z-axis direction of the local reference system z axis ;
[0106] Construct a projection matrix P, whose calculation formula is as follows:
[0107]
[0108] In the formula, I is a 3*3 unit matrix, and n' is the normal vector of the extracted feature point;
[0109] The vector of the neighborhood point p j relative to the feature point p i is v j = p j -p i , and all v j are stacked into a matrix V by row:
[0110]
[0111] Through matrix multiplication V proj = VP, the relative vectors of all neighborhood points are projected in batches to the local orthogonal plane defined by the normal vector n' of the feature point, the normal vector direction component is removed, and the projection vector matrix V proj containing only local plane coordinate information is obtained.
[0112] Weighted sum of the projection vectors, with the weight set to the reciprocal of the distance The coordinate axis construction formula is as follows:
[0113]
[0114] y axis = z axis x axis
[0115] z axis = n'
[0116] Thus, the orthogonal local reference system {x axis ,y axis ,z axis} is constructed.
[0117] S32: The neighborhood index of all feature points is precomputed once using the KD tree, and the shared feature of tree structure traversal calculation optimization is utilized, and the specific steps are as follows:
[0118] Let the global point set of the point cloud be X = {x1, x2,..., x N}, N be the total number of points of the point cloud, the feature point set be P = {p1, p2,..., p K}, K be the number of feature points, and the neighborhood search radius be r. For each feature point p k ∈K, its neighborhood point set N(p k ) is defined as a subset of global points satisfying the Euclidean distance constraint:
[0119] N(p k ) = {x i ∈X∣‖x i -p k ‖≤r}
[0120] A KD tree is constructed for the global point set X, which is a space partitioning data structure that recursively partitions the point cloud space and stores points in the nodes of the tree. Using the spatial index of the KD tree, for each feature point p k , a range query is performed to find points within a distance of p k that is less than or equal to the field search radius r, and the neighborhood point set of all feature points is ultimately obtained:
[0121] N all = {N(p1), N(p2),..., N(p K )}
[0122] S33: Dynamically select the voxel processing method according to the number of neighborhood points, specifically:
[0123] Neighborhood point number determination: For the neighborhood point set N(p k ) of the feature point p k , count the number m = |N(p k )|, and compare it with the threshold τ to distinguish two processing scenarios;
[0124] Voxel processing method selection:
[0125] ① When m ≥ τ, use vectorized voxel processing: first calculate the voxel size v size :
[0126]
[0127] wherein, a is a scaling factor;
[0128] The local coordinate matrix of each voxel is calculated as follows: The integer index calculation is performed as follows:
[0129]
[0130] All voxel indexes v are traversed to filter out the non-empty voxel set V = {v1, v2,..., v M}, and all points {x p , y p , z p} in each voxel are traversed to calculate the local average depth μ v of the voxel; the global average depth μ v is calculated from the local average depth features μ g of all non-empty voxels as the feature descriptor of the current point cloud;
[0131] ② When m < τ, dictionary voxel processing is adopted: a hash dictionary G is created to store the voxel-point set mapping relationship, the key is the voxel identifier v i , and the value is the point set {p j} in the corresponding voxel; for each local coordinate point p i , the point p i is added to the value list of the corresponding key v i in the dictionary G: G[v i ] = G[v i ] ∪ {p i}; the depth features of all non-empty voxel keys v of the dictionary G are calculated on three planes (XY, XZ, YZ); the mean μ and the standard deviation σ of the depth feature list of each plane are calculated as the feature descriptor; the feature descriptor of each voxel is composed of the mean and the standard deviation of the three planes, and the feature descriptor f(v) of the voxel v is:
[0132] f(v) = [μ XY , σ XY , μ XZ , σ XZ , μ YZ , σ YZ ] T
[0133] S4: the point cloud is coarsely registered using the SAC-IA (Sample Consensus Initial Alignment) algorithm, a coarse registration transformation matrix is obtained, and the coarse registration point cloud data is obtained according to the transformation matrix;
[0134] The goal of the SAC-IA algorithm is to find the rigid transformation T(R, t) between the source point cloud S and the target point cloud T, where R is the rotation matrix between the source point cloud and the target point cloud, and t is the translation vector between the source point cloud and the target point cloud;
[0135] The rotation matrix R describes the rotation angle and direction between the source point cloud S and the target point cloud T. By determining the appropriate rotation matrix, the direction of the source point cloud can be matched with the direction of the target point cloud, thereby achieving preliminary alignment;
[0136] The translation vector t represents the displacement of the source point cloud S in three coordinate axes relative to the target point cloud T. By adjusting the translation vector, the source point cloud can be moved to a position closer to the target point cloud, further improving the accuracy of registration;
[0137] Specifically, the following objective function is minimized and the RANSAC algorithm is used to estimate the rigid transformation T * (R, t):
[0138]
[0139] where C' is the set of corresponding points obtained by feature matching; p i ∈S and q j ∈T are pairs of feature points in the two point clouds; T * (R, t) is the coarse registration transformation matrix obtained after RANSAC iterative optimization;
[0140] Specifically, the RANSAC algorithm estimates the transformation by randomly selecting pairs of feature points (p i , q j ) and selecting the optimal T * according to the number of point pairs that satisfy the transformation consistency condition.
[0141] Specifically, this step S4 includes the following sub-steps:
[0142] S41: Based on the feature descriptors, find corresponding pairs of feature points in the source point cloud P src and the target point cloud P tar , which is generally determined by calculating the Euclidean distance between two feature descriptors;
[0143] S42: Iterative optimization by RANSAC method: randomly select several groups of point pairs from the feature point pairs, calculate the rigid transformation (including rotation and translation) between them, and select the transformation that makes the maximum number of point pairs consistent;
[0144] S43: stop iteration after reaching a preset number of iterations, or a preset threshold of the point pairs meeting the distance threshold, select the rigid transformation that makes the most point pairs consistent as the initial transformation, and obtain a coarse registration result; the number of iterations and the preset threshold are empirical values that need to be adjusted according to specific circumstances, and the most suitable values can be found through experiments and optimization.
[0145] S5: performing fine registration on the coarse registration point cloud data using an iterative closest point (ICP) algorithm to obtain a fine registration transformation matrix, and obtaining fine registration point cloud data according to the transformation matrix, and completing point cloud registration;
[0146] Specifically, the step S5 includes the following sub-steps:
[0147] S51: calculating the normal vector of each point in the source point cloud P and the target point cloud Q, respectively;
[0148] S52: randomly selecting a point p in the source point cloud P i , finding the closest point q i in the target point cloud Q, and calculating the direction vector between the two points;
[0149] S53: calculating the fine registration transformation matrix T(R, t) composed of a rotation matrix R and a translation vector t between the two point clouds according to the correspondence relationship of the point clouds and the direction vector constraint;
[0150] S54: applying the transformation matrix obtained in step S53 to the source point cloud to make the objective function as small as possible:
[0151]
[0152] S55: calculating the error RMSE between the transformed source point cloud and the target point cloud, and stopping iteration if the error is less than a threshold or the maximum number of iterations is reached; otherwise, repeating steps S52-S54 until the convergence condition is met.
[0153] Finally, it should be pointed out that the above embodiments are only used to illustrate the technical solutions of the present application and are not limiting. Although the present application has been described in detail with reference to the preferred embodiments, those skilled in the art should understand that the technical solutions of the present application can be modified or replaced by equivalents without departing from the purpose and scope of the present technical solutions, and all should be covered in the scope of the claims of the present application.
Claims
1. A point cloud registration method based on improved ISS-TOLDI feature combined with ICP, characterized in that: The method comprises the following steps: Obtain source point cloud data and target point cloud data, and perform data preprocessing respectively; Extract feature points of the point cloud data by using an internal shape descriptor (ISS) algorithm to obtain a feature point set; Describe the feature point set by using an improved triple orthogonal local depth image (TOLDI) algorithm to obtain corresponding feature descriptors; Coarsely register the point clouds by using a sampling consensus initial alignment (SAC-IA) algorithm, establish a coarse registration transformation matrix, and obtain coarse registration point cloud data according to the coarse registration transformation matrix; Precisely register the coarse registration point cloud data by using an iterative closest point (ICP) algorithm, obtain a precise registration transformation matrix, and obtain precise registration point cloud data according to the precise registration transformation matrix to complete point cloud registration.
2. The point cloud registration method based on improved ISS-TOLDI feature combined with ICP according to claim 1, characterized in that: The source point cloud data is obtained by scanning a certain view or region of a target object by a three-dimensional scanning device, collecting original point cloud data under the view, and taking the original point cloud data as source point cloud in the registration process; The target point cloud data is obtained by scanning another view or region of the same target object by the same or compatible scanning device, collecting original point cloud data under the view, and taking the original point cloud data as target point cloud in the registration process; The source point cloud and the target point cloud are preprocessed, including noise removal, point cloud downsampling, and point cloud segmentation.
3. The point cloud registration method based on improved ISS-TOLDI feature combined with ICP according to claim 1, characterized in that: The process of extracting feature points of the point cloud data by using the ISS algorithm comprises: For each sampling point p in the point cloud data i A local coordinate system is established, and a field search radius r is set. Querying each sample point p in the point cloud data i All points within the neighborhood, and compute the weight ω ij : For the sampling point p i Compute the weighted covariance matrix of the neighborhood points: Eigenvalue decomposition of the covariance matrix cov(p i ) gives three eigenvalues λ1≥ λ2≥ λ3. Set threshold values ε1 and ε2, if the sampling point satisfies it is regarded as ISS feature point.
4. The point cloud registration method based on improved ISS-TOLDI feature combined with ICP according to claim 1, characterized in that: The process of describing the feature point set by using the improved TOLDI algorithm comprises: A local reference system is constructed by using a projection matrix precalculation method; All neighborhood indexes of the feature points are precalculated by using a KD-Tree structure, and the calculation of shared features is optimized by using tree structure traversal; A voxel processing method is dynamically selected according to the number of neighborhood points, and the voxel processing method comprises vectorized voxel processing and dictionary voxel processing.
5. The point cloud registration method based on improved ISS-TOLDI feature combined with ICP according to claim 4, characterized in that: The process of constructing the local reference system comprises: The unit normal vector n = (n x ,n y ,n z ) of the feature point is calculated and normalized to a unit normal vector The z-axis direction z axis ; A projection matrix P is constructed, and the calculation formula is as follows: In the formula, I is a 3*3 unit matrix, and n' is a unit normal vector of the extracted feature point; Neighbouring points p j Vector of relative feature point p i is v j = p j - p i Stack all v j by rows into a matrix V: By matrix multiplication V proj = VP, all the relative vectors of the neighborhood points are batch-projected to the local orthogonal plane defined by the normal vector n' of the feature point, the directional component of the normal vector is removed, and a projection vector matrix V containing only the coordinate information in the local plane is obtained proj ; Weighted sum projection vectors with weights set to inverse of distance The coordinate axis construction formula is as follows: y axis = z axis x x axis z axis = n' From this, an orthogonal local reference system {x axis ,y axis ,z axis} is constructed.
6. The point cloud registration method based on improved ISS-TOLDI feature combined with ICP according to claim 5, characterized in that: The process of precalculating all neighborhood indexes of the feature points by using the KD-Tree structure comprises: Let the global point set of the point cloud be X = {x1, x2, ..., xn}. N }, where N is the total number of points in the point cloud, and the feature point set is P = {p1, p2, ..., p...} K }, where K is the number of feature points; A KD-Tree is constructed for a global point set X, the point cloud space is recursively divided, and the points are stored in the nodes of the tree; Using KD-Tree's spatial index, for each feature point p k , batch execute range query to find points with distance p k less than or equal to the field search radius r, finally get the neighborhood point set of all feature points: N all = {N(p1), N(p2),..., N(p K )} For each feature point p k ∈ K, its neighborhood point set N(p k ) is defined as a global point subset satisfying the Euclidean distance constraint N(p k ) = {x i ∈ X | ‖x i -p k ‖ ≤ r}.
7. The point cloud registration method based on improved ISS-TOLDI feature combined with ICP according to claim 6, characterized in that: The process of selecting a voxel processing method and the corresponding voxel processing method comprises: The neighborhood point quantity determination is performed on the neighborhood point set N(p k ) of the feature point p k ), the quantity m = |N(p k )| thereof is counted, the size relationship between the neighborhood point quantity m and the quantity threshold τ is determined, if m ≥ τ, the vectorization voxel processing is adopted; if m < τ, the dictionary voxel processing is adopted; wherein, The vectorized voxel processing process comprises: By the total volume V and the total number of points N of the point cloud, the voxel size v is calculated size : In the formula, α is a scaling coefficient; to the local coordinate matrix performing integer index computation: Traverse all voxel indexes v, filter out the non-empty voxel set V = {v1, v2,..., v M}, traverse all points {x p , y p , z p} in each voxel, calculate the local average depth μ v of the voxel; for the local mean feature μ v of all non-empty voxels, calculate the global average depth μ g as the feature descriptor of the current point cloud; The dictionary voxel processing process comprises: A hash dictionary G is created for storing the voxel-point set mapping relationship, the key is the voxel identifier v i , and the value is the point set {p j} in the corresponding voxel. j For each local coordinate point p i , add p i to the value list of the corresponding key v i in the dictionary G: G[v i ] = G[v i ] ∪ {p i}. Depth features of all non-empty voxel keys v of a dictionary G are calculated; For a depth feature list of each plane, the mean value μ and the standard deviation σ are calculated as feature descriptors; The feature descriptor f(v) of the voxel v is as follows: f(v) = [μ XY , σ XY , μ XZ , σ XZ , μ YZ , σ YZ ] T The feature descriptor f(v) of each voxel is composed of the mean value and the standard deviation of the three planes (XY, XZ, YZ).
8. The point cloud registration method based on improved ISS-TOLDI feature combined with ICP according to claim 1, characterized in that: The process of coarsely registering by using the SAC-IA algorithm comprises: Based on the feature descriptors, in the source point cloud P src and the target point cloud P tar , a feature point pair is determined by calculating the Euclidean distance between the two feature descriptors; A number of feature point pairs are randomly selected from the feature point pairs, a rigid transformation T(R, t) between the two is calculated, and a transformation that makes the largest number of point pairs consistent is selected, wherein the RANSAC algorithm is used to estimate the rigid transformation T * (R,t): where C' is the set of corresponding points obtained by feature matching; p i ∈S and q j ∈T are pairs of feature points in two point clouds; T * (R, t) is the coarse registration transformation matrix obtained after RANSAC iterative optimization; R is the rotation matrix between the source point cloud S and the target point cloud T, and t is the translation vector between the source point cloud and the target point cloud; The iteration is stopped when a preset iteration number is reached, or a preset threshold of the point pairs satisfying a distance threshold is reached, a rigid transformation that makes the most point pairs consistent is selected as an initial transformation, and a coarse registration result is obtained.
9. The point cloud registration method based on improved ISS-TOLDI feature combined with ICP according to claim 8, characterized in that: The process of precisely registering by using the ICP algorithm comprises: Calculate the normal vector of each point in the source point cloud S and the target point cloud T respectively; Randomly select a point p in the source point cloud S i Find the closest point q in the target point cloud T i Compute the direction vector between the two points; According to the correspondence relationship and the direction vector constraint of the point cloud, calculate the precise registration transformation matrix T(R, t) composed of the rotation matrix R and the translation vector t between the two point clouds; Apply the precise registration transformation matrix to the source point cloud, and minimize the objective function: Calculate the RMSE error between the transformed source point cloud and the target point cloud, and if the error is less than the threshold or the maximum number of iterations is reached, stop the iteration; otherwise, repeat the above process until the convergence condition is met.
Citation Information
Cited By
Feature entropy screening and geometric constraint combined point cloud matching method, device and equipment
CN121582312A
Quick coarse registration method for precast beam reinforcement cage point cloud and BIM (Building Information Modeling)
CN121810752A
Real-time three-dimensional registration method and device in vascular operation
CN121904119A
Multi-aircraft cooperative pose detection method and device for aircraft panel parts
CN122089817A
A multi-aircraft cooperative pose detection method and device for aircraft panel parts
CN122089817B