zczhao commited on
Commit
12089a7
Β·
verified Β·
1 Parent(s): 44dfb1e

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +153 -66
README.md CHANGED
@@ -1,4 +1,14 @@
1
- ```markdown
 
 
 
 
 
 
 
 
 
 
2
  ---
3
  license: mit
4
  pipeline_tag: other
@@ -9,89 +19,141 @@ tags:
9
  - end-to-end-autonomous-driving
10
  - world-action-model
11
  - trajectory-planning
 
 
 
12
  - navsim
13
  ---
14
 
15
- # SimWAM: A Simple World Action Model for End-to-End Autonomous Driving
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
 
17
- SimWAM is a World-Action Model for end-to-end autonomous driving. It transfers video-dynamics priors to trajectory prediction by jointly training a pretrained video expert and a lightweight action diffusion transformer with flow matching.
18
 
19
- An isolated attention design prevents the action branch from depending on future frames. The video-generation branch is therefore not required during deployment, allowing the trained action expert to operate as a direct trajectory planner.
20
 
21
- This repository contains the official released checkpoints for the SimWAM project.
22
 
23
- ## Task
24
 
25
- SimWAM performs end-to-end autonomous-driving trajectory planning on NAVSIM.
 
 
 
 
26
 
27
- The released model uses a single front-facing camera and predicts a future ego trajectory directly from the current observation and conditioning information. The project supports supervised imitation learning and FlowGRPO reinforcement-learning fine-tuning.
28
 
29
- Because autonomous-driving trajectory planning does not currently map cleanly to a standard Hugging Face inference pipeline, this repository uses `pipeline_tag: other`.
30
 
31
- ## Inputs and Outputs
 
 
 
 
32
 
33
  ### Inputs
34
 
35
- The NAVSIM configuration uses:
36
 
37
- - A front-facing RGB camera observation resized to `384 Γ— 672`
38
  - Precomputed text or scene-context embeddings
39
  - An 8-dimensional ego-state representation
40
- - Optional trajectory-planning configuration supplied by the official codebase
41
 
42
  ### Outputs
43
 
44
- The model predicts:
45
 
46
- - An eight-step future trajectory
47
- - Three values per trajectory step in the NAVSIM action representation
48
- - A tensor with shape `[8, 3]` for one evaluated sample
49
 
50
- The released checkpoints use normalized trajectory targets. Dataset statistics and the official NAVSIM evaluation code should be used to convert predictions into the required evaluation representation.
51
 
52
- ## Checkpoints
53
 
54
- | File | Description |
55
- | --- | --- |
56
- | `weights/SimWAM.pt` | Supervised SimWAM checkpoint |
57
- | `weights/SimWAM-RL.pt` | SimWAM checkpoint fine-tuned with FlowGRPO reinforcement learning |
58
 
59
- These files are custom PyTorch checkpoints and are not directly loadable with `transformers.AutoModel`.
60
 
61
- ## Download
62
 
63
- Download the complete repository:
 
 
 
 
 
 
 
 
 
 
 
 
64
 
65
  ```python
66
  from huggingface_hub import snapshot_download
67
 
68
- local_path = snapshot_download(
69
- repo_id="H-EmbodVis/SimWAM"
 
 
70
  )
71
-
72
- print(local_path)
73
  ```
74
 
75
- Download an individual checkpoint:
76
 
77
  ```python
78
  from huggingface_hub import hf_hub_download
79
 
80
  checkpoint_path = hf_hub_download(
81
  repo_id="H-EmbodVis/SimWAM",
 
82
  filename="weights/SimWAM.pt",
83
  )
84
 
85
  print(checkpoint_path)
86
  ```
87
 
88
- Command-line download:
89
-
90
- ```bash
91
- hf download H-EmbodVis/SimWAM --local-dir ./SimWAM-checkpoints
92
- ```
93
-
94
- ## Usage
95
 
96
  Clone and install the official implementation:
97
 
@@ -107,21 +169,51 @@ python -m pip install -e navsim --no-deps
107
  python -m pip install -e . --no-deps
108
  ```
109
 
110
- Place the downloaded checkpoint under `weights/`, then run the official NAVSIM evaluation script:
 
 
111
 
112
  ```bash
113
  CKPT=./weights/SimWAM.pt \
114
  TASK=navsim_uncond_front_384x672_1e-4 \
115
  NPROC_PER_NODE=1 \
116
- bash experiments/navsim/run_eval_navsim.sh
 
 
 
117
  ```
118
 
119
- NAVSIM, nuPlan maps, sensor blobs, text embeddings, normalization statistics, and other required resources must be prepared according to the official project documentation.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
120
 
