CN111311651A - Point cloud registration method and device - Google Patents

Point cloud registration method and device Download PDF

Info

Publication number
CN111311651A
CN111311651A CN201811508702.5A CN201811508702A CN111311651A CN 111311651 A CN111311651 A CN 111311651A CN 201811508702 A CN201811508702 A CN 201811508702A CN 111311651 A CN111311651 A CN 111311651A
Authority
CN
China
Prior art keywords
point cloud
block
blocks
registration
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811508702.5A
Other languages
Chinese (zh)
Other versions
CN111311651B (en
Inventor
胡玮
杜康晖
郭宗明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New Founder Holdings Development Co ltd
Peking University
Beijing Founder Electronics Co Ltd
Original Assignee
Peking University
Peking University Founder Group Co Ltd
Beijing Founder Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peking University, Peking University Founder Group Co Ltd, Beijing Founder Electronics Co Ltd filed Critical Peking University
Priority to CN201811508702.5A priority Critical patent/CN111311651B/en
Publication of CN111311651A publication Critical patent/CN111311651A/en
Application granted granted Critical
Publication of CN111311651B publication Critical patent/CN111311651B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)

Abstract

The invention provides a point cloud registration method and a point cloud registration device, wherein the method comprises the following steps: 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. The scheme can improve the registration precision.

Description

Point cloud registration method and device
Technical Field
The invention relates to the technical field of image signal processing, in particular to a point cloud registration method and device.
Background
The point cloud registration is widely applied to the fields of scene restoration, workshop product calibration and the like. For example, after a source scene is scanned by a scanning device such as a laser radar, point cloud data of the source scene can be obtained by describing points, and the point cloud data is used as a target point cloud, and after a certain object such as a person in the source scene is scanned, point cloud data corresponding to the person can be obtained by describing the points, and the point cloud data is used as an input point cloud.
In the prior art, when point cloud registration is performed, coarse registration is performed first to transform an input point cloud to a position substantially coinciding with a target point cloud, and then fine registration is directly performed to enable the input point cloud and the target point cloud to coincide more. The fine registration process usually adopts an Iterative Closest Point algorithm (ICP algorithm for short), and each fine registration process is performed by directly searching for a corresponding Point according to a target Point cloud and an input Point cloud after coarse registration.
However, in the prior art, a certain amount of wrong corresponding points are generated in the process of searching for corresponding points according to the target point cloud and the input point cloud after the rough registration, and then these wrong corresponding points are also generated if all the point clouds in the target point cloud and the input point cloud after the rough registration are still used during the next fine registration, so that the registration according to these wrong corresponding points will result in low registration accuracy.
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
Figure BDA0001900149890000021
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
Figure BDA0001900149890000031
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.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure.
Fig. 1 is a flowchart of a point cloud registration method according to an embodiment of the present invention;
fig. 2 is a flowchart of a point cloud registration method according to a second embodiment of the present invention;
fig. 3 is a schematic structural diagram of a point cloud registration apparatus according to a third embodiment of the present invention.
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
Figure BDA0001900149890000051
And
Figure BDA0001900149890000052
the euclidean distance between can be expressed as:
Figure BDA0001900149890000053
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
Figure BDA0001900149890000061
For the sake of explanation, there should be:
Figure BDA0001900149890000062
optimizing solution sets using least squares
Figure BDA0001900149890000063
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
Figure BDA0001900149890000101
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:
Figure BDA0001900149890000102
wherein n isi,hIs the first cloud block siNormal vector at point h, ni,lIs the first cloud block siAt the normal vector of point I, the point h and the point I are the first cloud block siPoint of (a), wh,lFor a preset weight between h and l points, K is the cloud s for the first pointiIs 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,
Figure BDA0001900149890000103
wherein n isk,gAs a cloud block t of the second pointkNormal vector at point g, nk,fAs a cloud block t of the second pointkThe normal vector at the point f, the points g and f are the cloud block t of the second pointkPoint of (a), wg,fTo preset the weight between points g and f, E is the cloud block t for the second pointkThe number of the most adjacent points is preset for any one point, and the values of K and E are equal.
d(si) One way of calculating (a) may be:
Figure BDA0001900149890000104
wherein p isiAnd pjIs the first cloud block siPoint(s) above, M being the first point cloud siThe total number of points in (1), N (i) is equal to piSet of points whose points are closest.
And d (t)k) According to d(s)i) The result of the transformation is that,
Figure BDA0001900149890000105
wherein p iskAnd pvAs a cloud block t of the second pointkPoint F is the second point cloud block tkThe total number of points in (a) is,
n (k) is and pkSet of points whose points are closest.
l(si) One way of calculating (a) may be:
Figure BDA0001900149890000106
wherein M is the first cloud block siTotal number of points in, piIs the first cloud block siPoint of (a) pcIs the first cloud block siThe center of mass of the lens.
And l (t)k) According to l(s)i) The result of the transformation is that,
Figure BDA0001900149890000111
wherein F is a second point cloud block tkTotal number of points in, pkAs a cloud block t of the second pointkPoint of (a) poAs a cloud block t of the second pointkThe 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
Figure BDA0001900149890000131
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.

