=====================================
Hey there, fellow developer! I'm super excited to share my latest project - the Visual Indexing System (VIS). This project is a showcase of how computer vision and indexing can be used together to create an efficient way to search for similar images.
The Visual Indexing System is an open-source Python library that uses deep learning models to extract features from images and then indexes them using the Annoy library. This allows for fast and efficient retrieval of similar images based on their visual content.
I built this to create a system where I could quickly find similar images in my photo library, but it can be used for any type of image collection. The VIS uses a pre-trained ResNet50 model to extract features from images, which are then indexed using Annoy. This allows for fast and efficient retrieval of similar images based on their visual content.
One cool feature is the ability to search for similar images in parallel using multi-threading, making it possible to index thousands of images quickly.
- Deep Learning-based Feature Extraction: Uses a pre-trained ResNet50 model to extract features from images.
- Annoy Indexing: Indexes the extracted features using Annoy, allowing for fast and efficient retrieval of similar images.
- Multi-threading Support: Allows for parallel search and indexing of images.
To install the VIS, simply run the following command:
pip install tensorflow annoy pillow
Then clone this repository and navigate to the visual-indexing-system
directory. You can then run the code using Python 3.x.
To use the VIS, you'll need to create a directory of thumbnails and then build an index using the build_index.py
script. Once the index is built, you can search for similar images using the search_similiarity_index.py
script.
Here's some example code:
# Build an index on a directory of thumbnails
python build_index.py --thumbnails_dir './thumbnails' --num_trees 10
# Search for similar images in the index
python search_similiarity_index.py --target_image_path './thumbnails/(m=qU5WO7XbeafTGgaaaa)(mh=kIWhRaJVkXVhtyzm)0.jpg'
Contributions are more than welcome! If you'd like to contribute to the VIS, please fork this repository and submit a pull request.
The Visual Indexing System is released under the MIT license. See LICENSE.md
for details.
[Computer Vision], [Indexing], [Deep Learning], [Multi-threading], [Python]
This README was written by yours truly, hasnocool. I hope you find it helpful!