121
- ## Repository Contents
122
 
123
  ```text
124
  .
 
125
  β”œβ”€β”€ config.json
126
  β”œβ”€β”€ README.md
127
  └── weights
@@ -129,40 +221,35 @@ NAVSIM, nuPlan maps, sensor blobs, text embeddings, normalization statistics, an
129
  └── SimWAM-RL.pt
130
  ```
131
 
132
- - `README.md` provides the Hugging Face model card and metadata.
133
- - `config.json` identifies the repository as a custom PyTorch model repository.
134
- - `weights/SimWAM.pt` contains the supervised checkpoint.
135
- - `weights/SimWAM-RL.pt` contains the reinforcement-learning checkpoint.
136
-
137
- ## Performance
138
-
139
- The project reports a PDMS score of `91.5` on the NAVSIM `navtest` benchmark using a single front-facing camera.
140
 
141
- For complete evaluation settings, comparisons, and reproduction instructions, refer to the official GitHub repository.
142
-
143
- ## Limitations
144
-
145
- - The checkpoints require the official SimWAM implementation.
146
- - The model is designed for the NAVSIM data format and evaluation pipeline.
147
  - Performance outside the training and evaluation distributions is not guaranteed.
148
- - Predictions must not be directly deployed on a physical vehicle without additional validation, safety systems, and human oversight.
149
- - NAVSIM, nuPlan, OpenScene, Wan2.2, and other upstream resources retain their own licenses and usage terms.
 
150
 
151
- ## GitHub
152
 
153
- Official implementation:
 
 
 
154
 
155
- https://github.com/H-EmbodVis/SimWAM
156
 
157
- ## License
158
 
159
- The SimWAM source repository is released under the MIT License. Third-party code, datasets, pretrained models, and other assets remain subject to their respective licenses.
160
 
161
- ## Citation
 
 
162
 
163
  ```bibtex
164
  @article{zhao2026simwam,
165
- title = {A Simple World Action Model for End-to-End Autonomous Driving},
166
  author = {Zhao, Zongchuang and Zhou, Xin and Xu, Tianyang and
167
  Sun, Zhengyang and Zhou, Kaixuan and Li, Honglin and
168
  Liang, Dingkang and Bai, Xiang},
@@ -170,4 +257,4 @@ The SimWAM source repository is released under the MIT License. Third-party code
170
  year = {2026}
171
  }
172
  ```
