Three-dimensional point cloud registration method and device, terminal equipment and storage medium

Through the bidirectional point cloud registration method and iterative optimization of the loss function, the problem of insufficient unidirectional matching in the ICP algorithm is solved, more efficient and accurate point cloud registration is achieved, and the robustness and accuracy are enhanced.

CN120599004BActive Publication Date: 2025-10-17SHENZHEN XGRIDS-INNOVATION CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511086622.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-05
Publication Date
2025-10-17
Estimated Expiration
2045-08-05

AI Technical Summary

Technical Problem

Existing point cloud registration algorithms based on iterative closest point (ICP) have problems such as insufficient one-way matching constraints, sensitivity to initial pose deviations, insufficient utilization of the multi-dimensional information of point cloud data, and accumulation of plane fitting errors.

Method used

A bidirectional closest point matching method is adopted to construct a bidirectional loss function. The registration transformation matrix is ​​calculated through iterative optimization. The adaptive weight is calculated in combination with the local surface flatness of the point cloud. Constraints are added to improve robustness and accuracy.

Benefits of technology

It improves the stability and accuracy of point cloud registration, increases the registration success rate, reduces the impact of noise interference and occlusion, and improves the registration effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120599004B_ABST
    Figure CN120599004B_ABST
Patent Text Reader

Abstract

The application relates to the technical field of point cloud registration, in particular to a three-dimensional point cloud registration method and device, a terminal device and a storage medium. The method comprises the following steps: performing bidirectional nearest point matching on a source point cloud and a target point cloud to obtain a bidirectional matching result; calculating a bidirectional loss value by using a bidirectional loss function according to the bidirectional matching result; wherein the bidirectional loss function is constructed based on the bidirectional matching; iteratively calculating the bidirectional loss function and the bidirectional loss value, and when an iteration condition is met, calculating a registration transformation matrix of the source point cloud to the target point cloud. Through bidirectional registration and a bidirectional loss function, a constraint condition is added, so that the accuracy of a registration result is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of point cloud registration, and particularly to a three-dimensional point cloud registration method and device, a terminal device and a storage medium. BACKGROUND

[0002] The existing point cloud registration algorithm based on iterative closest point (ICP) generally adopts a one-way matching strategy from the source point cloud to the target point cloud. This mode has three main limitations: first, the single direction matching constraint is easy to cause insufficient registration, and it is difficult to effectively deal with noise interference and occlusion conditions; second, the algorithm is sensitive to the initial pose deviation, and the robustness needs to be improved; third, the existing method fails to fully utilize the multi-dimensional information of the point cloud data, lacking the collaborative use of geometric features and semantic information, and there is a problem of frame-by-frame accumulation of plane fitting error. SUMMARY

[0003] Therefore, the embodiments of the present application provide a three-dimensional point cloud registration method and device, a terminal device and a storage medium, which can effectively solve the problems of insufficient constraint and plane fitting error accumulation.

[0004] In a first aspect, the embodiments of the present application provide a three-dimensional point cloud registration method, comprising:

[0005] performing bidirectional nearest point matching on the source point cloud and the target point cloud to obtain a bidirectional matching result;

[0006] calculating a bidirectional loss value using a bidirectional loss function according to the bidirectional matching result, wherein the bidirectional loss function is constructed based on the bidirectional matching;

[0007] iterating the bidirectional loss function and the bidirectional loss value, and calculating a registration transformation matrix of the source point cloud to the target point cloud when an iteration condition is met.

[0008] In some embodiments, the bidirectional nearest point matching on the source point cloud and the target point cloud to obtain a bidirectional matching result comprises:

[0009] searching for the nearest corresponding points of the source point cloud to the target point cloud to obtain a first matching point pair set from the source point cloud to the target point cloud;

[0010] searching for the nearest corresponding points of the target point cloud to the source point cloud to obtain a second matching point pair set from the target point cloud to the source point cloud.

[0011] In some embodiments, the method for constructing the bidirectional loss function based on the bidirectional matching comprises:

[0012] constructing a first loss term and a second loss term according to the first matching point pair set and the second matching point pair set, respectively;

