Instructions to use Apollo-ULTA/DeepGrounder with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Apollo-ULTA/DeepGrounder with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="Apollo-ULTA/DeepGrounder") 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)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("Apollo-ULTA/DeepGrounder") model = AutoModelForMultimodalLM.from_pretrained("Apollo-ULTA/DeepGrounder", device_map="auto") 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=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Apollo-ULTA/DeepGrounder with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Apollo-ULTA/DeepGrounder" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Apollo-ULTA/DeepGrounder", "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/Apollo-ULTA/DeepGrounder
- SGLang
How to use Apollo-ULTA/DeepGrounder 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 "Apollo-ULTA/DeepGrounder" \ --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": "Apollo-ULTA/DeepGrounder", "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 "Apollo-ULTA/DeepGrounder" \ --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": "Apollo-ULTA/DeepGrounder", "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 Apollo-ULTA/DeepGrounder with Docker Model Runner:
docker model run hf.co/Apollo-ULTA/DeepGrounder
DeepGrounder
DeepGrounder: Generalized Reasoning for MLLM-based Remote Sensing Visual Grounding
Accepted by IEEE Transactions on Geoscience and Remote Sensing (TGRS), 2026.
Paper โ IEEE Xplore ยท DOI ยท Code and documentation
Jiafan Zhang, Keyan Chen, Chenyang Liu, Baihong Lin, Zhengxia Zou, Zhenwei Shi
Model overview
DeepGrounder is a Qwen2.5-VL-3B-based model for remote sensing visual grounding: localizing the object referred to by a natural language description. The method first establishes domain knowledge through supervised fine-tuning, then applies GRPO with hybrid verifiable rewards for reasoning format, geometric accuracy, and vision-language semantic consistency.
Checkpoint contents
This release provides checkpoint-6090 as a complete Transformers model, with two Safetensors weight shards, the weight index, config, and tokenizer/processor files. The weights use BF16. It is not an adapter-only release; a separate LoRA merge is not required.
The source checkpoint config identifies the Qwen2.5-VL architecture. The precise training-data/run provenance and correspondence between this checkpoint and individual paper table rows have not been independently re-benchmarked as part of this release. The paper's reported metrics below describe the paper experiments.
Download and evaluate
Install a CUDA-compatible PyTorch build, then:
git clone https://github.com/ULTA-Web/DeepGrounder.git
cd DeepGrounder
pip install -r requirements-inference.txt
huggingface-cli download Apollo-ULTA/DeepGrounder --local-dir checkpoints/DeepGrounder
python tools/prepare_dior_rsvg.py \
--data_root /path/to/DIOR_RSVG \
--output_dir data/processed/DIOR-RSVG
python src/eval/infer_allbox.py \
--reasoning_model_path checkpoints/DeepGrounder \
--json_path data/processed/DIOR-RSVG/test_eval.jsonl \
--image_base_path /path/to/DIOR_RSVG/JPEGImages \
--output_dir outputs/DIOR-RSVG
See the inference guide for the JSONL schema, pixel-coordinate convention, and metrics. See the training guide for SFT and GRPO.
Data and reported results
The repository walkthrough uses DIOR-RSVG, downloadable from the official project and its Google Drive. The paper also evaluates RRSIS-D and zero-shot transfer to VRSBench.
| Paper evaluation | Pr@0.5 (%) | Pr@0.7 (%) | mIoU (%) |
|---|---|---|---|
| DIOR-RSVG | 64.03 | 48.27 | 54.85 |
| RRSIS-D | 64.21 | 47.66 | 57.11 |
| VRSBench, zero-shot | 59.1 | 38.8 | โ |
These are paper-reported values, not a new evaluation of this upload.
Intended use and limitations
Intended for research on remote sensing visual grounding and multimodal spatial reasoning. Performance depends on image resolution, prompt, coordinate convention, and distribution. Generated explanations and boxes can be incorrect and should be verified. The repository's full hybrid-reward training additionally requires an external Git-RSCLIP semantic scoring service.
This repository retains its existing Apache-2.0 metadata. Consult the base model and dataset authors for their applicable terms; DIOR-RSVG has separate research/noncommercial restrictions.
Citation
@article{zhang2026deepgrounder,
title={DeepGrounder: Generalized Reasoning for MLLM-Based Remote Sensing Visual Grounding},
author={Zhang, Jiafan and Chen, Keyan and Liu, Chenyang and Lin, Baihong and Zou, Zhengxia and Shi, Zhenwei},
journal={IEEE Transactions on Geoscience and Remote Sensing},
year={2026},
volume={64},
doi={10.1109/TGRS.2026.3697769},
url={https://ieeexplore.ieee.org/document/11538158}
}
- Downloads last month
- 17
Model tree for Apollo-ULTA/DeepGrounder
Base model
Qwen/Qwen2.5-VL-3B-Instruct
