Method for registering partially overlapping point cloud data and its device, equipment and medium
Through the main component analysis algorithm, the three -dimensional cloud data data analysis and cutting of the three -dimensional point cloud data, combined with data pairing and point cloud distribution processing, solved the difficulty of feature extraction in the narrow and long and complicated space point cloud data distribution standard, realized high accuracy, high, high, high, high, high, high accuracy, high, high accuracy, high, high accuracy, high, high accuracy, high, high accuracy, high, high accuracy, high, high accuracy, high, high accuracy, high, high accuracy, high, and high accuracy, high accuracy, high accuracy, high accuracy, high, and high accuracy, high, high accuracy, high, and high accuracy, high accuracy, high accuracy, high accuracy, high, and high accuracy, high accuracy, high accuracy, high, high accuracy, high, high accuracy, high, high accuracy, high, and high accuracy. Efficiency point cloud standard.
Patent Information
- Application Number
- CN202411559858.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-04
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2044-11-04
AI Technical Summary
The existing three-dimensional point cloud data registration method is difficult to extract effective features when processing narrow and complex spaces, resulting in large registration errors and low efficiency, which cannot meet the high-precision requirements in engineering.
The main component analysis algorithm analysis of the point cloud data is used, cut into multiple subsets, and processing through data pairing and point cloud distribution to determine the target transformation matrix corresponding to the minimum configuration error to perform standards.
It reduces the error of point cloud allocation, improves the efficiency of allocation, meets the high -precision requirements in the project, and can automatically process part of the overlap problem of point cloud data in the complex space.
Smart Images