[0013] combining the first loss term and the second loss term to obtain a bidirectional loss function.

[0014] In some embodiments, an expression of the bidirectional loss function is:

[0015] ;

[0016] wherein, is a bidirectional loss value, w i is an adaptive weight of the target point cloud, w j is an adaptive weight of the source point cloud, N is a number of matching point pairs of the source point cloud to the target point cloud, M is a number of matching point pairs of the target point cloud to the source point cloud, i is a label of a matching point pair of the source point cloud to the target point cloud, j is a label of a matching point pair of the target point cloud to the source point cloud, T is a transformation matrix, p i is a point in the source point cloud for establishing a registration constraint, q i is a point in the target point cloud and the point p i establishes a registration constraint, q j is a point in the target point cloud for establishing a registration constraint, p j is a point in the source point cloud and the point q j establishes a registration constraint, is a normal vector of the point q i ; is a normal vector of the point p j .

[0017] In some embodiments, the adaptive weight of the target point cloud is calculated according to a local surface planarity of the target point cloud;

[0018] the adaptive weight of the source point cloud is calculated according to a local surface planarity of the source point cloud.

[0019] In some embodiments, the adaptive weight of the target point cloud is calculated according to a local surface planarity of the target point cloud, comprising:

[0020] obtaining a local surface geometric feature of the target point cloud through principal component analysis, obtaining a minimum eigenvalue therein, and obtaining a planarity of a local surface of the target point cloud according to the minimum eigenvalue;

[0021] calculating the adaptive weight of the target point cloud according to the planarity, and an expression of the calculation of the adaptive weight of the target point cloud is:

[0022] w i =1-planarity;

[0023] In the formula, planarity is the minimum eigenvalue of the local surface geometry feature, w i is an adaptive weight of the target point cloud.

[0024] In some embodiments, the iteration of the bidirectional loss function and the bidirectional loss value, the registration transformation matrix of the source point cloud to the target point cloud when the iteration condition is met, comprises:

[0025] The value of the transformation matrix in the bidirectional loss function when the bidirectional loss value is minimum is calculated to obtain an optimal transformation matrix.

[0026] The optimal transformation matrix is applied to the source point cloud to obtain an updated source point cloud.

[0027] The step of performing bidirectional nearest point matching on the source point cloud and the target point cloud to obtain a bidirectional matching result is re-executed for iteration.

[0028] When a preset iteration condition is triggered, the current optimal transformation matrix is obtained as a registration transformation matrix.

[0029] In a second aspect, the present application also provides a three-dimensional point cloud registration device, comprising:

[0030] A matching module is configured to perform bidirectional nearest point matching on a source point cloud and a target point cloud to obtain a bidirectional matching result.

[0031] A loss module is configured to calculate a bidirectional loss value by using a bidirectional loss function according to the bidirectional matching result, wherein the bidirectional loss function is constructed based on the bidirectional matching.

[0032] A calculation module is configured to iterate the bidirectional loss function and the bidirectional loss value, and calculate a registration transformation matrix of the source point cloud to the target point cloud when an iteration condition is met.

[0033] In a third aspect, the present application also provides a terminal device, which comprises a processor and a memory, the memory stores a computer program, and the processor is configured to execute the computer program to implement the three-dimensional point cloud registration method.

[0034] In a fourth aspect, the present application also provides a readable storage medium, which stores a computer program, and the computer program is executed on a processor to implement the three-dimensional point cloud registration method.

[0035] The embodiments of the present application have the following beneficial effects:

[0036] The application obtains a bidirectional matching result by performing bidirectional nearest point matching on the source point cloud and the target point cloud, constructs a bidirectional loss function based on the result of bidirectional matching, and calculates a registration transformation matrix of the source point cloud to the target point cloud through the bidirectional loss function, so that more constraint condition parameters are provided when the registration transformation matrix is calculated, the bidirectional loss function can converge faster, a more accurate registration transformation matrix can be obtained, and the stability and accuracy of the point cloud registration process are increased. BRIEF DESCRIPTION OF DRAWINGS

