IP Library › Granted Patent US 10,896,317
Granted Patent B2
US 10,896,317 · App. 16/235,434 · Granted Jan 19, 2021

Apparatus and method for identifying an articulatable part of a physical object using multiple 3D point clouds

Inventors: Matthew Shreve (Mountain View, CA); Sreenivas Venkobarao (Sunderland, MA)
Assignee: Palo Alto Research Center Incorporated
G06K9/00214G06K9/6211G06K9/6276G06T17/005G06T19/20G06T2200/04
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 10,896,317
App. No.
16/235,434
Granted
Jan 19, 2021
Kind
B2
Abstract

An apparatus comprises an input interface configured to receive a first 3D point cloud associated with a physical object prior to articulation of an articulatable part, and a second 3D point cloud after articulation of the articulatable part. A processor is operably coupled to the input interface, an output interface, and memory. Program code, when executed by the processor, causes the processor to align the first and second point clouds, find nearest neighbors of points in the first point cloud to points in the second point cloud, eliminate the nearest neighbors of points in the second point cloud such that remaining points in the second point cloud comprise points associated with the articulatable part and points associated with noise, generate an output comprising at least the remaining points of the second point cloud associated with the articulatable part without the noise points, and communicate the output to the output interface.

Claims (60)

1. A computer-implemented method, comprising:

obtaining a first three-dimensional point cloud associated with a physical object having at least one articulatable part, the first point cloud associated with the physical object prior to articulation of the articulatable part;

obtaining a second three-dimensional point cloud associated with the physical object after articulation of the articulatable part;

coarsely aligning the first and second point clouds;

finely aligning the first and second point clouds after coarsely aligning the first and second point clouds;

operating on the finely aligned first and second point clouds by:

finding nearest neighbors of points in the first point cloud to points in the second point cloud; and

eliminating the nearest neighbors of points in the second point cloud such that remaining points in the second point cloud comprise points associated with the articulatable part and points associated with noise; and

generating an output comprising at least the remaining points of the second point cloud associated with the articulatable part without the noise points.

2. The method of claim 1 , wherein coarsely aligning the first and second point clouds comprises:

computing Fast Point Feature Histogram (FPFH) descriptors from the first and second point clouds; and

performing random sample consensus (RANSAC) registration between the first and second point clouds using the FPFH descriptors of the first and second point clouds.

3. The method of claim 2 , comprising downsampling the first and second point clouds prior to computing the FPFH descriptors.

4. The method of claim 1 , wherein finely aligning the first and second point clouds comprises performing Iterative Closest Point (ICP) registration on the coarsely aligned the first and second point clouds.

5. The method of claim 1 , further comprising:

applying clustering to the remaining points in the second point cloud to produce noise point clusters and a cluster of points associated with the articulatable part; and

distinguishing the cluster of points associated with the articulatable part from the noise point clusters;

wherein the generated output comprises at least the cluster of points associated with the articulatable part without the noise point clusters.

6. The method of claim 5 , wherein distinguishing the cluster of points associated with the articulatable part from the noise point clusters comprises:

receiving a user input identifying a location of the articulatable part in the first point cloud; and

selecting a cluster of points at the user identified location as the cluster of points associated with the articulatable part.

7. The method of claim 5 , wherein distinguishing the cluster of points associated with the articulatable part from the noise point clusters comprises:

algorithmically determining a size of each of the clusters of points; and

selecting a largest cluster of points as the cluster of points associated with the articulatable part.

8. The method of claim 5 , wherein applying clustering comprises applying density-based spatial clustering of applications with noise (DBSCAN) to the remaining points in the second point cloud.

9. The method of claim 1 , wherein finding the nearest neighbors of points comprises using a k-dimensional tree (k-d tree) and a predetermined distance threshold to find the nearest neighbors of points in the first point cloud to points in the second point cloud.

10. The method of claim 1 , wherein the generated output comprises points of the second point cloud associated with the articulatable part superimposed on the first point cloud.

11. The method of claim 1 , wherein the output comprises one or both of a graphical output and a data structure output.

12. An apparatus, comprising:

an input interface and an output interface, the input interface configured to receive:

a first three-dimensional point cloud associated with a physical object having at least one articulatable part, the first point cloud associated with the physical object prior to articulation of the articulatable part; and

a second three-dimensional point cloud associated with the physical object after articulation of the articulatable part;

memory operably coupled to the input interface and configured to store the first and second point clouds and program code; and

a processor operably coupled to the input interface, the output interface, and the memory, the program code when executed by the processor causing the processor to:

coarsely align the first and second point clouds;

finely align the first and second point clouds after coarsely aligning the first and second point clouds;

operate on the finely aligned first and second point clouds to:

find nearest neighbors of points in the first point cloud to points in the second point cloud; and

eliminate the nearest neighbors of points in the second point cloud such that remaining points in the second point cloud comprise points associated with the articulatable part and points associated with noise;

generate an output comprising at least the remaining points of the second point cloud associated with the articulatable part without the noise points; and

communicate the output to the output interface.

13. The apparatus of claim 12 , wherein the processor is configured to coarsely align the first and second point clouds by:

computing Fast Point Feature Histogram (FPFH) descriptors from the first and second point clouds; and

performing random sample consensus (RANSAC) registration between the first and second point clouds using the FPFH descriptors of the first and second point clouds.

14. The apparatus of claim 13 , wherein the processor is configured to downsample the first and second point clouds prior to computing the FPFH descriptors.

15. The apparatus of claim 12 , wherein the processor is configured to finely align the first and second point clouds by performing Iterative Closest Point (ICP) registration on the coarsely aligned the first and second point clouds.

16. The apparatus of claim 12 , wherein the processor is configured to:

apply clustering to the remaining points in the second point cloud to produce noise point clusters and a cluster of points associated with the articulatable part; and

distinguish the cluster of points associated with the articulatable part from the noise point clusters;

wherein the output generated by the processor comprises at least the cluster of points associated with the articulatable part without the noise point clusters.

17. The apparatus of claim 16 , wherein the processor is configured to distinguish the cluster of points associated with the articulatable part from the noise point clusters by:

receiving a user input identifying a location of the articulatable part in the first point cloud; and

selecting a cluster of points at the user identified location as the cluster of points associated with the articulatable part.

18. The apparatus of claim 16 , wherein the processor is configured to distinguish the cluster of points associated with the articulatable part from the noise point clusters by:

algorithmically determining a size of each of the clusters of points; and

selecting a largest cluster of points as the cluster of points associated with the articulatable part.

19. The apparatus of claim 16 , wherein the processor is configured to apply density-based spatial clustering of applications with noise (DBSCAN) to the remaining points in the second point cloud.

20. The apparatus of claim 12 , wherein the processor is configured to find the nearest neighbors of points using a k-dimensional tree (k-d tree) and a predetermined distance threshold to find the nearest neighbors of points in the first point cloud to points in the second point cloud.

21. The apparatus of claim 12 , wherein the output generated by the processor comprises points of the second point cloud associated with the articulatable part superimposed on the first point cloud.

22. The apparatus of claim 12 , wherein the output generated by the processor comprises one or both of a graphical output and a data structure output.

Assignments (7)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS RECORDED AT RF 064760/0389 Recorded Feb 13, 2024
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: XEROX CORPORATION
Reel/Frame 068261/0001 →
SECURITY INTEREST Recorded Feb 13, 2024
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 066741/0001 →
SECURITY INTEREST Recorded Nov 20, 2023
From: XEROX CORPORATION
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 065628/0019 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVAL OF US PATENTS 9356603, 10026651, 10626048 AND INCLUSION OF US PATENT 7167871 PREVIOUSLY RECORDED ON REEL 064038 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 28, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064161/0001 →
SECURITY INTEREST Recorded Jun 22, 2023
From: XEROX CORPORATION
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 064760/0389 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2023
From: PALO ALTO RESEARCH CENTER INCORPORATED
To: XEROX CORPORATION
Reel/Frame 064038/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2018
From: SHREVE, MATTHEW; VENKOBARAO, SREENIVAS
To: PALO ALTO RESEARCH CENTER INCORPORATED
Reel/Frame 047871/0454 →
Continuity (1)
Related Publication 20200210680A1 · Jul 2, 2020