Point cloud matching method and device, electronic equipment and computer storage medium

By distinguishing between core clusters and non-core clusters in point cloud matching and continuing iteration when the iteration error does not meet the conditions, the problem of large random errors in point cloud matching algorithms is solved, improving the accuracy of point cloud matching and reducing the computational load. It is suitable for 3D modeling and attitude estimation.

CN116740395BActive Publication Date: 2026-06-26HUNAN QIANXUN PRECISION PERCEPTION SCI RES INST CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
HUNAN QIANXUN PRECISION PERCEPTION SCI RES INST CO LTD
Filing Date
2023-05-24
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing point cloud matching algorithms are prone to random errors during iteration, especially when matching between cross-source point clouds, which makes it impossible for the errors to converge.

Method used

By taking multiple reference point cloud clusters in the reference point cloud set as a reference, attitude iteration is performed on multiple source point cloud clusters in the source point cloud set respectively, distinguishing between core clusters and non-core clusters, calculating the iteration error from multiple attitude point sets to multiple reference point cloud clusters, and continuing iteration until the condition is met when the iteration error does not meet the termination condition.

Benefits of technology

It improves the accuracy of point cloud matching, reduces the overall computational load, and reduces the spread of random errors, making it suitable for 3D modeling and pose estimation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116740395B_ABST
    Figure CN116740395B_ABST
Patent Text Reader

Abstract

The application discloses a point cloud matching method and device, electronic equipment and computer storage medium. The method comprises the following steps: taking a plurality of reference point cloud clusters in a reference point cloud set as a reference, respectively performing pose iteration on a plurality of source point cloud clusters in a source point cloud set to obtain a plurality of pose point sets corresponding to the plurality of source point cloud clusters, and the plurality of reference point cloud clusters and the plurality of source point cloud clusters each comprise a core cluster and a non-core cluster; distinguishing the core cluster and the non-core cluster, calculating iteration errors of the plurality of pose point sets to the plurality of reference point cloud clusters; in the case that the iteration errors do not satisfy an iteration termination condition, continuing to take the plurality of reference point cloud clusters as the reference to perform pose iteration on the plurality of pose point sets until the iteration errors satisfy the iteration termination condition. The application can improve the technical problem that the point cloud matching in the related art has a large random error during iteration.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of data processing technology, and in particular relates to a point cloud matching method, apparatus, electronic device and computer storage medium. Background Technology

[0002] Point cloud matching technology stitches together adjacent scanned point cloud data to reconstruct the pose of the same object under different conditions. Related point cloud matching algorithms typically use two sets of point cloud data to pre-calculate rotation matrices and translation vectors during iteration. However, this approach may amplify some random errors, especially when used for matching between cross-source point clouds. Summary of the Invention

[0003] This application provides a point cloud matching method, apparatus, electronic device, and computer storage medium, which can improve the technical problem of large random errors in point cloud matching during iteration in related technologies.

[0004] Firstly, a point cloud matching method is provided, which may include:

[0005] Based on multiple reference point cloud clusters in the reference point cloud set, pose iteration is performed on multiple source point cloud clusters in the source point cloud set to obtain multiple pose point sets corresponding to multiple source point cloud clusters. Both the multiple reference point cloud clusters and the multiple source point cloud clusters include core clusters and non-core clusters.

[0006] Distinguish between core clusters and non-core clusters, and calculate the iterative error from multiple attitude point sets to multiple reference point cloud clusters;

[0007] If the iteration error does not meet the iteration termination condition, continue to iterate the attitude of multiple attitude point sets based on multiple reference point cloud clusters until the iteration error meets the iteration termination condition.

[0008] The embodiments of this application distinguish between core clusters and non-core clusters when calculating iteration errors, and utilize multiple attitude point sets. These multiple attitude point sets are obtained by performing attitude iterations separately according to multiple reference point cloud clusters and multiple source point cloud clusters. Therefore, compared with using two sets of point cloud data for attitude iteration, it is more accurate and reduces the overall computational load, which is conducive to the convergence of random errors. Thus, it improves the technical problem of large random errors in point cloud matching during iteration in related technologies, and can be widely applied to 3D modeling and attitude estimation.