[0037] In order to more clearly illustrate the technical solutions of the embodiments of the application, the drawings needed to be used in the embodiments will be briefly introduced as follows. It should be understood that the following drawings only show some of the embodiments of the application, and therefore should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can also be obtained without creative labor.

[0038] Figure 1 A flowchart of a three-dimensional point cloud registration method according to an embodiment of the application is shown;

[0039] Figure 2 A point cloud registration result according to the prior art is shown;

[0040] Figure 3 A point cloud registration result according to an embodiment of the application is shown;

[0041] Figure 4 A structure diagram of a three-dimensional point cloud registration device according to an embodiment of the application is shown. DETAILED DESCRIPTION

[0042] The technical solutions in the embodiments of the application will be described clearly and completely in combination with the drawings in the embodiments of the application. Obviously, the described embodiments are only some of the embodiments of the application, but not all the embodiments.

[0043] The components of the embodiments of the application generally described and shown in the drawings herein can be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of the application provided in the drawings is not intended to limit the scope of the claimed application, but only represents selected embodiments of the application. Based on the embodiments of the application, all other embodiments obtained by those skilled in the art without creative labor are within the scope of protection of the application.

[0044] Hereinafter, the terms "include", "have", and their conjugations, which are used in the various embodiments of the present application, merely indicate the presence of the features, numbers, steps, operations, elements, components, or combinations thereof described in the specification, and do not preclude the presence or addition of one or more other features, numbers, steps, operations, elements, components, or combinations thereof.

[0045] Unless defined otherwise, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which various embodiments of the present application belong. Such terms, as commonly used in the art, are to be interpreted in the same way as they are interpreted in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless clearly defined in various embodiments of the present application.

[0046] Some embodiments of the present application are described in detail below with reference to the accompanying drawings. The following embodiments and features of the embodiments can be combined with each other unless there is a conflict.

[0047] Current ICP algorithms usually use a method of matching source point clouds to target point clouds. This method has insufficient constraints. The three-dimensional point cloud registration method of the present application calculates a bidirectional loss value when calculating a loss value, thereby increasing constraints and making the final registration result more accurate, increasing the registration success rate and registration effect.

[0048] The three-dimensional point cloud registration method will be described below in conjunction with some specific embodiments.

[0049] Figure 1 A flowchart of the three-dimensional point cloud registration method of the embodiments of the present application is shown. Exemplarily, the three-dimensional point cloud registration method includes the following steps:

[0050] In step S100, bidirectional nearest point matching is performed on the source point cloud and the target point cloud to obtain a bidirectional matching result.

[0051] In three-dimensional point cloud matching, there is a source point cloud and a target point cloud, which are registered by an ICP algorithm. The main purpose is to obtain a registration transformation matrix of the source point cloud to the three-dimensional point cloud, i.e., to obtain how the source point cloud is translated and rotated to become the same as the target point cloud.

[0052] The registration transformation matrix is a transformation matrix used for translation and rotation of the source point cloud, so that the source point cloud has the same spatial position and state as the target point cloud after transformation.

[0053] Closest point matching refers to searching for the closest corresponding point between the source point cloud and the target point cloud; that is, finding a matching point by searching for the closest point in the target point cloud. Closest point matching methods include point-to-point matching, point-to-surface matching, and point-to-line matching. In this embodiment, considering the convergence speed and accuracy of the subsequent loss value, point-to-surface matching is used to obtain the closest point matching result.

[0054] In this embodiment, unlike traditional single-point matching, bidirectional matching is used to add constraints to the matching process. Bidirectional matching means that in addition to retaining the matching operation from the source point cloud to the target point cloud, the target point cloud is also matched to the source point cloud. This means that the closest point matching operation is performed on each point cloud, ultimately resulting in two point pair sets.

