Skip to main content

DeepImageSearch is a Python library for fast and accurate image search. It offers seamless integration with Python, GPU support, and advanced capabilities for identifying complex image patterns using the Vision Transformer models.

Project description

Deep Image Search - AI-Based Image Search Engine

Deep+Image+Search+logo

DeepImageSearch is a powerful Python library that combines state-of-the-art computer vision models for feature extraction with highly optimized algorithms for indexing and searching. This enables fast and accurate similarity search and clustering of dense vectors, allowing users to build scalable image search systems capable of handling large-scale datasets. The library offers seamless integration with Python and provides GPU support for accelerated processing, delivering a comprehensive solution for researchers and developers working on image-based search and retrieval applications. By incorporating the Vision Transformer (ViT) model, DeepImageSearch further enhances its capabilities in identifying and understanding complex image patterns, making it an essential tool for advanced image search and analysis tasks.

Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Downloads

Developed By

Nilesh Verma

Features

  • You can now load more than 500+ pre-trained state-of-the-art computer vision models available on timm.
  • Faster Search using FAISS (Facebook AI Similarity Search).
  • Highly Accurate Output Results.
  • GPU & CPU based indexing and Searching Support.
  • Best for implementing on Python-based web applications or APIs.
  • Applications include image-based e-commerce recommendations, social media, and other image-based platforms that want to implement image recommendations and search.

Installation

This library is compatible with both windows and Linux system you can just use PIP command to install this library on your system:

pip install DeepImageSearch --upgrade

If you're using a GPU, first uninstall the faiss_cpu version and then try installing the faiss_gpu version. The library installs the CPU version by default because not all systems support GPUs.

How To Use?

We have provided the Demo folder under the GitHub repository, you can find the example in both .py and .ipynb file. Following are the ideal flow of the code:

from DeepImageSearch import Load_Data, Search_Setup

# Load images from a folder
image_list = Load_Data().from_folder(['folder_path'])

 # Set up the search engine, You can load 'vit_base_patch16_224_in21k', 'resnet50' etc more then 500+ models 
 st = Search_Setup(image_list=image_list, model_name='vgg19', pretrained=True, image_count=100)

# Index the images
st.run_index()

# Get metadata
metadata = st.get_image_metadata_file()

# Add new images to the index
st.add_images_to_index(['image_path_1', 'image_path_2'])

# Get similar images
st.get_similar_images(image_path='image_path', number_of_images=10)

# Plot similar images
st.plot_similar_images(image_path='image_path', number_of_images=9)

# Update metadata
metadata = st.get_image_metadata_file()

This code demonstrates how to load images, set up the search engine, index the images, add new images to the index, and retrieve similar images.

Note: Some models may not work properly due to resizing and normalization issues. By default, I have chosen a size of 224x244. Please try to select models that support this size or resized inputs. I have already tested many models, but testing over 500 is beyond my scope.

Documentation

This project aims to provide a powerful image search engine using deep learning techniques. To get started, please follow the link: Read Full Documents

Screenshot

Brain+Machine

Citaion

If you use DeepImageSerach in your Research/Product, please cite the following GitHub Repository:

@misc{TechyNilesh/DeepImageSearch,
  author = {VERMA, NILESH},
  title = {Deep Image Search - AI-Based Image Search Engine},
  year = {2021},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/TechyNilesh/DeepImageSearch}},
}

Please do STAR the repository, if it helped you in anyway.

More cool features will be added in future. Feel free to give suggestions, report bugs and contribute.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DeepImageSearch-2.5.tar.gz (8.0 kB view details)

Uploaded Source

File details

Details for the file DeepImageSearch-2.5.tar.gz.

File metadata

  • Download URL: DeepImageSearch-2.5.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.5

File hashes

Hashes for DeepImageSearch-2.5.tar.gz
Algorithm Hash digest
SHA256 bc8906df761d3f0b1c4b22c8a8125d64a366edce06945391ec1ebecbd993cf73
MD5 3932b248f51c4e44d32a4e7215d59ca0
BLAKE2b-256 af569e61f13e55a4e0df6d5d44122a278b087fcad384a9063bba97c009b59cca

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page