[0009] Optionally, distinguishing between core clusters and non-core clusters, the iterative error from multiple attitude point sets to multiple reference point cloud clusters is calculated, including:

[0010] Calculate the first distance and the second distance. The first distance is the point cloud distance between the attitude point set corresponding to the core cluster in the multiple source point cloud clusters and the core cluster in the multiple reference point cloud clusters. The second distance is the point cloud distance between the attitude point set corresponding to the non-core cluster in the multiple source point cloud clusters and the non-core cluster in the multiple reference point cloud clusters.

[0011] The iteration error is obtained by weighting the first distance and the second distance using the first priority and the second priority. The first priority is the priority of the core cluster, and the second priority is the priority of the non-core cluster. The first priority is higher than the second priority.

[0012] Therefore, the iterative error obtained by weighted calculation takes into account more of the set with important features, which can increase the accuracy of point cloud matching. Furthermore, the division of clusters based on different priorities can also reduce some of the computational load and lower the computational cost.

[0013] Optionally, the first distance and the second distance are weighted and calculated using a first priority and a second priority to obtain the iteration error, including:

[0014] The iteration error can be calculated using the following formula;

[0015]

[0016] y represents the iteration error, m represents the number of core clusters in multiple reference point cloud clusters, n represents the number of multiple reference point cloud clusters, and d represents the iteration error. i -z i For the i-th first distance, d j -z j Let j be the j-th second distance, k be the first priority, and l be the second priority.

[0017] In these examples, when calculating the iterative error, only the entire core cluster or the entire core cluster and a small number of non-core clusters are considered. By measuring a portion of the point cloud data instead of all of it, the computational load can be reduced, while the possibility of random error amplification can be reduced, thus improving the accuracy of point cloud matching.

[0018] Optionally, before performing pose iteration on multiple source point cloud clusters in the source point cloud set, based on multiple reference point cloud clusters in the reference point cloud set, the method further includes:

[0019] Obtain the reference point cloud and the source point cloud;

[0020] The point cloud data in the reference point cloud set and the source point cloud set are aggregated to form multiple reference point cloud clusters and multiple source point cloud clusters.

[0021] These examples present methods for obtaining source and reference point cloud clusters, providing a data foundation for subsequent attitude iterations and calculations of iteration errors.

[0022] Optionally, obtain the reference point cloud and the source point cloud, including:

[0023] Select the first point cloud set from the source point cloud and the second point cloud set from the reference point cloud;

[0024] The first and second point clouds are denoised to obtain the reference point cloud and the source point cloud, thereby reducing the interference terms in the reference point cloud and the source point cloud, thus indirectly improving the accuracy of point cloud matching.

[0025] Optionally, the iteration termination condition includes at least one of the following:

[0026] The difference between the iteration error and the historical iteration error is less than the error threshold. The historical iteration error is the iteration error of the previous attitude iteration.

[0027] The iteration error corresponds to the number of iterations reaching the threshold.

[0028] These examples provide a scheme for setting the iteration termination condition, and make requirements on the iterative method in the point cloud matching process in terms of timeliness and accuracy, so that the final output point cloud matching result meets the actual needs.

[0029] Optionally, using multiple reference point cloud clusters in the reference point cloud set as a reference, pose iteration is performed on multiple source point cloud clusters in the source point cloud set to obtain multiple pose point sets corresponding to the multiple source point cloud clusters, including:

[0030] Multiple source point cloud clusters are transformed to obtain multiple transformed source point cloud clusters;

[0031] Match the point cloud data in multiple transformed source point cloud clusters and multiple reference point cloud clusters to obtain the correspondence;

[0032] The correspondence is matrix decomposed to obtain multiple attitude point sets corresponding to multiple source point cloud clusters.

[0033] These examples illustrate the implementation process of attitude iteration, which yields multiple attitude point sets corresponding to multiple source point cloud clusters, thus realizing the matching between point cloud data in a single iteration process.

[0034] Secondly, a point cloud matching device is provided, the device may include:

[0035] The iteration module is used to perform attitude iteration on multiple source point cloud clusters in the source point cloud set based on multiple reference point cloud clusters in the reference point cloud set, so as to obtain multiple attitude point sets corresponding to multiple source point cloud clusters. Both the multiple reference point cloud clusters and the multiple source point cloud clusters include core clusters and non-core clusters.

[0036] The calculation module is used to distinguish between core clusters and non-core clusters, and to calculate the iterative error from multiple attitude point sets to multiple reference point cloud clusters.

[0037] The execution module is used to continue attitude iteration on multiple attitude point sets based on multiple reference point cloud clusters if the iteration error does not meet the iteration termination condition, until the iteration error meets the iteration termination condition.

[0038] Thirdly, an electronic device is provided, comprising a memory, a processor, and a point cloud matching program stored in the memory and running on the processor, the point cloud matching program implementing the steps of the point cloud matching method of the first aspect.

[0039] Fourthly, a computer storage medium is provided, which, when executed by a processor, implements the steps of the point cloud matching method as described in the first aspect.

[0040] Fifthly, a computer program product is provided, comprising a computer program that, when executed by a processor, implements the steps of the point cloud matching method as described in the first aspect.

[0041] Compared with existing technologies, the point cloud matching method, apparatus, electronic device, and computer storage medium provided in this application, by using multiple reference point cloud clusters in a reference point cloud set as a reference, perform attitude iteration on multiple source point cloud clusters in a source point cloud set respectively, to obtain multiple attitude point sets corresponding to multiple source point cloud clusters. Both the multiple reference point cloud clusters and the multiple source point cloud clusters include core clusters and non-core clusters. Distinguishing between core clusters and non-core clusters, the iteration error from multiple attitude point sets to multiple reference point cloud clusters is calculated. If the iteration error does not meet the iteration termination condition, attitude iteration continues on multiple attitude point sets using multiple reference point cloud clusters as a reference until the iteration error meets the iteration termination condition. Because core clusters and non-core clusters are distinguished when calculating the iteration error, and multiple attitude point sets are used, and these multiple attitude point sets are obtained by performing attitude iteration on multiple reference point cloud clusters and multiple source point cloud clusters respectively, the accuracy is higher and the overall computational load is reduced compared to using two sets of point cloud data for attitude iteration. Therefore, this improves the technical problem of large random errors in point cloud matching during iteration in related technologies. Attached Figure Description

[0042] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0043] Figure 1This is a schematic flowchart of a point cloud matching method according to an embodiment of this application.

[0044] Figure 2 This is a schematic block diagram of a point cloud matching device according to another embodiment of this application.

[0045] Figure 3 This is a schematic block diagram of an electronic device according to another embodiment of this application. Detailed Implementation

[0046] The features and exemplary embodiments of various aspects of this application will now be described in detail. Numerous specific details are set forth in the following detailed description in order to provide a comprehensive understanding of this application. However, it will be apparent to those skilled in the art that this application can be implemented without some of these specific details. The following description of embodiments is merely intended to provide a better understanding of this application by illustrating examples thereof.

[0047] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. The embodiments will now be described in detail with reference to the accompanying drawings.

[0048] Point cloud matching technology stitches together adjacent scanned point cloud data to reconstruct the pose of the same object under different conditions. The point cloud matching process inevitably involves the iteration of point cloud data. Currently, most academic and commercial methods are based on the Iterative Closest Point (ICP) algorithm or its variations, which optimizes the least squares method for measuring the relationship between point cloud elements in two point clouds.

[0049] Most of these algorithms pre-calculate the rotation matrix and translation vector between the two point clouds during iterations. However, this approach can amplify some random errors, especially when matching between cross-source point clouds, which may ultimately lead to the problem that random errors between point clouds cannot converge.

[0050] To address at least one of the aforementioned technical problems, embodiments of this application propose a point cloud matching method, apparatus, electronic device, and computer storage medium to solve the problems described above.

[0051] The point cloud matching method of this application is first introduced below. (See attached image.) Figure 1 In one embodiment of the point cloud matching method of this application, the method includes:

[0052] S110, taking multiple reference point cloud clusters in the reference point cloud set as a reference, performs attitude iteration on multiple source point cloud clusters in the source point cloud set respectively, to obtain multiple attitude point sets corresponding to multiple source point cloud clusters.

