IP Library Granted Patent US 11,710,312
Granted Patent B2
US 11,710,312 · App. 17/865,076 · Granted Jul 25, 2023

Systems and methods for dynamic image category determination

Inventors: Jayant Kumar (San Jose, CA); Vera Lychagina (San Jose, CA); Tarun Vashisth (New Delhi, IN); Sudhakar Pandey (Sunnyvale, CA); Sharad Mangalick (San Francisco, CA); Rohith Mohan Dodle (Fremont, CA); Peter Baust (Sunnyvale, CA); Mina Doroudi (San Jose, CA); Kerem Turgutlu (San Jose, CA); Kannan Iyer (San Jose, CA); Gaurav Kukal (Fremont, CA); Archit Kalra (Fremont, CA); Amine Ben Khalifa (San Jose, CA)
Assignee: Adobe Inc.
G06V20/35G06F16/53G06F18/214G06F18/23G06N3/08
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 11,710,312
App. No.
17/865,076
Granted
Jul 25, 2023
Kind
B2
Abstract

Disclosed are systems and methods for dynamically determining categories for images. A computer-implemented method may include training a neural network to receive an input image and determine one or more image categories associated with the input image; obtaining a set of images associated with a user; determining, using the trained neural network, one or more image categories associated with each image included in the obtained set of images; determining one or more dominant image categories associated with the user based on the determined image categories for the obtained set of images; and determining an image editing user interface for the user based on the determined one or more dominant image categories.

Claims (67)

1. A computer-implemented method comprising:

training a neural network to receive an input image and determine one or more image categories associated with the input image;

obtaining a set of images associated with a user;

determining, using the trained neural network, one or more image categories associated with each image included in the obtained set of images;

determining one or more dominant image categories associated with the user based on the determined image categories for the obtained set of images; and

determining an image editing user interface for the user based on the determined one or more dominant image categories.

2. The computer-implemented method of claim 1 , wherein obtaining the set of images associated with the user comprises:

receiving a plurality of images associated with the user; and

sampling the received plurality of images to obtain the set of images.

3. The computer-implemented method of claim 1 , wherein the determined image categories for the obtained set of images comprise hierarchical categories including at least one high level category and one or more subcategories to the high level category.

4. The computer-implemented method of claim 1 , wherein determining the image editing user interface for the user based on the determined one or more dominant image categories comprises:

generating one or more image editing tool recommendations for the user based on the determined one or more dominant image categories.

5. The computer-implemented method of claim 1 , wherein determining the image editing user interface for the user based on the determined one or more dominant image categories comprises:

determining one or more image editing tutorials for the user based on the determined one or more dominant image categories.

6. The computer-implemented method of claim 1 , further comprising:

displaying the set of images via the image editing user interface, wherein each image is displayed with the associated one or more determined image categories.

7. The computer-implemented method of claim 1 , further comprising:

notifying the user of the determined one or more dominant image categories.

8. A computer system comprising:

at least one memory having processor-readable instructions stored therein; and

at least one processor configured to access the memory and execute the processor-readable instructions to perform operations comprising:

training a neural network to receive an input image and determine one or more image categories associated with the input image;

obtaining a set of images associated with a user;

determining, using the trained neural network, one or more image categories associated with each image included in the obtained set of images;

determining one or more dominant image categories associated with the user based on the determined image categories for the obtained set of images; and

determining an image editing user interface for the user based on the determined one or more dominant image categories.

9. The computer system of claim 8 , wherein obtaining the set of images associated with the user comprises:

receiving a plurality of images associated with the user; and

sampling the received plurality of images to obtain the set of images.

10. The computer system of claim 8 , wherein the determined image categories for the obtained set of images comprise hierarchical categories including at least one high level category and one or more subcategories to the high level category.

11. The computer system of claim 8 , wherein determining the image editing user interface for the user based on the determined one or more dominant image categories comprises:

generating one or more image editing tool recommendations for the user based on the determined one or more dominant image categories.

12. The computer system of claim 8 , wherein determining the image editing user interface for the user based on the determined one or more dominant image categories comprises:

determining one or more image editing tutorials for the user based on the determined one or more dominant image categories.

13. The computer system of claim 8 , wherein the operations further comprise:

displaying the set of images via the image editing user interface, wherein each image is displayed with the associated one or more determined image categories.

14. A computer-implemented method comprising:

obtaining a set of images associated with each user of a plurality of users;

determining, using a neural network, one or more categories for each image included in the obtained set of images for each user;

determining a vector based on the categorized images for each user, thereby obtaining a plurality of vectors for the plurality of users, wherein each vector indicates one or more categories associated with each user;

determining one or more clusters by clustering the plurality of vectors based on a predetermined number;

determining a cluster mean for each of the determined one or more clusters;

determining a category for each of the determined one or more cluster means based at least on the vectors included in the respective cluster;

obtaining a query set of images associated with a query user;

determining, using the neural network, one or more categories for each image included in the query set of images;

determining a query vector based on the categorized images for the query user; and

assigning the query user to one or more of the determined one or more clusters by comparing the query vector to one or more neighboring cluster means.

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

training the neural network to receive an input image and determine one or more categories associated with the input image.

16. The computer-implemented method of claim 14 , wherein the determined one or more categories for each image comprise hierarchical categories including at least one high level category and one or more subcategories to the high level category.

17. The computer-implemented method of claim 14 , wherein determining the vector based on the categorized images for each user comprises:

determining a first mean number of categorized images under a first category for all of the plurality of users;

determining a second mean number of categorized images under a second category for all of the plurality of users; and

determining a vector for each user based at least on the determined first and second mean numbers.

18. The computer-implemented method of claim 14 , wherein determining the vector based on the categorized images for each user comprises:

determining a first number of categorized images under a first category for a first user;

determining a second number of categorized images under a second category for the first user;

normalizing the first and second numbers; and

determining a vector for the first user based at least on the normalized first and second numbers.

19. The computer-implemented method of claim 14 , wherein assigning the query user to the one or more of the determined one or more clusters by comparing the query vector to the one or more neighboring cluster means comprises:

determining a first distance between the query vector and a first cluster mean of a first neighboring cluster;

determining a second distance between the query vector and a second cluster mean of a second neighboring cluster; and

assigning the query user to the first neighboring cluster if the first distance is less than the second distance.

20. The computer-implemented method of claim 14 , wherein assigning the query user to the one or more of the determined one or more clusters by comparing the query vector to the one or more neighboring cluster means comprises:

determining a distance between the query vector and a cluster mean of a neighboring cluster;

comparing the determined distance to a predetermined distance; and

assigning the query user to the neighboring cluster if the determined distance is less than the predetermined distance.

Continuity (2)
Continuation 16995869 · Aug 18, 2020
Related Publication 20220351513A1 · Nov 3, 2022