Skip to content

Wala-Touati/CBIR

 
 

Repository files navigation

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

About

🏞 A content-based image retrieval (CBIR) system

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%