Skip to content

Latest commit

 

History

History
63 lines (46 loc) · 2.26 KB

File metadata and controls

63 lines (46 loc) · 2.26 KB

Content-Based Image Retrieval (CBIR) System

Introduction

This repository contains a Content-Based Image Retrieval (CBIR) system that extracts features from a query image and retrieves similar images from a database. The system implements various image features, including color-based, texture-based, shape-based, and deep methods. It also supports feature fusion and dimension reduction.

Feature Extraction

Color-Based Features

Texture-Based Features

Shape-Based Features

Deep Methods

Local Descriptors

Feature Fusion

Some features may lack robustness, and feature fusion is implemented for enhancement.

Dimension Reduction

To address the curse of dimensionality, random projection is used.

Evaluation

The CBIR system evaluates images based on feature similarity using Mean Average Precision (MAP) metrics. The evaluation is implemented in evaluate.py.

Method Color Daisy Edge Gabor HOG VGG Net ResNet
Mean MAP (depth=10) 0.614 0.468 0.301 0.346 0.450 0.914 0.944

How to Run the Code

Part 1: Building the Image Database

  1. Clone the repository.
  2. Create a directory named database and organize your images into subdirectories based on classes.

Part 2: Running the Code

  • Streamlit User Interface
streamlit run gui.py
  • Alternatively you can run search queries via query.py script.

Data Augmentation

Run the data augmentation script to get more images in the same directory.

python data_augmentation/augmentor.py <database_path> [flipv, fliph, noise, rot, trans, zoom, blur]

References