Git Product home page Git Product logo

mfriendly / hybrid-cnn-rnn-model-for-hyperspectral-satellite-image-classification Goto Github PK

View Code? Open in Web Editor NEW

This project forked from anumitgarg/hybrid-cnn-rnn-model-for-hyperspectral-satellite-image-classification

0.0 0.0 0.0 1.12 MB

The following model uses hybrid CNN- RNN model for classification of each pixel to its corresponding classes. Further the code is developed to classify pixels in accordance with soft as well as hard classification techniques.

License: MIT License

Jupyter Notebook 98.82% Python 1.18%

hybrid-cnn-rnn-model-for-hyperspectral-satellite-image-classification's Introduction

Hybrid CNN-RNN Model for Hyperspectral Satellite Image Classification

Satellite image processing is one of the key research areas in the area of remote sensing. In hyperspectral satellite imaging information from across a wide range of electromagnetic spectrum is collected by satellites. The goal of Remote Sensing is to obtain the spectrum for each pixel in the image of a scene, with the purpose of terrain analysis and generation, topographic mapping.

Traditional statistical approaches provides reasonable success in this field, but the efficiency is limited with respect to the robustness of results. The statistical approaches are parametric, based on an assumed statistical distribution and hence the efficiency and correctness of results closely correlates to the proximity of data to the assumed distribution. Today advancements in artificial intelligence have made autonomous, large scale analysis of imagery possible, now AI can be taught to process Satellite Imagery with a small degree of error.

In the following model we use hybrid CNN- RNN model for classification of each pixel to its corresponding classes. Further the code is developed to classify pixels in accordance with soft as well as hard classification techniques.
1.) HARD CLASSIFICATION : A pixel strictly belongs to a single class.
2.) SOFT CLASSIFICATION : A pixel may belong to more than one class based on its membership value.

Libraries used

  • Keras: Keras is an open-source neural-network library written in Python. Designed to enable fast experimentation with deep neural networks, it focuses on being user-friendly, modular, and extensible.
  • Tensorflow: TensorFlow is a free and open-source software library for dataflow and differentiable programming across a range of tasks. It is a symbolic math library, and is also used for machine learning applications such as neural networks.
  • GDAL: The Geospatial Data Abstraction Library is a computer software library for reading and writing raster and vector geospatial data formats, and is released under the permissive X/MIT style free software license by the Open Source Geospatial Foundation.
  • Pillow: Python Imaging Library is a free library for the Python programming language that adds support for opening, manipulating, and saving many different image file formats.
  • Tkinter: Tkinter is the standard GUI library for Python. Python when combined with Tkinter provides a fast and easy way to create GUI applications.
  • Pickle: The pickle module implements binary protocols for serializing and de-serializing a Python object structure. “Pickling” is the process whereby a Python object hierarchy is converted into a byte stream, and “unpickling” is the inverse operation, whereby a byte stream (from a binary file or bytes-like object) is converted back into an object hierarchy.
  • Numpy: NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.
  • Matplotlib: Matplotlib is a plotting library for the Python programming language and its numerical mathematics extension NumPy.

Description

The repository consists of following files and folders

  • Notebooks: It consists of two jupyter notebooks
    • Hybrid CNN- RNN Model
    • Classification Tool (Hybrid CNN- RNN Model)
  • utils.py: Contains the necessary functions used in the notebook
  • Dataset:
    • Header and Image file (subfebformosat2)
    • Training set of 6 classes
  • Results: Contain image files

Results

htr
HARD CLASSIFICATION


htr
SOFT CLASSIFICATION

hybrid-cnn-rnn-model-for-hyperspectral-satellite-image-classification's People

Contributors

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