Legal claims defining the scope of protection, as filed with the USPTO.
1. A computer-implemented method of identifying an object, comprising: capturing a first image of an object of interest using a camera of a computing device, the first image captured without illumination by an illumination source of the computing device; capturing a second image of the object of interest using the camera, the second image being captured with the object of interest being at least partially illuminated by the illumination source; generating differential image data by determining a difference between intensity values of pixels for a first location of the second image, and intensity values of pixels of a corresponding second location of the first image, wherein the intensity values of the pixels of the first image comprise a product of intensity of ambient light and a matte reflectance map; determining a first pixel and a second pixel included in the differential image data; determining that the first pixel and the second pixel are located in a region based at least in part on a first intensity value of the first pixel and a second intensity value of the second pixel being similar; determining a portion of the region by iteratively selecting pixels in the differential image data until determining a respective pixel having a respective intensity value different than the first intensity value of the first pixel; determining a corresponding portion of the first image based on the portion of the region; and providing image data for the corresponding portion of the first image to an object identification process.
2. The computer-implemented method of claim 1 , further comprising: converting the first image to a first grayscale image before the generating; and converting the second image to a second grayscale image before the generating.
3. The computer-implemented method of claim 1 , further comprising analyzing the differential image data using at least one of a connected components algorithm or a computer vision algorithm.
4. A computer-implemented method, comprising: obtaining a first image of an object of interest and a second image of the object of interest as captured by a camera, the first image captured without illumination by an illumination source associated with the camera and the second image captured with the object illuminated at least partially by the illumination source; comparing intensity values for corresponding locations in the first image and the second image to generate differential image data, by determining a difference between intensity values of pixels of the second image, and intensity values of pixels of the first image, wherein the intensity values of the pixels of the first image comprise at least a product between an intensity of ambient light and a matte reflectance map; determining that a first pixel in the differential image data is located in a region indicative of a potential object; determining an edge of a portion of the region by iteratively selecting pixels in the differential image data until determining a respective pixel having a respective intensity value different than an intensity value of the first pixel; determining a shape of the potential object using at least the edge of the portion of the region; and generating a result image including a portion of at least one of the first image or the second image, the portion corresponding to the shape of the potential object and a location of the potential object.
5. The computer-implemented method of claim 4 , further comprising: providing the result image as input to an object recognition process.
6. The computer-implemented method of claim 4 , further comprising using at least one of a connected components algorithm or a computer vision algorithm to locate the potential object.
7. The computer-implemented method of claim 6 , wherein the computer vision algorithm is one of a GrabCut, WaterShed, or QuadTree algorithm.
8. The computer-implemented method of claim 4 , wherein the first image is a first frame of video data and the second image is a second frame of the video data.
9. The computer-implemented method of claim 4 , further comprising: prompting a user of the camera to capture at least one of a new first image or a new second image when more than a threshold amount of movement of the camera occurred between a first capture time of the first image and a second capture time of the second image.
10. The computer-implemented method of claim 9 , wherein the amount of movement is determined using at least one of an electronic gyroscope, an inertial sensor, an accelerometer, or an electronic compass associated with the camera.
11. The computer-implemented method of claim 4 , wherein the illumination source is a camera flash element.
12. The computer-implemented method of claim 4 , further comprising locating the potential object in the differential image data by identifying one or more object regions in the differential image data and selecting one of the one or more object regions.
13. The computer-implemented method of claim 12 , further comprising: selecting the potential object from one or more identified object regions.
14. The computer-implemented method of claim 13 , wherein one of the one or more identified object regions is selected automatically based at least in part upon at least one of a location of one each of the object regions, a recognized shape of at least one of the object regions, a visible portion of each of the object regions in the image, and a viewable edge of each of the object regions in the image.
15. The computer-implemented method of claim 13 , wherein comparing intensity values for corresponding locations in the first image and the second image to generate differential image data includes analyzing the first image and the second image to determine the corresponding locations for objects represented in the first and second images, and subtracting intensity values for the corresponding points in the second image from the corresponding points in the first image.
16. A computing device, comprising: a processor; a camera; a camera flash element; and a memory device including instructions that, when executed by the processor, cause the computing device to: capture a first image of an object of interest, using the camera, without activating the camera flash element; capture a second image of the object of interest, using the camera, with the camera flash element activated to at least partially illuminate the object of interest; generate differential image data by, at least in part, determining a difference between intensity values of pixels of the second image, and intensity values of pixels of the first image, wherein the intensity values of the pixels of the first image comprise at least a product between an intensity of ambient light and a matte reflectance map; determine that a first pixel is located in a region of the differential image data corresponding to the object of interest; determine an outline of a portion of the region of the differential image data by iteratively selecting pixels in the differential image data until determining a respective pixel having a respective intensity value different than an intensity value of the first pixel and generate a result image including a portion of at least one of the first image or the second image, the portion of the region of the differential image data corresponding to the outline and a location of the portion of the region of the differential image data.
17. The computing device of claim 16 , wherein the instructions when executed further cause the computing device to: provide the result image as input to an object recognition process.
18. The computing device of claim 16 , further comprising using at least one of a connected components algorithm or a computer vision algorithm to determine the outline.
19. The computing device of claim 16 , further comprising locating the portion of the region of the differential image data by identifying one or more object regions in the differential image data and selecting one of the one or more object regions.
20. A non-transitory computer-readable storage medium including instructions that, when executed by at least one processor of a computing device, cause the computing device to: capture a first image of an object of interest using a camera of the computing device, the first image being captured without illumination by an illumination source of the computing device; capture a second image of the object of interest using the camera of the computing device, the second image being captured with the object of interest at least partially illuminated by the illumination source; generate differential image data by determining a difference between intensity values of pixels of the second image, and intensity values of pixels of the first image, wherein the intensity values of the pixels of the first image comprise at least a product between an intensity of ambient light and a matte reflectance map; determine that a first pixel is located in a region indicative of the object in the differential image data; determine an outline of a region by iteratively selecting pixels in the differential image data until determining a respective pixel having a respective intensity value different than a first intensity value of the first pixel; use the outline to select a corresponding portion of the first image; and provide image data for the corresponding portion to an object identification process.
21. The non-transitory computer-readable storage medium of claim 20 , wherein the instructions when executed further cause the computing device to: convert the first image to a first grayscale image before the generate differential image data; and convert the second image to a second grayscale image before the generate differential image data.
22. The non-transitory computer-readable storage medium of claim 20 , wherein the instructions when executed further cause the computing device to compare intensity values for each corresponding location in at least a portion of the first image and at least a portion of the second image to generate the differential image data.
Unknown
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.