{ "version": 1, "split": "train", "n_pairs": 23, "pairs": [ { "pair_id": "delhi_0032", "before_path": "library_sources/2019/sentinel2_delhi_r5131_c9157.tif", "after_path": "library_sources/2026/sentinel2_delhi_r5131_c9157.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0032.png", "change_types": [ "mixed_gsd", "vegetation", "building" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Visually confirmed real new construction (Day 2 review) \u2014 coarse 10m precision only.", "change_frac": 0.03517777777777778 }, { "pair_id": "delhi_0028", "before_path": "library_sources/2019/sentinel2_delhi_r3931_c9457.tif", "after_path": "library_sources/2026/sentinel2_delhi_r3931_c9457.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0028.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: appears seasonal/crop-texture noise dominated, no clear structural change spotted at thumbnail resolution \u2014 needs a closer manual look before labeling.", "change_frac": 0.0368 }, { "pair_id": "delhi_0025", "before_path": "library_sources/2019/sentinel2_delhi_r1531_c8857.tif", "after_path": "library_sources/2026/sentinel2_delhi_r1531_c8857.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0025.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: appears seasonal/crop-texture noise dominated, no clear structural change spotted at thumbnail resolution \u2014 needs a closer manual look before labeling.", "change_frac": 0.03724444444444444 }, { "pair_id": "delhi_0021", "before_path": "library_sources/2019/sentinel2_delhi_r1531_c8557.tif", "after_path": "library_sources/2026/sentinel2_delhi_r1531_c8557.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0021.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: appears seasonal/crop-texture noise dominated, no clear structural change spotted at thumbnail resolution \u2014 needs a closer manual look before labeling.", "change_frac": 0.038988888888888885 }, { "pair_id": "delhi_0011", "before_path": "library_sources/2019/sentinel2_delhi_r2731_c8257.tif", "after_path": "library_sources/2026/sentinel2_delhi_r2731_c8257.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0011.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling.", "change_frac": 0.044333333333333336 }, { "pair_id": "delhi_0019", "before_path": "library_sources/2019/sentinel2_delhi_r1831_c9457.tif", "after_path": "library_sources/2026/sentinel2_delhi_r1831_c9457.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0019.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: appears seasonal/crop-texture noise dominated, no clear structural change spotted at thumbnail resolution \u2014 needs a closer manual look before labeling.", "change_frac": 0.04778888888888889 }, { "pair_id": "delhi_0027", "before_path": "library_sources/2019/sentinel2_delhi_r1831_c8857.tif", "after_path": "library_sources/2026/sentinel2_delhi_r1831_c8857.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0027.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling.", "change_frac": 0.04786666666666667 }, { "pair_id": "delhi_0023", "before_path": "library_sources/2019/sentinel2_delhi_r3931_c9157.tif", "after_path": "library_sources/2026/sentinel2_delhi_r3931_c9157.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0023.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: appears seasonal/crop-texture noise dominated, no clear structural change spotted at thumbnail resolution \u2014 needs a closer manual look before labeling.", "change_frac": 0.04867777777777778 }, { "pair_id": "delhi_0022", "before_path": "library_sources/2019/sentinel2_delhi_r1231_c9457.tif", "after_path": "library_sources/2026/sentinel2_delhi_r1231_c9457.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0022.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: appears seasonal/crop-texture noise dominated, no clear structural change spotted at thumbnail resolution \u2014 needs a closer manual look before labeling.", "change_frac": 0.05095555555555555 }, { "pair_id": "delhi_0017", "before_path": "library_sources/2019/sentinel2_delhi_r1231_c8257.tif", "after_path": "library_sources/2026/sentinel2_delhi_r1231_c8257.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0017.png", "change_types": [ "mixed_gsd", "vegetation", "road" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Visually confirmed real road/highway construction (Day 2 review) \u2014 coarse 10m precision only.", "change_frac": 0.053344444444444444 }, { "pair_id": "delhi_0004", "before_path": "library_sources/2019/sentinel2_delhi_r3931_c9757.tif", "after_path": "library_sources/2026/sentinel2_delhi_r3931_c9757.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0004.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: real change visually confirmed but automated mask under-captures the extent \u2014 needs manual polygon redraw, not yet promoted.", "change_frac": 0.07601111111111111 }, { "pair_id": "delhi_0031", "before_path": "library_sources/2019/sentinel2_delhi_r4831_c9157.tif", "after_path": "library_sources/2026/sentinel2_delhi_r4831_c9157.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0031.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: real change visually confirmed but automated mask under-captures the extent \u2014 needs manual polygon redraw, not yet promoted.", "change_frac": 0.07603333333333333 }, { "pair_id": "delhi_0012", "before_path": "library_sources/2019/sentinel2_delhi_r2731_c8857.tif", "after_path": "library_sources/2026/sentinel2_delhi_r2731_c8857.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0012.png", "change_types": [ "mixed_gsd", "vegetation", "road" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Visually confirmed real road/highway construction (Day 2 review) \u2014 coarse 10m precision only.", "change_frac": 0.08994444444444444 }, { "pair_id": "delhi_0026", "before_path": "library_sources/2019/sentinel2_delhi_r4231_c8557.tif", "after_path": "library_sources/2026/sentinel2_delhi_r4231_c8557.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0026.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: real change visually confirmed but automated mask under-captures the extent \u2014 needs manual polygon redraw, not yet promoted.", "change_frac": 0.09582222222222223 }, { "pair_id": "dda_before5_after5_v2", "before_path": "C:/Users/Priyanka/Downloads/before5 (1).tif", "after_path": "C:/Users/Priyanka/Downloads/after5 (1).tif", "gt_mask": "docs/delhi_eval/labels/dda_before5_after5_v2.png", "change_types": [ "building", "road", "vegetation", "mixed" ], "notes": "Labeling pack. Paint docs/delhi_eval/dda_labeling/dda_before5_after5_v2/gt_mask.png then run scripts/ingest_dda_gt_label.py --pair-id dda_before5_after5_v2", "change_frac": 0.1190110318570675 }, { "pair_id": "dda_before6_after6_v2", "before_path": "C:/Users/Priyanka/Downloads/before6 (1).tif", "after_path": "C:/Users/Priyanka/Downloads/after6 (1).tif", "gt_mask": "docs/delhi_eval/labels/dda_before6_after6_v2.png", "change_types": [ "building", "road", "vegetation", "mixed" ], "notes": "Labeling pack. Paint docs/delhi_eval/dda_labeling/dda_before6_after6_v2/gt_mask.png then run scripts/ingest_dda_gt_label.py --pair-id dda_before6_after6_v2", "change_frac": 0.21923341714559386 }, { "pair_id": "delhi_0030", "before_path": "library_sources/2019/sentinel2_delhi_r1531_c10057.tif", "after_path": "library_sources/2026/sentinel2_delhi_r1531_c10057.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0030.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: real change visually confirmed but automated mask under-captures the extent \u2014 needs manual polygon redraw, not yet promoted. Retried with stronger morphological merge \u2014 still doesn't align with the visible real change, needs manual polygon redraw. Day 3: hand-drawn rough polygon bounding the settlement expansion + new construction patch \u2014 replaced automated candidate which under-captured it.", "change_frac": 0.37924444444444444 }, { "pair_id": "delhi_0020", "before_path": "library_sources/2019/sentinel2_delhi_r2431_c8257.tif", "after_path": "library_sources/2026/sentinel2_delhi_r2431_c8257.tif", "gt_mask": "docs/delhi_eval/labels/delhi_0020.png", "change_types": [ "mixed_gsd", "vegetation" ], "notes": "Sentinel-2 L2A TCI, 10m GSD \u2014 coarse resolution, NOT reliable for individual building/road detail. Real Delhi coordinates/dates. GT mask still needs hand-labeling. Day 2 review: real change visually confirmed but automated mask under-captures the extent \u2014 needs manual polygon redraw, not yet promoted. Retried with stronger morphological merge \u2014 still doesn't align with the visible real change, needs manual polygon redraw. Day 3: hand-drawn rough polygon (per project GT tolerance) bounding the new road-grid/plot development visible in after \u2014 replaced automated candidate which under-captured it.", "change_frac": 0.48006666666666664 }, { "pair_id": "hn_delhi_0002", "before_path": "data/delhi_cd/hard_negatives/hn_delhi_0002_before.png", "after_path": "data/delhi_cd/hard_negatives/hn_delhi_0002_after.png", "gt_mask": "data/delhi_cd/hard_negatives/hn_delhi_0002_gt.png", "change_types": [ "hard_negative", "vegetation_seasonal", "shadow" ], "notes": "Mined FP from delhi_0002 (fp_frac=0.038, tags=hard_negative,vegetation_seasonal,shadow) - restored after Friday split rebuild wiped it" }, { "pair_id": "hn_delhi_0006", "before_path": "data/delhi_cd/hard_negatives/hn_delhi_0006_before.png", "after_path": "data/delhi_cd/hard_negatives/hn_delhi_0006_after.png", "gt_mask": "data/delhi_cd/hard_negatives/hn_delhi_0006_gt.png", "change_types": [ "hard_negative", "vegetation_seasonal", "shadow" ], "notes": "Mined FP from delhi_0006 (fp_frac=0.036, tags=hard_negative,vegetation_seasonal,shadow) - restored after Friday split rebuild wiped it" }, { "pair_id": "hn_delhi_0013", "before_path": "data/delhi_cd/hard_negatives/hn_delhi_0013_before.png", "after_path": "data/delhi_cd/hard_negatives/hn_delhi_0013_after.png", "gt_mask": "data/delhi_cd/hard_negatives/hn_delhi_0013_gt.png", "change_types": [ "hard_negative", "vegetation_seasonal", "shadow" ], "notes": "Mined FP from delhi_0013 (fp_frac=0.069, tags=hard_negative,vegetation_seasonal,shadow) - restored after Friday split rebuild wiped it" }, { "pair_id": "hn_delhi_0014", "before_path": "data/delhi_cd/hard_negatives/hn_delhi_0014_before.png", "after_path": "data/delhi_cd/hard_negatives/hn_delhi_0014_after.png", "gt_mask": "data/delhi_cd/hard_negatives/hn_delhi_0014_gt.png", "change_types": [ "hard_negative", "vegetation_seasonal", "shadow" ], "notes": "Mined FP from delhi_0014 (fp_frac=0.101, tags=hard_negative,vegetation_seasonal,shadow) - restored after Friday split rebuild wiped it" }, { "pair_id": "hn_delhi_0015", "before_path": "data/delhi_cd/hard_negatives/hn_delhi_0015_before.png", "after_path": "data/delhi_cd/hard_negatives/hn_delhi_0015_after.png", "gt_mask": "data/delhi_cd/hard_negatives/hn_delhi_0015_gt.png", "change_types": [ "hard_negative", "vegetation_seasonal", "shadow" ], "notes": "Mined FP from delhi_0015 (fp_frac=0.036, tags=hard_negative,vegetation_seasonal,shadow) - restored after Friday split rebuild wiped it" } ] }