Feature extraction plays a key role in pattern recognition. Here we present a rotation-invariant feature extraction methodology based on a structural approach using co-occurrence statistics.
Graphical abstract of Structural Co-occurrence Matrix (SCM) used for feature extraction
- provided SCM source code can be used to analyze 1-D signals, and n-dimensional data with code adaptations.
Rotation-invariant Feature Extraction using a Structural Co-occurrence Matrix was published in Measurement v.94, p.406-415, dec/2016 – Elsevier. Database and source code can be used if properly cited.
We assessed the performance of our method comparing it to a gray-level co-occurrence matrix, local binary patterns and invariant moments in pattern recognition experiments. The results show that the proposed method provides an efficient and fast way to analyze digital images.
- Read this document for further information and examples (only in portuguese).
- A structural approach for image analysis based on co-occurrence statistics.
- Examples of how to set the parameters and how to use the proposed methodology.
- A set of attributes to describe the low-level image structures.
- A comparison of our method and three rotation-invariant feature extraction methods.
- Evaluation of our method applied to image classification on different databases.
The files used to evaluate the proposed methods are as following:
- CAST IRON – Database (Click here for download)
- EPISTROMA – Database (Click here for download)
- EMPHYSEMA – Database (Click here for download)
Feature extraction methods
- SCM features (8 rotational invariant)
- GLCM features are computed in 4 directions and can be considered rotational invariant (MATLAB functions ‘graycomatrix’ and ‘graycoprops’)
- LBP features are contrast invariant and can be used as rotational invariant (click here to see an example) (click here to see the MATLAB code)
- Hu moments: invariant to rotation (click here to see the MATLAB code)
Machine learning algorithms
- SVM: Support vector machine (click here to see the MATLAB code)
- OPF: Optimum-path forest (click here to see the C code)
- DA : Discriminant analysis (MATLAB function ‘classify’)
- U-MATRICES are generated using SOM TOOLBOX (click here to see the MATLAB code)
Matlab code to generate the results