Giter Site home page Giter Site logo

adityashaha / cbir-using-msd Goto Github PK

View Code? Open in Web Editor NEW
9.0 3.0 2.0 1.11 MB

The project is an attempt to implement the paper Content Based Image Retrieval using Micro structure Descriptors by Guang-Hai Liu et all. in Python

Jupyter Notebook 99.20% Python 0.80%
content-based-image-retrieval cbir msd micro-structure-descriptors image-retrieval

cbir-using-msd's Introduction

CBIR-Using-MSD

The project is an attempt to implement the paper Content Based Image Retrieval using Micro structure Descriptors by Guang-Hai Liu et al. in Python.The project was done under the guidance of Prof. Naveen Kumar N

Micro Structure Descriptors

Microstructures can be defined in two phases

  • In the pre-attentive stage, primitive features such as colors and orientation are extracted effortlessly and registered in special modules of feature maps
  • In the attentive stage, focal attention is required to recombine the separate features to form objects

Algorithm :

  • Covert RGB color space to HSV color space for detecting the micro-structure features.
  • In the HSV color space, quantize the color image into 72 colors and detect the edge orientation
  • The micro-structures are defined in the edge orientation image, and the MSD is built based on the underlying colors in micro-structures
  • The MSD is used to represent the image features for image retrieval

Repository Structure

  • 215.jpg : It is an image from Corel-10k dataset used for visualization of the histogram in Image Retieval based on Micro Structure Description.ipynb
  • Image Retieval based on Micro Structure Description.ipynb : It is a Jupyter notebook used for the explaination of code for extracting microstructure descriptors from the input image 215.jpg.
  • Image Retieval based on Micro Structure Description - Retrieval Phase.ipynb : It is a Jupyter notebook used for the explaination of code for retrieval of image from the MongoDB database.
  • MSD.py : The python code is responsible for extracting the features from the images and seeding it into the MongoDB database.
  • Retrieval.py : The python code is responsible for retrieving the similar images from the database by taking the number(e.g. 13.jpg) from the database.
  • dump>test_database: The folder contains the actual dump of the seeded images in the database which can be directly restored in the local database for checking the results.The 72 bin feature-vector for each image was extracted.

Restoring the mongodump

  • Open the terminal in Linux or Command Line in windows
  • For windows make sure that mongo is in the environment variables. if not follow this tutorial
  • In the repository directory type
cd dump
cd test_database
mongorestore --db database_name .

Dataset used for testing the algorithm

Dataset used for testing the algorithm is Corel-10k dataset. Corel-10k dataset contains 100 categories,and there are 10,000 images from diverse contents such as sunset, beach, flower, building, car, horses, mountains, fish, food, door, etc. Each category contains 100 images of size 192ร—128 or 128ร—192 in the JPEG format. Corel-5K dataset consists of the first 5000 images, and Corel-10K dataset consists of the 10,000 images. The dataset can be downloaded from Corel-10k

cbir-using-msd's People

Contributors

adityashaha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.