Downloads · 30 days
25
18% of all-time downloads
wcccp/PanoWorld
PanoWorld is a image-text-to-text model from wcccp. Use it for the image-text-to-text task on the model card, and read the license before you ship it in a product. It is set up for transformers. The card lists the license as cc-by-nc-4.0.
PanoWorld-Hstar is a vision-language model based on Qwen3.5-9B, developed for 360-degree panoramic understanding and spatial reasoning.
Downloads · 30 days
25
18% of all-time downloads
All-time downloads
137
Public
Parameters
9.4B
18.9 GB on disk
Likes
1
Public
Click a slice to open those files.
.safetensors18.8 GB · 100%
From the Hugging Face model README
PanoWorld-Hstar is a vision-language model based on Qwen3.5-9B, developed for 360-degree panoramic understanding and spatial reasoning.
The model is part of the PanoWorld project, which focuses on ERP-native panoramic perception, global spatial topology understanding, and human-centric visual search in 360° scenes.
PanoWorld-Hstar is fine-tuned for vision-language understanding in equirectangular panorama images. It is designed to improve model capability on panoramic scene captioning, spatial relation reasoning, direction understanding, and 360° visual question answering.
This model is intended for research on:
import torch
from transformers import AutoProcessor, Qwen3_5ForConditionalGeneration
model_id = "wcccp/PanoWorld-Hstar"
processor = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
model = Qwen3_5ForConditionalGeneration.from_pretrained(
model_id,
torch_dtype=torch.bfloat16,
device_map="auto",
trust_remote_code=True,
)
messages = [
{
"role": "user",
"content": [
{"type": "image", "image": "example_panorama.jpg"},
{"type": "text", "text": "Describe this 360-degree panoramic scene."},
],
}
]
inputs = processor.apply_chat_template(
messages,
tokenize=True,
add_generation_prompt=True,
return_dict=True,
return_tensors="pt",
).to(model.device)
generated_ids = model.generate(
**inputs,
max_new_tokens=512,
)
generated_ids_trimmed = [
output_ids[len(input_ids):]
for input_ids, output_ids in zip(inputs.input_ids, generated_ids)
]
response = processor.batch_decode(
generated_ids_trimmed,
skip_special_tokens=True,
clean_up_tokenization_spaces=False,
)[0]
print(response)
Please use a recent version of transformers that supports Qwen3.5.
@misc{wang2026panoworld,
title={PanoWorld: Towards Spatial Supersensing in 360$^\circ$ Panorama World},
author={Changpeng Wang and Xin Lin and Junhan Liu and Yuheng Liu and Zhen Wang and Donglian Qi and Yunfeng Yan and Xi Chen},
year={2026},
eprint={2605.13169},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2605.13169},
}