[0053] The aforementioned multiple reference point cloud clusters and multiple source point cloud clusters all include core clusters and non-core clusters relative to the core clusters.

[0054] S120 distinguishes between core clusters and non-core clusters, and calculates the iterative error from multiple attitude point sets to multiple reference point cloud clusters.

[0055] S130, if the iteration error does not meet the iteration termination condition, continue to iterate the attitude of multiple attitude point sets based on multiple reference point cloud clusters until the iteration error meets the iteration termination condition.

[0056] The embodiments of this application distinguish between core clusters and non-core clusters when calculating iteration errors, and utilize multiple attitude point sets. These multiple attitude point sets are obtained by performing attitude iterations separately according to multiple reference point cloud clusters and multiple source point cloud clusters. Therefore, compared with using two sets of point cloud data for attitude iteration, it is more accurate and reduces the overall computational load, which is conducive to the convergence of random errors. Thus, it improves the technical problem of large random errors in point cloud matching during iteration in related technologies, and can be widely applied to 3D modeling and attitude estimation.

[0057] In some optional examples, the process of obtaining the reference point cloud clusters and source point cloud clusters before performing pose iteration on multiple source point cloud clusters in the source point cloud clusters, based on multiple reference point cloud clusters in the reference point cloud set, may include:

[0058] S101, Obtain the reference point cloud and the source point cloud.

[0059] S102, the point cloud data in the reference point cloud set and the source point cloud set are aggregated and processed respectively to form multiple reference point cloud clusters and multiple source point cloud clusters.

[0060] In this example, a pre-prepared set of reference points and a set of source points can be obtained. The set of reference points and the set of source points can be divided into several reference point cloud clusters and several source point cloud clusters, respectively. Then, multiple reference point cloud clusters can be selected from the set of reference points, and multiple source point cloud clusters can be selected from the set of source points.

[0061] When dividing point cloud clusters, the distribution of feature points in the point cloud clusters and the aggregation algorithm based on the direction vector distance can be used to combine and divide point cloud clusters, thereby aggregating multiple reference point cloud clusters and multiple source point cloud clusters.

[0062] These examples present methods for obtaining source and reference point cloud clusters, providing a data foundation for subsequent attitude iterations and calculations of iteration errors.

[0063] Optionally, when preparing the reference point cloud and the source point cloud, a first point cloud can be selected from the source point cloud and a second point cloud can be selected from the reference point cloud. Then, the first point cloud and the second point cloud are denoised to obtain the reference point cloud and the source point cloud respectively.

[0064] The denoising process can remove noise points, thereby reducing interference items in the reference point cloud and source point cloud, and thus indirectly improving the accuracy of point cloud matching.

[0065] It should also be noted that the selection of the aforementioned reference point cloud clusters and source point cloud clusters can be determined based on the measurement method between point cloud elements. The aforementioned core clusters are the most important point cloud clusters among multiple reference point cloud clusters and multiple source point cloud clusters. The core clusters in the reference point cloud clusters can correspond one-to-one with the core clusters in the source point cloud clusters, and the non-core clusters in the reference point cloud clusters can also correspond one-to-one with the non-core clusters in the source point cloud clusters.

[0066] For example, the reference point cloud set and the source point cloud set can each aggregate n reference point cloud clusters and n source point cloud clusters, and each of the n reference point cloud clusters and n source point cloud clusters is labeled with m core clusters, where the size of m and n is set according to the threshold and actual needs.

[0067] In some optional examples of S110, during attitude iteration, point cloud data in multiple source point cloud clusters and multiple reference point cloud clusters can be matched to obtain the correspondence. Then, by performing matrix decomposition on the correspondence, multiple attitude point sets corresponding to multiple source point cloud clusters can be obtained.

[0068] Alternatively, multiple source point cloud clusters can be transformed first to obtain multiple transformed source point cloud clusters, and then the point cloud data in the multiple transformed source point cloud clusters and multiple reference point cloud clusters can be matched.

[0069] It should be noted that the corresponding points in the reference point cloud cluster and the corresponding source point cloud cluster can be determined by using feature points and a matching method based on the direction vector threshold, thereby achieving the matching between point cloud data and obtaining the correspondence.

