Disclosure of Invention
The invention provides a point cloud registration method and device, which can improve registration accuracy.
In one aspect, the present invention provides a point cloud registration method, including:
performing coarse registration according to the input point cloud and the target point cloud to obtain the input point cloud after the coarse registration;
dividing the target point cloud to obtain at least two first point cloud blocks;
repeatedly executing all the following steps until a preset registration condition is met:
segmenting the roughly registered input point cloud to obtain at least two second point cloud blocks;
selecting at least one first point cloud block from the at least two first point cloud blocks, and selecting a second point cloud block corresponding to each selected first point cloud block from the at least two second point cloud blocks;
and carrying out fine registration according to the selected at least one first point cloud block and the selected at least one second point cloud block to obtain an input point cloud after the fine registration, and dividing the input point cloud after the fine registration as the input point cloud after the coarse registration again.
Further, the selecting at least one first point cloud block from the at least two first point cloud blocks and selecting a second point cloud block corresponding to each of the selected first point cloud blocks from the at least two second point cloud blocks includes:
calculating the difference degree between each first point cloud block and each second point cloud block;
determining at least one difference degree which is relatively minimum from the calculated difference degrees;
and aiming at each difference degree in the at least one difference degree, selecting a first point cloud block corresponding to the current difference degree from the at least two first point cloud blocks, and selecting a second point cloud block corresponding to the current difference degree from the at least two second point cloud blocks.
Further, the calculating the difference degree between each first point cloud block and each second point cloud block respectively comprises:
according to
Calculating the difference degree between each first point cloud block and each second point cloud block;
wherein, m(s)i,tk) Is a first point cloud block s marked iiAnd a second point cloud t identified as kkW is a preset weight matrix, upsilon(s)i) Is the first cloud block siTotal variation of v (t)k) As a cloud block t of the second pointkTotal variation of d(s)i) Is the first cloud block siLocal density of d (t)k) As a cloud block t of the second pointkLocal density of l(s)i) Is the first cloud block siDegree of local convergence of l (t)k) As a cloud block t of the second pointkThe degree of local convergence.
Further, the selecting at least one first point cloud block from the at least two first point cloud blocks and selecting a second point cloud block corresponding to each of the selected first point cloud blocks from the at least two second point cloud blocks includes:
and if the number of the first point cloud blocks is consistent with that of the second point cloud blocks, selecting at least one first point cloud block from the at least two first point cloud blocks, and selecting second point cloud blocks with the same serial numbers as the selected first point cloud blocks from the at least two second point cloud blocks, wherein the at least two first point cloud blocks and the at least two second point cloud blocks are obtained based on the same segmentation algorithm.
Further, the performing the coarse registration according to the input point cloud and the target point cloud to obtain the input point cloud after the coarse registration includes:
carrying out down-sampling on the input point cloud to obtain the input point cloud after down-sampling;
down-sampling the target point cloud to obtain a down-sampled target point cloud;
and carrying out coarse registration according to the input point cloud after down sampling and the target point cloud after down sampling to obtain the input point cloud after coarse registration.
In another aspect, the present invention provides a point cloud registration apparatus, including:
the rough registration unit is used for carrying out rough registration according to the input point cloud and the target point cloud to obtain the input point cloud after rough registration;
the first segmentation unit is used for segmenting the target point cloud to obtain at least two first point cloud blocks;
the second segmentation unit is used for segmenting the roughly registered input point cloud to obtain at least two second point cloud blocks;
a point cloud block selecting unit, configured to select at least one first point cloud block from the at least two first point cloud blocks, and select a second point cloud block corresponding to each of the selected first point cloud blocks from the at least two second point cloud blocks;
and the fine registration unit is used for performing fine registration according to the selected at least one first point cloud block and the selected at least one second point cloud block to obtain an input point cloud after the fine registration, and when the preset registration condition is not met, the input point cloud after the fine registration is used as the input point cloud after the coarse registration again for segmentation until the preset registration condition is met.
Further, the point cloud block selecting unit is configured to calculate a difference between each first point cloud block and each second point cloud block; determining at least one difference degree which is relatively minimum from the calculated difference degrees; and aiming at each difference degree in the at least one difference degree, selecting a first point cloud block corresponding to the current difference degree from the at least two first point cloud blocks, and selecting a second point cloud block corresponding to the current difference degree from the at least two second point cloud blocks.
Further, the air conditioner is provided with a fan,
the point cloud block selecting unit is used for selecting a point cloud block according to
Calculating the difference degree between each first point cloud block and each second point cloud block;
wherein, m(s)i,tk) Is a first point cloud block s marked iiAnd a second point cloud t identified as kkThe difference between them, W is the preset weight matrix, v(s)i) Is the first cloud block siTotal variation of v (t)k) As a cloud block t of the second pointkTotal variation of d(s)i) Is the first cloud block siLocal density of d (t)k) As a cloud block t of the second pointkLocal density of l(s)i) Is the first cloud block siDegree of local convergence of l (t)k) As a cloud block t of the second pointkThe degree of local convergence.
Further, the point cloud block selecting unit is configured to select at least one first point cloud block from the at least two first point cloud blocks and select second point cloud blocks having the same sequence numbers as the selected first point cloud blocks from the at least two second point cloud blocks if the number of the first point cloud blocks is consistent with the number of the second point cloud blocks, where the at least two first point cloud blocks and the at least two second point cloud blocks are obtained based on the same segmentation algorithm.
Further, the coarse registration unit is configured to perform down-sampling on the input point cloud to obtain a down-sampled input point cloud; down-sampling the target point cloud to obtain a down-sampled target point cloud; and carrying out coarse registration according to the input point cloud after down sampling and the target point cloud after down sampling to obtain the input point cloud after coarse registration.
The invention provides a point cloud registration method and a device, wherein at least two first point cloud blocks are obtained by segmenting a target point cloud, at least two second point cloud blocks are obtained by segmenting an input point cloud after coarse registration, then a new input point cloud, namely the input point cloud after fine registration, is generated after at least one first point cloud block and the second point cloud block corresponding to each first point cloud block are precisely registered, the input point cloud after fine registration is used as the input point cloud after coarse registration again for segmentation, the currently obtained second point cloud blocks are changed compared with the corresponding second point cloud block obtained after the last segmentation, if new points are added, so that when at least one first point cloud block and the second point cloud block corresponding to each first point cloud block obtained by the current segmentation are precisely registered, the registration relation is recalculated, so that the number of correct corresponding points in the current fine registration is more than that of the correct corresponding points in the last fine registration, the scheme continuously performs segmentation processing on the input point cloud after the last fine registration in an iteration mode, so that the number of the correct corresponding points gradually approaches to the maximum value, and the registration precision is improved.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The following describes a related art that may be used in the present solution.
RANSAC coarse registration
The random sampling consistency algorithm adopts an iterative mode to estimate parameters in a mathematical model, and a data set used by the random sampling consistency algorithm comprises outlier data. Compared with the iterative closest point algorithm, the iterative closest point algorithm has better precision, and the random sampling consistent registration algorithm can roughly estimate the rotation matrix and the translation matrix under the condition of ensuring that the distance of points in the point cloud is unchanged.
The random sampling consistent registration algorithm based on the feature vector of the fast point feature histogram is roughly divided into the following steps:
(1) and selecting a plurality of sampling points from the input point cloud.
(2) And searching a point set of fast point feature histogram feature vectors which are similar to the sampling points in the step (1) in the target point cloud, and selecting corresponding points of the sampling points in the step (1) in the point set.
Second, ICP fine registration
The ICP algorithm is referred to as the gold criterion for 3D point cloud registration.
Two points in three-dimensional space
And
the euclidean distance between can be expressed as:
the essence of the registration problem between three-dimensional point clouds is to find the rotation matrix R and the translation matrix U between A and Q, for
For the sake of explanation, there should be:
optimizing solution sets using least squares
The ICP target is to find R and U when E is minimized.
Before the ICP algorithm is performed on the two point clouds, coarse registration is generally performed, so that the two point clouds are transferred to the same coordinate system, and surfaces between the two point clouds are overlapped as much as possible.
For the iterative closest point algorithm, the flow is as follows:
(1) and calculating the relation points, wherein in an iterative closest point algorithm, the correlation points between the point clouds need to be calculated in the two point clouds, and the number of the calculated correlation points influences the subsequent registration effect.
(2) And calculating a transformation matrix of the corresponding point pair.
(3) And applying the calculated transformation matrix to the input point cloud.
(4) And calculating whether the overall loss of the point cloud after application exceeds a preset threshold value or not, and returning to the step (1) if the overall loss of the point cloud after application exceeds the preset threshold value, so as to iteratively search for an optimal solution.
Fig. 1 is a flowchart of a point cloud registration method according to an embodiment of the present invention, which is illustrated by applying the method according to the embodiment to a point cloud registration apparatus, as shown in fig. 1, the method includes:
step 101: and carrying out coarse registration according to the input point cloud and the target point cloud to obtain the input point cloud after the coarse registration.
In practical application, the execution subject of the embodiment may be a point cloud registration device, which may be program software, or a medium storing a related computer program, such as a usb disk; alternatively, the point cloud registration apparatus may also be a physical device, such as a chip, an intelligent terminal, a computer, a server, etc., integrated with or installed with an associated computer program.
The example is performed in combination with an actual scenario, such as a workshop product calibration scenario: scanning a product model (such as a regular water cup model), then describing point cloud data of the obtained product model by using the points as target point cloud, scanning a product to be detected (an actually produced water cup), then describing point cloud data of the obtained product to be detected by using the points as input point cloud, then roughly registering the input point cloud and the target point cloud to transform the input point cloud to a position which is roughly overlapped with the target point cloud, for example, carrying out precise registration by using an RANSAC (random sample consensus) rough registration algorithm to obtain a transformation matrix, and then applying the transformation matrix to the input point cloud, so that the input point cloud after rough registration can be obtained.
Step 102: and segmenting the target point cloud to obtain at least two first point cloud blocks.
In this embodiment, a plurality of segmentation algorithms, such as an octree segmentation algorithm, may be used to segment the target point cloud. The octree definition is: if not an empty tree, the child nodes of any node in the tree will have exactly eight, or zero, i.e., the child nodes will not have numbers other than 0 and 8.
And then, repeatedly executing steps 103 to 105 until a preset registration condition is met, where the registration condition may be set according to an actual requirement, and if the registration condition may be an iteration number, it may be understood that, when the number of times of executing step 105 reaches the iteration number, step 103 is not continuously executed, and if the registration condition may also be a range allowed by a loss error, that is, if a loss error calculated according to the input point cloud after the fine registration generated in step 105 and the target point cloud is within an allowed range, step 103 is not continuously executed.
Step 103: and segmenting the roughly registered input point cloud to obtain at least two second point cloud blocks.
In this embodiment, in order to increase the speed of selecting the first point cloud block and the second point cloud block, thereby increasing the speed of point cloud registration, the same segmentation algorithm may be used to segment the target point cloud and the coarsely registered input point cloud, for example, an octree segmentation algorithm is used for both. The octree segmentation algorithm determines whether or not segmentation can be continued based on the position information of the points in the input point cloud or the target point cloud, and therefore, the number of the first point cloud blocks obtained by segmentation may not be the same as the number of the second point cloud blocks obtained by segmentation.
Step 104: and selecting at least one first point cloud block from the at least two first point cloud blocks, and selecting a second point cloud block corresponding to each selected first point cloud block from the at least two second point cloud blocks.
In this embodiment, the number of the selected first point cloud blocks or the second point cloud blocks may be set according to actual requirements, and a preferred method is as follows: and selecting two first point cloud blocks from the at least two first point cloud blocks, and selecting two corresponding second point cloud blocks from the at least two second point cloud blocks, wherein the selected first point cloud blocks are similar to the selected corresponding second point cloud blocks. The specific selection manner may be various, for example, two pairs of results with relatively highest similarity may be selected by calculating the similarity between the first point cloud block and the second point cloud block, and for example, two pairs of results with relatively lowest similarity may be selected by calculating the difference between the first point cloud block and the second point cloud block.
Step 105: and carrying out fine registration according to the selected at least one first point cloud block and the selected at least one second point cloud block to obtain an input point cloud after the fine registration, and dividing the input point cloud after the fine registration as the input point cloud after the coarse registration again.
In this embodiment, if two first point cloud blocks and two second point cloud blocks are selected, when performing the fine registration, the two pairs of point cloud blocks (one first point cloud block and the corresponding one second point cloud block are referred to as one pair of point cloud blocks) may be alternately subjected to the fine registration, and the registration accuracy is further improved by a correction method. Specifically, an ICP algorithm may be used for fine registration.
The embodiment of the invention provides a point cloud registration method, which comprises the steps of obtaining at least two first point cloud blocks by segmenting a target point cloud, obtaining at least two second point cloud blocks by segmenting an input point cloud after coarse registration, generating a new input point cloud which is the input point cloud after fine registration by using at least one first point cloud block and the second point cloud block corresponding to each first point cloud block after fine registration, and carrying out segmentation processing by using the input point cloud after fine registration as the input point cloud after coarse registration again, so that when the currently obtained second point cloud blocks are compared with the set of points in the corresponding second point cloud blocks obtained after the last segmentation, if new points are added, when the at least one first point cloud block is precisely registered with the second point cloud block corresponding to each first point cloud block obtained by the current segmentation, the registration relation is recalculated, so that the number of correct corresponding points in the current fine registration is more than that of the correct corresponding points in the last fine registration, the scheme continuously performs segmentation processing on the input point cloud after the last fine registration in an iteration mode, so that the number of the correct corresponding points gradually approaches to the maximum value, and the registration precision is improved.
Fig. 2 is a flowchart of a point cloud registration method according to a second embodiment of the present invention, and as shown in fig. 2, the method may include:
step 201: and carrying out down-sampling on the input point cloud to obtain a down-sampled input point cloud, and carrying out down-sampling on the target point cloud to obtain a down-sampled target point cloud.
In this embodiment, a downsampling algorithm may be adopted to process the input point cloud and the target point cloud in advance, so that less point cloud data represents the input point cloud and the target point cloud respectively, and thus, the amount of data to be processed in the coarse registration process is reduced, and the speed of point cloud registration is increased.
Step 202: and carrying out coarse registration according to the input point cloud after down sampling and the target point cloud after down sampling to obtain the input point cloud after coarse registration.
In this embodiment, a RANSAC coarse registration algorithm may be used to perform coarse registration on the downsampled input point cloud and the downsampled target point cloud, and obtain a transformation matrix, and the transformation matrix is applied to the original input point cloud (i.e., the input point cloud before downsampling is not performed), so as to obtain the input point cloud after coarse registration.
Step 203: and segmenting the target point cloud to obtain at least two first point cloud blocks.
In this embodiment, an octree partitioning algorithm may be adopted to partition the target point cloud, and each of the partitioned first point cloud blocks has a serial number, for example, 30 first point cloud blocks are obtained, and the serial numbers are from 1 to 30.
And then, repeatedly executing the steps 204 to 209 until the preset registration condition is met.
Step 204: and (3) segmenting the roughly registered input point cloud to obtain at least two second point cloud blocks, if the number of the first point cloud blocks is consistent with that of the second point cloud blocks, executing the step 205, and if the number of the first point cloud blocks is not consistent with that of the second point cloud blocks, executing the step 206.
In this embodiment, an octree segmentation algorithm may also be used to segment the coarsely registered input point cloud, and each of the second point cloud blocks obtained by segmentation also has a sequence number. If the number of the divided first point cloud blocks is consistent with that of the divided second point cloud blocks, the first point cloud blocks and the corresponding second point cloud blocks can be directly selected according to the serial numbers.
It should be noted that fig. 2 is only an implementation flow that may exist in the present solution, for example, if the number of the first point cloud blocks and the second point cloud blocks is the same, the first point cloud blocks and the second point cloud blocks may also be selected in the manner from step 206 to step 208, and the first point cloud blocks and the second point cloud blocks that are most similar can be selected through this embodiment, so as to further improve the accuracy of point cloud registration.
Step 205: selecting at least one first point cloud block from the at least two first point cloud blocks, and selecting second point cloud blocks having the same serial numbers as the selected first point cloud blocks from the at least two second point cloud blocks, wherein the at least two first point cloud blocks and the at least two second point cloud blocks are obtained based on the same segmentation algorithm, and performing step 209.
In this embodiment, at least one serial number may be preset, for example, the set serial numbers are 10 and 30, when it is determined that the number of the first point cloud blocks obtained by dividing is identical to the number of the second point cloud blocks obtained by dividing, the first point cloud blocks corresponding to the 10 th cloud block and the 30 th cloud block respectively may be selected from the at least two first point cloud blocks, and the second point cloud blocks corresponding to the 10 th cloud block and the 30 th cloud block respectively may also be selected from the at least two second point cloud blocks.
Step 206: and calculating the difference degree between each first point cloud block and each second point cloud block.
In this embodiment, one way to calculate the difference between the first point cloud block and the second point cloud block is as follows: according to
Calculating the difference degree between each first point cloud block and each second point cloud block;
wherein, m(s)i,tk) Is a first point cloud block s marked iiAnd a second point cloud t identified as kkThe difference between them, W is the preset weight matrix, v(s)i) Is the first cloud block siTotal variation of v (t)k) As a cloud block t of the second pointkTotal variation of d(s)i) Is the first cloud block siLocal density of d (t)k) As a cloud block t of the second pointkLocal density of l(s)i) Is the first cloud block siDegree of local convergence of l (t)k) As a cloud block t of the second pointkThe degree of local convergence.
Wherein, v(s)
i) One way of calculating (a) may be:
wherein n is
i,hIs the first cloud block s
iNormal vector at point h, n
i,lIs the first cloud block s
iAt the normal vector of point I, the point h and the point I are the first cloud block s
iPoint of (a), w
h,lFor a preset weight between h and l points, K is the cloud s for the first point
iIs preset with the number of the most adjacent points
And v (t)
k) According to v(s)
i) The result of the transformation is that,
wherein n is
k,gAs a cloud block t of the second point
kNormal vector at point g, n
k,fAs a cloud block t of the second point
kThe normal vector at the point f, the points g and f are the cloud block t of the second point
kPoint of (a), w
g,fTo preset the weight between points g and f, E is the cloud block t for the second point
kThe number of the most adjacent points is preset for any one point, and the values of K and E are equal.
d(s
i) One way of calculating (a) may be:
wherein p is
iAnd p
jIs the first cloud block s
iPoint(s) above, M being the first point cloud s
iThe total number of points in (1), N (i) is equal to p
iSet of points whose points are closest.
And d (t)
k) According to d(s)
i) The result of the transformation is that,
wherein p is
kAnd p
vAs a cloud block t of the second point
kPoint F is the second point cloud block t
kThe total number of points in (a) is,
n (k) is and pkSet of points whose points are closest.
l(s
i) One way of calculating (a) may be:
wherein M is the first cloud block s
iTotal number of points in, p
iIs the first cloud block s
iPoint of (a) p
cIs the first cloud block s
iThe center of mass of the lens.
And l (t)
k) According to l(s)
i) The result of the transformation is that,
wherein F is a second point cloud block t
kTotal number of points in, p
kAs a cloud block t of the second point
kPoint of (a) p
oAs a cloud block t of the second point
kThe center of mass of the lens.
For example, after the segmentation, 30 first point cloud blocks and 20 second point cloud blocks are obtained, and through this step, 30 × 20 to 600 disparity degrees can be obtained.
Step 207: determining at least one degree of difference that is relatively minimum from the calculated degrees of difference.
In this embodiment, according to the above steps, 600 difference degrees may be sorted, and then at least one difference degree with the smallest difference degree is determined from the 600 difference degrees, assuming that two difference degrees with the smallest differences are determined in total.
Step 208: and aiming at each difference degree in the at least one difference degree, selecting a first point cloud block corresponding to the current difference degree from the at least two first point cloud blocks, and selecting a second point cloud block corresponding to the current difference degree from the at least two second point cloud blocks.
In this embodiment, after determining the two relative minimum difference degrees, the corresponding first point cloud block and the second point cloud block may be selected according to the correspondence between the difference degrees and the first point cloud block and the second point cloud block in step 206.
Step 209: and carrying out fine registration according to the selected at least one first point cloud block and the selected at least one second point cloud block to obtain an input point cloud after the fine registration, and segmenting the input point cloud after the fine registration as the input point cloud after the coarse registration again.
In this embodiment, when the registration condition is not satisfied, if the iteration number does not reach the preset iteration number, the input point cloud after the fine registration generated this time is used as the input point cloud after the coarse registration again, so as to execute the step 204.
According to the embodiment of the invention, the input point cloud and the target point cloud are respectively processed by adopting a down-sampling algorithm in advance, so that less point cloud data respectively represent the input point cloud and the target point cloud, and the data amount required to be processed in the coarse registration process is reduced, therefore, the point cloud registration speed is improved; if the number of the divided first point cloud blocks is consistent with that of the divided second point cloud blocks, the first point cloud blocks and the corresponding second point cloud blocks can be directly selected according to the serial numbers, and the implementation mode improves the speed of point cloud block selection, so that the speed of point cloud registration is further improved; by carrying out segmentation processing on the target point cloud and the input point cloud after rough registration and carrying out precise registration on the first point cloud block and the second point cloud block obtained by the segmentation processing, the data amount required to be processed in the precise registration process is reduced, and therefore, the speed of point cloud registration is further improved; in addition, the required point cloud blocks are selected by calculating the difference degree between each first point cloud block and each second point cloud block, and the first point cloud block and the second point cloud block which are most similar can be selected through the embodiment, so that the precision of point cloud registration is further improved.
Fig. 3 is a schematic structural diagram of a point cloud registration apparatus provided in the third embodiment of the present invention, including:
a rough registration unit 301, configured to perform rough registration according to the input point cloud and the target point cloud to obtain a rough-registered input point cloud;
a first segmentation unit 302, configured to segment the target point cloud to obtain at least two first point cloud blocks;
a second segmentation unit 303, configured to segment the coarsely registered input point cloud to obtain at least two second point cloud blocks;
a point cloud block selecting unit 304, configured to select at least one first point cloud block from the at least two first point cloud blocks, and select a second point cloud block corresponding to each of the selected first point cloud blocks from the at least two second point cloud blocks;
and a fine registration unit 305, configured to perform fine registration according to the selected at least one first point cloud block and the selected at least one second point cloud block to obtain an input point cloud after the fine registration, and segment the input point cloud after the fine registration again as the input point cloud after the coarse registration until a preset registration condition is met.
In this embodiment, the method provided by the first embodiment of the present invention is implemented based on the same principle, and is not described herein again.
In the embodiment of the invention, the target point cloud is segmented to obtain at least two first point cloud blocks, the input point cloud after rough registration is segmented to obtain at least two second point cloud blocks, then at least one of the first point cloud blocks and the second point cloud block corresponding to each first point cloud block are used for carrying out precise registration to generate a new input point cloud, namely the input point cloud after precise registration, the input point cloud after precise registration is used as the input point cloud after rough registration again for carrying out segmentation processing, then the currently obtained second point cloud blocks are changed compared with the set of points in the corresponding second point cloud blocks obtained after last segmentation, for example, new points are added, thus, when at least one of the first point cloud blocks is used for carrying out precise registration with the second point cloud block corresponding to each first point cloud block obtained by current segmentation, the registration relation is recalculated, so that the number of correct corresponding points in the current fine registration is more than that of the correct corresponding points in the last fine registration, the scheme continuously performs segmentation processing on the input point cloud after the last fine registration in an iteration mode, so that the number of the correct corresponding points gradually approaches to the maximum value, and the registration precision is improved.
The fourth embodiment of the invention provides a point cloud registration device which comprises, on the basis of the third embodiment,
the point cloud block selecting unit is used for calculating the difference degree between each first point cloud block and each second point cloud block; determining at least one difference degree which is relatively minimum from the calculated difference degrees; and aiming at each difference degree in the at least one difference degree, selecting a first point cloud block corresponding to the current difference degree from the at least two first point cloud blocks, and selecting a second point cloud block corresponding to the current difference degree from the at least two second point cloud blocks.
The point cloud block selecting unit is used for selecting a point cloud block according to
Calculating the difference degree between each first point cloud block and each second point cloud block;
wherein, m(s)i,tk) Is a first point cloud block s marked iiAnd a second point cloud t identified as kkDegree of difference therebetween, WIs a preset weight matrix, v(s)i) Is the first cloud block siTotal variation of v (t)k) As a cloud block t of the second pointkTotal variation of d(s)i) Is the first cloud block siLocal density of d (t)k) As a cloud block t of the second pointkLocal density of l(s)i) Is the first cloud block siDegree of local convergence of l (t)k) As a cloud block t of the second pointkThe degree of local convergence.
Further, the point cloud block selecting unit is configured to select at least one first point cloud block from the at least two first point cloud blocks and select second point cloud blocks having the same sequence numbers as the selected first point cloud blocks from the at least two second point cloud blocks if the number of the first point cloud blocks is consistent with the number of the second point cloud blocks, where the at least two first point cloud blocks and the at least two second point cloud blocks are obtained based on the same segmentation algorithm.
Further, the coarse registration unit is configured to perform down-sampling on the input point cloud to obtain a down-sampled input point cloud; down-sampling the target point cloud to obtain a down-sampled target point cloud; and carrying out coarse registration according to the input point cloud after down sampling and the target point cloud after down sampling to obtain the input point cloud after coarse registration.
In this embodiment, the method provided in the second embodiment of the present invention can be performed, and the implementation principles are similar, which is not described herein again.
According to the embodiment of the invention, the input point cloud and the target point cloud are respectively processed by adopting a down-sampling algorithm in advance, so that less point cloud data respectively represent the input point cloud and the target point cloud, and the data amount required to be processed in the coarse registration process is reduced, therefore, the point cloud registration speed is improved; if the number of the divided first point cloud blocks is consistent with that of the divided second point cloud blocks, the first point cloud blocks and the corresponding second point cloud blocks can be directly selected according to the serial numbers, and the implementation mode improves the speed of point cloud block selection, so that the speed of point cloud registration is further improved; by carrying out segmentation processing on the target point cloud and the input point cloud after rough registration and carrying out precise registration on the first point cloud block and the second point cloud block obtained by the segmentation processing, the data amount required to be processed in the precise registration process is reduced, and therefore, the speed of point cloud registration is further improved; in addition, the required point cloud blocks are selected by calculating the difference degree between each first point cloud block and each second point cloud block, and the first point cloud block and the second point cloud block which are most similar can be selected through the embodiment, so that the precision of point cloud registration is further improved.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is limited only by the appended claims.