| CPC G06F 30/20 (2020.01) [G06F 30/13 (2020.01); G06T 7/12 (2017.01); G06T 7/13 (2017.01); G06T 7/60 (2013.01); G06T 7/73 (2017.01); G06T 15/60 (2013.01); G06T 17/05 (2013.01); G06T 17/10 (2013.01); G06T 17/20 (2013.01); G06V 10/44 (2022.01); G06V 10/82 (2022.01); G06V 20/17 (2022.01); G06V 20/176 (2022.01); G06F 2119/12 (2020.01); G06T 2200/08 (2013.01); G06T 2207/10012 (2013.01); G06T 2207/10028 (2013.01); G06T 2207/10032 (2013.01); G06T 2207/20084 (2013.01); G06T 2210/56 (2013.01)] | 20 Claims |

|
1. A system to generate a model, comprising:
a network interface to couple to one or more client computing devices over a communication network;
memory to store one or more of imagery, point cloud data, and computer-readable instructions that when executed by a processor cause the system to perform operations; and
one or more processors to execute the computer-readable instructions to cause the system to perform operations to:
identify, within a point cloud for a definable space, perimeter points of a plurality of top surfaces of an object of interest in the definable space, based on imagery of the definable space, wherein the perimeter points are points of the point cloud;
determine a perimeter of each top surface of the plurality of top surfaces;
determine a two-dimensional (2D) face of each top surface of the plurality of top surfaces;
determine a three-dimensional (3D) plane of each top surface of the plurality of top surfaces;
generate a representation of each top surface of the plurality of top surfaces, based on the corresponding perimeter points, perimeter, two-dimensional face, and three-dimensional plane; and
join the representations of the plurality of top surfaces to create a three-dimensional (3D) model of at least a portion of the object.
|