Skip to content
/ MESSL Public

Multiform Ensemble Self-Supervised Learning for Few-Shot Remote Sensing Scene Classification

Notifications You must be signed in to change notification settings

OMEGAFSL/MESSL

Repository files navigation

MESSL

Multiform Ensemble Self-Supervised Learning for Few-Shot Remote Sensing Scene Classification

This repository contains the official implementation of Multiform Ensemble Self-Supervised Learning for Few-Shot Remote Sensing Scene Classification (MES2L).

You can use this repository for testing, and we will sort out and upload the rest of the code.

Requirements

This repo requires the following:

numpy==1.19.2
pandas==1.1.5
Pillow==9.2.0
scipy==1.6.2
torch==1.8.0
torchvision==0.9.0

you can run pip3 install -r requirements.txt to install all the packages.

Datasets

For the testing experiments, we used 3 public dataset as following, NWPU RESISC45, UC Merced and WHU-RS19. And we divided these datasets into 3 subsets, training, validation and test set,the number of categories for subsets of each dataset is as follows:

NWPU RESISC45

train:25,Val:10,Test:10

UC Merced

train:10,Val:5,Test:6

WHU-RS19

train:9,Val:5,Test:5

You can download the dataset at this Google Driver link, then you need to put it in the root directory of the project, and then run the following script to get the corresponding CSV file.

python create_rsdata_labels.py

Model Files

You can download the corresponding model file and feature file through this google driver link. The name of the file indicates the type of the file:

  • mes2l_features.pt1{$k}: feature file of k shot test(mes2l)
  • ce_features.pt11:feature file of 1 shot test(Only cross-entropy loss function)

Test

You can run the following script to test:

  • Inductive
python main.py --dataset UCM --test-features "['model_file/UCM/mes2l_features1.pt11']" --preprocessing ME --n-shots 1
  • Transductive
python main.py --dataset UCM --test-features "['model_file/UCM/mes2l_features1.pt11']" --postprocessing ME  --transductive --transductive-softkmeans --transductive-temperature-softkmeans 5 --n-shots 1

About

Multiform Ensemble Self-Supervised Learning for Few-Shot Remote Sensing Scene Classification

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages