IP Library Granted Patent US 9,892,342
Granted Patent B2
US 9,892,342 · App. 15/695,298 · Granted Feb 13, 2018

Automatic image product creation for user accounts comprising large number of images

Inventors: Roman Sandler (Haifa, IL); Alexander M. Kenis (Kiryat Motzkin, IL)
Assignee: Shutterfly, Inc.
G06K9/627G06F17/30G06K9/00G06K9/00221G06K9/00281G06K9/00677G06K9/622G06K9/6215G06K9/6267G06K9/66G06T11/60
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,892,342
App. No.
15/695,298
Granted
Feb 13, 2018
Kind
B2
Abstract

A computer-implemented method of grouping faces in large user account for creating an image product includes adding the face images obtained from an image album in a user's account into a first chunk; if the chunk size of the first chuck is smaller than a maximum chuck value, keeping the face images from the image album into the first chunk; otherwise, automatically separating the face images from the image album into a first portion and one or more second portions; keeping the first portion in the first chunk; automatically moving the second portions to subsequent chunks; automatically grouping face images in the first chunk to form face groups; assigning the face groups to known face models associated with the user account; and creating a design for an image-based product based on the face images in the first chunk associated with the face models.

Claims (46)

1. A computer system for grouping faces in large user account for creating an image product, comprising:

a computer processor configured to select a first portion of face images from a user's account to add to a first chunk, wherein the first portion of face images is selected to keep chuck size of the first chunk in an optimal chunk size range,

wherein the computer processor is configured to automatically grouping face images in the first chunk to form face groups,

to assign at least some of the face groups in the first chunk to known face models associated with the user account,

to move the ungrouped face images in the first chunk to one or more subsequent chunks that have not been processed with face grouping,

to discard ungrouped face images that have been moved to subsequent chunks for more than a predetermined number of times, and

to create a design for an image-based product based at least in part on the face images in the first chunk associated with the face models.

2. The computer system of claim 1 , wherein the computer processor is further configured to compare the chuck size of the first chunk with a maximum chuck value for an optimal chunk size range,

to keep the face images from the user's account in the first chunk if the chunk size of the first chuck is smaller than the maximum chuck value,

to automatically separate the face images from the user's account into the first portion and the one or more second portions if the chunk size of the first chuck is larger than the maximum chuck value,

to add the first portion in the first chunk while keeping the current chunk size below the maximum chuck value; and

to automatically move one or more second portions of face images from the user's account to one or more subsequent chunks.

3. The computer system of claim 1 , wherein the computer processor is further configured to set up new face models for at least some of the face groups that cannot be assigned to existing face models, wherein the design for an image-based product is created based on the face images associated with the known face models and the new face models.

4. The computer system of claim 1 , wherein the computer processor is further configured to repeat operations to select a first portion of face images from a user's account to assigning at least some of the face groups in a second chunk subsequent to the first chunk,

to assigning at least some of the face groups in the second chunk to known face models associated with the user account, and

to create the design for the image-based product based at least in part on the face images in the first chunk and the second chunk associated with the face models.

5. The computer system of claim 1 , wherein the computer processor is further configured:

to receive an initial set of n* face groups in the face images in the first chunk, wherein n* is a positive integer bigger than 1;

to train classifiers between pairs of face groups in the initial set of face groups using image-product statistics;

to classify the plurality of face images by n*(n*−1)/2 classifiers to output binary vectors for the face images;

to calculate a value for a similarity function using the binary vectors for each pair of the face images, and

to group the face images in the first chunk into modified face groups based on values of the binary similarity functions.

6. The computer system of claim 5 , wherein the computer processor is further configured to compare a difference between the modified face groups and the initial face groups to a threshold value, wherein the image product is created based at least in part on the modified face groups if the difference is smaller than the threshold value.

7. The computer system of claim 6 , wherein there are an integer m number of face images in the plurality of face images, wherein the step of classifying the plurality of face images by n*(n*−1)/2 classifiers outputs m number of binary vectors.

8. The computer system of claim 6 , wherein the face images are grouped into modified face groups using non-negative matrix factorization based on values of the improved similarity functions.

9. A computer system for grouping faces in large user account for creating an image product, comprising:

a computer processor configured to select a first portion of face images from a user's account to add to a first chunk, wherein the first portion of face images is selected to keep chuck size of the first chunk in an optimal chunk size range,

