Skip to content

Remote Sensing Image Classification via Improved Cross-Entropy Loss and Transfer Learning Strategy Based on Deep Convolutional Neural Networks

Notifications You must be signed in to change notification settings

AliBahri94/Remote-Sensing-Image-Classification-via-Improved-Cross-Entropy-Loss-and-Transfer-Learning-Strategy

Repository files navigation

Remote Sensing Image Classification via Improved Cross-Entropy Loss and Transfer Learning Strategy Based on Deep Convolutional Neural Networks

Official implementation for Remote Sensing Image Classification via Improved Cross-Entropy Loss and Transfer Learning Strategy Based on Deep Convolutional Neural Networks, IEEE Geoscience and Remote Sensing Letters 2019

Citation

Please cite our project if it is helpful for your research

A. Bahri, S. G. Majelan, S. Mohammadi, M. Noori and K. Mohammadi, "Remote Sensing Image Classification via Improved Cross-Entropy Loss and Transfer Learning Strategy Based on Deep Convolutional Neural Networks," in IEEE Geoscience and Remote Sensing Letters.

UCMerced land-use dataset

21 class UC Merced land-use Dataset (RGB)

Architecture

Our Architecture

Dependencies

  • 1 Nvidia GPU (4h training on Titan Xp)
  • Python3
  • tensorflow 1.15
  • numpy 1.17.5
  • keras 2.2.5

Download original datasets

Use ready datasets (splited to train and valid parts)

Trained models

Project layout (recommended)

Remote_Sensing_Image_Classification/
├── checkpoint
├── data
│   ├── AID (train:70%, valid:30%)
│   ├── AID (train:50%, valid:50%)
│   ├── UCMerced (train:80%, valid:20%)
│   ├── NWPU-RESISC45 (train:30%, valid:70%)
│   └── NWPU-RESISC45 (train:20%, valid:80%)
├── docs
└── trained_models
    ├── NasNet_Mobile_New_Loss3.02-0.9810(AID_70_30).h5
    ├── NasNet_Mobile_New_Loss3.19-0.9708(AID_50_50).h5
    ├── NasNet_Mobile_New_Loss3.117-0.9952(UCMerced_80_20).h5
    ├── NasNet_Mobile_New_Loss3_Dore_3.06-0.9356(NWPU_20_80).h5
    └── NasNet_Mobile_New_Loss3_94.43(NWPU_30_70).h5

Quick start to validate(using ready datasets)

  1. Use ready dataset path (only valid part)
  2. Download trained models and put into trained_models/ directory
  3. Run python predict.py
  4. Results will be shown.
  • Note: Configurations is in the config.py file.

Start to validate (using original datasets)

  1. Download original dataset and put into data/ directory.
  2. Unzip dataset
  3. Run python divide_dataset.py to split dataset to train and valid folder
  4. Download trained models and put into trained_models/ directory
  5. Run python predict.py
  6. Results will be shown.
  • Note: Configurations is in the config.py file.

Quick start to Training (using ready datasets)

  1. Use ready dataset path
  2. Run python train.py
  3. All Models will be saved into checkpoint/ direcory
  • Note: Configurations is in the config.py file.

Start to Training (using original datasets)

  1. Download original dataset and put into data/ directory
  2. Unzip dataset
  3. Run python divide_dataset.py to split dataset to train and valid folder
  4. Run python train.py
  5. All Models will be saved into checkpoint/ direcory
  • Note: Configurations is in the config.py file.

Quantitative and Qualitative results

Bootstrap Chart for NWPU-RESISC45 Dataset



OVERALL ACCURACY OF THE REFERENCE AND THE PROPOSED METHOD ON THE UC MERCED DATASET



OVERALL ACCURACY OF THE REFERENCE AND THE PROPOSED METHOD ON THE AID DATASET (50% TRAINING, 50% TESTING)



OVERALL ACCURACY OF THE REFERENCE AND THE PROPOSED METHOD ON THE AID DATASET (70% TRAINING, 30% TESTING)



OVERALL ACCURACY OF THE REFERENCE AND THE PROPOSED METHOD ON THE NWPU-RESISC45 DATASET (20% TRAINING,80% TESTING)



OVERALL ACCURACY OF THE REFERENCE AND THE PROPOSED METHOD ON THE NWPU-RESISC45 DATASET (30% TRAINING,70% TESTING)

About

Remote Sensing Image Classification via Improved Cross-Entropy Loss and Transfer Learning Strategy Based on Deep Convolutional Neural Networks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages