PoseVLA: Universal Pose Pretraining for Generalizable Vision-Language-Action Policies
Paper • 2602.19710 • Published
How to use hetolin/PoseVLA-stage1 with Transformers:
# Load model directly
from transformers import AutoModel
model = AutoModel.from_pretrained("hetolin/PoseVLA-stage1", device_map="auto")PoseVLA is a Vision-Language-Action (VLA) model that leverages universal 3D pose pretraining for generalizable robotic manipulation. This checkpoint is the Stage-1 pretrained model, jointly trained on large-scale 3D detection and robot action data.
from posevla.modeling_posevla import PoseVLAPolicy, PoseVLAConfig, bin_tokenizer
from utils.mapping_token import decode_text_to_scene_with_tokenizer
# Load model
policy = PoseVLAPolicy.from_pretrained("hetolin/PoseVLA-stage1", local_files_only=False, config=posevla_config)
policy = policy.eval().to(torch.bfloat16).cuda()
# Inference
output_res = policy.forward_evaluate_ntp(batch)
pred_text = output_res["pred"][0]
pred_res = decode_text_to_scene_with_tokenizer(pred_text, bin_tokenizer)
See infer_grounding3d.py for complete real-world RGB-D inference pipeline.
| Hyperparameter | Value |
|---|---|
| Base model | PaliGemma-3B-pt-224 |
| Action Expert | π0 (Flow Matching, from scratch) |
| Image resolution | 224 × 224 |
| Optimizer | AdamW |
| Learning rate | 5e-5 |
| Weight decay | 1e-10 |
| Precision | bf16 |
| GPUs | 16 × H20 |
| Batch size | 7 per GPU |
| Training steps | 100K |
@article{lin2026posevla,
title={PoseVLA: Universal Pose Pretraining for Generalizable Vision-Language-Action Policies},
author={Lin, Haitao and Yu, Hanyang and Huang, Jingshun and Zhang, He and Ling, Yonggen and Tan, Ping and Xue, Xiangyang and Fu, Yanwei},
journal={arXiv preprint arXiv:2602.19710},
year={2026}
}
This model is released under the Apache 2.0 License.