From 01d55f249b51e1bab0e085a76ce7cc75426ddaf4 Mon Sep 17 00:00:00 2001 From: yurujaja Date: Fri, 18 Oct 2024 12:26:21 +0200 Subject: [PATCH 1/8] update gfm link in README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 78f5c73..3b5db89 100644 --- a/README.md +++ b/README.md @@ -299,7 +299,7 @@ We appreciate all contributions. Please refer to [Contributing Guidelines](.gith ## ⚠️ Warnings Some features are under construction: - - the automatic download is working for all the datasets and models' weights but, respectively, **Five Billion Pixels**, **BioMassters**, and **GFM**. + - the automatic download is working for all the datasets and models' weights but, respectively, **Five Billion Pixels**, **BioMassters**, and **GFM**. The GFM pretrained model can be downloaded from [OneDrive](https://onedrive.live.com/?authkey=%21AIx%5FHoX7JG4Ai18&id=93B3D3BDA9EFE744%21100937&cid=93B3D3BDA9EFE744). ## 🧮 Some first results From 15fc127302223f9748176f5b656030826ee78d9f Mon Sep 17 00:00:00 2001 From: SebastianHafner Date: Mon, 21 Oct 2024 13:32:33 +0200 Subject: [PATCH 2/8] changed criterion for spacenet7 to dice loss --- DATASET_GUIDE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DATASET_GUIDE.md b/DATASET_GUIDE.md index 19c3668..2d6b358 100644 --- a/DATASET_GUIDE.md +++ b/DATASET_GUIDE.md @@ -159,7 +159,7 @@ This document provides a detailed overview of the datasets used in this reposito encoder=remoteclip \ decoder=seg_upernet\ preprocessing=seg_default \ - criterion=cross_entropy \ + criterion=dice \ task=segmentation ``` - Here is an example to run change detection: @@ -170,7 +170,7 @@ This document provides a detailed overview of the datasets used in this reposito encoder=remoteclip \ decoder=seg_siamupernet_conc\ preprocessing=seg_default \ - criterion=cross_entropy \ + criterion=dice \ task=change_detection ``` From 942aebc8452cc7948ad54c03f7a2a47d5f23bc93 Mon Sep 17 00:00:00 2001 From: Yuru Jia <91590963+yurujaja@users.noreply.github.com> Date: Mon, 21 Oct 2024 13:47:26 +0200 Subject: [PATCH 3/8] Update CTM whole inference mode --- DATASET_GUIDE.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/DATASET_GUIDE.md b/DATASET_GUIDE.md index 2d6b358..4a7e526 100644 --- a/DATASET_GUIDE.md +++ b/DATASET_GUIDE.md @@ -142,7 +142,8 @@ This document provides a detailed overview of the datasets used in this reposito decoder=seg_upernet_mt_ltae \ preprocessing=seg_resize \ criterion=cross_entropy \ - task=segmentation + task=segmentation \ + task.evaluator.inference_mode=whole ``` ### SpaceNet 7 From 9c4cffa242dd34c664c0b44695ac3062ce9295b6 Mon Sep 17 00:00:00 2001 From: Valerio Marsocci <49810041+VMarsocci@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:39:31 +0100 Subject: [PATCH 4/8] Update README.md --- README.md | 71 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 42 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 3b5db89..403f419 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,8 @@ # PANGAEA: A Global and Inclusive Benchmark for Geospatial Foundation Models +🔥 The [pre-print](https://arxiv.org/abs/2412.04204) is out! + ## 📚 Introduction While geospatial foundation models (GFMs) have proliferated rapidly, their evaluations remain inconsistent and narrow. Existing works often utilize suboptimal downstream datasets (e.g., EuroSAT) and tasks (e.g., land cover classification), which constrain comparability and real-world usability. Additionally, a lack of diversity in evaluation protocols, including image resolution and sensor types, further complicates the extensive assessments of GFM performance. @@ -35,12 +37,12 @@ And the following **datasets**: |:-------------------:|:--------:|:------:|:----:|:-------:|:--------:| | [HLS Burn Scars](https://huggingface.co/datasets/ibm-nasa-geospatial/hls_burn_scars) | [link](https://huggingface.co/datasets/ibm-nasa-geospatial/hls_burn_scars) | Wildfire | Semantic Segmentation | HLS (Harmonized Landsat Sentinel-2) | USA | | [MADOS](https://www.sciencedirect.com/science/article/pii/S0924271624000625) | [link](https://marine-pollution.github.io/index.html) | Marine | Semantic Segmentation | S2 | Global | -| [PASTIS-HD](https://arxiv.org/abs/2404.08351) | [link](https://huggingface.co/datasets/IGNF/PASTIS-HD) | Agriculture | Semantic Segmentation | S1, S2, SPOT-6 | France | +| [PASTIS-R](https://arxiv.org/abs/2404.08351) | [link](https://huggingface.co/datasets/IGNF/PASTIS-HD) | Agriculture | Semantic Segmentation | S1, S2, SPOT-6 | France | | [Sen1Floods11](http://openaccess.thecvf.com/content_CVPRW_2020/html/w11/Bonafilia_Sen1Floods11_A_Georeferenced_Dataset_to_Train_and_Test_Deep_Learning_CVPRW_2020_paper.html) | [link](https://github.com/cloudtostreet/Sen1Floods11) | Flood |Semantic Segmentation | S1, S2 | Global | | [xView2](https://openaccess.thecvf.com/content_CVPRW_2019/html/cv4gc/Gupta_Creating_xBD_A_Dataset_for_Assessing_Building_Damage_from_Satellite_CVPRW_2019_paper.html) | [link](https://xview2.org/dataset) | HADR | Change Detection | Maxar | Global | | [Five Billion Pixels](https://www.sciencedirect.com/science/article/pii/S0924271622003264) | [original version](https://x-ytong.github.io/project/Five-Billion-Pixels.html)
(custom version coming soon) | (Urban) Land Cover | Semantic Segmentation | Gaofen-2 | China | | [DynamicEarthNet](https://arxiv.org/pdf/2203.12560) | [link](https://mediatum.ub.tum.de/1650201) | (Urban) Land Cover | Semantic Segmentation | PlanetFusion | Global | -| [CropTypeMapping](https://openaccess.thecvf.com/content_CVPRW_2019/papers/cv4gc/Rustowicz_Semantic_Segmentation_of_Crop_Type_in_Africa_A_Novel_Dataset_CVPRW_2019_paper.pdf) | [link](https://sustainlab-group.github.io/sustainbench/docs/datasets/sdg2/crop_type_mapping_ghana-ss.html#download) | Agriculture |Semantic Segmentation |S1, S2, Planet|South Sudan| +| [CropTypeMapping-South Sudan](https://openaccess.thecvf.com/content_CVPRW_2019/papers/cv4gc/Rustowicz_Semantic_Segmentation_of_Crop_Type_in_Africa_A_Novel_Dataset_CVPRW_2019_paper.pdf) | [link](https://sustainlab-group.github.io/sustainbench/docs/datasets/sdg2/crop_type_mapping_ghana-ss.html#download) | Agriculture |Semantic Segmentation |S1, S2, Planet|South Sudan| | [SpaceNet 7](https://openaccess.thecvf.com/content/CVPR2021/papers/Van_Etten_The_Multi-Temporal_Urban_Development_SpaceNet_Dataset_CVPR_2021_paper.pdf) | [link](https://spacenet.ai/sn7-challenge/) | Urban | Change detection/
Semantic Segmentation | Planet | Global | | [AI4SmallFarms](https://ieeexplore.ieee.org/document/10278130) | [link](https://doi.org/10.17026/dans-xy6-ngg6) | Agriculture | Semantic segmentation | S2 | Cambodia/Vietnam | | [BioMassters](https://papers.nips.cc/paper_files/paper/2023/file/40daf2a00278c4bea1b26cd4c8a654f8-Paper-Datasets_and_Benchmarks.pdf) | [link](https://huggingface.co/datasets/nascetti-a/BioMassters) | Forest | Regression | S1, S2 | Finland | @@ -52,7 +54,7 @@ The repository supports the following **tasks** using geospatial (foundation) mo - [Single Temporal Regression](#single-temporal-regression) - [Multi-Temporal Regression](#multi-temporal-regression) -It is also possible to train some [supervised baselines](#-fully-supervised-baseline), based on UNet. +It is also possible to train some [supervised baselines](#-fully-supervised-baseline), based on UNet and ViT. ## 🗺️ Datasets details Please refer to [**Dataset Guide**](DATASET_GUIDE.md) to understand the processing requirements and commands specific to each dataset. @@ -62,7 +64,7 @@ If you want to fast-prototype your model, maybe you want to run fast experiments ## 🛠️ Setup Clone the repository: ``` -git clone https://github.com/yurujaja/pangaea-bench.git +git clone https://github.com/VMarsocci/pangaea-bench.git cd pangaea-bench ``` @@ -175,7 +177,7 @@ torchrun --nnodes=1 --nproc_per_node=1 pangaea/run.py \ --config-name=train \ dataset=croptypemapping \ encoder=satlasnet_mi \ - decoder=seg_upernet_mt_ltae decoder.multi_temporal_strategy=null \ + decoder=seg_upernet_mt_ltae \ preprocessing=seg_resize \ criterion=cross_entropy \ task=segmentation @@ -258,8 +260,8 @@ torchrun --nnodes=1 --nproc_per_node=1 pangaea/run.py \ ### 💻 Fully Supervised Baseline -The repo supports also training fully supervised baselines (e.g. UNet). To run these, follow the same command line rules as for other models. Keep in mind that setting finetune=True is necessary since this fully supervised approach trains the model from scratch. -An example for single temporal semantic segmentation is provided (Sen1Floods11 dataset): +The repo supports also training fully supervised baselines (i.e. UNet and ViT). To run these, follow the same command line rules as for other models. Keep in mind that setting finetune=True is necessary since this fully supervised approach trains the model from scratch. +An example for single temporal semantic segmentation with UNet is provided (Sen1Floods11 dataset): ``` torchrun --nnodes=1 --nproc_per_node=1 pangaea/run.py \ --config-name=train \ @@ -271,7 +273,21 @@ torchrun --nnodes=1 --nproc_per_node=1 pangaea/run.py \ task=segmentation \ finetune=True ``` -For the moment, there is no multi-temporal baseline supported. +There is no multi-temporal UNet supported. + +An example for multi-temporal semantic segmentation with ViT is provided (CropTypeMapping-SS dataset): +``` +torchrun --nnodes=1 --nproc_per_node=1 pangaea/run.py \ + --config-name=train \ + dataset=croptypemapping \ + encoder=vit_scratch \ + decoder=seg_upernet_mt_ltae \ + preprocessing=seg_default \ + criterion=cross_entropy \ + task=segmentation \ + task.evaluator.inference_mode=whole \ + finetune=true +``` ## 🔧 Customization @@ -296,36 +312,33 @@ torchrun pangaea/run.py --config-name=test ckpt_dir=path_to_ckpt_dir ## ✏️ Contributing We appreciate all contributions. Please refer to [Contributing Guidelines](.github/CONTRIBUTING.md). -## ⚠️ Warnings - -Some features are under construction: - - the automatic download is working for all the datasets and models' weights but, respectively, **Five Billion Pixels**, **BioMassters**, and **GFM**. The GFM pretrained model can be downloaded from [OneDrive](https://onedrive.live.com/?authkey=%21AIx%5FHoX7JG4Ai18&id=93B3D3BDA9EFE744%21100937&cid=93B3D3BDA9EFE744). +## ⚠️ TO DO + - host all weights/datasets/subsets on HF (the automatic download is working for all the datasets and models' weights but, respectively, **Five Billion Pixels**, **BioMassters**, and **GFM**. The GFM pretrained model can be downloaded from [OneDrive](https://onedrive.live.com/?authkey=%21AIx%5FHoX7JG4Ai18&id=93B3D3BDA9EFE744%21100937&cid=93B3D3BDA9EFE744).) + - add hyperparameters search ([Optuna](https://optuna.org/)) + - support automatic running of all the experiments + - create an Arena to fast benchmark all the GFMs -## 🧮 Some first results +## 🧮 Some results -A pre-print is coming soon... Stay tuned! +results -| Encoder | Dataset | Epochs | mIoU | -|---------|---------------|--------|--------| -| Prithvi | MADOS | 80 | 53.455 | -| Prithvi | HLSBurnScars | 80 | 86.208 | -| Prithvi | Sen1Floods11 | 80 | 87.217 | -| Prithvi | AI4SmallFarms | 80 | 33.796 | +Check the paper for all the insights! -NOTE: if you want to benchmark the results of your model, for a fair comparison do not change the hparams in the configs! When the pre-print will be out, we will publish also a set of "benchmark-configs". +NOTE: if you want to benchmark the results of your model, for a fair comparison do not change the hparams in the configs! Soon we will publish also a set of "benchmark-configs", to support automatic running. ## 📝 Citation -If you use this software in your work, please cite: +If you find this work useful, please cite: ``` -@misc{pangaea, - author = {Pangaea Team}, - title = {Pangaea}, - year = {2024}, - publisher = {GitHub}, - journal = {GitHub repository}, - howpublished = {\url{https://github.com/yurujaja/pangaea-bench}}, +@misc{marsocci2024pangaeaglobalinclusivebenchmark, + title={PANGAEA: A Global and Inclusive Benchmark for Geospatial Foundation Models}, + author={Valerio Marsocci and Yuru Jia and Georges Le Bellier and David Kerekes and Liang Zeng and Sebastian Hafner and Sebastian Gerard and Eric Brune and Ritu Yadav and Ali Shibli and Heng Fang and Yifang Ban and Maarten Vergauwen and Nicolas Audebert and Andrea Nascetti}, + year={2024}, + eprint={2412.04204}, + archivePrefix={arXiv}, + primaryClass={cs.CV}, + url={https://arxiv.org/abs/2412.04204}, } ``` From 2a16c0844ad08a3b4688d000e0d89639276db55e Mon Sep 17 00:00:00 2001 From: Valerio Marsocci <49810041+VMarsocci@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:40:39 +0100 Subject: [PATCH 5/8] Update upernet.py --- pangaea/decoders/upernet.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pangaea/decoders/upernet.py b/pangaea/decoders/upernet.py index 516a68d..3aa0383 100644 --- a/pangaea/decoders/upernet.py +++ b/pangaea/decoders/upernet.py @@ -1,3 +1,5 @@ +# Adapted from https://github.com/open-mmlab/mmsegmentation/blob/main/mmseg/models/decode_heads/uper_head.py + import torch import torch.nn as nn import torch.nn.functional as F From 5d49777f26a3f3b0bca1bcc17f29672b12e805f0 Mon Sep 17 00:00:00 2001 From: Valerio Marsocci <49810041+VMarsocci@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:45:22 +0100 Subject: [PATCH 6/8] Update DATASET_GUIDE.md --- DATASET_GUIDE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/DATASET_GUIDE.md b/DATASET_GUIDE.md index 4a7e526..69a57d0 100644 --- a/DATASET_GUIDE.md +++ b/DATASET_GUIDE.md @@ -37,10 +37,9 @@ This document provides a detailed overview of the datasets used in this reposito task=segmentation ``` -### PASTIS +### PASTIS-R - The code supports automatic downloading of the dataset into `./data` folder. -- SPOT-6 images are available for single-temporal semantic segmentation, otherwise the basic experimental setup for this dataset is a multi-temporal multi-modal semantic segmentation task. - Images are 128x128 patches, so a resize is needed to match input_size requirements of the encoders. - For models that don't support multi-temporal data, each time frame is processed separately for feature extraction and then mapped into a single representation. This setup requires the configuration file `configs/decoder/seg_upernet_mt_ltae.yaml`. Additionally, in the dataset configuration, specify the number of time frames, for example, `multi_temporal: 6`. Below is a CLI example for running the experiment using the RemoteCLIP pretrained encoder and multi-temporal UPerNet with L-TAE processing of temporal information: @@ -52,6 +51,7 @@ This document provides a detailed overview of the datasets used in this reposito decoder=seg_upernet_mt_ltae \ preprocessing=seg_resize \ criterion=cross_entropy \ + task.evaluator.inference_mode=whole \ task=segmentation ``` From 6820a5c4db4149d82178b4b747adf20b3e39358f Mon Sep 17 00:00:00 2001 From: Valerio Marsocci <49810041+VMarsocci@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:46:26 +0100 Subject: [PATCH 7/8] Add files via upload --- .github/boxplot.png | Bin 0 -> 57777 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 .github/boxplot.png diff --git a/.github/boxplot.png b/.github/boxplot.png new file mode 100644 index 0000000000000000000000000000000000000000..3bdd8b9fb2112c490e5e907c12f3bba46e5668ed GIT binary patch literal 57777 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 zΝ24G)-yoORQOf*rk8RpZOcovX{GY#eUe-$DSXs?D z&9Adv_a>kQ6_MHkTiYzSAFT;PR>UEgV1A&Zd@vG(x;tmFbHXzU_b)Ez-UOS}2=SCy zF0vcDdGoq% zykH@mQpk8kQSq8VDRe$*ge_4BOKW63eqV^G<)kN;$Yg`|>~UCh-QAIxX!uHyNy7y= z0Up5xnODzE@8q6XIsNE}!)&BQVItwgsE4Xa*RDCk5jy*7q>P)zeeK=1Z<2^=3F%YT zO`NRh*LbRjan>RcyNXZ7uf_sgTE9^-Q3NDWBx?An`Ft$?s-Ah>#qT0bX_Q6R zs;Zir*pLp^cbAnzuKqcIR6n9Za6*C_OZ3Sa6_>E~K>E>vylA4EOr)Z5=|NmtUtK2? z>+w57v>RHQH(;?QH_}u%fzT+CR{6U|?zk|C#SDg@3m?AtW(aD?AhVMOkzA(kc3xh5XDzGC(ZaB>5^ z8R-)>KS@NO*V0s%_v+O#`bCJM@jG>6$r;=M#N25_FD``6#EB70QoSOfODv5i7?*Y@ z^;9&L^%zn=r+B%YzUHTalO`Qipv{s(@6mqL9|`Nng&S^<9e3V;SpE3z?Z3ty1Ii5A zzu$#K4Upmx#TnKse#x148uQwWXA9XfKt05A?Yupoq|-!*ik+~9jZyL4@KCkeV_?lJ z>RX!M*AH_QaffI%K`?KJ42JX8GKVZuyr5!KIu4NX9i730cU^OP;yZD|gl{7M0m<{u?yiK;Nd3cdzG*bA%oV?jc@vS-hRvI+j6Bw_ zAMHJb)k;yf>cjyQ%auW;L>83RW02uA;kJQDBVdO}JGfEyoqywRfVKBRqF>TJHfPVm zC}DKPuZGBHAGXs6&f}J=k+!)*QxRn(1}>Vp=bzL69ydkfS;+_mwyyQ!$Xy5b+)RCy zIDYbv<(j4b#GvA%!a7TBqZINO4MlvzmQIN{H8@u%j9{n;wbvw{+Ef(w%XyF0TL;toIS^Y3XD|H~ewQ~&b@fBr@4 zzYAe3Yu^5U&Jf>dDo|9hK>Wi*?vI81_qB(%`=4XMe;g!;ihqBu7}eo_--nz>>i>M> e|Bo+eG7NlpIpLRFdaD$FW>24Ia>dxe_x}Ntz(m#n literal 0 HcmV?d00001 From fa551631d63dec4a61c116d3e0f0c59f728c449f Mon Sep 17 00:00:00 2001 From: Valerio Marsocci <49810041+VMarsocci@users.noreply.github.com> Date: Tue, 10 Dec 2024 13:47:46 +0100 Subject: [PATCH 8/8] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 403f419..b807981 100644 --- a/README.md +++ b/README.md @@ -321,7 +321,7 @@ We appreciate all contributions. Please refer to [Contributing Guidelines](.gith ## 🧮 Some results -results +results Check the paper for all the insights!