[0055] For the convenience of explanation, let the source point cloud set p = {p1, p2, ..., p N}, the target point cloud set is q={q1,q 2, …, q M}. The source point cloud has N points, and the target point cloud has M points. It can be understood that when matching from the source point cloud to the target point cloud, the points in the source point cloud are used as points for establishing registration constraints, and the points in the target point cloud are matched to obtain the corresponding points for establishing registration constraints in the target point cloud, so that N point pairs can be matched. Similarly, when matching from the target point cloud to the source point cloud, the target point cloud is used as the basis for establishing registration constraints, and the corresponding points in the source point cloud are obtained to obtain the corresponding points for establishing registration constraints, so that M point pairs can be matched.

[0056] Regardless of which point cloud is matched, the same matching method can be used, so the matching method is explained by matching the source point cloud to the target point cloud. The distance metric from the source point cloud to the target point cloud can be used to estimate the transformation for matching, and there are many matching methods. For example, point-to-point matching is to find a point on the target point cloud that is closest to the point on the current source point cloud. For point-to-surface matching, it is to find the closest section to the current point in the target point cloud, and then obtain the center of mass of the section to find the corresponding matching point on the target point cloud. It uses the normal vector information of the target point cloud to change the error metric from point-to-point distance to the distance from the source point to the target point tangent plane.

[0057] It's understandable that whether matching is performed point-to-point or point-to-surface, we can obtain a first set of matching point pairs from the source point cloud to the target point cloud, and a second set of matching point pairs from the target point cloud to the source point cloud. Each point pair in these two sets is the closest point pair obtained by matching using the point-to-surface method. These two sets of point pairs are the matching results after bidirectional matching.

[0058] In step S200, a bidirectional loss value is calculated according to the bidirectional matching result by using a bidirectional loss function.

[0059] The bidirectional loss function is mainly a loss function constructed based on a bidirectional matching manner, and is used to calculate a loss value between the source point cloud after a transformation operation of a preset transformation matrix and the target point cloud. By bringing the matching result obtained in the foregoing step into the bidirectional loss function, the bidirectional loss value can be calculated.

[0060] First, the construction logic of the bidirectional loss function in this embodiment is described. According to the matching manner described above, a plurality of point pairs and the corresponding nearest point distances of the point pairs can be obtained. In this embodiment, the bidirectional loss function is constructed based on the matching manner described above, and the corresponding point pairs are brought into the bidirectional loss function to calculate the bidirectional loss value.

[0061] In this embodiment, a corresponding first loss term and a second loss term are first constructed, that is, the first matching point pair set is used to construct the first loss term, and the second matching point pair set is used to construct the second loss term. Meanwhile, considering that the weights of each loss term are different, an adaptive weight needs to be set for each term.

[0062] Then, the first loss term and the second loss term are combined to obtain the bidirectional loss function. In this way, the bidirectional loss function simultaneously contains the information and constraints of bidirectional matching.

[0063] Exemplarily, the expression of the bidirectional loss function is as follows:

[0064] ;

[0065] In the formula, is a bidirectional loss value, w i is an adaptive weight of the target point cloud, w j is an adaptive weight of the source point cloud, N is the number of matching point pairs of the source point cloud to the target point cloud, M is the number of matching point pairs of the target point cloud to the source point cloud, i is a matching point pair index of the source point cloud to the target point cloud, j is a matching point pair index of the target point cloud to the source point cloud, T is a transformation matrix, p i is a point in the source point cloud for establishing a registration constraint, q i is a point in the target point cloud corresponding to the point p i for establishing a registration constraint, q j is a point in the target point cloud for establishing a registration constraint, p j is a point in the source point cloud corresponding to the point q j for establishing a registration constraint, is a point q i is a transpose of a normal vector of the point q is the transpose of the normal vector of point p j .

[0066] wherein the transformation matrix mentioned above is the final transformation matrix to be obtained, which is initialized at the beginning in the loss function and then continuously optimized in the subsequent iterations to finally obtain the converged transformation matrix. The two normal vectors n i and m j mentioned above are calculated in advance based on the points in the corresponding point cloud, that is, all the points in the two point clouds have their own normal vectors. The normal vector represents the normal vector of the local plane where the corresponding point in the point cloud is located.

[0067] wherein, is the first loss term, is the second loss term.

[0068] As shown in the following formula, it is a traditional single loss function:

[0069] .

