IP Library Granted Patent US 9,940,745
Granted Patent B2
US 9,940,745 · App. 15/597,325 · Granted Apr 10, 2018

Image manipulation for electronic display

Inventor: Arnab Sanat Kumar Dhua (Mountain View, CA)
Assignee: A9.COM, INC.
G06T11/60G06T3/403G06T7/507G06T11/001G06T2207/10024G06T2207/20132G06T2210/22G06T2210/36
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,940,745
App. No.
15/597,325
Granted
Apr 10, 2018
Kind
B2
Abstract

The density of images to display can be increased, and distractions reduced, through intelligent cropping or manipulation of at least some of the images. For objects such as dresses represented in the images, the density can be increased by cropping away regions of background outside the object region(s). Locating regions representing the face and legs of the wearer can enable cropping of the top and/or bottom of the image in order to cause the dress to occupy the majority of the area of the image, and can provide for a level of consistency of the sizes of the objects across the images, regardless of the sources of the images. Representative colors of the objects can also be selected to adjust the background color, in order to provide for easy distinction between the images while not providing contrasting or unappealing colors that take away from the aesthetics of the objects.

Claims (78)

1. A system, comprising:

at least one processor; and

memory storing instructions that, when executed by the at least one processor, cause the system to:

receive a first image that includes a representation of an object;

generate a second image having a lower color depth with respect to the first image;

analyze the second image to locate regions of pixels within a boundary associated with skin tone color values;

generate a binary skin mask indicating the regions of pixels;

scan, from at least a middle row of the binary skin mask, rows of pixels to locate features corresponding to skin feature locations;

compare the features to corresponding positions in a grayscale version of the first image to determine whether pixels of non-background color are located in corresponding rows of the second image; and

determine a location of a representation of a bodily feature based at least in part by locating rows having skin feature regions of sufficient width, with background color pixels outside the skin feature regions in respective rows of pixels.

2. The system of claim 1 , wherein the instructions when executed to generate the second image further enable the system to:

crop the first image based at least in part on the boundary to generate the second image that includes the representation of the object.

3. The system of claim 1 , wherein the instructions when executed further enable the system to:

determine a background region, the background region associated with a background color;

analyze the first image to determine a region associated with a color different from the background color; and

determine the boundary based at least in part on the region.

4. The system of claim 1 , wherein the instructions when executed to generate the second image further enable the system to:

add columns of pixels of a background color to the second image in order to cause the second image to have a specified aspect ratio.

5. The system of claim 1 , wherein the instructions when executed further cause the system to:

determine a feature associated with the object represented in the first image;

use a connected components algorithm to determine a region of background color; and

determine the boundary around the representation of the object based at least in part on the region of background color.

6. The system of claim 1 , wherein the instructions when executed further cause the system to:

process, from sides of the first image towards a center of the first image, pixel values of pixels of the first image until a bounding box is determined that satisfies a threshold bounding box size to encompass the representation of the object in the first image.

7. The system of claim 1 , wherein the bodily feature includes a leg portion of a person, and wherein the instructions when executed further cause the system to:

use a face recognition algorithm on the second image to recognize one of a face or a head in the second image;

determine a reference point for the one of the face or the head; and

crop the second image, from the reference point, to remove a portion of one of the face or the head from the second image.

8. The system of claim 7 , wherein the instructions when executed further cause the system to:

crop at least a portion of the representation of the bodily feature to remove the portion from the second image.

9. A computer-implemented method, comprising:

receiving a first image that includes a representation of an object;

generating a second image having a lower color depth with respect to the first image;

analyzing the second image to locate regions of pixels within a boundary associated with skin tone color values;

generating a binary skin mask indicating the regions of pixels;

scanning, from at least a middle row of the binary skin mask, rows of pixels to locate features corresponding to skin feature locations;

comparing the features to corresponding positions in a grayscale version of the first image to determine whether pixels of non-background color are located in corresponding rows of the second image; and

determining a location of a representation of a bodily feature based at least in part by locating rows having skin feature regions of sufficient width, with background color pixels outside the skin feature regions in respective rows of pixels.

10. The computer-implemented method of claim 9 , further comprising:

determining a background region, the background region associated with a background color;

analyzing the first image to determine a region associated with a color different from the background color; and

determining the boundary based at least in part on the region.

11. The computer-implemented method of claim 9 , further comprising:

determining a feature associated with the object represented in the first image;

using a connected components algorithm to determine a region of background color; and

determining the boundary around the representation of the object based at least in part on the region of background color.

12. The computer-implemented method of claim 9 , further comprising:

processing, from sides of the first image towards a center of the first image, pixel values of pixels of the first image until a bounding box is determined that satisfies a threshold bounding box size to encompass the representation of the object in the first image.

13. The computer-implemented method of claim 9 , wherein the bodily feature includes a leg portion of a person, the method further comprising:

using a face recognition algorithm on the second image to recognize one of a face or a head in the second image;

determining a reference point for the one of the face or the head; and

cropping the second image, from the reference point, to remove a portion of one of the face or the head from the second image.

14. The computer-implemented method of claim 13 , further comprising:

cropping at least a portion of the representation of the bodily feature to remove the portion from the second image.

15. A non-transitory computer readable storage medium storing instructions that, when executed by at least one processor of a computing system, causes the computing system to:

receive a first image that includes a representation of an object;

generate a second image having a lower color depth with respect to the first image;

analyze the second image to locate regions of pixels within a boundary associated with skin tone color values;

generate a binary skin mask indicating the regions of pixels;

scan, from at least a middle row of the binary skin mask, rows of pixels to locate features corresponding to skin feature locations;

compare the features to corresponding positions in a grayscale version of the first image to determine whether pixels of non-background color are located in corresponding rows of the second image; and

determine a location of a representation of a bodily feature based at least in part by locating rows having skin feature regions of sufficient width, with background color pixels outside the skin feature regions in respective rows of pixels.

16. The non-transitory computer readable storage medium of claim 15 , wherein the instructions, when executed by the at least one processor, further causes the computing system to:

crop the first image based at least in part on the boundary to generate the second image that includes the representation of the object.

17. The non-transitory computer readable storage medium of claim 15 , wherein the instructions, when executed by the at least one processor, further causes the computing system to:

determine a background region, the background region associated with a background color;

analyze the first image to determine a region associated with a color different from the background color; and

determine the boundary based at least in part on the region.

18. The non-transitory computer readable storage medium of claim 15 , wherein the instructions, when executed by the at least one processor, further causes the computing system to:

determine a feature associated with the object represented in the first image;

use a connected components algorithm to determine a region of background color; and

determine the boundary around the representation of the object based at least in part on the region of background color.

19. The non-transitory computer readable storage medium of claim 15 , wherein the bodily feature includes a leg portion of a person, and wherein the instructions, when executed by the at least one processor, further causes the computing system to:

use a face recognition algorithm on the second image to recognize one of a face or a head in the second image;

determine a reference point for the one of the face or the head; and

crop the second image, from the reference point, to remove a portion of one of the face or the head from the second image.

20. The non-transitory computer readable storage medium of claim 19 , wherein the instructions, when executed by the at least one processor, further causes the computing system to:

crop at least a portion of the representation of the bodily feature to remove the portion from the second image.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 13, 2024
From: A9.COM, INC.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 069167/0493 →
Continuity (2)
Continuation 14632983 · Feb 26, 2015
Related Publication 20170249768A1 · Aug 31, 2017