GENERATING COMPUTER MODELS OF 3D OBJECTS
First Claim
1. A computer-implemented method of generating a 3D model of an object, comprising:
- creating a three-dimensional volume in a memory device for storing the model, the volume comprising a plurality of voxels;
receiving a depth image from a substantially static depth camera, the depth image comprising a depth value at each image element relating to a distance from the depth camera to a scene comprising the object;
selecting and removing one or more image elements determined to relate to an unwanted portion of the scene to leave a wanted portion of the depth image comprising the object;
tracking the position and orientation of at least a portion of the object in the wanted portion of the depth image by computing registration parameters, the registration parameters being parameters of a transformation for aligning the wanted portion of the depth image and a preceding depth image; and
integrating the wanted portion of the depth image into the volume by, for each voxel;
using the position and orientation to determine a corresponding location in the depth image for the voxel, determining a factor relating to the distance between the voxel and the depth value at the corresponding location, and updating a stored value at the voxel using the factor.
2 Assignments
0 Petitions
Accused Products
Abstract
Generating computer models of 3D objects is described. In one example, depth images of an object captured by a substantially static depth camera are used to generate the model, which is stored in a memory device in a three-dimensional volume. Portions of the depth image determined to relate to the background are removed to leave a foreground depth image. The position and orientation of the object in the foreground depth image is tracked by comparison to a preceding depth image, and the foreground depth image is integrated into the volume by using the position and orientation to determine where to add data derived from the foreground depth image into the volume. In examples, the object is hand-rotated by a user before the depth camera. Hands that occlude the object are integrated out of the model as they do not move in sync with the object due to re-gripping.
-
Citations
20 Claims
-
1. A computer-implemented method of generating a 3D model of an object, comprising:
-
creating a three-dimensional volume in a memory device for storing the model, the volume comprising a plurality of voxels; receiving a depth image from a substantially static depth camera, the depth image comprising a depth value at each image element relating to a distance from the depth camera to a scene comprising the object; selecting and removing one or more image elements determined to relate to an unwanted portion of the scene to leave a wanted portion of the depth image comprising the object; tracking the position and orientation of at least a portion of the object in the wanted portion of the depth image by computing registration parameters, the registration parameters being parameters of a transformation for aligning the wanted portion of the depth image and a preceding depth image; and integrating the wanted portion of the depth image into the volume by, for each voxel;
using the position and orientation to determine a corresponding location in the depth image for the voxel, determining a factor relating to the distance between the voxel and the depth value at the corresponding location, and updating a stored value at the voxel using the factor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A 3D object scanning system, comprising:
-
an input interface arranged to receive a depth image from a substantially static depth camera, the depth image comprising a depth value at each image element relating to a distance from the depth camera to a scene comprising the object; a memory device; and at least one processor arranged to;
create a three-dimensional volume in the memory device for storing a scanned model of the object the volume comprising a plurality of voxels;
select and remove one or more image elements determined to relate to an unwanted portion of the scene to leave a wanted portion of the depth image comprising the object;
track the position and orientation of at least a portion of the object in the wanted portion of the depth image by computing registration parameters, the registration parameters being parameters of a transformation for aligning the wanted portion of the depth image and a preceding depth image; and
integrate the wanted portion of the depth image into the volume by using the position and orientation to determine a corresponding location in the depth image for each voxel, determining a factor relating to the distance between each voxel and the depth value at its corresponding location, and updating a stored value at each voxel using the factor. - View Dependent Claims (18, 19)
-
-
20. One or more tangible device-readable media with device-executable instructions that, when executed by a processor, direct the processor to perform steps comprising:
-
creating a three-dimensional volume in a memory device for storing a 3D model of a real-world object, the volume comprising a plurality of voxels; receiving a depth image from a substantially static depth camera, the depth image comprising a depth value at each pixel relating to a distance from the depth camera to a point in a scene comprising the object; selecting and removing pixels from the depth image that relate to points in the scene that are outside a predefined three-dimensional region within the depth camera frustum to leave a foreground depth image; tracking the position and orientation of at least a portion of the object in the foreground depth image by computing registration parameters, the registration parameters being parameters of a transformation for aligning the foreground depth image and a preceding depth image; integrating the foreground depth image into the volume by, for each voxel;
using the position and orientation to determine a corresponding location in the depth image for the voxel, determining a factor relating to the distance between the voxel and the depth value at the corresponding location, and updating a stored value at the voxel using the factor; andrendering an image of the model in substantially real-time for display on a display device using ray-casting from the volume.
-
Specification