Awesome
Unsupervised-Segmentation-of-Hyperspectral-Remote-Sensing-Images-with-Superpixels
The method returns an unsupervised region segmentation for hyperspectral remote sensing images without requiring further information like the number of segmentation classes or a-priori knowledge about the type of land-cover or land-use (e.g. water, vegetation, building, etc...). It is divided into two steps:
- Augmented Hyperspectral SLIC superpixels: a technique of superpixels segmentation that adapts the original SLIC to hyperspectral images and make use of the Mean-shift algorithm to improve the segmentation
- Unsupervised region segmentation: the segmentation of the regions in different classes using the original Hyperspectral information together with the superpixels information extracted in the first step.
Datasets
The datasets used for the evaluation are Pavia Center, Pavia University, Salinas, and SalinasA, which are available at http://www.ehu.eus/ccwintco/index.php/Hyperspectral_Remote_Sensing_Scenes.
Superpixel Evaluation
The evaluation of the Superpixels segmentation makes use of the undersegmentation error.
Unsupervised region segmentation evaluation
The evaluation of the Unsupervised region segmentation makes use of NMI (Normalized Mutual Information), ARI (Adjusted Rand Index) and F1 metrics.
How to use
Insert the dataset in a "Datasets" folder. For each dataset, the hyperspectral image, the groud-truth, and the value of the background in the ground-truth need to be furnished for the elaboration and evaluation of the datasets. Functions for Pavia Center, Pavia Univesity, Salinas, and SalinasA loading are already available. To use these functions the datasets and respective ground-truth need to be inserted in the "Datasets" folder and respectively in another folder as follows:
Dataset --> Folder
Pavia Center --> Datasets/Pavia
Pavia Center --> Datasets/Pavia_university
Salinas --> Datasets/Salinas
SalinasA --> Datasets/Salinas
To start the method, select the right function to load the right dataset in the main and start the algorithm. Matlab needs to be opened from an environment with python installed due to the functionalities of python that are used in the code.
Contacts
Email: m.barbato2@campus.unimib.it
Citation
@article{barbato2022unsupervised,
title = {Unsupervised segmentation of hyperspectral remote sensing images with superpixels},
journal = {Remote Sensing Applications: Society and Environment},
volume = {28},
pages = {100823},
year = {2022},
issn = {2352-9385},
doi = {https://doi.org/10.1016/j.rsase.2022.100823},
url = {https://www.sciencedirect.com/science/article/pii/S2352938522001318},
author = {Barbato, Mirko Paolo and Napoletano, Paolo and Piccoli, Flavio and Schettini, Raimondo}
}