/SAR-WATG

Classification of SAR Images with Information Theory Quantifiers

Primary LanguageHTML

Analysis and Classification of SAR Textures using Information Theory

This repository contains all the data and code used to develop our research in the related paper submitted to J-STARS.


Abstract

The use of Bandt-Pompe probability distributions and descriptors of Information Theory has been presenting satisfactory results with low computational cost in the time series analysis literature. However, these tools have limitations when applied to data without time dependency. Given this context, we present a newly proposed technique for texture analysis and classification based on the Bandt-Pompe symbolization for SAR data. It consists of (i) linearize a 2-D patch of the image using the Hilbert-Peano curve, (ii) build an Ordinal Pattern Transition Graph that considers the data amplitude encoded into the weight of the edges; (iii) obtain a probability distribution function derived from this graph; (iv) compute Information Theory descriptors (Permutation Entropy and Statistical Complexity) from this distribution and use them as features to feed a classifier. The ordinal pattern graph we propose considers that the weight of the edges is related to the absolute difference of observations, which encodes the information about the data amplitude. This modification takes into account the scattering properties of the target and leads to the characterization of several types of textures. Experiments with data from Munich urban areas, Guatemala forest regions and Cape Canaveral ocean samples show the effectiveness of our technique in homogeneous areas, which achieves satisfactory levels of separability. The two descriptors chosen in this work are easy and quick to calculate and are used as input for a k-nearest neighbor classifier. Experiments show that this technique presents results similar to state-of-the-art techniques that employ a much larger number of features and, consequently, require a higher computational cost.

Methodology

Our procedure consists of the following steps:

1. extract the HHHH backscatter magnitudes of quad-polarimetric L-band SAR image, obtaining the image texture;

2. linearizing a 2-D patch of data using the Hilbert-Peano curve;

3. employing the Bandt-Pompe symbolization to generate the set of ordinal patterns for each data sequence;

4. building the Ordinal Pattern Transition Graph with weighted edges to obtain a probability distribution function derived from this graph;

5. computing the Entropy and Statistical Complexity of this distribution and, finally, classify regions.

Datasets

For this analysis, we used the HH backscatter magnitudes of three quad-polarimetric L-band SAR images from the NASA Jet Propulsion Laboratory’s (JPL’s) uninhabited aerial vehicle synthetic aperture radar (UAVSAR) sensor with L = 36 nominal looks, available at jet propulsion laboratory:

We manually selected 200 samples of size 128 x 128 to compose the dataset used in the experiments. It is organized as follows:

  • 40 samples from Guatemalan forest regions;
  • 40 samples from Guatemalan pasture regions;
  • 80 samples from the oceanic regions of Cape Canaveral, divided into two types with different contrast; and
  • 40 samples of urban regions of the city of Munich.

The repository is organized as follows:

  • /Code - the scripts used to develop our research;
  • /Data - the auxiliary data used during analysis;
  • /Figures- Illustrations used in final report;
  • /Images- Illustration of the results obtained throughout the research, alongside the methodology files corresponding to our overview figure;
  • /Publications- the scientific reports developed during the study.

Software requirements

This code version is tested on the Linux operating system Ubuntu 18.10.

Installing R 3.6.0 on Ubuntu 18.10

$ sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu disco-cran35/'
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9
$ sudo apt update
$ sudo apt install r-base-dev

Installation Guide

Prior to running the script experiments, we need to install the following required packages for R:

install.packages(c('devtools', 'ggplot2', 'ggthemes', 'ggpubr', 'gtools', 'igraph', 'statcomp'))

The latest version of these packages was used by October 2019:

devtools       2.2.2 
ggplot2        3.3.0       
ggthemes       4.2.0      
ggpubr         0.2.5  
gtools         3.8.2      
igraph         1.2.4.1       
statcomp       0.0.1.1000  
caret          6.0.84
EnvStats       2.3.1
MLmetrics      1.1.1
mltest         1.0.1
ggrepel        0.8.2
latex2exp      0.4.0
raster         2.9.5

Additional files


If this repository was useful, please reference:

@article{9229107,
  author={E. {Chagas} and A. C. {Frery} and O. {Rosso} and H. {S.Ramos}},
  journal={IEEE Journal of Selected Topics in Applied Earth Observations and Remote Sensing}, 
  title={Analysis and Classification of SAR Textures using Information Theory}, 
  year={2020},
  volume={},
  number={},
  pages={1-1},
  doi={10.1109/JSTARS.2020.3031918}
  }

Finally, if you have any questions or you want to report anything, feel free to reach me at: eduarda.chagas@dcc.ufmg.br.