This is the implementation of the following paper:
R. Kaviani Baghbaderani, Y. Qu. H. Qi, C. Stutts, Representative-Discriminative Learning for Open-set Land Cover Classification of Satellite Imagery, European Conference on Computer Vision (ECCV), 2020. [Slides]
- Python 3.6
- TensorFlow 1.15
- Numpy 1.19
- Scipy 1.5.1
- Scikit-learn 0.23.1
The code uses the following datasets:
- Pavia University (PaviaU)
- Pavia Center (Pavia)
- Indian Pines (Indian_pines)
To preprocess the Hyperspcetral data and divide it to Known and Unknown sets:
python preprocessing.py --dataset Indian_pines --unk 3 7
To train the network on known set:
python train_rdosr.py --dataset Indian_pines
- To test the network on a combination of known and unknown sets:
python test_rdosr.py --dataset Indian_pines
- Run plot_loss_accu.m which will display the training curves.
- Run plot_histograms_ROC.m which will display the ROC curve.