Claims
- 1. A method for constructing a 3D model of an object comprising the steps of:
a. capturing a series of photographic images of an object using a camera having a planar image collector, where the step of capturing images collects the images of the object from a plurality of different angles, where the angle associated with each image is determined from a pre-selected reference point in three-dimensional space and where from that associated angle it is possible to determine the location in three-dimensional space of the plane of the image collection; b. processing each photographic image to identify clusters of pixels in the image that describe the object; c. tracing the perimeter of each cluster of the pixels in the image that describe the object to gather a set of pixels which describe the a silhouette contour of the object's shape, and thereby create a set of silhouette contours; d. processing the points of the silhouette contours to select from those points the vertices of a polygon which approximates the silhouette contour of the object's shape, and thereby create a set of silhouette contour polygons; e. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the three-dimensional model being formed by making a conical projection from one of the set of silhouette contour polygons, creating along the bounds of the conical projection a near and far face for the object model, with the near and far faces each representing a projection of the vertices of the silhouette contour polygon in three-dimensional space, and creating additional faces to span volume between the points of the near and far faces based on pairs of adjacent vertices in the near and far faces; and f. refining the initial three-dimensional model of the object by selecting the silhouette contour polygons for a given image, projecting each face of the initial three-dimensional model of the object onto the two-dimensional plane of image collection for given image and revising the set of vertices of the projected face so that it bounds an the space which falls with the boundaries of the silhouette contour polygons for the given image and creating a set of three dimensional coordinates for each of the vertices of the revised set of vertices.
- 2. A method for constructing a 3D model of an object from a series of photographic images of the object, where the series of photographic images have been captured from a plurality of different angles, where the angle associated with each image is determined from a pre-selected reference point in three-dimensional space and where the image is comprised of a plurality of pixels, the method comprising the steps of:
a. processing each photographic image to identify clusters of pixels in the image that describe the object; b. tracing the perimeter of each cluster of the pixels in the image that describe the object to gather a set of pixels which describe the a silhouette contour of the object's shape, and thereby create a set of silhouette contours; c. processing the points of the silhouette contours to select from those points the vertices of a polygon which approximates the silhouette contour of the object's shape, and thereby create a set of silhouette contour polygons; d. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the three-dimensional model being formed by making a conical projection from one of the set of silhouette contour polygons, creating along the bounds of the conical projection a near and far face for the object model, with the near and far faces each representing a projection of the vertices of the silhouette contour polygon in three-dimensional space, and creating additional faces to span volume between the points of the near and far faces based on pairs of adjacent vertices in the near and far faces; and e. refining the initial three-dimensional model of the object by selecting the silhouette contour polygons for a given image, projecting each face of the initial three-dimensional model of the object onto the two-dimensional plane of image collection for given image and revising the set of vertices of the projected face so that it bounds an the space which falls with the boundaries of the silhouette contour polygons for the given image and creating a set of three dimensional coordinates for each of the vertices of the revised set of vertices.
- 3. A method for constructing a 3D model of an object from a series of photographic images of the object, where the series of photographic images have been captured from a plurality of different angles about the object, where the angle associated with each image is determined from a pre-selected reference point in three-dimensional space and where the image is comprised of a plurality of pixels, the method comprising the steps of:
a. processing each photographic image to identify those clusters of pixels in the image that describe the object; b. processing those clusters of pixels which describe the object and select from those points the vertices of a polygon which approximates a silhouette contour describing the object's shape, and thereby creating a set of silhouette contour polygons; c. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; and d. refining the initial three-dimensional model of the object by selecting the silhouette contour polygons for a given image, projecting each face of the initial three-dimensional model of the object onto the two-dimensional plane of image collection for given image and revising the set of vertices of the projected face so that it bounds an the space which falls with the boundaries of the silhouette contour polygons for the given image and creating a set of three dimensional coordinates for each of the vertices of the revised set of vertices.
- 4. A method for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the method comprising the steps of:
a. processing the plurality of contours which describe the object and selecting from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; and c. refining the initial three-dimensional model of the object by projecting each face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of one of the two-dimensional contours and revising the set of vertices of the projected face so that it bounds the space which falls with the boundaries of the projected silhouette contour.
- 5. A method for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the method comprising the steps of:
a. processing the plurality of contours which describe the object and selecting from the pixels of each contour the vertices of a polygon which approximates that contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. projecting a face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of at least one of the silhouette contour polygons that has not been used to create the initial three-dimensional model; d. locating amongst the edges formed by the vertices of one of the projected faces an edge that intersects one of the edges of the at least one of the silhouette contour polygons; e. determining a three-dimensional coordinate for the point of intersection based on the three-dimensional coordinates of the projected edge from the face that was intersected; f. placing a reference to the three-dimensional coordinates for the point of intersection onto a revised list of coordinates for the face; g. following from the point of intersection the vertices of the projected face until reaching a second point of intersection, this step of following the vertices including the step of placing on the revised list of coordinates for the face a reference the three-dimensional point which corresponds to each projected vertex of the face; h. determining a three-dimensional coordinate for the second point of intersection based on the three-dimensional coordinates of the projected edge from the face that was intersected; i. placing a reference to the three-dimensional coordinates for the second point of intersection onto a revised list of coordinates for the face; and j. following from the second point of intersection the vertices of the projected silhouette contour polygon until reaching a third point of intersection, this step of following the vertices of the silhouette contour polygon including the step of generating a three-dimensional coordinate for each vertex of the silhouette contour polygon encountered and placing a reference to each such coordinate on the revised list of coordinates for the face.
- 6. A method for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the method comprising the steps of:
a. processing the plurality of contours which describe the object and selecting from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. projecting a face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of at least one of the silhouette contour polygons that has not been used to create the initial three-dimensional model; d. locating amongst the edges formed by the vertices of one of the projected faces an edge that intersects one of the edges of the at least one of the silhouette contour polygons; e. commencing a tour from the point of intersection by following from the point of intersection the vertices of the projected face which lie inside the bounds of the intersected silhouette contour polygon until reaching a second point of intersection between an edge of the projected face and the at least on of the silhouette contour polygons; f. following from the second point of intersection the vertices of the projected silhouette contour polygon until reaching a third point of intersection between an edge of the silhouette contour polygon and an edge of the projected face; and g. storing on a revised list of vertices for the projected face a list of three-dimensional coordinates that correspond to each of the points visited on the tour of vertices.
- 7. A method for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the method comprising the steps of:
a. processing the plurality of contours which describe the object and selecting from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. projecting a face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of at least one of the silhouette contour polygons that has not been used to create the initial three-dimensional model; d. following those vertices of the projected face that lie within the boundary of the projected silhouette contour polygon until reaching a point of intersection, this step of following the vertices of the projected face including the step of placing on a revised list of coordinates for the face a reference the three-dimensional point which corresponds to each projected vertex of the face; e. determining a three-dimensional coordinate for the point of intersection based on the three-dimensional coordinates of the projected edge from the face that was intersected; f. placing a reference to the three-dimensional coordinates for the second point of intersection onto a revised list of coordinates for the face; g. placing a reference to the three-dimensional coordinate for the point of intersection onto a point pair list that is associated with the edge of the silhouette contour polygon that is intersected; h. obtaining that end point of the intersected edge of the silhouette contour polygon which lies inside of the bounds of the intersected face; i. determining a three-dimensional coordinate for the end point of the silhouette contour polygon based on the three-dimensional coordinates of the face that was intersected; j. placing a reference to the three-dimensional coordinates for the end point of the silhouette contour polygon onto a revised list of coordinates for the face; k. placing a reference to the three-dimensional coordinate for the end point of the silhouette contour polygon onto a point pair list that is associated with the edge of the silhouette contour polygon that is intersected; and l. creating a new face for the 3D model of the object using the points referenced in the point pair list.
- 8. A method for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the method comprising the steps of:
a. processing the plurality of contours which describe the object and selecting from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. projecting a face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of at least one of the silhouette contour polygons that has not been used to create the initial three-dimensional model; d. locating amongst the edges formed by the vertices of one of the projected faces an edge that intersects one of the edges of the projected silhouette contour; e. commencing a tour that follows from the point of intersection the vertices of the projected silhouette contour polygon until reaching a second point of intersection between an edge of the silhouette contour polygon and an edge of the projected face; f. storing on a revised list of vertices for the projected face a list of three-dimensional coordinates that correspond to each of the points visited on the tour of vertices; g. storing on a list associated with each edge of the silhouette contour polygon being toured a reference to the three-dimensional coordinate for the beginning and ending points of each portion of each edge of the silhouette contour polygon that is visited on the tour of vertices; and h. creating a new face for the 3D model of the object using the points referenced in the point pair list.
- 9. A method for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the method comprising the steps of:
a. processing the plurality of contours which describe the object and select from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. refining the initial three-dimensional model of the object by projecting each face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of one of the two-dimensional contours and revising the set of vertices of the projected face so that it bounds the space which falls with the boundaries of the projected silhouette contour; and d. creating a triangulated mesh model from the refined three-dimensional model of the object.
- 10. A method for constructing a 3D model of an object from a series of photographic images of the object, where the series of photographic images have been captured from a plurality of different angles, where the angle associated image is determined from a pre-selected reference point in three-dimensional space and where the image is comprised of a plurality of pixels, the method comprising the steps of:
a. processing each photographic image to identify those clusters of pixels in the image that describe the object; b. tracing the perimeter of each cluster of the pixels in the image that describe the object to gather a set of pixels which describe the a silhouette contour of the object's shape, and thereby create a set of silhouette contours; c. processing the points of the silhouette contours to select from those points the vertices of a polygon which approximates the silhouette contour of the object's shape, and thereby create a set of silhouette contour polygons; d. creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the three-dimensional model being formed by making a conical projection from one of the set of silhouette contour polygons, creating along the bounds of the conical projection a near and far face for the object model, with the near and far faces each representing a projection of the vertices of the silhouette contour polygon in three-dimensional space, and creating additional faces to span volume between the points of the near and far faces based on pairs of adjacent vertices in the near and far faces; and e. refining the initial three-dimensional model of the object by selecting the silhouette contour polygons for a given image, projecting each face of the initial three-dimensional model of the object onto the two-dimensional plane of image collection for given image and revising the set of vertices of the projected face so that it bounds an the space which falls with the boundaries of the silhouette contour polygons for the given image and creating a set of three dimensional coordinates for each of the vertices of the revised set of vertices.
- 11. A method for capturing two-dimensional images that are used for the creation of a three-dimensional model of an object, the method comprising the steps of:
a. capturing a plurality of images of the object under lighting conditions in which the image is backlit such that the background is lit and the object is not lit; b. capturing a plurality of images under lighting conditions in which the image is front lit; and c. capturing a plurality of images of the background, where the background has been removed from the object.
- 12. A method for processing two-dimensional images when creating a three-dimensional model of an object, the method comprising the steps of:
a. capturing a plurality of images of the object under lighting conditions in which the image is backlit such that the background in the image is lit and the object is not lit, the images comprising a set of pixel data with each pixel containing a light intensity value which describes the image; b. capturing an image of the background under the backlighting conditions where the object has been removed before capturing the image, the image comprising a set pixel data with each pixel containing a light intensity value which describes the image; c. examining each of the light intensity values of each pixel in the image of the background and building a histogram which groups light intensity values within the image of the background into distribution categories; d. creating a mask to identify those pixels within the image of the background which fall into the distribution category that has the most pixels, the mask keeping unmasked those pixels which fall into that distribution category and keeping masked those pixels which do not fall into that distribution category; e. selecting one image from the plurality of images of the object; f. examining each of the light intensity values of each pixel in the selected image of the object and building a histogram which groups light intensity values within the image of the background into distribution categories; g. creating a mask to identify those pixels within the image of the object which fall into the distribution category of those pixels that have the lowest light intensity values, the mask keeping unmasked those pixels which fall into that distribution category and keeping masked those pixels which do not fall into that distribution category; h. matching the unmasked pixels in the first mask to corresponding unmasked pixels in the second mask and where corresponding matches can be found using the light intensity values of each such pixel pair to solve for a scaling coefficient and an offset coefficient; and i. using the coefficients to process the remaining silhouette images and identifying within those images those pixels which describe the object.
- 13. A method for identifying a silhouette contour of an object that is depicted within an image, the image comprised of a plurality of pixels with each pixel containing a light intensity value that describes either the object or a background, the silhouette contour of the object comprised of a group of pixels which describe one contour of the object's shape, the method comprising the steps of:
a. identifying within the image a set of pixels which describe the object by comparing the light intensity value of the pixels of the image against the light intensity values of a second image which depicts the background but not the object; b. locating one pixel which does not describe the object; c. moving sequentially through the light intensity values of the pixels of the image to locate a first pixel which describes the object, that pixel being a first pixel in a cluster of pixels which describe the object; and d. identifying from the point of said first pixel those other pixels of the cluster which lie on the perimeter of the cluster.
- 14. A method for identifying a contour of an object depicted in an image, the image comprised of a plurality of pixels with each pixel containing a light intensity value that describes either the object or a background, the silhouette contour of the object comprised of a group of pixels which describe one contour of the object's shape, the method comprising the steps of:
a. identifying within the image a set of pixels which describe the object by comparing the light intensity value of the pixels of the image against the light intensity values of a second image which depicts the background but not the object; b. locating one pixel which does not describe the object; c. moving sequentially through the values of the pixels of the image to locate a first pixel which describes the object that pixel being a first pixel in a cluster of pixels which describe the object; and d. identifying from the point of said first pixel those other pixels of the cluster which lie on the perimeter of the cluster.
- 15. A method for creating a polygonally shaped silhouette contour of an object depicted in an image, the image comprised of a plurality of pixels with each pixel containing a light intensity value that describes either the object or a background, the polygonally-shaped silhouette contour of the object comprising the vertices of a polygon shape which describe one contour of the object, the method comprising the steps of:
a. identifying within the image a set of pixels which describe the object by comparing the light intensity value of the pixels of the image against the light intensity values of a second image in which is depicted the background but not the object; b. locating a first pixel which describes the object that pixel being a pixel on the perimeter of a cluster of pixels which describe the object; c. identifying from the point of said first pixel those other pixels of the cluster which lie on the perimeter of the cluster; d. storing a list of those pixels which lie on the perimeter of the cluster; c. selecting from the list of pixels which lie on the perimeter of the cluster a set of pixels such that the edges of a polygon made from those pixels deviates by no more than a predetermined distance epsilon from the set of pixels which make up said perimeter of the cluster; and f. storing the selected set of pixels as the vertices of the silhouette contour polygon.
- 16. A method for constructing a 3D model of an object from a series of photographic images of the object, where the series of photographic images have been captured from a plurality of different angles, where the angle associated image is determined from a pre-selected reference point in three-dimensional space and where the image is comprised of a plurality of pixels, the method comprising the steps of:
a. capturing a first plurality of images of the object under lighting conditions in which the image is backlit such that the background is lit and the object is not lit; b. capturing a second plurality of images under lighting conditions in which the image is front lit; and c. processing the first plurality of images locate within each image a set of vertices which describe the contours of the object and constructing from those vertices a three dimensional model of the object, the three dimensional model being comprised of a set of polygonal faces; d. processing each face of the polygon to locate each of the second plurality of images that portion of the image which corresponds to the face of the model; e. determining a value for the area of that portion of each image which corresponds to the face of the model; and f. associating with the face the one image from the second plurality of images which has the largest area value.
- 17. A system for constructing a 3D model of an object the system comprising:
a. an image capturing module for capturing a series of photographic images of an object using a camera having a planar image collector, where the step of capturing images collects the images of the object from a plurality of different angles, where the angle associated with each image is determined from a pre-selected reference point in three-dimensional space and where from that associated angle it is possible to determine the location in three-dimensional space of the plane of the image collection; b. a cluster identification module for processing each photographic image to identify clusters of pixels in the image that describe the object; c. a silhouette contour tracing module for tracing the perimeter of each cluster of the pixels in the image that describe the object to gather a set of pixels which describe the a silhouette contour of the object's shape, and thereby create a set of silhouette contours; d. a polygon shape determination module for processing the points of the silhouette contours to select from those points the vertices of a polygon which approximates the silhouette contour of the object's shape, and thereby create a set of silhouette contour polygons; e. an initial 3D model building module for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the three-dimensional model being formed by making a conical projection from one of the set of silhouette contour polygons, creating along the bounds of the conical projection a near and far face for the object model, with the near and far faces each representing a projection of the vertices of the silhouette contour polygon in three-dimensional space, and creating additional faces to span volume between the points of the near and far faces based on pairs of adjacent vertices in the near and far faces; and f. a refining module for refining the initial three-dimensional model of the object by selecting the silhouette contour polygons for a given image, projecting each face of the initial three-dimensional model of the object onto the two-dimensional plane of image collection for given image and revising the set of vertices of the projected face so that it bounds an the space which falls with the boundaries of the silhouette contour polygons for the given image and creating a set of three dimensional coordinates for each of the vertices of the revised set of vertices.
- 18. A computer-based system for constructing a 3D model of an object from a series of photographic images of the object, where the series of photographic images have been captured from a plurality of different angles, where the angle associated with each image is determined from a pre-selected reference point in three-dimensional space and where the image is comprised of a plurality of pixels, the system comprising:
a. a computer module for processing each photographic image to identify clusters of pixels in the image that describe the object; b. a computer module for tracing the perimeter of each cluster of the pixels in the image that describe the object to gather a set of pixels which describe the a silhouette contour of the object's shape, and thereby create a set of silhouette contours; c. a computer module for processing the points of the silhouette contours to select from those points the vertices of a polygon which approximates the silhouette contour of the object's shape, and thereby create a set of silhouette contour polygons; d. a computer module for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the three-dimensional model being formed by making a conical projection from one of the set of silhouette contour polygons, creating along the bounds of the conical projection a near and far face for the object model, with the near and far faces each representing a projection of the vertices of the silhouette contour polygon in three-dimensional space, and creating additional faces to span volume between the points of the near and far faces based on pairs of adjacent vertices in the near and far faces; and e. a computer module for refining the initial three-dimensional model of the object by selecting the silhouette contour polygons for a given image, projecting each face of the initial three-dimensional model of the object onto the two-dimensional plane of image collection for given image and revising the set of vertices of the projected face so that it bounds an the space which falls with the boundaries of the silhouette contour polygons for the given image and creating a set of three dimensional coordinates for each of the vertices of the revised set of vertices.
- 19. A system for constructing a 3D model of an object from a series of photographic images of the object, where the series of photographic images have been captured from a plurality of different angles about the object, where the angle associated with each image is determined from a pre-selected reference point in three-dimensional space and where the image is comprised of a plurality of pixels, the system comprising:
a. a cluster identification module for processing each photographic image to identify those clusters of pixels in the image that describe the object; b. a polygon shape determination module for processing those clusters of pixels which describe the object and select from those points the vertices of a polygon which approximates a silhouette contour describing the object's shape, and thereby creating a set of silhouette contour polygons; c. an initial model generating module for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; and d. a refining module for refining the initial three-dimensional model of the object by selecting the silhouette contour polygons for a given image, projecting each face of the initial three-dimensional model of the object onto the two-dimensional plane of image collection for given image and revising the set of vertices of the projected face so that it bounds an the space which falls with the boundaries of the silhouette contour polygons for the given image and creating a set of three dimensional coordinates for each of the vertices of the revised set of vertices.
- 20. A computer-based system for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the system comprising:
a. a computer module for processing the plurality of contours which describe the object and selecting from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. a computer module for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; and c. a computer module for refining the initial three-dimensional model of the object by projecting each face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of one of the two-dimensional contours and revising the set of vertices of the projected face so that it bounds the space which falls with the boundaries of the projected silhouette contour.
- 21. A computer-based system for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the system comprising:
a. a computer software component for processing the plurality of contours which describe the object and selecting from the pixels of each contour the vertices of a polygon which approximates that contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. a computer software for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. a computer software component for projecting a face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of at least one of the silhouette contour polygons that has not been used to create the initial three-dimensional model; d. a computer software component for locating amongst the edges formed by the vertices of one of the projected faces an edge that intersects one of the edges of the at least one of the silhouette contour polygons; e. a computer software component for determining a three-dimensional coordinate for the point of intersection based on the three-dimensional coordinates of the projected edge from the face that was intersected; f. a computer software component for placing a reference to the three-dimensional coordinates for the point of intersection onto a revised list of coordinates for the face; g. a computer software component for following from the point of intersection the vertices of the projected face until reaching a second point of intersection, this step of following the vertices including the step of placing on the revised list of coordinates for the face a reference the three-dimensional point which corresponds to each projected vertex of the face; h. a computer software component for determining a three-dimensional coordinate for the second point of intersection based on the three-dimensional coordinates of the projected edge from the face that was intersected; i. a computer software component for placing a reference to the three-dimensional coordinates for the second point of intersection onto a revised list of coordinates for the face; and j. a computer software component for following from the second point of intersection the vertices of the projected silhouette contour polygon until reaching a third point of intersection, this step of following the vertices of the silhouette contour polygon including the step of generating a three-dimensional coordinate for each vertex of the silhouette contour polygon encountered and placing a reference to each such coordinate on the revised list of coordinates for the face.
- 22. A computer-based system for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the system comprising:
a. a silhouette contour extraction module for processing the plurality of contours which describe the object and selecting from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. an initial three-dimensional model building module for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. a refining module comprised for projecting a face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of at least one of the silhouette contour polygons that has not been used to create the initial three-dimensional model; d. the refining module further comprised for locating amongst the edges formed by the vertices of one of the projected faces an edge that intersects one of the edges of the at least one of the silhouette contour polygons; e. the refining module further comprised for commencing a tour from the point of intersection by following from the point of intersection the vertices of the projected face which lie inside the bounds of the intersected silhouette contour polygon until reaching a second point of intersection between an edge of the projected face and the at least on of the silhouette contour polygons; f. the refining module further comprised for following from the second point of intersection the vertices of the projected silhouette contour polygon until reaching a third point of intersection between an edge of the silhouette contour polygon and an edge of the projected face; and g. the refining module further comprised for storing on a revised list of vertices for the projected face a list of three-dimensional coordinates that correspond to each of the points visited on the tour of vertices.
- 23. A computer-based system for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the system comprising:
a. a computer software component for processing the plurality of contours which describe the object and selecting from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. a computer software component for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. a computer software component for projecting a face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of at least one of the silhouette contour polygons that has not been used to create the initial three-dimensional model; d. a computer software component for following those vertices of the projected face that lie within the boundary of the projected silhouette contour polygon until reaching a point of intersection, this step of following the vertices of the projected face including the step of placing on a revised list of coordinates for the face a reference the three-dimensional point which corresponds to each projected vertex of the face; e. a computer software component for determining a three-dimensional coordinate for the point of intersection based on the three-dimensional coordinates of the projected edge from the face that was intersected; f. a computer software component for placing a reference to the three-dimensional coordinates for the second point of intersection onto a revised list of coordinates for the face; g. a computer software component for placing a reference to the three-dimensional coordinate for the point of intersection onto a point pair list that is associated with the edge of the silhouette contour polygon that is intersected; h. a computer software component for obtaining that end point of the intersected edge of the silhouette contour polygon which lies inside of the bounds of the intersected face; i. a computer software component for determining a three-dimensional coordinate for the end point of the silhouette contour polygon based on the three-dimensional coordinates of the face that was intersected; j. a computer software component for placing a reference to the three-dimensional coordinates for the end point of the silhouette contour polygon onto a revised list of coordinates for the face; k. a computer software component for placing a reference to the three-dimensional coordinate for the end point of the silhouette contour polygon onto a point pair list that is associated with the edge of the silhouette contour polygon that is intersected; and l. a computer software component for creating a new face for the 3D model of the object using the points referenced in the point pair list.
- 24. A computer system for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the system comprising:
a. a computer module for processing the plurality of contours which describe the object and selecting from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. a computer module for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. a computer module for projecting a face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of at least one of the silhouette contour polygons that has not been used to create the initial three-dimensional model; d. a computer module for locating amongst the edges formed by the vertices of one of the projected faces an edge that intersects one of the edges of the projected silhouette contour; e. a computer module for commencing a tour that follows from the point of intersection the vertices of the projected silhouette contour polygon until reaching a second point of intersection between an edge of the silhouette contour polygon and an edge of the projected face; f. a computer module for storing on a revised list of vertices for the projected face a list of three-dimensional coordinates that correspond to each of the points visited on the tour of vertices; g. a computer module for storing on a list associated with each edge of the silhouette contour polygon being toured a reference to the three-dimensional coordinate for the beginning and ending points of each portion of each edge of the silhouette contour polygon that is visited on the tour of vertices; and h. a computer module for creating a new face for the 3D model of the object using the points referenced in the point pair list.
- 25. A computer-based system for constructing a 3D model of an object from a plurality of two-dimensional contours comprised of pixels that describe the boundaries of the object, with each of the plurality of two-dimensional contours representing a view of the object from a different angle, where the angle associated with each contour being determined from a pre-selected reference point in three-dimensional space, the system comprising:
a. a computer module for processing the plurality of contours which describe the object and select from the points of each contour the vertices of a polygon which approximates a contour describing the object's shape, and thereby creating a set of silhouette contour polygons; b. a computer module for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the initial three-dimensional model of the object being comprised of a plurality of polygonal faces; c. a computer module for refining the initial three-dimensional model of the object by projecting each face of the initial three-dimensional model of the object onto a two-dimensional plane which also contains a projection of one of the two-dimensional contours and revising the set of vertices of the projected face so that it bounds the space which falls with the boundaries of the projected silhouette contour; and d. a computer module for creating a triangulated mesh model from the refined three-dimensional model of the object.
- 26. A system for constructing a 3D model of an object from a series of photographic images of the object, where the series of photographic images have been captured from a plurality of different angles, where the angle associated image is determined from a pre-selected reference point in three-dimensional space and where the image is comprised of a plurality of pixels, the system comprising:
a. means for processing each photographic image to identify those clusters of pixels in the image that describe the object; b. means for tracing the perimeter of each cluster of the pixels in the image that describe the object to gather a set of pixels which describe the a silhouette contour of the object's shape, and thereby create a set of silhouette contours; c. means for processing the points of the silhouette contours to select from those points the vertices of a polygon which approximates the silhouette contour of the object's shape, and thereby create a set of silhouette contour polygons; d. means for creating an initial three-dimensional model of the object using one of the silhouette contour polygons, the three-dimensional model being formed by making a conical projection from one of the set of silhouette contour polygons, creating along the bounds of the conical projection a near and far face for the object model, with the near and far faces each representing a projection of the vertices of the silhouette contour polygon in three-dimensional space, and creating additional faces to span volume between the points of the near and far faces based on pairs of adjacent vertices in the near and far faces; and e. means for refining the initial three-dimensional model of the object by selecting the silhouette contour polygons for a given image, projecting each face of the initial three-dimensional model of the object onto the two-dimensional plane of image collection for given image and revising the set of vertices of the projected face so that it bounds an the space which falls with the boundaries of the silhouette contour polygons for the given image and creating a set of three dimensional coordinates for each of the vertices of the revised set of vertices.
- 27. A computer-based system for capturing two-dimensional images that are used for the creation of a three-dimensional model of an object, the system comprising:
a. an image capturing module for capturing a plurality of images of the object under lighting conditions in which the image is backlit such that the background is lit and the object is not lit; b. the image capturing module further comprised for capturing a plurality of images under lighting conditions in which the image is front lit; and c. the image capturing module further comprised for capturing a plurality of images of the background, where the background has been removed from the object.
- 28. A computer-based system for processing two-dimensional images when creating a three-dimensional model of an object, the system comprising:
a. an image capturing component for capturing a plurality of images of the object under lighting conditions in which the image is backlit such that the background in the image is lit and the object is not lit, the images comprising a set of pixel data with each pixel containing a light intensity value which describes the image; b. a second image capturing component for capturing an image of the background under the backlighting conditions where the object has been removed before capturing the image, the image comprising a set pixel data with each pixel containing a light intensity value which describes the image; c. a computer processing module for examining each of the light intensity values of each pixel in the image of the background and building a histogram which groups light intensity values within the image of the background into distribution categories; d. a computer processing module for creating a mask to identify those pixels within the image of the background which fall into the distribution category that has the most pixels, the mask keeping unmasked those pixels which fall into that distribution category and keeping masked those pixels which do not fall into that distribution category; e. a computer processing module for selecting one image from the plurality of images of the object; f. a computer processing module for examining each of the light intensity values of each pixel in the selected image of the object and building a histogram which groups light intensity values within the image of the background into distribution categories; g. a computer processing module for creating a mask to identify those pixels within the image of the object which fall into the distribution category of those pixels that have the lowest light intensity values, the mask keeping unmasked those pixels which fall into that distribution category and keeping masked those pixels which do not fall into that distribution category; h. a computer processing module for matching the unmasked pixels in the first mask to corresponding unmasked pixels in the second mask and where corresponding matches can be found using the light intensity values of each such pixel pair to solve for a scaling coefficient and an offset coefficient; and i. a computer processing module for using the coefficients to process the remaining silhouette images and identifying within those images those pixels which describe the object.
- 29. A computer-based system for identifying a silhouette contour of an object that is depicted within an image, the image comprised of a plurality of pixels with each pixel containing a light intensity value that describes either the object or a background, the silhouette contour of the object comprised of a group of pixels which describe one contour of the object's shape, the system comprising:
a. a computer module for identifying within the image a set of pixels which describe the object by comparing the light intensity value of the pixels of the image against the light intensity values of a second image which depicts the background but not the object; b. the computer module further comprised to locate one pixel which does not describe the object; c. the computer module further comprised to move sequentially through the light intensity values of the pixels of the image and locate a first pixel which describes the object, that pixel being a first pixel in a cluster of pixels which describe the object; and d. the computer module further comprised to identify from the point of said first pixel those other pixels of the cluster which lie on the perimeter of the cluster.
- 30. A computer-based system for identifying a contour of an object depicted in an image, the image comprised of a plurality of pixels with each pixel containing a light intensity value that describes either the object or a background, the silhouette contour of the object comprised of a group of pixels which describe one contour of the object's shape, the system comprising:
a. a computer module for identifying within the image a set of pixels which describe the object by comparing the light intensity value of the pixels of the image against the light intensity values of a second image which depicts the background but not the object; b. a computer module for locating one pixel which does not describe the object; c. a computer module for moving sequentially through the values of the pixels of the image to locate a first pixel which describes the object that pixel being a first pixel in a cluster of pixels which describe the object; and d. a computer module for identifying from the point of said first pixel those other pixels of the cluster which lie on the perimeter of the cluster.
- 31. A system for creating a polygonally shaped silhouette contour of an object depicted in an image, the image comprised of a plurality of pixels with each pixel containing a light intensity value that describes either the object or a background, the polygonally-shaped silhouette contour of the object comprising the vertices of a polygon shape which describe one contour of the object, the system comprising:
a. an background subtraction module for identifying within the image a set of pixels which describe the object by comparing the light intensity value of the pixels of the image against the light intensity values of a second image in which is depicted the background but not the object; b. a cluster identification module for locating a first pixel which describes the object that pixel being a pixel on the perimeter of a cluster of pixels which describe the object, identifying from the point of said first pixel those other pixels of the cluster which lie on the perimeter of the cluster and storing a list of those pixels which lie on the perimeter of the cluster; and c. a polygon-shape building module for selecting from the list of pixels which lie on the perimeter of the cluster a set of pixels such that the edges of a polygon made from those pixels deviates by no more than a predetermined distance epsilon from the set of pixels which make up said perimeter of the cluster and storing the selected set of pixels as the vertices of the silhouette contour polygon.
- 32. A computer-based system for constructing a 3D model of an object from a series of photographic images of the object, where the series of photographic images have been captured from a plurality of different angles, where the angle associated image is determined from a pre-selected reference point in three-dimensional space and where the image is comprised of a plurality of pixels, the system comprising:
a. an image capturing module for capturing a first plurality of images of the object under lighting conditions in which the image is backlit such that the background is lit and the object is not lit; b. the image capturing module further comprised for capturing a second plurality of images under lighting conditions in which the image is front lit; and c. a texture map module for processing the first plurality of images locate within each image a set of vertices which describe the contours of the object and constructing from those vertices a three dimensional model of the object, the three dimensional model being comprised of a set of polygonal faces; d. the texture map module further comprised to process each face of the polygon to locate each of the second plurality of images that portion of the image which corresponds to the face of the model; e. the texture map module further comprised to determine a value for the area of that portion of each image which corresponds to the face of the model; and f. the texture map module further comprised to associate with the face the one image from the second plurality of images which has the largest area value.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/192,506, entitled “System and Method of Three Dimensional Image Capture and Modeling”, filed Mar. 28, 2000.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60192506 |
Mar 2000 |
US |