Registration of multiple laser scans
US-2015112645-A1 · Apr 23, 2015 · US
US10217277B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10217277-B2 |
| Application number | US-201615368351-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 2, 2016 |
| Priority date | Dec 4, 2015 |
| Publication date | Feb 26, 2019 |
| Grant date | Feb 26, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A method, system, and apparatus provide the ability to globally register point cloud scans. A first and a second three-dimensional (3D) point cloud are acquired. The point clouds have a subset of points in common and there is no prior knowledge on an alignment between the point clouds. Particular points that are likely to be identified in the other point cloud are detected. Information about a normal of each of the detected particular points is retrieved. A descriptor (that only describes 3D information) is built on each of the detected particular points. Matching pairs of descriptors are determined. Rigid transformation hypotheses are estimated (based on the matching pairs) and represent a transformation. The hypotheses are accumulated into a fitted space, selected based on density, and validated based on a scoring. One of the hypotheses is then selected as a registration.
Opening claim text (preview).
What is claimed is: 1. A computer-implemented method for globally registering point cloud scans, comprising: (a) acquiring a first three-dimensional (3D) point cloud and a second 3D point cloud, wherein: (1) the first point cloud and the second point cloud have a subset of points in common; (2) there is no prior knowledge on an alignment between the first point cloud and the second point cloud; (b) detecting particular points, wherein the particular points are those points within the first point cloud that are likely to be identified in the second point cloud, and those points within the second point cloud that are likely to be identified in the first point cloud; (c) retrieving information about a normal of each of the detected particular points; (d) building a descriptor on each of the detected particular points, wherein each descriptor describes only 3D information; (e) determining one or more matching pairs of descriptors, wherein each of the one or more matching pairs comprises a first descriptor from the first point cloud and a second descriptor from the second point cloud; (f) estimating one or more rigid transformation hypotheses, wherein: (1) each rigid transformation hypothesis represents a transformation between the first point cloud and the second point cloud; and (2) each rigid transformation hypothesis is based on the 3D information in the one or more matching pairs of the descriptors; (g) accumulating the one or more rigid transformation hypotheses into a fitted space; (h) selecting one or more of the one or more rigid transformation hypotheses based on density; (i) validating the one or more selected rigid transformation hypotheses based on a scoring; and (j) selecting one of the validated selected rigid transformation hypotheses as a registration between the first point cloud and the second point cloud. 2. The computer-implemented method of claim 1 , wherein the first point cloud and the second point cloud are acquired from LiDAR (light imaging, detection and ranging) scans. 3. The computer-implemented method of claim 1 , wherein the detecting is performed by undertaking, on the first point cloud, successive filters at different scales. 4. The computer-implemented method of claim 1 , wherein the detecting further comprises: filtering those points within the first point cloud based on a threshold of response intensity; splitting a space of the first point cloud into fixed-size 3D buckets; and considering only a first n strongest points in each of the fixed-size 3D buckets. 5. The computer-implemented method of claim 1 , wherein the retrieving comprises: considering a neighborhood around each of the detected particular points, wherein each neighborhood corresponds to a detected particular point; attempting to fit a plane around each neighborhood using normalized least squares; if the attempt is successful; based on the plane, calculating a normal for the corresponding detected particular point; refining the normal; and discarding a particular points of the detected particular points that do not have the calculated normal. 6. The computer-implemented method of claim 1 , wherein the building comprises: estimating a spatial distance between a first detected particular point and a second detected particular point; estimating a first angle between a first normal of the first detected particular point and a line defined between the first detected particular point and the second detected particular point; estimating a second angle between a second normal of the second detected particular point and the line defined between the first detected particular point and the second detected particular point; and estimating a third angle between the first normal and the second normal. 7. The computer-implemented method of claim 1 , wherein the determining the one or more matching pairs of the descriptors comprises: building a 4D kd-tree using all of the descriptors; for the first descriptor, performing a nearest neighbor search in the 4D kd-tree for candidate descriptors from the second point cloud; keeping one or more of the candidate descriptors whose distance to the first descriptor is within a threshold value; and storing the one or more of the candidate descriptors that are kept. 8. The computer-implemented method of claim 1 , wherein the scoring is based on: a translation of each selected rigid transformation hypothesis as a first criterion; and a rotation of each selected rigid transformation hypothesis as a second criterion. 9. The computer-implemented method of claim 1 , wherein the validating comprises: reading a first rigid transformation hypothesis of one of the one or more selected rigid transformation hypotheses, wherein the first rigid transformation hypothesis comprises a translation and a rotation; finding a voxel in 3D voxel space that corresponds to the translation; if the voxel is empty, then storing the first rigid transformation hypothesis; if the voxel is not empty, if the rotation is within a threshold rotation to an existing hypothesis group in the voxel, adding the first rigid transformation hypothesis to the existing hypothesis group and storing the first rigid transformation hypothesis in the voxel; and if the rotation is outside of the threshold rotation to the existing hypothesis group, creating a new hypothesis group and adding the first rigid transformation hypothesis to the new hypothesis group and storing the first rigid transformation hypothesis in the voxel; wherein when the first rigid transformation hypothesis is stored in the voxel, adding a score to neighboring voxels, wherein the score is determined by a Gaussian based on a distance from the first rigid transformation hypothesis to a center of the neighboring voxels. 10. A system for globally registering point cloud scans comprising: a processor; a memory storing a set of instructions, wherein the set of instructions, when executed by the processor, cause the processor to perform operations comprising: (a) acquiring a first three-dimensional (3D) point cloud and a second 3D point cloud, wherein: (1) the first point cloud and the second point cloud have a subset of points in common; (2) there is no prior knowledge on an alignment between the first point cloud and the second point cloud; (b) detecting particular points, wherein the particular points are those points within the first point cloud that are likely to be identified in the second point cloud, and those points within the second point cloud that are likely to be identified in the first point cloud; (c) retrieving information about a normal of each of the detected particular points; (d) building a descriptor on each of the detected particular points, wherein each descriptor describes only 3D information; (e) determining one or more matching pairs of descriptors, wherein each of the one or more matching pairs comprises a first descriptor from the first point cloud and a second descriptor from the second point cloud; (f) estimating one or more rigid transformation hypotheses, wherein: (1) each rigid transformation hypothesis represents a transformation between the first point cloud and the second point cloud; and (2) each rigid transformation hypothesis is based on the 3D information in the one or more matching pairs of the descriptors; (g) accumulating the one or more rigid transformation hypotheses into a fitted space; (h) selecting one or more of the one or more rigid transformation hypotheses based on density; (i) validating the one or more selected rigid transformation hypotheses based on a scoring; and (j) selecting one of the validated selected rigid transformation hypotheses as a
Tree description, e.g. octree, quadtree · CPC title
by matching three-dimensional models, e.g. conformal mapping of Riemann surfaces · CPC title
Salient features, e.g. scale invariant feature transforms [SIFT] · CPC title
Matching configurations of points or features · CPC title
Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.