Image Similarity Search in PyTorch
Simple Convolutional Auto-encoder based image similarity search to find similar images to given image or features. Fully written in PyTorch.
image-similarity-search pytorch autoencoders computer-vision code demo image-retrieval representation-learning similarity-search article convolutional-neural-networks tutorial

Image Similarity using PyTorch

CI Tests Check Formatting Deploy mkdocs PyPi Release Install Package

Auto-encoder based Image-Similarity Engine

  • Builds a simple Convolutional Auto-encoder based Image similarity engine.
  • This solves the problem of finding similar images using unsupervised learning. There are no labels for images.

Tasks that it can do.

  • [x] Similar images using Auto-encoders.
  • [x] Similar image search from image features.
  • [x] Clustering similar images.

Repostory Structure.

=== data                        Read data from here. It is in gitignore so it won't appear here.
=== docs                        Documentation using mkdocs.
=== image_similarity
====== cluster_images.py        Clusters the embeddings learnt using PCA and T-SNE.
====== torch_data.py            Contains Dataset class to create PyTorch dataset from folder.
====== torch_model.py           Convolutional Auto-enocder Model.
====== torch_engine.py          Train_step and validation_step for training.
====== torch_train.py           Trainng script. Trains Auto-enocder and saves the embeddings.
====== torch_infer.py           Contains inference code
====== config.py                Configurations of models and paths.
====== torch_inference.ipynb    Inference code in .ipynb to play with.
====== torch_train.ipynb        Stand-alone code to train in Jupyter.
=== tests                       Contains tests for CI

Don't forget to tag @oke-aditya in your comment, otherwise they may not be notified.

Authors original post
Deep Learning | Computer Vision
Share this project
Similar projects
Implementing Content-Based Image Retrieval with Siamese Networks
With content-based image retrieval, we refer to the task of finding images containing attributes which are not in the image metadata, but in its visual ...
A Barebones Image Retrieval System
This project presents a simple framework to retrieve images similar to a query image.
ConvNet Playground
An interactive visualization for exploring Convolutional Neural Networks applied to the task of semantic image search.
Metric Learning for Image Search
In this report, we will explore supervised metric learning and extend it to the image similarity search.
Top collections