Pipeline for the Semantic Segmentation (i.e., classification) of Remote Sensing Imagery
Clone or download

README.md

EarthMapper

Project repository for EarthMapper. This is a toolbox for the semantic segmentation of non-RGB (i.e., multispectral/hyperspectral) imagery. We will work on adding more examples and better documentation.

Description

This is a classification pipeline from various projects that we have worked on over the past few years. Currently available options include:

Pre-Processing

  • MinMaxScaler - Scale data (per-channel) between a given feature range (e.g., 0-1)
  • StandardScaler - Scale data (per-channel) to zero-mean/unit-variance
  • PCA - Reduce dimensionality via principal component analysis
  • Normalize - Scale data using the per-channel L2 norm

Spatial-Spectral Feature Extraction

  • Stacked Convolutional Autoencoder (SCAE)
  • Stacked Multi-Loss Convolutional Autoencoder (SMCAE)

Classifiers

  • SVMWorkflow - Support vector machine with a given training/validation split
  • SVMCVWorkflow - Support vector machine that uses n-fold cross-validation to find optimal hyperparameters
  • RandomForestWorkflow - Random Forest classifier
  • MLP - Multi-layer Perceptron Neural Network classifier
  • SSMLP - Semi-supervised MLP Neural Network classifier

Post-Processors

  • Markov Random Field (MRF)
  • Fully-Connected Conditional Random Field (CRF)

Dependencies

Instructions

Installation

$ python setup.py

Run example

$ python examples/example_pipeline.py

Citations

If you use our product, please cite:

Points of Contact

Also Check Out