PCLUDA: A Pseudo-Label Consistency Learning- Based Unsupervised Domain Adaptation Method for Cross-Domain Optical Remote Sensing Image Retrieval
This repository is the official implementation of PCLUDA: A Pseudo-Label Consistency Learning-Based Unsupervised Domain Adaptation Method for Cross-Domain Optical Remote Sensing Image Retrieval (IEEE TGRS 2023).
Authors: Dongyang Hou, Siyuan Wang, Xueqing Tian 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 chk8
):
The pipeline for training with PCLUDA is the following:
- Train the model. For example, to run an experiment for UCM_LandUse dataset (source domain) and AID dataset (target domain), run:
python pcluda.py /your_path/PCLUDA_dataset/ -s UCMD -t AID -a resnet50 --epochs 30 --seed 1 --log logs/pcluda/ucmd_aid
- Evaluate the classification performance of the model.
python pcluda.py /your_path/PCLUDA_dataset/ -s UCMD -t AID -a resnet50 --epochs 30 --seed 1 --log logs/pcluda/ucmd_aid --phase test
- Test the remote sensing image retrieval performance. The retrieval code is under continuous optimization.
python pcluda.py /your_path/PCLUDA_dataset/ -s UCMD -t AID -a resnet50 --epochs 30 --seed 1 --log logs/pcluda/ucmd_aid --phase retrieval
This code is heavily borrowed from Transfer-Learning-Library
If you find our work useful in your research, please consider citing our paper:
@article{hou2023pcluda,
title={PCLUDA: A Pseudo-label Consistency Learning-Based Unsupervised Domain Adaptation Method for Cross-domain Optical Remote Sensing Image Retrieval},
author={Hou, Dongyang and Wang, Siyuan and Tian, Xueqing and Xing, Huaqiao},
journal={IEEE Transactions on Geoscience and Remote Sensing},
year={2023},
publisher={IEEE}
}
Please contact [email protected] if you have any question on the codes.