[0070] Furthermore, by performing matrix decomposition on the correspondence, the transformation matrix between each reference point cloud cluster and its corresponding source point cloud cluster can be obtained. This transformation matrix can include rotation vectors and translation vectors. Based on these rotation vectors and translation matrices, each new point cloud set corresponding to each reference point cloud cluster can be obtained, i.e., through attitude iteration, multiple attitude point sets corresponding to source point cloud clusters can be obtained.

[0071] These examples illustrate the implementation process of attitude iteration, which yields multiple attitude point sets corresponding to multiple source point cloud clusters, thus realizing the matching between point cloud data in a single iteration process.

[0072] It should be noted that, since core clusters and non-core clusters were distinguished in both the reference point cloud cluster and the source point cloud cluster in the aforementioned examples, in some optional examples of S120, core clusters and non-core clusters can be distinguished, and the coreness or importance of the point cloud cluster can be used as a factor to consider in calculating the iteration error. The iteration error of multiple attitude point sets to multiple reference point cloud clusters calculated in this way can provide the possibility of considering point cloud data with important features, thereby reducing the error of point cloud matching and increasing the accuracy of point cloud matching.

[0073] For example, the process of distinguishing between core clusters and non-core clusters and calculating the iterative error from multiple attitude point sets to multiple reference point cloud clusters may include:

[0074] S210, calculate the first distance and the second distance.

[0075] The first distance mentioned above is the point cloud distance between the attitude point set corresponding to the core cluster in the multiple source point cloud clusters and the core cluster in the multiple reference point cloud clusters. The second distance is the point cloud distance between the attitude point set corresponding to the non-core cluster in the multiple source point cloud clusters and the non-core cluster in the multiple reference point cloud clusters.

[0076] For example, the calculation method of the first distance and the second distance can refer to the Euclidean distance calculation method, which will not be elaborated here.

[0077] S220, the first distance and the second distance are weighted and calculated using the first priority and the second priority to obtain the iteration error.

[0078] The first priority mentioned above refers to the priority of the core cluster, and the second priority refers to the priority of the non-core cluster. The first priority is higher than the second priority.

[0079] In this example, to distinguish between core clusters and non-core clusters, the coreness or importance of point cloud clusters is considered as a factor in calculating the iteration error. Corresponding priorities are assigned to both core and non-core clusters, with core clusters having a higher priority than non-core clusters. Therefore, the iteration error obtained through weighted calculation takes into account more sets with important features, increasing the accuracy of point cloud matching. Furthermore, the division of clusters based on different priorities reduces computational load and lowers computational costs.

[0080] The priorities of the different core clusters mentioned above can be the same or different, and the priorities of the different non-core clusters mentioned above can also be the same or different.

[0081] For example, suppose y is the iteration error, m is the number of core clusters in multiple reference point cloud clusters, n is the number of multiple reference point cloud clusters, and d i -z i For the i-th first distance, d j -zj Let k be the j-th second distance, k be the first priority, and l be the second priority. The process of calculating the iterative error by weighting the first and second distances using the first and second priorities can include:

[0082] The iteration error is calculated using the following formula (1);

[0083]

[0084] It should be noted that since non-core clusters have a negligible impact on the overall point cloud matching error, the computation of this unimportant set can be reduced by using weighted calculation.

[0085] Furthermore, for all or some non-core clusters, their second priority can be configured to 0 or a number close to 0.

[0086] In these examples, when calculating the iterative error, only the entire core cluster or the entire core cluster and a small number of non-core clusters are considered. By measuring a portion of the point cloud data instead of all of it, the computational load can be reduced, while the possibility of random error amplification can be reduced, thus improving the accuracy of point cloud matching.

[0087] In some optional examples of S130, the iteration error of the current round can be compared with the iteration error of the previous round. If the comparison result meets the iteration requirements (i.e., the iteration termination condition), the latest attitude point set is output as the final point cloud matching result. If the comparison result does not meet the iteration requirements, the attitude point set continues to be iterated.

[0088] The iteration termination condition can be set by combining the number of iterations and the magnitude of the error. That is, the iteration termination condition includes at least one of the following:

