A 3D Point Cloud Registration Method Based on Evolutionary Multi-Task Optimization
By adopting an evolutionary multi-task optimization method in point cloud registration, using multi-task particle swarm algorithm and knowledge migration strategy, the local optimal problem in point cloud registration is solved, and the success rate and accuracy of registration are improved.
Patent Information
- Application Number
- CN202310176152.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-27
- Publication Date
- 2025-05-30
- Estimated Expiration
- 2043-02-27
AI Technical Summary
The prior art is prone to falling into local optimality in point cloud registration, resulting in low registration success rate. Especially when the point cloud overlap rate is low, it is difficult to improve the registration accuracy and success rate.
A three-dimensional point cloud registration method based on evolutionary multi-task optimization is adopted, and the solution space is reduced and knowledge completion is carried out through multi-task particle swarm algorithm and knowledge transfer strategy to improve the success rate and accuracy of registration.
It effectively solves the problem that evolutionary registration methods are prone to falling into local optimality, improves the success rate and accuracy of point cloud registration, and makes the registration results more accurate and reliable.
Smart Images

Figure CN116363179B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the fields of computer vision and evolutionary computation, and particularly relates to a three-dimensional point cloud registration method based on evolutionary multi-task optimization. Background Art
[0002] When people hope to obtain the digital information of the surface of an object or a scene, they usually scan it and store the obtained information in the form of a point cloud. A point cloud is a set of points captured from the surface of an object or a scene by a scanning instrument. Currently, point clouds have become one of the most suitable data forms for describing the three-dimensional world. However, due to occlusion or changes in the viewing angle of the scanning instrument, the point cloud captured in a single scan only contains a part of the object or the scene. Therefore, it is very necessary to use multiple incomplete point clouds to recover the point cloud containing all the surface information of the scanned object, that is, it is necessary to scan the object or the scene multiple times from different viewing angles. However, the point clouds obtained from multiple scans are not already aligned, and a point cloud registration method needs to be used to align them according to the information of the overlapping part, and then the complete surface information of the object or the scene can be obtained. Currently, point cloud registration has been widely applied in fields such as cultural relic digitization, three-dimensional reconstruction, and autonomous driving; at the same time, point cloud registration is also a key link connecting point cloud data acquisition and downstream tasks. Common downstream tasks can include point cloud classification and segmentation, target recognition, and simultaneous localization and mapping.
[0003] Nowadays, many methods have been proposed to solve the point cloud registration problem, and they can be roughly divided into three categories, namely traditional methods, deep learning methods, and evolutionary methods.
[0004] Traditional methods are usually supported by rigorous mathematical theories, and the results obtained by this type of method are deterministic in repeated experiments. The representative of traditional methods is the iterative closest point (ICP) algorithm, which models point cloud registration as a least squares problem and uses methods such as singular value decomposition or quaternions to solve it iteratively. ICP is a point-based registration method, and the corresponding relationship between points is unknown. However, traditional methods need to meet various limitations of numerical optimization methods when designing the objective function, such as differentiability or convexity, and these limitations lack universality for the registration problem. For non-convex registration problems, traditional methods usually solve them iteratively or perform convex relaxation, which results in the method only being able to guarantee convergence to the global optimum or losing registration accuracy.
[0005] In recent years, feature-based registration methods have received extensive attention. By matching features, the corresponding relationships between points are known. The fast global registration (FGR) algorithm uses a variable-scale Geman-McClure predictor to measure the registration error, and then uses the Gauss-Newton method to solve the objective function. Deep learning methods are favored by researchers because they can extract more discriminative features from point clouds. In the 3DMatch registration network, multiple three-dimensional convolutions are used to obtain high-dimensional features for registration. However, deep learning methods have problems such as insufficient generalization and the need for a large amount of training data. This method often has poor performance on data not used in training.
[0006] Evolutionary methods have advantages such as being robust to the initial pose and having fewer restrictions when designing the objective function. Compared with the first two methods, evolutionary methods have become a relatively popular method at present. For example, Silva et al. designed a surface interpenetration measure (SIM). Compared with the mean square error, this measure has higher accuracy but cannot be solved using numerical optimization methods, so a hybrid genetic algorithm is used for solution. Li et al. used a new point descriptor to establish the corresponding relationship and used the differential evolution algorithm to search for the optimal transformation matrix. However, in evolutionary registration methods, due to various operations being filled with randomness, the results searched by this method are also uncertain. Most evolutionary registration algorithms or when using evolutionary computing algorithms to process registration problems are prone to falling into local optima, resulting in a failed registration. Summary of the Invention
[0007] To solve the above problems existing in the prior art, the present invention provides a three-dimensional point cloud registration method based on evolutionary multi-task optimization. The technical problems to be solved by the present invention are realized through the following technical solutions:
[0008] Step 1, set the parameters of the multi-task particle swarm algorithm, and preprocess the point clouds P and Q to obtain the corresponding translation-invariant metric sets TIM P and TIM Q ;
[0009] Step 2, perform multi-task configuration, and set the solution spaces and fitness functions of two sub-populations in the parameters of the multi-task particle swarm algorithm according to the multi-task configuration results; wherein, the multi-task includes task α and β, corresponding to the first sub-population and the second sub-population respectively; the goal of task α is to search for the rigid transformation parameters that register the two point clouds; the goal of task β is to search for the rotation parameters that register the translation-invariant metric sets TIM P and TIM Q ;
[0010] Step 3: Randomly generate positions and velocities within the corresponding ranges for each particle in the two subpopulations to complete the initialization of the two subpopulations;
[0011] Step 4: Decode the particles in the two subpopulations, evaluate the fitness of the particles using the decoding results and the corresponding fitness functions, and update pbest and gbest in the two subpopulations using the fitness selection method;
[0012] Step 5: Determine whether the knowledge transfer condition is satisfied; if so, execute Step 6 and Step 7; if not, execute Step 7;
[0013] Step 6: Use gbest in the two subpopulations as the transferred knowledge, complete the knowledge obtained in the second subpopulation, and update gbest in the two subpopulations using arithmetic crossover after knowledge completion;
[0014] Step 7: Update the velocities and positions of the particles in the two subpopulations based on the updated gbest;
[0015] Step 8: Determine whether the termination condition is satisfied; if not, return to Step 4 and continue to execute; if so, execute Step 9, terminate the loop, and output the gbest newly searched by the first subpopulation after decoding for point cloud registration.
[0016] In an embodiment of the present invention, the preprocessing of the point clouds P and Q to obtain the corresponding translation invariant metric sets TIM P and TIM Q , includes:
[0017] Normalize the point clouds P and Q to the [-1, 1] 3 space, and perform centroid coincidence processing on the obtained two point clouds to obtain point clouds P n and Q n ;
[0018] Sample the point clouds P n and Q n respectively to obtain point clouds P s and Q s ;
[0019] Extract features from the point clouds P s and Q s using a pre-designed feature descriptor FPFH, and establish point-to-point correspondence according to the feature similarity degree; wherein, the point-to-point correspondence includes multiple groups of relationships, and any group of relationships represents a point in the point cloud P s and its similar point in the point cloud Q s ;
[0020] Subtract two points belonging to the same point cloud in any two groups of relationships to obtain a translation-invariant metric of the same point cloud, and all the translation-invariant metrics obtained from the same point cloud constitute its own translation-invariant metric set, obtaining the translation-invariant metric set TIM s for the point cloud P P and the translation-invariant metric set TIM s for the point cloud Q Q .
[0021] In an embodiment of the present invention, the multi-task configuration is performed, and the solution space and fitness function of two sub-populations of the multi-task particle swarm algorithm parameters are set according to the multi-task configuration result, including:
[0022] Configure the objective functions of the task α and the task β;
[0023] Determine the solution space of the first sub-population according to the objective of the task α, and determine the objective function of the task α as the fitness function of the first sub-population;
[0024] Determine the solution space of the second sub-population according to the objective of the task β, and determine the objective function of the task β as the fitness function of the second sub-population.
[0025] In an embodiment of the present invention, randomly generating positions and velocities of each particle in the two sub-populations that do not exceed the corresponding ranges includes:
[0026] For the first sub-population, randomly generate the positions and velocities of the particles within the first particle position range and the first particle velocity range; and, for the second sub-population, randomly generate the positions and velocities of the particles within the second particle position range and the second particle velocity range;
[0027] wherein, the first particle position range is: [-π, π] × [-0.5π, 0.5π] × [-π, π] × [-0.5, 0.5] 3 ; the first particle velocity range is: [-0.1π, 0.1π] × [-0.05π, 0.05π] × [-0.1π, 0.1π] × [-0.05, 0.05] 3 ; the second particle position range is: [-π, π] × [-0.5π, 0.5π] × [-π, π]; the second particle velocity range is: [-0.1π, 0.1π] × [-0.05π, 0.05π] × [-0.1π, 0.1π].
[0028] In an embodiment of the present invention, decoding the particles in the two sub-populations, and using the decoding results and the corresponding fitness functions to evaluate the fitness of the particles, including:
[0029] Decode the particles in the first sub-population to obtain the rigid transformation matrix T; based on the rigid transformation matrix T, the point cloud P s and Q s , and the fitness function of the first sub-population, evaluate the fitness of the particles in the first sub-population;
[0030] Decode the particles in the second sub-population to obtain the rotation transformation matrix R; based on the rotation transformation matrix R, the translation-invariant metric set TIM P and TIM Q , and the fitness function of the second sub-population, evaluate the fitness of the particles in the second sub-population.
[0031] In an embodiment of the present invention, the evaluating the fitness of the particles in the first sub-population based on the rigid transformation matrix T, the point cloud P s and Q s , and the fitness function of the first sub-population includes:
[0032] Apply the rigid transformation matrix T to the point cloud P s to obtain the point cloud T(P s ), and use the nearest neighbor search algorithm to find the nearest point in the point cloud Q s for each point in the point cloud T(P s ), and establish the point-to-point correspondence;
[0033] Use the fitness function of the first sub-population to evaluate the fitness of the particles in the first sub-population, where the fitness function of the first sub-population includes:
[0034]
[0035]
[0036]
[0037] where fα represents the fitness function of the first sub-population; T(p i ) represents the point in the point cloud T(P s ); q φ(i) represents the point in the point cloud Q s ; p i represents the point in the point cloud P s ; ||·|| represents the two-norm; N represents the number of points in the point cloud T(P s ); ρ(·) represents a robust error evaluation function; c represents the threshold in the error evaluation function; r = ||T(p i ) - q φ(i) ||, representing the point-to-point residual.
[0038] In an embodiment of the present invention, based on the rotation transformation matrix R and the translation invariant metric set TIM P and TIM Q , and the fitness function of the second sub-population, evaluating the fitness of particles in the second sub-population includes:
[0039] Applying the rotation transformation matrix R to the translation invariant metric set TIM P to obtain R(TIM P ), for each translation invariant metric in R(TIM P ), determining the corresponding translation invariant metric in the translation invariant metric set TIM Q
[0040] Using the fitness function of the second sub-population to evaluate the fitness of particles in the second sub-population, where the fitness function of the second sub-population includes:
[0041]
[0042] where f β represents the fitness function of the second sub-population; represents the cardinality of the set; η represents the coefficient for balancing the magnitudes of the two terms; Φ represents the set of all translation invariant metric serial numbers; Γ represents the set of correctly matched translation metric serial numbers; the correct matching criterion is τ is the upper bound of the noise value in the multi-task particle swarm algorithm parameters set.
[0043] In an embodiment of the present invention, the judgment of whether the knowledge transfer condition is satisfied includes:
[0044] Generating a random number, if the random number is less than or equal to the random mating probability rmp in the multi-task particle swarm algorithm parameters set, it is determined that the knowledge transfer condition is satisfied, otherwise it is determined that the knowledge transfer condition is not satisfied.
[0045] In an embodiment of the present invention, taking the gbest in the two sub-populations as the transferred knowledge, complementing the knowledge obtained in the second sub-population, and updating the gbest in the two sub-populations using arithmetic crossover includes:
[0046] Decoding the gbest searched by the second sub-population to obtain the target rotation transformation matrix R srch ;
[0047] Performing the step of establishing point-to-point correspondence, including: taking the target rotation transformation matrix R srch Applied to the point cloud P s to obtain the point cloud R srch (P s ), for each point in R srch (P s ), use the nearest neighbor search algorithm to find the nearest point in the point cloud Q s and establish the point - to - point correspondence (R srch (p i ), q φ(i) );
[0048] By calculating the residual r of the point - to - point correspondence i to obtain the weight coefficient w i ;
[0049] Based on the weight coefficient, calculate the weighted centroids of the point cloud R srch (P s ) and the point cloud Q s , and subtract the two weighted centroids to obtain the translation increment;
[0050] Apply the translation increment to the point cloud R srch (P s ) and return to execute the step of establishing the point - to - point correspondence. Until the number of repetitions meets the preset value, sum all the translation increments to obtain the sum result t est , and use the sum result t est to complete the missing translation transformation of the second sub - population knowledge;
[0051] Use the arithmetic crossover coefficient in the set multi - task particle swarm algorithm parameters and the gbest update formula corresponding to each sub - population to update the gbest in the two sub - populations.
[0052] In an embodiment of the present invention, updating the velocities and positions of the particles in the two sub - populations based on the updated gbest includes:
[0053] Use the preset velocity update formula and position update formula to update the velocities and positions of all particles in the two sub - populations;
[0054] Among them, the velocity update formula includes:
[0055]
[0056] The position update formula includes:
[0057]
[0058] Among them, v represents velocity; x represents position; k and d in the subscript represent the serial number of the particle and the updated dimension; t in the superscript represents the current iteration number of the multi-task particle swarm algorithm; ω represents the inertia weight in the parameters of the multi-task particle swarm algorithm set; c 1 and c 2 represent the acceleration coefficients in the parameters of the multi-task particle swarm algorithm set; r 1 and r 2 represent random numbers.
[0059] Advantages of the present invention:
[0060] In the three-dimensional point cloud registration method based on evolutionary multi-task optimization provided by the embodiments of the present invention, a multi-task configuration method based on reducing the solution space is proposed and can be supplemented with a knowledge transfer strategy for embedding knowledge completion. The multi-task evolutionary algorithm, knowledge transfer, and knowledge completion are aimed at the problem of low success rate. The newly designed first fitness function is for the case of low point cloud overlap rate. At the same time, because this function reduces the interference of the corresponding relationship between mismatched points on the optimization, the registration is more accurate. It can be seen that the overall algorithm framework of the embodiments of the present invention is novel and has a high success rate, and can make the accuracy of the registration result reach a relatively high level. Therefore, it can effectively solve the problem that the evolutionary registration method is prone to fall into local optimum, improve the success rate of evolutionary registration, and enhance the practicability of evolutionary registration. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] Figure 1 is a schematic flowchart of a three-dimensional point cloud registration method based on evolutionary multi-task optimization provided by an embodiment of the present invention;
[0062] Figure 2 is a visualization result diagram of Experiment 1 of an embodiment of the present invention;
[0063] Figure 3 is a visualization result diagram of Experiment 2 of an embodiment of the present invention;
[0064] Figure 4 is a comparative experiment result diagram of Experiment 3 of an embodiment of the present invention. DETAILED DESCRIPTION OF THE EMBODIMENTS
[0065] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0066] As Figure 1 shown, a three-dimensional point cloud registration method based on evolutionary multi-task optimization provided by an embodiment of the present invention may include the following steps:
[0067] Step 1, set the parameters of the multi-task particle swarm algorithm, and preprocess the point clouds P and Q to obtain the corresponding translation-invariant metric sets TIM P and TIM Q ;
[0068] Among them, the point clouds P and Q are two point clouds to be registered. The point cloud P can be called the source point cloud, and the point cloud Q can be called the target point cloud.
[0069] In the embodiment of the present invention, a multi-task design is introduced on the basis of the particle swarm algorithm to design a multi-task particle swarm algorithm. Among them, the multi-task is derived from the multi-task evolutionary algorithm, and the purpose of this algorithm is to obtain better results than a single task through the cooperation of multiple tasks. In the embodiment of the present invention, the multi-task includes task α and β. Task α is used to register the source point cloud and the target point cloud, and task α is used to register the translation-invariant metric sets corresponding to the two point clouds. Each task uses a sub-population for optimization, so there are two sub-populations. In the embodiment of the present invention, these two sub-populations are named the first sub-population and the second sub-population.
[0070] On the basis of the particle swarm algorithm parameters, the parameters of the multi-task particle swarm algorithm specifically set in the embodiment of the present invention may include: sub-population size subpop, maximum number of iterations MaxIt, inertia weight ω, acceleration coefficients c 1 and c 2 , random mating probability rmp, arithmetic crossover coefficient λ, upper bound τ of noise value, etc. The specific values of these parameters can be reasonably set according to needs and are not specifically limited here. The specific meanings and usage methods of these parameters will be described at the corresponding positions later.
[0071] In an optional implementation manner, the preprocessing of the point clouds P and Q to obtain the corresponding translation-invariant metric sets TIM P and TIM Q , includes:
[0072] A1, normalize the point clouds P and Q to the [-1, 1] 3 space, and perform centroid coincidence processing on the obtained two point clouds to obtain the point cloud P n and Q n ;
[0073] Among them, normalizing the point clouds P and Q to the [-1, 1] 3 space is to keep the translation search space fixed and make the translation search space include the optimal solution, so that it is possible to search for the optimal solution.
[0074] Next, it is necessary to perform centroid coincidence processing on the two point clouds after normalization processing, so as to perform subsequent calculations at the same centroid position, narrow the translation search space, reduce the task difficulty, and reduce the possibility of falling into local optima. It can be understood that the centroid coincidence processing is to separately determine the centroid positions of the two point clouds and make the two centroid positions coincide. Correspondingly, the positions of the remaining points outside the centroid of each point cloud will move accordingly with the movement of the centroid position. For the specific centroid coincidence processing process, please refer to the prior art for understanding and will not be elaborated here. After the centroid coincidence processing, the point cloud P becomes the point cloud P n and the point cloud Q becomes the point cloud Q n .
[0075] A2, sample the point cloud P n and Q n respectively to obtain the point cloud P s and Q s ;
[0076] The specific sampling method can use the gridAverage method in Matlab, and just configure the numerical value representing the sampling degree for the sampling parameters therein. For specific understanding, please refer to the prior art and will not be elaborated here. Moreover, the sampling method in the embodiments of the present invention is not limited to this.
[0077] A3, use the pre-designed feature descriptor FPFH to extract features from the point cloud P s and Q s and establish point-to-point correspondence according to the feature similarity degree;
[0078] Among them, the pre-designed feature descriptor FPFH can be artificially designed to represent the local geometric features near the query point. For the process of extracting features of points in any point cloud using the feature descriptor FPFH, please refer to the related technology for understanding and will not be elaborated here.
[0079] Among them, the point-to-point correspondence includes multiple groups of relationships, and any group of relationships represents a point in the point cloud P s and its similar point in the point cloud Q s .
[0080] Those skilled in the art can understand that the features of points in the two point clouds P s and Q s can be represented in the form of vectors, and the similarity degree of features can be realized by calculating the distance between features. Specifically, for example, it can be the Euclidean distance, etc. The smaller the distance, the higher the similarity degree of the features.
[0081] In an embodiment of the present invention, when the similarity degree of the features of two points reaches a certain threshold, it can be determined that these two points correspond to each other, that is, a set of relationships between these two points is formed. For example, it is determined that the point p s in the point cloud P 1 corresponds to the point q s in the point cloud Q 1 . Therefore, a set of relationships is determined as (p 1 , q 1 ). According to the above processing process, multiple sets of relationships similar to (p s , q s ) can be determined between the point clouds P 1 and Q 1 to form the point-to-point correspondence relationship between the point clouds P s and Q s .
[0082] A4. Subtract two points belonging to the same point cloud in any two sets of relationships to obtain the translation-invariant metric of the same point cloud, and all the translation-invariant metrics obtained from the same point cloud form its own translation-invariant metric set, obtaining the translation-invariant metric set TIM s for the point cloud P P and the translation-invariant metric set TIM s for the point cloud Q Q .
[0083] Taking two sets of relationships (p 1 , q 1 ) and (p 2 , q 2 ) as an example for illustration, where the points p 1 and p 2 belong to the point cloud P, specifically belonging to the point cloud P s ; the points q 1 and q 2 belong to the point cloud Q, specifically belonging to the point cloud Q s . Subtract p 1 and p 2 to obtain Take as the translation-invariant metric of the point cloud P, that is Subtract the points q 1 and q 2 to obtain Take as the translation-invariant metric of the point cloud Q, that is
[0084] It can be understood that after traversing all two sets of relationships, the translation-invariant metric set TIM s for the point cloud P P and the translation-invariant metric set TIM s for the point cloud QQ serve as the translation-invariant metric sets of the point cloud P and the target point cloud Q respectively, and the translation-invariant metric set TIM P and TIM Q When generating, the corresponding relationship between the translation-invariant metrics can be determined. For example, the above translation-invariant metrics and have a corresponding relationship.
[0085] In the embodiment of the present invention, two translation-invariant metric sets TIM P and TIM Q are obtained for the purpose of constructing two tasks and introducing the idea of reducing the solution space. This operation will obtain a task β with a smaller solution space and easier to succeed. The solution searched in this task is used to guide the search of task α through knowledge transfer, making it easier for task α to find the optimal solution, thereby achieving the effect of improving the success rate of task α.
[0086] Step 2: Perform multi-task configuration, and set the solution spaces and fitness functions of the two sub-populations in the multi-task particle swarm algorithm parameters according to the multi-task configuration results;
[0087] Among them, the multi-task includes task α and β, corresponding to the first sub-population and the second sub-population respectively; the goal of task α is to search for the rigid transformation parameters for registering two point clouds; the goal of task β is to search for the rotation parameters for registering the translation-invariant metric sets TIM P and TIM Q According to the sub-population size subpop, the first sub-population and the second sub-population are set, and they can also be represented by sub-population α and sub-population β respectively.
[0088] The embodiment of the present invention proposes a multi-task configuration method based on reducing the solution space. The purpose of reducing the solution space is to reduce getting stuck in local optima and improve the registration success rate. Generally, it is considered that the smaller the solution space of a task, the easier it is to search for the optimal solution. In the prior art, only task α is prone to getting stuck in local optima because the solution space of this task is too large. Therefore, the embodiment of the present invention constructs a task with a smaller solution space, that is, task β. The solution of task β is a part of the solution of task α, so the solution of task β can help optimize task α. It can be understood as transforming a difficult task into an easy task, and then using the solution of the easy task to help the difficult task. Task α as the difficult task and the simplified task β together form a multi-task. Multi-task configuration requires simplifying the difficult task. The principle of simplification is to reduce the solution space. Reducing the solution space can be understood as a tool for simplifying the task, and the tool for simplification can be the mathematical tool TIM.
[0089] In an optional implementation manner, step 2 includes the following steps:
[0090] B1, configure the objective functions of the task α and the task β;
[0091] The solution space of the task α is a rotation transformation space and a translation transformation space, with a total of six dimensions, which can be expressed as [θ 1 , θ 2 , θ 3 , t 1 , t 2 , t 3 , where the parameters θ 1 , θ 2 , θ 3 represent rotation transformations, and the parameters t 1 , t 2 , t 3 represent translation transformations. The solution space of the task β has only a rotation transformation space, with a total of three dimensions, which can be expressed as [θ 1 , θ 2 , θ 3 .
[0092] B2, determine the solution space of the first sub-population according to the objective of the task α, and determine the objective function of the task α as the fitness function of the first sub-population;
[0093] Among them, the solution space is the range of positions.
[0094] The solution space of the first sub-population is: [-π, π] × [-0.5π, 0.5π] × [-π, π] × [-0.5, 0.5] 3 . To make the scheme clearer, the objective function of the task α and the fitness function of the first sub-population will be specifically introduced later.
[0095] B3, determine the solution space of the second sub-population according to the objective of the task β, and determine the objective function of the task β as the fitness function of the second sub-population.
[0096] Among them, the solution space of the second sub-population is: [-π, π] × [-0.5π, 0.5π] × [-π, π].
[0097] To make the scheme clearer, the objective function of the task β and the fitness function of the second sub-population will be specifically introduced later.
[0098] Step 3, randomly generate positions and velocities within the corresponding ranges for each particle in the two sub-populations to complete the initialization of the two sub-populations;
[0099] It is understandable that before the sub-population evolution, it is necessary to initialize the sub-population first. Specifically, a particle has two attributes, namely position and velocity, both of which are represented by vectors. The position represents a solution to the optimization problem, and the purpose of the velocity is to change the position, that is, to obtain more solutions.
[0100] In an alternative implementation, randomly generating positions and velocities for each particle in the two sub-populations includes:
[0101] For the first sub-population, randomly generating the position and velocity of the particle within the first particle position range and the first particle velocity range; and, for the second sub-population, randomly generating the position and velocity of the particle within the second particle position range and the second particle velocity range;
[0102] wherein, the first particle position range is: [-π, π] × [-0.5π, 0.5π] × [-π, π] × [-0.5, 0.5] 3 ; the first particle velocity range is: [-0.1π, 0.1π] × [-0.05π, 0.05π] × [-0.1π, 0.1π] × [-0.05, 0.05] 3 ; the second particle position range is: [-π, π] × [-0.5π, 0.5π] × [-π, π]; the second particle velocity range is: [-0.1π, 0.1π] × [-0.05π, 0.05π] × [-0.1π, 0.1π].
[0103] Among them, the concepts of the position and velocity of the particle can be understood in combination with the related technologies of the particle swarm algorithm. The range of randomly generated particle positions for each sub-population is its solution space. It can be seen that compared with the first sub-population, the solution space of the second sub-population only contains the parameters corresponding to the rotation transformation, but lacks the parameters corresponding to the translation transformation.
[0104] Step 4, decode the particles in the two sub-populations, evaluate the fitness of the particles using the decoding results and the corresponding fitness function, and update the pbest and gbest in the two sub-populations using the fitness selection method;
[0105] In an alternative implementation, decoding the particles in the two sub-populations and evaluating the fitness of the particles using the decoding results and the corresponding fitness function includes:
[0106] C1, decode the particles in the first sub-population to obtain the rigid transformation matrix T; based on the rigid transformation matrix T, the point clouds P s and Q s and the fitness function of the first sub-population, evaluate the fitness of the particles in the first sub-population;
[0107] C2. Decode the particles in the second sub-population to obtain the rotation transformation matrix R; based on the rotation transformation matrix R, the translation invariant metric set TIM P and TIM Q and the fitness function of the second sub-population, evaluate the fitness of the particles in the second sub-population.
[0108] Among them, for the concept and specific method of particle decoding, please refer to the related technology for understanding and will not be elaborated here.
[0109] Specifically, decoding the particles in the first sub-population can obtain a 4×4 rigid transformation matrix including rotation and translation, denoted as T; decoding the particles in the second sub-population can obtain a 3×3 rotation transformation matrix including only rotation, denoted as R.
[0110] Regarding C1, the evaluation of the fitness of the particles in the first sub-population based on the rigid transformation matrix T, the point cloud P s and Q s and the fitness function of the first sub-population includes:
[0111] D1. Apply the rigid transformation matrix T to the point cloud P s to obtain the point cloud T(P s ), use the nearest neighbor search algorithm to find the nearest point in the point cloud Q s for each point in the point cloud T(P s ), and establish the point-to-point correspondence;
[0112] Regarding the process of using the nearest neighbor search algorithm to find the nearest point of a point in one point cloud in another point cloud, please refer to the prior art for understanding and will not be described here.
[0113] Since the measurement of the registration quality is based on the source point cloud and the target point cloud after the rigid transformation, the rigid transformation is applied to the source point cloud. The operation of searching for the nearest neighbor is related to the fitness function. For specific details, please refer to the relevant explanation of the fitness function of the first sub-population below.
[0114] D2. Use the fitness function of the first sub-population to evaluate the fitness of the particles in the first sub-population, where the fitness function of the first sub-population includes:
[0115]
[0116]
[0117]
[0118] Among them, f αrepresents the fitness function of the first sub-population, which is also the objective function of the task α; T(p i ) represents the point in the point cloud T(P s ); q φ(i) represents the point in the point cloud Q s ; p i represents the point in the point cloud P s ; ||·|| represents the two-norm; N represents the number of points in the point cloud T(P s ); ρ(·) represents a robust error evaluation function; c represents the threshold in the error evaluation function; r = ||T(p i ) - q φ(i) ||, representing the point-to-point residual.
[0119] In an embodiment of the present invention, to evaluate the fitness of the particles in the first sub-population, a fitness function f α is designed. Specifically, first, in the above formula p i ∈P s q φ(i) The nearest neighbor search operation represented is to determine the point-to-point correspondence, and the point-to-point correspondence is a basic element for measuring the registration quality. Second, since it cannot be guaranteed that all the established point-to-point correspondences are correct, a method is needed to screen the correct correspondences. In an embodiment of the present invention, a robust error evaluation function ρ(·) is selected, which assigns a fixed value to the point-to-point correspondence with an excessive point-to-point residual value, thereby reducing the impact of incorrect point-to-point correspondences on the optimization. Among them, the residual value can be understood as the distance between two points in a point pair. When this distance is large, it is often considered an incorrect correspondence. If not operated in this way, that is, a larger value is assigned to the point pair with a larger residual value, an incorrect correspondence is more likely to affect the optimization, even greater than the sum of the impacts of several correct correspondences on the optimization. At this time, the optimization direction will turn to reducing the residual value of the incorrect correspondence rather than reducing the residual value of the correct correspondence. The use of a robust error evaluation function in an embodiment of the present invention is to address this situation.
[0120] For C2, based on the rotation transformation matrix R, the translation invariant metric set TIM P and TIM Q , and the fitness function of the second sub-population, to evaluate the fitness of the particles in the second sub-population, including:
[0121] E1, applying the rotation transformation matrix R to the translation invariant metric set TIM P to obtain R(TIM P ), and for each translation invariant metric P in R(TIM ) to determine the translation invariant metric set TIM QThe corresponding translation-invariant metric in it
[0122] Specifically, the measurement of the registration quality in task β is based on the rotation-transformed TIM P and TIM Q Therefore, a rotation transformation is applied to TIM P The operation corresponding to establishing the translation-invariant metric is related to the fitness function. For details, see the explanation of the fitness function design for the second sub-population below.
[0123] E2, evaluate the fitness of the particles in the second sub-population using the fitness function of the second sub-population, where the fitness function of the second sub-population includes:[[]]
[0124]
[0125] where f β represents the fitness function of the second sub-population, that is, the objective function of task β; represents the cardinality of the set; η represents the coefficient for balancing the magnitudes of the two terms in the formula; Φ represents the set of all translation-invariant metric numbers; Γ represents the set of correctly matched translation metric numbers; the correct matching criterion is τ is the upper bound of the noise value among the parameters of the multi-task particle swarm algorithm set.
[0126] In the embodiment of the present invention, a fitness function f β is designed to evaluate the fitness of the particles in the second sub-population. Specifically, the considerations are as follows: First, it is generally believed that the successful registration situation will bring the most correctly matched translation metrics. Second, minimizing this fitness function means minimizing the number of incorrectly matched translation metrics, that is, maximizing the correctly matched translation metrics, so as to obtain the correct registration. Finally, the purpose of adding the latter term is to make the change of the fitness continuous, which is more conducive to optimization. Without adding the latter term, the fitness value is an integer, and the change situation is also from integer to integer.
[0127] Those skilled in the art can understand that the fitness of the particle corresponds to the position of the particle. A low fitness indicates a good position and also indicates that a better solution can be obtained. Those skilled in the art can understand that pbest and gbest are two important and commonly used values in the particle swarm algorithm. pbest is the optimal position searched by a single particle so far, and gbest is the optimal position searched by the entire particle swarm so far. This is a common setting in existing algorithms. The concept of such a design is to imitate and abstract the foraging of bird flocks in nature. For specific meanings, reference can be made to related technologies for understanding.
[0128] In step 4, the pbest and gbest in the two subpopulations are updated by means of fitness selection, including:
[0129] F1. For each particle in any subpopulation, update the position with the best fitness of the particle so far as the pbest of the particle;
[0130] It can be understood that the multi-task particle swarm algorithm includes multiple iterations. The fitness of the particles in any subpopulation changes according to the iterations. The lowest fitness of the particle so far can be selected, and the corresponding position is used as the best position and determined as the pbest of the particle. Therefore, through this step, each particle in the first subpopulation and the second subpopulation can be updated to obtain a pbest.
[0131] F2. Select the position with the best fitness from the pbest of all particles in the subpopulation where the particle is located and the gbest of the subpopulation, and update it as the gbest of the subpopulation.
[0132] In the embodiment of the present invention, each particle has a pbest, and each subpopulation has a gbest. The gbest of the subpopulation also changes according to the iterations. Specifically, for any subpopulation, in this step, in the set composed of the pbest of all particles in the subpopulation and the gbest of the subpopulation, select the position corresponding to the lowest fitness as the best position and update the gbest of the subpopulation.
[0133] Step 5, determine whether the knowledge transfer condition is satisfied;
[0134] In an optional implementation manner, the determination of whether the knowledge transfer condition is satisfied includes:
[0135] Generate a random number. If the random number is less than or equal to the random mating probability rmp in the parameters of the multi-task particle swarm algorithm set, it is determined that the knowledge transfer condition is satisfied, otherwise it is determined that the knowledge transfer condition is not satisfied.
[0136] Among them, the random mating probability is set in step 1, and its range is [0, 1]. The range of the random number can also be [0, 1].
[0137] Since the above embodiment uses a random number to control whether to perform knowledge transfer, the value of the random mating probability rmp can be set as needed to increase or decrease the probability of knowledge transfer. For example, the value of the random mating probability rmp can be set to a value close to 1, then the probability of knowledge transfer can be increased.
[0138] Step 6: Use the gbest in the two subpopulations as the transferred knowledge to complement the knowledge obtained in the second subpopulation, and update the gbest in the two subpopulations using arithmetic crossover after knowledge complementation;
[0139] The embodiment of the present invention provides a knowledge transfer strategy embedded with knowledge complementation. Specifically, in Step 6, the useful knowledge obtained from the two subpopulations is transferred. In an optional implementation, Step 6 includes:
[0140] G1: Decode the gbest searched by the second subpopulation to obtain the target rotation transformation matrix R srch ;
[0141] This decoding process is to convert the rotation represented by Euler angles (1×3 vector) into the rotation represented by a rotation matrix (3×3 matrix), which can be completed using existing mathematical formulas. For specific details, please refer to the related technology for understanding and will not be elaborated here.
[0142] G2: Perform the step of establishing point-to-point correspondence, including: Apply the target rotation transformation matrix R srch to the point cloud P s to obtain the point cloud R srch (P s ), and for each point in R srch (P s ), use the nearest neighbor search algorithm to find the nearest point in the point cloud Q s to establish the point-to-point correspondence (R srch (p i ), q φ(i) );
[0143] This step of establishing the point-to-point correspondence is to calculate the residuals and then obtain the weights. For the method of establishing the point-to-point correspondence, please refer to the relevant content above.
[0144] G3: Obtain the weight coefficient w i by calculating the residual r i of the point-to-point correspondence;
[0145] G3 and G4 use the existing numerical optimization method Iterative reweighted least squares (IRLS) to roughly estimate the translation through the obtained rotation, so as to complete the knowledge complementation.
[0146] In G3, the calculation formula of the weight coefficient includes:
[0147]
[0148] Where, wi represents the i-th weight coefficient; r i represents the residual of the i-th point-to-point correspondence, abbreviated as residual; D = 2τ.
[0149] Regarding the residual r i of this step, the calculation method can be understood by referring to the relevant formulas in Step D2. Calculate the residual r i , and a weight coefficient can be obtained for each group in the point-to-point correspondence.
[0150] G4. Calculate the weighted centroid of the point cloud R srch (P s ) and the point cloud Q s , and subtract the two weighted centroids to obtain the translation increment;
[0151] Among them, the weighted centroid of the point cloud R srch (P s ) is expressed as:
[0152]
[0153] Among them, R srch (p i ) represents the i-th point in the point cloud R srch (P s ); N represents the number of points in the point cloud R srch (P s ).
[0154] The weighted centroid of the point cloud Q s is expressed as:
[0155]
[0156] Among them, q φ(i) represents the point in the point cloud Q s .
[0157] The translation increment is:
[0158] G5. Apply the translation increment to the point cloud R srch (P s ), and return to execute the step of establishing point-to-point correspondence. Until the number of repetitions meets the preset value, sum all the translation increments to obtain the sum result t est , and use the sum result t est to complete the missing translation transformation of the second sub-population knowledge;
[0159] In this step, apply the translation increment to the point cloud R srch (P sAfter that, return to execute steps G2 - G5, and repeat the steps of establishing the correspondence between points, calculating the residuals between points to obtain the weight coefficients, obtaining the translation increment, and applying the translation increment to the point cloud until the number of repetitions meets the preset value, then stop repeating. Sum up all the translation increments to obtain the summation result t est , and use the summation result t est to complete the missing translation transformation of the second sub - population knowledge. Specifically, the particles of the first sub - population include 3 - D rotation and 3 - D translation, while the particles of the second sub - population only include 3 - D rotation. After step G5 terminates, the predicted 3 - D translation can be obtained. Combine the positions of the particles in the second sub - population and the predicted t est through translation to complete the complementation.
[0160] Among them, since the numerical optimization method used in the embodiments of the present invention needs to be solved iteratively due to its own nature, the corresponding number of repetitions can be set as needed and is not limited here.
[0161] G6, use the arithmetic crossover coefficient in the parameters of the multi - task particle swarm algorithm and the gbest update formulas corresponding to each sub - population to update the gbest in the two sub - populations.
[0162] After the knowledge complementation is completed, knowledge migration is carried out. Specifically, the gbest update formulas corresponding to each sub - population include:
[0163]
[0164]
[0165] Among them, gbest α and gbest β represent the original gbest of the first sub - population and the second sub - population; and represent the updated gbest of the first sub - population and the second sub - population; λ α and λ β represent the arithmetic crossover coefficients, which change with the number of iterations.
[0166] In the embodiments of the present invention, where t represents the number of iterations of the multi - task particle swarm algorithm.
[0167] In the embodiments of the present invention, the purpose of arithmetic crossover is to combine the gbest in other populations and its own population, so as to obtain a better gbest to guide the search. The arithmetic crossover coefficients λ α and λ β function to adjust the proportion of the two gbest in the final result, representing the importance of the gbest of this population to the final gbest.
[0168] Step 7: Update the velocities and positions of the particles in the two sub - populations based on the updated gbest.
[0169] In an optional implementation, the updating of the velocities and positions of the particles in the two sub - populations based on the updated gbest includes:
[0170] Update the velocities and positions of all particles in the two sub - populations using a preset velocity update formula and a position update formula.
[0171] Among them, the velocity update formula includes:
[0172]
[0173] The position update formula includes:
[0174]
[0175] Among them, v represents velocity; x represents position; the subscripts k and d represent the particle number and the updated dimension; the superscript t represents the current iteration number of the multi - task particle swarm algorithm; ω represents the inertia weight in the parameters of the multi - task particle swarm algorithm; c 1 and c 2 represent the acceleration coefficients in the parameters of the multi - task particle swarm algorithm; r 1 and r 2 represent random numbers.
[0176] Updating the velocities and positions of all particles in the two sub - populations is to update the sub - populations. Using the updated velocities and positions, particle decoding and fitness evaluation are completed in the next iteration.
[0177] Step 8: Determine whether the termination condition is satisfied; if not, return to Step 4 and continue to execute; if so, execute Step 9, terminate the loop, and output the latest searched gbest of the first sub - population after decoding for point cloud registration.
[0178] Specifically, when the iteration number is less than or equal to the maximum iteration number MaxIt, it means that the termination condition is not satisfied; when the iteration number is greater than the maximum iteration number MaxIt, it means that the termination condition is satisfied.
[0179] If not satisfied, return to Step 4, use the updated two sub - populations to perform particle decoding again, use the decoding results and the corresponding fitness function to perform fitness evaluation of the particles, and use the fitness selection method to update the pbest and gbest in the two sub - populations. Among them, after returning to Step 4, a new iteration starts, so the iteration number is incremented by one.
[0180] If the condition is satisfied, execute Step 9 to terminate the loop, and output the gbest newly searched by the first sub-population after decoding for point cloud registration.
[0181] In Step 9, the transformation parameters are obtained after decoding the gbest newly searched in the first sub-population, and the transformation parameters can be output for the registration of the source point cloud and the target point cloud. Among them, the output transformation parameters are in the form of a transformation matrix.
[0182] In the 3D point cloud registration method based on evolutionary multi-task optimization provided by the embodiments of the present invention, a multi-task configuration method based on reducing the solution space is proposed and can be supplemented with a knowledge transfer strategy for embedding knowledge completion. The multi-task evolutionary algorithm, knowledge transfer, and knowledge completion are aimed at the problem of low success rate. The newly designed first fitness function is aimed at the situation of low point cloud overlap rate. At the same time, because this function reduces the interference of the correspondence relationship between mis-matched points to the optimization, the registration is more accurate. It can be seen that the overall algorithm framework of the embodiments of the present invention is novel and has a high success rate, and can make the registration result accuracy reach a relatively high level. Therefore, it can effectively solve the problem that the evolutionary registration method is prone to fall into local optimum, improve the success rate of evolutionary registration, and enhance the practicability of evolutionary registration.
[0183] Experiments have confirmed that the embodiments of the present invention can not only handle the point cloud registration at the small object level, but also handle the point cloud registration at the large-scale scene level. In addition, it can also achieve good registration results for the situation where the overlap of two point clouds is low.
[0184] In order to verify the effectiveness of the method of the embodiments of the present invention, the following will be described with experimental data.
[0185] (1) Experiment 1
[0186] Use the method of the embodiments of the present invention to register the data at the small object level. Select two pieces from the numerous point clouds in the small object data set as the point clouds to be registered, adjust the point clouds to the appropriate data type, and then they can be input into the method of the embodiments of the present invention for registration. The data set will provide the correct transformation matrix for comparing with the transformation matrix estimated by the algorithm to measure the registration accuracy. Experiments are carried out on the object data set, and the data set information is shown in Table 1. Among them, StanfordDragon and Bimba are both existing point cloud data sets.
[0187] Table 1 Information of the object data set in Experiment 1
[0188]
[0189] Specifically, the sub-population size subpop = 50, the maximum number of iterations MaxIt = 100, the inertia weight Acceleration coefficient c 1 = c2 = 1.49445, the random mating probability rmp = 0.7, the switching parameter δ = 0.6, the arithmetic crossover coefficient The noise boundary value τ is equal to the resolution of the point cloud. The number of repetitions of the experiment on each data is 20, which means running the entire method of the embodiment of the present invention 20 times to eliminate contingency as much as possible.
[0190] The sampling method of the point cloud uses the gridAverage method in Matlab, gridStep = x * resolution, where resolution is the resolution before point cloud sampling. For Stanford Dragon, a sparse point cloud is obtained when x = 15, and a dense point cloud is obtained when x = 7.5. For Bimba, a sparse point cloud is obtained when x = 7.5, and a dense point cloud is obtained when x = 3.75.
[0191] The registration error is measured numerically. The smaller the registration error value, the better the registration effect. Please refer to Table 2, where ICP (Iterative Closest Point) is an existing registration algorithm.
[0192] Comparison of the results of Experiment 1 in Table 2
[0193]
[0194] The visualization results are as Figure 2 shown. In the corresponding original result diagram, the first column is two input point clouds after preprocessing. The color of the target point cloud is gray, and the color of the source point cloud is dark red. The second column is the registration result of the comparison algorithm ICP. The third column is the registration result of the method of the embodiment of the present invention. Only the source point cloud after applying the estimated transformation is shown in the second and third columns, and the change in the color of the points in the point cloud is used to represent the magnitude of the error. As shown by the color error in the fourth column, when the color of the point is closer to dark blue, the registration error of the point is smaller; when the color of the point is closer to dark red, the registration error of the point is larger. Here Figure 2 is the grayscale processing of the original result diagram. Please understand the effect in combination with the above text and Figure 2 .
[0195] (2) Experiment 2
[0196] Using the method of the embodiment of the present invention to register data at the large-scene level, two pieces are selected from among numerous point clouds in the large-scene data set as the point clouds to be registered. The point clouds are adjusted to the appropriate data type, and then they can be input into the method of the embodiment of the present invention for registration. The data set will provide the correct transformation matrix, which is used to compare with the transformation matrix estimated by the algorithm to measure the registration accuracy. Experiments are carried out on the scene data set, and the data set information is shown in Table 3, where RESSO 7d and RESSO 7e are both existing point cloud data sets.
[0197] Table 3 Information of the scene data set for Experiment 2
[0198]
[0199] Specifically, the size of the subpopulation subpop = 50, the maximum number of iterations MaxIt = 100, the inertia weight acceleration coefficient c 1 = c 2 = 1.49445, the random mating probability rmp = 0.7, the switching parameter δ = 0.6, the arithmetic crossover coefficient The noise boundary value τ is equal to the resolution of the point cloud, and the number of repetitions of the experiment on each data is 20.
[0200] The sampling method of the point cloud uses the gridAverage method in Matlab, gridStep = x * resolution, and resolution is the resolution before the point cloud is sampled. For RESSO 7d, when the value of x is 54, a sparse point cloud is obtained, and when the value of x is 27, a dense point cloud is obtained. For RESSO 7e, when the value of x is 60, a sparse point cloud is obtained, and when the value of x is 30, a dense point cloud is obtained.
[0201] The experimental visualization results are as Figure 3 shown. In the corresponding original result diagram, the first column is the two input point clouds after preprocessing. The color of the target point cloud is gray, and the color of the source point cloud is dark red. The second column is the registration result of the method of the embodiment of the present invention, and the source point cloud and the target point cloud are represented by dark green and orange respectively. The third column is the magnification of the black frame part in the second column diagram. Here Figure 3 is the grayscale processing of the original result diagram. Please understand the effect in combination with the above text and Figure 3 this.
[0202] (3) Experiment 3
[0203] Using the method of the embodiment of the present invention to register data at the small object and large scene levels, select two pieces from the numerous point clouds in the data set as the point clouds to be registered, adjust the point clouds to the appropriate data type, and then they can be input into the method of the embodiment of the present invention for registration. The data set will provide the correct transformation matrix, which is used to compare with the transformation matrix estimated by the algorithm to measure the registration accuracy. The purpose of reducing the solution space is to reduce getting stuck in local optima and improve the registration success rate. By setting a threshold to determine whether the point cloud registration is successful this time. Experiments are carried out on three small object level data sets and one large scene level data set. Through comparative experiments, the effectiveness of the algorithm in improving the success rate is verified. The data set information of Experiment 3 is shown in Table 4, where each point cloud is an existing point cloud data set.
[0204] Table 4 Data set information of Experiment 3
[0205]
[0206]
[0207] Specifically, the size of the sub-population subpop = 50, the maximum number of iterations MaxIt = 100, the inertia weight acceleration coefficient c 1 = c 2 = 1.49445, the random mating probability rmp = 0.7, the switching parameter δ = 0.6, the arithmetic crossover coefficient The noise boundary value τ is equal to the resolution of the point cloud, and the number of repetitions of the experiment on each data is 20.
[0208] The sampling method of the point cloud uses the gridAverage method in Matlab, gridStep = x * resolution, and resolution is the resolution before the point cloud sampling. The value of x is shown in Table 4.
[0209] The following gives the information of several evolutionary algorithms as subsequent comparative algorithms. Each algorithm can be understood with reference to the prior art and will not be described here.
[0210] Table 5 Information of evolutionary comparative algorithms
[0211]
[0212] Figure 4 It is the results of eight algorithms running on fifteen data. It can be seen that the success rate of the method of the embodiment of the present invention is very high, and there is a large improvement on some data that are difficult to register. Figure 4Among them, the horizontal axis represents data, which are in sequence: Armadillo, Bunny, Dragon, Happy (Happy Buddha), Chef, chicken, P (Parasaurolophus), T-rex, Angel, bimba, CD (Chinese Dragon), DC (Dancing Children), 7a (Real-world Scans with Small Overlap (RESSO) 7a, real scans with low overlap, scene number 7a), 7d (Real-world Scans with Small Overlap (RESSO) 7d, real scans with low overlap, scene number 7d), 7e (Real-world Scans with Small Overlap (RESSO) 7e, real scans with low overlap, scene number 7e). For each of them, the eight columns from left to right are the respective comparison algorithms from top to bottom in Table 5.
Claims
1. A three-dimensional point cloud registration method based on evolutionary multi-task optimization, characterized in that, it includes: Step 1, set the parameters of the multi-task particle swarm optimization algorithm, and preprocess the point clouds P and Q to obtain the corresponding translation-invariant metric sets TIM P and TIM Q ; Step 2, perform multi-task configuration, and set the solution spaces and fitness functions of two sub-populations in the multi-task particle swarm algorithm parameters according to the multi-task configuration results; wherein, the multi-tasks include task α and task β, corresponding to the first sub-population and the second sub-population respectively; the goal of task α is to search for the rigid transformation parameters for registering two point clouds; the goal of task β is to search for the rotation parameters for registering the translation invariant metric set TIM P and TIM Q registration rotation parameters; Step 3, randomly generate positions and velocities within the corresponding ranges for each particle in the two sub-populations to complete the initialization of the two sub-populations; Step 4, decode the particles in the two sub-populations, evaluate the fitness of the particles using the decoding results and the corresponding fitness functions, and update the pbest and gbest in the two sub-populations using the fitness selection method; Step 5, determine whether the knowledge transfer condition is satisfied; if so, execute Step 6 and Step 7; if not, execute Step 7; Step 6, use the gbest in the two sub-populations as the transferred knowledge, complete the knowledge obtained in the second sub-population, and update the gbest in the two sub-populations using arithmetic crossover after knowledge completion; Step 7, based on the updated gbest, update the velocities and positions of the particles in the two sub-populations; Step 8, determine whether the termination condition is satisfied; if not, return to Step 4 and continue to execute; if so, execute Step 9, terminate the loop, and output the gbest newly searched by the first sub-population after decoding for point cloud registration.
2. The three-dimensional point cloud registration method based on evolutionary multi-task optimization according to claim 1, characterized in that, Preprocess the point clouds P and Q to obtain the corresponding set of translation-invariant metrics TIM P and TIM Q , including: Normalize the point clouds P and Q to [-1, 1] 3 in space, and perform centroid coincidence processing on the obtained two point clouds to obtain the point cloud P n and Q n ; For the point cloud P n and Q n perform sampling respectively to obtain the point clouds P s and Q s ; For the point cloud P s and Q s Extract features using a pre-designed feature descriptor FPFH, and establish point-to-point correspondence according to the feature similarity; wherein, the point-to-point correspondence includes multiple groups of relationships, and any group of relationships represents a point in the point cloud P s and its similar point in the point cloud Q s ; Subtract two points belonging to the same point cloud in any two groups of relationships to obtain the translation-invariant metric of the same point cloud. All the translation-invariant metrics obtained from the same point cloud form its own translation-invariant metric set, and the translation-invariant metric set TIM for the point cloud P s is obtained P and the translation-invariant metric set TIM for the point cloud Q s is obtained Q .
3. The three-dimensional point cloud registration method based on evolutionary multi-task optimization according to claim 1, characterized in that, The multi-task configuration is performed, and the solution spaces and fitness functions of the two sub-populations in the multi-task particle swarm algorithm parameters are set according to the multi-task configuration results, including: Configure the objective functions of the task α and the task β; Determine the solution space of the first sub-population according to the objective of the task α, and determine the objective function of the task α as the fitness function of the first sub-population; Determine the solution space of the second sub-population according to the objective of the task β, and determine the objective function of the task β as the fitness function of the second sub-population.
4. The three-dimensional point cloud registration method based on evolutionary multi-task optimization according to claim 1, characterized in that, The step of randomly generating positions and velocities within the corresponding ranges for each particle in the two sub-populations includes: For the first sub-population, randomly generate the positions and velocities of the particles within the first particle position range and the first particle velocity range; and for the second sub-population, randomly generate the positions and velocities of the particles within the second particle position range and the second particle velocity range; Among them, the position range of the first particle is: [-π, π] × [-0.5π, 0.5π] × [-π, π] × [-0.5, 0.5] 3 ; the velocity range of the first particle is: [-0.1π, 0.1π] × [-0.05π, 0.05π] × [-0.1π, 0.1π] × [-0.05, 0.05] 3 ; the position range of the second particle is: [-π, π] × [-0.5π, 0.5π] × [-π, π]; the velocity range of the second particle is: [-0.1π, 0.1π] × [-0.05π, 0.05π] × [-0.1π, 0.1π].
5. The three-dimensional point cloud registration method based on evolutionary multi-task optimization according to claim 1, characterized in that, The step of decoding the particles in the two sub-populations and evaluating the fitness of the particles using the decoding results and the corresponding fitness functions includes: Decode the particles in the first sub-population to obtain the rigid transformation matrix T; based on the rigid transformation matrix T, the point clouds P s and Q s , and the fitness function of the first sub-population, evaluate the fitness of the particles in the first sub-population; Decode the particles in the second sub-population to obtain the rotation transformation matrix R; based on the rotation transformation matrix R, the translation invariant metric set TIM P and TIM Q and the fitness function of the second sub-population, evaluate the fitness of the particles in the second sub-population.
6. The three-dimensional point cloud registration method based on evolutionary multi-task optimization according to claim 5, characterized in that, Based on the rigid transformation matrix T and the point clouds P s and Q s , and the fitness function of the first sub-population, evaluate the fitness of the particles in the first sub-population, including: Apply the rigid transformation matrix T to the point cloud P s to obtain the point cloud T(P s ). For each point in the point cloud T(P s ), use the nearest neighbor search algorithm to find the nearest point in the point cloud Q s and establish the point-to-point correspondence; Evaluate the fitness of the particles in the first sub-population using the fitness function of the first sub-population, where the fitness function of the first sub-population includes: where fα represents the fitness function of the first sub-population; T(p i ) represents the point in the point cloud T(P s ); q φ(i) represents the point in the point cloud Q s ; p i represents the point in the point cloud P s ; ||·|| represents the second norm; N represents the number of points in the point cloud T(P s ); ρ(·) represents a robust error evaluation function; c represents the threshold in the error evaluation function; r = ||T(p i ) - q φ(i) ||, representing the point-to-point residual.
7. The 3D point cloud registration method based on evolutionary multi-task optimization according to claim 5 or 6, characterized in that, Based on the rotation transformation matrix R and the translation invariant metric set TIM P and TIM Q , and the fitness function of the second sub-population, evaluate the fitness of the particles in the second sub-population, including: Apply the rotation transformation matrix R to the translation invariant metric set TIM P to obtain R(TIM P ). For each translation invariant metric in R(TIM P ), determine the corresponding translation invariant metric in the translation invariant metric set TIM Q the fitness of the particles in the second sub-population is evaluated by using the fitness function of the second sub-population, wherein the fitness function of the second sub-population includes: Among them, f β represents the fitness function of the second sub-population; represents the cardinality of a set; η represents the coefficient for balancing the magnitudes of two terms in the equilibrium formula; Φ represents the set of all translation-invariant metric serial numbers; Γ represents the set of correctly matched translation metric serial numbers; the criterion for correct matching is τ is the upper bound of the noise value among the parameters of the multi-task particle swarm algorithm set.
8. The 3D point cloud registration method based on evolutionary multi-task optimization according to claim 7, characterized in that, the determination of whether the knowledge transfer condition is satisfied includes: generating a random number, if the random number is less than or equal to the random mating probability rmp in the set multi-task particle swarm algorithm parameters, it is determined that the knowledge transfer condition is satisfied, otherwise it is determined that the knowledge transfer condition is not satisfied.
9. The 3D point cloud registration method based on evolutionary multi-task optimization according to claim 8, characterized in that, the gbest in the two sub-populations is used as the transferred knowledge, the knowledge obtained in the second sub-population is complemented, and after the knowledge is complemented, the gbest in the two sub-populations is updated by using arithmetic crossover, including: Decode the gbest searched by the second sub-population to obtain the target rotation transformation matrix R srch ; Execute the step of establishing point-to-point correspondence, including: applying the target rotation transformation matrix R srch to the point cloud P s to obtain the point cloud R srch (P s ). For each point in R srch (P s ), use the nearest neighbor search algorithm to find the nearest point in the point cloud Q s and establish the point-to-point correspondence (R srch (p i ), q φ(i) ); By calculating the residual r of the correspondence between points i the weight coefficient w is obtained i ; Calculate the point cloud R based on the weight coefficients srch (P s ) and the point cloud Q s to obtain the weighted centroids, and calculate the translation increment by taking the difference between the two weighted centroids; Apply the translation increment to the point cloud R srch (P s ), and return to execute the step of establishing the correspondence between points. Until the number of repetitions meets the preset value, sum all the translation increments to obtain the summation result t est , and use the summation result t est to complete the translation transformation missing from the second sub-population knowledge; the gbest in the two sub-populations is updated by using the arithmetic crossover coefficient in the set multi-task particle swarm algorithm parameters and the gbest update formula corresponding to each sub-population.
10. The 3D point cloud registration method based on evolutionary multi-task optimization according to claim 9, characterized in that, based on the updated gbest, the velocities and positions of the particles in the two sub-populations are updated, including: the velocities and positions of all the particles in the two sub-populations are updated by using the preset velocity update formula and position update formula; wherein, the velocity update formula includes: the position update formula includes: Among them, v represents velocity; x represents position; k and d in the subscript represent the particle number and the updated dimension; t in the superscript represents the current iteration number of the multi-task particle swarm algorithm; ω represents the inertia weight in the parameters of the multi-task particle swarm algorithm set; c 1 and c 2 represent the acceleration coefficients in the parameters of the multi-task particle swarm algorithm set; r 1 and r 2 represent random numbers.
Citation Information
Patent Citations
Point cloud registration method based on distribution
CN113989340A
Unmanned vehicle positioning system, method and device, and electronic equipment
CN114063092A