MCPcopy Index your code
hub / github.com/MiliLab/UniGeoSeg

github.com/MiliLab/UniGeoSeg @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
905 symbols 2,709 edges 96 files 269 documented · 30% updated 3mo ago★ 331 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

UniGeoSeg: Towards Unified Open-World Segmentation for Geospatial Scenes

Shuo Ni1,3, Di Wang2,3, He Chen1, Haonan Guo2,3 †, Ning Zhang1.4 †, Jing Zhang2 †.

1 Beijing Institute of Technology, 2 Wuhan University, 3 Zhongguancun Academy, 4 Hong Kong Polytechnic University.

Corresponding author

Update | Abstract | Datasets | Models | Usage | Statement

🔥 Update

  • [2026.03] 📦 GeoSeg-1M is now publicly available on Baidu Netdisk. The Hugging Face version is still being uploaded.
  • [2026.03] 🎉 Our paper has been accepted to CVPR 2026!
  • [2025.11] 📄 Paper available on arXiv: arXiv:2511.23332

🌞 Abstract

Instruction-driven segmentation in remote sensing generates masks from guidance, offering great potential for accessible and generalizable applications. However, existing methods suffer from fragmented task formulations and limited instruction data, hindering effective understanding and generalization. To address these issues, we introduce GeoSeg-1M, the first million-scale dataset for remote sensing instruction-driven segmentation, constructed via an automatic mask filtering and instruction generation pipeline that synthesizes referring, interactive, and reasoning segmentation instructions from multiple public datasets. GeoSeg-1M contains 590K images, 117 categories, and 1.1M image–mask–instruction triplets. Building upon this foundation, we further curate GeoSeg-Bench, a challenging benchmark designed to evaluate contextual understanding and reasoning capabilities across diverse instruction-driven tasks and complex geospatial scenes. Furthermore, we present UniGeoSeg, a unified framework that serves as a strong baseline, incorporating task-aware text enhancement, latent knowledge memory, and a progressive training strategy to facilitate multi-task learning. Extensive experiments demonstrate the state-of-the-art performance of UniGeoSeg across GeoSeg-Bench and diverse public benchmarks, while exhibiting strong zero-shot generalization.

**Figure 1. Examples from GeoSeg-1M.** **Figure 2. The diagram of UniGeoSeg.** ## 📖 Datasets The GeoSeg-Bench can be downloaded at **[Hugging Face](https://huggingface.co/datasets/nishuo1999/GeoSeg-Bench)**. The **GeoSeg-1M** dataset is now available via **Baidu Pan**: - Dataset: `GeoSeg-1M` - Link: https://pan.baidu.com/s/1GldxhdvJqlsI-qyq3Uvqkw - Extraction code: `thxx` The **Hugging Face** version of **GeoSeg-1M** is still being uploaded and will be released soon. ## 🚀 Models The checkpoint can be downloaded at **[Hugging Face](https://huggingface.co/nishuo1999/UniGeoSeg)**. ## 🔨 Usage ### Training Wait for update. ### Inference We provide an inference script:
python scripts/eval.sh
## 🍭 Results ## ⭐ Citation If you find UniGeoSeg helpful, please give a ⭐ and cite it as follows:
@misc{ni2025unigeosegunifiedopenworldsegmentation,
      title={UniGeoSeg: Towards Unified Open-World Segmentation for Geospatial Scenes}, 
      author={Shuo Ni and Di Wang and He Chen and Haonan Guo and Ning Zhang and Jing Zhang},
      year={2025},
      eprint={2511.23332},
      archivePrefix={arXiv},
      primaryClass={cs.CV},
      url={https://arxiv.org/abs/2511.23332}, 
}
## 🎺 Statement For any other questions please contact Shuo Ni at [bit.edu.cn](mailto:3120245503@bit.edu.cn) or [126.com](nishuo1999@126.com). ## 💖 Thanks This project is based on [PSALM](https://github.com/zamling/PSALM), [SegEarth-R1](https://github.com/earth-insights/SegEarth-R1), Thanks for their wonderful work!

Core symbols most depended-on inside this repo

to
called by 123
unigeoseg/model/mask_decoder/Mask2Former_Simplify/utils/misc.py
cat
called by 94
unigeoseg/model/multimodal_encoder/sam2/utils/amg.py
get
called by 66
unigeoseg/model/mask_decoder/Mask2Former_Simplify/dataset/NuImages/nuimages.py
items
called by 42
unigeoseg/model/multimodal_encoder/sam2/utils/amg.py
update
called by 27
unigeoseg/eval_and_test/eval.py
get_model
called by 17
unigeoseg/model/language_model/llava_phi.py
copy
called by 16
unigeoseg/conversation.py
from_pretrained
called by 12
unigeoseg/model/multimodal_encoder/sam2/sam2_image_predictor.py

Shape

Method 604
Function 159
Class 142

Languages

Python99%
C++1%

Modules by API surface

unigeoseg/model/multimodal_projector/builder.py42 symbols
unigeoseg/model/language_model/llava_phi.py38 symbols
unigeoseg/model/mask_decoder/Mask2Former_Simplify/modeling/transformer_decoder/mask2former_transformer_decoder.py37 symbols
unigeoseg/model/multimodal_encoder/swin_trans.py32 symbols
unigeoseg/model/mask_decoder/Mask2Former_Simplify/modeling/backbone/swin.py32 symbols
unigeoseg/model/multimodal_encoder/sam2/sam2_video_predictor.py30 symbols
unigeoseg/model/multimodal_encoder/sam2/sam2_video_predictor_legacy.py27 symbols
unigeoseg/model/multimodal_encoder/sam2/utils/amg.py26 symbols
unigeoseg/eval_and_test/eval_dataset/RS_val_dataset.py26 symbols
unigeoseg/model/mask_decoder/Mask2Former_Simplify/dataset/NuImages/nuimages.py25 symbols
unigeoseg/model/mask_decoder/Mask2Former_Simplify/modeling/transformer_decoder/transformer.py24 symbols
unigeoseg/model/mask_decoder/Mask2Former_Simplify/utils/criterion.py23 symbols

For agents

$ claude mcp add UniGeoSeg \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page