[0089] The difference between the iteration error and the historical iteration error is less than the error threshold. The historical iteration error is the iteration error of the previous attitude iteration. The above error threshold is an empirical value and can be set according to actual needs.

[0090] The iteration error corresponds to the number of iterations reaching the threshold.

[0091] These examples provide a scheme for setting the iteration termination condition, and make requirements on the iterative method in the point cloud matching process in terms of timeliness and accuracy, so that the final output point cloud matching result meets the actual needs.

[0092] The point cloud matching method of this application embodiment has been described in detail above. The following will combine... Figure 2 This application describes in detail the point cloud matching device according to embodiments of the present application.

[0093] See Figure 2 The device may include:

[0094] The iteration module 210 is used to perform attitude iteration on multiple source point cloud clusters in the source point cloud set based on multiple reference point cloud clusters in the reference point cloud set, so as to obtain multiple attitude point sets corresponding to multiple source point cloud clusters. Both the multiple reference point cloud clusters and the multiple source point cloud clusters include core clusters and non-core clusters.

[0095] Calculation module 220 is used to distinguish between core clusters and non-core clusters and to calculate the iterative error from multiple attitude point sets to multiple reference point cloud clusters.

[0096] The execution module 230 is used to continue to perform attitude iteration on multiple attitude point sets based on multiple reference point cloud clusters when the iteration error does not meet the iteration termination condition, until the iteration error meets the iteration termination condition.

[0097] Optionally, the computing module 220 may include:

[0098] The first calculation unit can be used to calculate the first distance and the second distance. The first distance is the point cloud distance between the attitude point set corresponding to the core cluster in the multiple source point cloud clusters and the core cluster in the multiple reference point cloud clusters. The second distance is the point cloud distance between the attitude point set corresponding to the non-core cluster in the multiple source point cloud clusters and the non-core cluster in the multiple reference point cloud clusters.

[0099] The weighted calculation unit is used to perform weighted calculation on the first distance and the second distance using a first priority and a second priority to obtain the iteration error. The first priority is the priority of the core cluster, and the second priority is the priority of the non-core cluster. The first priority is higher than the second priority.

[0100] Optionally, the weighted calculation unit can be used to calculate the iteration error using the following formula;

[0101]

[0102] y represents the iteration error, m represents the number of core clusters in multiple reference point cloud clusters, n represents the number of multiple reference point cloud clusters, and d represents the iteration error. i -z i For the i-th first distance, d j -z j Let j be the j-th second distance, k be the first priority, and l be the second priority.

[0103] Optionally, the device may further include:

[0104] The acquisition module is used to acquire the reference point cloud and the source point cloud;

[0105] The aggregation module is used to aggregate point cloud data from the reference point cloud set and the source point cloud set respectively, forming multiple reference point cloud clusters and multiple source point cloud clusters.

[0106] Optionally, the acquisition module can be used to select a first point cloud set from the source point cloud and a second point cloud set from the reference point cloud; and to perform denoising processing on the first and second point cloud sets to obtain the reference point cloud set and the source point cloud set respectively.

[0107] Optionally, the iteration termination condition includes at least one of the following:

[0108] The difference between the iteration error and the historical iteration error is less than the error threshold. The historical iteration error is the iteration error of the previous attitude iteration.

[0109] The iteration error corresponds to the number of iterations reaching the threshold.

[0110] Optionally, the iteration module 210 may include:

[0111] The transformation unit is used to transform multiple source point cloud clusters to obtain multiple transformed source point cloud clusters;

[0112] The matching unit is used to match the point cloud data in multiple transformed source point cloud clusters and multiple reference point cloud clusters to obtain the correspondence.

[0113] The decomposition unit is used to perform matrix decomposition on the correspondence to obtain multiple attitude point sets corresponding to multiple source point cloud clusters.

[0114] Figure 3 A schematic diagram of the hardware structure of an electronic device provided in an embodiment of this application is shown. The electronic device may include a processor 301 and a memory 302 storing computer program instructions.

[0115] Specifically, the processor 301 may include a central processing unit (CPU), an application-specific integrated circuit (ASIC), or one or more integrated circuits that can be configured to implement the embodiments of this application.

