| { | |
| "input_name": "input", | |
| "output_name": "logits", | |
| "input_shape": [ | |
| "batch", | |
| 2, | |
| 3, | |
| 448, | |
| 448 | |
| ], | |
| "input_layout": "(batch, 2 dates, 3 RGB channels, H, W)", | |
| "band_order": [ | |
| "R", | |
| "G", | |
| "B" | |
| ], | |
| "value_range": "float32; divide 8-bit RGB by 255 BEFORE normalization", | |
| "normalization": { | |
| "mean": [ | |
| 0.485, | |
| 0.456, | |
| 0.406 | |
| ], | |
| "std": [ | |
| 0.229, | |
| 0.224, | |
| 0.225 | |
| ] | |
| }, | |
| "input_size": 448, | |
| "dynamic_hw": false, | |
| "resize_to_input": "resize each 256px tile to 448px (bilinear) before inference; resize the 448px output mask back to display resolution", | |
| "tiling": { | |
| "tile_size": 256, | |
| "overlap": 0 | |
| }, | |
| "output": { | |
| "activation": "sigmoid", | |
| "meaning": "per-pixel change probability (channel 0)", | |
| "recommended_threshold": 0.5078125, | |
| "threshold_source": "val-selected (max-F1)" | |
| }, | |
| "dinov2_note": "encoder runs on a FIXED 448px / 32x32 patch grid with interpolate_pos_encoding baked in; do NOT feed a different size." | |
| } |