DeepImageSearch


NameDeepImageSearch JSON
Version 2.5 PyPI version JSON
download
home_pagehttps://github.com/TechyNilesh/DeepImageSearch
SummaryDeepImageSearch 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.
upload_time2023-04-18 04:23:50
maintainer
docs_urlNone
authorNilesh Verma
requires_python
licenseMIT
keywords deep image search engine ai image search image search python
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Deep Image Search - AI-Based Image Search Engine
<p align="center"><img src="https://raw.githubusercontent.com/TechyNilesh/DeepImageSearch/786e96c48561d67be47dccbab2bc8debced414a3/images/deep%20image%20search%20logo%20New.png" alt="Deep+Image+Search+logo" height="218" width="350"></p>

**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](https://img.shields.io/badge/AI-Advance-green.svg) ![Generic badge](https://img.shields.io/badge/Python-v3-blue.svg) ![Generic badge](https://img.shields.io/badge/pip-v3-red.svg)
![Generic badge](https://img.shields.io/badge/ViT-Vision_Transformer-g.svg)   ![Generic badge](https://img.shields.io/badge/TorchVision-v0.15-orange.svg) ![Generic badge](https://img.shields.io/badge/FAISS-latest-green.svg) [![Downloads](https://static.pepy.tech/personalized-badge/deepimagesearch?period=total&units=none&left_color=grey&right_color=green&left_text=Downloads)](https://pepy.tech/project/deepimagesearch)

## Developed By

### [Nilesh Verma](https://nileshverma.com "Nilesh Verma")

## Features
- You can now load more than 500+ pre-trained state-of-the-art computer vision models available on [timm](https://timm.fast.ai/).
- Faster Search using [FAISS (Facebook AI Similarity Search)](https://github.com/facebookresearch/faiss).
- 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:

```shell
pip install DeepImageSearch --upgrade
```
<span style="color:yellow">  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. </span>

## 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:

```python
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.

<span style="color:red"> **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.</span>

## 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](https://github.com/TechyNilesh/DeepImageSearch/blob/main/Documents/Document.md)

## Screenshot

<p align="center"><img src="https://github.com/TechyNilesh/DeepImageSearch/blob/c2a5e511662adade6ddece9be67167fe3f96cc4c/images/Deep-Image-Search-Demo-Screenshot.png?raw=true" alt="Brain+Machine" height="auto" width="auto"></p>

## Citaion

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

```latex
@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.**



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/TechyNilesh/DeepImageSearch",
    "name": "DeepImageSearch",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "Deep Image Search Engine,AI Image search,Image Search Python",
    "author": "Nilesh Verma",
    "author_email": "me@nileshverma.com",
    "download_url": "https://files.pythonhosted.org/packages/af/56/9e61f13e55a4e0df6d5d44122a278b087fcad384a9063bba97c009b59cca/DeepImageSearch-2.5.tar.gz",
    "platform": null,
    "description": "# Deep Image Search - AI-Based Image Search Engine\r\n<p align=\"center\"><img src=\"https://raw.githubusercontent.com/TechyNilesh/DeepImageSearch/786e96c48561d67be47dccbab2bc8debced414a3/images/deep%20image%20search%20logo%20New.png\" alt=\"Deep+Image+Search+logo\" height=\"218\" width=\"350\"></p>\r\n\r\n**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.\r\n\r\n![Generic badge](https://img.shields.io/badge/AI-Advance-green.svg) ![Generic badge](https://img.shields.io/badge/Python-v3-blue.svg) ![Generic badge](https://img.shields.io/badge/pip-v3-red.svg)\r\n![Generic badge](https://img.shields.io/badge/ViT-Vision_Transformer-g.svg)   ![Generic badge](https://img.shields.io/badge/TorchVision-v0.15-orange.svg) ![Generic badge](https://img.shields.io/badge/FAISS-latest-green.svg) [![Downloads](https://static.pepy.tech/personalized-badge/deepimagesearch?period=total&units=none&left_color=grey&right_color=green&left_text=Downloads)](https://pepy.tech/project/deepimagesearch)\r\n\r\n## Developed By\r\n\r\n### [Nilesh Verma](https://nileshverma.com \"Nilesh Verma\")\r\n\r\n## Features\r\n- You can now load more than 500+ pre-trained state-of-the-art computer vision models available on [timm](https://timm.fast.ai/).\r\n- Faster Search using [FAISS (Facebook AI Similarity Search)](https://github.com/facebookresearch/faiss).\r\n- Highly Accurate Output Results.\r\n- GPU & CPU based indexing and Searching Support.\r\n- Best for implementing on Python-based web applications or APIs.\r\n- Applications include image-based e-commerce recommendations, social media, and other image-based platforms that want to implement image recommendations and search.\r\n\r\n## Installation\r\n\r\nThis library is compatible with both *windows* and *Linux system* you can just use **PIP command** to install this library on your system:\r\n\r\n```shell\r\npip install DeepImageSearch --upgrade\r\n```\r\n<span style=\"color:yellow\">  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. </span>\r\n\r\n## How To Use?\r\n\r\nWe 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:\r\n\r\n```python\r\nfrom DeepImageSearch import Load_Data, Search_Setup\r\n\r\n# Load images from a folder\r\nimage_list = Load_Data().from_folder(['folder_path'])\r\n\r\n # Set up the search engine, You can load 'vit_base_patch16_224_in21k', 'resnet50' etc more then 500+ models \r\n st = Search_Setup(image_list=image_list, model_name='vgg19', pretrained=True, image_count=100)\r\n\r\n# Index the images\r\nst.run_index()\r\n\r\n# Get metadata\r\nmetadata = st.get_image_metadata_file()\r\n\r\n# Add new images to the index\r\nst.add_images_to_index(['image_path_1', 'image_path_2'])\r\n\r\n# Get similar images\r\nst.get_similar_images(image_path='image_path', number_of_images=10)\r\n\r\n# Plot similar images\r\nst.plot_similar_images(image_path='image_path', number_of_images=9)\r\n\r\n# Update metadata\r\nmetadata = st.get_image_metadata_file()\r\n```\r\n\r\nThis code demonstrates how to load images, set up the search engine, index the images, add new images to the index, and retrieve similar images.\r\n\r\n<span style=\"color:red\"> **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.</span>\r\n\r\n## Documentation\r\n\r\nThis project aims to provide a powerful image search engine using deep learning techniques. To get started, please follow the link: [Read Full Documents](https://github.com/TechyNilesh/DeepImageSearch/blob/main/Documents/Document.md)\r\n\r\n## Screenshot\r\n\r\n<p align=\"center\"><img src=\"https://github.com/TechyNilesh/DeepImageSearch/blob/c2a5e511662adade6ddece9be67167fe3f96cc4c/images/Deep-Image-Search-Demo-Screenshot.png?raw=true\" alt=\"Brain+Machine\" height=\"auto\" width=\"auto\"></p>\r\n\r\n## Citaion\r\n\r\nIf you use DeepImageSerach in your Research/Product, please cite the following GitHub Repository:\r\n\r\n```latex\r\n@misc{TechyNilesh/DeepImageSearch,\r\n  author = {VERMA, NILESH},\r\n  title = {Deep Image Search - AI-Based Image Search Engine},\r\n  year = {2021},\r\n  publisher = {GitHub},\r\n  journal = {GitHub repository},\r\n  howpublished = {\\url{https://github.com/TechyNilesh/DeepImageSearch}},\r\n}\r\n```\r\n\r\n### Please do STAR the repository, if it helped you in anyway.\r\n\r\n**More cool features will be added in future. Feel free to give suggestions, report bugs and contribute.**\r\n\r\n\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "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.",
    "version": "2.5",
    "split_keywords": [
        "deep image search engine",
        "ai image search",
        "image search python"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "af569e61f13e55a4e0df6d5d44122a278b087fcad384a9063bba97c009b59cca",
                "md5": "3932b248f51c4e44d32a4e7215d59ca0",
                "sha256": "bc8906df761d3f0b1c4b22c8a8125d64a366edce06945391ec1ebecbd993cf73"
            },
            "downloads": -1,
            "filename": "DeepImageSearch-2.5.tar.gz",
            "has_sig": false,
            "md5_digest": "3932b248f51c4e44d32a4e7215d59ca0",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 8045,
            "upload_time": "2023-04-18T04:23:50",
            "upload_time_iso_8601": "2023-04-18T04:23:50.210361Z",
            "url": "https://files.pythonhosted.org/packages/af/56/9e61f13e55a4e0df6d5d44122a278b087fcad384a9063bba97c009b59cca/DeepImageSearch-2.5.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-04-18 04:23:50",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "github_user": "TechyNilesh",
    "github_project": "DeepImageSearch",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "requirements": [],
    "lcname": "deepimagesearch"
}
        
Elapsed time: 0.50075s