A picture ๐ผ๏ธ is worth a thousand words
Reverse Image Search also known as Content based Image retrevial, This is the application of computer vision techniques to the image retrieval problem, that is, the problem of searching for images in large databases.
image.search.engine.mp4
Ever wondered how the Google reverse image search works, which take in an image and returns you the most similar images in a fraction of a second?
Having a large database of images with no available metadata is not an ideal starting point, searching through those images can be exhausting to solve that we can use Image search engine, which will iterate through all the images and find all the similar images.
To build search engine we need massive amount of data to seach on. For this image search engine I used Caltech101 dataset.
This dataset contains 101 classes and there are about 40 to 800 images per category.
Model Name | Weight size | Weight Link |
---|---|---|
Resnet Model Finetuned on Caltech101 dataset | 96 MB | Link |
Feature list resnet finutuned on Caltech101 dataset | 3 MB | Link |
- For new updates you can switch to dev branch.
-
Install all the required libraries using requirements.txt file.
-
Download the dataset and add a absolute path in dataset.py file.
-
Now Run dataset.py file
python3 dataset.py
-
A pickle file will be generated in a specified folder.
-
We will use this pickel file in model.py
- Install both Resnet finetuned model and feature list from model weights.
- Add these weights and previously downloded pickle model in model.py file.
-
Conform that you have added all necessary files.
-
It's time to run the sreamlit webapp
streamlit run app.py
-
You will be redirected to new web page where you can search for any image in given dataset.
1. Deep learning based reverse image search for industrial applications
2. Building a Reverse Image Search Engine: Understanding Embeddings