Instructions to use RicardoString/Think2Seg-RS-3B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use RicardoString/Think2Seg-RS-3B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="RicardoString/Think2Seg-RS-3B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForImageTextToText processor = AutoProcessor.from_pretrained("RicardoString/Think2Seg-RS-3B") model = AutoModelForImageTextToText.from_pretrained("RicardoString/Think2Seg-RS-3B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use RicardoString/Think2Seg-RS-3B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "RicardoString/Think2Seg-RS-3B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "RicardoString/Think2Seg-RS-3B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/RicardoString/Think2Seg-RS-3B
- SGLang
How to use RicardoString/Think2Seg-RS-3B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "RicardoString/Think2Seg-RS-3B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "RicardoString/Think2Seg-RS-3B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "RicardoString/Think2Seg-RS-3B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "RicardoString/Think2Seg-RS-3B", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use RicardoString/Think2Seg-RS-3B with Docker Model Runner:
docker model run hf.co/RicardoString/Think2Seg-RS-3B
Update model card and pipeline tag
Browse filesThis PR improves the model card for Think2Seg-RS-3B. Key changes include:
- Updating the `pipeline_tag` to `image-segmentation` to better reflect the reasoning segmentation task.
- Adding a link to the [research paper](https://huggingface.co/papers/2512.19302).
- Linking the official [GitHub repository](https://github.com/Ricardo-XZ/Think2Seg-RS).
- Adding a BibTeX citation for the paper.
README.md
CHANGED
|
@@ -1,14 +1,42 @@
|
|
| 1 |
---
|
| 2 |
base_model:
|
| 3 |
- Qwen/Qwen2.5-VL-3B-Instruct
|
| 4 |
-
pipeline_tag: image-text-to-text
|
| 5 |
library_name: transformers
|
|
|
|
| 6 |
---
|
| 7 |
|
| 8 |
-
#
|
| 9 |
|
| 10 |
-
This
|
| 11 |
|
| 12 |
-
|
| 13 |
|
| 14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
base_model:
|
| 3 |
- Qwen/Qwen2.5-VL-3B-Instruct
|
|
|
|
| 4 |
library_name: transformers
|
| 5 |
+
pipeline_tag: image-segmentation
|
| 6 |
---
|
| 7 |
|
| 8 |
+
# Think2Seg-RS-3B
|
| 9 |
|
| 10 |
+
This repository contains the 3B prompter model for **Think2Seg-RS**, a decoupled framework for reasoning segmentation in remote sensing (RS) imagery.
|
| 11 |
|
| 12 |
+
## Overview
|
| 13 |
|
| 14 |
+
Think2Seg-RS addresses the limitations of coupling linguistic reasoning and pixel prediction in remote sensing analysis. The framework decouples high-level semantic reasoning from low-level geometric execution by training an LVLM prompter (based on Qwen2.5-VL) to control a frozen Segment Anything Model (SAM2) via structured geometric prompts.
|
| 15 |
+
|
| 16 |
+
Through a result-oriented reinforcement learning objective, the model learns to translate abstract semantic reasoning into spatially grounded actions, achieving state-of-the-art performance on the EarthReason dataset.
|
| 17 |
+
|
| 18 |
+
- **Paper:** [Bridging Semantics and Geometry: A Decoupled LVLM-SAM Framework for Reasoning Segmentation in Remote Sensing](https://huggingface.co/papers/2512.19302)
|
| 19 |
+
- **Repository:** [GitHub - Ricardo-XZ/Think2Seg-RS](https://github.com/Ricardo-XZ/Think2Seg-RS)
|
| 20 |
+
- **Base Model:** [Qwen2.5-VL-3B-Instruct](https://huggingface.co/Qwen/Qwen2.5-VL-3B-Instruct)
|
| 21 |
+
|
| 22 |
+
## Key Features
|
| 23 |
+
- **Decoupled Architecture:** Separates high-level semantic reasoning from low-level geometric execution.
|
| 24 |
+
- **Geospatial Understanding:** Optimized for the complexities of remote sensing imagery and heterogeneous backgrounds.
|
| 25 |
+
- **Zero-shot Generalization:** The learned prompting policy generalizes effectively across multiple referring segmentation benchmarks.
|
| 26 |
+
|
| 27 |
+
## Setup and Usage
|
| 28 |
+
|
| 29 |
+
For installation, training, and evaluation scripts, please visit the official [GitHub repository](https://github.com/Ricardo-XZ/Think2Seg-RS).
|
| 30 |
+
|
| 31 |
+
## Citation
|
| 32 |
+
|
| 33 |
+
If you find this work helpful, please consider citing:
|
| 34 |
+
|
| 35 |
+
```bibtex
|
| 36 |
+
@article{think2seg_rs_2025,
|
| 37 |
+
title={Bridging Semantics and Geometry: A Decoupled LVLM-SAM Framework for Reasoning Segmentation in Remote Sensing},
|
| 38 |
+
author={Luo, Junyu and Luo, Xiao and Chen, Xiusi and Xiao, Zhiping and Ju, Wei and Zhang, Ming},
|
| 39 |
+
journal={arXiv preprint arXiv:2512.19302},
|
| 40 |
+
year={2025}
|
| 41 |
+
}
|
| 42 |
+
```
|