Product image classification
A method includes retrieving, by a processor in an image classification system, a plurality of product images from a memory. A first image classifier is applied to a first of the plurality of product images. The first of the plurality of product images is associated with a first category. A second image classifier is applied to a second of the plurality of product images. The second of the plurality of product images is associated with a second category. A first result of the first image classifier for the first of the plurality of product images is stored in the memory. A second result of the second image classifier for the second of the plurality of product images is stored in the memory.
1 . A method, comprising:
retrieving, by a processor in an image classification system, a plurality of product images from a memory;
determining a category of a plurality of categories for a product in each of the plurality of product images based on a product information associated with respective product images;
applying one or more image classifiers of a plurality of image classifiers to each of the plurality of product images based on the respective determined category to predict labels for each of the plurality of product images, the applying comprising:
providing a first label prediction based on applying a first image classifier to features of a first product image of the plurality of product images, wherein the first image classifier is trained to identify features specific to the determined category of the first product image; and
providing a second label prediction based on applying a second image classifier to features of a second product image of the plurality of product images, wherein the second product image is from a determined category that does not include specifically trained image classifiers of the plurality of image classifiers, and the second image classifier is trained to identify features in product images that are from categories that do not include the specifically trained image classifiers;
storing the labels including the first label prediction of the first image classifier for the first product image and the second label prediction of the second image classifier for the second product image; and
selecting, in response to a captured image from a user computing device, one of the plurality of product images as a recommendation based on the predicted labels for each of the plurality of product images and outputting the selected one of the plurality of product images for display on the user computing device,
wherein the plurality of image classifiers are configured to predict at least one of a content label or a view label for the product in each of the plurality of product images based on the determined category,
wherein the first image classifier is at least one of a plurality of category-specific image classifiers and the second image classifier is one of a plurality of a generic image classifiers for categories not associated with a corresponding one of the category-specific image classifiers.
2 . The method of claim 1 , wherein the first label prediction by the first image classifier is based on the first product image being in a first category of the determined categories and the second label prediction by the second image classifier is based on the second product image being in a second category not associated with one of the determined categories.
3 . The method of claim 2 , further comprising:
providing a third label prediction based on applying the second image classifier to features of a third product image of the plurality of product images, wherein the third product image of the plurality of product images is associated with a third category different from the second category; and
storing the third label prediction of the second image classifier for the third product image of the plurality of product images.
4 . The method of claim 2 , wherein the first image classifier is a category-specific image classifier associated with the first category.
5 . The method of claim 1 , wherein applying the first image classifier to the first product image of the plurality of product images further comprising:
providing a fourth label prediction based on applying a fourth image classifier to the first product image of the plurality of product images, wherein the fourth image classifier is trained to identify specific features based on the determined category of the first product image;
wherein the first label prediction is further based on the fourth label prediction of the fourth image classifier.
6 . A system, comprising:
a processor and a memory, wherein the processor is configured to:
retrieve a plurality of product images from the memory;
determine a category of a product in each of the plurality of product images based on a product information associated with respective product images;
apply a respective image classifier of a plurality of image classifiers to each of the plurality of product images based on the respective determined category to predict labels for each of the plurality of product images, the applying comprising:
provide a first label from applying a first image classifier to one or more features of a first product image of the plurality of product images, wherein the first product image is from a first product category; and
provide a second label from applying a second image classifier to one or more features of a second product image of the plurality of product images, wherein the second product image is from a second product category;
store the labels from the plurality of image classifiers including the first label and the second label in the memory; and
select, in response to a captured image from a user computing device, one of the plurality of product images as a recommendation based on the labels including the first label and the second label and output the selected one of the plurality of product images for display on the user computing device,
wherein the plurality of image classifiers are configured to predict at least one of a content label or a view label for the product in each of the plurality of product images based on the determined category,
wherein the plurality of image classifiers comprises category-specific image classifiers specific to respective ones of the determined categories and generic image classifiers for categories not associated with the category-specific image classifiers,
wherein the first image classifier comprises at least one of the category-specific image classifiers and the second image classifier comprises at least one of the generic image classifiers.
7 . The system of claim 6 , wherein the first product image is in a first category and the second product image is in a second category, and wherein the first category and the second category are different.
8 . The system of claim 6 , wherein the processor is further configured to:
apply the second image classifier to a third product image of the plurality of product images, wherein the third product image of the plurality of product images is associated with a third category different from the second category; and
store a third label of the second image classifier for the third product image of the plurality of product images.
9 . The system of claim 6 , wherein the first image classifier is a category-specific image classifier associated with the first category.
10 . The system of claim 6 , wherein applying the first image classifier to the first of the plurality of product images further comprising:
apply a fourth image classifier to the first product image of the plurality of product images, wherein the fourth image classifier is trained to identify specific features based on the determined category of the first product image;
wherein the first label is further based on a fourth label prediction of the fourth image classifier.
11 . A system, comprising: a server; and
an image classification system, the image classification system comprising: a processor and a memory, wherein the processor is configured to:
retrieve a plurality of product images from the memory;
determine a category of a product in each of the plurality of product images;
predict labels for each of the plurality of product images based on applying a respective image classifier of a plurality of image classifiers to each of the plurality of product images based on the determined category, the applying comprising:
predict a first label for a first product image of the plurality of product images based on applying a first image classifier to features of the first product image, wherein the first image classifier is configured to identify features specific to the determined category of the first product image; and
predict a second label for a second product image of the plurality of product images based on applying a second image classifier to features of the second product image, wherein the second product image is from a determined category that does not include specifically trained image classifiers, and wherein the second image classifier is configured to identify features in product images that are from categories that do not include the specifically trained image classifiers;
store the labels including the first label and the second label in the memory; and
select, in response to receiving a captured image from a user computing device, one of the plurality of product images based on the predicted labels for each of the plurality of product images and output the selected one of the plurality of product images for display on the user computing device,
wherein the plurality of image classifiers are configured to predict at least one of a content label or a view label for the product in each of the plurality of product images based on the determined category,
wherein the first image classifier comprises at least one of a plurality of category-specific image classifiers for the determined categories and the second image classifier comprises at least one of a plurality of generic image classifiers for categories not associated with a corresponding one of the category-specific image classifiers.
12 . The system of claim 11 , wherein the server is configured to receive the captured image from the user computing device over a network.
13 . The system of claim 12 , wherein the server is configured to compute a visual similarity score between the captured image and the plurality of product images based on the predicted labels of the plurality of image classifiers including the first label of the first image classifier and the second label of the second image classifier.
14 . The system of claim 13 , wherein the server is configured to select one of the plurality of product images having a highest visual similarity score with the captured image and output the selected one of the plurality of product images for display on the user computing device.
15 . The system of claim 11 , wherein the first image classifier is a category-specific image classifier.