| CPC G06T 7/62 (2017.01) [G06F 3/017 (2013.01); G06F 3/04815 (2013.01); G06F 3/04845 (2013.01); G06F 3/0488 (2013.01); G06F 3/167 (2013.01); G06K 7/1408 (2013.01); G06T 7/593 (2017.01); G06T 19/006 (2013.01); H04N 5/44504 (2013.01); H04N 23/45 (2023.01); G06T 2200/04 (2013.01); G06T 2200/08 (2013.01)] | 18 Claims |

|
1. A volume dimensioning system, comprising:
an image sensor configured to capture imaging data associated with a target object positioned on a surface, the imaging data comprising a sequence of frames, each frame comprising a depth map with two-dimensional (2D) pixel coordinates and a plurality of depth values; and
one or more processors in communication with the image sensor, the one or more processors configured to:
identify an origin point within the plurality of depth values; wherein the origin point is associated with a top corner of the target object; wherein the origin point is a local minimum of the depth values within a cursor of the imaging data; wherein the one or more processors are configured to examine the depth values for the local minimum to identify the origin point;
crawl from the origin point along a first edge to a first corner, along a second edge to a second corner, and along a third edge to a third corner of the target object to detect the first edge, the first corner, the second edge, the second corner, the third edge, and the third corner;
deproject the depth map into three-dimensional (3D) points;
construct a first edge vector representing the first edge from the origin point to the first corner, a second edge vector representing the second edge from the origin point to the second corner point, and a third edge vector representing the third edge from the origin point to the third corner point using the 3D points;
determine the target object is a cuboid by examining a first angle between the first edge vector and the second edge vector, a second angle between the first edge vector and the third edge vector, and a third angle between the second edge vector and the third edge vector;
and
estimate a first distance of the first edge using the first edge vector, a second distance of the second edge using the second edge vector, and a third distance of the third edge using the third edge vector.
|