KangLiao commited on
Commit
96cbd35
·
verified ·
1 Parent(s): 5a1bca4

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +149 -65
README.md CHANGED
@@ -8,118 +8,202 @@ tags:
8
  - spatial intelligence
9
  - 3D vision
10
  - depth estimation
 
 
11
  pipeline_tag: image-to-3d
12
  license: other
13
  ---
14
 
15
- # **Puffin-World: Scaling a Unified Multimodal Model with Native 3D World States**
 
 
16
 
17
- ## Abstract
18
 
19
- We introduce **Puffin-World**, a unified multimodal world model that represents the physical environment through three complementary **native 3D world states** — **physics** (gravity-aware camera understanding and physically consistent trajectory propagation), **geometry** (dense spatial structure for view synthesis and 3D reconstruction), and **appearance** (high-fidelity, spatially coherent visual content). A single integrated framework of vision encoder, LLM, and diffusion model — without task-specific external modules — supports physical-world perception, free-viewpoint spatial simulation, 3D world modeling, and closed-loop interaction. At its core is camera-centric **multi-view world modeling**: given one initial view and a camera trajectory, generate the remaining views jointly in RGB and depth, with 3D point-cloud reconstruction. Puffin-World is trained on **Puffin-16M**, 15M vision-language-camera triplets and 1M diverse camera trajectories curated from 28 public datasets. Built on [Puffin](https://github.com/KangLiao929/Puffin) (*Thinking with Camera*, ICLR 2026).
 
 
 
 
 
 
 
20
 
21
- ## Links
 
 
22
 
23
- * **Project Page**: [https://kangliao929.github.io/projects/puffin-world/](https://kangliao929.github.io/projects/puffin-world/)
24
- * **GitHub Repository**: [https://github.com/KangLiao929/Puffin](https://github.com/KangLiao929/Puffin)
25
- * **Hugging Face Dataset**: [https://huggingface.co/datasets/KangLiao/Puffin-16M](https://huggingface.co/datasets/KangLiao/Puffin-16M)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
26
 
27
  ## Model Details
28
 
29
- | | |
30
  |---|---|
31
- | **Developed by** | Kang Liao, Yihang Luo, Xiao-Ming Wu, Linyi Jin, Size Wu, Chunyu Lin, Yao Zhao, Fei Wang, Wei Li, Chen Change Loy |
32
- | **Affiliation** | S-Lab, Nanyang Technological University |
33
- | **First released** | Preprint, 2026 |
34
- | **Model type** | Unified multimodal world model (autoregressive understanding + diffusion-based multi-view RGB-D generation with native 3D world states) |
35
- | **Modality** | Image → Text+Camera; Text+Camera → Image; Image+Trajectory → Multi-view RGB-D + 3D point cloud |
36
 
37
  ## Model Zoo
38
 
39
- | Checkpoint | LLM | Vision Encoder | Diffusion | Composition |
40
  |---|---|---|---|---|
41
- | `Puffin-World-Base.pth` | Qwen2.5-7B | C-RADIOv3-H | SD3.5-medium | Full und+gen world model (Stage-II understanding backbone + Stage-IV asymmetric-attention RGB-D generation) |
42
- | `Puffin-World-Pro.pth` | Qwen2.5-1.5B | C-RADIOv4-H | SD3.5-large | Full und+gen world model (Stage-II understanding backbone + Stage-IV asymmetric-attention RGB-D generation) |
43
- | `Puffin-World-Caption.pth` | Qwen3.5-0.8B | C-RADIOv3-H | — | Understanding-only VLM expert (camera-aware captioning) |
44
 
45
- The matching pipeline configs in the GitHub repository:
46
 
47
- | Checkpoint | Config |
48
  |---|---|
49
  | `Puffin-World-Base.pth` | `configs/pipelines/final_stage_4_world_all_asym_attn_qwen2_5_7b_radiov3H_sd3p5M.py` |
50
  | `Puffin-World-Pro.pth` | `configs/pipelines/final_stage_4_world_all_asym_attn_qwen2_5_1_5b_radiov4H_sd3p5L.py` |
51
  | `Puffin-World-Caption.pth` | `configs/pipelines/vlm_qwen3_5_0_8b_radiov3H_stage_2.py` |
52
 
53
- ### Direct Use
 
 
 
 
 
 
 
 
54
 
55
- - **Multi-view world modeling**: given one initial view and a camera trajectory, generate the remaining views jointly in RGB and depth, and reconstruct a gauge-aligned 3D point cloud.
56
- - **Physical-world perception**: gravity-aware single-image camera estimation (roll, pitch, vFoV, distortion) with perspective-field visualization.
57
- - **Free-viewpoint spatial simulation**: camera-controlled single-view generation and free-view world exploration (I2T → T2I → chunked multi-view I2I).
58
- - **Closed-loop interaction**: self-calibration — the model estimates its own camera anomaly and generates the corrective action sequence.
59
 
60
- ## Sample Usage
 
 
 
 
 
 
 
 
 
 
 
61
 
62
- Download the checkpoints and organize them in a `checkpoints` directory of the Puffin-World code base:
63
 
64
- ```text
65
- Puffin/Puffin-World/
66
- ├── checkpoints
67
- ├── Puffin-World-Base.pth
68
- ├── Puffin-World-Pro.pth
69
- ├── Puffin-World-Caption.pth
70
  ```
71
 
 
 
72
  ```bash
73
- # pip install -U "huggingface_hub[cli]"
74
- huggingface-cli download KangLiao/Puffin-World --local-dir checkpoints --repo-type model
75
  ```
76
 
77
- **Multi-view world modeling** (initial view + trajectory → RGB-D views + `reconstruction.glb`):
 
 
78
 
79
- ```shell
80
  export PYTHONPATH=./:$PYTHONPATH
81
  python scripts/demo/world_modeling.py \
82
- --model Puffin-World \
83
- --checkpoint checkpoints/Puffin-World-Pro.pth \
84
- --dataset re10k --sample_index 0 --output output/demo_world
 
 
85
  ```
86
 
87
- **Physical-world perception** (single-image camera estimation + perspective fields):
88
 
89
- ```shell
90
  python scripts/demo/physics_perception.py demo.jpg \
91
- --model Puffin-World-Pro \
92
- --checkpoint checkpoints/Puffin-World-Pro.pth \
93
- --output output/demo_camera
94
  ```
95
 
96
- **Camera-controlled spatial simulation**:
97
 
98
- ```shell
99
  python scripts/demo/spatial_simulation.py \
100
- "A cozy living room with wooden furniture and warm sunlight." \
101
- --model Puffin-World-Pro \
102
- --checkpoint checkpoints/Puffin-World-Pro.pth \
103
- --camera "0.05, -0.12, 1.2" --num 4 --vis_pf
 
 
104
  ```
105
 
106
- **Free-view world exploration** and **self-calibration** (closed-loop):
107
 
108
- ```shell
109
  python scripts/demo/freeview_world_exp.py \
110
- --checkpoint checkpoints/Puffin-World-Pro.pth \
111
- --input <image> --scene_dir <re10k-style scene dir> --chunk 3
 
 
112
 
113
  python scripts/demo/self_calibration.py <image> \
114
- --checkpoint checkpoints/Puffin-World-Pro.pth \
115
- --output output/demo_self_calib
116
  ```
117
 
118
- For the 7B model, pass `--model Puffin-World-7B` (world modeling) or `--model Puffin-World-Base` (perception/simulation) with `--checkpoint checkpoints/Puffin-World-Base.pth`. Full evaluation entry points, flags and output layout: `documents/EVALUATION_World.md` in the GitHub repository.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
119
 
120
- ### Citation
121
 
122
- If you find Puffin-World useful for your research or applications, please cite our papers using the following BibTeX:
123
 
124
  ```bibtex
125
  @article{liao2026puffinworld,
@@ -130,13 +214,13 @@ If you find Puffin-World useful for your research or applications, please cite o
130
  }
131
 
132
  @article{liao2025puffin,
133
- title={Thinking with Camera: A Unified Multimodal Model for Camera-Centric Understanding and Generation},
134
- author={Liao, Kang and Wu, Size and Wu, Zhonghua and Jin, Linyi and Wang, Chao and Wang, Yikai and Wang, Fei and Li, Wei and Loy, Chen Change},
135
- journal={arXiv preprint arXiv:2510.08673},
136
- year={2025}
137
  }
138
  ```
139
 
140
- ### License
141
 
142
- This project is licensed under [NTU S-Lab License 1.0](https://github.com/KangLiao929/Puffin/blob/main/LICENSE).
 
8
  - spatial intelligence
9
  - 3D vision
10
  - depth estimation
11
+ - multi-view generation
12
+ - camera calibration
13
  pipeline_tag: image-to-3d
14
  license: other
15
  ---
16
 
17
+ <p align="center">
18
+ <img src="https://raw.githubusercontent.com/KangLiao929/Puffin/main/Puffin-World/assets/Puffin-World-logo_transparent.png" width="240" alt="Puffin-World logo">
19
+ </p>
20
 
21
+ <h1 align="center">Puffin-World: Scaling a Unified Multimodal Model with Native 3D World States</h1>
22
 
23
+ <p align="center">
24
+ <a href="https://kangliao929.github.io/projects/puffin-world/">Project Page</a> ·
25
+ <a href="https://huggingface.co/blog/KangLiao/puffin-world">HF Article</a> ·
26
+ <a href="https://github.com/KangLiao929/Puffin">Code</a> ·
27
+ <a href="https://kangliao929.github.io/projects/puffin-16m/">Puffin-16M</a> ·
28
+ <a href="https://huggingface.co/collections/KangLiao/puffin-world">HF Collection</a> ·
29
+ <a href="https://kangliao929.github.io/projects/puffin-world/supplementary.html">Supplementary Results</a>
30
+ </p>
31
 
32
+ <p align="center">
33
+ <img src="https://kangliao929.github.io/projects/puffin-world/assets/figure1-overview.webp" width="100%" alt="Overview of Puffin-World">
34
+ </p>
35
 
36
+ ## Overview
37
+
38
+ Puffin-World is a unified multimodal world model that perceives, simulates, generates, and reconstructs the 3D world within one framework. Instead of representing a world only as a sequence of RGB frames, it explicitly models three complementary native 3D world states:
39
+
40
+ - Physics: gravity fields and latitude maps that anchor observations and generated trajectories to the real world.
41
+ - Geometry: dense depth that exposes the underlying 3D structure and supports direct reconstruction.
42
+ - Appearance: high-fidelity images and sequences that remain spatially coherent as the camera moves.
43
+
44
+ A single integrated framework of a geometry-aligned vision encoder, an LLM, a diffusion model, and a lightweight connector supports physical-world perception, free-viewpoint spatial simulation, 3D world modeling, and closed-loop interaction without task-specific external perception or reconstruction modules.
45
+
46
+ At its core is camera-centric multi-view world modeling: given one initial view and a camera trajectory, Puffin-World jointly generates the remaining RGB and depth views and consolidates them into a gauge-aligned 3D point-cloud reconstruction.
47
+
48
+ ## Highlights
49
+
50
+ - Native 3D world states: physics, geometry, and appearance are modeled together rather than leaving physical orientation and scene structure implicit.
51
+ - Omni-Camera: a 9-channel dense camera condition combines a gravity-aware absolute perspective field with ray-based relative geometry, supporting camera-to-world grounding, rotation, translation, and compound motion.
52
+ - Physics propagation: the gravity direction perceived from the reference view is propagated through the target camera trajectory to keep generated views in one coherent physical frame.
53
+ - Unified understanding and generation: autoregressive camera understanding and diffusion-based generation share the same multimodal framework.
54
+ - Scaled world modeling: Puffin-World is trained with Puffin-16M, comprising 15M vision-language-camera triplets and 1M diverse camera trajectories curated from 28 public datasets.
55
+
56
+ ## Results at a Glance
57
+
58
+ | Capability | Result |
59
+ |---|---|
60
+ | Camera-to-world understanding | Best median errors in 12/12 comparisons and best AUC in 33/36 metrics, including ties, across Stanford2D3D, MegaDepth, TartanAir, and LaMAR |
61
+ | Physical-world perception | 0.26° lowest roll error on LaMAR and 1.62° lowest vFoV error on Stanford2D3D |
62
+ | Camera-controllable generation | 0.84° up-vector, 1.26° latitude, and 0.79° gravity median errors, with the lowest FID on Puffin-Cam-Bench |
63
+ | 3D world modeling | Rank 1 in both PSNR (17.22) and LPIPS (0.318) on RealEstate10K |
64
+ | Challenging trajectories | Lowest median roll and pitch errors on Puffin-Traj-Bench: 0.80° and 1.10° |
65
+
66
+ See the [project page](https://kangliao929.github.io/projects/puffin-world/) and [supplementary results](https://kangliao929.github.io/projects/puffin-world/supplementary.html) for complete quantitative and qualitative evaluations.
67
 
68
  ## Model Details
69
 
70
+ | Field | Description |
71
  |---|---|
72
+ | Developed by | Kang Liao, Yihang Luo, Xiao-Ming Wu, Linyi Jin, Size Wu, Chunyu Lin, Yao Zhao, Fei Wang, Wei Li, Chen Change Loy |
73
+ | Affiliations | S-Lab, Nanyang Technological University; University of Michigan; Beijing Jiaotong University; ACE Robotics |
74
+ | First released | Preprint, 2026 |
75
+ | Model type | Unified multimodal world model with autoregressive understanding and diffusion-based multi-view RGB-D generation |
76
+ | Modalities | Image → Text + Camera; Text + Camera → Image; Image + Trajectory → Multi-view RGB-D + 3D point cloud |
77
 
78
  ## Model Zoo
79
 
80
+ | Checkpoint | LLM | Vision Encoder | Diffusion | Purpose |
81
  |---|---|---|---|---|
82
+ | `Puffin-World-Base.pth` | Qwen2.5-7B | C-RADIOv3-H | SD3.5-medium | Comprehensive understanding and RGB-D world modeling |
83
+ | `Puffin-World-Pro.pth` | Qwen2.5-1.5B | C-RADIOv4-H | SD3.5-large | High-quality generation and RGB-D world modeling |
84
+ | `Puffin-World-Caption.pth` | Qwen3.5-0.8B | C-RADIOv3-H | — | Understanding-only camera-aware captioning expert |
85
 
86
+ Matching pipeline configurations:
87
 
88
+ | Checkpoint | Configuration |
89
  |---|---|
90
  | `Puffin-World-Base.pth` | `configs/pipelines/final_stage_4_world_all_asym_attn_qwen2_5_7b_radiov3H_sd3p5M.py` |
91
  | `Puffin-World-Pro.pth` | `configs/pipelines/final_stage_4_world_all_asym_attn_qwen2_5_1_5b_radiov4H_sd3p5L.py` |
92
  | `Puffin-World-Caption.pth` | `configs/pipelines/vlm_qwen3_5_0_8b_radiov3H_stage_2.py` |
93
 
94
+ ## Intended Use
95
+
96
+ - Camera-to-world understanding from a single image, including roll, pitch, vertical field-of-view, distortion, and dense perspective fields.
97
+ - Camera-controllable text-to-image generation across explicit camera intrinsics and orientations.
98
+ - Image-conditioned or text-conditioned 3D world generation along long, extreme, or compound camera trajectories.
99
+ - Joint multi-view RGB-D generation and direct 3D point-cloud reconstruction.
100
+ - Closed-loop mimic world exploration and self-calibrated world exploration.
101
+
102
+ ## Installation
103
 
104
+ The reference implementation uses Python 3.10, PyTorch 2.7.0, and CUDA 12.6.
 
 
 
105
 
106
+ ```bash
107
+ git clone https://github.com/KangLiao929/Puffin
108
+ cd Puffin/Puffin-World
109
+
110
+ conda create -n puffin-world python=3.10 -y
111
+ conda activate puffin-world
112
+
113
+ pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 \
114
+ --index-url https://download.pytorch.org/whl/cu126
115
+ pip install -r requirements.txt
116
+ pip install flash-attn==2.8.3 --no-build-isolation
117
+ ```
118
 
119
+ Sanity check:
120
 
121
+ ```bash
122
+ export PYTHONPATH=./:$PYTHONPATH
123
+ python -c "import torch, transformers, deepspeed, xtuner, flash_attn, trimesh; print('ok')"
 
 
 
124
  ```
125
 
126
+ Download all released checkpoints:
127
+
128
  ```bash
129
+ pip install -U huggingface_hub
130
+ hf download KangLiao/Puffin-World --local-dir checkpoints
131
  ```
132
 
133
+ ## Quick Start
134
+
135
+ Multi-view world modeling from an initial view and camera trajectory:
136
 
137
+ ```bash
138
  export PYTHONPATH=./:$PYTHONPATH
139
  python scripts/demo/world_modeling.py \
140
+ --model Puffin-World \
141
+ --checkpoint checkpoints/Puffin-World-Pro.pth \
142
+ --dataset re10k \
143
+ --sample_index 0 \
144
+ --output output/demo_world
145
  ```
146
 
147
+ Physical-world perception from a single image:
148
 
149
+ ```bash
150
  python scripts/demo/physics_perception.py demo.jpg \
151
+ --model Puffin-World-Pro \
152
+ --checkpoint checkpoints/Puffin-World-Pro.pth \
153
+ --output output/demo_camera
154
  ```
155
 
156
+ Camera-controlled spatial simulation:
157
 
158
+ ```bash
159
  python scripts/demo/spatial_simulation.py \
160
+ "A cozy living room with wooden furniture and warm sunlight." \
161
+ --model Puffin-World-Pro \
162
+ --checkpoint checkpoints/Puffin-World-Pro.pth \
163
+ --camera "0.05, -0.12, 1.2" \
164
+ --num 4 \
165
+ --vis_pf
166
  ```
167
 
168
+ Free-view world exploration and self-calibration:
169
 
170
+ ```bash
171
  python scripts/demo/freeview_world_exp.py \
172
+ --checkpoint checkpoints/Puffin-World-Pro.pth \
173
+ --input <image> \
174
+ --scene_dir <re10k-style-scene-dir> \
175
+ --chunk 3
176
 
177
  python scripts/demo/self_calibration.py <image> \
178
+ --checkpoint checkpoints/Puffin-World-Pro.pth \
179
+ --output output/demo_self_calib
180
  ```
181
 
182
+ For the 7B model, use `--model Puffin-World-7B` for world modeling or `--model Puffin-World-Base` for perception and simulation.
183
+
184
+ Detailed instructions:
185
+
186
+ - [Training](https://github.com/KangLiao929/Puffin/blob/main/Puffin-World/documents/TRAINING.md)
187
+ - [World-model evaluation and reconstruction](https://github.com/KangLiao929/Puffin/blob/main/Puffin-World/documents/EVALUATION_World.md)
188
+ - [Camera-centric understanding and generation evaluation](https://github.com/KangLiao929/Puffin/blob/main/Puffin-World/documents/EVALUATION.md)
189
+ - [Dataset construction and annotation](https://github.com/KangLiao929/Puffin/blob/main/Puffin-World/documents/DATASET_PIPELINE.md)
190
+
191
+ ## Training Data
192
+
193
+ [Puffin-16M](https://kangliao929.github.io/projects/puffin-16m/) contains:
194
+
195
+ - Puffin-Cam-15M: 15 million vision-language-camera triplets rendered from approximately 900,000 source panoramas across seven aspect ratios, diverse camera orientations, and vertical fields of view.
196
+ - Puffin-Traj-1M: one million continuous trajectories covering look-up/look-down motion, clockwise and counterclockwise rotation, full 360° exploration, and compound motion.
197
+
198
+ The downloadable dataset and held-out Puffin-Cam-15M-Bench and Puffin-Traj-1M-Bench splits are available in the [Puffin-16M repository](https://huggingface.co/datasets/KangLiao/Puffin-16M).
199
+
200
+ ## Limitations
201
+
202
+ Puffin-World currently focuses on static scenes and models physics primarily through gravity and latitude. Dynamic environments, longer temporal horizons, richer object interactions, and broader physical states remain important directions for future work. Generated content may also inherit biases or failure modes from its training data and underlying pretrained components.
203
 
204
+ ## Citation
205
 
206
+ If Puffin-World, Puffin-16M, or the Puffin model series supports your research, please consider citing our work:
207
 
208
  ```bibtex
209
  @article{liao2026puffinworld,
 
214
  }
215
 
216
  @article{liao2025puffin,
217
+ title = {Thinking with Camera: A Unified Multimodal Model for Camera-Centric Understanding and Generation},
218
+ author = {Liao, Kang and Wu, Size and Wu, Zhonghua and Jin, Linyi and Wang, Chao and Wang, Yikai and Wang, Fei and Li, Wei and Loy, Chen Change},
219
+ journal = {arXiv preprint arXiv:2510.08673},
220
+ year = {2025}
221
  }
222
  ```
223
 
224
+ ## License
225
 
226
+ This project is released under the [NTU S-Lab License 1.0](https://github.com/KangLiao929/Puffin/blob/main/LICENSE).