Google Vision API Product Search allows retailers to create products, each containing reference images that visually describe the product from a set of viewpoints. Retailers can then add these products to product sets.
When users query the product set with their own images, Vision API Product Search applies machine learning to compare the product in the user's query image with the images in the retailer's product set, and then returns a ranked list of visually and semantically similar results.
Notebooks in this repo:
Datasets:
- Product images to build a Google Vision product set
- Test set of images to evaluate Google Vision API results
Summary:
precision recall f1-score support
Amazon Echo 2 1.00 0.67 0.80 3
Apple Watch Series 3 0.00 0.00 0.00 3
Google Nest Mini 1.00 1.00 1.00 1
Apple iPhone 13 Pro 1.00 1.00 1.00 1
Apple Magic Keyboard Numeric 1.00 1.00 1.00 1
Google Nest Learning Thermostat 1.00 1.00 1.00 1
Apple Watch Series 6 1.00 0.67 0.80 3
Apple Watch Series 5 1.00 1.00 1.00 3
TP-Link Deco M9 1.00 0.67 0.80 3
Apple Mac Mini 2020 1.00 1.00 1.00 3
Google Nest Doorbell Battery 1.00 1.00 1.00 1
Apple MacBook Pro 16 2019 1.00 1.00 1.00 1
Apple AirPods 2 1.00 0.50 0.67 2
Amazon Echo Dot 3 1.00 0.67 0.80 3
Apple Magic Mouse 1.00 1.00 1.00 1
Apple Watch Series 4 1.00 1.00 1.00 3
Samsung Galaxy S21 Plus 5G 1.00 1.00 1.00 1
Roku Ultra 1.00 1.00 1.00 1
Google Nest Doorbell Wired 1.00 1.00 1.00 1
Amazon Echo Dot 4 1.00 0.67 0.80 3
Apple MacBook Pro 13 2020 0.00 0.00 0.00 2
Samsung Galaxy S10 0.00 0.00 0.00 1
Google Nest Cam Indoor 1.00 1.00 1.00 1
Apple iPhone 6S 0.00 0.00 0.00 1
Samsung Galaxy S20 1.00 1.00 1.00 1
Google Nest Cam Outdoor 1.00 1.00 1.00 1
Google Nest Thermostat 1.00 1.00 1.00 1
Apple iPhone 13 1.00 1.00 1.00 1
Google Nest Cam Floodlight 1.00 1.00 1.00 1
micro avg 1.00 0.73 0.85 49
macro avg 0.86 0.79 0.82 49
weighted avg 0.86 0.73 0.78 49
Google Vision Product Search | Azure Custom Vision | |
---|---|---|
Summary | Given a user generated image, finds similar images from product set |
Given a user generated image, finds matching classes (softmax probability distribution over output classes) |
Image requirements | Max size: 20MB Format: jpg, png, bmp, gif # of images per product: 1-3 |
Max size: 6MB (4MB test) Format: jpg, png, bmp, gif # of images per product: 5-100 (recommended to be same across classes) |
Image specifications | In general, Packshot product images are required for training[Ref:1] Detailed guidelines[Ref:2] |
Any product image - min 256x256 and max 10240x10240 [Ref:3] |
Image upload process (Training) | - Upload files to designated Google Storage bucket - Upload CSV with product metadata - Bulk update product sets - Import limit per batch 20000 [Ref:4] |
- Create tags - Bulk update images with tags via SDK - Import limit per batch 64 [Ref:5] |
Training | - Automatically initiated. - Index is updated within 30min after product set is updated |
- Must be initiated by user - Training cannot start if any class has less than 5 images. - Model must be published to prediction endpoint explicitly before it is available via API |
Prediction | - Rest API or SDK takes image and returns matches and scores - scores are not absolute and not comparable |
- Rest API or SDK takes image and returns matches and probabilities |