SM737 commited on
Commit
3c500e6
·
verified ·
1 Parent(s): c8c487a

Upload folder using huggingface_hub (part 2)

Browse files
Files changed (26) hide show
  1. .gitattributes +2 -0
  2. models/finetuned/water/satquery_water_shadow_v1/satquery_water_shadow_state_dict.pt +3 -0
  3. models/finetuned/water/satquery_water_shadow_v1/thresholds.json +5 -0
  4. models/land_cover/flair-rgb-15cl-deeplabv3/.gitattributes +35 -0
  5. models/land_cover/flair-rgb-15cl-deeplabv3/FLAIR-INC_rgb_15cl_resnet34-deeplabv3_train-loss.png +0 -0
  6. models/land_cover/flair-rgb-15cl-deeplabv3/FLAIR-INC_rgb_15cl_resnet34-deeplabv3_val-loss.png +0 -0
  7. models/land_cover/flair-rgb-15cl-deeplabv3/FLAIR-INC_rgb_15cl_resnet34-deeplabv3_weights.pth +3 -0
  8. models/land_cover/flair-rgb-15cl-deeplabv3/README.md +322 -0
  9. models/land_cover/flair-rgb-15cl-deeplabv3/confmat.npy +3 -0
  10. models/landcover/deeplabv3_landcover_4c.onnx +3 -0
  11. models/landcover/provenance.json +10 -0
  12. models/manifests/models.yaml +419 -0
  13. models/pretrained/buildings/satlas-aerial-swinb-si/aerial_swinb_si.pth +3 -0
  14. models/pretrained/buildings/satlas-aerial-swinb-si/satlas_metadata.json +9 -0
  15. models/pretrained/buildings/satlas-aerial-swinb-si/satquery_download_metadata.json +5 -0
  16. models/pretrained/buildings/satlas-aerial-swinb-si/satquery_model_health.json +35 -0
  17. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/.gitattributes +39 -0
  18. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/README.md +433 -0
  19. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/configs_train/config_modalities.yaml +65 -0
  20. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/configs_train/config_models.yaml +23 -0
  21. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/configs_train/config_supervision.yaml +39 -0
  22. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/configs_train/config_task.yaml +61 -0
  23. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/model_utils/AerialROI.png +3 -0
  24. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/satquery_download_metadata.json +5 -0
  25. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/satquery_model_health.json +36 -0
  26. models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/upstream/configs/train/config_models.yaml +23 -0
.gitattributes CHANGED
@@ -5,3 +5,5 @@
5
  *.safetensors filter=lfs diff=lfs merge=lfs -text
6
  models/finetuned/landcover/satquery_landcover_v1/confusion_matrix.png filter=lfs diff=lfs merge=lfs -text
7
  models/finetuned/landcover/satquery_landcover_v1/qualitative_overlays.png filter=lfs diff=lfs merge=lfs -text
 
 
 
5
  *.safetensors filter=lfs diff=lfs merge=lfs -text
6
  models/finetuned/landcover/satquery_landcover_v1/confusion_matrix.png filter=lfs diff=lfs merge=lfs -text
7
  models/finetuned/landcover/satquery_landcover_v1/qualitative_overlays.png filter=lfs diff=lfs merge=lfs -text
8
+ models/land_cover/flair-rgb-15cl-deeplabv3/confmat.npy filter=lfs diff=lfs merge=lfs -text
9
+ models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/model_utils/AerialROI.png filter=lfs diff=lfs merge=lfs -text
models/finetuned/water/satquery_water_shadow_v1/satquery_water_shadow_state_dict.pt ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e93903a19a09b98d9d8c2ac3f9973491f03359c679e8fc5cda3c9c8432b956d5
3
+ size 360362139
models/finetuned/water/satquery_water_shadow_v1/thresholds.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "water_probability_threshold": 0.6,
3
+ "minimum_component_area_pixels": 16,
4
+ "uncertainty_threshold": 0.3
5
+ }
models/land_cover/flair-rgb-15cl-deeplabv3/.gitattributes ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
models/land_cover/flair-rgb-15cl-deeplabv3/FLAIR-INC_rgb_15cl_resnet34-deeplabv3_train-loss.png ADDED
models/land_cover/flair-rgb-15cl-deeplabv3/FLAIR-INC_rgb_15cl_resnet34-deeplabv3_val-loss.png ADDED
models/land_cover/flair-rgb-15cl-deeplabv3/FLAIR-INC_rgb_15cl_resnet34-deeplabv3_weights.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b872ab0a4940bf1344e194df6e9a71b1f1847d5771ae450459cabacd42a05541
3
+ size 104221495
models/land_cover/flair-rgb-15cl-deeplabv3/README.md ADDED
@@ -0,0 +1,322 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: etalab-2.0
3
+ tags:
4
+ - segmentation
5
+ - pytorch
6
+ - aerial imagery
7
+ - landcover
8
+ - IGN
9
+ model-index:
10
+ - name: FLAIR-INC_rgb_15cl_resnet34-deeplabv3
11
+ results:
12
+ - task:
13
+ type: semantic-segmentation
14
+ dataset:
15
+ name: IGNF/FLAIR/
16
+ type: earth-observation-dataset
17
+ metrics:
18
+ - name: mIoU
19
+ type: mIoU
20
+ value: 58.093
21
+ - name: Overall Accuracy
22
+ type: OA
23
+ value: 74.887
24
+ - name: Fscore
25
+ type: Fscore
26
+ value: 72.331
27
+ - name: Precision
28
+ type: Precision
29
+ value: 72.577
30
+ - name: Recall
31
+ type: Recall
32
+ value: 73.390
33
+
34
+ - name: IoU Buildings
35
+ type: IoU
36
+ value: 74.671
37
+ - name: IoU Pervious surface
38
+ type: IoU
39
+ value: 52.890
40
+ - name: IoU Impervious surface
41
+ type: IoU
42
+ value: 69.452
43
+ - name: IoU Bare soil
44
+ type: IoU
45
+ value: 59.280
46
+ - name: IoU Water
47
+ type: IoU
48
+ value: 82.144
49
+ - name: IoU Coniferous
50
+ type: IoU
51
+ value: 55.443
52
+ - name: IoU Deciduous
53
+ type: IoU
54
+ value: 68.459
55
+ - name: IoU Brushwood
56
+ type: IoU
57
+ value: 28.215
58
+ - name: IoU Vineyard
59
+ type: IoU
60
+ value: 77.997
61
+ - name: IoU Herbaceous vegetation
62
+ type: IoU
63
+ value: 50.624
64
+ - name: IoU Agricultural land
65
+ type: IoU
66
+ value: 58.221
67
+ - name: IoU Plowed land
68
+ type: IoU
69
+ value: 43.881
70
+ - name: IoU Swimming pool
71
+ type: IoU
72
+ value: 38.207
73
+ - name: IoU Greenhouse
74
+ type: IoU
75
+ value: 53.815
76
+
77
+ pipeline_tag: image-segmentation
78
+ ---
79
+
80
+
81
+ <div style="border:0px; padding:25px; background-color:#F8F5F5; padding-top:10px; padding-bottom:1px;">
82
+ <h1>FLAIR model collection</h1>
83
+ <p>The FLAIR models are a collection of semantic segmentation models initially developed to classify land cover on very high resolution aerial images (more specifically the French <a href="https://geoservices.ign.fr/bdortho">BD ORTHO®</a> product). The distributed pre-trained models differ in their :</p>
84
+ <ul style="list-style-type:disc;">
85
+ <li>dataset for training : <a href="https://huggingface.co/datasets/IGNF/FLAIR"><b>FLAIR</b> dataset</a> or the increased version of this dataset <b>FLAIR-INC</b> (x 3.5 patches). Only the FLAIR dataset is open at the moment.</li>
86
+ <li>input modalities : <b>RGB</b> (natural colours), <b>RGBI</b> (natural colours + infrared), <b>RGBIE</b> (natural colours + infrared + elevation)</li>
87
+ <li>model architecture : <b>resnet34_unet</b> (U-Net with a Resnet-34 encoder), <b>deeplab</b>, <b>fpn</b>, <b>mit</b></li>
88
+ <li>target class nomenclature : <b>12cl</b> (12 land cover classes) or <b>15cl</b> (15 land cover classes)</li>
89
+ </ul>
90
+ </div>
91
+ <br>
92
+
93
+ <div style="border:1px solid black; padding:25px; background-color:#FDFFF4 ; padding-top:10px; padding-bottom:1px;">
94
+ <h1>FLAIR-INC_rgb_15cl_resnet34-deeplabv3</h1>
95
+ <p>The general characteristics of this specific model <strong>FLAIR-INC_rgb_15cl_resnet34-deeplabv3</strong> are :</p>
96
+ <ul style="list-style-type:disc;">
97
+ <li>Trained with the FLAIR-INC dataset</li>
98
+ <li>Trained with the SegmentationModelsPytorch library</li>
99
+ <li>RGB images (true colours)</li>
100
+ <li>DeepLabV3 with a Resnet-34 encoder</li>
101
+ <li>15 class nomenclature : [building, pervious surface, impervious surface, bare soil, water, coniferous, deciduous, brushwood, vineyard, herbaceous, agricultural land, plowed land, swimming pool, snow, greenhouse]</li>
102
+ </ul>
103
+ </div>
104
+
105
+ ## Model Informations
106
+ - **Code repository:** https://github.com/IGNF/FLAIR-1
107
+ - **Paper:** https://arxiv.org/pdf/2211.12979.pdf
108
+ - **Developed by:** IGN
109
+ - **Compute infrastructure:**
110
+ - software: python, pytorch-lightning
111
+ - hardware: HPC/AI resources provided by GENCI-IDRIS
112
+ - **License:** Etalab 2.0
113
+
114
+ ---
115
+
116
+ ## Uses
117
+
118
+ Although the model can be applied to other type of very high spatial earth observation images, it was initially developed to tackle the problem of classifying aerial images acquired on the French Territory.
119
+ The product called ([BD ORTHO®](https://geoservices.ign.fr/bdortho)) has its own spatial and radiometric specifications. The model is not intended to be generic to other type of very high spatial resolution images but specific to BD ORTHO images.
120
+ Consequently, the model’s prediction would improve if the user images are similar to the original ones.
121
+
122
+ _**Radiometry of input images**_ :
123
+ The BD ORTHO input images are distributed in 8-bit encoding format per channel. When traning the model, input normalization was performed (see section **Training Details**).
124
+ It is recommended that the user apply the same type of input normalization while inferring the model.
125
+
126
+ _**Multi-domain model**_ :
127
+ The FLAIR-INC dataset that was used for training is composed of 75 radiometric domains. In the case of aerial images, domain shifts are frequent and are mainly due to : the date of acquisition of the aerial survey (from april to november), the spatial domain (equivalent to a french department administrative division) and downstream radiometric processing.
128
+ By construction (sampling 75 domains) the model is robust to these shifts, and can be applied to any images of the ([BD ORTHO® product](https://geoservices.ign.fr/bdortho)).
129
+
130
+ _**Land Cover classes of prediction**_ :
131
+ The orginial class nomenclature of the FLAIR Dataset encompasses 19 classes (See the [FLAIR dataset](https://huggingface.co/datasets/IGNF/FLAIR) page for details).
132
+ However 3 classes corresponding to uncertain labelisation (Mixed (16), Ligneous (17) and Other (19)) and 1 class with very poor labelling (Clear cut (15)) were desactivated during training.
133
+ As a result, the logits produced by the model are of size 19x1, but classes n° 15, 16, 17 and 19 should appear at 0 in the logits and should not be present in the final argmax product.
134
+
135
+
136
+
137
+ ## Bias, Risks, Limitations and Recommendations
138
+
139
+ _**Using the model on input images with other spatial resolution**_ :
140
+ The FLAIR-INC_rgb_15cl_resnet34-deeplabv3 model was trained with fixed scale conditions. All patches used for training are derived from aerial images with 0.2 meters spatial resolution. Only flip and rotate augmentations were performed during the training process.
141
+ No data augmentation method concerning scale change was used during training. The user should pay attention that generalization issues can occur while applying this model to images that have different spatial resolutions.
142
+
143
+ _**Using the model for other remote sensing sensors**_ :
144
+ The FLAIR-INC_rgb_15cl_resnet34-deeplabv3 model was trained with aerial images of the ([BD ORTHO® product](https://geoservices.ign.fr/bdortho)) that encopass very specific radiometric image processing.
145
+ Using the model on other type of aerial images or satellite images may imply the use of transfer learning or domain adaptation techniques.
146
+
147
+ _**Using the model on other spatial areas**_ :
148
+ The FLAIR-INC_rgb_15cl_resnet34-deeplabv3 model was trained on patches reprensenting the French Metropolitan territory.
149
+ The user should be aware that applying the model to other type of landscapes may imply a drop in model metrics.
150
+
151
+ ---
152
+
153
+ ## How to Get Started with the Model
154
+
155
+ Visit ([https://github.com/IGNF/FLAIR-1](https://github.com/IGNF/FLAIR-1)) to use the model.
156
+ Fine-tuning and prediction tasks are detailed in the README file.
157
+
158
+
159
+ ---
160
+
161
+ ## Training Details
162
+
163
+ ### Training Data
164
+
165
+ 218 400 patches of 512 x 512 pixels were used to train the **FLAIR-INC_rgb_15cl_resnet34-deeplabv3** model.
166
+ The train/validation split was performed patchwise to obtain a 80% / 20% distribution between train and validation.
167
+ Annotation was performed at the _zone_ level (~100 patches per _zone_). Spatial independancy between patches is guaranted as patches from the same _zone_ were assigned to the same set (TRAIN or VALIDATION).
168
+ The following number of patches were used for train and validation :
169
+ | TRAIN set | 174 700 patches |
170
+ | VALIDATION set | 43 700 patchs |
171
+
172
+
173
+
174
+
175
+
176
+ ### Training Procedure
177
+
178
+ #### Preprocessing
179
+
180
+ For traning the model, input normalization was performed to center-reduce (**a mean=0** and a **standard deviation = 1**, channel wise) the dataset.
181
+ We used the statistics of TRAIN+VALIDATION for input normalization. It is recommended that the user apply the same type of input normalization.
182
+
183
+ Statistics of the TRAIN+VALIDATION set :
184
+
185
+ | Modalities | Mean (Train + Validation) |Std (Train + Validation) |
186
+ | ----------------------- | ----------- |----------- |
187
+ | Red Channel (R) | 105.08 |52.17 |
188
+ | Green Channel (G) | 110.87 |45.38 |
189
+ | Blue Channel (B) | 101.82 |44.00 |
190
+
191
+
192
+ #### Training Hyperparameters
193
+
194
+ ```yaml
195
+ - Model architecture: DeepLabV3 #(implementation from the [Segmentation Models Pytorch library](https://segmentation-modelspytorch.readthedocs.io/en/latest/docs/api.html#unet))
196
+ - Encoder : Resnet-34 pre-trained with ImageNet
197
+ - Augmentation :
198
+ - VerticalFlip(p=0.5)
199
+ - HorizontalFlip(p=0.5)
200
+ - RandomRotate90(p=0.5)
201
+ - Input normalization (mean=0 | std=1):
202
+ - norm_means: [105.08, 110.87, 101.82]
203
+ - norm_stds: [52.17, 45.38, 44]
204
+ - Seed: 2022
205
+ - Batch size: 10
206
+ - Number of epochs : 200
207
+ - Early stopping : patience 30 and val_loss as monitor criterium
208
+ - Optimizer : SGD
209
+ - Schaeduler : mode = "min", factor = 0.5, patience = 10, cooldown = 4, min_lr = 1e-7
210
+ - Learning rate : 0.02
211
+ - Class Weights : [1-building: 1.0 , 2-pervious surface: 1.0 , 3-impervious surface: 1.0 , 4-bare soil: 1.0 , 5-water: 1.0 , 6-coniferous: 1.0 , 7-deciduous: 1.0 , 8-brushwood: 1.0 , 9-vineyard: 1.0 , 10-herbaceous vegetation: 1.0 , 11-agricultural land: 1.0 , 12-plowed land: 1.0 , 13-swimming_pool: 1.0 , 14-snow: 1.0 , 15-clear cut: 0.0 , 16-mixed: 0.0 , 17-ligneous: 0.0 , 18-greenhouse: 1.0 , 19-other: 0.0]
212
+ ```
213
+
214
+ #### Speeds, Sizes, Times
215
+
216
+ The FLAIR-INC_rgb_15cl_resnet34-deeplabv3 model was trained on a HPC/AI resources provided by GENCI-IDRIS (Grant 2022-A0131013803).
217
+ 16 V100 GPUs were used ( 4 nodes, 4 GPUS per node). With this configuration the approximate learning time is 6 minutes per epoch.
218
+
219
+ FLAIR-INC_rgb_15cl_resnet34-deeplabv3 was obtained for num_epoch=22 with corresponding val_loss=0.60.
220
+
221
+
222
+ <div style="position: relative; text-align: center;">
223
+ <p style="margin: 0;">TRAIN loss</p>
224
+ <img src="FLAIR-INC_rgb_15cl_resnet34-deeplabv3_train-loss.png" alt="TRAIN loss" style="width: 60%; display: block; margin: 0 auto;"/>
225
+ <p style="margin: 0;">VALIDATION loss</p>
226
+ <img src="FLAIR-INC_rgb_15cl_resnet34-deeplabv3_val-loss.png" alt="VALIDATION loss" style="width: 60%; display: block; margin: 0 auto;"/>
227
+ </div>
228
+
229
+
230
+
231
+ ## Evaluation
232
+
233
+ ### Testing Data, Factors & Metrics
234
+
235
+ #### Testing Data
236
+
237
+ The evaluation was performed on a TEST set of 31 750 patches that are independant from the TRAIN and VALIDATION patches. They represent 15 spatio-temporal domains.
238
+ The TEST set corresponds to the reunion of the TEST set of scientific challenges FLAIR#1 and FLAIR#2. See the [FLAIR challenge page](https://ignf.github.io/FLAIR/) for more details.
239
+
240
+ The choice of a separate TEST set instead of cross validation was made to be coherent with the FLAIR challenges.
241
+ However the metrics for the Challenge were calculated on 12 classes and the TEST set acordingly.
242
+ As a result the _Snow_ class is absent from the TEST set.
243
+
244
+ #### Metrics
245
+
246
+ With the evaluation protocol, the **FLAIR-INC_rgb_15cl_resnet34-deeplabv3** have been evaluated to **OA= 74.887%** and **mIoU=58.093%**.
247
+ The _snow_ class is discarded from the average metrics.
248
+
249
+ The following table give the class-wise metrics :
250
+
251
+ | Classes | IoU (%) | Fscore (%) | Precision (%) | Recall (%) |
252
+ | ----------------------- | ----------|---------|---------|---------|
253
+ | building | 74.671 | 85.499 | 82.639 | 88.565 |
254
+ | pervious_surface | 52.890 | 69.187 | 73.606 | 65.269 |
255
+ | impervious_surface | 69.452 | 81.972 | 81.036 | 82.930 |
256
+ | bare_soil | 59.280 | 74.435 | 76.764 | 72.243 |
257
+ | water | 82.144 | 90.197 | 88.130 | 92.363 |
258
+ | coniferous | 55.443 | 71.336 | 75.030 | 67.988 |
259
+ | deciduous | 68.459 | 81.277 | 77.756 | 85.132 |
260
+ | brushwood | 28.215 | 44.012 | 61.283 | 34.336 |
261
+ | vineyard | 77.997 | 87.639 | 84.523 | 90.994 |
262
+ | herbaceous | 50.624 | 67.219 | 69.270 | 65.287 |
263
+ | agricultural_land | 58.221 | 73.595 | 69.052 | 78.777 |
264
+ | plowed_land | 43.881 | 60.996 | 60.336 | 61.671 |
265
+ | swimming_pool | 38.207 | 55.289 | 59.539 | 51.606 |
266
+ | snow | _0.000_ | _0.000_ | _0.000_ | _0.000_ |
267
+ | greenhouse | 53.815 | 69.974 | 57.120 | 90.293 |
268
+ | **average** | **58.093** | **72.331** | **72.577** | **73.390** |
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+ The following illustration gives the resulting confusion matrix :
278
+ * Top : normalised acording to columns, columns sum at 100% and the **precision** is on the diagonal of the matrix
279
+ * Bottom : normalised acording to rows, rows sum at 100% and the **recall** is on the diagonal of the matrix
280
+
281
+
282
+ <div style="position: relative; text-align: center;">
283
+ <p style="margin: 0;">Normalized Confusion Matrix (precision)</p>
284
+ <img src="FLAIR-INC_rgb_15cl_resnet34-deeplabv3_confmat_norm-precision.png" alt="drawing" style="width: 70%; display: block; margin: 0 auto;"/>
285
+ <p style="margin: 0;">Normalized Confusion Matrix (recall)</p>
286
+ <img src="FLAIR-INC_rgb_15cl_resnet34-deeplabv3_confmat_norm-recall.png" alt="drawing" style="width: 70%; display: block; margin: 0 auto;"/>
287
+ </div>
288
+
289
+
290
+
291
+ ### Results
292
+
293
+ Samples of results
294
+
295
+
296
+ ---
297
+
298
+ ## Citation
299
+
300
+
301
+ **BibTeX:**
302
+
303
+ ```
304
+ @inproceedings{ign-flair,
305
+ title={FLAIR: a Country-Scale Land Cover Semantic Segmentation Dataset From Multi-Source Optical Imagery},
306
+ author={Anatol Garioud and Nicolas Gonthier and Loic Landrieu and Apolline De Wit and Marion Valette and Marc Poupée and Sébastien Giordano and Boris Wattrelos},
307
+ year={2023},
308
+ booktitle={Advances in Neural Information Processing Systems (NeurIPS) 2023},
309
+ doi={https://doi.org/10.48550/arXiv.2310.13336},
310
+ }
311
+ ```
312
+
313
+
314
+ **APA:**
315
+ ```
316
+ Anatol Garioud, Nicolas Gonthier, Loic Landrieu, Apolline De Wit, Marion Valette, Marc Poupée, Sébastien Giordano and Boris Wattrelos. 2023.
317
+ FLAIR: a Country-Scale Land Cover Semantic Segmentation Dataset From Multi-Source Optical Imagery. (2023).
318
+ In proceedings of Advances in Neural Information Processing Systems (NeurIPS) 2023.
319
+ DOI: https://doi.org/10.48550/arXiv.2310.13336
320
+ ```
321
+
322
+ ## Contact : flair@ign.fr
models/land_cover/flair-rgb-15cl-deeplabv3/confmat.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1d5d0c9807283cc4bec2cfdf8794aa6175df82735d0a8e31d177ff9ffc5c7cff
3
+ size 3016
models/landcover/deeplabv3_landcover_4c.onnx ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3c82806dfe6a582ba26642427ef5533595981ec2bb6d4d3a3c4a3f06ac4753c4
3
+ size 12336439
models/landcover/provenance.json ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "repository": "PUTvision/qgis-plugin-deepness",
3
+ "revision": "905ac02affa45b229c45bf8bc0a082a3a7700d29",
4
+ "url": "https://raw.githubusercontent.com/PUTvision/qgis-plugin-deepness/905ac02affa45b229c45bf8bc0a082a3a7700d29/examples/deeplabv3_segmentation_landcover/deeplabv3_landcover_4c.onnx",
5
+ "sha256": "3c82806dfe6a582ba26642427ef5533595981ec2bb6d4d3a3c4a3f06ac4753c4",
6
+ "bytes": 12336439,
7
+ "source_documentation": "https://qgis-plugin-deepness.readthedocs.io/en/latest/example/example_segmentation_landcover.html",
8
+ "license": "GPL-3.0 repository; model-specific license not separately documented",
9
+ "status": "evaluation_only"
10
+ }
models/manifests/models.yaml ADDED
@@ -0,0 +1,419 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ version: 2.0.0
2
+ storage_root: models
3
+ models:
4
+ water_s2_surface:
5
+ model_id: giswqs/s2-water-unetplusplus-efficientnet-b4
6
+ display_name: Sentinel-2 surface water UNet++
7
+ path: water/s2-water-unetplusplus-efficientnet-b4
8
+ category: water
9
+ priority: six_band_s2
10
+ policy: PRODUCTION
11
+ license: CC-BY-4.0
12
+ source_url: https://huggingface.co/giswqs/s2-water-unetplusplus-efficientnet-b4
13
+ revision: efb6f636480188f48779b41f2a94bb941fd7b900
14
+ task:
15
+ - water_segmentation
16
+ - water_detection
17
+ - water_area
18
+ modality:
19
+ - multispectral_s2
20
+ expected_channels:
21
+ - B02
22
+ - B03
23
+ - B04
24
+ - B08
25
+ - B11
26
+ - B12
27
+ input_size:
28
+ - 512
29
+ - 512
30
+ - 6
31
+ output_type: pixel_water_probability
32
+ checkpoint: model.pth
33
+ notes:
34
+ compatibility: Named Sentinel-2 bands on a georeferenced 8-30 metre grid. Never
35
+ substitute RGB channels.
36
+ sha256: fb8ae300b8b8e929fa764d72ac476a419e8eb9f121e52cce6c0c8816a48d487e
37
+ land_deepness:
38
+ model_id: PUTvision/Deepness-LandCoverAI-DeepLabV3plus
39
+ display_name: Deepness aerial land cover
40
+ path: landcover
41
+ category: landcover
42
+ priority: primary_aerial
43
+ policy: PRODUCTION
44
+ license: GPL-3.0 repository; model-specific terms not separately documented
45
+ source_url: https://qgis-plugin-deepness.readthedocs.io/en/latest/example/example_segmentation_landcover.html
46
+ revision: 905ac02affa45b229c45bf8bc0a082a3a7700d29
47
+ task:
48
+ - dense_landcover_segmentation
49
+ modality:
50
+ - rgb_vhr
51
+ expected_channels:
52
+ - red
53
+ - green
54
+ - blue
55
+ input_size:
56
+ - 512
57
+ - 512
58
+ - 3
59
+ output_type: five_class_pixel_probabilities
60
+ checkpoint: deeplabv3_landcover_4c.onnx
61
+ notes:
62
+ compatibility: Verified 0.15-0.60 metre RGB pixels; geography unvalidated.
63
+ class_map:
64
+ - unknown
65
+ - building
66
+ - woodland
67
+ - water
68
+ - road
69
+ sha256: 3c82806dfe6a582ba26642427ef5533595981ec2bb6d4d3a3c4a3f06ac4753c4
70
+ building_satellite:
71
+ model_id: merve/rf-detr-seg-satellite-buildings
72
+ display_name: RF-DETR satellite building instances
73
+ path: buildings/rf-detr-seg-satellite-buildings
74
+ category: buildings
75
+ priority: default_satellite
76
+ policy: PRODUCTION
77
+ license: Apache-2.0
78
+ source_url: https://huggingface.co/merve/rf-detr-seg-satellite-buildings
79
+ revision: 05b80dce9a57701724ad6a0fc052827c8b724257
80
+ checkpoint: model.safetensors
81
+ task:
82
+ - building_detection
83
+ - building_footprint
84
+ - building_count
85
+ - building_grounding
86
+ modality:
87
+ - rgb
88
+ expected_channels:
89
+ - red
90
+ - green
91
+ - blue
92
+ input_size:
93
+ - 432
94
+ - 432
95
+ - 3
96
+ output_type: instance_masks_and_scores
97
+ notes:
98
+ compatibility: VHR RGB satellite imagery; target geography unvalidated; rejects
99
+ pixels coarser than 1.5 m.
100
+ selection: Best of three measured satellite candidates on 16 previously inspected
101
+ images. Not independently validated for arbitrary aerial images.
102
+ sha256: f254c1400f780f7ea72a6bc588a2150bf8b4d8845ded7269655e26a275f41ac7
103
+ building_primary:
104
+ model_id: satquery_buildings_bundle
105
+ display_name: SatQuery Satlas Buildings v1
106
+ base_model: AI2 SatlasPretrain Aerial_SwinB_SI
107
+ version: 1.0.0
108
+ training_dataset: SpaceNet 2 (Vegas/Shanghai train, Paris validation, Khartoum
109
+ test)
110
+ policy: CANDIDATE
111
+ threshold_file: thresholds.json
112
+ path: finetuned/buildings/satquery_buildings_v1
113
+ category: buildings
114
+ priority: explicit_bundle_override
115
+ status: READY
116
+ license: CC-BY-4.0
117
+ source_url: models/satquery_buildings_bundle
118
+ task:
119
+ - building_detection
120
+ - building_footprint
121
+ - building_count
122
+ - building_grounding
123
+ modality:
124
+ - rgb
125
+ expected_channels:
126
+ - red
127
+ - green
128
+ - blue
129
+ input_size:
130
+ - 512
131
+ - 512
132
+ - 3
133
+ output_type: footprint_and_boundary_probabilities
134
+ notes:
135
+ default_window_size: '512'
136
+ default_stride: '384'
137
+ default_overlap: '128'
138
+ default_foot_thr: '0.6'
139
+ default_boundary_thr: '0.6'
140
+ method: Hann blend then global watershed
141
+ backbone: Aerial_SwinB_SI
142
+ fine_tuned_on: SpaceNet 2
143
+ checkpoint: satquery_buildings_state_dict.pt
144
+ health_status: READY
145
+ building_secondary:
146
+ model_id: geobase/building-detection
147
+ path: buildings/geobase-building-detection
148
+ category: buildings
149
+ priority: secondary
150
+ status: READY
151
+ license: CC-BY-4.0
152
+ source_url: https://huggingface.co/geobase/building-detection
153
+ task:
154
+ - building_validation
155
+ - secondary_building_check
156
+ modality:
157
+ - rgb
158
+ expected_channels: &id001
159
+ - red
160
+ - green
161
+ - blue
162
+ input_size:
163
+ - 256
164
+ - 256
165
+ - 3
166
+ output_type: building_detection_logits
167
+ notes:
168
+ role: Secondary/validation building model. Do not make default until benchmark
169
+ proves improvement.
170
+ display_name: Building Secondary
171
+ download_status: UNVERIFIED
172
+ channel_order: *id001
173
+ checkpoint: onnx/model_quantized.onnx
174
+ revision: null
175
+ health_status: READY
176
+ normalization:
177
+ type: checkpoint_native
178
+ input_range: checkpoint_native
179
+ expected_resolution: see model card
180
+ class_map: null
181
+ threshold_file: null
182
+ device_preference: auto
183
+ precision: float32
184
+ fallbacks: []
185
+ water_finetuned:
186
+ model_id: satquery_water_bundle
187
+ display_name: SatQuery Satlas Sentinel-2 Water v1
188
+ base_model: AI2 SatlasPretrain Sentinel2_SwinB_SI_MS
189
+ version: 1.0.0
190
+ training_dataset: Sen1Floods11 with event-exclusive splits and shadow hard negatives
191
+ policy: PRODUCTION
192
+ threshold_file: thresholds.json
193
+ path: satquery_water_bundle
194
+ category: water
195
+ priority: primary_water_s2
196
+ status: READY
197
+ task:
198
+ - water_segmentation
199
+ - water_detection
200
+ - water_area
201
+ - water_grounding
202
+ modality:
203
+ - multispectral_s2
204
+ expected_channels:
205
+ - B02
206
+ - B03
207
+ - B04
208
+ - B05
209
+ - B06
210
+ - B07
211
+ - B08
212
+ - B10
213
+ - B11
214
+ - B12
215
+ input_size:
216
+ - 512
217
+ - 512
218
+ - 10
219
+ output_type: pixel_surface_water_probability
220
+ notes:
221
+ compatibility: Exact Sentinel-2 bands only; 9-band Satlas backbone plus a six-feature
222
+ spectral branch. Never use on RGB or SAR.
223
+ backbone_band_order:
224
+ - B04
225
+ - B03
226
+ - B02
227
+ - B05
228
+ - B06
229
+ - B07
230
+ - B08
231
+ - B11
232
+ - B12
233
+ spectral_features:
234
+ - NDWI
235
+ - MNDWI
236
+ - NDVI
237
+ - AWEI_shadow
238
+ - visible_brightness
239
+ - B10_cirrus
240
+ shadow_contract: The checkpoint predicts surface water only. Shadow is produced
241
+ independently by the illumination engine.
242
+ health_status: READY
243
+ land_rgb:
244
+ model_id: IGNF/FLAIR-INC_rgb_15cl_resnet34-deeplabv3
245
+ path: land_cover/flair-rgb-15cl-deeplabv3
246
+ category: land_cover
247
+ priority: primary
248
+ status: READY
249
+ license: Etalab-2.0
250
+ source_url: https://huggingface.co/IGNF/FLAIR-INC_rgb_15cl_resnet34-deeplabv3
251
+ task:
252
+ - land_cover_segmentation
253
+ - pixel_land_cover_rgb
254
+ modality:
255
+ - rgb
256
+ expected_channels: &id002
257
+ - red
258
+ - green
259
+ - blue
260
+ input_size:
261
+ - 512
262
+ - 512
263
+ - 3
264
+ output_type: 15_class_pixel_probabilities
265
+ notes:
266
+ compatibility: High-resolution RGB imagery only (0.2m-0.5m GSD). Do NOT apply
267
+ to SAR or coarse multispectral tensors.
268
+ classes:
269
+ - building
270
+ - pervious_surface
271
+ - impervious_surface
272
+ - bare_soil
273
+ - water
274
+ - coniferous
275
+ - deciduous
276
+ - brushwood
277
+ - vineyard
278
+ - herbaceous_vegetation
279
+ - agricultural_land
280
+ - plowed_land
281
+ - swimming_pool
282
+ - greenhouse
283
+ - other
284
+ display_name: Land Rgb
285
+ download_status: UNVERIFIED
286
+ channel_order: *id002
287
+ checkpoint: FLAIR-INC_rgb_15cl_resnet34-deeplabv3_weights.pth
288
+ revision: null
289
+ health_status: READY
290
+ normalization:
291
+ type: checkpoint_native
292
+ input_range: checkpoint_native
293
+ expected_resolution: see model card
294
+ class_map: null
295
+ threshold_file: null
296
+ device_preference: auto
297
+ precision: float32
298
+ fallbacks: []
299
+ satlas_aerial_swinb_si:
300
+ model_id: allenai/satlas-pretrain
301
+ display_name: Satlas Aerial Swinb Si
302
+ path: pretrained/buildings/satlas-aerial-swinb-si
303
+ category: buildings
304
+ priority: foundation
305
+ download_status: UNVERIFIED
306
+ license: Apache-2.0
307
+ source_url: https://github.com/allenai/satlaspretrain_models
308
+ task:
309
+ - building_backbone
310
+ modality:
311
+ - rgb_vhr
312
+ expected_channels: &id003
313
+ - red
314
+ - green
315
+ - blue
316
+ channel_order: *id003
317
+ input_size:
318
+ - 512
319
+ - 512
320
+ - 3
321
+ output_type: multiscale_features_no_task_head
322
+ checkpoint: aerial_swinb_si.pth
323
+ revision: b1f8de04dacf9f9ed9640fe32484947710b47ede
324
+ notes:
325
+ checkpoint_id: Aerial_SwinB_SI
326
+ requires_task_head: true
327
+ health_status: READY
328
+ normalization:
329
+ type: checkpoint_native
330
+ input_range: checkpoint_native
331
+ expected_resolution: see model card
332
+ class_map: null
333
+ threshold_file: null
334
+ device_preference: auto
335
+ precision: float32
336
+ fallbacks: []
337
+ status: READY
338
+ land_flair_hub:
339
+ model_id: IGNF/FLAIR-HUB_LC-A_RGB_swinbase-upernet
340
+ display_name: Land Flair Hub
341
+ path: pretrained/landcover/flair-hub-rgb-swinbase-upernet
342
+ category: landcover
343
+ priority: baseline
344
+ download_status: UNVERIFIED
345
+ license: Etalab-2.0
346
+ source_url: https://huggingface.co/IGNF/FLAIR-HUB_LC-A_RGB_swinbase-upernet
347
+ task:
348
+ - dense_landcover_segmentation
349
+ modality:
350
+ - rgb_vhr
351
+ expected_channels: &id004
352
+ - red
353
+ - green
354
+ - blue
355
+ channel_order: *id004
356
+ input_size:
357
+ - 512
358
+ - 512
359
+ - 3
360
+ output_type: 19_channel_pixel_logits_15_evaluated_classes
361
+ checkpoint: FLAIR-HUB_LC-A_RGB_swinbase-upernet.safetensors
362
+ revision: 88190fc26a325509a78e4a7289e2ab6a8f5d58a4
363
+ notes:
364
+ class_map_source: configs_train/config_supervision.yaml
365
+ ignored_class_ids:
366
+ - 15
367
+ - 16
368
+ - 17
369
+ - 18
370
+ health_status: READY
371
+ normalization:
372
+ type: checkpoint_native
373
+ input_range: checkpoint_native
374
+ expected_resolution: see model card
375
+ class_map: null
376
+ threshold_file: null
377
+ device_preference: auto
378
+ precision: float32
379
+ fallbacks: []
380
+ status: READY
381
+ landcover_candidate:
382
+ model_id: satquery_landcover_v1
383
+ display_name: SatQuery Land Cover v1 candidate
384
+ path: finetuned/landcover/satquery_landcover_v1
385
+ task:
386
+ - dense_landcover_segmentation
387
+ modality:
388
+ - rgb_vhr
389
+ expected_channels:
390
+ - red
391
+ - green
392
+ - blue
393
+ policy: CANDIDATE
394
+ priority: candidate
395
+ health_status: READY
396
+ notes:
397
+ reason: Bundle README reports a bounded toy validation run; independent target-domain
398
+ promotion gate has not passed.
399
+ status: READY
400
+ water_shadow_rgb:
401
+ model_id: satquery_water_shadow_v1
402
+ display_name: SatQuery RGB Water and Shadow v1
403
+ path: finetuned/water/satquery_water_shadow_v1
404
+ task:
405
+ - water_segmentation
406
+ - shadow_segmentation
407
+ modality:
408
+ - rgb_vhr
409
+ expected_channels:
410
+ - red
411
+ - green
412
+ - blue
413
+ policy: CANDIDATE
414
+ priority: primary_when_validated
415
+ health_status: READY
416
+ notes:
417
+ reason: The existing SatQuery water bundle is Sentinel-2 water only; it is not
418
+ this checkpoint.
419
+ status: READY
models/pretrained/buildings/satlas-aerial-swinb-si/aerial_swinb_si.pth ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f8abf21cadaab2a71859e9d172bec4e5d6b7cc9710882a2f6a4d8aae826db036
3
+ size 504439674
models/pretrained/buildings/satlas-aerial-swinb-si/satlas_metadata.json ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "checkpoint_id": "Aerial_SwinB_SI",
3
+ "official_url": "https://huggingface.co/allenai/satlas-pretrain/resolve/main/aerial_swinb_si.pth?download=true",
4
+ "repository_revision": "b1f8de04dacf9f9ed9640fe32484947710b47ede",
5
+ "package": "satlaspretrain-models",
6
+ "input_channels": 3,
7
+ "multi_image": false,
8
+ "task_head": "none; foundation features only"
9
+ }
models/pretrained/buildings/satlas-aerial-swinb-si/satquery_download_metadata.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "repository": "allenai/satlas-pretrain",
3
+ "revision": "b1f8de04dacf9f9ed9640fe32484947710b47ede",
4
+ "download_date": "2026-09-23T15:18:43.138074+00:00"
5
+ }
models/pretrained/buildings/satlas-aerial-swinb-si/satquery_model_health.json ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "inference_verified": true,
3
+ "checkpoint_sha256": "f8abf21cadaab2a71859e9d172bec4e5d6b7cc9710882a2f6a4d8aae826db036",
4
+ "verified_at": "2026-09-23T19:03:31.047526+00:00",
5
+ "checkpoint_id": "Aerial_SwinB_SI",
6
+ "output_shapes": [
7
+ [
8
+ 1,
9
+ 128,
10
+ 128,
11
+ 128
12
+ ],
13
+ [
14
+ 1,
15
+ 256,
16
+ 64,
17
+ 64
18
+ ],
19
+ [
20
+ 1,
21
+ 512,
22
+ 32,
23
+ 32
24
+ ],
25
+ [
26
+ 1,
27
+ 1024,
28
+ 16,
29
+ 16
30
+ ]
31
+ ],
32
+ "device": "cuda",
33
+ "peak_allocated_vram_bytes": 469159936,
34
+ "role": "foundation backbone; no building task head"
35
+ }
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/.gitattributes ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ *.7z filter=lfs diff=lfs merge=lfs -text
2
+ *.arrow filter=lfs diff=lfs merge=lfs -text
3
+ *.bin filter=lfs diff=lfs merge=lfs -text
4
+ *.bz2 filter=lfs diff=lfs merge=lfs -text
5
+ *.ckpt filter=lfs diff=lfs merge=lfs -text
6
+ *.ftz filter=lfs diff=lfs merge=lfs -text
7
+ *.gz filter=lfs diff=lfs merge=lfs -text
8
+ *.h5 filter=lfs diff=lfs merge=lfs -text
9
+ *.joblib filter=lfs diff=lfs merge=lfs -text
10
+ *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
+ *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
+ *.model filter=lfs diff=lfs merge=lfs -text
13
+ *.msgpack filter=lfs diff=lfs merge=lfs -text
14
+ *.npy filter=lfs diff=lfs merge=lfs -text
15
+ *.npz filter=lfs diff=lfs merge=lfs -text
16
+ *.onnx filter=lfs diff=lfs merge=lfs -text
17
+ *.ot filter=lfs diff=lfs merge=lfs -text
18
+ *.parquet filter=lfs diff=lfs merge=lfs -text
19
+ *.pb filter=lfs diff=lfs merge=lfs -text
20
+ *.pickle filter=lfs diff=lfs merge=lfs -text
21
+ *.pkl filter=lfs diff=lfs merge=lfs -text
22
+ *.pt filter=lfs diff=lfs merge=lfs -text
23
+ *.pth filter=lfs diff=lfs merge=lfs -text
24
+ *.rar filter=lfs diff=lfs merge=lfs -text
25
+ *.safetensors filter=lfs diff=lfs merge=lfs -text
26
+ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
+ *.tar.* filter=lfs diff=lfs merge=lfs -text
28
+ *.tar filter=lfs diff=lfs merge=lfs -text
29
+ *.tflite filter=lfs diff=lfs merge=lfs -text
30
+ *.tgz filter=lfs diff=lfs merge=lfs -text
31
+ *.wasm filter=lfs diff=lfs merge=lfs -text
32
+ *.xz filter=lfs diff=lfs merge=lfs -text
33
+ *.zip filter=lfs diff=lfs merge=lfs -text
34
+ *.zst filter=lfs diff=lfs merge=lfs -text
35
+ *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ model_utils/AerialROI.png filter=lfs diff=lfs merge=lfs -text
37
+ model_utils/FLAIR-HUB_split1_classesfreq.png filter=lfs diff=lfs merge=lfs -text
38
+ model_utils/FLAIR-HUB_LC-A_RVB_swinbase-upernet_inferenceROI.png filter=lfs diff=lfs merge=lfs -text
39
+ model_utils/FLAIR-HUB_LC-A_RGB_swinbase-upernet_inferenceROI.png filter=lfs diff=lfs merge=lfs -text
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/README.md ADDED
@@ -0,0 +1,433 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: etalab-2.0
3
+ pipeline_tag: image-segmentation
4
+ library_name: pytorch
5
+ tags:
6
+ - semantic segmentation
7
+ - pytorch
8
+ - landcover
9
+ model-index:
10
+ - name: FLAIR-HUB_LC-A_RVB_swinbase-upernet
11
+ results:
12
+ - task:
13
+ type: semantic-segmentation
14
+ dataset:
15
+ name: IGNF/FLAIR-HUB/
16
+ type: earth-observation-dataset
17
+ metrics:
18
+ - type: mIoU
19
+ value: 64.054
20
+ name: mIoU
21
+ - type: OA
22
+ value: 76.784
23
+ name: Overall Accuracy
24
+ - type: IoU
25
+ value: 83.769
26
+ name: IoU building
27
+ - type: IoU
28
+ value: 77.891
29
+ name: IoU greenhouse
30
+ - type: IoU
31
+ value: 61.59
32
+ name: IoU swimming pool
33
+ - type: IoU
34
+ value: 75.029
35
+ name: IoU impervious surface
36
+ - type: IoU
37
+ value: 56.972
38
+ name: IoU pervious surface
39
+ - type: IoU
40
+ value: 65.214
41
+ name: IoU bare soil
42
+ - type: IoU
43
+ value: 90.08
44
+ name: IoU water
45
+ - type: IoU
46
+ value: 67.767
47
+ name: IoU snow
48
+ - type: IoU
49
+ value: 52.851
50
+ name: IoU herbaceous vegetation
51
+ - type: IoU
52
+ value: 56.529
53
+ name: IoU agricultural land
54
+ - type: IoU
55
+ value: 37.34
56
+ name: IoU plowed land
57
+ - type: IoU
58
+ value: 78.876
59
+ name: IoU vineyard
60
+ - type: IoU
61
+ value: 70.071
62
+ name: IoU deciduous
63
+ - type: IoU
64
+ value: 58.948
65
+ name: IoU coniferous
66
+ - type: IoU
67
+ value: 30.973
68
+ name: IoU brushwood
69
+ ---
70
+
71
+ <div style="font-family:sans-serif; color:black; background-color:#F8F5F5; padding:25px; border-radius:10px; margin:auto; border:0px; ">
72
+
73
+ <!-- Collection Section -->
74
+ <div style="background:#FFFFFF; color:black; padding:20px; border-radius:8px; box-shadow:0 2px 5px rgba(0,0,0,0.05); margin-bottom:20px;">
75
+ <h1 style="margin-top:0; color:black;">🌐 FLAIR-HUB Model Collection</h1>
76
+ <ul style="padding-left:0; list-style:none; line-height:1.6; margin:0;">
77
+ <li>
78
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
79
+ <b>Trained on</b>: <span style="color:black;">FLAIR-HUB dataset</span>
80
+ <a href="https://huggingface.co/datasets/IGNF/FLAIR-HUB" target="_blank" style="margin-left:5px;">🔗</a>
81
+ </li>
82
+ <li>
83
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
84
+ <b>Available modalities</b>: Aerial images, SPOT images, Topographic info, Sentinel-2 yearly time-series, Sentinel-1 yearly time-series, Historical aerial images
85
+ </li>
86
+ <li>
87
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
88
+ <b>Encoders</b>: ConvNeXTV2, Swin (Tiny, Small, Base, Large)
89
+ </li>
90
+ <li>
91
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
92
+ <b>Decoders</b>: UNet, UPerNet
93
+ </li>
94
+ <li>
95
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
96
+ <b>Tasks</b>: Land-cover mapping (LC), Crop-type mapping (LPIS)
97
+ </li>
98
+ <li>
99
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
100
+ <b>Class nomenclature</b>: 15 classes for LC, 23 classes for LPIS
101
+ </li>
102
+ </ul>
103
+ <table border="1" style="border-collapse: collapse; width:100%; margin-bottom:15px; table-layout: fixed;">
104
+ <thead>
105
+ <tr>
106
+ <th style="padding:1px;"></th>
107
+ <th colspan="2" style="padding:1px; text-align:center; font-weight:bold; color:black;">
108
+ Model task
109
+ </th>
110
+ <th colspan="6" style="padding:1px; text-align:center; font-weight:bold; color:black;">
111
+ Model inputs
112
+ </th>
113
+ </tr>
114
+ <tr>
115
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">🆔<br>Model ID</th>
116
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">🗺️<br>Land-cover</th>
117
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">🌾<br>Crop-types</th>
118
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">🛩️<br>Aerial</th>
119
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">⛰️<br>Elevation</th>
120
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">🛰️<br>SPOT</th>
121
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">🛰️<br>S2 t.s.</th>
122
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">🛰️<br>S1 t.s.</th>
123
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">🛩️<br>Historical</th>
124
+ </tr>
125
+ </thead>
126
+ <tbody>
127
+ <tr>
128
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LC-A</td>
129
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
130
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
131
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
132
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
133
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
134
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
135
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
136
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
137
+ </tr>
138
+ <tr>
139
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LC-B</td>
140
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
141
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
142
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
143
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
144
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
145
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
146
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
147
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
148
+ </tr>
149
+ <tr>
150
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LC-D</td>
151
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
152
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
153
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
154
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
155
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
156
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
157
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
158
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
159
+ </tr>
160
+ <tr>
161
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LC-F</td>
162
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
163
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
164
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
165
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
166
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
167
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
168
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
169
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
170
+ </tr>
171
+ <tr>
172
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LC-G</td>
173
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
174
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
175
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
176
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
177
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
178
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
179
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
180
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
181
+ </tr>
182
+ <tr>
183
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LC-I</td>
184
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
185
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
186
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
187
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
188
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
189
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
190
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
191
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
192
+ </tr>
193
+ <tr>
194
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LC-L</td>
195
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
196
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
197
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
198
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
199
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
200
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
201
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
202
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
203
+ </tr>
204
+ <tr>
205
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LPIS-A</td>
206
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
207
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
208
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
209
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
210
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
211
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
212
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
213
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
214
+ </tr>
215
+ <tr>
216
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LPIS-F</td>
217
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
218
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
219
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
220
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
221
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
222
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
223
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
224
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
225
+ </tr>
226
+ <tr>
227
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LPIS-I</td>
228
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
229
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
230
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
231
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
232
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
233
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
234
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
235
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
236
+ </tr>
237
+ <tr>
238
+ <td style="padding:1px; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">LPIS-J</td>
239
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
240
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
241
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
242
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
243
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
244
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
245
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">✓</td>
246
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;"></td>
247
+ </tr>
248
+ </tbody>
249
+ </table>
250
+ </div>
251
+
252
+ <!-- Model-Specific Section -->
253
+ <div style="border:1px solid black; color:black; padding:25px; background-color:#FDFFF4; border-radius:8px; box-shadow:0 2px 5px rgba(0,0,0,0.05);">
254
+ <h2 style="margin-top:0; color:black;">🔍 Model: FLAIR-HUB_LC-A_RVB_swinbase-upernet</h2>
255
+ <ul style="padding-left:0; list-style:none; line-height:1.6; margin:0;">
256
+ <li>
257
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
258
+ <b>Encoder</b>: <i>swin_base_patch4_window12_384</i>
259
+ </li>
260
+ <li>
261
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
262
+ <b>Decoder</b>: <i>upernet</i>
263
+ </li>
264
+ <li>
265
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
266
+ <b>Metrics</b>:
267
+ </li>
268
+ <table border="1" style="border-collapse: collapse; width:100%; margin-bottom:15px; table-layout: fixed;">
269
+ <thead>
270
+ <tr>
271
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">mIoU</th>
272
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">O.A.</th>
273
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">F-score</th>
274
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">Precision</th>
275
+ <th style="padding:1px; text-align:center; color:black; width:5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">Recall</th>
276
+ </tr>
277
+ </thead>
278
+ <tr>
279
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">64.05%</td>
280
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">76.78%</td>
281
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">76.88%</td>
282
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">77.71%</td>
283
+ <td style="padding:1px; text-align:center; width5%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;">76.59%</td>
284
+ </tr>
285
+ </table>
286
+ <li>
287
+ <span style="display:inline-block; width:10px; height:10px; background:#555; border-radius:2px; margin-right:10px; box-shadow:1px 1px 2px rgba(0,0,0,0.2); vertical-align:middle;"></span>
288
+ <b>Params.</b>: <i>89.4</i>
289
+ </li>
290
+ </ul>
291
+ </div>
292
+ </div>
293
+
294
+
295
+ ---
296
+
297
+ ## General Informations
298
+ - **Contact:** flair@ign.fr
299
+ - **Code repository:** https://github.com/IGNF/FLAIR-HUB
300
+ - **Paper:** https://huggingface.co/papers/2506.07080
301
+ - **Developed by:** IGN
302
+ - **Compute infrastructure:**
303
+ - software: python, pytorch-lightning
304
+ - hardware: HPC/AI resources provided by GENCI-IDRIS
305
+ - **License:** Etalab 2.0
306
+
307
+ ---
308
+
309
+
310
+ ### Training Config Hyperparameters
311
+
312
+ ```yaml
313
+ - Model architecture: swin_base_patch4_window12_384-upernet
314
+ - Optimizer: AdamW (betas=[0.9, 0.999], weight_decay=0.01)
315
+ - Learning rate: 5e-5
316
+ - Scheduler: one_cycle_lr (warmup_fraction=0.2)
317
+ - Epochs: 150
318
+ - Batch size: 5
319
+ - Seed: 2025
320
+ - Early stopping: patience 20, monitor val_miou (mode=max)
321
+ - Class weights:
322
+ - default: 1.0
323
+ - masked classes: [clear cut, ligneous, mixed, other] → weight = 0
324
+ - Input channels:
325
+ - AERIAL_RGBI : [1,2,3]
326
+ - Input normalization (custom):
327
+ - AERIAL_RGBI:
328
+ mean: [105.66, 111.35, 102.18 ]
329
+ std: [52.23, 45.62, 44.30]
330
+ ```
331
+
332
+ ---
333
+
334
+ ### Training Data
335
+
336
+ ```yaml
337
+ - Train patches: 152225
338
+ - Validation patches: 38175
339
+ - Test patches: 50700
340
+ ```
341
+
342
+ <div style="position: relative; text-align: center;">
343
+ <img src="./model_utils/FLAIR-HUB_split1_classesfreq.png" alt="Classes distribution." style="width: 100%; display: block; margin: 0 auto;"/>
344
+ </div>
345
+
346
+ ---
347
+
348
+ ### Training Logging
349
+
350
+ <div style="position: relative; text-align: center;">
351
+ <img src="./model_utils/FLAIR-HUB_LC-A_RGB_swinbase-upernet_logs.png" alt="Training logging." style="width: 100%; display: block; margin: 0 auto;"/>
352
+ </div>
353
+
354
+ ---
355
+
356
+
357
+ ## Metrics
358
+
359
+
360
+ | Metric | Value |
361
+ | ---------------- | ------ |
362
+ | mIoU | 64.05% |
363
+ | Overall Accuracy | 76.78% |
364
+ | F-score | 76.88% |
365
+ | Precision | 77.71% |
366
+ | Recall | 76.59% |
367
+
368
+ | Class | IoU (%) | F-score (%) | Precision (%) | Recall (%) |
369
+ | --------------------- | ------- | ----------- | ------------- | ---------- |
370
+ | building | 83.77 | 91.17 | 91.42 | 90.92 |
371
+ | greenhouse | 77.89 | 87.57 | 85.28 | 89.99 |
372
+ | swimming pool | 58.50 | 73.82 | 77.36 | 70.58 |
373
+ | impervious surface | 75.03 | 85.73 | 87.13 | 84.38 |
374
+ | pervious surface | 56.97 | 72.59 | 70.18 | 75.17 |
375
+ | bare soil | 65.21 | 78.94 | 74.64 | 83.78 |
376
+ | water | 90.08 | 94.78 | 95.00 | 94.57 |
377
+ | snow | 67.77 | 80.79 | 97.53 | 68.95 |
378
+ | herbaceous vegetation | 52.85 | 69.15 | 71.87 | 66.64 |
379
+ | agricultural land | 56.53 | 72.23 | 68.13 | 76.85 |
380
+ | plowed land | 37.34 | 54.38 | 51.25 | 57.91 |
381
+ | vineyard | 78.88 | 88.19 | 86.89 | 89.53 |
382
+ | deciduous | 70.07 | 82.40 | 81.00 | 83.85 |
383
+ | coniferous | 58.95 | 74.17 | 79.78 | 69.30 |
384
+ | brushwood | 30.97 | 47.30 | 48.20 | 46.43 |
385
+
386
+
387
+ ---
388
+
389
+
390
+ ## Inference
391
+
392
+ <div style="display: flex; justify-content: center; text-align: center; gap: 20px;">
393
+
394
+ <div style="flex: 1;">
395
+ <p style="margin: 0;">Aerial ROI</p>
396
+ <img src="./model_utils/AerialROI.png" alt="AERIAL" style="width: 100%; display: block;" />
397
+ </div>
398
+ <div style="flex: 1;">
399
+ <p style="margin: 0;">Inference ROI</p>
400
+ <img src="./model_utils/FLAIR-HUB_LC-A_RGB_swinbase-upernet_inferenceROI.png" alt="INFERENCE" style="width: 100%; display: block;" />
401
+ </div>
402
+ </div>
403
+
404
+
405
+ ---
406
+
407
+
408
+ ## Cite
409
+
410
+
411
+ **BibTeX:**
412
+
413
+ ```
414
+ @article{GARIOUD2026271,
415
+ title = {FLAIR-HUB: Large-scale multimodal dataset for land cover and crop mapping},
416
+ author = {Anatol Garioud and Sébastien Giordano and Nicolas David and Nicolas Gonthier},
417
+ journal = {ISPRS Journal of Photogrammetry and Remote Sensing},
418
+ volume = {237},
419
+ pages = {271-300},
420
+ year = {2026},
421
+ issn = {0924-2716},
422
+ doi = {https://doi.org/10.1016/j.isprsjprs.2026.04.017},
423
+ url = {https://www.sciencedirect.com/science/article/pii/S0924271626001899},
424
+ }
425
+ ```
426
+
427
+ **APA:**
428
+ ```
429
+ Anatol Garioud, Sébastien Giordano, Nicolas David, Nicolas Gonthier.
430
+ FLAIR-HUB: Large-scale Multimodal Dataset for Land Cover and Crop Mapping.
431
+ ISPRS Journal of Photogrammetry and Remote Sensing, Volume 237, 2026.
432
+ DOI: https://doi.org/10.1016/j.isprsjprs.2026.04.017
433
+ ```
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/configs_train/config_modalities.yaml ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ modalities:
2
+
3
+ inputs:
4
+ AERIAL_RGBI : True
5
+ AERIAL-RLT_PAN : False
6
+ DEM_ELEV : False
7
+ SPOT_RGBI : False
8
+ SENTINEL2_TS : False
9
+ SENTINEL1-ASC_TS : False
10
+ SENTINEL1-DESC_TS : False
11
+
12
+ inputs_channels:
13
+ AERIAL_RGBI : [1,2,3]
14
+ SPOT_RGBI :
15
+ SENTINEL2_TS :
16
+ SENTINEL1-ASC_TS :
17
+ SENTINEL1-DESC_TS :
18
+
19
+ aux_loss:
20
+ AERIAL_RGBI : False
21
+ AERIAL-RLT_PAN : False
22
+ DEM_ELEV : False
23
+ SPOT_RGBI : False
24
+ SENTINEL2_TS : False
25
+ SENTINEL1-ASC_TS : False
26
+ SENTINEL1-DESC_TS : False
27
+
28
+ aux_loss_weight: 1 # multiplier before adding to main loss
29
+
30
+ modality_dropout: # between 0 (no dropout) and 1 (complete systematic dropout)
31
+ AERIAL_RGBI : 0
32
+ AERIAL-RLT_PAN : 0
33
+ DEM_ELEV : 0
34
+ SPOT_RGBI : 0
35
+ SENTINEL2_TS : 0
36
+ SENTINEL1-ASC_TS : 0
37
+ SENTINEL1-DESC_TS : 0
38
+
39
+ pre_processings:
40
+ filter_sentinel2: True
41
+ filter_sentinel2_max_cloud : 1 # [0-100]
42
+ filter_sentinel2_max_snow : 1 # [0-100]
43
+ filter_sentinel2_max_frac_cover : 0.05 # [0-1]
44
+ temporal_average_sentinel2 : False # possible : False, monthly, semi-monthly
45
+ temporal_average_sentinel1 : False
46
+
47
+ calc_elevation : True
48
+ calc_elevation_stack_dsm : True
49
+
50
+ use_augmentation: False
51
+
52
+ normalization:
53
+ norm_type : custom # possible : custom, scaling, without
54
+
55
+ AERIAL_RGBI_means : [105.66, 111.35, 102.18]
56
+ AERIAL_RGBI_stds : [52.23, 45.62, 44.30]
57
+
58
+ AERIAL-RLT_PAN_means : [125.92]
59
+ AERIAL-RLT_PAN_stds : [38.45]
60
+
61
+ SPOT_RGBI_means : [433.26, 508.75, 467.77, 1137.03]
62
+ SPOT_RGBI_stds : [312.76, 284.61, 226.02, 543.11]
63
+
64
+ DEM_ELEV_means : [311.06, 311.06] # use same for both DSM/DTM to allow keeping differences of elevation
65
+ DEM_ELEV_stds : [537.55, 537.55] # use same for both DSM/DTM to allow keeping differences of elevation
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/configs_train/config_models.yaml ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ models:
2
+
3
+ monotemp_model: # encoder-decoder from SMP
4
+
5
+ arch: swin_base_patch4_window12_384-upernet
6
+ new_channels_init_mode:
7
+
8
+ multitemp_model:
9
+
10
+ ref_date: '05-15' # defined for whole dataset
11
+ encoder_widths: [64, 64, 64, 128] # last must be equivalent to decoder_widths
12
+ decoder_widths: [32, 32, 64, 128] # last must be equivalent to encoder_widths
13
+ out_conv: [32, 19]
14
+ str_conv_k: 3
15
+ str_conv_s: 1
16
+ str_conv_p: 1
17
+ agg_mode: "att_group"
18
+ encoder_norm: "group"
19
+ n_head: 16
20
+ d_model: 256
21
+ d_k: 4
22
+ pad_value: 0
23
+ padding_mode: "reflect"
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/configs_train/config_supervision.yaml ADDED
@@ -0,0 +1,39 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ labels:
2
+ - AERIAL_LABEL-COSIA
3
+
4
+ labels_configs:
5
+ AERIAL_LABEL-COSIA:
6
+ task_weight: 1
7
+ value_name:
8
+ 0 : 'building'
9
+ 1 : 'greenhouse'
10
+ 2 : 'swimming_pool'
11
+ 3 : 'impervious surface'
12
+ 4 : 'pervious surface'
13
+ 5 : 'bare soil'
14
+ 6 : 'water'
15
+ 7 : 'snow'
16
+ 8 : 'herbaceous vegetation'
17
+ 9 : 'agricultural land'
18
+ 10 : 'plowed land'
19
+ 11 : 'vineyard'
20
+ 12 : 'deciduous'
21
+ 13 : 'coniferous'
22
+ 14 : 'brushwood'
23
+ 15 : 'clear cut'
24
+ 16 : 'ligneous'
25
+ 17 : 'mixed'
26
+ 18 : 'undefined'
27
+ value_weights:
28
+ default: 1
29
+ default_exceptions:
30
+ 15: 0
31
+ 16: 0
32
+ 17: 0
33
+ 18: 0
34
+ per_modality_exceptions:
35
+ AERIAL_RGBI:
36
+ SENTINEL2_TS:
37
+ SENTINEL1-ASC_TS:
38
+ SENTINEL1-DESC_TS:
39
+
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/configs_train/config_task.yaml ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # SLURM
2
+
3
+ paths :
4
+
5
+ out_folder: '../'
6
+ out_model_name: 'FLAIR-HUB_LC-A_RGB_swinbase-upernet'
7
+
8
+ train_csv: '../TRAIN_FLAIR-INC.csv'
9
+ val_csv: '../VALID_FLAIR-INC.csv'
10
+ test_csv: '../TEST_FLAIR-INC.csv'
11
+ global_mtd_folder: '../GLOBAL_ALL_MTD/'
12
+ ckpt_model_path: ''
13
+
14
+
15
+ tasks:
16
+
17
+ train: True
18
+ train_tasks:
19
+ init_weights_only_from_ckpt: False
20
+ resume_training_from_ckpt: False
21
+
22
+ predict: True
23
+ write_files: True
24
+ georeferencing_output: True
25
+
26
+ metrics_only: False
27
+
28
+ hyperparams:
29
+
30
+ num_epochs: 150
31
+ batch_size: 5
32
+ seed: 2025
33
+ learning_rate: 0.00005
34
+
35
+ optimizer: adamw #sgd, adam, adamw
36
+ optim_weight_decay: 0.01
37
+ optim_betas: [0.9, 0.999]
38
+
39
+ scheduler: one_cycle_lr # [one_cycle_lr, reduce_on_plateau, cycle_then_plateau]
40
+ warmup_fraction: 0.2 #if using one_cycle_lr. [0-1]
41
+ plateau_patience: 5
42
+
43
+ hardware:
44
+ accelerator: 'gpu'
45
+ num_nodes: 6
46
+ gpus_per_node: 4
47
+ strategy: 'ddp_find_unused_parameters_true'
48
+ num_workers: 10
49
+
50
+ saving:
51
+ ckpt_save_also_last: True
52
+ ckpt_weights_only: False
53
+ ckpt_monitor: 'val_miou'
54
+ ckpt_monitor_mode: 'max'
55
+ ckpt_earlystopping_patience: 20
56
+ cp_csv_and_conf_to_output: True
57
+ enable_progress_bar: True
58
+ progress_rate: 10
59
+
60
+ ckpt_verbose: True
61
+ verbose_config: False
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/model_utils/AerialROI.png ADDED

Git LFS Details

  • SHA256: 95bc97fda852302fff981576f09c813f65133faa732df138586b406fdc21fae3
  • Pointer size: 132 Bytes
  • Size of remote file: 5.16 MB
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/satquery_download_metadata.json ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ {
2
+ "repository": "IGNF/FLAIR-HUB_LC-A_RGB_swinbase-upernet",
3
+ "revision": "88190fc26a325509a78e4a7289e2ab6a8f5d58a4",
4
+ "download_date": "2026-09-23T15:19:56.706918+00:00"
5
+ }
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/satquery_model_health.json ADDED
@@ -0,0 +1,36 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "inference_verified": true,
3
+ "checkpoint_sha256": "a995a226065b176c29f0a66a4937cc8bcea5741887b3f8c17812c430f75f4e3c",
4
+ "verified_at": "2026-09-23T19:03:34.945629+00:00",
5
+ "output_shape": [
6
+ 1,
7
+ 19,
8
+ 512,
9
+ 512
10
+ ],
11
+ "class_map": [
12
+ "building",
13
+ "greenhouse",
14
+ "swimming_pool",
15
+ "impervious surface",
16
+ "pervious surface",
17
+ "bare soil",
18
+ "water",
19
+ "snow",
20
+ "herbaceous vegetation",
21
+ "agricultural land",
22
+ "plowed land",
23
+ "vineyard",
24
+ "deciduous",
25
+ "coniferous",
26
+ "brushwood",
27
+ "clear cut",
28
+ "ligneous",
29
+ "mixed",
30
+ "undefined"
31
+ ],
32
+ "device": "cuda",
33
+ "peak_allocated_vram_bytes": 684190720,
34
+ "preprocessing": "official AERIAL_RGBI custom mean/std",
35
+ "runtime": "segmentation-models-pytorch==0.4.0"
36
+ }
models/pretrained/landcover/flair-hub-rgb-swinbase-upernet/upstream/configs/train/config_models.yaml ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ models:
2
+
3
+ monotemp_model:
4
+
5
+ arch: 'swin_base_patch4_window12_384-upernet'
6
+ new_channels_init_mode: 'random' # [copy_first / copy_second / copy_third / random]
7
+
8
+ multitemp_model:
9
+
10
+ ref_date: '05-15' # defined for whole dataset
11
+ encoder_widths: [64, 64, 64, 128] # last must be equivalent to decoder_widths
12
+ decoder_widths: [32, 32, 64, 128] # last must be equivalent to encoder_widths
13
+ out_conv: [32, 19]
14
+ str_conv_k: 3
15
+ str_conv_s: 1
16
+ str_conv_p: 1
17
+ agg_mode: "att_group"
18
+ encoder_norm: "group"
19
+ n_head: 16
20
+ d_model: 256
21
+ d_k: 4
22
+ pad_value: 0
23
+ padding_mode: "reflect"