Method, System and Apparatus for Object Detection in Point Clouds
Abstract
A method of detecting objects on a support structure includes: obtaining a point cloud of the support structure supporting an object; obtaining a position of a back of the support structure in the point cloud; discarding a portion of the point cloud based on the position of the back of the support structure; generating a three-dimensional occupancy grid from the point cloud, the occupancy grid having a plurality of cells each indicating whether the cell is one of occupied and unoccupied; identifying a contiguous region of occupied cells in the occupancy grid corresponding to the object; and generating a detected object position based on the contiguous region.
Claims
exact text as granted — not AI-modified1 . A method of detecting objects on a support structure, the method comprising:
obtaining a point cloud of the support structure supporting an object; obtaining a position of a back of the support structure in the point cloud; discarding a portion of the point cloud based on the position of the back of the support structure; generating a three-dimensional occupancy grid from the point cloud, the occupancy grid having a plurality of cells each indicating whether the cell is one of occupied and unoccupied; identifying a contiguous region of occupied cells in the occupancy grid corresponding to the object; and generating a detected object position based on the contiguous region.
2 . The method of claim 1 , wherein the detected object positions comprises a bounding box.
3 . The method of claim 1 , wherein obtaining the position of the back of the support structure includes:
obtaining (i) a plane definition corresponding to a front of the support structure, and (ii) a depth from the plane definition to the back of the support structure.
4 . The method of claim 3 , wherein discarding the portion of the point cloud at the position of the back of the support structure includes discarding points within a threshold depth matching the depth from the plane definition to the back of the support structure.
5 . The method of claim 3 , wherein the point cloud defines a plurality of points according to a common frame of reference; the method further comprising:
before discarding the portion, transforming the points from the common frame of reference to a secondary frame of reference defining, for each point, a position on the plane definition and a depth orthogonal to the plane definition.
6 . The method of claim 5 , wherein generating the occupancy grid comprises, for each position on the plane definition:
determining a first depth of a point nearest to the plane definition; and storing, in a cell of the occupancy grid containing the point, an occupied indicator, and storing, in each cell of the occupancy grid having the position on the plane definition and a greater depth than the first depth, an unoccupied indicator.
7 . The method of claim 6 , wherein identifying the contiguous region comprises:
in a first set of cells having a first common depth, identifying a first contiguous sub-region; in a second set of cells having a second common depth, identifying a second contiguous sub-region; determining whether to merge the first and second contiguous sub-regions; and when the determination is affirmative, merging the first and second contiguous sub-regions to generate the contiguous region.
8 . The method of claim 7 , wherein determining whether to merge the first and second contiguous sub-regions comprises: determining whether a first position on the plane definition of the first contiguous sub-region abuts a second position on the plane definition of the second contiguous sub-region.
9 . The method of claim 1 , further comprising:
prior to identifying the contiguous region, discarding a portion of the cells corresponding to support structure edge positions.
10 . A computing device for detecting objects on a support structure, comprising:
a memory storing (i) a point cloud of the support structure supporting an object, and (ii) a position of a back of the support structure in the point cloud; an imaging controller connected to the memory, the imaging controller configured to:
retrieve, from the memory, the point cloud and the position of the back of the support structure in the point cloud;
discard a portion of the point cloud based on the position of the back of the support structure;
generate a three-dimensional occupancy grid from the point cloud, the occupancy grid having a plurality of cells each indicating whether the cell is one of occupied and unoccupied;
identify a contiguous region of occupied cells in the occupancy grid corresponding to the object; and
generate a detected object position based on the contiguous region.
11 . The computing device of claim 10 , wherein the detected object positions comprises a bounding box.
12 . The computing device of claim 10 , wherein the imaging controller is further configured, to obtain the position of the back of the support structure, to:
retrieve from the memory (i) a plane definition corresponding to a front of the support structure, and (ii) a depth from the plane definition to the back of the support structure.
13 . The computing device of claim 12 , wherein the imaging controller is further configured, to discard the portion of the point cloud at the position of the back of the support structure, to: discard points within a threshold depth matching the depth from the plane definition to the back of the support structure.
14 . The computing device of claim 12 , wherein the point cloud defines a plurality of points according to a common frame of reference; and wherein the imaging controller is further configured to:
before discarding the portion, transform the points from the common frame of reference to a secondary frame of reference defining, for each point, a position on the plane definition and a depth orthogonal to the plane definition.
15 . The computing device of claim 14 , wherein the imaging controller is further configured, to generate the occupancy grid, to:
for each position on the plane definition:
determine a first depth of a point nearest to the plane definition; and
store, in a cell of the occupancy grid containing the point, an occupied indicator, and storing, in each cell of the occupancy grid having the position on the plane definition and a greater depth than the first depth, an unoccupied indicator.
16 . The computing device of claim 15 , wherein the imaging controller is further configured, to identify the contiguous region, to:
in a first set of cells having a first common depth, identify a first contiguous sub-region; in a second set of cells having a second common depth, identify a second contiguous sub-region; determine whether to merge the first and second contiguous sub-regions; and when the determination is affirmative, merge the first and second contiguous sub-regions to generate the contiguous region.
17 . The computing device of claim 16 , wherein the imaging controller is further configured, to determine whether to merge the first and second contiguous sub-regions, to:
determine whether a first position on the plane definition of the first contiguous sub-region abuts a second position on the plane definition of the second contiguous sub-region.
18 . The computing device of claim 10 , wherein the imaging controller is further configured to:
prior to identifying the contiguous region, discard a portion of the cells corresponding to support structure edge positions.
19 . A non-transitory computer-readable medium storing a plurality of computer-readable instructions executable by a processor of a computing device, wherein execution of the instructions configures the computing device to:
obtain a point cloud of a support structure supporting an object; obtain a position of a back of the support structure in the point cloud; discard a portion of the point cloud based on the position of the back of the support structure; generate a three-dimensional occupancy grid from the point cloud, the occupancy grid having a plurality of cells each indicating whether the cell is one of occupied and unoccupied; identify a contiguous region of occupied cells in the occupancy grid corresponding to the object; and generate a detected object position based on the contiguous region.
20 . The non-transitory computer-readable medium of claim 19 , wherein the detected object positions comprises a bounding box.Join the waitlist — get patent alerts
Track US2021272316A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.