Skip to content

A Bag of Visual Words reproduction of the ICCV of 2005 in MATLAB as a part of my thesis research

Notifications You must be signed in to change notification settings

Va-Ns/Bag-of-Features

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bag of Features Image Classification in MATLAB

This project is inspired by the code snippets available from the ICCV of 2005. It implements a Bag of Features model for image classification in MATLAB. The model involves several steps including feature extraction, vector quantization, and classification using the intrinsic functions of MATLAB.

Project Highlights

  • Feature Extraction: Utilizes SIFT features to identify points of interest in images.
  • Vector Quantization: Employs k-means clustering to quantize feature vectors.
  • Classification: Uses a Support Vector Machine classifier with a grid search for the optimization of its parameters.

Project Structure

  • Bag_Of_Features.m: The main script that orchestrates the model execution.
  • BoW_final.mlx: A MATLAB Live Script with detailed explanations and results.
  • compute_descriptors.ln, discrete_sampler.m, vgg_*: Various utility scripts for feature extraction and processing.
  • Edge_Sampling_VN.m: Scripts for edge sampling techniques.
  • images/: Directory containing image datasets for training and testing the model.

How to Run

To run this project:

  1. Ensure MATLAB is installed on your system.
  2. Clone this repository to your local machine.
  3. Open MATLAB and navigate to the cloned project directory.
  4. Run the Bag_Of_Features.m script to start the image classification model.
  5. During the Bag_Of_Features.m execution, select the images/ folder to access the image data.
  6. Select the folder where the Edge_Sampling_VN.m is located.
  7. Let the script do its magic.

The produced data, meaning:

  • The Codebook
  • The Quantized vectors and
  • The SIFT features of the interest points

Along with:

  • The Interest points
  • The Scale
  • The Score and
  • The x and y coordinates of the interest points

are located in the Workspace file

Disclaimer

This repository is a simple form of reproduction with quite a few changes compared to the initial files that are provided in the ICCV. In keeping with that theme, one can identify files, such as compute_descriptors.ln, discrete_sampler.m, vgg_*, that belong in the initial draft of the contributors yet are important for the completion of this work. All acknowledgements for those files go to the authors!

License

Following the notion of the authors, this code is for teaching/research purposes only.

About

A Bag of Visual Words reproduction of the ICCV of 2005 in MATLAB as a part of my thesis research

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published