Home

Awesome

<div align="center"> <h1><img src="images/CrossEarth.png" width="5%"> CrossEarth: Geospatial Vision Foundation Model for Domain Generalizable Remote Sensing Semantic Segmentation</h1>

Ziyang Gong<sup>1 ∗</sup>, Zhixiang Wei<sup>2 ∗</sup>, Di Wang<sup>3 ∗</sup>, Xianzheng Ma<sup>3</sup>, Hongruixuan Chen<sup>4</sup>, Yuru Jia<sup>56</sup>, Yupeng Deng<sup>1</sup>, Zhenming Ji<sup>1 †</sup>, Xiangwei Zhu<sup>1 †</sup>, Naoto Yokoya<sup>4</sup>, Jing Zhang<sup>3</sup>, Bo Du<sup>3</sup>, Liangpei Zhang<sup>3</sup>

<sup>1</sup> Sun Yat-sen University, <sup>2</sup> University of Science and Technology of China, <sup>3</sup> Wuhan University,

<sup>4</sup> The University of Tokyo, <sup>5</sup> KU Leuven, <sup>6</sup> KTH Royal Institute of Technology

<sup></sup> Equal contribution, <sup></sup> Corresponding author

<img src="https://visitor-badge.laobi.icu/badge?page_id=Cuzyoung.CrossEarth&left_color=%2363C7E6&right_color=%23CEE75F"> <img src="https://img.shields.io/badge/Maintained%3F-yes-green.svg"> <img src="https://img.shields.io/github/stars/Cuzyoung/CrossEarth.svg?logo=github&label=Stars&color=white">

<a href="https://cuzyoung.github.io/CrossEarth-Homepage/"><img src="https://img.shields.io/badge/🌍_Project_Page-E4F578?style=for-the-badge" style="width: 113px;"></a> <a href="https://github.com/Cuzyoung/CrossEarth/"><img src="https://img.shields.io/badge/WeChat-07C160?style=for-the-badge&logo=wechat&logoColor=white" style="width: 80px;"></a> <a href="https://www.linkedin.com/in/ziyang-gong-382a182b1/"><img src="https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge&logo=linkedin&logoColor=white" style="width: 90px;"></a> <a href="https://pan.baidu.com/s/1nOQlZUTeySn6-jiqjheWhQ?pwd=eq40"><img src="https://img.shields.io/badge/Baidu Netdisk-63C7E6.svg?style=for-the-badge&logo=Baidu&logoColor=white" style="width: 123px;"></a> <a href="https://huggingface.co/Cusyoung/CrossEarth/tree/main"> <img src="https://img.shields.io/badge/🤗_Hugging_Face-FFD21E?style=for-the-badge" style="width: 115px;"></a>

<img src="images/teaser_new.png" width="100%"> </div> <br> <br>

🔥🔥🔥 News

📑 Table of Content

<!-- - [Citation](#citation) -->

Visualization

In Radar figure:

In UMAP figures:

<img src="images/visual.png" width="100%">

Environment Requirements:

conda create -n CrossEarth -y
conda activate CrossEarth
conda install pytorch==2.0.1 torchvision==0.15.2 torchaudio==2.0.2 pytorch-cuda=11.7 -c pytorch -c nvidia -y
pip install -U openmim
mim install mmengine
mim install "mmcv>=2.0.0"
pip install "mmsegmentation>=1.0.0"
pip install "mmdet>=3.0.0"
pip install xformers=='0.0.20' 
pip install -r requirements.txt
pip install future tensorboard

Inference steps:

First, download the model weights from the huggingface or Baidu Netdisk in the above badges. Notably, the checkpoints of dinov2_converted.pth and dinov2_converted_1024x1024.pth are needed for inference. Please download them and put them in the CrossEarth/checkpoints folder.

Second, change the file path in experiment config files (configs/base/datasets/xxx.py and configs/CrossEarth_dinov2/xxx.py), and run the following command to inference. (Take 512x512 inference as an example)

python tools/test.py configs/CrossEarth_dinov2/CrossEarth_dinov2_mask2former_512x512_bs1x4.py ./checkpoints/xxx.pth

Notably, save path of pseudo labels is in the experiment config file. When testing CrossEarth on different benchmarks, you also need to change the class number in CrossEarth_dinov2_mask2former.py file.

Training steps:

Coming soon.

Model Weights with Configs

DatasetBenchmarkModelConfigLog
ISPRS Potsdam and VaihingenP(i)2VPotsdam(i)-source.pthdg_potIRRG2RGB_512x512.py-
-P(i)2P(r)Potsdam(i)-source.pthdg_potIRRG2RGB_512x512.py-
-P(r)2P(i)Potsdam(r)-source.pthdg_potRGB2IRRG_512x512.py-
-P(r)2VPotsdam(r)-source.pthdg_potRGB2IRRG_512x512.py-
-V2P(i)Vaihingen-source.pthdg_vai2potIRRG_512x512.py-
-V2P(r)Vaihingen-source.pthdg_vai2potIRRG_512x512.py-
LoveDAUrban2RuralComing Soondg_loveda_rural2urban_1024x1024.pyComing Soon
-Rural2UrbanComing Soondg_loveda_urban2rural_1024x1024.py(Coming Soon)
WHU BuildingA2SWHU-Building-A2S.pthdg_building_aerial2satellite.pyComing Soon
-S2AWHU-Building-S2A.pthdg_building_satellite2aerial.pyComing Soon
DeepGlobe and MassachusettsD2MD2M-Rein/D2M-MTPdg_deepglobe2massachusetts_1024x1024.pyComing Soon
ISPRS Potsdam and RescueNetP(r)2ResPotsdam(r)2RescueNet.pthdg_potsdamIRRG2rescue_512x512.pyComing Soon
-P(i)2ResPotsdam(i)2RescueNet.pthdg_potsdamRGB2rescue_512x512.pyComing Soon
CASIDSub2Subcasid-sub-source.pthdg_casid_subms_1024x1024Coming Soon
-Sub2Temcasid-sub-source.pthdg_casid_subms_1024x1024-
-Sub2Tmscasid-sub-source.pthdg_casid_subms_1024x1024-
-Susb2Trfcasid-sub-source.pthdg_casid_subms_1024x1024-
-Tem2Subcasid-tem-source.pthdg_casid_temms_1024x1024.pyComing Soon
-Tem2Temcasid-tem-source.pthdg_casid_temms_1024x1024.py-
-Tem2Tmscasid-tem-source.pthdg_casid_temms_1024x1024.py-
-Tem2Trfcasid-tem-source.pthdg_casid_temms_1024x1024.py-
-Tms2Subcasid-tms-source.pthdg_casid_troms_1024x1024.pyComing Soon
-Tms2Temcasid-tms-source.pthdg_casid_troms_1024x1024.py-
-Tms2Trfcasid-tms-source.pthdg_casid_troms_1024x1024.py-
-Trf2Subcasid-trf-source.pthdg_casid_trorf_1024x1024.pyComing Soon
-Trf2Temcasid-trf-source.pthdg_casid_trorf_1024x1024.py-
-Trf2Tmscasid-trf-source.pthdg_casid_trorf_1024x1024.py-
-Trf2Trfcasid-trf-source.pthdg_casid_trorf_1024x1024.py-

Citation

If you find CrossEarth helpful, please consider giving this repo a ⭐ and citing:

@article{crossearth,
  title={CrossEarth: Geospatial Vision Foundation Model for Domain Generalizable Remote Sensing Semantic Segmentation},
  author={Gong, Ziyang and Wei, Zhixiang and Wang, Di and Ma, Xianzheng and Chen, Hongruixuan and Jia, Yuru and Deng, Yupeng and Ji, Zhenming and Zhu, Xiangwei and Yokoya, Naoto and Zhang, Jing and Du, Bo and Zhang, Liangpei},
  journal={arXiv preprint arXiv:2410.22629},
  year={2024}
}

Other Related Works