Giter Club home page Giter Club logo

specpatconv3d-network's Introduction

SpecPatConv3D Network

📌Description

This is an implementation code for Convolution Based Spectral Partitioning Architecture for Hyperspectral Image Classification published at International Geoscience and Remote Sensing symposium 2019.

If you have any question related to the paper or the code, feel free to contact Ringo Chu ([email protected])


This is a neural network architecture using 3D Convolutional neural network with partitioning on \lamba dimension to classify unlabelled pixel on Hyperspectral images, and achieving the state-of-art performance on classification with labelled dataset on Indian Pines, Salinas scenes.

🗂Prerequisites

  • Python3.7
  • TensorFlow 1.10
  • numpy
  • scipy
  • argparse
  • tqdm
  • (Optional) CUDA v9.0 and cuDNN v7.0
  • (Optional) TensorFlow GPU

We recommend you to create a Python Virtual environment, issue the command pip install -r requirement.txt in your command prompt/terminal to install all dependencies required.

If you use Anaconda, you could issue this command to create a virtual environment: conda env create --file SpecPatConv3D.yml

The code will be soon updated to TensorFlow 2.0 and will also be providing a PyTorch implementation, hold on tight and get updated!

All programs are texted under Ubuntu, MacOS, Windows10. For windows user, you'll need to download dataset manually with instructions below.

🛠General guidance using this repository

  • Acquire the Dataset (Do this Step if you're using Windows)

    • Hyperspectral Datasets used in this research work Several hyperspectral datasets are available on the UPV/EHU wiki. Download IndianPines_corrected.mat or Salinas_corrected.mat or KSC.mat or Botswana.mat and unzip in the folder data
  • Preprocess and prepare dataset

    • Run the following command: python preprocess.py --data Indian_pines --train_ratio 0.15 --validation_ratio 0.05
    • --data : Choose from Indian Pines, Salinas, KSC or Botswana
  • Train the model

    • Run the following command: python train.py --data Indian_pines --epoch 650
    • --data : Choose from Indian Pines, Salinas, KSC or Botswana
  • Evaluate the model

    • Run this command: python evaluate.py --data Indian_pines

📝Citation

If you find paper helpful, please consider citing us.❤


@inproceedings{igarss19chu,
  author    = {Ringo S.W. Chu and Ho-Chung Ng and Xiwen Wang and Wayne Luk},
  title     = {Convolution Based Spectral Partitioning Architecture for Hyperspectral Image Classification},
  booktitle = {{IEEE Geoscience and Remote Sensing symposium}},
  year      = {2019}
}

specpatconv3d-network's People

Contributors

ringochuchudull avatar ucalyptus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.