[0070] Compared with the traditional single loss function and the bidirectional loss function of the present embodiment, the present embodiment adds a second loss term, and an adaptive weight w i is added before each loss term, so that the bidirectional loss function of the present embodiment has more constraint conditions, and the second loss term is added to increase the constraint when calculating the loss, so as to increase the robustness and accuracy. As can be seen, the bidirectional loss function of the present embodiment is a bidirectional loss value obtained by combining the matching loss of the source point cloud to the target point cloud and the matching loss of the target point cloud to the source point cloud. The loss value has more element conditions, and the constraint condition is greater than that in the loss value of the single loss function. Therefore, in the subsequent iteration process, the matching transformation matrix has more constraint conditions, so as to obtain a better matching transformation matrix.

[0071] The adaptive weights for the two loss terms are obtained according to the surface geometric features of the target point cloud and the source point cloud, respectively.

[0072] The present embodiment performs nearest point matching in a point-to-plane manner, and under this method, the flatness of the local plane to which the point is matched will affect the effectiveness of the actual obtained loss value. Therefore, the adaptive weight corresponding to the local plane of the point cloud can be calculated according to the flatness of the local plane, and the adaptive weight is used for noise reduction processing.

[0073] Taking the adaptive weight of the target point cloud as an example, the first loss term is obtained by the first nearest point distance generated when the source point cloud is matched to the target point cloud. Each registered point pair has a corresponding weight w iThe higher the weight, the more real and effective the value in the first loss term is, and vice versa. Therefore, the weight is related to the planarity of the surface of the target point cloud. It can be understood that the lower the planarity of the region, the lower the weight, so that noise can be suppressed, and the higher the planarity of the region, the higher the weight.

[0074] For planarity, the embodiment extracts local surface geometric features by principal component analysis, for example, the point pair of the current registration is the point p i of the source point cloud and the point q i of the target point cloud, which is matched from the source point cloud to the target point cloud. Then, the embodiment obtains the local surface geometric features of the target point cloud near the point q i of the target point cloud by principal component analysis, and obtains the eigenvalue.

[0075] The planarity formula is: planarity i = λ.

[0076] λ is the minimum eigenvalue, that is, the minimum value among all eigenvalues obtained by principal component analysis. The smoother the local region is, the smaller the planarity i is, and the larger the corresponding adaptive weight w i is. For each point pair, a corresponding planarity i can be calculated, so w i = 1 - planarity i . The adaptive weight is in the range of (0, 1).

[0077] In the same way, the adaptive weight of the source point cloud before the second loss term can also be obtained. When calculating the adaptive weight of the source point cloud, the planarity of the source point cloud is calculated.

[0078] According to the above method, the bidirectional loss function is constructed.

[0079] In an optional embodiment, the adaptive weight calculated in the foregoing can also be further smoothed by a Cauchy loss function to eliminate abnormal values. Exemplarily, the expression is:

[0080] ;

[0081] In the formula, r is the residual, c is a scale hyperparameter, is a loss kernel function, which further nonlinearly weights the adaptive weight to make it more resistant to noise, and by replacing the two adaptive weights in the foregoing bidirectional loss function, the bidirectional loss function can have better noise resistance and increase the overall robustness.

[0082] In summary, the construction of the bidirectional loss function is completed, and only the matching result obtained in step S100 needs to be brought into the loss function to calculate the bidirectional loss value. The bidirectional loss value reflects the residual error between the transformed source point cloud and the target point cloud under the influence of the transformation matrix T. The smaller the value, the better the transformation matrix T.

[0083] In step S300, the bidirectional loss function and the bidirectional loss value are iterated to calculate the registration transformation matrix of the source point cloud to the target point cloud when the iteration condition is met.

[0084] In this embodiment, the transformation matrix in the bidirectional loss function is calculated when the bidirectional loss value is minimum, and the optimal transformation matrix is obtained.

[0085] After the matching result is brought into the loss function, the corresponding transformation matrix T can be obtained by calculating the minimum bidirectional loss value. In one matching result, the transformation matrix T corresponding to the minimum bidirectional loss value is the current optimal transformation matrix.

