System and method for creating and sharing personalized virtual makeovers
First Claim
1. A non-transitory computer-readable medium comprising computer program product for creating and sharing a personalized virtual makeover image, said computer program product comprising computer readable instructions, wherein execution of said computer readable instructions by one or more processors causes said one or more processors to:
- preprocess an image using a computing device;
accept a first input selecting a makeover item from a set of makeover items associated with a predefined order;
obtain locations of placement points for said makeover item on said image;
automatically transform said makeover item using affine transformation so that its position conforms to said locations of said placement points;
create a first graphics layer and a first mask for said transformed makeover item;
accept a second input selecting at least one additional makeover item from said set of makeover items, obtain locations of placement points for said at least one additional makeover item on said image, automatically transform said at least one additional makeover item using affine transformation so that its position conforms to said locations of said placement points for said at least one additional makeover item, and create at least one additional graphics layer and a corresponding mask for said transformed at least one additional makeover item;
merge said first graphics layer and said at least one additional graphics layer onto said image in a layering order using said predefined order to create a virtual makeover image on a display comprising adjustment handles on said makeover item and said at least one additional makeover item for adjustment and transformation control of said makeover item and said at least one additional makeover item, wherein said first graphics layer and said at least one additional graphics layer are operated upon individually to adjust and transform said makeover item and said at least one additional makeover item using said adjustment handles;
accept further inputs from said adjustment handles to generate an adjusted and transformed first graphics layer and an at least one adjusted and transformed additional graphics layer; and
generate the virtual makeover image by rendering said adjusted and transformed first graphics layer through said first mask and said at least one adjusted and transformed additional graphics layer through said corresponding mask onto said image in said layering order using said predefined order.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and methods for creating and sharing personalized virtual makeovers comprising algorithms for applying virtual cosmetics, hairstyles and accessories to a digital portrait of an individual using described techniques that produce a revised image with a realistic appearance. The system may calculate positions of the boundaries of facial features such as eyes, lips and hair, or provide the user a sophisticated adjustment method. The invention places and shapes virtual cosmetics, hairstyles and accessories to precisely calculated locations, blending colors and shading for a realistic and lifelike result. Accessories such as eyeglasses and jewelry are also realistically applied. The system comprises individual makeover editors for skin, eyes, lips, hair and accessories. Virtual makeovers may be shared, including allowing multiple users modify the same image simultaneously.
97 Citations
47 Claims
-
1. A non-transitory computer-readable medium comprising computer program product for creating and sharing a personalized virtual makeover image, said computer program product comprising computer readable instructions, wherein execution of said computer readable instructions by one or more processors causes said one or more processors to:
-
preprocess an image using a computing device; accept a first input selecting a makeover item from a set of makeover items associated with a predefined order; obtain locations of placement points for said makeover item on said image; automatically transform said makeover item using affine transformation so that its position conforms to said locations of said placement points; create a first graphics layer and a first mask for said transformed makeover item; accept a second input selecting at least one additional makeover item from said set of makeover items, obtain locations of placement points for said at least one additional makeover item on said image, automatically transform said at least one additional makeover item using affine transformation so that its position conforms to said locations of said placement points for said at least one additional makeover item, and create at least one additional graphics layer and a corresponding mask for said transformed at least one additional makeover item; merge said first graphics layer and said at least one additional graphics layer onto said image in a layering order using said predefined order to create a virtual makeover image on a display comprising adjustment handles on said makeover item and said at least one additional makeover item for adjustment and transformation control of said makeover item and said at least one additional makeover item, wherein said first graphics layer and said at least one additional graphics layer are operated upon individually to adjust and transform said makeover item and said at least one additional makeover item using said adjustment handles; accept further inputs from said adjustment handles to generate an adjusted and transformed first graphics layer and an at least one adjusted and transformed additional graphics layer; and generate the virtual makeover image by rendering said adjusted and transformed first graphics layer through said first mask and said at least one adjusted and transformed additional graphics layer through said corresponding mask onto said image in said layering order using said predefined order. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory computer-readable medium comprising computer program product for creating a personalized virtual makeover image, said computer program product comprising computer readable instructions, wherein execution of said computer readable instructions by one or more processors causes said one or more processors to:
-
preprocess a base image using a computing device; accept a first input selecting a hairstyle for application to said base image; obtain locations of placement points for said hairstyle on said base image; automatically transform said hairstyle using affine transformation so that its position conforms to said locations of said placement points, wherein said transform results in warping said hairstyle; generate a hair layer and a mask for said transformed hairstyle; accept a second input selecting at least one additional makeover item from a set of makeover items associated with a predefined order, obtain locations of placement points for said at least one additional makeover item on said base image, automatically transform said at least one additional makeover item using affine transformation so that its position conforms to said locations of said placement points for said at least one additional makeover item, and generate at least one additional graphics layer and a corresponding mask for said transformed at least one additional makeover item; merge said hair layer and said at least one additional graphics layer on said base image in a layering order using said predefined order to create a virtual makeover image on a display comprising adjustment handles on said hairstyle and said at least one additional makeover item for adjustment and transformation control of said hairstyle and said at least one additional makeover item, wherein said hair layer and said at least one additional graphics layer are operated upon individually to adjust and transform said hairstyle and said at least one additional makeover item using said adjustment handles; accept further inputs from said adjustment handles to generate an adjusted and transformed hair layer and an at least one adjusted and transformed additional graphics layer; and render said adjusted and transformed hair layer through said mask and said at least one adjusted and transformed additional graphics layer through said corresponding mask onto said base image in said layering order using said predefined order to create the virtual makeover image. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. An article of manufacture comprising:
-
a computing device; said computing device informationally coupled to at least one display device; said computing device informationally coupled to at least one input device; said computing device informationally coupled to at least one tangible form of computer data storage; said computing device comprising computer-readable program instructions, said computer readable program instructions comprising a virtual makeover method, said virtual makeover method comprising; preprocessing an image on a computing device; accepting a first input selecting a makeover item from a set of makeover items associated with a predefined order; obtaining locations of placement points for said makeover item on said image; automatically transforming said makeover item using affine transformation so that its position conforms to said locations of said placement points; generating a graphics layer and a first mask for said transformed makeover item; accepting a second input selecting at least one additional makeover item from said set of makeover items, obtaining locations of placement points for said at least one additional makeover item on said image, automatically transforming said at least one additional makeover item using affine transformation so that its position conforms to said locations of said placement points for said at least one additional makeover item, and generating at least one additional graphics layer and a corresponding mask for said at least one additional makeover item; merging said graphics layer and said at least one additional graphics layer onto said image in a layering order using said predefined order to create a virtual makeover image on a display comprising adjustment handles on said makeover item and said at least one additional makeover item for adjustment and transformation control of said makeover item and said at least one additional makeover item, wherein said first graphics layer and said at least one additional graphics layer are operated upon individually to adjust and transform said makeover item and said at least one additional makeover item using said adjustment handles; accepting further inputs from said adjustment handles to generate an adjusted and transformed graphics layer and at least one adjusted and transformed additional graphics layer; and rendering said adjusted and transformed graphics layer through said first mask and said at least one adjusted and transformed additional graphics layer through said corresponding mask onto said image in said layering order using said predefined order to create the virtual makeover image. - View Dependent Claims (17, 18, 19)
-
-
20. A virtual makeover computer system comprising:
-
a computing device informationally coupled to a user input device and a display device; a portrait stored in a tangible computer readable memory medium coupled to said computing device; said computing device comprising a computer usable memory medium specially programmed with computer readable program code, wherein said computer readable program code comprises a method to; detect a face in said portrait, said face delineated by a facial boundary; detect facial features boundaries within said facial boundary; detect color properties associated with said face in said portrait;
obtain a plurality of makeover items from a recommended list of makeover items to apply with respect to said face, wherein said plurality of makeover items are associated with a predefined order, wherein said recommended list is based on said color properties, said facial features, user preferences, user attributes, or combinations thereof;at least one image processing function configured to automatically transform each one of said plurality of makeover items using affine transformation so that its position conforms to locations of at least one of said facial boundary and said facial features and further configured to generate a plurality of graphics layers and a plurality of masks, wherein each one of said plurality of graphics layers and a corresponding one of said plurality of masks represent one of said plurality of makeover items, wherein said image processing function is further configured to merge said plurality of graphics layers onto said portrait in a layering order using said predefined order to create a virtual makeover image on a display comprising adjustment handles on said plurality of makeover items for adjustment and transformation control of said plurality of makeover items, wherein said plurality of graphics layers is operated upon individually to adjust and transform each one of said plurality of makeover items using said adjustment handles, wherein said image processing function is further configured to accept further inputs from said adjustment handles and generate an adjusted and transformed plurality of graphics layers; and a rendering function configured to create the virtual makeover image from said adjusted and transformed plurality of graphics layers through said plurality of masks onto said portrait, wherein said adjusted and transformed plurality of graphics layers is rendered in said layering order using said predefined order. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34)
-
-
35. A virtual makeover computer system comprising:
-
a computer server; a computing device informationally coupled to said computer server, said computing device coupled to a user input device and a display device; a portrait stored in a tangible computer readable memory medium coupled to said computing device; said computing device comprising a computer usable memory medium specially programmed with computer readable program code, wherein said computer readable program code comprises; a face detection function configured to automatically detect facial boundaries of a face in said portrait; a facial feature detection function configured to detect facial features boundaries within said facial boundaries; a recommendation engine configured to provide a plurality of makeover items to apply with respect to said face, wherein said plurality of makeover items are associated with a predefined order; at least one image processing function configured to automatically transform each one of said plurality of makeover items using affine transformation so that its position conforms to locations of at least one of said facial boundaries and said facial features and further configured to generate a plurality of graphics layers and a plurality of masks, wherein each one of said plurality of graphics layers and a corresponding one of said plurality of masks represent one of said plurality of makeover items, wherein said image processing function is further configured to merge said plurality of graphics layers onto said portrait in a layering order using said predefined order to create a virtual makeover image on a display comprising adjustment handles on said plurality of makeover items for adjustment and transformation control of said plurality of makeover items, wherein said plurality of graphics layers is operated upon individually to adjust and transform each one of said plurality of makeover items using said adjustment handles, wherein said image processing function is further configured to accept further inputs from said adjustment handles and generate an adjusted and transformed plurality of graphics layers; and a rendering function configured to create the virtual makeover image comprising said adjusted and transformed plurality of graphics layers through said plurality of masks onto said portrait, wherein said adjusted and transformed plurality of graphics layers is rendered in said layering order using said predefined order.
-
-
36. A virtual makeover computer system comprising:
-
a computing device informationally coupled to a user input device and a display device; a portrait stored in a tangible computer readable memory medium coupled to said computing device; said computing device comprising a computer usable memory medium specially programmed with computer readable program code, wherein said computer readable program code comprises; a facial boundary detection function for detecting a face in said portrait; a facial features detection function for detecting facial features within said facial boundary; a plurality of makeover items to apply with respect to said portrait, wherein said plurality of makeover items are associated with a predefined order; a recommendation engine configured to generate selected ones from said plurality of makeover items; at least one image processing function configured to automatically transform each one of said plurality of makeover items using affine transformation so that its position conforms to locations of at least one of said facial boundaries and said facial features and further configured to generate a plurality of graphics layers and a plurality of masks, wherein each one of said plurality of graphics layers and a corresponding one of said plurality of masks represent one of said plurality of makeover items, wherein said image processing function is further configured to merge said plurality of graphics layers onto said portrait in a layering order using said predefined order to create a virtual makeover image on a display comprising adjustment handles on said plurality of makeover items for adjustment and transformation control of said plurality of makeover items, wherein said plurality of graphics layers is operated upon individually to adjust and transform each one of said plurality of makeover items using said adjustment handles, wherein said image processing function is further configured to accept further inputs from said adjustment handles and generate an adjusted and transformed plurality of graphics layers; and a rendering function configured to generate the makeover image by merging said selected ones of said adjusted and transformed plurality of graphics layers through said plurality of masks onto said portrait, wherein said adjusted and transformed plurality of graphics layers is rendered in said layering order using said predefined order. - View Dependent Claims (37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47)
-
Specification