Views
No views yet

Geometry features from encoder layers [11, 17, 23] are projected and injected into decoder layers [0, 1, 2], preserving both fine local structure and higher-level spatial context.

| Component | Detail |
| Base Model | Qwen/Qwen3.5-4B |
| Geometry Encoder | facebook/VGGT-1B |
| Encoder Layers | [11, 17, 23] |
| Fusion Layers | [0, 1, 2] |
| Fusion Method | DeepStack Language-Add |
| Geometry Merger | MLP |
| Precision | bfloat16 |
| Benchmark | Metric | Score |
|---|---|---|
| VSI-Bench | Average | 67.5 |
| CV-Bench | Average | 85.5 |
| CV-Bench | 3D | 92.2 |
Results from the SpatialStack project page and paper.
1git clone https://github.com/jzh15/SpatialStack.git
2cd SpatialStack
3pip install -e . --no-depsFor full environment setup (PyTorch, flash_attn, Qwen3.5 dependencies), see the repo README.
1python scripts/inference/infer.py \
2 --model-path Journey9ni/SpatialStack-Qwen3.5-4B \
3 --image assets/sofas.jpg \
4 --prompt "Describe this scene in a few complete sentences." \
5 --disable-thinking \
6 --max-new-tokens 1281MODEL_PATH=Journey9ni/SpatialStack-Qwen3.5-4B \
2MODEL_IMPL=qwen3_5 \
3MODEL_ARGS_BASE="pretrained=Journey9ni/SpatialStack-Qwen3.5-4B,use_flash_attention_2=true,max_num_frames=32,max_length=12800,geometry_encoder_path=facebook/VGGT-1B,disable_thinking=true" \
4OUTPUT_ROOT=logs/eval/spatialstack_qwen35_4b \
5BENCHMARKS="vsibench" \
6bash scripts/evaluation/eval.sh1@article{zhang2026spatialstack,
2 title={SpatialStack: Layered Geometry-Language Fusion for 3D VLM Spatial Reasoning},
3 author={Zhang, Jiang and Zhou, Shijie and Liu, Bangya and Kadambi, Achuta and Fan, Zhiwen},
4 journal={arXiv preprint arXiv:2603.27437},
5 year={2026}
6}