173
- ```
 
1
+ ---
2
+ license: other
3
+ language:
4
+ - en
5
+ base_model:
6
+ - Wan-AI/Wan2.2-TI2V-5B
7
+ tags:
8
+ - Pythorch
9
+ - Autonomous-Driving
10
+ ---
11
+ ````markdown
12
  ---
13
  license: mit
14
  pipeline_tag: other
 
19
  - end-to-end-autonomous-driving
20
  - world-action-model
21
  - trajectory-planning
22
+ - diffusion-transformer
23
+ - flow-matching
24
+ - reinforcement-learning
25
  - navsim
26
  ---
27
 
28
+ <h1 align="center">SimWAM: A Simple World Action Model for End-to-End Autonomous Driving</h1>
29
+
30
+ <div align="center">
31
+ <a href="https://github.com/H-EmbodVis/SimWAM"><img src="https://img.shields.io/badge/GitHub-Repository-green?logo=github" alt="GitHub repository"></a>
32
+ <a href="https://huggingface.co/H-EmbodVis/SimWAM"><img src="https://img.shields.io/badge/Hugging%20Face-Model-yellow?logo=huggingface" alt="Hugging Face model"></a>
33
+ <a href="https://github.com/H-EmbodVis/SimWAM/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue" alt="MIT License"></a>
34
+
35
+ <h5>
36
+ <em>
37
+ Zongchuang Zhao<sup>1</sup>,
38
+ Xin Zhou<sup>1</sup>,
39
+ Tianyang Xu<sup>1</sup>,
40
+ Zhengyang Sun<sup>1</sup>,
41
+ Kaixuan Zhou<sup>2</sup>,
42
+ Honglin Li<sup>2</sup>,
43
+ Dingkang Liang<sup>1†</sup>,
44
+ Xiang Bai<sup>1</sup>
45
+ </em>
46
+ </h5>
47
+
48
+ <sup>1</sup> Huazhong University of Science and Technology<br>
49
+ <sup>2</sup> Dongfeng Research & Development Institute<br>
50
+ <sup>†</sup> Project lead
51
+ </div>
52
+
53
+ ## πŸ” Overview
54
+
55
+ **SimWAM** is a World-Action Model for end-to-end autonomous driving. It transfers video-dynamics priors to trajectory prediction by jointly training a pretrained video expert and a lightweight action diffusion transformer with flow matching.
56
+
57
+ An isolated attention mask prevents the action branch from accessing future-frame tokens. As a result, the video-generation branch is used only as a training signal and can be removed at inference time, leaving a self-contained action expert that directly predicts future driving trajectories.
58
+
59
+ This repository contains the official supervised and reinforcement-learning checkpoints for SimWAM on NAVSIM.
60
+
61
+ <details>
62
+ <summary><b>Method Summary</b></summary>
63
 
64
+ SimWAM jointly trains a pretrained video expert and an action expert through a unified attention interface. Both experts attend to the current visual observation, while future-video tokens and action tokens remain isolated from each other.
65
 
66
+ This design transfers motion and traffic-dynamics knowledge from video prediction to trajectory planning without requiring future-scene generation during deployment. The action expert can subsequently be optimized using FlowGRPO and the compositional NAVSIM PDM reward.
67
 
68
+ </details>
69
 
70
+ ### ✨ Key Ideas
71
 
72
+ - Joint flow-matching training of a pretrained video expert and a lightweight action diffusion transformer.
73
+ - Isolated attention between future-video tokens and action tokens.
74
+ - Direct trajectory prediction without future-video generation at inference time.
75
+ - Action-only reinforcement-learning fine-tuning with FlowGRPO.
76
+ - Independent scaling of the video and action experts without shared model parameters.
77
 
78
+ ## 🎯 Task, Inputs, and Outputs
79
 
80
+ SimWAM performs end-to-end ego-trajectory planning from a single front-facing camera observation and vehicle-conditioning information.
81
 
82
+ Because autonomous-driving trajectory planning does not correspond to a standard Hugging Face inference pipeline, this model repository uses `pipeline_tag: other`.
83
+
84
+ | Benchmark | Inputs | Output | Prediction horizon | Sensor configuration |
85
+ | --- | --- | --- | ---: | --- |
86
+ | NAVSIM | Front RGB image, scene-context embedding, 8-D ego state | Normalized future ego trajectory with shape `[8, 3]` | 8 steps | One front-facing camera at `384 Γ— 672` |
87
 
88
  ### Inputs
89
 
90
+ The official NAVSIM configuration uses:
91
 
92
+ - One front-facing RGB camera observation resized to `384 Γ— 672`
93
  - Precomputed text or scene-context embeddings
94
  - An 8-dimensional ego-state representation
95
+ - Model and evaluation configuration supplied by the official SimWAM codebase
96
 
97
  ### Outputs
98
 
99
+ The action expert predicts:
100
 
101
+ - An eight-step future ego trajectory
102
+ - Three trajectory values for each predicted step
103
+ - A tensor with shape `[8, 3]` for each evaluated sample
104
 
105
+ The released checkpoints predict normalized trajectory values. The official dataset statistics and NAVSIM evaluation pipeline are required to convert predictions into the benchmark action representation.
106
 
107
+ ## πŸ“¦ Released Checkpoints
108
 
109
+ | Training stage | Checkpoint | Description |
110
+ | --- | --- | --- |
111
+ | Supervised learning | `weights/SimWAM.pt` | SimWAM checkpoint trained with joint video-action flow matching |
112
+ | Reinforcement learning | `weights/SimWAM-RL.pt` | SimWAM checkpoint fine-tuned with FlowGRPO and the NAVSIM PDM reward |
113
 
114
+ The released files are custom PyTorch checkpoints. They require the official SimWAM implementation and cannot be loaded directly with `transformers.AutoModel.from_pretrained()`.
115
 
116
+ ## πŸ› οΈ Usage
117
 
118
+ You can download the complete model repository using either the Hugging Face CLI or the Python SDK.
119
+
120
+ ### Option 1: Hugging Face CLI
121
+
122
+ ```bash
123
+ pip install -U huggingface_hub
124
+
125
+ hf download H-EmbodVis/SimWAM \
126
+ --repo-type model \
127
+ --local-dir SimWAM-model
128
+ ```
129
+
130
+ ### Option 2: Python SDK
131
 
132
  ```python
133
  from huggingface_hub import snapshot_download
134
 
135
+ snapshot_download(
136
+ repo_id="H-EmbodVis/SimWAM",
137
+ repo_type="model",
138
+ local_dir="SimWAM-model",
139
  )
 
 
140
  ```
141
 
142
+ To download only the supervised checkpoint:
143
 
144
  ```python
145
  from huggingface_hub import hf_hub_download
146
 
