We had a meeting with an employee at Shopify where they proposed a problem of being able to tell the similarity of a stores products based on the images of the products alone. This is required because most item names don't describe the product. This is why we needed a scalable classifier for similarity
What it does
Using Kernels from Googles Inception V3 model, we have adapted a Convolutional Neural Network to create a vector map of all of the features that it identifies in an image. This allows you to compress images for a closest vector search. With this, you can arrange the most similar items, or classify your image with its most similar images.
How I built it
This was built using standard image-net faces and cars for the demo. The demo is hosted on amazon web services and uses flask to interface with the user.
Challenges I ran into
Building the data set of compressed image vectors took many hours and there was a lot of testing required to see which types of images best showed our use of convolution similarity.
Accomplishments that I'm proud of
The entire process is online and since all of the compressed image vectors are small enough, the entire process of calculations can be done on the client side instead of the server side.
What I learned
A greater understanding of how to cache python files for indexing. How to use flask to transfer files to a server.
What's next for Euclid Match
Using K-Means to index all of the image vectors so that they can be classified much faster.