[0086] The optimal transformation matrix is applied to the source point cloud to obtain an updated source point cloud.

[0087] However, the optimal transformation matrix obtained at this time is only a local optimum, not a global optimum. Based on the currently obtained optimal transformation matrix, the optimal transformation matrix can be applied to the source point cloud, and then the operation of step S100 can be performed again.

[0088] The step of performing bidirectional nearest point matching on the source point cloud and the target point cloud to obtain a bidirectional matching result is re-executed for iteration.

[0089] At this time, the source point cloud is updated to obtain a new source point cloud, and according to the previous calculation, the residual error between the new source point cloud and the target point cloud is not 0, that is, they are not completely aligned and coincided. Therefore, the bidirectional matching operation of step S100 can be performed again based on the new point cloud, and the aforementioned steps can be repeatedly executed for iteration. It can be understood that iteration is repeated, and a new transformation matrix T can be obtained each time, and each iteration makes the transformation effect of the transformation matrix T better.

[0090] When the preset iteration stopping condition is triggered, the current optimal transformation matrix is obtained as the registration transformation matrix.

[0091] For the preset iteration stopping condition, it can be that when the number of iterations reaches a preset limit, such as setting 10 times as the upper limit of iteration, or it can be set that when the bidirectional loss value is less than a certain preset value, it is considered to be converged and the iteration can be stopped.

[0092] The above-mentioned bidirectional loss function can be iterated multiple times to make the bidirectional loss value smaller and smaller, and finally the minimum value to which the bidirectional loss function converges can be obtained. When the bidirectional loss function value is minimum, the corresponding T can be solved. At this time, T is the registration transformation matrix from the source point cloud to the target point cloud. Solving T can be solved by the least squares method. The solution method is not the focus of this embodiment and will not be described in detail here.

[0093] In order to better illustrate the difference between the solution of this embodiment and the traditional ICP method, this embodiment also provides a control group to illustrate the effect.

[0094] like Figure 2 As shown, this is the effect diagram after the traditional ICP method is used for registration. The blue and red areas in the figure are the source point cloud and the target point cloud respectively. Figure 2 As can be seen in the figure, the blue and red point clouds do not completely overlap, and some areas show offsets. For example, in areas 100 and 200 in the lower left corner, the vertical point clouds of the blue point cloud are offset from the vertical point clouds of the red point cloud. This is clearly due to an insufficient rotation angle. A similar deviation exists in area 300 on the right, which is caused by the inaccurate registration transformation matrix obtained using the traditional ICP method.

[0095] And as Figure 3 As shown in the figure, the registration result obtained by using the bidirectional loss function of this embodiment is Figure 3 and Figure 2 By comparison, we can find that Figure 3 Corresponding Figure 2 The blue and red point clouds in the black circle part are basically overlapped, which means that the registration transformation matrix obtained by using the method of this embodiment is more accurate, which can enable the source point cloud to obtain a more accurate registration transformation matrix, so that the source point cloud can be transformed into the target point cloud according to the registration transformation matrix.

[0096] For example, as shown in the registration data in Table 1, the number of matching point pairs in the bidirectional matching method in this embodiment is much larger than that in the unidirectional matching method, which greatly increases the constraint data and thus improves the final registration effect.

[0097]

[0098] Table 1 shows the differences between various data between the traditional one-way ICP and the ICP solution of this embodiment under the same conditions. It can be seen that the solution of this embodiment increases the number of matching points, thereby greatly improving the accuracy of registration, making the registration results between point clouds more stable and effective, and increasing the matching success rate.

[0099] Figure 4 A structural schematic diagram of a three-dimensional point cloud registration device according to an embodiment of the present application is shown. The three-dimensional point cloud registration device includes, for example:

[0100] A matching module 10 is configured to perform bidirectional nearest point matching on the source point cloud and the target point cloud to obtain a bidirectional matching result.

[0101] A loss module 20 is configured to calculate a bidirectional loss value by using a bidirectional loss function based on the bidirectional matching result, wherein the bidirectional loss function is constructed based on the bidirectional matching.