Claims (10)

1. A point cloud registration method, comprising:
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.
2. The method of claim 1, wherein selecting at least one first point cloud block from the at least two first point cloud blocks and selecting a second point cloud block from the at least two second point cloud blocks corresponding to each of the selected first point cloud blocks comprises:
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.
3. The method of claim 2, wherein calculating a degree of difference between each of the first point cloud blocks and each of the second point cloud blocks comprises:
according to
Figure FDA0001900149880000011
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 as followsA little 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.
4. The method of claim 1, wherein selecting at least one first point cloud block from the at least two first point cloud blocks and selecting a second point cloud block from the at least two second point cloud blocks corresponding to each of the selected first point cloud blocks comprises:
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.
5. The method according to any one of claims 1 to 4, wherein the performing a coarse registration according to the input point cloud and the target point cloud to obtain a coarse registered input point cloud comprises:
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.
6. A point cloud registration apparatus, comprising:
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.
7. The apparatus of claim 6,
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.
8. The apparatus of claim 7,
the point cloud block selecting unit is used for selecting a point cloud block according to
Figure FDA0001900149880000031
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, W isA given 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.
9. The apparatus of claim 6,
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.
10. The device according to any one of claims 6 to 9,
the rough registration unit is used for carrying out down-sampling on the input point cloud to obtain the 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.
CN201811508702.5A 2018-12-11 2018-12-11 Point cloud registration method and device Active CN111311651B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811508702.5A CN111311651B (en) 2018-12-11 2018-12-11 Point cloud registration method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811508702.5A CN111311651B (en) 2018-12-11 2018-12-11 Point cloud registration method and device

Publications (2)

Publication Number Publication Date
CN111311651A true CN111311651A (en) 2020-06-19
CN111311651B CN111311651B (en) 2023-10-20

Family

ID=71159569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811508702.5A Active CN111311651B (en) 2018-12-11 2018-12-11 Point cloud registration method and device

Country Status (1)

