Simplify FoveaVLA-Single model card
Browse files
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-Single
|
| 17 |
|
| 18 |
-
FoveaVLA-Single is the single-camera
|
| 19 |
|
| 20 |
-
|
|
|
|
|
|
|
|
|
|
| 21 |
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
## Model and observation contract
|
| 25 |
-
|
| 26 |
-
| Item | Value |
|
| 27 |
-
|---|---|
|
| 28 |
-
| Training/serving config | `foveavla_single` |
|
| 29 |
-
| Exterior cameras | one exterior ZED stereo camera |
|
| 30 |
-
| RGB inputs | 2 streams: full + ROI |
|
| 31 |
-
| Depth inputs | 2 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 | One interaction box 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 |
-
|
| 57 |
|
| 58 |
-
##
|
| 59 |
|
| 60 |
-
|
| 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_single
|
| 67 |
-
|
| 68 |
XLA_PYTHON_CLIENT_MEM_FRACTION=0.70 uv run --no-sync scripts/serve.py \
|
| 69 |
--model=foveavla_single --checkpoint=checkpoints/foveavla_single
|
| 70 |
```
|
| 71 |
|
| 72 |
-
|
| 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-Single",
|
| 81 |
-
local_dir="checkpoints/foveavla_single",
|
| 82 |
-
allow_patterns=["assets/**", "params/**", "_CHECKPOINT_METADATA"],
|
| 83 |
-
)
|
| 84 |
-
```
|
| 85 |
-
|
| 86 |
-
Pass `checkpoint_dir` to `scripts/serve.py` with `--model=foveavla_single`. 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_single` 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-Single
|
| 16 |
|
| 17 |
+
FoveaVLA-Single is the single-camera variant of **FoveaVLA: Foveation Actions Replace the Wrist Camera in VLAs**. Built on π₀.₅, it uses one exterior RGB-D camera with full images, predicted ROI crops, and matching depth. **No wrist camera is required.**
|
| 18 |
|
| 19 |
+
- **Inputs:** one exterior ZED stereo camera; robot state; language instruction.
|
| 20 |
+
- **Outputs:** 16 joint-position actions with gripper commands and one interaction box for t+8. Execute 8 actions before the next query.
|
| 21 |
+
- **Training data:** DROID demonstrations with RoboInter interaction annotations.
|
| 22 |
+
- **Config:** `foveavla_single`.
|
| 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_single
|
|
|
|
| 40 |
XLA_PYTHON_CLIENT_MEM_FRACTION=0.70 uv run --no-sync scripts/serve.py \
|
| 41 |
--model=foveavla_single --checkpoint=checkpoints/foveavla_single
|
| 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|