[0102] A calculation module 30 is configured to iteratively calculate the bidirectional loss function and the bidirectional loss value, and calculate a registration transformation matrix of the source point cloud to the target point cloud when an iteration condition is met.

[0103] It can be understood that the device of the present embodiment corresponds to the three-dimensional point cloud registration method of the above-mentioned embodiment, and the optional items in the above-mentioned embodiment are also applicable to the present embodiment, and thus will not be described again here.

[0104] The present application also provides a terminal device, which includes a processor and a memory, wherein the memory stores a computer program, and the processor executes the computer program to make the terminal device perform the functions of the above-mentioned three-dimensional point cloud registration method or each module of the above-mentioned three-dimensional point cloud registration device.

[0105] The processor can be an integrated circuit chip with a signal processing capability. The processor can be a general-purpose processor, including a central processing unit (CPU), a graphics processing unit (GPU), and a network processor (NP), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or at least one of the above. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor, etc., which can implement or execute the disclosed methods, steps, and logic block diagrams in the embodiments of the present application.

[0106] The memory can be, but is not limited to, a random access memory (RAM), a read only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM) and the like. Among them, the memory is used to store a computer program, and the processor can execute the computer program correspondingly after receiving an execution instruction.

[0107] The application further provides a readable storage medium for storing the computer program used in the terminal device.

[0108] In several embodiments provided in the application, it should be understood that the disclosed apparatus and method can also be implemented by other means. The apparatus embodiments described above are only schematic, for example, the flow charts and block diagrams in the drawings show the possible implementation architectures, functions and operations of the apparatus, method and computer program product according to the embodiments of the application. In this regard, each block in the flow chart or block diagram can represent a module, a program segment or a part of code, which contains one or more executable instructions for implementing the specified logical function. It should also be noted that, in alternative implementation, the functions noted in the block can occur in different order from that noted in the drawings. For example, two consecutive blocks can actually be executed substantially in parallel, and sometimes they can be executed in reverse order, depending on the functions involved. It should also be noted that each block in the structural diagram and / or flow chart, and the combination of blocks in the structural diagram and / or flow chart, can be implemented by a dedicated hardware-based system for executing the specified functions or actions, or can be implemented by a combination of dedicated hardware and computer instructions.

[0109] In addition, each functional module or unit in the embodiments of the application can be integrated together to form an independent part, or each module can exist independently, or two or more modules can be integrated to form an independent part.

[0110] If the functions are implemented in the form of software function modules and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the parts that contribute to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a smart phone, a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), a random access memory (RAM, Random Access Memory), a magnetic disk or an optical disk, and various media that can store program codes.

[0111] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application.

Claims

1. A three-dimensional point cloud registration method, characterized in that: include: Perform bidirectional closest point matching on the source point cloud and the target point cloud to obtain the bidirectional matching result; Calculating a bidirectional loss value using a bidirectional loss function according to the bidirectional matching result; Wherein, a first loss term and a second loss term are constructed respectively according to the first matching point pair set and the second matching point pair set in the matching result; Combining the first loss term and the second loss term to obtain a bidirectional loss function; The expression of the bidirectional loss function is: ; Where, is the bidirectional loss value, w i is the adaptive weight of the target point cloud, w j is the adaptive weight of the source point cloud, N is the number of matching point pairs from the source point cloud to the target point cloud, M is the number of matching point pairs from the target point cloud to the source point cloud, i is the number of matching point pairs from the source point cloud to the target point cloud, j is the number of matching point pairs from the target point cloud to the source point cloud, T is the transformation matrix, p i is the point in the source point cloud used to establish the registration constraint, q i is the target point cloud neutral point p i The point where the registration constraint is established, q j is the point in the target point cloud used to establish the registration constraint, p j is the neutral point q in the source point cloud j The points for establishing registration constraints, For point q i The transpose of the normal vector, For point p j The transpose of the normal vector; Iterate the bidirectional loss function and the bidirectional loss value, and calculate a registration transformation matrix from the source point cloud to the target point cloud when an iteration condition is met.

