Giter Club home page Giter Club logo

ssrn's Introduction

Implementation of SSRN for Hyperspectral Image Classification

Paper links: IEEE T-GARS paper and IGARSS2017 paper. Code download link: SSRN code.

Here are the bibliography info:

@article{zhong2018spectral,
  title={Spectral-Spatial Residual Network for Hyperspectral Image Classification: A 3-D Deep Learning Framework},
  author={Zhong, Zilong and Li, Jonathan and Luo, Zhiming and Chapman, Michael},
  journal={IEEE Transactions on Geoscience and Remote Sensing},
  volume={56},
  number={2},
  pages={847--858},
  year={2018},
  publisher={IEEE}
}

Descriptions

In this paper, we designed an end-to-end spectral-spatial residual network (SSRN) that takes raw 3D cubes as input data without feature engineering for hyperspectral image classification. In this network, the spectral and spatial residual blocks consecutively learn discriminative features from abundant spectral signatures and spatial contexts in hyperspectral imagery (HSI).

Fig.1 Spectral Residual Block

Fig.2 Spatial Residual Block

Fig.3 Spectral-Spatial Residual Network with a 7x7x200 input HSI volume. The network includes two spectral and two spatial residual blocks. An average pooling layer and a fully connected layer transform a 5x5x24 spectral-spatial feature volume into a 1x1xL output feature vector

The proposed SSRN is a supervised deep learning framework that alleviates the declining-accuracy phenomenon of other deep learning models. Specifically, the residual blocks connect every other 3D convolutional layer through identity mapping, which facilitates the back propagation of gradients. Furthermore, we impose batch normalization on every convolutional layer to regularize the learning process and improve the classification performance of trained models. Quantitative and qualitative results demonstrate that SSRN achieved the state-of-the-art HSI classification accuracy in different kinds of hyperspectral datasets.

Prerequisites

When you create a conda environment, check you have installed the packages in the package-list. You can also refer to the managing environments of conda.

Usage

Train models with commonly studied hyperspectral imagery (HSI) datasets:

$ python ./SSRN_IN.py
$ python ./SSRN_UP.py

Evaluate saved trained models:

$python ./Load_Models/Load_IN.py
$python ./Load_Models/Load_UP.py

Illustrate final classification maps:

$python ./Classification\ Maps/IN_classification_maps.py
$python ./Classification\ Maps/UP_classification_maps.py

If you encountered problems like " no such file or direcotry", please check the corresponding paths and change them to absolute paths.

Results

Indian Pines (IN) dataset

Fig.4 The IN dataset classification result (Overall Accuracy 99.44%) of SSRN using 20% samples for training. (a) False color image. (b) Ground truth labels. (c) Classification map.

University of Pavia (UP) dataset

Fig.5 The UP dataset classification result (Overall Accuracy 99.91%) of SSRN using 10% samples for training. (a) False color image. (b) Ground truth labels. (c) Classification map.

IGARSS Presentation

IMAGE ALT TEXT HERE

Acknowledgement

Part of codes is from a wonderful implementation of ResNet by Raghavendra Kotikalapudi.

ssrn's People

Contributors

zilongzhong avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.