"""Unified segmentation classes shared across all datasets. All datasets MUST use the same prompt list and class IDs to enable transfer learning (e.g., pretrain on GTA-UAV → fine-tune on UAV_VisLoc). Not every dataset will have pixels for every class — that's fine. A class with 0 pixels simply won't contribute to training loss. """ UNIFIED_PROMPTS: list[str] = [ "background", # 0 "building", # 1 "road", # 2 "vegetation", # 3 "water", # 4 "sand and gravel ground", # 5 "rocky terrain", # 6 "farmland", # 7 "railway", # 8 "parking lot", # 9 "sidewalk", # 10 "bare soil and plowed field", # 11 "roof and rooftop", # 12 "sports field and playground", # 13 "muddy ground and wetland", # 14 "embankment and levee", # 15 "swimming pool", # 16 ] NUM_CLASSES = len(UNIFIED_PROMPTS) # 17