Discover how Chrome's built-in convolutional neural network analyses product images for shopping intent and sensitivity.
Today I made a bulk image analysis tool for our team. It takes in a URL, fetches images and runs them through Google's shopping intent classifier which then determines whether the image is optimised for shopping intent or not.
This is particularly useful for image and on-page optimisation of product pages and categories on eCommerce websites.

As I completed my first report I started to wonder. What is it about image 117 that caused Google's model to misclassify it as "no shopping intent" when it's clearly a product image.
I don't know either.
But I think it's worth tweaking it a little, perhaps an angle shot or a different crop to show greater detail.
Since the model didn't come with label definitions I had to reverse-engineer them by testing them across various product types and as of now they appear to be as follows:
The next iteration of this tool will probably have a more robust image ingestion pipeline such as scrape-based, image sitemap or client's CDN data feed. It would be really interesting to run classification of this type on thousands of images and determine the extent of overall optimisation opportunity based on true label mismatches.
There are at least three practical applications of this classifier. It can be used to determine whether the analysed image is:
Yes. It's Google's custom convolutional neural network in TensorFlow Lite v3 format based on mobilenet V3 small model.
I extracted it from Chrome.
The model takes in a pre-processed image (224x224) and returns two sets of probabilities:
name: shopping_intent
tensor: float32[1,4]
denotation: Feature
Probability whether image is sensitive or has shopping intent
identifier: 222
name: sensitive
tensor: float32[1,2]
denotation: Feature
Probability whether image is sensitive or has shopping intent
identifier: 220
Full model architecture is available as: PNG | SVG (right click, save as)