bingaochen commited on
Commit
ca5ce1d
·
verified ·
1 Parent(s): 63973ad

Simplify FoveaVLA-Dual model card

Browse files
Files changed (1) hide show
  1. README.md +11 -71
README.md CHANGED
@@ -6,7 +6,6 @@ tags:
6
  - robotics
7
  - vision-language-action
8
  - foveation
9
- - metric-depth
10
  - openpi
11
  - pi05
12
  - droid
@@ -15,90 +14,31 @@ tags:
15
 
16
  # FoveaVLA-Dual
17
 
18
- FoveaVLA-Dual is the dual-camera model from **FoveaVLA: Foveation Actions Replace the Wrist Camera in VLAs**. It builds on π₀.₅ and predicts robot actions together with the interaction region to observe at the next policy query. FoveaVLA-Dual adds a second external viewpoint to the same foveation mechanism.
19
 
20
- The model operates **without a wrist camera**. It receives a full RGB image and ROI crop from each exterior camera, plus all four matching metric-depth inputs. RGB and depth use a shared SigLIP encoder, with depth supplied as separate visual token streams.
 
 
 
21
 
22
- Code, data preparation, training, and deployment: [Stanford-TML/FoveaVLA](https://github.com/Stanford-TML/FoveaVLA).
23
-
24
- ## Model and observation contract
25
-
26
- | Item | Value |
27
- |---|---|
28
- | Training/serving config | `foveavla_dual` |
29
- | Exterior cameras | two exterior ZED stereo cameras, ordered physical-left then physical-right |
30
- | RGB inputs | 4 streams: left full + ROI, right full + ROI |
31
- | Depth inputs | 4 streams, aligned with the corresponding RGB inputs |
32
- | Wrist camera | None |
33
- | Robot actions | 7 absolute joint positions + 1 gripper command |
34
- | Action prediction | 16 actions per query; execute 8 before observing again |
35
- | Foveation prediction | Two ordered interaction boxes for t+8 |
36
- | Model image resolution | 224 × 224 |
37
- | Training data | DROID demonstrations with RoboInter interaction annotations |
38
- | Checkpoint format | JAX/Orbax OCDBT |
39
-
40
- The first query uses the full image as the ROI context. Later queries crop the newly captured image using the preceding t+8 prediction while retaining the full-image context. Crops use the released direct-rendering recipe with context scale 1.5.
41
-
42
- Metric depth comes from the pinned Fast-FoundationStereo estimator on each ZED's own rectified stereo pair. Stereo input is 640 × 360; depth is left-imager-aligned optical-axis Z in meters, bounded to 0.2–3.0 m, with validity masks. Offline data preparation and online serving use the same conversion and crop geometry. The supported ZED SDK version is 5.1.2.
43
-
44
- ## Repository layout
45
-
46
- The checkpoint is directly at the repository root:
47
 
48
  ```text
49
- assets/
50
- droid/norm_stats.json
51
  params/
52
  _CHECKPOINT_METADATA
53
- README.md
54
  ```
55
 
56
- `params/` contains inference weights. `assets/droid/norm_stats.json` contains this checkpoint's state/action normalization statistics and is required for deployment. The full optimizer/training state is not included.
57
 
58
- ## Download and serve
59
 
60
- From the FoveaVLA code repository, prepare the server environment and download this model:
61
 
62
  ```bash
63
- uv venv --python 3.11
64
- uv sync --locked
65
- scripts/setup_fast_foundation_depth.sh
66
  uv run --no-sync scripts/download_checkpoint.py --model=foveavla_dual
67
-
68
  XLA_PYTHON_CLIENT_MEM_FRACTION=0.70 uv run --no-sync scripts/serve.py \
69
  --model=foveavla_dual --checkpoint=checkpoints/foveavla_dual
70
  ```
71
 
72
- The downloader uses a pinned Hub revision. If repository access requires authentication, log in with `huggingface-cli login` first.
73
-
74
- For a direct Hub download:
75
-
76
- ```python
77
- from huggingface_hub import snapshot_download
78
-
79
- checkpoint_dir = snapshot_download(
80
- repo_id="bingaochen/FoveaVLA-Dual",
81
- local_dir="checkpoints/foveavla_dual",
82
- allow_patterns=["assets/**", "params/**", "_CHECKPOINT_METADATA"],
83
- )
84
- ```
85
-
86
- Pass `checkpoint_dir` to `scripts/serve.py` with `--model=foveavla_dual`. Use the server entrypoint so that stereo depth is generated with the matching estimator. The checkpoint loads its own normalization statistics.
87
-
88
- Before connecting the robot, check the software inference chain:
89
-
90
- ```bash
91
- uv run --no-sync scripts/smoke_inference.py --host=127.0.0.1 --port=8000
92
- ```
93
-
94
- See the [deployment guide](https://github.com/Stanford-TML/FoveaVLA/blob/main/docs/deployment.md) for the separate Python 3.10 DROID client, camera serials and ordering, supported robot embodiments, and real-robot commands.
95
-
96
- ## Intended use
97
-
98
- This checkpoint supports research on foveation and robot manipulation with the released DROID deployment stack. Performance depends on camera placement, calibration, robot configuration, and task conditions. Camera alignment and physical task performance require validation on the target setup.
99
-
100
- To train a new model, use `foveavla_dual` and the [data](https://github.com/Stanford-TML/FoveaVLA/blob/main/docs/data.md) and [training](https://github.com/Stanford-TML/FoveaVLA/blob/main/docs/training.md) guides. This inference archive cannot resume the original optimizer state.
101
-
102
- ## Acknowledgements
103
-
104
- FoveaVLA builds on [OpenPI](https://github.com/Physical-Intelligence/openpi), [DROID](https://droid-dataset.github.io/droid/the-droid-dataset.html), [RoboInter](https://github.com/InternRobotics/RoboInter), and [Fast-FoundationStereo](https://github.com/NVlabs/Fast-FoundationStereo). See the code repository's license and Gemma notice; third-party models, datasets, and software retain their respective terms.
 
6
  - robotics
7
  - vision-language-action
8
  - foveation
 
9
  - openpi
10
  - pi05
11
  - droid
 
14
 
15
  # FoveaVLA-Dual
16
 
17
+ FoveaVLA-Dual is the dual-camera variant of **FoveaVLA: Foveation Actions Replace the Wrist Camera in VLAs**. Built on π₀.₅, it uses two exterior RGB-D cameras with full images, predicted ROI crops, and matching depth. **No wrist camera is required.**
18
 
19
+ - **Inputs:** two exterior ZED stereo cameras in physical-left / physical-right order; robot state; language instruction.
20
+ - **Outputs:** 16 joint-position actions with gripper commands and two ordered interaction boxes for t+8. Execute 8 actions before the next query.
21
+ - **Training data:** DROID demonstrations with RoboInter interaction annotations.
22
+ - **Config:** `foveavla_dual`.
23
 
24
+ ## Checkpoint
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
 
26
  ```text
27
+ assets/droid/norm_stats.json
 
28
  params/
29
  _CHECKPOINT_METADATA
 
30
  ```
31
 
32
+ The checkpoint is at the repository root. It includes inference weights and their normalization statistics; optimizer state is not included.
33
 
34
+ ## Use
35
 
36
+ After setting up the [FoveaVLA server environment](https://github.com/Stanford-TML/FoveaVLA/blob/main/docs/deployment.md), run:
37
 
38
  ```bash
 
 
 
39
  uv run --no-sync scripts/download_checkpoint.py --model=foveavla_dual
 
40
  XLA_PYTHON_CLIENT_MEM_FRACTION=0.70 uv run --no-sync scripts/serve.py \
41
  --model=foveavla_dual --checkpoint=checkpoints/foveavla_dual
42
  ```
43
 
44
+ See [Stanford-TML/FoveaVLA](https://github.com/Stanford-TML/FoveaVLA) for data preparation, training, and real-robot deployment. The deployment guide covers stereo-depth setup, GPU memory, camera calibration, and supported robot configurations.