Views
No views yet
| Model Name | VLA Model | Embodied Spatial Model | Note |
|---|---|---|---|
| FALCON-FC-CALVIN-ABC | falcon-esm-fc-calvin-abc-pt | esm-1b | finetune on calvin-abc with RGB inputs to ESM, Tab. 4 and 5. |
| FALCON-FC-CALVIN-ABC-WDepth | falcon-esm-fc-calvin-abc-wdepth-pt | esm-1b | finetune on calvin-abc with RGB-D inputs to ESM, Tab. 5. |
| FALCON-3DPC-FC-CALVIN-ABC | falcon-3dpc-fc-calvin-abc-pt | improved DP3 encoder | finetune on calvin-abc with point cloud inputs to idp3 encoder, Tab. 5-Kosmos-VLA (w/ rgb-d). |
| FALCON-LSTM-CALVIN-ABC | falcon-lstm-calvin-abc-pt | esm-1b | finetune on calvin-abc with RGB inputs to ESM, Tab. 1. |
| FALCON-LSTM-CALVIN-ABCD | falcon-lstm-calvin-abcd-pt | esm-1b | finetune on calvin-abcd with RGB inputs to ESM, Tab. 1. |
| FALCON-FC-SimplerEnv-Bridge | falcon-fc-simpler-bridge-pt | esm-1b | pretrained on oxe then finetune on bridge dataset with RGB inputs to ESM, Tab. 2. |
| FALCON-FC-SimplerEnv-Fractal | falcon-fc-simpler-fractal-pt | esm-1b | pretrained on oxe then finetune on fractal dataset with RGB inputs to ESM, Tab. 3. |
| FALCON-FC-OXE-MAGIC-SOUP-PT | falcon-oxe-magic-soup-pretrain-pt | / | FALCON with fc head pretrained on oxe using oxe_magic_soup data mixture. |
FALCON-FC-CALVIN-ABC as an example:1import torch
2import json, functools, copy
3from PIL import Image
4from falcon.train.base_trainer import BaseTrainer
5from falcon.data.data_utils import preprocess_image, get_text_function
6from falcon.model.policy_head.esm_utils.vggt.utils.load_fn import load_and_preprocess_images_square_new
7
8configs = josn.load(open('configs/falcon-esm-fc-calvin-abc.json', 'r'))
9pretrained_path = 'checkpoints/falcon-esm-fc-calvin-abc-pt'
10configs['model_load_path'] = pretrained_path
11
12model = BaseTrainer.from_checkpoint(configs)
13
14image_fn = functools.partial(
15 preprocess_image,
16 image_processor=model.model.image_processor,
17 model_type=configs["model"],
18)
19text_fn = get_text_function(model.model.tokenizer, configs["model"])
20prompt = "Task: pull the handle to open the drawer"
21text_tensor, attention_mask = text_fn([prompt])
22
23for step in range(MAX_STEPS):
24 image: Image.Image = get_from_side_camera(...)
25 # get inputs for esm
26 image_vggt = copy.deepcopy(image)
27 image = image_fn([image]).unsqueeze(0)
28
29 esm_target_size = 224
30 image_vggt_x, _ = load_and_preprocess_images_square_new([image_vggt], target_size=esm_target_size)
31 image_vggt_x = image_vggt_x.unsqueeze(0)
32
33 input_dict["rgb"] = image
34 input_dict["text"] = text_tensor
35 input_dict['text_mask'] = attention_mask
36 input_dict["rgb_vggt"] = image_vggt_x
37
38 ### if wrist camera is available
39 wrist_image: Image.Image = get_from_wrist_camera(...)
40 wrist_image = image_fn([wrist_image]).unsqueeze(0)
41 input_dict["hand_rgb"] = wrist_image
42
43 with torch.no_grad():
44 action = model.inference_step(input_dict)["action"]
45 print(action)1@article{zhang2025spatial,
2 title={From spatial to actions: Grounding vision-language-action model in spatial foundation priors},
3 author={Zhang, Zhengshen and Li, Hao and Dai, Yalun and Zhu, Zhengbang and Zhou, Lei and Liu, Chenchen and Wang, Dong and Tay, Francis EH and Chen, Sijin and Liu, Ziwei and others},
4 journal={arXiv preprint arXiv:2510.17439},
5 year={2025}
6}