Abstract:
A complex three-dimensional virtual representation of an object can be rendered. Virtual images can be captured representing a plurality of views of the complex virtual representation. The virtual images can be converted into binary masks depicting the object pixels and non-object pixels in the virtual images. The binary masks can be used to create a three-dimensional representation of the object having lower complexity than the first three-dimensional virtual representation of the object. In embodiments, the low complexity three-dimensional virtual representation of the object and the virtual images are sent to a mobile device to render a low payload representation of the object on the mobile device.
Abstract:
Various embodiments provide for the generation of 3D models of objects. For example, depth data and color image data can be captured from viewpoints around an object using a sensor. A camera having a higher resolution can simultaneously capture image data of the object. Features between images captured by the image sensor and the camera can be extracted and compared to determine a mapping between the camera and the image. Once the mapping between the camera and the image sensor is determined, a second mapping between adjacent viewpoints can be determined for each image around the object. In this example, each viewpoint overlaps with an adjacent viewpoint and features extracted from two overlapping viewpoints are matched to determine their relative alignment. Accordingly, a 3D point cloud can be generated and the images captured by the camera can be projected on the surface of the 3D point cloud to generate the 3D model.
Abstract:
Objects can be rendered in three-dimensions and viewed and manipulated in an augmented reality environment. Background images are subtracted from object images from multiple viewpoints to provide baseline representations of the object. Morphological operations can be used to remove errors caused by misalignment of an object image and background image. Using two different contrast thresholds, pixels can be identified that can be said at two different confidence levels to be object pixels. An edge detection algorithm can be used to determine object contours. Low confidence pixels can be associated with the object if they can be connected to high confidence pixels without crossing an object contour. Segmentation masks can be created from high confidence pixels and properly associated low confidence pixels. Segmentation masks can be used to create a three-dimensional representation of the object.
Abstract:
Systems and methods for displaying 3D containers in a computer generated environment are described. A computing device may provide a user with a catalog of objects which may be purchased. In order to view what an object may look like prior to purchasing the object, a computing device may show a 3D container that has the same dimensions as the object. As discussed herein, the 3D container may be located and oriented based on a two-dimensional marker. Moreover, some 3D containers may contain a representation of an object, which may be a 2D image of the object.
Abstract:
Various embodiments provide a method for determining color information for an image. For example, a color descriptor for an image can be determined and compared against color descriptors stored for each of a number of sample images, which each represent a color in a color space. Upon comparison, matching scores can be generated for a color match between the image and each respective sample image. In this example, the number of sample images with a matching score above a threshold value can be summed and the image can be assigned to a color associated with a highest frequency of the number of sample images. Accordingly, the assigned color of the image can then be used in a “query by color” search or a browse-by-color capability.
Abstract:
Various embodiments provide a method for computing color descriptors of product images. For example, a number of fine color representatives can be determined to describe color variation in an image as a histogram by assigning a saturation value and a brightness value to a plurality of color hues. For each pixel of the image, the closest color among a defined fine color representative set is computed. In this example, each of the pixels is assigned a color ID corresponding to their closest matching fine color representative and at least one family color ID corresponding one or more pure color families. In this example, a histogram of the color representatives and a histogram for the color families are computed. A single color vector descriptor for the image is then determined by combining the family histogram with the color representative histogram.
Abstract:
Images of various views of objects can be captured. An object mesh structure can be created based at least in part on the object images. The object mesh structure represents the three-dimensional shape of the object. Alpha masks indicating which pixels are associated with the object can be used to refine the object mesh structure. A request can be made to view the object from an arbitrary viewpoint which differs from the viewpoints associated with the captured images. A subset of the captured images can be used to create a synthetic image. Different weights can be assigned to the captured image to render a synthetic image that represents the view from the arbitrary viewpoint selected. The input images for the synthetic image can be prefetched, or loaded into memory before the arbitrary view is requested. The images can also be cached for future use or to avoid reloading them for another synthetic image.
Abstract:
Images of various views of objects can be captured. An object mesh structure can be created based at least in part on the object images. The object mesh structure represents the three-dimensional shape of the object. Alpha masks indicating which pixels are associated with the object can be used to refine the object mesh structure. A request can be made to view the object from an arbitrary viewpoint which differs from the viewpoints associated with the captured images. A subset of the captured images can be used to create a synthetic image. Different weights can be assigned to the captured image to render a synthetic image that represents the view from the arbitrary viewpoint selected. The input images for the synthetic image can be prefetched, or loaded into memory before the arbitrary view is requested. The images can also be cached for future use or to avoid reloading them for another synthetic image.
Abstract:
Images of various views of objects can be captured. An object mesh structure can be created based at least in part on the object images. The object mesh structure represents the three-dimensional shape of the object. Alpha masks indicating which pixels are associated with the object can be used to refine the object mesh structure. A request can be made to view the object from an arbitrary viewpoint which differs from the viewpoints associated with the captured images. A subset of the captured images can be used to create a synthetic image. Different weights can be assigned to the captured image to render a synthetic image that represents the view from the arbitrary viewpoint selected. The input images for the synthetic image can be prefetched, or loaded into memory before the arbitrary view is requested. The images can also be cached for future use or to avoid reloading them for another synthetic image.
Abstract:
Objects can be rendered in three-dimensions and viewed and manipulated in an augmented reality environment. Background images are subtracted from object images from multiple viewpoints to provide baseline representations of the object. Morphological operations can be used to remove errors caused by misalignment of an object image and background image. Using two different contrast thresholds, pixels can be identified that can be said at two different confidence levels to be object pixels. An edge detection algorithm can be used to determine object contours. Low confidence pixels can be associated with the object if they can be connected to high confidence pixels without crossing an object contour. Segmentation masks can be created from high confidence pixels and properly associated low confidence pixels. Segmentation masks can be used to create a three-dimensional representation of the object.