Creating a three-dimensional model from two-dimensional images
AssigneePoint Cloud, Inc.
InventorsThomas B. Myers, Robert Bodor
Life of this patent
Estimating the term…
Abstract
A method is provided in which three-dimensional models are created from a number of two-dimensional images, e.g., a video stream of two-dimensional images or still images, using a single camera without prior knowledge of the position or orientation of the camera, its focal length, etc. The method derives a relative value related to the position or orientation of the camera for each two-dimensional image and then, based on the derived position or orientation, uses “ray casting” to develop the three-dimensional model based on intersecting rays through common features of sequential two-dimensional images.
Claims46
A method for creating a three-dimensional model of an object, the method comprising:
- receiving a number of two-dimensional images of the object;
- tracking the location of a plurality of features through the two-dimensional images;
- storing the locations for the plurality of features;
- deriving a value related to a camera position or orientation for each of the two-dimensional images from the stored locations for the plurality of features;
- and
- for each of the plurality of features, processing a plurality of pairs of two-dimensional images to create a point cloud model, the processing including:
- casting a ray through each pixel in the feature in each of first and second two-dimensional images of a pair of two-dimensional images based on the value relative to the camera position or orientation and the pixel location in each of the first and second two-dimensional images,
- determining the intersections of the rays of the first two-dimensional image with the rays of the second two-dimensional image,
- creating a voxel for a three-dimensional point cloud model at each intersection, and
- converting the point cloud to a polygon-based format.
A method for creating a three-dimensional model of an object, the method comprising:
- receiving a number two-dimensional images of the object;
- tracking the locations of a plurality of features through the two-dimensional images;
- deriving a value related to a three-dimensional camera position or orientation for each two-dimensional image from the locations for the plurality of features;
- creating a plurality of voxels to define the three-dimensional model based on intersections of a plurality of rays that are cast through the pixels of each two-dimensional image using the value related to the three-dimensional camera position or orientation and the feature locations;
- and
- converting the point cloud to a polygon-based format.
A computer-readable medium encoded with a computer program for execution by a processor to perform a method comprising:
- receiving a number of two-dimensional images of an object;
- tracking the locations of a plurality of features through the two-dimensional images;
- deriving a value related to a three-dimensional camera position or orientation for each two-dimensional image from the locations for the plurality of features;
- creating a plurality of voxels to define the three-dimensional model based on intersections of a plurality of rays that are cast through the pixels of each two-dimensional image using the value related to the three-dimensional camera position or orientation and the feature locations;
- and
- converting the point cloud to a polygon-based format.
A system for automatically generating a three-dimensional model from a number of two-dimensional images of an object, the system comprising:
- a source of two-dimensional images;
- and
- a programmed computer, coupled to the source of two-dimensional images, the programmed computer including a storage medium with program code stored thereon for performing the method comprising:
- receiving a number of two-dimensional images of the object;
- tracking the locations of a plurality of features through the number of two-dimensional images;
- deriving a value related to a three-dimensional camera position or orientation for each two-dimensional image from the location for the plurality of features;
- creating a plurality of voxels to define the three-dimensional model based on intersections of a plurality of rays that are cast through the pixels of each two-dimensional image using the value related to the three-dimensional camera position or orientation and the feature locations;
- and
- converting the point cloud to a polygon-based format.
Dependencies are inferred from the claim text.