IP Library Granted Patent US 11,106,936
Granted Patent B2
US 11,106,936 · App. 16/561,403 · Granted Aug 31, 2021

Object point cloud comparison and matching

Inventor: Zachary Bergen (Louisville, CO)
Assignee: General Atomics
G06K9/6202G06K9/00201G06K9/6215
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,106,936
App. No.
16/561,403
Granted
Aug 31, 2021
Kind
B2
Abstract

Point clouds of objects are compared and matched using logical arrays based on the point clouds. The point clouds are azimuth aligned and translation aligned. The point clouds are converted into logical arrays for ease of processing. Then the logical arrays are compared (e.g. using the AND function and counting matches between the two logical arrays). The comparison is done at various quantization levels to determine which quantization level is likely to give the best object comparison result. Then the object comparison is made. More than two objects may be compared and the best match found.

Claims (46)

1. The method for comparing point cloud data for objects comprising the steps of:

(a) selecting a first analog point cloud representing a first object and a second analog point cloud representing a second object;

(b) azimuth aligning the first and second point clouds;

(c) after step (b) translation aligning the first and second point clouds;

(d) generating regularly spaced logical arrays at a first resolution based upon the first and second point clouds;

(e) comparing the logical arrays generated in step (d) and generating a first-resolution comparison response value;

(f) generating regularly spaced logical arrays at a second resolution based upon the first and second point clouds;

(g) comparing the logical arrays generated in step (f) and generating a second-resolution comparison response value;

(h) selecting one of the comparison response values; and

(i) generating a comparison result for the first object and the second object based upon the selected response value.

2. The method of claim 1 further comprising the steps, performed before step (h), of:

(j) selecting a third point cloud representing a third object; and

(k) repeating steps (b) through (i) for the first and third point clouds.

3. The method of claim 2 , further including the step of:

(l) determining whether the second object or the third object is a better match for the first object based upon the comparison results.

4. The method of claim 3 , further comprising the steps of: (m) before step (h), repeating steps (e) and (g) through (i) for the second and third point clouds; and (n) determining how well each object matches each of the other objects.

5. The method of claim 1 , further comprising the steps, performed before step (h), of:

(o) generating regularly spaced logical arrays at a third resolution based upon the first and second point clouds,

(p) comparing the logical arrays generated at the third resolution level, and

(q) generating a third comparison response value.

6. The method of claim 5 , further including the step of:

(r) before step (h), forming and displaying a curve based on the comparison response values.

7. The method of claim 6 , further comprising the steps performed before step (h) of:

(s) selecting a third point cloud representing a third object; and

(t) repeating steps (b) through (i) for the first and third point clouds; and

(u) forming another curve based on the comparison response values from steps (s) and (t).

8. The method of claim 7 , further comprising the step of:

(v) in step (h) examining the separability of the curves.

9. The method of claim 1 wherein steps (e) and (g) are accomplished by performing logical AND functions between arrays and counting true results.

10. The method of claim 4 wherein steps (e), (g), (l) and (n) are accomplished by performing logical AND functions between arrays and counting true results.

11. The method of claim 6 wherein steps (e), (g), and (r) are accomplished by performing logical AND functions between arrays and counting true results.

12. The method of claim 1 wherein step (b) includes the steps of:

(b1) finding a center of gravity of each point cloud;

(b2) generating weighted sums of each point cloud by determining the number of points along various angular directions from the center of gravity;

(b3) generating a characteristic signature of each point cloud based upon its weighted sums;

(b4) cross correlating the characteristic signatures; and

(b5) choosing the angular alignment between the point clouds based on the results of step (b4).

13. The method of claim 1 wherein step (c) is performed after step (d) and includes the steps of:

(c1) offsetting the logical arrays various amounts by translating one logical array with respect to the other;

(c2) performing logical AND functions between arrays and counting true results after each offset; and

(c3) determining the offset that maximizes the results of step (c2).

14. The method of claim 1 wherein steps (d) and (f) are performed by voxelizing the point cloud and then setting each voxel containing points as “true” in a logical array.

15. The method of claim 1 wherein, prior to performing step (b), the first and second point clouds are quantized at a level representing a selected spatial accuracy.

16. The method of claim 10 wherein, prior to performing step (b), the first and second point clouds are converted to a bump map.

17. Apparatus for comparing point cloud data for objects comprising: means for uploading into computer memory a first analog point cloud representing a first object and a second analog point cloud representing a second object; a user display; and a processor configured to accomplish—azimuth aligning the first and second point clouds; quantizing the first and second point clouds; translation aligning the first and second point clouds after the first and second point clouds have been azimuth aligned; generating multiple regularly spaced logical arrays at multiple resolutions based upon the first and second point clouds; comparing logical arrays based on the first point cloud to logical arrays based on the second point cloud at various resolutions and generating response values at the various resolutions; selecting a comparison response value; and generating a comparison result for the first object and the second object based upon the selected response value.

18. The apparatus of claim 17 wherein the processor is further configured to display response values on the user display and to accept user input to select the comparison response value.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2021
From: BERGEN, ZACHARY
To: NEVA RIDGE TECHNOLOGIES
Reel/Frame 056010/0707 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2021
From: NEVA RIDGE TECHNOLOGIES, LLC
To: GENERAL ATOMICS
Reel/Frame 056011/0286 →
CHANGE OF NAME Recorded Apr 22, 2021
From: NEVA RIDGE TECHNOLOGIES, INC.
To: NEVA RIDGE TECHNOLOGIES, LLC
Reel/Frame 056027/0450 →
Continuity (1)
Related Publication 20210073571A1 · Mar 11, 2021