Figure CN119090932B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of laser radar point cloud data processing, and in particular to a method for aligning partially overlapping point cloud data and its device, equipment, and medium. Background Art
[0002] In geological engineering, the digitization of three-dimensional complex spatial information is very important. Compared with manual measurement and picture recording, the three-dimensional digitization of complex space can not only effectively reflect the plane position, spatial elevation, undulation changes, etc. of the complex space, but also extract structural surfaces, query coordinates, and measure distances in the complex space. Based on this, three-dimensional digitization technology has gradually become a key means of monitoring and measuring complex spaces. For example, three-dimensional point cloud scanning technology is often used as a solution for three-dimensional digitization of underground engineering. However, in actual engineering applications, since complex space is a complex structure with multiple planes, it is impossible to use a one-stop scanning method to obtain the point cloud of the entire space. Generally, multi-point, multi-angle, and multi-batch scanning is required. Therefore, in order to obtain a complete digital model of complex space point cloud, accurate point cloud data registration processing is required.
[0003] At present, there are two main methods for point cloud registration between different stations: one is to convert common points based on fixed targets, and to splice data based on scanning three or more non-collinear targets at adjacent stations. The other is automatic registration based on overlapping point clouds and features. At present, the automatic registration process of three-dimensional point clouds can be divided into two stages: coarse registration and fine registration. Coarse registration, also known as global registration, aims to find a coarse registration result close to the global optimum. Usually, significant features on the point cloud are extracted for registration, but the accuracy of the registration result often depends on the validity of the features. For structures close to cylinders such as narrow and long complex spaces, effective features cannot usually be extracted from them. Fine registration aims to obtain the best transformation relationship and minimize the error of a pair of three-dimensional point clouds through step-by-step iteration. However, the algorithm is prone to fall into local optimality and cannot guarantee convergence to the global optimal result. The registration error is large, resulting in poor registration effect and efficiency of point cloud data. Summary of the invention
[0004] The present application aims to solve at least one of the technical problems existing in the prior art. To this end, the present application proposes a method for registering partially overlapping point cloud data and its device, equipment, and medium, which can register partially overlapping point cloud data, reduce registration errors, improve registration efficiency, and meet the registration requirements of higher precision in engineering.
[0005] In a first aspect, an embodiment of the present application provides a method for registering partially overlapping point cloud data, comprising:
[0006] Acquire a sparse first source point cloud data set and a first target point cloud data set;
[0007] Based on the principal component analysis algorithm, performing segmentation surface analysis processing on the first source point cloud data set to obtain a first segmentation plane, and performing segmentation surface analysis processing on the first target point cloud data set to obtain a second segmentation plane;
[0008] Cutting the first source point cloud data set into a first source point cloud set and a second source point cloud set based on the first segmentation plane, and cutting the first target point cloud data set into a first target point cloud set and a second target point cloud set based on the second segmentation plane;
[0009] Perform data pairing processing on the first source point cloud set, the second source point cloud set, the first target point cloud set, and the second target point cloud set to obtain a first point cloud pair, a second point cloud pair, a third point cloud pair, and a fourth point cloud pair;
[0010] Performing point cloud registration processing and error measurement processing on the first point cloud pair, the second point cloud pair, the third point cloud pair, and the fourth point cloud pair to determine a target transformation matrix corresponding to a minimum registration error;
[0011] The partially overlapping point cloud data to be registered are registered according to the target transformation matrix to obtain a registration result.
[0012] According to some embodiments of the present application, the step of performing segmentation surface analysis on the first source point cloud data set based on a principal component analysis algorithm to obtain a first segmentation plane includes:
[0013] Based on the principal component analysis algorithm, three principal components of the first source point cloud data set are extracted to obtain a first eigenvalue, a second eigenvalue and a third eigenvalue;
[0014] Arrange the first eigenvalue, the second eigenvalue, and the third eigenvalue in descending order according to the values of the eigenvalues to obtain an eigenvalue sorting result;
[0015] According to the eigenvalue sorting result, determining the eigenvalue with the largest value as the first target eigenvalue, and determining the eigenvector corresponding to the first target eigenvalue as the first target eigenvector;
[0016] Performing center coordinate calculation processing on the first source point cloud data set to obtain first center point coordinates;
[0017] The first segmentation plane is determined according to the coordinates of the first center point and a normal vector determined by the first target feature vector.
[0018] According to some embodiments of the present application, performing point cloud registration processing and error measurement processing according to the first point cloud pair, the second point cloud pair, the third point cloud pair, and the fourth point cloud pair to determine a target transformation matrix corresponding to a minimum registration error includes:
[0019] performing a first registration process and an error calculation process on the first point cloud pair, the second point cloud pair, the third point cloud pair, and the fourth point cloud pair, respectively, to obtain four candidate transformation matrices and registration errors corresponding to the candidate transformation matrices;
[0020] Performing data rotation processing on the first point cloud pair, the second point cloud pair, the third point cloud pair, and the fourth point cloud pair respectively, to obtain a fifth point cloud pair, a sixth point cloud pair, a seventh point cloud pair, and an eighth point cloud pair respectively;
[0021] The fifth point cloud pair, the sixth point cloud pair, the seventh point cloud pair and the eighth point cloud pair are respectively subjected to a second registration process and an error calculation process to obtain four candidate transformation matrices and registration errors corresponding to the candidate transformation matrices; wherein the error calculation process is used to: calculate the registration errors corresponding to the candidate transformation matrices using a preset error metric formula;
[0022] The sizes of all the registration errors are compared, and the candidate transformation matrix corresponding to the minimum registration error is determined as the target transformation matrix.
[0023] According to some embodiments of the present application, the first point cloud pair includes: the first source point cloud set and the first target point cloud set; the second point cloud pair includes: the first source point cloud set and the second target point cloud set; the third point cloud pair includes: the second source point cloud set and the first target point cloud set; the fourth point cloud pair includes: the second source point cloud set and the second target point cloud set;
[0024] The data rotation processing is performed on the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair respectively to obtain a fifth point cloud pair, a sixth point cloud pair, a seventh point cloud pair and an eighth point cloud pair respectively, including:
[0025] According to the eigenvalue arrangement result, determining the eigenvalue with the smallest value as the second target eigenvalue, and determining the eigenvector corresponding to the second target eigenvalue as the second target eigenvector;
[0026] Performing rotation calculation processing in the first point cloud pair, rotating the first source point cloud set around the second target feature vector by a preset angle, to obtain the fifth point cloud pair;
[0027] Performing rotation calculation processing in the second point cloud pair, rotating the first source point cloud set around the second target feature vector by a preset angle, to obtain the sixth point cloud pair;
[0028] Performing rotation calculation processing in the third point cloud pair, rotating the second source point cloud set around the second target feature vector by a preset angle, to obtain the seventh point cloud pair;
[0029] A rotation calculation process is performed in the fourth point cloud pair, and the second source point cloud set is rotated around the second target feature vector by a preset angle to obtain the eighth point cloud pair; wherein the rotation calculation process is performed based on a preset rotation formula.
[0030] According to some embodiments of the present application, the preset rotation formula is:
[0031] ;
[0032] in, is a rotation matrix that rotates the second target eigenvector by a preset angle, is the point cloud data to be rotated, It is the rotated point cloud data.
[0033] According to some embodiments of the present application, the preset error metric formula is:
[0034] ;
[0035] in, is a point in the source point cloud, The target point cloud is concentrated and The corresponding points, m is the number of points in the source point cloud, and T is the candidate transformation matrix to be measured.
[0036] According to some embodiments of the present application, the acquired sparse first source point cloud dataset and first target point cloud dataset include:
[0037] Acquire a second source point cloud dataset and a second target point cloud dataset to be processed;
[0038] Downsampling is performed on the second source point cloud dataset and the second target point cloud dataset respectively to obtain sparse first source point cloud dataset and first target point cloud dataset.
[0039] In a second aspect, an embodiment of the present application provides a device for aligning partially overlapping point cloud data, comprising at least one processor and a memory for communicating with the at least one processor; the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method for aligning partially overlapping point cloud data as described in any one of the embodiments of the first aspect.
[0040] In a third aspect, an embodiment of the present application provides an electronic device, comprising a device for registering partially overlapping point cloud data as described in the embodiment of the second aspect.
[0041] In a fourth aspect, an embodiment of the present application provides a storage medium, which is a computer-readable storage medium, and the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute the method for aligning partially overlapping point cloud data as described in any one of the embodiments of the first aspect.
[0042] The embodiment of the present application includes: in a three-dimensional narrow and complex space, in the process of registering partially overlapping point cloud data, using a device for registering partially overlapping point cloud data, first, obtaining a sparse first source point cloud data set and a first target point cloud data set; using a point cloud data set with a smaller data volume is conducive to reducing the amount of calculation in subsequent processing and improving data processing efficiency; then, based on the principal component analysis algorithm, performing a segmentation surface analysis process on the first source point cloud data set to obtain a first segmentation plane, and performing a segmentation surface analysis process on the first target point cloud data set to obtain a second segmentation plane; then, based on the first segmentation plane, cutting the first source point cloud data set into a first source point cloud set and a second source point cloud set, and based on the second segmentation plane, cutting the first target point cloud data set into a first The target point cloud set and the second target point cloud set; then, data pairing processing is performed according to the first source point cloud set, the second source point cloud set, the first target point cloud set and the second target point cloud set to obtain the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair; then, point cloud registration processing and error measurement processing are performed according to the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair to determine the target transformation matrix corresponding to the minimum registration error; laying a data foundation for the subsequent low-error and high-precision registration of partially overlapping point cloud data; finally, the registration result is obtained by registering the partially overlapping point cloud data to be registered according to the target transformation matrix; thereby achieving a higher-precision and higher-efficiency registration, and automatically handling the problem of partial overlap of point cloud data in complex space. That is to say, the embodiment of the present application can register partially overlapping point cloud data, reduce registration errors, improve registration efficiency, and meet the requirements of higher-precision registration in engineering.
[0043] Other features and advantages of the present application will be described in the following description, and partly become apparent from the description, or understood by practicing the present application. The purpose and other advantages of the present application can be realized and obtained through the structures particularly pointed out in the description and the drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0044] The above and / or additional aspects and advantages of the present application will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:
[0045] Figure 1 It is a flowchart of a method for registering partially overlapping point cloud data provided by an embodiment of the present application;
[0046] Figure 2 This is an embodiment of the present application. Figure 1 A flowchart of a specific method of step S150;
[0047] Figure 3 This is a schematic diagram of a segmentation situation of cutting point cloud data based on a segmentation surface provided by an embodiment of the present application;
[0048] Figure 4 This is a schematic diagram of the effect of point cloud data before registration provided by an embodiment of the present application;
[0049] Figure 5 This is a schematic diagram of the effect of the registered point cloud data provided by an embodiment of the present application;
[0050] Figure 6 It is a statistical schematic diagram of the registration result error of the method for registering partially overlapping point cloud data provided by an embodiment of the present application;
[0051] Figure 7 It is a structural schematic diagram of an apparatus for aligning partially overlapping point cloud data provided by an embodiment of the present application. DETAILED DESCRIPTION
[0052] In order to make the objectives, technical solutions and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments.
[0053] It should be understood that in the description of the present application, the orientation descriptions, such as up, down, front, back, left, right, etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the drawings, and are only for the convenience of describing the present application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation, and therefore should not be understood as a limitation on the present application.
[0054] It should be noted that although a logical order is shown in the flowchart in the description of the present application, in some cases, the steps shown or described may be performed in an order different from that in the flowchart. In the description of the present application, a number of means one or more, and a plurality of means two or more. The description of "first" and "second" is only used for the purpose of distinguishing technical features, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features or implicitly indicating the order of the indicated technical features.
[0055] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.
[0056] The present application discloses a method for registering partially overlapping point cloud data and its device, equipment and medium; it relates to the technical field of laser radar point cloud data processing; the method comprises: performing segmentation surface analysis processing on the acquired sparse first source point cloud data set and the first target point cloud data set to obtain the first segmentation plane and the second segmentation plane; cutting the first source point cloud data set based on the first segmentation plane and cutting the first target point cloud data set based on the second segmentation plane, after data pairing according to the first source point cloud set, the second source point cloud set, the first target point cloud set and the second target point cloud set obtained by cutting, performing point cloud registration processing and error measurement processing according to the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair, determining the target transformation matrix corresponding to the minimum registration error; registering the partially overlapping point cloud data to be registered according to the target transformation matrix to obtain the registration result. It can reduce the registration error and improve the registration efficiency.
[0057] The embodiments of the present application are further described below in conjunction with the accompanying drawings.
[0058] First, as Figure 1 As shown, the method for registering partially overlapping point cloud data may include but is not limited to steps S110 to S160.
[0059] Step S110: Acquire a sparse first source point cloud dataset and a first target point cloud dataset.
[0060] Step S120: Based on the principal component analysis algorithm, a segmentation surface analysis process is performed on the first source point cloud data set to obtain a first segmentation plane, and a segmentation surface analysis process is performed on the first target point cloud data set to obtain a second segmentation plane.
[0061] Step S130: cutting the first source point cloud data set into a first source point cloud set and a second source point cloud set based on the first segmentation plane, and cutting the first target point cloud data set into a first target point cloud set and a second target point cloud set based on the second segmentation plane.
[0062] Step S140: performing data pairing processing according to the first source point cloud set, the second source point cloud set, the first target point cloud set and the second target point cloud set to obtain a first point cloud pair, a second point cloud pair, a third point cloud pair and a fourth point cloud pair.
[0063] Step S150: performing point cloud registration processing and error measurement processing according to the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair, and determining a target transformation matrix corresponding to a minimum registration error.
[0064] Step S160: registering the partially overlapping point cloud data to be registered according to the target transformation matrix to obtain a registration result.
[0065] It can be understood that processing based on the sparse first source point cloud data set and the first target point cloud data set is beneficial to reducing the amount of calculation in subsequent processing and improving data processing efficiency.
[0066] It is understandable that the principal component analysis algorithm is a statistical method mainly used for dimensionality reduction and data visualization. The principal component analysis method can effectively transform high-dimensional data sets into low-dimensional space, reduce the complexity of the data, and identify the main change directions in the data. These directions (i.e., principal components) can be used as new features in subsequent analysis.
[0067] Through steps S110 to S160, in the process of registering partially overlapping point cloud data in a three-dimensional narrow and complex space, using a device for registering partially overlapping point cloud data, first, a sparse first source point cloud data set and a first target point cloud data set are obtained; using a point cloud data set with a smaller data volume is beneficial to reducing the amount of calculation in subsequent processing and improving data processing efficiency; then, based on the principal component analysis algorithm, a segmentation surface analysis process is performed on the first source point cloud data set to obtain a first segmentation plane, and a segmentation surface analysis process is performed on the first target point cloud data set to obtain a second segmentation plane; then, based on the first segmentation plane, the first source point cloud data set is cut into a first source point cloud set and a second source point cloud set, and based on the second segmentation plane, the first target point cloud data set is cut into a first source point cloud set and a second source point cloud set. The first target point cloud set is divided into the first target point cloud set and the second target point cloud set; then, data pairing processing is performed according to the first source point cloud set, the second source point cloud set, the first target point cloud set and the second target point cloud set to obtain the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair; then, point cloud registration processing and error measurement processing are performed according to the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair to determine the target transformation matrix corresponding to the minimum registration error; this lays the data foundation for the subsequent low-error and high-precision registration of partially overlapping point cloud data; finally, the registration result is obtained by registering the partially overlapping point cloud data to be registered according to the target transformation matrix; thus, a registration with higher precision and higher efficiency is achieved, and the problem of partial overlap of point cloud data in complex space is automatically handled. Therefore, the embodiment of the present application can register partially overlapping point cloud data, reduce registration errors, improve registration efficiency, and meet the registration requirements of higher precision in engineering.
[0068] According to some embodiments of the present application, step S110 is further described, and step S110 may include but is not limited to steps S111 to S112.
[0069] Step S111: Acquire a second source point cloud dataset and a second target point cloud dataset to be processed.
[0070] Step S112: performing downsampling processing on the second source point cloud dataset and the second target point cloud dataset respectively to obtain a sparse first source point cloud dataset and a sparse first target point cloud dataset.
[0071] In one embodiment, the second source point cloud data set to be processed obtained in step S111 is recorded as , the second target point cloud data set obtained is recorded as .in:
[0072] ; ;in, is the point cloud coordinate.
[0073] In one embodiment, in step S112, the density of the second source point cloud dataset and the second target point cloud dataset is reduced by downsampling processing to achieve sparse point cloud, thereby removing redundant information and reducing the amount of point cloud data.
[0074] The embodiment of the present application, through steps S111 to S112, significantly reduces the amount of point cloud data by sparsely processing the second source point cloud data set and the second target point cloud data set, thereby reducing the amount of calculation in subsequent processing, thereby improving the efficiency of calculating the target transformation matrix; this is conducive to improving the overall alignment efficiency.
[0075] According to some embodiments of the present application, step S120 is further described, wherein based on a principal component analysis algorithm, a segmentation surface analysis process is performed on the first source point cloud data set to obtain a first segmentation plane, including but not limited to steps S1201 to S1205.
[0076] Step S1201: Based on the principal component analysis algorithm, three principal components of the first source point cloud data set are extracted to obtain a first eigenvalue, a second eigenvalue and a third eigenvalue.
[0077] Step S1202: Arrange the first eigenvalue, the second eigenvalue and the third eigenvalue in descending order according to the values of the eigenvalues to obtain an eigenvalue sorting result.
[0078] Step S1203: According to the eigenvalue sorting result, determine the eigenvalue with the largest value as the first target eigenvalue, and determine the eigenvector corresponding to the first target eigenvalue as the first target eigenvector.
[0079] Step S1204: performing center coordinate calculation processing on the first source point cloud data set to obtain first center point coordinates.
[0080] Step S1205: Determine a first segmentation plane according to the coordinates of the first center point and a normal vector determined by the first target feature vector.
[0081] It can be understood that, in addition to extracting the first eigenvalue through step S1201 , the second eigenvalue and the third eigenvalue , and also extract the first eigenvalue , the second eigenvalue and the third eigenvalue The corresponding first eigenvector , the second eigenvector and the third eigenvector .
[0082] Specifically, the values are arranged in descending order. When the eigenvalue sorting result is: the first eigenvalue , the second eigenvalue , the third eigenvalue . Then use the largest eigenvalue (i.e. the first eigenvalue) ) corresponds to the first eigenvector to determine the cutting plane; in subsequent processing, the minimum eigenvalue (i.e., the third eigenvalue) is used ) corresponds to the third eigenvector as the axis of rotation.
[0083] Specifically, step S1204 includes obtaining the coordinates of the center point of the source point cloud according to the following formula, that is, the coordinates of the first center point ,in,
[0084] ; ; ; where m is the number of points.
[0085] To further explain step S1205, according to the knowledge of mathematical space geometry, it can be known that the plane equation can be determined based on a normal vector and the coordinates of a point on the plane. Specifically, when the first eigenvalue The first eigenvalue is the largest. The corresponding first eigenvector Determined as the normal vector, based on the normal vector and the coordinates of the first center point passed Construct the first splitting plane, denoted as .
[0086] Through step S1201 to step S1205, the first source point cloud data set is analyzed to determine the first segmentation plane, which provides a more reliable reference for the subsequent execution of step S130 to cut the first source point cloud data set.
[0087] According to some embodiments of the present application, it can be understood that based on the same method as steps S1201 to S1205, a second segmentation plane can be obtained. Further explanation of step S120, wherein the first target point cloud data set is subjected to segmentation plane analysis processing to obtain the second segmentation plane, includes but is not limited to steps S1206 to S1210.
[0088] Step S1206: Based on the principal component analysis algorithm, three principal components of the first target point cloud data set are extracted to obtain a fourth eigenvalue, a fifth eigenvalue, and a sixth eigenvalue.
[0089] Step S1207: Arrange the fourth eigenvalue, the fifth eigenvalue and the sixth eigenvalue in descending order according to the values of the eigenvalues to obtain an eigenvalue sorting result.
[0090] Step S1208: According to the eigenvalue sorting result, determine the eigenvalue with the largest value as the third target eigenvalue, and determine the eigenvector corresponding to the third target eigenvalue as the third target eigenvector.
[0091] Step S1208: performing center coordinate calculation processing on the first target point cloud data set to obtain the second center point coordinates.
[0092] Step S1210: Determine a second segmentation plane according to the coordinates of the second center point and a normal vector determined by the third target feature vector.
[0093] It can be understood that, through step S1201, in addition to extracting the fourth eigenvalue, the fifth eigenvalue and the sixth eigenvalue, the fourth eigenvector, the fifth eigenvector and the sixth eigenvector corresponding to the fourth eigenvalue, the fifth eigenvalue and the sixth eigenvalue are also extracted.
[0094] Through step S1206 to step S1210, the first target point cloud data set is analyzed to determine the second segmentation plane, which provides a more reliable reference for the subsequent execution of step S130 to cut the first target point cloud data set.
[0095] It can be understood that after obtaining the first segmentation plane and the second segmentation plane, step S130 is performed, such as Figure 3 As shown, the point cloud data of the narrow and long complex space is divided into two segments, and the non-overlapping area is removed. Specifically, the first source point cloud data set is cut into the first source point cloud data set using the first segmentation plane. and the second source point cloud set , based on the second segmentation plane, the first target point cloud data set is cut into the first target point cloud set and the second target point cloud set .
[0096] Then, the data pairing process of step S140 is performed to obtain a first point cloud pair, a second point cloud pair, a third point cloud pair and a fourth point cloud pair. The first point cloud pair includes: a first source point cloud set and the first target point cloud set ; The second point cloud pair includes: the first source point cloud set and the second target point cloud set ; The third point cloud pair includes: the second source point cloud set and the first target point cloud set ; The fourth point cloud pair includes: the second source point cloud set and the second target point cloud set .
[0097] According to some embodiments of the present application, Figure 2 , further illustrating step S150, which includes but is not limited to steps S151 to S154.
[0098] Step S151: performing first registration processing and error calculation processing on the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair respectively, to obtain four candidate transformation matrices and the registration errors corresponding to the candidate transformation matrices.
[0099] Step S152: performing data rotation processing on the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair respectively, and obtaining a fifth point cloud pair, a sixth point cloud pair, a seventh point cloud pair and an eighth point cloud pair accordingly.
[0100] Step S153: Perform a second registration process and an error calculation process on the fifth point cloud pair, the sixth point cloud pair, the seventh point cloud pair and the eighth point cloud pair, respectively, to obtain four candidate transformation matrices and the registration errors corresponding to each candidate transformation matrix; wherein the error calculation process is used to: use a preset error metric formula to calculate the registration errors corresponding to the candidate transformation matrices.
[0101] Step S154: Compare the sizes of all the registration errors, and determine the candidate transformation matrix corresponding to the minimum registration error as the target transformation matrix.
[0102] Specifically, the first registration process refers to the registration process of the first stage, and the second registration process refers to the registration process of the second stage. In both the first registration process and the second registration process, the FRICP method is performed for registration.
[0103] It should be noted that the FRICP method is an algorithm for point cloud registration, which is an improved iterative closest point (ICP) algorithm that aims to improve the speed and robustness of point cloud registration. In the embodiment of the present application, the FRICP method is adopted in the process of determining the optimal transformation matrix. By using the Anderson acceleration technology, the FRICP algorithm can significantly accelerate the convergence speed of the traditional ICP algorithm and achieve a faster registration process. In addition, the FRICP method does not rely on the detection of key points, simplifies the registration process, and avoids the errors that may be caused by key point detection; improves the registration accuracy.
[0104] It can be understood that, after performing a registration process on each set of point cloud pairs, a candidate transformation matrix and a registration error of the registration will be obtained.
[0105] According to some embodiments of the present application, the preset error measurement formula is:
[0106] ;
[0107] in, is a point in the source point cloud, The target point cloud is concentrated and The corresponding points, m is the number of points in the source point cloud, and T is the candidate transformation matrix to be measured.
[0108] The embodiment of the present application lays a data foundation for the subsequent low-error and high-precision alignment of partially overlapping point cloud data through steps S151 to S154.
[0109] According to some embodiments of the present application, step S152 is further described, and step S152 includes but is not limited to steps S1521 to S1525.
[0110] Step S1521: According to the eigenvalue arrangement result, determine the eigenvalue with the smallest value as the second target eigenvalue, and determine the eigenvector corresponding to the second target eigenvalue as the second target eigenvector.
[0111] Step S1522: performing rotation calculation processing in the first point cloud pair, rotating the first source point cloud set around the second target feature vector by a preset angle, and obtaining a fifth point cloud pair.
[0112] Step S1523: Perform rotation calculation processing in the second point cloud pair, rotate the first source point cloud set around the second target feature vector by a preset angle, and obtain a sixth point cloud pair.
[0113] Step S1524: performing rotation calculation processing in the third point cloud pair, rotating the second source point cloud set around the second target feature vector by a preset angle, and obtaining a seventh point cloud pair.
[0114] Step S1525: performing rotation calculation processing in the fourth point cloud pair, rotating the second source point cloud set around the second target feature vector by a preset angle to obtain an eighth point cloud pair; wherein the rotation calculation processing is performed based on a preset rotation formula.
[0115] It can be understood that the rotation axis required in the rotation calculation process is determined based on the eigenvalue sorting result obtained in step S1202. Specifically, when the eigenvalue sorting result is: the first eigenvalue , the second eigenvalue , the third eigenvalue ; Use the smallest eigenvalue (i.e. the third eigenvalue ) corresponds to the third eigenvector as the axis of rotation.
[0116] It is understandable that the preset angle of rotation The value range of is: Specifically, the embodiment of the present application adopts a preset angle of 180 degrees. It is understandable that the preset angle of rotation Other values within the range of 90 degrees to 270 degrees are also possible.
[0117] According to some embodiments of the present application, the preset rotation formula is: ;
[0118] in, is the rotation matrix of the second target eigenvector rotating by a preset angle, is the point cloud data to be rotated, It is the rotated point cloud data.
[0119] Through steps S1521 to S1525, according to the geometric features of the narrow and complex space, the source point cloud set in the point cloud pair is rotated a certain degree around the rotation axis, which is conducive to jumping out of the local minimum. The fifth point cloud pair, the sixth point cloud pair, the seventh point cloud pair and the eighth point cloud pair are obtained to prepare data for the second registration process.
[0120] Take an example to illustrate steps S151 to S154 of the embodiment of the present application. After cutting and pairing the first source point cloud data set and the first target point cloud data set, a total of four point cloud pairs will be generated. Run FRICP once for each point cloud pair for registration, a total of four times, record the candidate transformation matrix generated by each registration and the registration error each time; a total of four candidate transformation matrices and four registration errors are generated. The source side (i.e., source point cloud) of each point cloud pair is rotated around the eigenvector corresponding to the minimum eigenvalue by a preset angle r, specifically, the degree of r is selected to be 180 degrees. Then run FRICP again for registration on the rotated 4 groups of point clouds, a total of four times, to generate another four candidate transformation matrices and four registration errors. Compare these 8 registration errors, select the candidate transformation matrix corresponding to the minimum registration error as the target transformation matrix, and return the target transformation matrix as the result. In step S150, the algorithm ends after only 8 registrations.
[0121] It is understandable that after obtaining the target transformation matrix, step S160 is executed to apply the target transformation matrix to the complete source point cloud data to obtain the registration result. Specifically, taking a complex space project as an example, Figure 3 The position of the cutting plane of the point cloud data is shown. Figure 4 The point cloud data before registration is shown. Figure 5 This is the effect of the point cloud data after registration. After verification, the method for registering partially overlapping point cloud data provided in the embodiment of the present application is used to register six-station complex space point clouds. Each station is about 7.1 meters long, and the total length after removing the overlapping area is about 23.2 meters. The error of the obtained registration result is as follows Figure 6 It can be seen that the cumulative error of the result obtained after the registration method of overlapping point cloud data provided in the embodiment of the application is 1.16 cm, and the registration result error is small, which can meet the registration requirements of higher accuracy in engineering.
[0122] In summary, the embodiments of the present application address the problems that feature-based registration algorithms cannot extract effective features in complex spaces, and ICP (iterative closest point) algorithms cannot handle situations with high outliers. A method for registering partially overlapping point cloud data in three-dimensional complex spaces is proposed. The method can be used to register point cloud data in long and narrow complex spaces with small overlaps, without the need to use additional point cloud features. Redundant information is removed by sparse point clouds; and the point cloud data in long and narrow complex spaces is divided into two segments based on the principal component analysis information of the long and narrow complex space, and non-overlapping areas are removed; the segmented point clouds are combined in pairs and registered using the FRICP method. In order to escape the local minimum, one of the segmented point clouds is rotated a certain degree around the rotation axis based on the geometric features of the long and narrow complex space, and the registration is performed again; finally, the target transformation matrix with the smallest registration error is taken and applied to the complete point cloud. That is, a high-precision three-dimensional rigid transformation can be provided to accurately register partially overlapping point cloud data in three-dimensional complex spaces.
[0123] like Figure 7 As shown, the present invention also provides a device 700 for registering partially overlapping point cloud data, comprising:
[0124] The processor 701 may be implemented by a general-purpose central processing unit (CPU), a microprocessor, an application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of the present application;
[0125] The memory 702 may be implemented in the form of a read-only memory (ROM), a static storage device, a dynamic storage device, or a random access memory (RAM). The memory 702 may store an operating system and other application programs. When the technical solution provided in the embodiment of this specification is implemented by software or firmware, the relevant program code is stored in the memory 702, and the processor 701 calls and executes the method for aligning partially overlapping point cloud data in the embodiment of this application;
[0126] Input / output interface 703, used to implement information input and output;
[0127] Communication interface 704, used to realize communication interaction between the present apparatus and other devices, which can be realized by wired means (such as USB, network cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.);
[0128] A bus 705 that transmits information between various components of the device (e.g., the processor 701, the memory 702, the input / output interface 703, and the communication interface 704);
[0129] The processor 701 , the memory 702 , the input / output interface 703 and the communication interface 704 are connected to each other in communication within the device via a bus 705 .
[0130] In a third aspect, an embodiment of the present application provides an electronic device, comprising a device for registering partially overlapping point cloud data as described in the above embodiment.
[0131] In a fourth aspect, an embodiment of the present application provides a storage medium, which is a computer-readable storage medium. The computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are used to enable a computer to execute a method for aligning partially overlapping point cloud data as described in any of the above embodiments.
[0132] As a non-transient computer-readable storage medium, the memory can be used to store non-transient software programs and non-transient computer executable programs. In addition, the memory may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage devices. In some embodiments, the memory may optionally include a memory remotely arranged relative to the processor, and these remote memories may be connected to the processor via a network. Examples of the above-mentioned networks include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and a combination thereof. The device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and are implemented to be located in one place, or may also be distributed to multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the present embodiment.
[0133] It will be appreciated by those skilled in the art that all or some of the steps and systems in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or as hardware, or as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium (or non-transitory medium) and a communication medium (or transient medium). As known to those skilled in the art, the term computer storage medium includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. Furthermore, it is well known to those skilled in the art that communication media typically include computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism, and may include any information delivery media.
[0134] The above is a specific description of the preferred implementation of the present application, but the present application is not limited to the above-mentioned implementation mode. Technical personnel familiar with the field can also make various equivalent deformations or substitutions without violating the spirit of the present application. These equivalent deformations or substitutions are all included in the scope defined by the present application.
Claims
1. A method for registering partially overlapping point cloud data, characterized in that: include: Acquire a sparse first source point cloud data set and a first target point cloud data set; Based on the principal component analysis algorithm, performing segmentation surface analysis processing on the first source point cloud data set to obtain a first segmentation plane, and performing segmentation surface analysis processing on the first target point cloud data set to obtain a second segmentation plane; Cutting the first source point cloud data set into a first source point cloud set and a second source point cloud set based on the first segmentation plane, and cutting the first target point cloud data set into a first target point cloud set and a second target point cloud set based on the second segmentation plane; Perform data pairing processing on the first source point cloud set, the second source point cloud set, the first target point cloud set, and the second target point cloud set to obtain a first point cloud pair, a second point cloud pair, a third point cloud pair, and a fourth point cloud pair; Performing point cloud registration processing and error measurement processing on the first point cloud pair, the second point cloud pair, the third point cloud pair, and the fourth point cloud pair to determine a target transformation matrix corresponding to a minimum registration error; Registering the partially overlapping point cloud data to be registered according to the target transformation matrix to obtain a registration result; The point cloud registration process is performed based on a preset rotation formula; the preset rotation formula is: ;in, is the rotation matrix of the second target eigenvector rotating by a preset angle, is the point cloud data to be rotated, It is the rotated point cloud data; The error measurement processing is performed based on a preset error measurement formula; the preset error measurement formula is: ;in, is a point in the source point cloud, The target point cloud is concentrated and The corresponding points, m is the number of points in the source point cloud, and T is the candidate transformation matrix to be measured.
2. The method for registering partially overlapping point cloud data according to claim 1, characterized in that: The step of performing segmentation surface analysis on the first source point cloud data set based on the principal component analysis algorithm to obtain a first segmentation plane includes: Based on the principal component analysis algorithm, three principal components of the first source point cloud data set are extracted to obtain a first eigenvalue, a second eigenvalue and a third eigenvalue; Arrange the first eigenvalue, the second eigenvalue, and the third eigenvalue in descending order according to the values of the eigenvalues to obtain an eigenvalue sorting result; According to the eigenvalue sorting result, determining the eigenvalue with the largest value as the first target eigenvalue, and determining the eigenvector corresponding to the first target eigenvalue as the first target eigenvector; Performing center coordinate calculation processing on the first source point cloud data set to obtain first center point coordinates; The first segmentation plane is determined according to the coordinates of the first center point and a normal vector determined by the first target feature vector.
3. The method for registering partially overlapping point cloud data according to claim 2, characterized in that: The step of performing point cloud registration processing and error measurement processing according to the first point cloud pair, the second point cloud pair, the third point cloud pair, and the fourth point cloud pair to determine a target transformation matrix corresponding to a minimum registration error includes: performing a first registration process and an error calculation process on the first point cloud pair, the second point cloud pair, the third point cloud pair, and the fourth point cloud pair, respectively, to obtain four candidate transformation matrices and registration errors corresponding to the candidate transformation matrices; Performing data rotation processing on the first point cloud pair, the second point cloud pair, the third point cloud pair, and the fourth point cloud pair respectively, to obtain a fifth point cloud pair, a sixth point cloud pair, a seventh point cloud pair, and an eighth point cloud pair respectively; The fifth point cloud pair, the sixth point cloud pair, the seventh point cloud pair and the eighth point cloud pair are respectively subjected to a second registration process and an error calculation process to obtain four candidate transformation matrices and registration errors corresponding to the candidate transformation matrices; wherein the error calculation process is used to: calculate the registration errors corresponding to the candidate transformation matrices using a preset error metric formula; The sizes of all the registration errors are compared, and the candidate transformation matrix corresponding to the minimum registration error is determined as the target transformation matrix.
4. The method for registering partially overlapping point cloud data according to claim 3, characterized in that: The first point cloud pair includes: the first source point cloud set and the first target point cloud set; the second point cloud pair includes: the first source point cloud set and the second target point cloud set; the third point cloud pair includes: the second source point cloud set and the first target point cloud set; the fourth point cloud pair includes: the second source point cloud set and the second target point cloud set; The data rotation processing is performed on the first point cloud pair, the second point cloud pair, the third point cloud pair and the fourth point cloud pair respectively to obtain a fifth point cloud pair, a sixth point cloud pair, a seventh point cloud pair and an eighth point cloud pair respectively, including: According to the eigenvalue arrangement result, determining the eigenvalue with the smallest value as the second target eigenvalue, and determining the eigenvector corresponding to the second target eigenvalue as the second target eigenvector; Performing rotation calculation processing in the first point cloud pair, rotating the first source point cloud set around the second target feature vector by a preset angle, to obtain the fifth point cloud pair; Performing rotation calculation processing in the second point cloud pair, rotating the first source point cloud set around the second target feature vector by a preset angle, to obtain the sixth point cloud pair; Performing rotation calculation processing in the third point cloud pair, rotating the second source point cloud set around the second target feature vector by a preset angle, to obtain the seventh point cloud pair; A rotation calculation process is performed in the fourth point cloud pair, and the second source point cloud set is rotated around the second target feature vector by a preset angle to obtain the eighth point cloud pair; wherein the rotation calculation process is performed based on a preset rotation formula.
5. The method for registering partially overlapping point cloud data according to claim 1, characterized in that: The obtained sparse first source point cloud data set and first target point cloud data set include: Acquire a second source point cloud dataset and a second target point cloud dataset to be processed; Downsampling is performed on the second source point cloud dataset and the second target point cloud dataset respectively to obtain sparse first source point cloud dataset and first target point cloud dataset.
6. A device for registering partially overlapping point cloud data, characterized in that: It includes at least one processor and a memory for communicating with the at least one processor; the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method for aligning partially overlapping point cloud data as described in any one of claims 1 to 5.
7. An electronic device, characterized in that: It comprises the device for registering partially overlapping point cloud data as described in claim 6.
8. A storage medium, characterized in that: The storage medium is a computer-readable storage medium storing computer-executable instructions, wherein the computer-executable instructions are used to enable a computer to execute the method for registering partially overlapping point cloud data as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Point cloud registration method, equipment and medium
CN115797419A
Point cloud downsampling method, device, system and medium
CN117315208A