kkgadiraju / SatelliteImageClassification

Pixel based classification of satellite imagery - feature generation using Orfeo Toolbox, feature selection using Learning Vector Quantization, CLassification using Decision Tree, Neural Networks, Random Forests, KNN and Naive Bayes Classifier

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SatelliteImageClassification

Pixel based classification of satellite imagery

  • sample training and testing points generated using Point Sampling plugin in QGIS
  • feature generation using Orfeo Toolbox
  • feature selection using Learning Vector Quantization
  • CLassification using Decision Tree, Neural Networks, Random Forests, KNN and Naive Bayes Classifier
  • Ensemble classifier for Flood Inundation Mapping - classifies a pixel as water if 2 or more than 2 of the above classifiers classify a pixel as water
  • Mode filter used to remove individually wrongly classified pixels
  • Classification accuracy to measure goodness of each model

Outcomes of the best classifier (Multi Layer Perceptron) are as shown below:

To compile and run SatelliteClassification.java, you need weka.jar that you can download from the Weka website.

Compile code:  javac -cp weka.jar SatelliteClassification.java  
Run code: java -cp weka.jar:. SatelliteClassification  "trainingFile" "testingFile" "classifiername"
  • order:

|clouds: white | |roads: yellow | |shadow: black | |urban: pink | |vegetation: green | |water: blue |

Original LANDSAT 8 Image during Flooding Multi Layer Perceptron Classification
Original LANDSAT 8 Image during Flooding Multi Layer Perceptron Classification
Ensemble Classifier: Water vs Everything, without filtering Ensemble Classifier: Water vs Everything, after mode filtering
Ensemble Classifier Ensemble Classifier - After Mode Filter

References:

About

Pixel based classification of satellite imagery - feature generation using Orfeo Toolbox, feature selection using Learning Vector Quantization, CLassification using Decision Tree, Neural Networks, Random Forests, KNN and Naive Bayes Classifier

License:MIT License


Languages

Language:R 82.5%Language:Java 17.5%