wherein the computer processor is configured to automatically group face images in the first chunk to form face groups, which includes: calculating similarity functions between pairs of face images in the first chunk, joining face images that have values of the similarity functions above a predetermined threshold into a hypothetical face group, wherein the face images in the hypothetical face group hypothetically belong to a same person, conducting non-negative matrix factorization on values of the similarity functions in the hypothetical face group to test truthfulness of the hypothetical face group; and identifying the hypothetical face group as a true face group if a percentage of the associated similarity functions being true is above a threshold based on the non-negative matrix factorization,

wherein the computer processor is further configured to assign at least some of the face groups in the first chunk to known face models associated with the user account,

wherein the computer processor is further configured to create a design for an image-based product based at least in part on the face images in the first chunk associated with the face models.

10. The computer system of claim 9 , wherein the computer processor is further configured to reject the hypothetical face group as a true face group if a percentage of the associated similarity functions being true is below a threshold.

11. The computer system of claim 9 , wherein the computer processor is further configured to form a non-negative matrix using values of similarity functions between all different pairs of face images in the hypothetical face group, wherein the non-negative matrix factorization is conducted over the non-negative matrix.

12. The computer system of claim 9 , wherein the similarity functions in the hypothetical face group are described in a similarity distribution function, wherein the step of non-negative matrix factorization outputs a True similarity distribution function and a False similarity distribution function.

13. The computer system of claim 9 , wherein every pair of face images in the hypothetical face group has a similarity function above the predetermined threshold.

14. The computer system of claim 9 , wherein the computer processor is further configured to join two true face groups to form a joint face group,

to conducting non-negative matrix factorization on values of similarity functions in the joint face group, and

to merging the two true face groups if a percentage of the associated similarity functions being true is above a threshold in the joint face group.

15. A computer system for grouping faces in large user account for creating an image product, comprising:

a computer processor configured to select a first portion of face images from a user's account to add to a first chunk, wherein the first portion of face images is selected to keep chuck size of the first chunk in an optimal chunk size range,

wherein the computer processor is configured to automatically group face images in the first chunk to form face groups,

to assign at least some of the face groups in the first chunk to known face models associated with the user account, and

to create a design for an image-based product based at least in part on the face images in the first chunk associated with the face models, which includes: storing training faces associated with the known face models of known persons in a computer storage, joining the face images in the first chunk with a group of training faces associated with the known face models, calculating similarity functions between pairs of the face images or the training faces in the joint group by a computer processor, conducting non-negative matrix factorization on values of the similarity functions in the joint face group to test truthfulness of the joint face group, and identifying the face images in the first chunk that belong to the known face models if a percentage of the associated similarity functions being true is above a threshold based on the non-negative matrix factorization.

16. The computer system of claim 15 , wherein the computer processor is further configured to merge the face images with the training faces of the known face model to form a new set of training faces for the known face model.

17. The computer system of claim 15 , wherein the computer processor is further configured to form a non-negative matrix using values of similarity functions between all different pairs of the face images and the training faces in the joint face group, wherein the non-negative matrix factorization is conducted over the non-negative matrix.

18. The computer system of claim 15 , wherein the similarity functions in the joint face group are described in a similarity distribution function, wherein the step of non-negative matrix factorization outputs a True similarity distribution function and a False similarity distribution function.

19. The computer system of claim 15 , wherein the computer processor is further configured to compare the similarity distribution function to the True similarity distribution function and the False similarity distribution function.

Assignments (4)
CHANGE OF NAME Recorded Nov 22, 2019
From: SHUTTERFLY, INC.
To: SHUTTERFLY, LLC
Reel/Frame 051095/0172 →
FIRST LIEN SECURITY AGREEMENT Recorded Sep 27, 2019
From: SHUTTERFLY, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 050574/0865 →
RELEASE OF SECURITY INTEREST Recorded Sep 26, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHUTTERFLY, INC.; LIFETOUCH INC.; LIFETOUCH NATIONAL SCHOOL STUDIOS INC.
Reel/Frame 050527/0868 →
SECURITY INTEREST Recorded May 23, 2018
From: SHUTTERFLY, INC.; LIFETOUCH INC.; LIFETOUCH NATIONAL SCHOOL STUDIOS INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 046216/0396 →
Continuity (3)
Continuation 15345846 · Nov 8, 2016
Continuation 14932378 · Nov 4, 2015
Related Publication 20170364769A1 · Dec 21, 2017