2. The three-dimensional point cloud registration method according to claim 1, characterized in that: The bidirectional closest point matching is performed on the source point cloud and the target point cloud to obtain a bidirectional matching result, including: Searching for the nearest corresponding point from the source point cloud to the target point cloud to obtain the first set of matching point pairs from the source point cloud to the target point cloud; The target point cloud is used to search for the nearest corresponding point to the source point cloud, and the second matching point pair set from the target point cloud to the source point cloud is obtained.

3. The three-dimensional point cloud registration method according to claim 1, characterized in that: The adaptive weight of the target point cloud is calculated based on the local surface flatness of the target point cloud; The adaptive weight of the source point cloud is calculated according to the local surface flatness of the source point cloud.

4. The three-dimensional point cloud registration method according to claim 3, characterized in that: The adaptive weight of the target point cloud is calculated based on the local surface flatness of the target point cloud, including: Obtaining local surface geometric features of the target point cloud through principal component analysis, obtaining a minimum eigenvalue therein, and obtaining the flatness of the local surface of the target point cloud based on the minimum eigenvalue; According to the flatness, the adaptive weight of the target point cloud is calculated. The calculation expression of the adaptive weight of the target point cloud is: w i =1-planarity; Where planarity is the minimum eigenvalue of the local surface geometric feature, w i is the adaptive weight of the target point cloud.

5. The three-dimensional point cloud registration method according to claim 1, characterized in that: The iterating the bidirectional loss function and the bidirectional loss value to calculate the registration transformation matrix from the source point cloud to the target point cloud when an iteration condition is met includes: Calculating a value of a transformation matrix in the bidirectional loss function when the bidirectional loss value is minimized to obtain an optimal transformation matrix; Applying the optimal transformation matrix to the source point cloud to obtain an updated source point cloud; Re-execute the step of performing bidirectional closest point matching on the source point cloud and the target point cloud to obtain a bidirectional matching result, and perform an iterative operation; When the preset iteration condition is triggered, the current optimal transformation matrix is ​​obtained as the registration transformation matrix.

6. A three-dimensional point cloud registration device, characterized in that: include: The matching module is used to perform bidirectional closest point matching on the source point cloud and the target point cloud to obtain a bidirectional matching result; a loss module, configured to calculate a bidirectional loss value based on the bidirectional matching result using a bidirectional loss function; wherein a first loss term and a second loss term are constructed based on the first set of matching point pairs and the second set of matching point pairs in the matching result, respectively; Combining the first loss term and the second loss term to obtain a bidirectional loss function; The expression of the bidirectional loss function is: ; Where, is the bidirectional loss value, w i is the adaptive weight of the target point cloud, w j is the adaptive weight of the source point cloud, N is the number of matching point pairs from the source point cloud to the target point cloud, M is the number of matching point pairs from the target point cloud to the source point cloud, i is the number of matching point pairs from the source point cloud to the target point cloud, j is the number of matching point pairs from the target point cloud to the source point cloud, T is the transformation matrix, p i is the point in the source point cloud used to establish the registration constraint, q i is the target point cloud neutral point p i The point where the registration constraint is established, q j is the point in the target point cloud used to establish the registration constraint, p j is the neutral point q in the source point cloud j The points for establishing registration constraints, For point q i The transpose of the normal vector, For point p j The transpose of the normal vector; A calculation module is used to iterate the bidirectional loss function and the bidirectional loss value, and calculate the registration transformation matrix from the source point cloud to the target point cloud when an iteration condition is met.

7. A terminal device, characterized in that: The terminal device includes a processor and a memory, the memory stores a computer program, and the processor is configured to execute the computer program to implement the three-dimensional point cloud registration method according to any one of claims 1 to 5.

8. A readable storage medium, characterized in that: The device stores a computer program, which, when executed on a processor, implements the three-dimensional point cloud registration method according to any one of claims 1 to 5.

Citation Information

Patent Citations

  • Point cloud registration method and system based on multi-scale feature similarity constraint

    CN114782503A

  • Point cloud matching method and system based on derivative-free optimization

    CN118314180A