Country Link
CN (1) CN111311651B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112241810A (en) * 2020-10-18 2021-01-19 西安交通大学 Method for generating in-place deburring path of ceramic core of aircraft blade based on local point cloud matching
CN112382359A (en) * 2020-12-09 2021-02-19 北京柏惠维康科技有限公司 Patient registration method and device, electronic equipment and computer readable medium
CN113763438A (en) * 2020-06-28 2021-12-07 北京京东叁佰陆拾度电子商务有限公司 Point cloud registration method, device, equipment and storage medium
CN114895686A (en) * 2022-05-27 2022-08-12 广州高新兴机器人有限公司 Method and system for charging pile by robot

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150747A (en) * 2012-11-16 2013-06-12 佳都新太科技股份有限公司 Point cloud registration algorithm based on topological characteristic
CN105551015A (en) * 2015-12-02 2016-05-04 南京邮电大学 Scattered-point cloud image registering method
CN106780459A (en) * 2016-12-12 2017-05-31 华中科技大学 A kind of three dimensional point cloud autoegistration method
WO2017096299A1 (en) * 2015-12-04 2017-06-08 Autodesk, Inc. Keypoint-based point-pair-feature for scalable automatic global registration of large rgb-d scans
CN107886528A (en) * 2017-11-30 2018-04-06 南京理工大学 Distribution line working scene three-dimensional rebuilding method based on a cloud
CN108022262A (en) * 2017-11-16 2018-05-11 天津大学 A kind of point cloud registration method based on neighborhood of a point center of gravity vector characteristics
CN108053432A (en) * 2017-11-14 2018-05-18 华南理工大学 The method for registering of indoor sparse cloud scene based on local I CP
US20180158201A1 (en) * 2015-04-22 2018-06-07 Ucl Business Plc Apparatus and method for registering pre-operative image data with intra-operative laparoscopic ultrasound images

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103150747A (en) * 2012-11-16 2013-06-12 佳都新太科技股份有限公司 Point cloud registration algorithm based on topological characteristic
US20180158201A1 (en) * 2015-04-22 2018-06-07 Ucl Business Plc Apparatus and method for registering pre-operative image data with intra-operative laparoscopic ultrasound images
CN105551015A (en) * 2015-12-02 2016-05-04 南京邮电大学 Scattered-point cloud image registering method
WO2017096299A1 (en) * 2015-12-04 2017-06-08 Autodesk, Inc. Keypoint-based point-pair-feature for scalable automatic global registration of large rgb-d scans
CN106780459A (en) * 2016-12-12 2017-05-31 华中科技大学 A kind of three dimensional point cloud autoegistration method
CN108053432A (en) * 2017-11-14 2018-05-18 华南理工大学 The method for registering of indoor sparse cloud scene based on local I CP
CN108022262A (en) * 2017-11-16 2018-05-11 天津大学 A kind of point cloud registration method based on neighborhood of a point center of gravity vector characteristics
CN107886528A (en) * 2017-11-30 2018-04-06 南京理工大学 Distribution line working scene three-dimensional rebuilding method based on a cloud

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113763438A (en) * 2020-06-28 2021-12-07 北京京东叁佰陆拾度电子商务有限公司 Point cloud registration method, device, equipment and storage medium
CN113763438B (en) * 2020-06-28 2024-04-19 北京京东叁佰陆拾度电子商务有限公司 Point cloud registration method, device, equipment and storage medium
CN112241810A (en) * 2020-10-18 2021-01-19 西安交通大学 Method for generating in-place deburring path of ceramic core of aircraft blade based on local point cloud matching
CN112241810B (en) * 2020-10-18 2022-12-09 西安交通大学 In-situ deburring path generation method for aircraft blade ceramic core based on local point cloud matching
CN112382359A (en) * 2020-12-09 2021-02-19 北京柏惠维康科技有限公司 Patient registration method and device, electronic equipment and computer readable medium
CN114895686A (en) * 2022-05-27 2022-08-12 广州高新兴机器人有限公司 Method and system for charging pile by robot

Also Published As

Publication number Publication date
CN111311651B (en) 2023-10-20

Similar Documents

Publication Publication Date Title
CN111311651A (en) Point cloud registration method and device
US8199977B2 (en) System and method for extraction of features from a 3-D point cloud
CN111210429B (en) Point cloud data partitioning method and device and obstacle detection method and device
US11893678B2 (en) Apparatus and method for searching for global minimum of point cloud registration error
US9754377B2 (en) Multi-resolution depth estimation using modified census transform for advanced driver assistance systems
US8755630B2 (en) Object pose recognition apparatus and object pose recognition method using the same
JP6216508B2 (en) Method for recognition and pose determination of 3D objects in 3D scenes
US9430872B2 (en) Performance prediction for generation of point clouds from passive imagery
CN111612728B (en) 3D point cloud densification method and device based on binocular RGB image
Jellal et al. LS-ELAS: Line segment based efficient large scale stereo matching
CN112651944B (en) 3C component high-precision six-dimensional pose estimation method and system based on CAD model
CN113393524B (en) Target pose estimation method combining deep learning and contour point cloud reconstruction
CN111783722B (en) Lane line extraction method of laser point cloud and electronic equipment
JP5178538B2 (en) Method for determining depth map from image, apparatus for determining depth map
CN113592706B (en) Method and device for adjusting homography matrix parameters
JP2009530701A5 (en)
CN107730543B (en) Rapid iterative computation method for semi-dense stereo matching
Muresan et al. A multi patch warping approach for improved stereo block matching
CN107122782B (en) Balanced semi-dense stereo matching method
Lane et al. Tutorial: Overview of stereo matching research
CN115661218A (en) Laser point cloud registration method and system based on virtual super point
JP2023065296A (en) Planar surface detection apparatus and method
CN110060343B (en) Map construction method and system, server and computer readable medium
CN110740308B (en) Time consistent reliability delivery system
JP4687579B2 (en) Image processing apparatus and image processing program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20230703

Address after: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Applicant after: Peking University

Applicant after: New founder holdings development Co.,Ltd.

Applicant after: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

Address before: 100871 No. 5, the Summer Palace Road, Beijing, Haidian District

Applicant before: Peking University

Applicant before: PEKING UNIVERSITY FOUNDER GROUP Co.,Ltd.

Applicant before: BEIJING FOUNDER ELECTRONICS Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant