{ "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." }