[0116] Memory 302 may include mass storage for data or instructions. For example, and not limitingly, memory 302 may include a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or Universal Serial Bus (USB) drive, or a combination of two or more of these. Where suitable, memory 302 may include removable or non-removable (or fixed) media. Where suitable, memory 302 may be internal or external to an electronic device. In a particular embodiment, memory 302 is a non-volatile solid-state memory.

[0117] Memory 302 may include read-only memory (ROM), flash memory device, random access memory (RAM), disk storage medium device, optical storage medium device, electrical, optical, or other physical / tangible memory storage device. Therefore, typically, memory 302 includes one or more tangible (non-transitory) computer-readable storage media (e.g., memory devices) encoded with software that may include computer-executable instructions and, when executed (e.g., by one or more processors), is operable to perform the operations described with reference to the methods described above according to the foregoing aspects of this disclosure.

[0118] The processor 301 reads and executes computer program instructions stored in the memory 302 to implement any of the point cloud matching methods in the above embodiments.

[0119] In one example, the electronic device may also include a communication interface 303 and a bus 310. For example, Figure 3 As shown, the processor 301, memory 302, and communication interface 303 are connected through bus 310 and complete communication with each other.

[0120] The communication interface 303 is mainly used to realize communication between various modules, systems, devices, units and / or equipment in the embodiments of this application.

[0121] Bus 310 includes hardware, software, or both, that couples components of an electronic device together. For example, and not limitingly, the bus may include an Accelerated Graphics Port (AGP) or other graphics bus, an Enhanced Industry Standard Architecture (EISA) bus, a Front Side Bus (FSB), HyperTransport (HT) interconnect, an Industry Standard Architecture (ISA) bus, an Infinite Bandwidth Interconnect, a Low Pin Count (LPC) bus, a memory bus, a Microchannel Architecture (MCA) bus, a Peripheral Component Interconnect (PCI) bus, a PCI-Express (PCI-X) bus, a Serial Advanced Technology Attachment (SATA) bus, a Video Electronics Standards Association Local (VLB) bus, or other suitable buses, or combinations of two or more of these. Where appropriate, bus 310 may include one or more buses. Although specific buses are described and illustrated in embodiments of this application, this application contemplates any suitable bus or interconnect.

[0122] This electronic device can achieve integration based on point cloud matching methods. Figures 1 to 2 The described point cloud matching method and apparatus.

[0123] In conjunction with the point cloud matching methods in the above embodiments, this application embodiment can provide a computer storage medium for implementation. The computer storage medium stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the point cloud matching methods in the above embodiments.

[0124] Furthermore, in conjunction with the point cloud matching methods in the above embodiments, this application embodiment can provide a computer program product for implementation. This computer program product stores computer program instructions; when these computer program instructions are executed by a processor, they implement any of the point cloud matching methods in the above embodiments.

[0125] Furthermore, the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0126] It should be understood that in the embodiments of this application, "B corresponding to A" means that B is associated with A, and B can be determined based on A. However, it should also be understood that determining B based on A does not mean that B is determined solely based on A; B can also be determined based on A and / or other information.

[0127] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any person skilled in the art can easily conceive of various equivalent modifications or substitutions within the technical scope disclosed in this application, and these modifications or substitutions should all be covered within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.

Claims

1. A point cloud matching method, characterized in that, include: Based on multiple reference point cloud clusters in the reference point cloud set, attitude iteration is performed on multiple source point cloud clusters in the source point cloud set to obtain multiple attitude point sets corresponding to multiple source point cloud clusters. The multiple reference point cloud clusters and the multiple source point cloud clusters all include core clusters and non-core clusters. Distinguish between the core cluster and the non-core cluster, and calculate the iterative error from multiple attitude point sets to multiple reference point cloud clusters; The step of distinguishing between the core cluster and the non-core cluster, and calculating the iterative error from multiple attitude point sets to multiple reference point cloud clusters, includes: Calculate a first distance and a second distance, wherein the first distance is the point cloud distance between the attitude point set corresponding to the core cluster in the plurality of source point cloud clusters and the core cluster in the plurality of reference point cloud clusters, and the second distance is the point cloud distance between the attitude point set corresponding to the non-core cluster in the plurality of source point cloud clusters and the non-core cluster in the plurality of reference point cloud clusters. The iteration error is obtained by weighting the first distance and the second distance using a first priority and a second priority. The first priority is the priority of the core cluster, and the second priority is the priority of the non-core cluster. The first priority is higher than the second priority. If the iteration error does not meet the iteration termination condition, the attitude iteration continues to be performed on the multiple attitude point sets based on the multiple reference point cloud clusters until the iteration error meets the iteration termination condition.

