Update HF dataset discovery tooling
Browse files- README.md +15 -0
- configs/profiles/profiles/gf2_green_tide_stream_fusion_2m.json +197 -0
- configs/profiles/profiles/gf6_green_tide_fused_2m.json +197 -0
- docs/hf_dataset_discovery.md +81 -0
- docs/registry/registry/README.md +95 -0
- docs/registry/registry/elements/aquaculture.md +24 -0
- docs/registry/registry/elements/golden_tide.md +24 -0
- docs/registry/registry/elements/green_tide.md +37 -0
- docs/registry/registry/elements/oil_spill.md +25 -0
- docs/registry/registry/elements/red_tide.md +29 -0
- docs/registry/registry/elements/sea_ice.md +23 -0
- docs/registry/registry/elements/ship.md +24 -0
- docs/registry/registry/resolutions/10m.md +13 -0
- docs/registry/registry/resolutions/2m.md +13 -0
- docs/registry/registry/resolutions/30m.md +13 -0
- docs/registry/registry/resolutions/8m.md +13 -0
- docs/registry/registry/satellites/GF1.md +19 -0
- docs/registry/registry/satellites/GF2.md +20 -0
- docs/registry/registry/satellites/GF6.md +20 -0
- docs/registry/registry/satellites/SAR_Generic.md +14 -0
- docs/registry/registry/satellites/Sentinel2.md +19 -0
- docs/registry/registry/sensors/FUSED_OPTICAL.md +37 -0
- docs/registry/registry/sensors/MSS.md +14 -0
- docs/registry/registry/sensors/MUX.md +14 -0
- docs/registry/registry/sensors/PAN.md +15 -0
- docs/registry/registry/sensors/PMS.md +15 -0
- docs/registry/registry/sensors/SAR.md +15 -0
- docs/registry/registry/sensors/STREAM_FUSION.md +34 -0
- typical-marine-ecological-feature-recognition-source.zip +2 -2
README.md
CHANGED
|
@@ -82,6 +82,8 @@ See [docs/dataset_standard.md](docs/dataset_standard.md).
|
|
| 82 |
|
| 83 |
- `scripts/build_marine_feature_dataset.py`: scan local or server-side data roots
|
| 84 |
and write normalized manifests.
|
|
|
|
|
|
|
| 85 |
- `scripts/compose_task_profile.py`: compose Markdown capability cards into a
|
| 86 |
JSON task profile.
|
| 87 |
- `scripts/infer_whole_scene.py`: sliding-window whole-scene inference with
|
|
@@ -102,3 +104,16 @@ The target architecture is a unified, explainable, multi-task model:
|
|
| 102 |
|
| 103 |
Current legacy green-tide weights can still be loaded for candidate generation,
|
| 104 |
but final products should come from the registry-driven multi-task framework.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 82 |
|
| 83 |
- `scripts/build_marine_feature_dataset.py`: scan local or server-side data roots
|
| 84 |
and write normalized manifests.
|
| 85 |
+
- `scripts/search_hf_marine_datasets.py`: search Hugging Face datasets and write
|
| 86 |
+
normalized `hf://` manifest references without downloading full repositories.
|
| 87 |
- `scripts/compose_task_profile.py`: compose Markdown capability cards into a
|
| 88 |
JSON task profile.
|
| 89 |
- `scripts/infer_whole_scene.py`: sliding-window whole-scene inference with
|
|
|
|
| 104 |
|
| 105 |
Current legacy green-tide weights can still be loaded for candidate generation,
|
| 106 |
but final products should come from the registry-driven multi-task framework.
|
| 107 |
+
|
| 108 |
+
## Hugging Face Dataset Discovery
|
| 109 |
+
|
| 110 |
+
HF dataset search and standardization results are summarized in
|
| 111 |
+
[docs/hf_dataset_discovery.md](docs/hf_dataset_discovery.md). The generated local
|
| 112 |
+
manifests are under:
|
| 113 |
+
|
| 114 |
+
```text
|
| 115 |
+
C:\Users\HUAWEI\Documents\New project 2\hf_marine_feature_dataset
|
| 116 |
+
```
|
| 117 |
+
|
| 118 |
+
The discovery output is conservative: unknown elements and unpaired HF assets are
|
| 119 |
+
kept for review and are not treated as training negatives.
|
configs/profiles/profiles/gf2_green_tide_stream_fusion_2m.json
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"profile_id": "green_tide_GF2_PMS_STREAM_FUSION_2m",
|
| 3 |
+
"cards": {
|
| 4 |
+
"elements": {
|
| 5 |
+
"kind": "elements",
|
| 6 |
+
"id": "green_tide",
|
| 7 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\elements\\green_tide.md",
|
| 8 |
+
"meta": {
|
| 9 |
+
"id": "green_tide",
|
| 10 |
+
"type": "element",
|
| 11 |
+
"name": "Green tide / Enteromorpha",
|
| 12 |
+
"task_types": [
|
| 13 |
+
"semantic_segmentation",
|
| 14 |
+
"polygon_extraction"
|
| 15 |
+
],
|
| 16 |
+
"preferred_heads": [
|
| 17 |
+
"validity",
|
| 18 |
+
"context",
|
| 19 |
+
"semantic_segmentation"
|
| 20 |
+
],
|
| 21 |
+
"label_formats": [
|
| 22 |
+
"mask",
|
| 23 |
+
"polygon",
|
| 24 |
+
"geojson",
|
| 25 |
+
"shp"
|
| 26 |
+
],
|
| 27 |
+
"positive_label": "green_tide",
|
| 28 |
+
"negative_policy": "unlabeled_is_ignore",
|
| 29 |
+
"typical_sensors": [
|
| 30 |
+
"PMS",
|
| 31 |
+
"MUX",
|
| 32 |
+
"MSS"
|
| 33 |
+
],
|
| 34 |
+
"typical_resolutions_m": [
|
| 35 |
+
2,
|
| 36 |
+
8,
|
| 37 |
+
10
|
| 38 |
+
]
|
| 39 |
+
},
|
| 40 |
+
"body": "# Green Tide / Enteromorpha\n\nGreen tide is a floating-algae target. It can be confused with land vegetation,\naquaculture structures, cloud edges, turbid water, sunglint, and black/no-data\nregions if the model is trained as a simple foreground/background classifier.\n\n## Required Context\n\n- Validity handling: black borders and no-data pixels must not be interpreted as green tide.\n- Context handling: land and water context should be learned or provided as labels/hard negatives.\n- Do not assume a coastline vector or external land mask exists.\n\n## Recommended Output\n\n- Per-pixel probability map for green tide.\n- Binary candidate mask after validity/context filtering.\n- Optional polygon extraction for product delivery.\n\n## Failure Modes\n\n- Land vegetation is often spectrally similar to algae.\n- Black borders can be falsely predicted when labels do not include invalid regions.\n- Single-element binary models overpredict on unknown ecological elements."
|
| 41 |
+
},
|
| 42 |
+
"satellites": {
|
| 43 |
+
"kind": "satellites",
|
| 44 |
+
"id": "GF2",
|
| 45 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\satellites\\GF2.md",
|
| 46 |
+
"meta": {
|
| 47 |
+
"id": "GF2",
|
| 48 |
+
"type": "satellite",
|
| 49 |
+
"name": "Gaofen-2",
|
| 50 |
+
"country": "China",
|
| 51 |
+
"supported_sensors": [
|
| 52 |
+
"PMS"
|
| 53 |
+
],
|
| 54 |
+
"typical_products": [
|
| 55 |
+
"MSS",
|
| 56 |
+
"PAN",
|
| 57 |
+
"fused"
|
| 58 |
+
]
|
| 59 |
+
},
|
| 60 |
+
"body": "# GF2\n\nGF2 PMS scenes commonly provide paired PAN and MSS products. For models targeting\n2 m products, stream PAN+MSS fusion tile-by-tile instead of saving a full fused\nscene to disk.\n\n## Notes\n\n- Keep both `pan_path` and `image_path` in the manifest.\n- Preserve sensor geometry metadata when available."
|
| 61 |
+
},
|
| 62 |
+
"sensors": {
|
| 63 |
+
"kind": "sensors",
|
| 64 |
+
"id": "PMS",
|
| 65 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\sensors\\PMS.md",
|
| 66 |
+
"meta": {
|
| 67 |
+
"id": "PMS",
|
| 68 |
+
"type": "sensor",
|
| 69 |
+
"name": "Panchromatic and Multispectral Sensor",
|
| 70 |
+
"modalities": [
|
| 71 |
+
"optical",
|
| 72 |
+
"pan",
|
| 73 |
+
"multispectral"
|
| 74 |
+
],
|
| 75 |
+
"common_bands": [
|
| 76 |
+
"blue",
|
| 77 |
+
"green",
|
| 78 |
+
"red",
|
| 79 |
+
"nir",
|
| 80 |
+
"pan"
|
| 81 |
+
],
|
| 82 |
+
"supports_streaming_fusion": true
|
| 83 |
+
},
|
| 84 |
+
"body": "# PMS\n\nPMS data may provide separate PAN and MSS products or a fused product. For\nhigh-resolution ecological extraction, prefer stream fusion when PAN and MSS are\nboth available."
|
| 85 |
+
},
|
| 86 |
+
"resolutions": {
|
| 87 |
+
"kind": "resolutions",
|
| 88 |
+
"id": "2m",
|
| 89 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\resolutions\\2m.md",
|
| 90 |
+
"meta": {
|
| 91 |
+
"id": "2m",
|
| 92 |
+
"type": "resolution",
|
| 93 |
+
"resolution_m": 2,
|
| 94 |
+
"scale_group": "high",
|
| 95 |
+
"recommended_patch_sizes": [
|
| 96 |
+
256,
|
| 97 |
+
512,
|
| 98 |
+
1024
|
| 99 |
+
]
|
| 100 |
+
},
|
| 101 |
+
"body": "# 2 m Resolution\n\nUse for fine optical extraction. Floating algae texture, aquaculture structures,\nand small ships may be visible. Full-scene inference must use tiled/striped IO."
|
| 102 |
+
},
|
| 103 |
+
"fusion": {
|
| 104 |
+
"kind": "sensors",
|
| 105 |
+
"id": "STREAM_FUSION",
|
| 106 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\sensors\\STREAM_FUSION.md",
|
| 107 |
+
"meta": {
|
| 108 |
+
"id": "STREAM_FUSION",
|
| 109 |
+
"type": "sensor",
|
| 110 |
+
"name": "Streaming PAN+MSS fusion",
|
| 111 |
+
"modalities": [
|
| 112 |
+
"optical",
|
| 113 |
+
"pan",
|
| 114 |
+
"multispectral",
|
| 115 |
+
"fused_runtime"
|
| 116 |
+
],
|
| 117 |
+
"common_bands": [
|
| 118 |
+
"blue",
|
| 119 |
+
"green",
|
| 120 |
+
"red",
|
| 121 |
+
"nir"
|
| 122 |
+
],
|
| 123 |
+
"supports_streaming_fusion": true,
|
| 124 |
+
"fusion_state": "runtime_fusion",
|
| 125 |
+
"requires_fusion_metadata": true
|
| 126 |
+
},
|
| 127 |
+
"body": "# Streaming PAN+MSS Fusion\n\nStreaming fusion means the fused tile is produced in memory during inference or\ntraining and is not stored as a full-scene raster.\n\n## Required Fusion Metadata\n\n- `fusion_state`: `runtime_fusion`.\n- `fusion_method`: method used by the implementation.\n- `fusion_sources`: at minimum `pan_path` and `mss_path`.\n- `target_resolution_m`: usually the PAN product resolution.\n- `native_resolution_m`: original MSS resolution.\n- `fusion_persisted`: `false`.\n- `fusion_reproducible`: `true` if the source images and code are available.\n- `tile_aligned`: whether PAN and MSS windows are aligned consistently.\n\n## Notes\n\n- Prefer this for very large GF2/GF1-like scenes to avoid writing full fused\n products.\n- Fusion seams and model tile seams are separate problems; use overlap-weighted\n inference after fusion."
|
| 128 |
+
}
|
| 129 |
+
},
|
| 130 |
+
"task": {
|
| 131 |
+
"element": "green_tide",
|
| 132 |
+
"task_types": [
|
| 133 |
+
"semantic_segmentation",
|
| 134 |
+
"polygon_extraction"
|
| 135 |
+
],
|
| 136 |
+
"preferred_heads": [
|
| 137 |
+
"validity",
|
| 138 |
+
"context",
|
| 139 |
+
"semantic_segmentation"
|
| 140 |
+
],
|
| 141 |
+
"label_formats": [
|
| 142 |
+
"mask",
|
| 143 |
+
"polygon",
|
| 144 |
+
"geojson",
|
| 145 |
+
"shp"
|
| 146 |
+
],
|
| 147 |
+
"negative_policy": "unlabeled_is_ignore"
|
| 148 |
+
},
|
| 149 |
+
"input": {
|
| 150 |
+
"satellite": "GF2",
|
| 151 |
+
"sensor": "PMS",
|
| 152 |
+
"resolution_m": 2,
|
| 153 |
+
"modalities": [
|
| 154 |
+
"optical",
|
| 155 |
+
"pan",
|
| 156 |
+
"multispectral"
|
| 157 |
+
],
|
| 158 |
+
"common_bands": [
|
| 159 |
+
"blue",
|
| 160 |
+
"green",
|
| 161 |
+
"red",
|
| 162 |
+
"nir",
|
| 163 |
+
"pan"
|
| 164 |
+
],
|
| 165 |
+
"recommended_patch_sizes": [
|
| 166 |
+
256,
|
| 167 |
+
512,
|
| 168 |
+
1024
|
| 169 |
+
]
|
| 170 |
+
},
|
| 171 |
+
"fusion": {
|
| 172 |
+
"card": "STREAM_FUSION",
|
| 173 |
+
"state": "runtime_fusion",
|
| 174 |
+
"modalities": [
|
| 175 |
+
"optical",
|
| 176 |
+
"pan",
|
| 177 |
+
"multispectral",
|
| 178 |
+
"fused_runtime"
|
| 179 |
+
],
|
| 180 |
+
"supports_streaming_fusion": true,
|
| 181 |
+
"requires_fusion_metadata": true,
|
| 182 |
+
"required_manifest_fields": [
|
| 183 |
+
"state",
|
| 184 |
+
"method",
|
| 185 |
+
"sources",
|
| 186 |
+
"target_resolution_m",
|
| 187 |
+
"native_multispectral_resolution_m",
|
| 188 |
+
"persisted",
|
| 189 |
+
"reproducible",
|
| 190 |
+
"spectral_preservation"
|
| 191 |
+
]
|
| 192 |
+
},
|
| 193 |
+
"constraints": {
|
| 194 |
+
"do_not_assume_external_coastline_or_land_mask": true,
|
| 195 |
+
"unlabeled_elements_are_ignore_not_negative": true
|
| 196 |
+
}
|
| 197 |
+
}
|
configs/profiles/profiles/gf6_green_tide_fused_2m.json
ADDED
|
@@ -0,0 +1,197 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
{
|
| 2 |
+
"profile_id": "green_tide_GF6_PMS_FUSED_OPTICAL_2m",
|
| 3 |
+
"cards": {
|
| 4 |
+
"elements": {
|
| 5 |
+
"kind": "elements",
|
| 6 |
+
"id": "green_tide",
|
| 7 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\elements\\green_tide.md",
|
| 8 |
+
"meta": {
|
| 9 |
+
"id": "green_tide",
|
| 10 |
+
"type": "element",
|
| 11 |
+
"name": "Green tide / Enteromorpha",
|
| 12 |
+
"task_types": [
|
| 13 |
+
"semantic_segmentation",
|
| 14 |
+
"polygon_extraction"
|
| 15 |
+
],
|
| 16 |
+
"preferred_heads": [
|
| 17 |
+
"validity",
|
| 18 |
+
"context",
|
| 19 |
+
"semantic_segmentation"
|
| 20 |
+
],
|
| 21 |
+
"label_formats": [
|
| 22 |
+
"mask",
|
| 23 |
+
"polygon",
|
| 24 |
+
"geojson",
|
| 25 |
+
"shp"
|
| 26 |
+
],
|
| 27 |
+
"positive_label": "green_tide",
|
| 28 |
+
"negative_policy": "unlabeled_is_ignore",
|
| 29 |
+
"typical_sensors": [
|
| 30 |
+
"PMS",
|
| 31 |
+
"MUX",
|
| 32 |
+
"MSS"
|
| 33 |
+
],
|
| 34 |
+
"typical_resolutions_m": [
|
| 35 |
+
2,
|
| 36 |
+
8,
|
| 37 |
+
10
|
| 38 |
+
]
|
| 39 |
+
},
|
| 40 |
+
"body": "# Green Tide / Enteromorpha\n\nGreen tide is a floating-algae target. It can be confused with land vegetation,\naquaculture structures, cloud edges, turbid water, sunglint, and black/no-data\nregions if the model is trained as a simple foreground/background classifier.\n\n## Required Context\n\n- Validity handling: black borders and no-data pixels must not be interpreted as green tide.\n- Context handling: land and water context should be learned or provided as labels/hard negatives.\n- Do not assume a coastline vector or external land mask exists.\n\n## Recommended Output\n\n- Per-pixel probability map for green tide.\n- Binary candidate mask after validity/context filtering.\n- Optional polygon extraction for product delivery.\n\n## Failure Modes\n\n- Land vegetation is often spectrally similar to algae.\n- Black borders can be falsely predicted when labels do not include invalid regions.\n- Single-element binary models overpredict on unknown ecological elements."
|
| 41 |
+
},
|
| 42 |
+
"satellites": {
|
| 43 |
+
"kind": "satellites",
|
| 44 |
+
"id": "GF6",
|
| 45 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\satellites\\GF6.md",
|
| 46 |
+
"meta": {
|
| 47 |
+
"id": "GF6",
|
| 48 |
+
"type": "satellite",
|
| 49 |
+
"name": "Gaofen-6",
|
| 50 |
+
"country": "China",
|
| 51 |
+
"supported_sensors": [
|
| 52 |
+
"PMS",
|
| 53 |
+
"MUX",
|
| 54 |
+
"WFV"
|
| 55 |
+
],
|
| 56 |
+
"typical_products": [
|
| 57 |
+
"MSS",
|
| 58 |
+
"PAN",
|
| 59 |
+
"fused"
|
| 60 |
+
]
|
| 61 |
+
},
|
| 62 |
+
"body": "# GF6\n\nGF6 fused PMS/MUX products can be used directly for full-scene sliding-window\ninference. Large scenes may exceed tens of GB, so stream inference and output by\nstripe.\n\n## Notes\n\n- Use overlap-weighted windows to reduce tile seams.\n- Do not write full probability rasters unless explicitly needed."
|
| 63 |
+
},
|
| 64 |
+
"sensors": {
|
| 65 |
+
"kind": "sensors",
|
| 66 |
+
"id": "PMS",
|
| 67 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\sensors\\PMS.md",
|
| 68 |
+
"meta": {
|
| 69 |
+
"id": "PMS",
|
| 70 |
+
"type": "sensor",
|
| 71 |
+
"name": "Panchromatic and Multispectral Sensor",
|
| 72 |
+
"modalities": [
|
| 73 |
+
"optical",
|
| 74 |
+
"pan",
|
| 75 |
+
"multispectral"
|
| 76 |
+
],
|
| 77 |
+
"common_bands": [
|
| 78 |
+
"blue",
|
| 79 |
+
"green",
|
| 80 |
+
"red",
|
| 81 |
+
"nir",
|
| 82 |
+
"pan"
|
| 83 |
+
],
|
| 84 |
+
"supports_streaming_fusion": true
|
| 85 |
+
},
|
| 86 |
+
"body": "# PMS\n\nPMS data may provide separate PAN and MSS products or a fused product. For\nhigh-resolution ecological extraction, prefer stream fusion when PAN and MSS are\nboth available."
|
| 87 |
+
},
|
| 88 |
+
"resolutions": {
|
| 89 |
+
"kind": "resolutions",
|
| 90 |
+
"id": "2m",
|
| 91 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\resolutions\\2m.md",
|
| 92 |
+
"meta": {
|
| 93 |
+
"id": "2m",
|
| 94 |
+
"type": "resolution",
|
| 95 |
+
"resolution_m": 2,
|
| 96 |
+
"scale_group": "high",
|
| 97 |
+
"recommended_patch_sizes": [
|
| 98 |
+
256,
|
| 99 |
+
512,
|
| 100 |
+
1024
|
| 101 |
+
]
|
| 102 |
+
},
|
| 103 |
+
"body": "# 2 m Resolution\n\nUse for fine optical extraction. Floating algae texture, aquaculture structures,\nand small ships may be visible. Full-scene inference must use tiled/striped IO."
|
| 104 |
+
},
|
| 105 |
+
"fusion": {
|
| 106 |
+
"kind": "sensors",
|
| 107 |
+
"id": "FUSED_OPTICAL",
|
| 108 |
+
"path": "C:\\Users\\HUAWEI\\Documents\\New project 2\\seaweed-detection\\docs\\registry\\sensors\\FUSED_OPTICAL.md",
|
| 109 |
+
"meta": {
|
| 110 |
+
"id": "FUSED_OPTICAL",
|
| 111 |
+
"type": "sensor",
|
| 112 |
+
"name": "Fused optical product",
|
| 113 |
+
"modalities": [
|
| 114 |
+
"optical",
|
| 115 |
+
"multispectral",
|
| 116 |
+
"fused"
|
| 117 |
+
],
|
| 118 |
+
"common_bands": [
|
| 119 |
+
"blue",
|
| 120 |
+
"green",
|
| 121 |
+
"red",
|
| 122 |
+
"nir"
|
| 123 |
+
],
|
| 124 |
+
"supports_streaming_fusion": false,
|
| 125 |
+
"fusion_state": "fused_product",
|
| 126 |
+
"requires_fusion_metadata": true
|
| 127 |
+
},
|
| 128 |
+
"body": "# Fused Optical Product\n\nA fused optical product is not simply \"multispectral\". It is a derived product\nwhose spatial grid, spectral consistency, and artifacts depend on the fusion\nsource and method.\n\n## Required Fusion Metadata\n\nRecord these fields whenever a fused image is used:\n\n- `fusion_state`: `fused_product`.\n- `fusion_method`: known method name, or `unknown_vendor_product`.\n- `fusion_sources`: source product roles such as `PAN` and `MSS`.\n- `target_resolution_m`: output resolution after fusion.\n- `native_resolution_m`: original multispectral resolution if known.\n- `fusion_persisted`: `true` when the fused image exists on disk.\n- `fusion_reproducible`: `true` only if the source PAN/MSS and method are available.\n- `spectral_preservation`: `unknown`, `low`, `medium`, or `high`.\n\n## Notes\n\n- Do not assume fused products are radiometrically equivalent across satellites\n or vendors.\n- If the fusion method is unknown, preserve that uncertainty in the profile and\n dataset manifest."
|
| 129 |
+
}
|
| 130 |
+
},
|
| 131 |
+
"task": {
|
| 132 |
+
"element": "green_tide",
|
| 133 |
+
"task_types": [
|
| 134 |
+
"semantic_segmentation",
|
| 135 |
+
"polygon_extraction"
|
| 136 |
+
],
|
| 137 |
+
"preferred_heads": [
|
| 138 |
+
"validity",
|
| 139 |
+
"context",
|
| 140 |
+
"semantic_segmentation"
|
| 141 |
+
],
|
| 142 |
+
"label_formats": [
|
| 143 |
+
"mask",
|
| 144 |
+
"polygon",
|
| 145 |
+
"geojson",
|
| 146 |
+
"shp"
|
| 147 |
+
],
|
| 148 |
+
"negative_policy": "unlabeled_is_ignore"
|
| 149 |
+
},
|
| 150 |
+
"input": {
|
| 151 |
+
"satellite": "GF6",
|
| 152 |
+
"sensor": "PMS",
|
| 153 |
+
"resolution_m": 2,
|
| 154 |
+
"modalities": [
|
| 155 |
+
"optical",
|
| 156 |
+
"pan",
|
| 157 |
+
"multispectral"
|
| 158 |
+
],
|
| 159 |
+
"common_bands": [
|
| 160 |
+
"blue",
|
| 161 |
+
"green",
|
| 162 |
+
"red",
|
| 163 |
+
"nir",
|
| 164 |
+
"pan"
|
| 165 |
+
],
|
| 166 |
+
"recommended_patch_sizes": [
|
| 167 |
+
256,
|
| 168 |
+
512,
|
| 169 |
+
1024
|
| 170 |
+
]
|
| 171 |
+
},
|
| 172 |
+
"fusion": {
|
| 173 |
+
"card": "FUSED_OPTICAL",
|
| 174 |
+
"state": "fused_product",
|
| 175 |
+
"modalities": [
|
| 176 |
+
"optical",
|
| 177 |
+
"multispectral",
|
| 178 |
+
"fused"
|
| 179 |
+
],
|
| 180 |
+
"supports_streaming_fusion": false,
|
| 181 |
+
"requires_fusion_metadata": true,
|
| 182 |
+
"required_manifest_fields": [
|
| 183 |
+
"state",
|
| 184 |
+
"method",
|
| 185 |
+
"sources",
|
| 186 |
+
"target_resolution_m",
|
| 187 |
+
"native_multispectral_resolution_m",
|
| 188 |
+
"persisted",
|
| 189 |
+
"reproducible",
|
| 190 |
+
"spectral_preservation"
|
| 191 |
+
]
|
| 192 |
+
},
|
| 193 |
+
"constraints": {
|
| 194 |
+
"do_not_assume_external_coastline_or_land_mask": true,
|
| 195 |
+
"unlabeled_elements_are_ignore_not_negative": true
|
| 196 |
+
}
|
| 197 |
+
}
|
docs/hf_dataset_discovery.md
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Hugging Face Dataset Discovery
|
| 2 |
+
|
| 3 |
+
This report summarizes the Hugging Face dataset discovery pass for typical
|
| 4 |
+
marine ecological environment feature recognition.
|
| 5 |
+
|
| 6 |
+
Generated manifests are stored locally at:
|
| 7 |
+
|
| 8 |
+
```text
|
| 9 |
+
C:\Users\HUAWEI\Documents\New project 2\hf_marine_feature_dataset\
|
| 10 |
+
manifests\
|
| 11 |
+
hf_assets_raw.jsonl
|
| 12 |
+
samples.jsonl
|
| 13 |
+
samples_ready.jsonl
|
| 14 |
+
samples_review.jsonl
|
| 15 |
+
reports\
|
| 16 |
+
hf_dataset_inventory.csv
|
| 17 |
+
hf_dataset_summary.json
|
| 18 |
+
hf_dataset_discovery.md
|
| 19 |
+
```
|
| 20 |
+
|
| 21 |
+
The manifests use `hf://datasets/<repo>/<path>` references. Full image files are
|
| 22 |
+
not downloaded by the discovery script.
|
| 23 |
+
|
| 24 |
+
## Current Discovery Result
|
| 25 |
+
|
| 26 |
+
- Repositories reviewed: 108
|
| 27 |
+
- HF assets indexed: 18,781
|
| 28 |
+
- Standardized sample references: 6,915
|
| 29 |
+
- Training-ready samples: 0
|
| 30 |
+
- Review samples: 6,915
|
| 31 |
+
|
| 32 |
+
Samples by inferred element:
|
| 33 |
+
|
| 34 |
+
| Element | Samples |
|
| 35 |
+
| --- | ---: |
|
| 36 |
+
| aquaculture | 1,869 |
|
| 37 |
+
| ship | 641 |
|
| 38 |
+
| sea_ice | 52 |
|
| 39 |
+
| green_tide | 2 |
|
| 40 |
+
| unknown / needs review | 4,351 |
|
| 41 |
+
|
| 42 |
+
## Why Training-Ready Is Zero
|
| 43 |
+
|
| 44 |
+
The script is intentionally conservative. A sample is marked training-ready only
|
| 45 |
+
when all of these are true:
|
| 46 |
+
|
| 47 |
+
- the target element is known;
|
| 48 |
+
- an image is present;
|
| 49 |
+
- a paired mask is present;
|
| 50 |
+
- the pair can be matched from repository file paths without guessing.
|
| 51 |
+
|
| 52 |
+
Most Hugging Face repositories found in this pass store labels as CSV, parquet,
|
| 53 |
+
YOLO text, RLE, archives, or custom benchmark structures. Those assets are
|
| 54 |
+
indexed in `hf_assets_raw.jsonl`, but they require dataset-specific adapters
|
| 55 |
+
before they should be used for training.
|
| 56 |
+
|
| 57 |
+
## High-Value Adapter Targets
|
| 58 |
+
|
| 59 |
+
- `datadrivenscience/ship-detection`: ship imagery with tabular annotation
|
| 60 |
+
assets; likely needs CSV/RLE or detection-format conversion.
|
| 61 |
+
- `reglab/aquaculture_detection`: aquaculture orthophoto images; likely needs
|
| 62 |
+
object-detection label parsing.
|
| 63 |
+
- `paperupload/seaicebench_sample` and `paperupload/SEAICEBENCH`: sea-ice
|
| 64 |
+
benchmark assets with multi-band image products and tabular data.
|
| 65 |
+
- `cuibinge/marine-ecological-feature-dataset`: current project assets and GF
|
| 66 |
+
scene inputs; already follows the no-external-coastline assumption.
|
| 67 |
+
- `cuibinge/Multimodal-Sea-Land`: large archive asset useful for land/sea
|
| 68 |
+
context, but it should be unpacked and mapped by an explicit adapter.
|
| 69 |
+
|
| 70 |
+
## Exclusions
|
| 71 |
+
|
| 72 |
+
The discovery script excludes obvious false positives such as medical vessel
|
| 73 |
+
segmentation, retinal images, legal/text datasets, anime image datasets, and
|
| 74 |
+
health/community datasets that happen to contain words like `vessel`, `ocean`,
|
| 75 |
+
or `oil spill`.
|
| 76 |
+
|
| 77 |
+
## Policy
|
| 78 |
+
|
| 79 |
+
Unknown elements and unpaired assets are not treated as negatives. They remain in
|
| 80 |
+
`samples_review.jsonl` until a card or adapter gives them explicit semantics.
|
| 81 |
+
No coastline vector, land-mask vector, or external GIS prior is assumed.
|
docs/registry/registry/README.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Markdown Capability Registry
|
| 2 |
+
|
| 3 |
+
This directory stores composable Markdown capability cards. A card is a small
|
| 4 |
+
human-readable configuration unit with YAML front matter and operational notes.
|
| 5 |
+
|
| 6 |
+
Cards are intentionally separated by concern:
|
| 7 |
+
|
| 8 |
+
- `elements/`: target feature or object type, such as green tide, ship, oil spill, sea ice.
|
| 9 |
+
- `satellites/`: satellite/platform assumptions.
|
| 10 |
+
- `sensors/`: sensor or product type assumptions.
|
| 11 |
+
- `resolutions/`: spatial-resolution policies.
|
| 12 |
+
|
| 13 |
+
Extraction and training jobs should compose the cards they need instead of using
|
| 14 |
+
a single fixed class list. For example:
|
| 15 |
+
|
| 16 |
+
```powershell
|
| 17 |
+
python scripts/compose_task_profile.py `
|
| 18 |
+
--element green_tide `
|
| 19 |
+
--satellite GF6 `
|
| 20 |
+
--sensor PMS `
|
| 21 |
+
--resolution 2m `
|
| 22 |
+
--output configs/profiles/gf6_green_tide_2m.json
|
| 23 |
+
```
|
| 24 |
+
|
| 25 |
+
For already fused GF6-like products, inject a fused product card:
|
| 26 |
+
|
| 27 |
+
```powershell
|
| 28 |
+
python scripts/compose_task_profile.py `
|
| 29 |
+
--element green_tide `
|
| 30 |
+
--satellite GF6 `
|
| 31 |
+
--sensor PMS `
|
| 32 |
+
--fusion FUSED_OPTICAL `
|
| 33 |
+
--resolution 2m `
|
| 34 |
+
--output configs/profiles/gf6_green_tide_fused_2m.json
|
| 35 |
+
```
|
| 36 |
+
|
| 37 |
+
For raw PAN+MSS products where fusion should happen tile by tile during
|
| 38 |
+
inference, inject the streaming fusion card:
|
| 39 |
+
|
| 40 |
+
```powershell
|
| 41 |
+
python scripts/compose_task_profile.py `
|
| 42 |
+
--element green_tide `
|
| 43 |
+
--satellite GF2 `
|
| 44 |
+
--sensor PMS `
|
| 45 |
+
--fusion STREAM_FUSION `
|
| 46 |
+
--resolution 2m `
|
| 47 |
+
--output configs/profiles/gf2_green_tide_stream_fusion_2m.json
|
| 48 |
+
```
|
| 49 |
+
|
| 50 |
+
## Card Format
|
| 51 |
+
|
| 52 |
+
Each card starts with YAML front matter:
|
| 53 |
+
|
| 54 |
+
```markdown
|
| 55 |
+
---
|
| 56 |
+
id: green_tide
|
| 57 |
+
type: element
|
| 58 |
+
task_types: [semantic_segmentation]
|
| 59 |
+
preferred_heads: [validity, context, semantic_segmentation]
|
| 60 |
+
label_formats: [mask, polygon]
|
| 61 |
+
---
|
| 62 |
+
|
| 63 |
+
# Green Tide
|
| 64 |
+
|
| 65 |
+
Human-readable notes, rules, constraints, and known failure modes.
|
| 66 |
+
```
|
| 67 |
+
|
| 68 |
+
The front matter is parsed by `scripts/compose_task_profile.py`. The Markdown body
|
| 69 |
+
is kept in the output profile so that training/inference logs preserve the
|
| 70 |
+
reasoning and caveats behind the selected cards.
|
| 71 |
+
|
| 72 |
+
## Fused Image Expression
|
| 73 |
+
|
| 74 |
+
Fused imagery is represented as a derived observation, not as a plain
|
| 75 |
+
multispectral image and not as a boolean flag. The selected profile and dataset
|
| 76 |
+
manifest must keep a `fusion` object with:
|
| 77 |
+
|
| 78 |
+
- `state`: `none`, `fused_product`, `runtime_fusion`, or `unknown`.
|
| 79 |
+
- `method`: known method, implementation method, or `unknown_vendor_product`.
|
| 80 |
+
- `sources`: source roles and paths such as PAN and MSS.
|
| 81 |
+
- `target_resolution_m`: output grid resolution.
|
| 82 |
+
- `native_multispectral_resolution_m`: original multispectral resolution.
|
| 83 |
+
- `persisted`: whether the fused image exists on disk.
|
| 84 |
+
- `reproducible`: whether the source data and method can reproduce it.
|
| 85 |
+
- `spectral_preservation`: known or estimated spectral preservation risk.
|
| 86 |
+
|
| 87 |
+
This keeps GF6 supplied fused rasters, GF1/GF2 tile-wise fusion, and future
|
| 88 |
+
fusion algorithms comparable without pretending they are identical inputs.
|
| 89 |
+
|
| 90 |
+
## Hard Constraint
|
| 91 |
+
|
| 92 |
+
Do not assume coastline vectors, land-mask vectors, or external GIS layers are
|
| 93 |
+
available. If a task needs land, water, invalid, or cloud handling, it must be
|
| 94 |
+
expressed as context labels, hard-negative samples, validity rules, or model
|
| 95 |
+
heads.
|
docs/registry/registry/elements/aquaculture.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: aquaculture
|
| 3 |
+
type: element
|
| 4 |
+
name: Aquaculture area and facilities
|
| 5 |
+
task_types: [semantic_segmentation, instance_segmentation, change_detection, polygon_extraction]
|
| 6 |
+
preferred_heads: [validity, context, semantic_segmentation, instance, change_detection]
|
| 7 |
+
label_formats: [mask, bbox, polygon, coco, geojson, shp]
|
| 8 |
+
positive_label: aquaculture
|
| 9 |
+
negative_policy: unlabeled_is_ignore
|
| 10 |
+
typical_sensors: [PMS, MUX, MSI, SAR]
|
| 11 |
+
typical_resolutions_m: [1, 2, 10]
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Aquaculture
|
| 15 |
+
|
| 16 |
+
Aquaculture may appear as dense rafts, cages, ponds, lines, grids, or coastal
|
| 17 |
+
facilities. It is not only a semantic segmentation problem; some datasets may
|
| 18 |
+
require instance, polygon, or change-detection heads.
|
| 19 |
+
|
| 20 |
+
## Required Context
|
| 21 |
+
|
| 22 |
+
- Ships, docks, land structures, and waves are hard negatives.
|
| 23 |
+
- Scale is critical; preserve resolution and patch-size metadata.
|
| 24 |
+
|
docs/registry/registry/elements/golden_tide.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: golden_tide
|
| 3 |
+
type: element
|
| 4 |
+
name: Golden tide / Sargassum
|
| 5 |
+
task_types: [semantic_segmentation, polygon_extraction]
|
| 6 |
+
preferred_heads: [validity, context, semantic_segmentation]
|
| 7 |
+
label_formats: [mask, polygon]
|
| 8 |
+
positive_label: golden_tide
|
| 9 |
+
negative_policy: unlabeled_is_ignore
|
| 10 |
+
typical_sensors: [PMS, MUX, MSS, MSI]
|
| 11 |
+
typical_resolutions_m: [2, 10]
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Golden Tide / Sargassum
|
| 15 |
+
|
| 16 |
+
Golden tide is a floating vegetation-like target. It shares confusion sources
|
| 17 |
+
with green tide but may have different color, texture, and morphology.
|
| 18 |
+
|
| 19 |
+
## Required Context
|
| 20 |
+
|
| 21 |
+
- Treat unlabeled ecological elements as ignore, not as negatives.
|
| 22 |
+
- Keep original scale metadata because raft-like texture and floating patches
|
| 23 |
+
change strongly with resolution.
|
| 24 |
+
|
docs/registry/registry/elements/green_tide.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: green_tide
|
| 3 |
+
type: element
|
| 4 |
+
name: Green tide / Enteromorpha
|
| 5 |
+
task_types: [semantic_segmentation, polygon_extraction]
|
| 6 |
+
preferred_heads: [validity, context, semantic_segmentation]
|
| 7 |
+
label_formats: [mask, polygon, geojson, shp]
|
| 8 |
+
positive_label: green_tide
|
| 9 |
+
negative_policy: unlabeled_is_ignore
|
| 10 |
+
typical_sensors: [PMS, MUX, MSS]
|
| 11 |
+
typical_resolutions_m: [2, 8, 10]
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Green Tide / Enteromorpha
|
| 15 |
+
|
| 16 |
+
Green tide is a floating-algae target. It can be confused with land vegetation,
|
| 17 |
+
aquaculture structures, cloud edges, turbid water, sunglint, and black/no-data
|
| 18 |
+
regions if the model is trained as a simple foreground/background classifier.
|
| 19 |
+
|
| 20 |
+
## Required Context
|
| 21 |
+
|
| 22 |
+
- Validity handling: black borders and no-data pixels must not be interpreted as green tide.
|
| 23 |
+
- Context handling: land and water context should be learned or provided as labels/hard negatives.
|
| 24 |
+
- Do not assume a coastline vector or external land mask exists.
|
| 25 |
+
|
| 26 |
+
## Recommended Output
|
| 27 |
+
|
| 28 |
+
- Per-pixel probability map for green tide.
|
| 29 |
+
- Binary candidate mask after validity/context filtering.
|
| 30 |
+
- Optional polygon extraction for product delivery.
|
| 31 |
+
|
| 32 |
+
## Failure Modes
|
| 33 |
+
|
| 34 |
+
- Land vegetation is often spectrally similar to algae.
|
| 35 |
+
- Black borders can be falsely predicted when labels do not include invalid regions.
|
| 36 |
+
- Single-element binary models overpredict on unknown ecological elements.
|
| 37 |
+
|
docs/registry/registry/elements/oil_spill.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: oil_spill
|
| 3 |
+
type: element
|
| 4 |
+
name: Oil spill
|
| 5 |
+
task_types: [semantic_segmentation, anomaly_detection]
|
| 6 |
+
preferred_heads: [validity, context, semantic_segmentation]
|
| 7 |
+
label_formats: [mask, polygon]
|
| 8 |
+
positive_label: oil_spill
|
| 9 |
+
negative_policy: unlabeled_is_ignore
|
| 10 |
+
typical_sensors: [SAR, MSI, OLI]
|
| 11 |
+
typical_resolutions_m: [10, 30]
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Oil Spill
|
| 15 |
+
|
| 16 |
+
Oil spill extraction is often sensor-specific. SAR imagery is especially useful,
|
| 17 |
+
but dark slicks can be confused with low wind, biogenic films, rain cells, and
|
| 18 |
+
calm water.
|
| 19 |
+
|
| 20 |
+
## Required Context
|
| 21 |
+
|
| 22 |
+
- Sensor type must be explicit.
|
| 23 |
+
- Use hard negatives for natural dark water phenomena.
|
| 24 |
+
- Do not treat unlabeled water anomalies as definite negatives.
|
| 25 |
+
|
docs/registry/registry/elements/red_tide.md
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: red_tide
|
| 3 |
+
type: element
|
| 4 |
+
name: Red tide / harmful algal bloom
|
| 5 |
+
task_types: [semantic_segmentation, classification]
|
| 6 |
+
preferred_heads: [validity, context, semantic_segmentation]
|
| 7 |
+
label_formats: [mask, polygon, image_label]
|
| 8 |
+
positive_label: red_tide
|
| 9 |
+
negative_policy: unlabeled_is_ignore
|
| 10 |
+
typical_sensors: [PMS, MUX, MSS, MSI, OLI]
|
| 11 |
+
typical_resolutions_m: [10, 30]
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Red Tide
|
| 15 |
+
|
| 16 |
+
Red tide is often a broad water-color anomaly rather than a sharp object. It may
|
| 17 |
+
need both local texture/color features and broader context.
|
| 18 |
+
|
| 19 |
+
## Required Context
|
| 20 |
+
|
| 21 |
+
- Water background and turbid-water hard negatives are important.
|
| 22 |
+
- Clouds, haze, sunglint, and sensor striping should be explicit context or ignored.
|
| 23 |
+
- Do not assume external water/land masks.
|
| 24 |
+
|
| 25 |
+
## Recommended Output
|
| 26 |
+
|
| 27 |
+
- Pixel-level red-tide probability for segmentation data.
|
| 28 |
+
- Scene or patch-level likelihood when only weak labels are available.
|
| 29 |
+
|
docs/registry/registry/elements/sea_ice.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: sea_ice
|
| 3 |
+
type: element
|
| 4 |
+
name: Sea ice
|
| 5 |
+
task_types: [semantic_segmentation, classification, change_detection]
|
| 6 |
+
preferred_heads: [validity, context, semantic_segmentation, change_detection]
|
| 7 |
+
label_formats: [mask, polygon, image_label]
|
| 8 |
+
positive_label: sea_ice
|
| 9 |
+
negative_policy: unlabeled_is_ignore
|
| 10 |
+
typical_sensors: [SAR, MSI, OLI]
|
| 11 |
+
typical_resolutions_m: [10, 30]
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Sea Ice
|
| 15 |
+
|
| 16 |
+
Sea ice can be mapped from optical or SAR data, but the feature appearance changes
|
| 17 |
+
with sensor, illumination, weather, and season.
|
| 18 |
+
|
| 19 |
+
## Required Context
|
| 20 |
+
|
| 21 |
+
- Clouds, snow, bright land, and sea ice must not be collapsed into one class.
|
| 22 |
+
- Sensor-specific normalization and augmentations are required.
|
| 23 |
+
|
docs/registry/registry/elements/ship.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: ship
|
| 3 |
+
type: element
|
| 4 |
+
name: Ship
|
| 5 |
+
task_types: [detection, instance_segmentation, oriented_detection]
|
| 6 |
+
preferred_heads: [validity, context, detection, instance]
|
| 7 |
+
label_formats: [bbox, rotated_bbox, polygon, coco, dota]
|
| 8 |
+
positive_label: ship
|
| 9 |
+
negative_policy: unlabeled_is_ignore
|
| 10 |
+
typical_sensors: [PMS, PAN, SAR]
|
| 11 |
+
typical_resolutions_m: [0.5, 1, 2, 3, 10]
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# Ship
|
| 15 |
+
|
| 16 |
+
Ships are object targets and should not be forced into a pure semantic
|
| 17 |
+
segmentation class. Use detection, oriented detection, or instance segmentation
|
| 18 |
+
when annotations support it.
|
| 19 |
+
|
| 20 |
+
## Required Context
|
| 21 |
+
|
| 22 |
+
- Ports, aquaculture grids, bridges, and bright wave wakes are hard negatives.
|
| 23 |
+
- SAR and optical ship extraction should be sensor-aware.
|
| 24 |
+
|
docs/registry/registry/resolutions/10m.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: 10m
|
| 3 |
+
type: resolution
|
| 4 |
+
resolution_m: 10
|
| 5 |
+
scale_group: medium
|
| 6 |
+
recommended_patch_sizes: [128, 256, 512]
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
# 10 m Resolution
|
| 10 |
+
|
| 11 |
+
Common for Sentinel-2 optical products and some ecological element monitoring
|
| 12 |
+
tasks. Good for broad blooms and sea-ice context; limited for small ships.
|
| 13 |
+
|
docs/registry/registry/resolutions/2m.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: 2m
|
| 3 |
+
type: resolution
|
| 4 |
+
resolution_m: 2
|
| 5 |
+
scale_group: high
|
| 6 |
+
recommended_patch_sizes: [256, 512, 1024]
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
# 2 m Resolution
|
| 10 |
+
|
| 11 |
+
Use for fine optical extraction. Floating algae texture, aquaculture structures,
|
| 12 |
+
and small ships may be visible. Full-scene inference must use tiled/striped IO.
|
| 13 |
+
|
docs/registry/registry/resolutions/30m.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: 30m
|
| 3 |
+
type: resolution
|
| 4 |
+
resolution_m: 30
|
| 5 |
+
scale_group: coarse
|
| 6 |
+
recommended_patch_sizes: [128, 256]
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
# 30 m Resolution
|
| 10 |
+
|
| 11 |
+
Use for broad-scale monitoring. Object-level targets such as small ships or
|
| 12 |
+
aquaculture details are usually unsuitable at this scale.
|
| 13 |
+
|
docs/registry/registry/resolutions/8m.md
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: 8m
|
| 3 |
+
type: resolution
|
| 4 |
+
resolution_m: 8
|
| 5 |
+
scale_group: medium
|
| 6 |
+
recommended_patch_sizes: [128, 256, 512]
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
# 8 m Resolution
|
| 10 |
+
|
| 11 |
+
Use for multispectral products where spatial detail is coarser. Small objects may
|
| 12 |
+
be missed, but broad ecological elements can still be detected.
|
| 13 |
+
|
docs/registry/registry/satellites/GF1.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: GF1
|
| 3 |
+
type: satellite
|
| 4 |
+
name: Gaofen-1
|
| 5 |
+
country: China
|
| 6 |
+
supported_sensors: [PMS, WFV]
|
| 7 |
+
typical_products: [MSS, PAN, fused]
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# GF1
|
| 11 |
+
|
| 12 |
+
GF1 data may include multispectral and panchromatic products depending on the
|
| 13 |
+
sensor and acquisition package. Do not assume a PAN image exists for every scene.
|
| 14 |
+
|
| 15 |
+
## Notes
|
| 16 |
+
|
| 17 |
+
- Preserve the original product metadata and RPB/XML side files when available.
|
| 18 |
+
- If PAN is missing, do not run pan-sharpened inference.
|
| 19 |
+
|
docs/registry/registry/satellites/GF2.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: GF2
|
| 3 |
+
type: satellite
|
| 4 |
+
name: Gaofen-2
|
| 5 |
+
country: China
|
| 6 |
+
supported_sensors: [PMS]
|
| 7 |
+
typical_products: [MSS, PAN, fused]
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# GF2
|
| 11 |
+
|
| 12 |
+
GF2 PMS scenes commonly provide paired PAN and MSS products. For models targeting
|
| 13 |
+
2 m products, stream PAN+MSS fusion tile-by-tile instead of saving a full fused
|
| 14 |
+
scene to disk.
|
| 15 |
+
|
| 16 |
+
## Notes
|
| 17 |
+
|
| 18 |
+
- Keep both `pan_path` and `image_path` in the manifest.
|
| 19 |
+
- Preserve sensor geometry metadata when available.
|
| 20 |
+
|
docs/registry/registry/satellites/GF6.md
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: GF6
|
| 3 |
+
type: satellite
|
| 4 |
+
name: Gaofen-6
|
| 5 |
+
country: China
|
| 6 |
+
supported_sensors: [PMS, MUX, WFV]
|
| 7 |
+
typical_products: [MSS, PAN, fused]
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# GF6
|
| 11 |
+
|
| 12 |
+
GF6 fused PMS/MUX products can be used directly for full-scene sliding-window
|
| 13 |
+
inference. Large scenes may exceed tens of GB, so stream inference and output by
|
| 14 |
+
stripe.
|
| 15 |
+
|
| 16 |
+
## Notes
|
| 17 |
+
|
| 18 |
+
- Use overlap-weighted windows to reduce tile seams.
|
| 19 |
+
- Do not write full probability rasters unless explicitly needed.
|
| 20 |
+
|
docs/registry/registry/satellites/SAR_Generic.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: SAR_Generic
|
| 3 |
+
type: satellite
|
| 4 |
+
name: Generic SAR platform
|
| 5 |
+
supported_sensors: [SAR]
|
| 6 |
+
typical_products: [GRD, SLC, calibrated_backscatter]
|
| 7 |
+
---
|
| 8 |
+
|
| 9 |
+
# Generic SAR Platform
|
| 10 |
+
|
| 11 |
+
Use this card when the platform is not yet modeled as a dedicated satellite card
|
| 12 |
+
but the source is SAR. SAR-specific normalization and speckle handling are
|
| 13 |
+
required.
|
| 14 |
+
|
docs/registry/registry/satellites/Sentinel2.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: Sentinel2
|
| 3 |
+
type: satellite
|
| 4 |
+
name: Sentinel-2
|
| 5 |
+
country: EU
|
| 6 |
+
supported_sensors: [MSI]
|
| 7 |
+
typical_products: [L1C, L2A]
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# Sentinel-2
|
| 11 |
+
|
| 12 |
+
Sentinel-2 MSI provides multispectral optical data with mixed 10 m, 20 m, and
|
| 13 |
+
60 m bands. Resampling policy must be explicit in the task profile.
|
| 14 |
+
|
| 15 |
+
## Notes
|
| 16 |
+
|
| 17 |
+
- Record which bands are used and their native resolutions.
|
| 18 |
+
- Cloud/haze handling is important for optical ecological elements.
|
| 19 |
+
|
docs/registry/registry/sensors/FUSED_OPTICAL.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: FUSED_OPTICAL
|
| 3 |
+
type: sensor
|
| 4 |
+
name: Fused optical product
|
| 5 |
+
modalities: [optical, multispectral, fused]
|
| 6 |
+
common_bands: [blue, green, red, nir]
|
| 7 |
+
supports_streaming_fusion: false
|
| 8 |
+
fusion_state: fused_product
|
| 9 |
+
requires_fusion_metadata: true
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# Fused Optical Product
|
| 13 |
+
|
| 14 |
+
A fused optical product is not simply "multispectral". It is a derived product
|
| 15 |
+
whose spatial grid, spectral consistency, and artifacts depend on the fusion
|
| 16 |
+
source and method.
|
| 17 |
+
|
| 18 |
+
## Required Fusion Metadata
|
| 19 |
+
|
| 20 |
+
Record these fields whenever a fused image is used:
|
| 21 |
+
|
| 22 |
+
- `fusion_state`: `fused_product`.
|
| 23 |
+
- `fusion_method`: known method name, or `unknown_vendor_product`.
|
| 24 |
+
- `fusion_sources`: source product roles such as `PAN` and `MSS`.
|
| 25 |
+
- `target_resolution_m`: output resolution after fusion.
|
| 26 |
+
- `native_resolution_m`: original multispectral resolution if known.
|
| 27 |
+
- `fusion_persisted`: `true` when the fused image exists on disk.
|
| 28 |
+
- `fusion_reproducible`: `true` only if the source PAN/MSS and method are available.
|
| 29 |
+
- `spectral_preservation`: `unknown`, `low`, `medium`, or `high`.
|
| 30 |
+
|
| 31 |
+
## Notes
|
| 32 |
+
|
| 33 |
+
- Do not assume fused products are radiometrically equivalent across satellites
|
| 34 |
+
or vendors.
|
| 35 |
+
- If the fusion method is unknown, preserve that uncertainty in the profile and
|
| 36 |
+
dataset manifest.
|
| 37 |
+
|
docs/registry/registry/sensors/MSS.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: MSS
|
| 3 |
+
type: sensor
|
| 4 |
+
name: Multispectral scanner/product
|
| 5 |
+
modalities: [optical, multispectral]
|
| 6 |
+
common_bands: [blue, green, red, nir]
|
| 7 |
+
supports_streaming_fusion: true
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# MSS
|
| 11 |
+
|
| 12 |
+
MSS products are usually lower resolution than PAN. If the target model expects a
|
| 13 |
+
PAN-scale product, pair with a PAN card/product and fuse during tile inference.
|
| 14 |
+
|
docs/registry/registry/sensors/MUX.md
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: MUX
|
| 3 |
+
type: sensor
|
| 4 |
+
name: Multispectral camera
|
| 5 |
+
modalities: [optical, multispectral]
|
| 6 |
+
common_bands: [blue, green, red, nir]
|
| 7 |
+
supports_streaming_fusion: false
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# MUX
|
| 11 |
+
|
| 12 |
+
MUX-like products are multispectral. If already fused to a high-resolution grid,
|
| 13 |
+
they can be used directly; otherwise record the native spatial resolution.
|
| 14 |
+
|
docs/registry/registry/sensors/PAN.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: PAN
|
| 3 |
+
type: sensor
|
| 4 |
+
name: Panchromatic product
|
| 5 |
+
modalities: [optical, panchromatic]
|
| 6 |
+
common_bands: [pan]
|
| 7 |
+
supports_streaming_fusion: true
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# PAN
|
| 11 |
+
|
| 12 |
+
PAN products provide spatial detail but not the multispectral information needed
|
| 13 |
+
by most ecological element heads. Use as a fusion source, not as a direct
|
| 14 |
+
four-band model input.
|
| 15 |
+
|
docs/registry/registry/sensors/PMS.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: PMS
|
| 3 |
+
type: sensor
|
| 4 |
+
name: Panchromatic and Multispectral Sensor
|
| 5 |
+
modalities: [optical, pan, multispectral]
|
| 6 |
+
common_bands: [blue, green, red, nir, pan]
|
| 7 |
+
supports_streaming_fusion: true
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# PMS
|
| 11 |
+
|
| 12 |
+
PMS data may provide separate PAN and MSS products or a fused product. For
|
| 13 |
+
high-resolution ecological extraction, prefer stream fusion when PAN and MSS are
|
| 14 |
+
both available.
|
| 15 |
+
|
docs/registry/registry/sensors/SAR.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: SAR
|
| 3 |
+
type: sensor
|
| 4 |
+
name: Synthetic Aperture Radar
|
| 5 |
+
modalities: [radar]
|
| 6 |
+
common_bands: [vv, vh, hh, hv]
|
| 7 |
+
supports_streaming_fusion: false
|
| 8 |
+
---
|
| 9 |
+
|
| 10 |
+
# SAR
|
| 11 |
+
|
| 12 |
+
SAR is useful for ships, oil spills, sea ice, and all-weather monitoring. It
|
| 13 |
+
requires sensor-specific normalization and is not interchangeable with optical
|
| 14 |
+
four-band products.
|
| 15 |
+
|
docs/registry/registry/sensors/STREAM_FUSION.md
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
id: STREAM_FUSION
|
| 3 |
+
type: sensor
|
| 4 |
+
name: Streaming PAN+MSS fusion
|
| 5 |
+
modalities: [optical, pan, multispectral, fused_runtime]
|
| 6 |
+
common_bands: [blue, green, red, nir]
|
| 7 |
+
supports_streaming_fusion: true
|
| 8 |
+
fusion_state: runtime_fusion
|
| 9 |
+
requires_fusion_metadata: true
|
| 10 |
+
---
|
| 11 |
+
|
| 12 |
+
# Streaming PAN+MSS Fusion
|
| 13 |
+
|
| 14 |
+
Streaming fusion means the fused tile is produced in memory during inference or
|
| 15 |
+
training and is not stored as a full-scene raster.
|
| 16 |
+
|
| 17 |
+
## Required Fusion Metadata
|
| 18 |
+
|
| 19 |
+
- `fusion_state`: `runtime_fusion`.
|
| 20 |
+
- `fusion_method`: method used by the implementation.
|
| 21 |
+
- `fusion_sources`: at minimum `pan_path` and `mss_path`.
|
| 22 |
+
- `target_resolution_m`: usually the PAN product resolution.
|
| 23 |
+
- `native_resolution_m`: original MSS resolution.
|
| 24 |
+
- `fusion_persisted`: `false`.
|
| 25 |
+
- `fusion_reproducible`: `true` if the source images and code are available.
|
| 26 |
+
- `tile_aligned`: whether PAN and MSS windows are aligned consistently.
|
| 27 |
+
|
| 28 |
+
## Notes
|
| 29 |
+
|
| 30 |
+
- Prefer this for very large GF2/GF1-like scenes to avoid writing full fused
|
| 31 |
+
products.
|
| 32 |
+
- Fusion seams and model tile seams are separate problems; use overlap-weighted
|
| 33 |
+
inference after fusion.
|
| 34 |
+
|
typical-marine-ecological-feature-recognition-source.zip
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:9289bdcbd466df83de2b014697ced6d50bfbb2123ecf074449e5ade894602939
|
| 3 |
+
size 434189
|