This repository contains Python code for the classification of Hyperspectral Images (HSI) using Bayesian Convolutional Neural Networks (CNN). The project focuses on leveraging Bayesian techniques to provide uncertainty estimates in the classification process. The dataset used for experimentation is the Pavia University dataset.
The Pavia University dataset consists of hyperspectral images captured by remote sensing devices. It contains high-dimensional spectral data with spatial information. The images are labeled with different classes representing different land cover types.
Bayesian CNNs extend traditional CNNs by incorporating uncertainty estimates into the classification process. This allows for more robust predictions and quantification of prediction uncertainty, which is particularly useful in remote sensing applications where uncertainty assessment is crucial.
The project applies the following techniques for Bayesian CNN-based classification:
- Bayesian Inference: Bayesian techniques are used to estimate the posterior distribution of model parameters, allowing for uncertainty estimation in predictions.
- Variational Inference: Variational methods are employed to approximate complex posterior distributions and make the training process tractable.
Noting the effectiveness of Bayesian CNN for the small-size classes.
This project demonstrates the application of Bayesian CNNs for the classification of Hyperspectral Images (HSI) using Python. The incorporation of Bayesian techniques enables uncertainty-aware classification, which is valuable for decision-making in remote sensing applications.