Point cloud registration method and device, electronic equipment and computer storage medium
By improving the teaching optimization algorithm and constructing optimization functions for rotation and translation matrices, and combining adaptive learning weights and normal distribution functions, the problems of point cloud registration accuracy and stability were solved, and high-precision measurement of complex aircraft landing gear components was achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-12-05
- Publication Date
- 2026-03-10
AI Technical Summary
Existing technologies cannot guarantee the accuracy and stability of point cloud registration. In particular, in the complex structure of aircraft landing gear components, traditional methods have low accuracy and low efficiency, and existing algorithms are prone to converge to local optima when the initial attitude is different.
An improved teaching optimization algorithm is adopted. By constructing optimization functions for rotation and translation matrices, the fitness value of point cloud alignment is determined using root mean square error. Combined with adaptive learning weights and a normal distribution function, the point cloud registration process is optimized, improving accuracy and stability.
It improves the accuracy and stability of point cloud registration, making it suitable for measuring complex aircraft landing gear components, and enhancing the precision and robustness of point cloud registration.
Smart Images

Figure CN121639754A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of point cloud registration technology, and in particular to a point cloud registration method, apparatus, electronic device and computer storage medium. Background Technology
[0002] Aircraft landing gear plays a crucial role in aircraft operation, and measuring the dimensions and geometric errors of its components is essential to ensuring its proper functioning. Traditional measurement methods rely on specialized fixtures and tools, which, due to the large size and complex structure of landing gear components, suffer from low accuracy, efficiency, and flexibility, making them unsuitable for the measurement needs of modern aircraft. With the development of 3D scanning technology, its application in the inspection of complex parts is becoming increasingly widespread. When using 3D scanning technology to measure landing gear components, it is necessary to register the point cloud data acquired from scans at different locations to achieve 3D reconstruction of the components and measurement of their dimensions and errors.
[0003] Current point cloud registration methods mainly fall into two categories: marker-assisted registration and registration using non-cooperative point cloud features. Due to the complexity of the landing gear structure, marker-based methods are difficult to implement. While the commonly used Iterative Closest Point (ICP) algorithm is widely applied, it tends to converge to local optima when the initial attitude of the point cloud is poor, and its registration accuracy and robustness are insufficient when point cloud features are unclear. Furthermore, point cloud registration methods based on computational swarm intelligence are emerging, such as the Particle Swarm Optimization (PSO) algorithm, which has been applied in point cloud registration. However, PSO struggles to determine optimal control parameters, affecting the algorithm's effectiveness. The Teaching-Based Optimization (TLBO) algorithm offers advantages such as high accuracy and stability in solving some optimization problems, but it tends to converge to local optima in high-dimensional and multimodal problems.
[0004] This shows that existing technologies cannot guarantee the accuracy and stability of point cloud registration. Summary of the Invention
[0005] In view of this, it is necessary to provide a point cloud registration method, apparatus, electronic device and computer storage medium to solve the problem that the existing technology cannot guarantee the accuracy and stability of point cloud registration.
[0006] To address the aforementioned problems, firstly, this application provides a point cloud registration method, comprising: Obtain the target point cloud data and source point cloud data to be registered, and construct the rotation matrix and translation matrix for registering the target point cloud data and the source point cloud data; An optimization function is constructed with the parameters of the rotation and translation matrices as variables and the goal of minimizing the Euclidean distance between corresponding points in the target point cloud data and the source point cloud data. The optimization function is solved using a preset optimization algorithm to obtain the optimal solutions for the rotation and translation matrices. The target rotation and translation matrices are then constructed using the optimal solutions, and the target point cloud data and source point cloud data are registered using the target rotation and translation matrices.
[0007] In one possible implementation, acquiring the target point cloud data to be registered and the source point cloud data includes: A laser scanning device is used to scan the object to be modeled from multiple angles to obtain multiple sets of point cloud data; Use any one set of point cloud data from multiple sets as the target point cloud data, and use the remaining point cloud data as the source point cloud data.
[0008] In one possible implementation, the root mean square error is used in the optimization function to determine the fitness value of the point cloud alignment. The formula for calculating the fitness value is as follows:
[0009] Where P is the target point cloud and Q is the source point cloud. For the i-th point cloud in the target point cloud set P, For the source point cloud gathering Q and The corresponding point cloud, where R is the rotation matrix, T is the translation matrix, and m is the number of points in the target point cloud set and the source point cloud set. Let be the root mean square error of the Euclidean distance between the target point set P and the i-th group of corresponding points in the source point set Q.
[0010] In one possible implementation, the preset optimization algorithm is an improved teaching optimization algorithm. The preset optimization algorithm is used to solve the optimization function to obtain the optimal parameter solutions for the rotation and translation matrices, including: Initialize multiple sets of initial parameters for the rotation and translation matrices, and calculate the fitness values corresponding to the multiple sets of initial parameters. Use the initial parameter with the smallest fitness value as the first initial parameter, and use the remaining initial parameters as the second initial parameters. The second initial parameters are updated based on the degree of difference between each second initial parameter and the first initial parameter; The updated second initial parameters are updated a second time based on the degree of difference between the updated second initial parameters and the preset adaptive learning weights; Calculate the root mean square difference between each of the second initial parameters after the second update and the first initial parameters. Use the normal distribution function based on the root mean square difference to calculate the auxiliary update parameters of each of the second initial parameters after the second update. Use the auxiliary update parameters to update each of the second initial parameters after the second update three times. Repeat the above update process until the preset stopping condition is reached to obtain the optimal solution of the parameters of the rotation matrix and the translation matrix.
[0011] In one possible implementation, updating the second initial parameters based on the degree of difference between each second initial parameter and the first initial parameter includes: The degree of difference between each second initial parameter and the first initial parameter is calculated based on preset random numbers and teaching factors; Candidate updated values for the second initial parameter are determined based on the degree of difference and the corresponding second initial parameter; When the candidate update value is within the selectable range of the second initial parameter, the value of the second initial parameter is updated to the candidate update value; when the candidate update value is not within the selectable range of the second initial parameter, the second initial parameter is updated based on the selectable range.
[0012] In one possible implementation, the update formula for the second update is:
[0013]
[0014] in, For adaptive weights, and Here, represents the maximum and minimum values of the adaptive weights, and j represents the current iteration number. The preset maximum number of iterations, For the first i The current value of the second initial parameter of the group. For the first i The value of the second initial parameter after the second update. For the first m The current value of the second initial parameter of the group. and They are respectively and The corresponding fitness value.
[0015] In one possible implementation, the above update process is repeated sequentially until a preset stopping condition is met, obtaining the optimal solution for the parameters of the rotation matrix and translation matrix, including: Set the first maximum number of iterations, the second maximum number of iterations, and the third maximum number of iterations for each of the three update processes, and set the total maximum number of iterations; When the number of updates in the first update reaches the first maximum iteration count, the second update begins. When the number of updates in the second update reaches the second maximum iteration count, the third update begins. When the number of updates in the third update reaches the third maximum iteration count, the total number of updates is incremented by 1. When the total number of updates reaches the maximum number of iterations, the update stops, and the initial parameters with the minimum fitness value are determined as the optimal solution for the rotation and translation matrices.
[0016] Secondly, this application also provides a point cloud registration device, comprising: The data acquisition module is used to acquire the target point cloud data and the source point cloud data to be registered, and to construct a rotation matrix and a translation matrix for registering the target point cloud data and the source point cloud data. The optimization function construction module is used to construct an optimization function with the parameters of the rotation matrix and translation matrix as variables, and with the objective of minimizing the Euclidean distance between corresponding points in the target point cloud data and the source point cloud data. The function solving module is used to solve the optimization function using a preset optimization algorithm to obtain the optimal solution of the rotation matrix and translation matrix. The target rotation matrix and target translation matrix are constructed using the optimal solution of the parameters, and the target point cloud data and source point cloud data are registered using the target rotation matrix and target translation matrix.
[0017] Thirdly, this application also provides an electronic device, including a memory and a processor, wherein, Memory, used to store programs; The processor, coupled to the memory, is used to execute the program stored in the memory to implement the steps in the point cloud registration method of any of the above embodiments.
[0018] Fourthly, this application also provides a computer-readable storage medium for storing a computer-readable program or instructions, which, when executed by a processor, can implement the steps in the point cloud registration method of any of the above embodiments.
[0019] The beneficial effects of this application are as follows: The point cloud registration method provided in this application acquires the target point cloud data and the source point cloud data to be registered, and constructs a rotation matrix and a translation matrix for registering the target point cloud data and the source point cloud data; using the parameters of the rotation matrix and the translation matrix as variables, and taking the minimization of the Euclidean distance between corresponding points between the target point cloud data and the source point cloud data as the objective, an optimization function is constructed; the point cloud registration problem is transformed into a parameter optimization problem of the rotation matrix and the translation matrix, and the optimization function is solved by a set of optimization algorithms, which can use mature algorithms to optimize point cloud registration and improve the accuracy and stability of point cloud registration. Attached Figure Description
[0020] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 A flowchart illustrating a point cloud registration method provided in an embodiment of this application; Figure 2 A flowchart illustrating a point cloud data acquisition method provided in an embodiment of this application; Figure 3 A flowchart illustrating a parameter update method provided in an embodiment of this application; Figure 4 A flowchart illustrating a parameter secondary update method provided in an embodiment of this application; Figure 5 A flowchart illustrating a parameter iterative update method provided in an embodiment of this application; Figure 6 This is a schematic diagram of the structure of a point cloud registration device provided in an embodiment of this application; Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation
[0022] The preferred embodiments of this application are described in detail below with reference to the accompanying drawings, which constitute a part of this application and are used together with the embodiments of this application to illustrate the principles of this application, but are not intended to limit the scope of this application.
[0023] In the description of the embodiments of this application, unless otherwise stated, "multiple" means two or more. "And / or" describes the relationship between related objects, indicating that there can be three relationships. For example, A and / or B can represent three situations: A exists alone, A and B exist simultaneously, and B exists alone.
[0024] The terms "first," "second," etc., used in the embodiments of this application are for descriptive purposes only and should not be construed as indicating or implying their relative importance or implicitly specifying the number of technical features indicated. Therefore, a technical feature defined with "first" or "second" may explicitly or implicitly include at least one of that feature.
[0025] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0026] One specific embodiment of this application, such as Figure 1 As shown, a point cloud registration method is disclosed, including: S101, acquire the target point cloud data and source point cloud data to be registered, and construct the rotation matrix and translation matrix for registering the target point cloud data and the source point cloud data.
[0027] In this embodiment, both the target point cloud data and the source point cloud data are point cloud data obtained by scanning the object to be modeled. By scanning the object multiple times, multiple sets of point cloud data are obtained. After registering these multiple sets of point cloud data, relatively accurate point cloud data of the object to be modeled can be obtained. Specifically, registering the target point cloud data and the source point cloud data requires the use of rotation and translation matrices. The rotation matrix R and the translation matrix T can be determined by six parameters, as follows:
[0028]
[0029]
[0030]
[0031]
[0032] in, , as well as The three parameters of the rotation matrix are: , as well as These are the three parameters of the translation matrix.
[0033] S102 constructs an optimization function with the parameters of the rotation and translation matrices as variables and the objective of minimizing the Euclidean distance between corresponding points in the target point cloud data and the source point cloud data.
[0034] In this embodiment of the application, in order to improve the accuracy and stability of point cloud registration, the point cloud registration problem is transformed into a parameter optimization problem of rotation matrix and translation matrix. Specifically, the six parameters of rotation matrix and translation matrix can be used as independent variables. By continuously optimizing the six parameters of rotation matrix and translation matrix, the root mean square error of the Euclidean distance between corresponding points of the target point cloud data and the source point cloud data after registration by rotation matrix and translation matrix is minimized.
[0035] S103, the optimization function is solved using a preset optimization algorithm to obtain the optimal solution of the rotation matrix and translation matrix. The target rotation matrix and target translation matrix are constructed using the optimal solution of the parameters, and the target point cloud data and source point cloud data are registered using the target rotation matrix and target translation matrix.
[0036] In this embodiment, after determining the optimization function for the parameters of the rotation and translation matrices, a preset optimization algorithm is used to solve the optimization function to obtain the optimal solution for the parameters of the rotation and translation matrices. The target rotation and translation matrices are then constructed using the optimal solution, and the target point cloud data and source point cloud data are registered based on the target matrices. The process of solving the optimization function will be described in detail later in this application.
[0037] The point cloud registration method provided in this application acquires the target point cloud data and the source point cloud data, and constructs a rotation matrix and a translation matrix for registering the target point cloud data and the source point cloud data. Using the parameters of the rotation matrix and the translation matrix as variables, an optimization function is constructed with the objective of minimizing the Euclidean distance between corresponding points in the target point cloud data and the source point cloud data. The point cloud registration problem is transformed into a parameter optimization problem of the rotation matrix and the translation matrix, and an optimization algorithm is used to solve the optimization function. This method can use mature algorithms to optimize point cloud registration, thereby improving the accuracy and stability of point cloud registration.
[0038] In some possible embodiments of this application, such as Figure 2 As shown, the acquisition of target point cloud data to be registered and source point cloud data includes: S201, a laser scanning device is used to scan the object to be modeled from multiple angles to obtain multiple sets of point cloud data; S202, take any one set of point cloud data from multiple sets of point cloud data as the target point cloud data, and the remaining point cloud data as the source point cloud data.
[0039] In this embodiment of the application, in order to ensure the accuracy of modeling the object to be modeled, the object to be modeled can be scanned from multiple angles. Taking the aircraft landing gear component as an example, a laser scanner is used to scan the landing gear component from different parts and angles to obtain multiple sets of point cloud data containing the detailed geometry and surface details of the landing gear component. Any one set of point cloud data in the multiple sets of point cloud data is used as the target point cloud data, and the remaining point cloud data is used as the source point cloud data.
[0040] In some possible embodiments of this application, the root mean square error is used in the optimization function to determine the fitness value of point cloud alignment, and the formula for calculating the fitness value is as follows: (1) Where P is the target point cloud and Q is the source point cloud. For the i-th point cloud in the target point cloud set P, For the source point cloud gathering Q and The corresponding point cloud, where R is the rotation matrix, T is the translation matrix, and m is the number of points in the target point cloud set and the source point cloud set. Let be the root mean square error of the Euclidean distance between the target point set P and the i-th group of corresponding points in the source point set Q.
[0041] In this embodiment, to determine the alignment of the corresponding point cloud registrations of each rotation matrix and translation matrix during the optimization process, the root mean square error of the Euclidean distance between corresponding points in the target point cloud and the source point cloud is used to determine the fitness value of the point cloud alignment. Optionally, for the parameters of each set of rotation and translation matrices, the root mean square error of the Euclidean distance between corresponding points in the target point cloud and the source point cloud after registration using that set of parameters can be calculated to determine the fitness value of that set of parameters, making it easier to determine whether the set of parameters meets the requirements.
[0042] The embodiments of this application determine the fitness value of point cloud alignment through root mean square error, which can intuitively reflect the registration effect of rotation matrix and translation matrix.
[0043] In some possible embodiments of this application, such as Figure 3 As shown, the preset optimization algorithm is an improved teaching optimization algorithm. The preset optimization algorithm is used to solve the optimization function to obtain the optimal solution for the parameters of the rotation matrix and translation matrix, including: S301, initialize multiple sets of initial parameters for the rotation matrix and translation matrix, and calculate the fitness values corresponding to the multiple sets of initial parameters. Take the initial parameter with the smallest fitness value as the first initial parameter, and take the remaining initial parameters as the second initial parameters. S302, update the second initial parameters based on the degree of difference between each second initial parameter and the first initial parameter; S303, based on the degree of difference between the updated second initial parameters and the preset adaptive learning weights, the updated second initial parameters are updated a second time; S304. Calculate the root mean square difference between each of the second initial parameters after the second update and the first initial parameters. Use the normal distribution function based on the root mean square difference to calculate the auxiliary update parameters of each of the second initial parameters after the second update. Use the auxiliary update parameters to update each of the second initial parameters after the second update three times. Repeat the above update process until the preset stopping condition is reached to obtain the optimal solution of the parameters of the rotation matrix and the translation matrix.
[0044] In this embodiment, when solving the optimization function using an optimization algorithm, the improved teaching optimization algorithm provided in this application can be used. This improved teaching optimization algorithm is divided into a teacher stage, a learning stage, and a tutoring stage. In the teacher stage, the initial parameters of the rotation and translation matrices are first initialized. Multiple sets of initial parameters are randomly extracted, and the fitness value corresponding to each set of initial parameters is calculated. The initial parameter with the lowest fitness value is used as the first initial parameter (i.e., the teacher), and the remaining initial parameters are used as the second initial parameters (i.e., the students). Then, each second initial parameter is updated for the first time based on the degree of difference between each second initial parameter and the first initial parameter. In the learning stage, adaptive learning weights are introduced, and the updated second initial parameters are updated a second time based on the degree of difference between the updated second initial parameters. During the tutoring phase, the root mean square difference between each of the second initial parameters after the second update and the first initial parameters is calculated. The tutoring update parameters of each of the second initial parameters after the second update are calculated using the normal distribution function based on the root mean square difference. The tutoring update parameters are then used to update each of the second initial parameters after the second update three times. When the fitness value of a certain set of initial parameters meets the preset condition or the number of updates reaches the maximum number of updates, the update is stopped, and the optimal solution of the parameters of the rotation matrix and the translation matrix is determined.
[0045] Furthermore, such as Figure 4 As shown, the second initial parameters are updated based on the degree of difference between each second initial parameter and the first initial parameter, including: S401, calculate the degree of difference between each second initial parameter and the first initial parameter based on preset random numbers and teaching factors; S402, determine the candidate update value of the second initial parameter based on the degree of difference and the corresponding second initial parameter; S403, when the candidate update value is within the selectable range of the second initial parameter, update the value of the second initial parameter to the candidate update value; when the candidate update value is not within the selectable range of the second initial parameter, update the second initial parameter based on the selectable range.
[0046] In this embodiment of the application, when updating the second initial parameters for the first time, it is necessary to first calculate the degree of difference between each second initial parameter and the first initial parameter. The formula for calculating the degree of difference is as follows: (2) (3) (4) (5) Where k is the number of the second initial parameters, and rand is a random number between 0 and 1. As the first initial parameter, For the firsti The current value of the second initial parameter. This is a candidate update value for the i-th second initial parameter.
[0047] Furthermore, after determining the candidate update value of the i-th second initial parameter, it is also necessary to determine whether the candidate update value is within a preset range. When the candidate update value is within the selectable range of the second initial parameter, the value of the second initial parameter is updated to the candidate update value. When the candidate update value is not within the selectable range of the second initial parameter, the second initial parameter is updated based on the selectable range.
[0048] In some possible embodiments of this application, the update formula for the second update is: (6) (7) in, For adaptive weights, and Here, represents the maximum and minimum values of the adaptive weights, and j represents the current iteration number. The preset maximum number of iterations, For the first i The current value of the second initial parameter of the group. For the first i The value of the second initial parameter after the second update. For the first m The current value of the second initial parameter of the group. and They are respectively and The corresponding fitness value.
[0049] In the learning phase of the improved teaching optimization algorithm provided in this application, the updated second initial parameters are updated twice through mutual learning among themselves. Specifically, the updated second initial parameters are selected sequentially. Randomly select one from the other updated second initial parameters. ,Compare and The fitness value, and based on the comparison results of this fitness value, the fitness value is used to determine the fitness value. To update, it should be noted that for each Each parameter needs to be compared and updated with all other remaining second initial parameters, and the specific update strategies are shown in formulas (6) and (7). Since the correlation between learning effect and learning time is not strictly linear, adaptive learning weights (ALW) are proposed to improve learning efficiency.
[0050] Furthermore, in the tutoring stage of the improved teaching optimization algorithm provided in this application, since student scores typically follow a normal distribution, a normal distribution function is introduced. By calculating the root mean square difference between each of the second initial parameters after the second update and the first initial parameters, the tutoring update parameters for each of the second initial parameters after the second update are calculated using the normal distribution function based on the root mean square difference. These tutoring update parameters are then used to update each of the second initial parameters three times. This update process is repeated until a preset stopping condition is met, resulting in the optimal solution for the parameters of the rotation and translation matrices. Specifically, the update formula is as follows: (8) (9) (10) Where RMS is the root mean square difference between the i-th second initial parameter and the first initial parameter, and TP is the tutor update parameter.
[0051] In this embodiment of the application, during the three update processes mentioned above—namely, each teacher stage, learning stage, and tutoring stage—it is necessary to check whether the updated position is within the set upper and lower limits. If not, the position needs to be randomly generated according to a formula, which is: (11) in, Let be the k-th dimension solution of the i-th solution, ub be the upper bound of the second initial parameters, and lb be the lower bound of the second initial parameters.
[0052] The improved teaching optimization algorithm provided in this application embodiment effectively improves the accuracy and stability of flying point cloud registration. The introduction of adaptive learning weights and tutoring phase enhances the algorithm's exploration and development capabilities and improves the solution accuracy.
[0053] In some possible embodiments of this application, such as Figure 5 As shown, the above update process is repeated sequentially until a preset stopping condition is reached, obtaining the optimal solution for the parameters of the rotation matrix and translation matrix, including: S501 sets the first maximum number of iterations, the second maximum number of iterations, and the third maximum number of iterations for the three update processes, and sets the total maximum number of iterations; S502: When the number of updates in the first update reaches the first maximum iteration count, the second update begins. When the number of updates in the second update reaches the second maximum iteration count, the third update begins. When the number of updates in the third update reaches the third maximum iteration count, the total number of updates is incremented by 1. S503: When the total number of updates reaches the maximum number of iterations, stop updating and determine the initial parameters with the minimum fitness value as the optimal solution for the rotation and translation matrices.
[0054] In the embodiments of this application, the improved teaching optimization algorithm solves the optimization function iteratively. To illustrate the solution process of this algorithm in detail, an example is provided: Step S01: Initialize a population X with N individuals; Step S02: Calculate the fitness of each "student"; Step S03: Update the adaptive weights according to formula (6); Step S04: Select the individual with the lowest fitness as the "teacher" (TEA), and the rest as "students"; Step S05: Set the first iteration number iter=1; Step S06: Calculate the mean of all “students” according to formula (2); Step S07: According to formula (4), obtain the difference between "student" and teacher; Step S08: Set the second iteration number i=1; Step S09: Update the position of each "student" according to formula (5); Step S10: Determine whether the position of the "student" is within the set upper limit ub and lower limit lb; if the updated position of the "student" is not within the set upper and lower limits, then generate it randomly according to formula (11); Step S11: Determine whether the second iteration number i is greater than N-1, where N is the number of individuals in the population; if i ≤ N-1, proceed to step S12; if i > N-1, proceed to step S13. Step S12: Increment the second iteration count by 1, i = i + 1, and return to step S08; Step S13: Calculate the updated fitness and compare it with the previous fitness. If the new fitness is smaller, then update it. Step S14: Set the third loop j; Step S15: Select the j-th "student" in the population and compare its fitness with any of the remaining "students"; Step S16: Adjust the position of "Student"; Step S17: Determine whether the position of the "student" is within the set upper limit ub and lower limit lb; if the updated position of the "student" is not within the set upper and lower limits, then generate it randomly according to formula (11); Step S18: Determine whether the number of the third iteration j is greater than N-1, where N is the number of individuals in the population; if j≤N-1, proceed to step S19; if j>N-1, proceed to step S20. Step S19: Increment the third iteration count by 1, j = j + 1, and return to step S14; Step S20: Calculate the updated fitness and compare it with the previous fitness; if the new fitness is smaller, then update it. Step S21: Enter the tutoring stage, and introduce the Gaussian normal function according to formula (8); Step S22: Update the position of each “student” according to formulas (9) and (10); Step S23: Determine whether the position of the "student" is within the set upper limit ub and lower limit lb; if the updated position of the "student" is not within the set upper and lower limits, then generate it randomly according to formula (11); Step S24: Calculate the updated fitness and compare it with the previous fitness. If the new fitness is smaller, then update it. Step S25: Determine whether the first iteration number iter is greater than maxgen-1, where maxgen is the maximum number of iterations. If iter ≤ maxgen-1, proceed to step S26; if iter > maxgen-1, proceed to step S27. Step S26: Increment the first iteration count by 1, iter = iter + 1, and return to step S05; Step S27: Output the current optimal solution and fitness.
[0055] The above steps are the complete steps of the improved teaching optimization algorithm provided in the embodiments of this application. By combining point cloud registration with the improved teaching optimization algorithm, the point cloud registration problem is transformed into a parameter optimization problem. The introduction of adaptive learning weights and tutoring phase enhances the algorithm's exploration and development capabilities, improves the solution accuracy, and effectively improves the precision and stability of point cloud registration.
[0056] To better implement the point cloud registration method in the embodiments of this application, based on the point cloud registration method, correspondingly, such as... Figure 6 As shown in the figure, this application embodiment also provides a point cloud registration device, the point cloud registration device 600 including: The data acquisition module 601 is used to acquire the target point cloud data to be registered and the source point cloud data, and to construct a rotation matrix and translation matrix for registering the target point cloud data and the source point cloud data. The optimization function construction module 602 is used to construct an optimization function with the parameters of the rotation matrix and translation matrix as variables and the goal of minimizing the Euclidean distance between corresponding points between the target point cloud data and the source point cloud data. The function solving module 603 is used to solve the optimization function using a preset optimization algorithm to obtain the optimal solution of the rotation matrix and translation matrix. The target rotation matrix and target translation matrix are constructed using the optimal solution of the parameters, and the target rotation matrix and target translation matrix are used to register the target point cloud data and the source point cloud data.
[0057] The point cloud registration device 600 provided in the above embodiments can realize the technical solutions described in the above point cloud registration method embodiments. The specific implementation principles of each module or unit can be found in the corresponding content in the above point cloud registration method embodiments, and will not be repeated here.
[0058] like Figure 7 As shown, this application also provides an electronic device 700. The electronic device 700 includes a processor 701, a memory 702, and a display 703. Figure 7 Only some components of the electronic device 700 are shown, but it should be understood that it is not required to implement all the components shown, and more or fewer components may be implemented instead.
[0059] In some embodiments, processor 701 may be a central processing unit (CPU), a microprocessor, or other data processing chip, used to run program code stored in memory 702 or process data, such as the point cloud registration method in this application.
[0060] In some embodiments, processor 701 may be a single server or a group of servers. The server group may be centralized or distributed. In some embodiments, processor 701 may be local or remote. In some embodiments, processor 701 may be implemented on a cloud platform. In some embodiments, the cloud platform may include a private cloud, public cloud, hybrid cloud, community cloud, distributed cloud, internal cloud, multi-cloud, or any combination thereof.
[0061] In some embodiments, memory 702 may be an internal storage unit of electronic device 700, such as a hard disk or memory of electronic device 700. In other embodiments, memory 702 may also be an external storage device of electronic device 700, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc. equipped on electronic device 700.
[0062] Furthermore, the memory 702 may include both internal storage units of the electronic device 700 and external storage devices. The memory 702 is used to store application software and various types of data installed on the electronic device 700.
[0063] In some embodiments, display 703 may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, or an OLED (Organic Light-Emitting Diode) touchscreen. Display 703 is used to display information from electronic device 700 and to display a visual user interface. Components 701-703 of electronic device 700 communicate with each other via a system bus.
[0064] In some embodiments, when the processor 701 executes the point cloud registration program in the memory 702, the following steps may be performed: Obtain the target point cloud data and source point cloud data to be registered, and construct the rotation matrix and translation matrix for registering the target point cloud data and the source point cloud data; An optimization function is constructed with the parameters of the rotation and translation matrices as variables and the goal of minimizing the Euclidean distance between corresponding points in the target point cloud data and the source point cloud data. The optimization function is solved using a preset optimization algorithm to obtain the optimal solutions for the rotation and translation matrices. The target rotation and translation matrices are then constructed using the optimal solutions, and the target point cloud data and source point cloud data are registered using the target rotation and translation matrices.
[0065] It should be understood that when the processor 701 executes the point cloud registration program in the memory 702, in addition to the functions mentioned above, it can also perform other functions, as detailed in the description of the corresponding method embodiments above.
[0066] Furthermore, this application does not specifically limit the type of electronic device 700 mentioned in the embodiments. Electronic device 700 can be a mobile phone, tablet computer, personal digital assistant (PDA), wearable device, laptop computer, or other portable electronic device. Exemplary embodiments of portable electronic devices include, but are not limited to, portable electronic devices running iOS, Android, Microsoft, or other operating systems. The aforementioned portable electronic device can also be other portable electronic devices, such as a laptop computer with a touch-sensitive surface (e.g., a touch panel). It should also be understood that in some other embodiments of this application, electronic device 700 may not be a portable electronic device, but rather a desktop computer with a touch-sensitive surface (e.g., a touch panel).
[0067] Accordingly, this application also provides a computer-readable storage medium for storing a computer-readable program or instruction. When the program or instruction is executed by a processor, it can implement the steps or functions of the point cloud registration method provided in the above-described method embodiments.
[0068] Those skilled in the art will understand that all or part of the processes of the methods described in the above embodiments can be implemented by a computer program instructing related hardware, and the program can be stored in a computer-readable storage medium. The computer-readable storage medium may be a disk, optical disk, read-only memory, or random access memory, etc.
[0069] The above description is merely a preferred embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application.
Claims
1. A point cloud registration method, characterized in that, The method comprises the following steps: acquiring target point cloud data and source point cloud data to be registered, and constructing a rotation matrix and a translation matrix for registration of the target point cloud data and the source point cloud data; constructing an optimization function with parameters of the rotation matrix and the translation matrix as variables and with a minimum Euclidean distance between corresponding points in the target point cloud data and the source point cloud data as an objective; solving the optimization function by using a preset optimization algorithm to obtain an optimal solution of the parameters of the rotation matrix and the translation matrix, constructing a target rotation matrix and a target translation matrix based on the optimal solution of the parameters, and registering the target point cloud data and the source point cloud data by using the target rotation matrix and the target translation matrix.
2. The point cloud registration method of claim 1, wherein, The acquiring of the target point cloud data and the source point cloud data to be registered comprises: performing multi-angle scanning on an object to be modeled by using a laser scanning device to obtain a plurality of sets of point cloud data; taking any one of the plurality of sets of point cloud data as target point cloud data and taking the remaining point cloud data as source point cloud data.
3. The point cloud registration method of claim 1, wherein, In the optimization function, a root mean square error is used to judge a fitness value of point cloud alignment, and a calculation formula of the fitness value is: wherein P is a target point cloud set, Q is a source point cloud set, is the i-th point cloud in the target point cloud set P, is the i-th point cloud in the source point cloud set Q corresponding to is the i-th point cloud in the target point cloud set P, is the root mean square error of the Euclidean distance between the i-th set of corresponding points in the target point cloud set P and the source point cloud set Q.
4. The point cloud registration method of claim 3, wherein, The preset optimization algorithm is an improved teaching optimization algorithm, and the solving of the optimization function by using the preset optimization algorithm to obtain the optimal solution of the parameters of the rotation matrix and the translation matrix comprises: initializing a plurality of initial parameters of the rotation matrix and the translation matrix, calculating fitness values corresponding to the plurality of initial parameters, taking the smallest initial parameter in the fitness values as a first initial parameter, and taking the remaining initial parameters as second initial parameters; updating the second initial parameters based on a difference degree of each second initial parameter from the first initial parameter; performing secondary updating on the updated second initial parameters based on a difference degree between the updated second initial parameters and a preset adaptive learning weight; calculating a root mean square difference between each second initial parameter after the secondary updating and the first initial parameter, calculating a tutoring update parameter of each second initial parameter after the secondary updating based on a normal distribution function of the root mean square difference, performing tertiary updating on each second initial parameter after the secondary updating by using the tutoring update parameter, and repeatedly performing the above updating process until a preset stop condition is reached to obtain the optimal solution of the parameters of the rotation matrix and the translation matrix.
5. The point cloud registration method of claim 4, wherein, The updating of the second initial parameters based on the difference degree of each second initial parameter from the first initial parameter comprises: calculating the difference degree of each second initial parameter from the first initial parameter based on a preset random number and a teaching factor; determining a candidate update value of the second initial parameter based on the difference degree and the corresponding second initial parameter; when the candidate update value is within a selectable range of the second initial parameter, updating a value of the second initial parameter to the candidate update value, and when the candidate update value is not within the selectable range of the second initial parameter, updating the second initial parameter based on the selectable range.
6. The point cloud registration method of claim 5, wherein, An update formula of the secondary updating is: wherein, is an adaptive weight, and are a maximum value and a minimum value of the adaptive weight, respectively, j is a current iteration number, is a preset maximum iteration number, is a current value of the jth i group of second initial parameters, is a value of the jth i group of second initial parameters after a second update, is a current value of the jth m group of second initial parameters, and are a maximum value and a minimum value of the adaptive weight, respectively, j is a current iteration number, and are corresponding fitness values.
7. The point cloud registration method of claim 6, wherein, The above updating process is repeated in sequence until a preset stopping condition is reached, to obtain a parameter optimal solution of the rotation matrix and the translation matrix, including: A first maximum iteration number, a second maximum iteration number and a third maximum iteration number are set for the three updating processes respectively, and a total maximum iteration number is set; When the updating number of the first updating reaches the first maximum iteration number, the second updating is started, when the updating number of the second updating reaches the second maximum iteration number, the third updating is started, and when the updating number of the third updating reaches the third maximum iteration number, the total updating number is increased by 1; When the total updating number reaches the total maximum iteration number, the updating is stopped, and the initial parameter with the minimum fitness value is determined as the parameter optimal solution of the rotation matrix and the translation matrix.
8. A point cloud registration apparatus, characterized by, Comprising: A data acquisition module is configured to acquire target point cloud data and source point cloud data to be registered, and to construct a rotation matrix and a translation matrix for registration of the target point cloud data and the source point cloud data; An optimization function construction module is configured to construct an optimization function with parameters of the rotation matrix and the translation matrix as variables, and with the minimum Euclidean distance between corresponding points of the target point cloud data and the source point cloud data as a target; A function solving module is configured to solve the optimization function by using a preset optimization algorithm, to obtain a parameter optimal solution of the rotation matrix and the translation matrix, to construct a target rotation matrix and a target translation matrix with the parameter optimal solution, and to register the target point cloud data and the source point cloud data by using the target rotation matrix and the target translation matrix.
9. An electronic device, comprising: Comprising a memory and a processor, wherein, The memory is configured to store a program; The processor is coupled with the memory and is configured to execute the program stored in the memory to implement the steps in the point cloud registration method of any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, A computer readable program or instruction is stored, and the program or instruction is executed by a processor to implement the steps in the point cloud registration method of any one of claims 1 to 7.
Citation Information
Cited By
A Rigid Body Continuous Matching and Tracking Method Based on Sparse Point Clouds
CN122312701A