analazovic / TextureClassification

Implementation of different texture feature extractors and texture classifiers for both grayscale and RGB images.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Texture Classification

Implementation of different texture feature extractors and texture classifiers for both Grayscale and RGB images.

The implemented algorithms are tested on Outex-TC databases. Algorithms for grayscale images are tested on Outex_TC_00010-r database, while algorithms for RGB images are tested on Outex_TC_00010-c database.

Algorithms are implemented in either MATLAB or Python.

Grayscale Texture Image Classification

Methods used for Feature Extraction of grayscale texture images are based on:

  1. Gray level co-occurrence matrix (GLCM)
  2. Discrete wavelet packet transform (DWPT)

Inside the folder, there is example of plotting Wavelet energy (DWPTExample) that is used for extracting features for texture classification, using function PlotDWPT.

The classification is done in the Main_program, as well as classifier evaluation.
There is also an implementation of SVM classifier that classifies texture images using Wavelet features.

Inside the folder, there are three .mat files containing extracted GLCM features, Wavelet features and obtained results:

RGB Texture Image Classification

Features of RGB texture images are extracted using:

  1. Discrete wavelet packet transform (DWPT)
  2. Pretrained AlexNet CNN without the last layer

Wavelet based classification of RGB images uses the same feature extraction (Wavelet_image_features) as in the case of grayscale images. In contrast to extracted feature vector of grayscale images, the extracted features of RGB images have three channels for each color channel (R, G, B). The extracted features are given in Wavelet_Features_RGB.

The classification is done in the Main_program_RGB.

Pretrained AlexNet is used to extract 4096 dimensional feature vector. Implementation is given in AlexNet_Feature_Extraction.

The extracted feature vectors are given in two seperate files:

Dimension of the extracted feature vector is reduced using the PCA algorithm, after which an SVM classifier is trained on new features.

About

Implementation of different texture feature extractors and texture classifiers for both grayscale and RGB images.


Languages

Language:Jupyter Notebook 52.2%Language:MATLAB 47.8%