2. The method according to claim 1, characterized in that, The step of weighting the first distance and the second distance using a first priority and a second priority to obtain the iteration error includes: The iteration error is calculated using the following formula; For iteration error, The number of core clusters in multiple reference point cloud clusters. The number of multiple reference point cloud clusters, For the first The first distance, For the first The second distance, As the first priority, It is the second priority.

3. The method according to claim 1, characterized in that, Before performing attitude iteration on multiple source point cloud clusters in the source point cloud set based on multiple reference point cloud clusters in the reference point cloud set, the method further includes: Obtain the reference point cloud and the source point cloud; The point cloud data in the reference point cloud set and the source point cloud set are aggregated to form multiple reference point cloud clusters and multiple source point cloud clusters.

4. The method according to claim 3, characterized in that, The acquisition of the reference point cloud and the source point cloud includes: Select the first point cloud set from the source point cloud and the second point cloud set from the reference point cloud; The first point cloud and the second point cloud are denoised to obtain the reference point cloud and the source point cloud.

5. The method according to claim 1, characterized in that, The iteration termination condition includes at least one of the following: The difference between the iteration error and the historical iteration error is less than the error threshold, and the historical iteration error is the iteration error during the previous attitude iteration. The iteration error corresponds to the number of iterations reaching the threshold.

6. The method according to claim 1, characterized in that, The process involves using multiple reference point cloud clusters in a reference point cloud set as a reference, and performing attitude iteration on multiple source point cloud clusters in a source point cloud set to obtain multiple attitude point sets corresponding to multiple source point cloud clusters, including: The multiple source point cloud clusters are transformed to obtain multiple transformed source point cloud clusters; Match the point cloud data in multiple transformed source point cloud clusters and multiple reference point cloud clusters to obtain the correspondence; The correspondence is matrix decomposed to obtain multiple attitude point sets corresponding to multiple source point cloud clusters.

7. A point cloud matching device, characterized in that, include: The iteration module is used to perform attitude iteration on multiple source point cloud clusters in the source point cloud set based on multiple reference point cloud clusters in the reference point cloud set, to obtain multiple attitude point sets corresponding to multiple source point cloud clusters. The multiple reference point cloud clusters and the multiple source point cloud clusters all include core clusters and non-core clusters. The calculation module is used to distinguish between the core cluster and the non-core cluster, and to calculate the iterative error from multiple attitude point sets to multiple reference point cloud clusters; The computing module is specifically used for: Calculate a first distance and a second distance, wherein the first distance is the point cloud distance between the attitude point set corresponding to the core cluster in the plurality of source point cloud clusters and the core cluster in the plurality of reference point cloud clusters, and the second distance is the point cloud distance between the attitude point set corresponding to the non-core cluster in the plurality of source point cloud clusters and the non-core cluster in the plurality of reference point cloud clusters. The iteration error is obtained by weighting the first distance and the second distance using a first priority and a second priority. The first priority is the priority of the core cluster, and the second priority is the priority of the non-core cluster. The first priority is higher than the second priority. The execution module is configured to continue attitude iteration on the multiple attitude point sets based on the multiple reference point cloud clusters, until the iteration error meets the iteration termination condition, if the iteration error does not meet the iteration termination condition.

8. An electronic device, characterized in that, The electronic device includes a memory, a processor, and a point cloud matching program stored in the memory and running on the processor, the point cloud matching program performing the steps of the point cloud matching method as described in any one of claims 1 to 6.

9. A computer storage medium, characterized in that, When the computer storage medium is executed by the processor, it implements the steps of the point cloud matching method according to any one of claims 1 to 6.