A Self-supervised-driven Open-set Unsupervised Domain Adaptation Method for Optical Remote Sensing Image Scene Classification and Retrieval
This repository is the official implementation of A Self-supervised-driven Open-set Unsupervised Domain Adaptation Method for Optical Remote Sensing Image Scene Classification and Retrieval (IEEE TGRS 2023).
Authors: Siyuan Wang, Dongyang Hou and Huaqiao Xing
- This code is written for
python3
. - pytorch >= 1.7.0
- torchvision
- numpy, prettytable, tqdm, scikit-learn, matplotlib, argparse, h5py
Download dataset from the following link (code is xos6
):
The pipeline for training with SSOUDA is the following (The code is still being optimized):
- Train the model. For example, to run an experiment for UCM_LandUse dataset (source domain) and NWPU-RESISC45 dataset (target domain), run:
python ssouda.py /your_path/SSOUDA_dataset/ -s UCMD -t NWPU -a resnet50 --epochs 60 --seed 1 --log logs/ucmd_nwpu
- Evaluate the model.
python ssouda.py /your_path/SSOUDA_dataset/ -s UCMD -t NWPU -a resnet50 --epochs 60 --seed 1 --log logs/ucmd_nwpu --phase test
This code is heavily borrowed from Transfer-Learning-Library
If you find our work useful in your research, please consider citing our paper:
@ARTICLE{10078892,
author={Wang, Siyuan and Hou, Dongyang and Xing, Huaqiao},
journal={IEEE Transactions on Geoscience and Remote Sensing},
title={A Self-supervised-driven Open-set Unsupervised Domain Adaptation Method for Optical Remote Sensing Image Scene Classification and Retrieval},
year={2023},
doi={10.1109/TGRS.2023.3260873}
}
Please contact [email protected] if you have any question on the codes.