Upload: proba_deeplabv3.json
Browse files- single/proba_deeplabv3.json +239 -0
single/proba_deeplabv3.json
ADDED
|
@@ -0,0 +1,239 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"type": "Feature",
|
| 3 |
+
"stac_version": "1.1.0",
|
| 4 |
+
"stac_extensions": [
|
| 5 |
+
"https://stac-extensions.github.io/mlm/v1.5.0/schema.json",
|
| 6 |
+
"https://stac-extensions.github.io/file/v2.1.0/schema.json"
|
| 7 |
+
],
|
| 8 |
+
"id": "DEEPLABV3_CLOUDMASK_FT_2025-10-26",
|
| 9 |
+
"geometry": {
|
| 10 |
+
"type": "Polygon",
|
| 11 |
+
"coordinates": [
|
| 12 |
+
[
|
| 13 |
+
[
|
| 14 |
+
-180.0,
|
| 15 |
+
-90.0
|
| 16 |
+
],
|
| 17 |
+
[
|
| 18 |
+
-180.0,
|
| 19 |
+
90.0
|
| 20 |
+
],
|
| 21 |
+
[
|
| 22 |
+
180.0,
|
| 23 |
+
90.0
|
| 24 |
+
],
|
| 25 |
+
[
|
| 26 |
+
180.0,
|
| 27 |
+
-90.0
|
| 28 |
+
],
|
| 29 |
+
[
|
| 30 |
+
-180.0,
|
| 31 |
+
-90.0
|
| 32 |
+
]
|
| 33 |
+
]
|
| 34 |
+
]
|
| 35 |
+
},
|
| 36 |
+
"bbox": [
|
| 37 |
+
-180,
|
| 38 |
+
-90,
|
| 39 |
+
180,
|
| 40 |
+
90
|
| 41 |
+
],
|
| 42 |
+
"properties": {
|
| 43 |
+
"datetime": "2025-10-26T11:10:11Z",
|
| 44 |
+
"created": "2025-10-26T11:10:11Z",
|
| 45 |
+
"updated": "2025-11-18T11:44:34.341705Z",
|
| 46 |
+
"description": "DeepLabV3 architecture fine-tuned for cloud detection in VGT-1, VGT-2, and PROBA-V satellite imagery from the FDR4VGT harmonized dataset.",
|
| 47 |
+
"title": "DEEPLABV3 Cloud Detection Model - VGT1/VGT2/Proba-V (Fine-tuned)",
|
| 48 |
+
"mlm:name": "deeplabv3_fdr4vgt_cloudmask_ft",
|
| 49 |
+
"mlm:architecture": "DeepLabV3",
|
| 50 |
+
"mlm:tasks": [
|
| 51 |
+
"semantic-segmentation"
|
| 52 |
+
],
|
| 53 |
+
"mlm:framework": "pytorch",
|
| 54 |
+
"mlm:framework_version": "2.5.1+cu121",
|
| 55 |
+
"mlm:accelerator": "cuda",
|
| 56 |
+
"mlm:accelerator_constrained": false,
|
| 57 |
+
"mlm:accelerator_summary": "NVIDIA GPU with CUDA support (compute capability >= 7.0)",
|
| 58 |
+
"mlm:accelerator_count": 1,
|
| 59 |
+
"mlm:memory_size": 83638230,
|
| 60 |
+
"mlm:batch_size_suggestion": 8,
|
| 61 |
+
"mlm:total_parameters": 12648225,
|
| 62 |
+
"mlm:pretrained": true,
|
| 63 |
+
"mlm:pretrained_source": "Global VGT-1/VGT-2/PROBA-V cloud detection model (100k+ training samples)",
|
| 64 |
+
"mlm:input": [
|
| 65 |
+
{
|
| 66 |
+
"name": "VGT_PROBA_TOC_reflectance",
|
| 67 |
+
"bands": [
|
| 68 |
+
"Blue (B0, ~450nm)",
|
| 69 |
+
"Red (B2, ~645nm)",
|
| 70 |
+
"Near-Infrared (B3, ~835nm)",
|
| 71 |
+
"SWIR (MIR, ~1665nm)"
|
| 72 |
+
],
|
| 73 |
+
"input": {
|
| 74 |
+
"shape": [
|
| 75 |
+
-1,
|
| 76 |
+
4,
|
| 77 |
+
512,
|
| 78 |
+
512
|
| 79 |
+
],
|
| 80 |
+
"dim_order": [
|
| 81 |
+
"batch",
|
| 82 |
+
"channel",
|
| 83 |
+
"height",
|
| 84 |
+
"width"
|
| 85 |
+
],
|
| 86 |
+
"data_type": "float32"
|
| 87 |
+
},
|
| 88 |
+
"norm": {
|
| 89 |
+
"type": "raw_toc_reflectance",
|
| 90 |
+
"range": [
|
| 91 |
+
0,
|
| 92 |
+
10000
|
| 93 |
+
],
|
| 94 |
+
"description": "Raw Top-of-Canopy reflectance values scaled by 10000"
|
| 95 |
+
},
|
| 96 |
+
"pre_processing_function": null
|
| 97 |
+
}
|
| 98 |
+
],
|
| 99 |
+
"mlm:output": [
|
| 100 |
+
{
|
| 101 |
+
"name": "cloud_probability",
|
| 102 |
+
"tasks": [
|
| 103 |
+
"semantic-segmentation"
|
| 104 |
+
],
|
| 105 |
+
"result": {
|
| 106 |
+
"shape": [
|
| 107 |
+
-1,
|
| 108 |
+
1,
|
| 109 |
+
512,
|
| 110 |
+
512
|
| 111 |
+
],
|
| 112 |
+
"dim_order": [
|
| 113 |
+
"batch",
|
| 114 |
+
"channel",
|
| 115 |
+
"height",
|
| 116 |
+
"width"
|
| 117 |
+
],
|
| 118 |
+
"data_type": "float32"
|
| 119 |
+
},
|
| 120 |
+
"classification:classes": [
|
| 121 |
+
{
|
| 122 |
+
"value": 0.0,
|
| 123 |
+
"name": "clear",
|
| 124 |
+
"description": "Clear sky (may contain cloud shadows)",
|
| 125 |
+
"color_hint": "00000000"
|
| 126 |
+
},
|
| 127 |
+
{
|
| 128 |
+
"value": 1.0,
|
| 129 |
+
"name": "cloud",
|
| 130 |
+
"description": "Cloud present",
|
| 131 |
+
"color_hint": "FFFF00"
|
| 132 |
+
}
|
| 133 |
+
],
|
| 134 |
+
"post_processing_function": "Apply threshold to get binary mask. Standard threshold: 0.5. Recommended (balanced) threshold: 0.4.",
|
| 135 |
+
"standard_threshold": 0.5,
|
| 136 |
+
"recommended_threshold": 0.4343,
|
| 137 |
+
"value_range": [
|
| 138 |
+
0.0,
|
| 139 |
+
1.0
|
| 140 |
+
],
|
| 141 |
+
"description": "Per-pixel probability of cloud presence. Built-in sigmoid activation. Values close to 1.0 indicate high confidence of cloud."
|
| 142 |
+
}
|
| 143 |
+
],
|
| 144 |
+
"mlm:hyperparameters": {
|
| 145 |
+
"base_channels": null,
|
| 146 |
+
"encoder": "mobilenet_v2",
|
| 147 |
+
"encoder_weights": null,
|
| 148 |
+
"loss_function": "MaskedBCEWithLogitsLoss",
|
| 149 |
+
"loss_ignore_value": 255,
|
| 150 |
+
"optimizer": "Adam",
|
| 151 |
+
"learning_rate": 0.0001,
|
| 152 |
+
"weight_decay": 0.0,
|
| 153 |
+
"batch_size": 32,
|
| 154 |
+
"training_epochs": 17,
|
| 155 |
+
"max_epochs": 50,
|
| 156 |
+
"final_val_loss": 0.0721,
|
| 157 |
+
"scheduler": "ReduceLROnPlateau",
|
| 158 |
+
"scheduler_patience": 3,
|
| 159 |
+
"scheduler_factor": 0.5,
|
| 160 |
+
"early_stopping_patience": 10,
|
| 161 |
+
"gradient_clip_val": 1.0,
|
| 162 |
+
"precision": 16
|
| 163 |
+
},
|
| 164 |
+
"file:size": 55758820,
|
| 165 |
+
"custom:export_format": "torch.export.pt2",
|
| 166 |
+
"custom:has_sigmoid": true,
|
| 167 |
+
"custom:sigmoid_location": "built-in wrapper",
|
| 168 |
+
"custom:export_datetime": "2025-11-18T11:44:34.341705Z",
|
| 169 |
+
"custom:training_datetime": "2025-10-26T11:10:11Z",
|
| 170 |
+
"custom:training_stage": "fine-tuning",
|
| 171 |
+
"custom:base_model_source": "global_cloudmask",
|
| 172 |
+
"custom:project": "FDR4VGT",
|
| 173 |
+
"custom:project_url": "https://fdr4vgt.eu/",
|
| 174 |
+
"custom:sensors": [
|
| 175 |
+
"VGT-1",
|
| 176 |
+
"VGT-2",
|
| 177 |
+
"PROBA-V"
|
| 178 |
+
],
|
| 179 |
+
"custom:sensor_notes": "Model applicable to SPOT-VGT1, SPOT-VGT2, and PROBA-V imagery",
|
| 180 |
+
"custom:spatial_resolution": "1km",
|
| 181 |
+
"custom:tile_size": 512,
|
| 182 |
+
"custom:recommended_overlap": 64,
|
| 183 |
+
"custom:applicable_start": "1998-03-01T00:00:00Z",
|
| 184 |
+
"custom:applicable_end": null,
|
| 185 |
+
"dependencies": [
|
| 186 |
+
"torch>=2.0.0",
|
| 187 |
+
"segmentation-models-pytorch>=0.3.0",
|
| 188 |
+
"pytorch-lightning>=2.0.0"
|
| 189 |
+
]
|
| 190 |
+
},
|
| 191 |
+
"links": [
|
| 192 |
+
{
|
| 193 |
+
"rel": "about",
|
| 194 |
+
"href": "https://fdr4vgt.eu/",
|
| 195 |
+
"type": "text/html",
|
| 196 |
+
"title": "FDR4VGT Project - Harmonized VGT Data Record"
|
| 197 |
+
},
|
| 198 |
+
{
|
| 199 |
+
"rel": "license",
|
| 200 |
+
"href": "https://creativecommons.org/licenses/by/4.0/",
|
| 201 |
+
"type": "text/html",
|
| 202 |
+
"title": "CC-BY-4.0 License"
|
| 203 |
+
}
|
| 204 |
+
],
|
| 205 |
+
"assets": {
|
| 206 |
+
"model": {
|
| 207 |
+
"href": "https://huggingface.co/isp-uv-es/FDR4VGT-CLOUD/resolve/main/single/proba_deeplabv3.pt2",
|
| 208 |
+
"type": "application/octet-stream; application=pytorch",
|
| 209 |
+
"title": "PyTorch model weights checkpoint",
|
| 210 |
+
"description": "The weights of the DEEPLABV3 model in torch.export .pt2 format with built-in sigmoid activation.",
|
| 211 |
+
"mlm:artifact_type": "torch.export.pt2",
|
| 212 |
+
"roles": [
|
| 213 |
+
"mlm:model",
|
| 214 |
+
"mlm:weights",
|
| 215 |
+
"data"
|
| 216 |
+
]
|
| 217 |
+
},
|
| 218 |
+
"example_data": {
|
| 219 |
+
"href": "https://huggingface.co/isp-uv-es/FDR4VGT-CLOUD/resolve/main/single/example_data.safetensor",
|
| 220 |
+
"type": "application/octet-stream; application=safetensors",
|
| 221 |
+
"title": "Example VGT/PROBA-V image",
|
| 222 |
+
"description": "Example VGT/PROBA-V Top-of-Canopy reflectance image for model inference.",
|
| 223 |
+
"roles": [
|
| 224 |
+
"mlm:example_data",
|
| 225 |
+
"data"
|
| 226 |
+
]
|
| 227 |
+
},
|
| 228 |
+
"load": {
|
| 229 |
+
"href": "https://huggingface.co/isp-uv-es/FDR4VGT-CLOUD/resolve/main/single/load.py",
|
| 230 |
+
"type": "application/x-python-code",
|
| 231 |
+
"title": "PyTorch Model Loader",
|
| 232 |
+
"description": "Python helper code to load the exported .pt2 model for inference.",
|
| 233 |
+
"roles": [
|
| 234 |
+
"code"
|
| 235 |
+
]
|
| 236 |
+
}
|
| 237 |
+
},
|
| 238 |
+
"collection": "DEEPLABV3_FDR4VGT_CloudMask_FT"
|
| 239 |
+
}
|