147
  checkpoint_path = hf_hub_download(
148
  repo_id="H-EmbodVis/SimWAM",
149
+ repo_type="model",
150
  filename="weights/SimWAM.pt",
151
  )
152
 
153
  print(checkpoint_path)
154
  ```
155
 
156
+ ### Installation and Evaluation
 
 
 
 
 
 
157
 
158
  Clone and install the official implementation:
159
 
 
169
  python -m pip install -e . --no-deps
170
  ```
171
 
172
+ Place the downloaded checkpoints in the `weights/` directory.
173
+
174
+ A one-sample evaluation of the supervised checkpoint can be launched with:
175
 
176
  ```bash
177
  CKPT=./weights/SimWAM.pt \
178
  TASK=navsim_uncond_front_384x672_1e-4 \
179
  NPROC_PER_NODE=1 \
180
+ bash experiments/navsim/run_eval_navsim.sh \
181
+ EVALUATION.max_samples=1 \
182
+ EVALUATION.num_inference_steps=2 \
183
+ EVALUATION.save_videos=false
184
  ```
185
 
186
+ NAVSIM, nuPlan/OpenScene data, maps, sensor blobs, precomputed embeddings, and normalization statistics must be prepared according to the official GitHub documentation.
187
+
188
+ ## πŸ“ˆ Performance
189
+
190
+ Using one front-facing camera at `384 Γ— 672`, SimWAM reports a **91.5 PDMS** score on the NAVSIM `navtest` benchmark after reinforcement-learning fine-tuning.
191
+
192
+ | Configuration | PDMS |
193
+ | --- | ---: |
194
+ | Action-only baseline | 86.6 |
195
+ | Joint video-action training | 90.3 |
196
+ | Joint training with FlowGRPO | **91.5** |
197
+
198
+ For complete evaluation settings and comparisons, refer to the official implementation:
199
+
200
+ https://github.com/H-EmbodVis/SimWAM
201
+
202
+ ## πŸ“‚ Repository Contents
203
+
204
+ | Path | Description |
205
+ | --- | --- |
206
+ | `weights/SimWAM.pt` | Supervised SimWAM checkpoint |
207
+ | `weights/SimWAM-RL.pt` | FlowGRPO reinforcement-learning checkpoint |
208
+ | `config.json` | Minimal Hugging Face model metadata |
209
+ | `README.md` | Hugging Face model card |
210
+ | `.gitattributes` | Hugging Face/Xet large-file configuration |
211
 
212
+ Expected repository structure:
213
 
214
  ```text
215
  .
216
+ β”œβ”€β”€ .gitattributes
217
  β”œβ”€β”€ config.json
218
  β”œβ”€β”€ README.md
219
  └── weights
 
221
  └── SimWAM-RL.pt
222
  ```
223
 
224
+ ## ⚠️ Limitations and Safety
 
 
 
 
 
 
 
225
 
226
+ - The checkpoints require the official SimWAM implementation and its pinned dependencies.
227
+ - The model is designed for the NAVSIM data format and evaluation protocol.
 
 
 
 
228
  - Performance outside the training and evaluation distributions is not guaranteed.
229
+ - The model may produce unsafe or invalid trajectories under unfamiliar road, weather, traffic, or sensor conditions.
230
+ - Predictions must not be deployed directly on a physical vehicle without extensive validation, safety constraints, fallback systems, and human oversight.
231
+ - NAVSIM, nuPlan, OpenScene, Wan2.2, and other upstream resources retain their respective licenses and distribution terms.
232
 
233
+ ## πŸ”— Links
234
 
235
+ - **Hugging Face:** https://huggingface.co/H-EmbodVis/SimWAM
236
+ - **GitHub:** https://github.com/H-EmbodVis/SimWAM
237
+ - **NAVSIM:** https://github.com/autonomousvision/navsim
238
+ - **Wan2.2:** https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B
239
 
240
+ ## βš–οΈ License
241
 
242
+ The SimWAM source repository is released under the MIT License.
243
 
244
+ Third-party code, datasets, pretrained models, and other upstream assets remain subject to their respective licenses and usage terms.
245
 
246
+ ## πŸ“– Citation
247
+
248
+ If you find SimWAM useful in your research, please consider citing:
249
 
250
  ```bibtex
251
  @article{zhao2026simwam,
252
+ title = {SimWAM: A Simple World Action Model for End-to-End Autonomous Driving},
253
  author = {Zhao, Zongchuang and Zhou, Xin and Xu, Tianyang and
254
  Sun, Zhengyang and Zhou, Kaixuan and Li, Honglin and
255
  Liang, Dingkang and Bai, Xiang},
 
257
  year = {2026}
258
  }
259
  ```
260
+ ````