Method and computing device for enhanced depth sensor coverage
A method in a computing device includes: obtaining (i) a point cloud having captured points depicting a plurality of surfaces of a target object, and (ii) an image depicting the plurality of surfaces of the target object; determining, from the point cloud, respective planes corresponding to each of the plurality of surfaces; determining, from the image, respective boundaries of each of the plurality of surfaces; for each of the plurality of surfaces, generating synthetic points, at least some of the synthetic points having positions different from positions of the captured points in the point cloud, the positions of the synthetic points disposed on a corresponding plane of the target object and within a corresponding surface boundary; and providing an enhanced point cloud including (i) at least a portion of the captured points, and (ii) the synthetic points.
1 . A method in a computing device, the method comprising:
obtaining (i) a point cloud having captured points depicting a plurality of surfaces of a target object, and (ii) an image depicting the plurality of surfaces of the target object;
determining, from the point cloud, respective planes corresponding to each of the plurality of surfaces;
determining respective boundaries of each of the plurality of surfaces, including determining intersections of the planes corresponding to each of the plurality of surfaces based on the point cloud, determining respective edges corresponding to each of the plurality of surfaces based on the image, and determining whether each of the intersections and the respective edges are within a threshold distance;
for each of the plurality of surfaces, generating synthetic points, at least some of the synthetic points having positions different from positions of the captured points in the point cloud, the positions of the synthetic points disposed on a corresponding plane of the target object and within a corresponding surface boundary; and
providing an enhanced point cloud including (i) at least a portion of the captured points, and (ii) the synthetic points.
2 . The method of claim 1 , wherein capturing the point cloud and the image includes controlling a time-of-flight sensor to capture the point cloud and the image.
3 . The method of claim 2 , wherein the image has a greater resolution than the point cloud.
4 . The method of claim 1 , wherein detecting the boundaries of each surface includes:
detecting a first subset of the boundaries from the image; and
determining respective positions of the first subset from the point cloud.
5 . The method of claim 4 , wherein detecting the boundaries of each surface includes: determining positions of a second subset of the boundaries based on intersections between the planes corresponding to the surfaces.
6 . The method of claim 4 , wherein the first subset of the boundaries include boundaries at which the planes do not intersect.
7 . The method of claim 1 , further comprising: generating dimensions for the target object based on the enhanced point cloud.
8 . The method of claim 1 , wherein generating the synthetic points includes generating the synthetic points according to a random distribution.
9 . The method of claim 1 , further comprising:
selecting a portion of the captured point cloud adjacent to a transition between distinct surfaces; and
discarding the portion of the captured point cloud.
10 . The method of claim 9 , wherein the portion of the captured point cloud is within a threshold distance of the transition.
11 . A computing device comprising:
a processor configured to:
obtain (i) a point cloud having captured points depicting a plurality of surfaces of a target object, and (ii) an image depicting the plurality of surfaces of the target object; and
determine, from the point cloud, respective planes corresponding to each of the plurality of surfaces;
determine respective boundaries of each of the plurality of surfaces, including determining intersections of the planes corresponding to each of the plurality of surfaces based on the point cloud, determining respective edges corresponding to each of the plurality of surfaces based on the image, and determining whether each of the intersections and the respective edges are within a threshold distance;
for each of the plurality of surfaces, generate synthetic points, at least some of the synthetic points having positions different from positions of the captured points in the point cloud, the positions of the synthetic points disposed on a corresponding plane of the target object and within a corresponding surface boundary; and
provide an enhanced point cloud including (i) at least a portion of the captured points, and (ii) the synthetic points.
12 . The computing device of claim 11 , wherein the computing device further comprises:
a sensor configured to capture the point cloud and the image.
13 . The computing device of claim 12 , wherein the image has a greater resolution than the point cloud.
14 . The computing device of claim 11 , wherein the processor is configured to detect the boundaries of each surface by:
detecting a first subset of the boundaries from the image; and
determining respective positions of the first subset from the point cloud.
15 . The computing device of claim 14 , wherein the processor is configured to detect the boundaries of each surface by:
determining positions of a second subset of the boundaries based on intersections between the planes corresponding to the surfaces.
16 . The computing device of claim 14 , wherein the first subset of the boundaries include boundaries at which the planes do not intersect.
17 . The computing device of claim 11 , wherein the processor is further configured to:
generate dimensions for the target object based on the enhanced point cloud.
18 . The computing device of claim 11 , wherein the processor is configured to generate the synthetic points by generating the synthetic points according to a random distribution.
19 . The computing device of claim 11 , wherein the processor is further configured to: select a portion of the captured point cloud adjacent to a transition between distinct surfaces; and discard the portion of the captured point cloud.
20 . The computing device of claim 19 , wherein the portion of the captured point cloud is within a threshold distance of the transition.