Point cloud registration method and device, electronic equipment and storage medium
By randomly selecting the concerns in point cloud registration and generating the region of interest, the problems of high computational complexity and insufficient robustness in traditional methods are solved, and efficient and flexible point cloud data registration is achieved, suitable for large-scale Point cloud data processing.
Patent Information
- Application Number
- CN202411703508.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-26
- Publication Date
- 2024-12-24
- Estimated Expiration
- 2044-11-26
AI Technical Summary
Traditional point cloud registration methods have high computational complexity, low efficiency, insufficient robustness when processing large-scale point cloud data, and cannot meet the refined registration requirements for specific regions in actual applications.
By randomly determining a focus, determining the key points in the target point cloud data based on the focus, and generating the area of interest based on the key points, registering the point cloud data and the source point cloud data to reduce noise and redundant information Interference, improve registration efficiency and robustness.
It significantly reduces the computing volume of point cloud registration, improves registration speed and robustness, meets users' precise alignment requirements for specific areas, and has stronger application flexibility and practicality.
Smart Images

Figure CN119180849A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of image processing, and in particular to a point cloud registration method, device, electronic device and storage medium. Background Art
[0002] Point cloud technology plays an important role in the fields of 3D reconstruction, autonomous driving, robot navigation, and computer vision. Point cloud registration refers to aligning two or more point cloud data to obtain a unified coordinate system.
[0003] Traditional point cloud registration methods mainly rely on global feature matching and optimization algorithms. These methods are often inefficient when processing large-scale point cloud data due to their high computational complexity. Secondly, in practical applications, point cloud data often contains a lot of noise and redundant information, which makes these traditional registration methods insufficient in terms of robustness.
[0004] In addition, in many practical applications, there is usually a need to be interested in a specific area, and traditional point cloud registration methods are usually unable to effectively meet such refined registration requirements. In practical applications, they have relatively poor flexibility and practicality.
[0005] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention
[0006] The present application provides a point cloud registration method, device, electronic device and storage medium to at least solve the technical problems of low computational efficiency and insufficient robustness caused by redundancy and noise in point cloud data and to meet the technical needs of interest in specific areas in practical applications.
[0007] According to one aspect of the present application, a point cloud registration method is provided, including: randomly determining a focus point; taking the point in the target point cloud data that is closest to the focus point as a key point; determining a target area in the target point cloud data based on the key point, wherein the key point is located within the target area; and registering the target point cloud data and source point cloud data based on the target area, wherein the source point cloud data and the target point cloud data are respectively located in different point cloud images.
[0008] Optionally, taking the point in the target point cloud data that is closest to the focus point as the key point, including: calculating the Euclidean distance between each point in the target point cloud data and the focus point; taking the point in the target point cloud data that is closest to the Euclidean distance between the focus point and the key point.
[0009] Optionally, determining a target area in the target point cloud data based on the key point includes: calculating the distance between each point in the target point cloud data except the key point and the key point; determining a target number of points of interest from the target point cloud data based on the distance between each point in the target point cloud data except the key point and the key point, wherein the distance between the point of interest and the key point is less than the distance between the non-interest point and the key point; and taking the area covered by the target number of points of interest as the target area.
[0010] Optionally, before determining a target number of points of interest from the target point cloud data based on the distance between each point in the target point cloud data except the key point and the key point, the point cloud registration method also includes: obtaining the number of points in the target point cloud data; calculating the product of a preset value and the number of points to obtain first data, wherein the preset value is a value greater than 0 and less than 1; performing rounding calculation on the first data, and using the calculation result of the rounding calculation as the target number.
[0011] Optionally, a target number of points of interest are determined from the target point cloud data based on the distance between each point in the target point cloud data except the key point and the key point, including: constructing a point cloud tree based on the target point cloud data, wherein the point cloud tree is a data structure in the form of a binary tree, used to represent the target point cloud data in the form of the binary tree; calculating the Euclidean distance between the points in the point cloud tree and the key point, and using a nearest neighbor search algorithm to determine a preset number of points in the target point cloud data that are closest to the key point, so as to obtain the preset number of points of interest.
[0012] Optionally, the target point cloud data and the source point cloud data are registered based on the target area, including: performing a registration operation on the target area and the source point cloud data to obtain an affine transformation matrix; based on the affine transformation matrix, performing a transformation operation on the source point cloud data to obtain a registration result of the target point cloud data and the source point cloud data.
[0013] Optionally, determining the target area in the target point cloud data based on the key point includes: calculating the distance between each point in the target point cloud data and the key point; taking the point in the target point cloud data whose distance from the key point is less than a preset distance as the target point; and taking the area covered by the target point as the target area.
[0014] According to another aspect of an embodiment of the present application, a point cloud registration device is also provided, including: a first determination unit, used to randomly determine a focus point; a first processing unit, used to take the point in the target point cloud data that is closest to the focus point as a key point; a second determination unit, used to determine a target area in the target point cloud data based on the key point, wherein the key point is located within the target area; a second processing unit, used to align the target point cloud data and the source point cloud data according to the target area, wherein the source point cloud data and the target point cloud data are respectively located in different point cloud images.
[0015] According to another aspect of the present application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, wherein when the computer program is executed, the device where the computer-readable storage medium is located executes the above-mentioned point cloud registration method.
[0016] According to another aspect of the present application, an electronic device is also provided, wherein the electronic device includes one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute the above-mentioned point cloud registration method.
[0017] In the present application, a focus point is first randomly determined, and then the point in the target point cloud data that is closest to the focus point is taken as a key point. Then, based on the key point, a target area is determined in the target point cloud data, wherein the key point is located within the target area. Finally, the target point cloud data and the source point cloud data are aligned based on the target area, wherein the source point cloud data and the target point cloud data are respectively located in different point cloud images.
[0018] From the above content, it can be seen that the present application reduces the amount of registration calculation and improves the registration efficiency by randomly selecting a focus point and generating a region of interest (i.e., the target region in the target point cloud data) based on the diffusion of the focus point, thereby solving the technical problems of high computational complexity and low efficiency of the traditional point cloud registration algorithm when processing large-scale point cloud data. The technical solution of the present application can significantly reduce the amount of calculation of point cloud registration, improve the registration speed, and is suitable for large-scale point cloud data processing. Secondly, in practical applications, point cloud data often contains a lot of noise and redundant information, which makes the traditional registration method insufficient in terms of robustness. However, the present application determines the region of interest and realizes the registration of the target point cloud data and the source point cloud data based on the region of interest, so as to minimize the interference of noise and redundant information (noise and redundant information are defined as data in non-interested areas), thereby improving the robustness of the registration.
[0019] In addition, this application allows users to perform point cloud registration based on regions of interest, achieving more refined and customized point cloud registration. In many practical applications, users are only interested in specific areas in the point cloud, rather than having registration requirements for all information in the point cloud. The technical solution of this application allows users to specify regions of interest for point cloud registration, thereby meeting the user's needs for precise alignment of specific areas, and has greater application flexibility and practicality.
[0020] It can be seen that through the technical solution of the present application, the purpose of randomly selecting a point and generating a region of interest based on the diffusion of this point and performing alignment according to the region of interest is achieved, thereby achieving the technical effect of reducing the amount of alignment calculation, improving the alignment efficiency and the robustness of the alignment, and thus solving the technical problems of low computational efficiency and insufficient robustness caused by the redundancy and noise of point cloud data. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:
[0022] Figure 1 is a flow chart of an optional point cloud registration method according to an embodiment of the present application;
[0023] Figure 2 It is a schematic diagram of an optional point cloud registration device according to an embodiment of the present application. DETAILED DESCRIPTION
[0024] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.
[0025] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0026] It should also be noted that the information and data collected by this application are authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of relevant data comply with the relevant laws, regulations and standards of the relevant regions, take necessary confidentiality measures, do not violate public order and good customs, and provide corresponding operation portals for users to choose to authorize or refuse. For example, an interface is set up between this system and relevant users or institutions. Before obtaining relevant information, it is necessary to send an acquisition request to the aforementioned user or institution through the interface, and obtain relevant information after receiving the consent information fed back by the aforementioned user or institution.
[0027] According to an embodiment of the present application, a method embodiment of a point cloud registration method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0028] It should be noted that a point cloud registration system is used as the execution subject of the point cloud registration processing method of the embodiment of the present application. It is understandable that the point cloud registration processing method provided in the embodiment of the present application can also be executed by other systems or devices, and the embodiment of the present application does not specifically limit this.
[0029] Figure 1 is a flow chart of an optional point cloud registration method according to an embodiment of the present application, such as Figure 1 As shown, the method comprises the following steps:
[0030] Step S101, randomly determine a focus point.
[0031] Optionally, the focus point exists in three-dimensional space, and each point contains three coordinate values (usually X, Y, Z), which describe the specific position of the point in space. The user can randomly select or enter a focus point, and the determined focus point is recorded as .
[0032] Optionally, the point cloud registration system may also acquire a set of three-dimensional point cloud data as target point cloud data.
[0033] Step S102: taking the point in the target point cloud data that is closest to the focus point as a key point.
[0034] Optionally, the point cloud registration system may calculate the distance (such as Euclidean distance) between each point in the target point cloud data and the focus point, and select the point in the target point cloud data that is closest to the focus point as the key point based on the calculation result.
[0035] Optionally, the key point exists in three-dimensional space, that is, there is a corresponding three-dimensional coordinate. In this application, the key point can be recorded as .
[0036] Step S103: determining a target area in the target point cloud data based on the key point, wherein the key point is located within the target area.
[0037] Optionally, the point cloud registration system can compute key points In the target point cloud data The N nearest points in , thus forming a specific region of interest based on key points (corresponding to the target area above), where the specific area of interest contains the nearest N points .
[0038] Optionally, the larger the value of N, the larger the scope of the region of interest, and the smaller the value of N, the smaller the scope of the region of interest. By determining the region of interest, the amount of registration calculation can be significantly reduced and the registration efficiency can be improved, because the registration can be completed only for the region of interest without having to register the entire target point cloud data.
[0039] Exemplarily, a method for determining a target area in the target point cloud data based on the key points includes: a point cloud registration system constructs a target point cloud data based on the key points. The KD (K-dimensional tree) tree is then used to search for the nearest neighbor based on the Euclidean distance in the target point cloud data. Search and key points The nearest N points Composition of specific regions of interest .
[0040] Step S104 , registering the target point cloud data and the source point cloud data according to the target area, wherein the source point cloud data and the target point cloud data are respectively located in different point cloud images.
[0041] Optionally, the point cloud registration system can replace the target point cloud data with the target area, and then perform rigid registration on the target area and the source point cloud data, wherein by focusing on the area of interest, the noise and redundant information that need to be processed in the registration process are reduced, thereby improving the processing efficiency of the point cloud data.
[0042] It can be seen from the contents of steps S101 to S104 that in an embodiment of the present application, a focus point is first randomly determined, and then the point in the target point cloud data that is closest to the focus point is taken as a key point, and then a target area is determined in the target point cloud data based on the key point, wherein the key point is located within the target area, and finally the target point cloud data and the source point cloud data are aligned based on the target area, wherein the source point cloud data and the target point cloud data are respectively located in different point cloud images.
[0043] From the above content, it can be seen that the present application reduces the amount of registration calculation and improves the registration efficiency by randomly selecting a focus point and generating a region of interest (i.e., the target region in the target point cloud data) based on the diffusion of the focus point, thereby solving the technical problems of high computational complexity and low efficiency of the traditional point cloud registration algorithm when processing large-scale point cloud data. The technical solution of the present application can significantly reduce the amount of calculation of point cloud registration, improve the registration speed, and is suitable for large-scale point cloud data processing. Secondly, in practical applications, point cloud data often contains a lot of noise and redundant information, which makes the traditional registration method insufficient in terms of robustness. However, the present application determines the region of interest and realizes the registration of the target point cloud data and the source point cloud data based on the region of interest, so as to minimize the interference of noise and redundant information (noise and redundant information are defined as data in non-interested areas), thereby improving the robustness of the registration.
[0044] In addition, this application allows users to perform point cloud registration based on regions of interest, achieving more refined and customized point cloud registration. In many practical applications, users are only interested in specific areas in the point cloud, rather than having registration requirements for all information in the point cloud. The technical solution of this application allows users to specify regions of interest for point cloud registration, thereby meeting the user's needs for precise alignment of specific areas, and has greater application flexibility and practicality.
[0045] It can be seen that through the technical solution of the present application, the purpose of randomly selecting a point and generating a region of interest based on the diffusion of this point and performing alignment according to the region of interest is achieved, thereby achieving the technical effect of reducing the amount of alignment calculation, improving the alignment efficiency and the robustness of the alignment, and thus solving the technical problems of low computational efficiency and insufficient robustness caused by the redundancy and noise of point cloud data.
[0046] In an optional embodiment, the point cloud registration system first calculates the Euclidean distance between each point in the target point cloud data and the focus point, and then uses the point in the target point cloud data with the closest Euclidean distance to the focus point as the key point.
[0047] Alternatively, Euclidean distance is a common method for measuring the distance between two points in a multidimensional space. Euclidean distance is based on the distance definition in a rectangular coordinate system. It determines the straight-line distance between two points by calculating the square root of the sum of the difference in the coordinate values of the two points, reflecting the direct interval between the two points in space.
[0048] Optionally, first, the point cloud registration system can be in the target point cloud data Determine and focus Euclidean distance to the nearest point Then, the point cloud registration system can convert the points Key points mapped as points of interest in the target point cloud As shown in formula (1):
[0049]
[0050] From the above content, it can be seen that the Euclidean distance is used to calculate the distance between the target point cloud data and the focus point. This method is intuitive and geometrically intuitive, ensures the accuracy of the search results, and can accurately identify the point closest to the focus point in the target point cloud data, that is, the key point.
[0051] In an optional embodiment, the point cloud registration system first calculates the distance between each point in the target point cloud data except the key point and the key point, and then determines a target number of points of interest from the target point cloud data based on the distance between each point in the target point cloud data except the key point and the key point, wherein the distance between the point of interest and the key point is smaller than the distance between the non-interest point and the key point, and then the area covered by the target number of points of interest is taken as the target area.
[0052] Optionally, the point cloud registration system calculates the N interest points closest to the key point in the target point cloud data, and then determines a specific area of interest (i.e., target area) in the target point cloud data based on the N interest points and the key point, wherein the target area includes the key point and the N interest points closest to the key point.
[0053] Optionally, the larger the value of N is, the larger the range of the region of interest is. If the value of N is smaller, the smaller the range of the region of interest is, which significantly reduces the amount of registration calculation and improves processing efficiency.
[0054] Optionally, by judging the distance between the key point and each point in the target point cloud data, the point in the target point cloud data that is shorter than the key point can be selected as the point of interest. In other words, the distance between the point of interest and the key point is smaller than the distance between the non-point of interest and the key point. Then the area covered by the target number of points of interest is taken as the target area.
[0055] From the above content, it can be seen that using the distance from the key point to determine the interest point can ensure that each determined interest point is a point with a stronger correlation with the key point, and can also ensure that the target area generated subsequently is connected. In addition, the number of targets can be customized, thereby achieving the technical effect that the user can customize the size of the target area.
[0056] In an optional embodiment, before determining a target number of points of interest from the target point cloud data based on the distance between each point in the target point cloud data except the key point and the key point, the point cloud registration system first obtains the number of points in the target point cloud data, and then calculates the product of a preset value and the number of points to obtain first data, wherein the preset value is a value greater than 0 and less than 1, and then rounds the first data, and uses the result of the rounding calculation as the target number.
[0057] Optionally, the number of assumed targets is recorded as N. The larger the value of N is, the larger the range of the region of interest is, and the smaller the value of N is, the smaller the range of the region of interest is.
[0058] Optionally, the point cloud registration system can be based on the target point cloud data Determine the value of N, as shown in formula (2):
[0059]
[0060] in, Represents target point cloud data The number of points, K represents the number of segments to be segmented, and points as points of interest. Corresponds to the above preset value.
[0061] In order to ensure that N is an integer, and After the product is calculated, the product result (ie, the first data) needs to be rounded and the result of the rounding calculation is used as the target number.
[0062] From the above content, we can see that combined with the target point cloud data By determining the value of N, we can more appropriately select the appropriate number of interest points, that is, determine a more appropriate size of the region of interest. By taking an appropriate value for N, we can significantly reduce the amount of registration calculations and improve the processing efficiency of the point cloud.
[0063] In an optional embodiment, the point cloud registration system first constructs a point cloud tree based on the target point cloud data, wherein the point cloud tree is a data structure in the form of a binary tree, which is used to represent the target point cloud data in the form of the binary tree, and then calculates the Euclidean distance between the points in the point cloud tree and the key points, and uses a nearest neighbor search algorithm to determine a preset number of points in the target point cloud data that are closest to the key points, thereby obtaining the preset number of points of interest.
[0064] Optionally, a KD tree is a data structure for storing and searching points in a multidimensional space. It is particularly suitable for operations such as fast nearest neighbor search and range search. Its main purpose is to efficiently search and compare points in a high-dimensional space, avoiding the high complexity of direct linear search on large data sets. In the processing of three-dimensional point cloud data, the application of KD trees can greatly improve the efficiency of searching for nearest neighbor points.
[0065] Alternatively, Euclidean distance is a common method for measuring the distance between two points in a multidimensional space. Euclidean distance is based on the distance definition in a rectangular coordinate system. It determines the straight-line distance between two points by calculating the square root of the sum of the difference in the coordinate values of the two points, reflecting the direct interval between the two points in space.
[0066] Optionally, the point cloud registration system can be constructed based on the target point cloud data Then, the nearest neighbor search algorithm based on Euclidean distance is used to search the target point cloud data. Search and key points The nearest N points Composition of specific regions of interest based on keypoints ; As shown in formula (3):
[0067]
[0068] In formula (3), Represents target point cloud data; Indicates that based on the target point cloud data Constructed KD tree; Indicates that the key point is searched based on the Euclidean distance in the KD tree The set of the nearest N points; R represents and key points A specific area of interest.
[0069] From the above content, it can be seen that by constructing a point cloud tree, the huge target point cloud data can be represented as a tree structure, which greatly improves the efficiency of searching for the nearest neighbor point. The Euclidean distance is used to calculate the distance between each point in the point cloud tree and the second target point. This method is intuitive and geometrically intuitive, ensuring the accuracy of the search results. Combined with the nearest neighbor search algorithm, it can accurately identify the point closest to the key point, significantly improve the calculation efficiency of the matching, reduce the complexity of manual adjustment, and simplify the data processing process while improving data processing efficiency.
[0070] In an optional embodiment, the point cloud registration system first performs a registration operation on the target area and the source point cloud data to obtain an affine transformation matrix, and then performs a transformation operation on the source point cloud data based on the affine transformation matrix to obtain a registration result of the target point cloud data and the source point cloud data.
[0071] Alternatively, rigid registration is a technique commonly used in image processing, computer vision, and 3D modeling, where the goal is to align an image or point cloud data with another image or point cloud data through rigid transformations such as translation and rotation. In rigid registration, the shape and size of the object do not change, only the position and orientation change.
[0072] Optionally, if you need to obtain the affine transformation matrix of the rigid transformation, you can first select the corresponding points of the two point cloud data, and then use these corresponding points to calculate a The affine transformation matrix includes rotation and translation components. Then consider applying transformation, optimizing transformation, scaling and other steps to obtain the required affine transformation matrix and apply it to image processing tasks.
[0073] Optionally, the point cloud registration system obtains keypoints based on After the specific region of interest R (i.e., target area) is obtained, the target point cloud data can be The target area is replaced with the region of interest R, and then the target area and the source point cloud data are rigidly registered, and an affine transformation matrix is obtained during the registration process to obtain the registration result of the target point cloud data and the source point cloud data.
[0074] From the above content, it can be seen that by using the region of interest R and the source point cloud data for rigid registration, the registration process can be completed by focusing on the region of interest of the target point cloud data, thereby reducing the interference of noise and redundant information on the registration, which not only improves the registration accuracy, but also improves the processing efficiency of the point cloud data.
[0075] In an optional embodiment, the present application also provides another method for determining the target area in the target point cloud data based on the key point, including: the point cloud registration system first calculates the distance between each point in the target point cloud data and the key point, and then takes the point in the target point cloud data whose distance from the key point is less than a preset distance as the target point, and then takes the area covered by the target point as the target area.
[0076] Optionally, the distance between each point in the target point cloud data and the key point is first calculated (e.g., Euclidean distance or straight-line distance), and then the points in the target point cloud data are directly screened according to the preset distance. If the distance between a point in the target point cloud data and the key point is less than the preset distance, the point is taken as the target point; if the distance between a point in the target point cloud data and the key point is greater than or equal to the preset distance, the point is taken as a non-target point. Finally, the point cloud registration system takes all target points and the area covered by the key points as the target area.
[0077] It should be noted that, by taking the points in the target point cloud data whose distance from the key point is less than the preset distance as the target point; and taking the area covered by the target point as the target area, it can be ensured that each point in the target area has a sufficiently strong correlation with the key point, wherein this strong correlation is calibrated by the preset distance. In other words, if the distance between a certain point and the key point is greater than or equal to the preset distance, it means that the point does not have the set sufficiently strong correlation with the key point; if the distance between a certain point and the key point is less than the preset distance, it means that the point has the set sufficiently strong correlation with the key point.
[0078] In an optional embodiment, an application scenario of the point cloud registration method in the embodiment of the present application can be applied to an optical surface scanning system, wherein the optical surface scanning system is an important auxiliary tool in the field of radiotherapy, which uses optical technologies such as laser and structured light to accurately detect and monitor the patient's body surface information, and combines the registration algorithm to complete real-time monitoring of the patient's position, respiratory synchronization monitoring and non-invasive positioning, so as to achieve the purpose of improving the treatment effect and the patient's comfort. In the actual application process, the three-dimensional point cloud data of the human body surface usually obtained has certain redundant data or uneven data distribution, so the user has the need to operate on a local specific area, but the traditional method cannot effectively meet this refinement requirement. However, the embodiment of the present application provides a point cloud registration method based on randomly selecting points and diffusing to form an area of interest, so as to minimize the interference of noise and redundant information (noise and redundant information are defined as data of non-interested areas), and improve the robustness of the registration. At the same time, the present application also allows users to perform point cloud registration according to the area of interest, realizing more refined and customized point cloud registration, thereby meeting the user's demand for precise alignment of specific areas, and having stronger application flexibility and practicality.
[0079] It should be noted that the application of the above-mentioned optical surface scanning system is only an example. Those skilled in the art can understand that, except for the field of radiotherapy technology, any other scenario that requires point cloud processing or point cloud registration is applicable to the technical solution of the embodiment of the present application.
[0080] According to an embodiment of the present application, an embodiment of a point cloud registration device is also provided. Figure 2 is a schematic diagram of an optional point cloud registration device according to an embodiment of the present application, such as Figure 2 As shown, the point cloud registration device includes: a first determination unit 201, a first processing unit 202, a second determination unit 203 and a second processing unit 204.
[0081] Optionally, the first determination unit 201 is used to randomly determine a focus point; the first processing unit 202 is used to take the point in the target point cloud data that is closest to the focus point as a key point; the second determination unit 203 is used to determine a target area in the target point cloud data based on the key point, wherein the key point is located within the target area; the second processing unit 204 is used to align the target point cloud data and the source point cloud data according to the target area, wherein the source point cloud data and the target point cloud data are respectively located in different point cloud images.
[0082] From the above content, it can be seen that the present application reduces the amount of registration calculation and improves the registration efficiency by randomly selecting a focus point and generating a region of interest (i.e., the target region in the target point cloud data) based on the diffusion of the focus point, thereby solving the technical problems of high computational complexity and low efficiency of the traditional point cloud registration algorithm when processing large-scale point cloud data. The technical solution of the present application can significantly reduce the amount of calculation of point cloud registration, improve the registration speed, and is suitable for large-scale point cloud data processing. Secondly, in practical applications, point cloud data often contains a lot of noise and redundant information, which makes the traditional registration method insufficient in terms of robustness. However, the present application determines the region of interest and realizes the registration of the target point cloud data and the source point cloud data based on the region of interest, so as to minimize the interference of noise and redundant information (noise and redundant information are defined as data in non-interested areas), thereby improving the robustness of the registration.
[0083] In addition, this application allows users to perform point cloud registration based on regions of interest, achieving more refined and customized point cloud registration. In many practical applications, users are only interested in specific areas in the point cloud, rather than having registration requirements for all information in the point cloud. The technical solution of this application allows users to specify regions of interest for point cloud registration, thereby meeting the user's needs for precise alignment of specific areas, and has greater application flexibility and practicality.
[0084] It can be seen that through the technical solution of the present application, the purpose of randomly selecting a point and generating a region of interest based on the diffusion of this point and performing alignment according to the region of interest is achieved, thereby achieving the technical effect of reducing the amount of alignment calculation, improving the alignment efficiency and the robustness of the alignment, and thus solving the technical problems of low computational efficiency and insufficient robustness caused by the redundancy and noise of point cloud data.
[0085] Optionally, the first processing unit 202 includes: a first calculation subunit and a first processing subunit. The first calculation subunit is used to calculate the Euclidean distance between each point in the target point cloud data and the focus point; the first processing subunit is used to use the point in the target point cloud data that has the shortest Euclidean distance to the focus point as the key point.
[0086] Optionally, the second determination unit 203 includes: a second calculation subunit, a first determination subunit, and a second processing subunit. The second calculation subunit is used to calculate the distance between each point in the target point cloud data except the key point and the key point; the first determination subunit is used to determine a target number of points of interest from the target point cloud data according to the distance between each point in the target point cloud data except the key point and the key point, wherein the distance between the point of interest and the key point is less than the distance between the non-point of interest and the key point; the second processing subunit is used to take the area covered by the target number of points of interest as the target area.
[0087] Optionally, the point cloud registration device further includes: a first acquisition subunit, a third calculation subunit, and a fourth calculation subunit. The first acquisition subunit is used to acquire the number of points of the target point cloud data before determining the target number of points of interest from the target point cloud data according to the distance between each point in the target point cloud data except the key point and the key point; the third calculation subunit is used to calculate the product of a preset value and the number of points to obtain first data, wherein the preset value is a value greater than 0 and less than 1; the fourth calculation subunit is used to perform rounding calculation on the first data and use the calculation result of the rounding calculation as the target number.
[0088] Optionally, the first determination subunit includes: a first processing module and a second processing module. The first processing module is used to construct a point cloud tree based on the target point cloud data, wherein the point cloud tree is a data structure in the form of a binary tree, and is used to represent the target point cloud data in the form of the binary tree; the second processing module is used to determine a preset number of points in the target point cloud data that are closest to the key point by calculating the Euclidean distance between the points in the point cloud tree and the key point, and using a nearest neighbor search algorithm to obtain the preset number of points of interest.
[0089] Optionally, the second processing unit 204 includes: a third processing subunit and a fourth processing subunit. The third processing subunit is used to perform a registration operation on the target area and the source point cloud data to obtain an affine transformation matrix; the fourth processing subunit is used to perform a transformation operation on the source point cloud data based on the affine transformation matrix to obtain a registration result of the target point cloud data and the source point cloud data.
[0090] Optionally, the second determination unit 203 includes: a fifth calculation subunit, a fifth processing subunit, and a sixth processing subunit. The fifth calculation subunit is used to calculate the distance between each point in the target point cloud data and the key point; the fifth processing subunit is used to take the point in the target point cloud data whose distance from the key point is less than a preset distance as the target point; and the sixth processing subunit is used to take the area covered by the target point as the target area.
[0091] According to another aspect of the present application, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, wherein when the computer program is executed, the device where the computer-readable storage medium is located executes the above-mentioned point cloud registration method.
[0092] According to another aspect of the present application, an electronic device is also provided, wherein the electronic device includes one or more processors and a memory, the memory being used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute the above-mentioned point cloud registration method.
[0093] The above-mentioned embodiments or examples disclosed in the present application are not exhaustive, but are only illustrative of some embodiments or examples, and are not intended to be specific limitations on the scope of protection disclosed in the present application. In the absence of contradiction, each step in a certain embodiment or example in the present application can be implemented as an independent example, and the steps can be combined arbitrarily. For example, the scheme after removing some steps in a certain embodiment or example can also be implemented as an independent example, and the order of the steps in a certain embodiment or example can be arbitrarily exchanged. In addition, the optional methods or optional examples in a certain embodiment or example can be combined arbitrarily; in addition, the various embodiments or examples can be combined arbitrarily, for example, some or all steps of different embodiments or examples can be combined arbitrarily, and a certain embodiment or example can be combined arbitrarily with the optional methods or optional examples of other embodiments or examples.
[0094] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.
[0095] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0096] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units can be a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.
[0097] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple units. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0098] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0099] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server or network device, etc.) to execute all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: U disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), mobile hard disk, disk or optical disk, etc., which can store program code.
[0100] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A point cloud registration method, characterized in that: include: Randomly determine a focus point; The point in the target point cloud data that is closest to the focus point is taken as a key point; Determine a target area in the target point cloud data based on the key point, wherein the key point is located in the target area, and the target area is an area covered by a target number of points of interest; The target point cloud data and the source point cloud data are registered according to the target area, wherein the source point cloud data and the target point cloud data are respectively located in different point cloud images.
2. The point cloud registration method according to claim 1, characterized in that: The point in the target point cloud data that is closest to the focus point is taken as a key point, including: Calculating the Euclidean distance between each point in the target point cloud data and the focus point; The point in the target point cloud data with the closest Euclidean distance to the focus point is taken as the key point.
3. The point cloud registration method according to claim 1, characterized in that: Determining a target area in the target point cloud data based on the key points includes: Calculate the distance between each point in the target point cloud data except the key point and the key point; Determine the target number of points of interest from the target point cloud data according to the distance between each point in the target point cloud data except the key point and the key point, wherein the distance between the point of interest and the key point is less than the distance between the non-point of interest and the key point; The area covered by the target number of points of interest is taken as the target area.
4. The point cloud registration method according to claim 3, characterized in that: Before determining a target number of points of interest from the target point cloud data according to the distance between each point in the target point cloud data except the key point and the key point, the point cloud registration method further comprises: Obtaining the number of points in the target point cloud data; Calculate the product of a preset value and the number of points to obtain first data, wherein the preset value is a value greater than 0 and less than 1; A rounding calculation is performed on the first data, and a calculation result of the rounding calculation is used as the target number.
5. The point cloud registration method according to claim 3, characterized in that: Determining a target number of points of interest from the target point cloud data according to the distance between each point in the target point cloud data except the key point and the key point, comprising: Constructing a point cloud tree based on the target point cloud data, wherein the point cloud tree is a data structure in the form of a binary tree, and is used to represent the target point cloud data in the form of the binary tree; By calculating the Euclidean distance between the points in the point cloud tree and the key points, a nearest neighbor search algorithm is used to determine a preset number of points in the target point cloud data that are closest to the key points, and the preset number of points of interest are obtained.
6. The point cloud registration method according to claim 1, characterized in that: Registering the target point cloud data and the source point cloud data according to the target area includes: Performing a registration operation on the target area and the source point cloud data to obtain an affine transformation matrix; Based on the affine transformation matrix, the source point cloud data is transformed to obtain a registration result of the target point cloud data and the source point cloud data.
7. The point cloud registration method according to claim 1, characterized in that: Determining a target area in the target point cloud data based on the key points includes: Calculate the distance between each point in the target point cloud data and the key point; Taking a point in the target point cloud data whose distance from the key point is less than a preset distance as a target point; The area covered by the target point is taken as the target area.
8. A point cloud registration device, characterized in that: include: A first determining unit, used to randomly determine a focus point; A first processing unit, configured to take the point in the target point cloud data that is closest to the focus point as a key point; A second determining unit is used to determine a target area in the target point cloud data based on the key point, wherein the key point is located in the target area, and the target area is an area covered by a target number of points of interest; The second processing unit is used to align the target point cloud data and the source point cloud data according to the target area, wherein the source point cloud data and the target point cloud data are respectively located in different point cloud images.
9. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein when the computer program is executed, the device where the computer-readable storage medium is located executes the point cloud registration method according to any one of claims 1 to 7.
10. An electronic device, characterized in that: It includes one or more processors and a memory, wherein the memory is used to store one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors execute the point cloud registration method described in any one of claims 1 to 7.
Citation Information
Patent Citations
3D-RGB point cloud registration method based on local gray scale sequence model descriptor
CN110490912A
Target positioning method and device, mobile robot and readable storage medium
CN111612841A
Target distance measurement method and device, electronic equipment and storage medium
CN112862882A
Track tracking method, device and equipment for unmanned aerial vehicle group and medium
CN115424046A
Method, apparatus, and computer program product for identifying residence location recommendations
US20230194284A1
