Xuweiyi commited on
Commit
fa3f943
·
verified ·
1 Parent(s): 050e114

Add model card

Browse files
Files changed (1) hide show
  1. README.md +184 -0
README.md ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-nc-4.0
3
+ tags:
4
+ - novel-view-synthesis
5
+ - nvs
6
+ - dynamic-scene
7
+ - self-supervised
8
+ - 3d
9
+ - computer-vision
10
+ - cvpr
11
+ - cvpr2026
12
+ datasets:
13
+ - uva-cv-lab/Dynamic-RE10K
14
+ library_name: pytorch
15
+ pipeline_tag: image-to-image
16
+ ---
17
+
18
+ # WildRayZer — 2-input-view checkpoint
19
+
20
+ This repository hosts the **2-input / 6-target-view** checkpoint of
21
+ **WildRayZer: Self-supervised Large View Synthesis in Dynamic Environments**
22
+ (CVPR 2026, Highlight).
23
+
24
+ <p align="center">
25
+ <a href="https://arxiv.org/abs/2601.10716">Paper</a> ·
26
+ <a href="https://wild-rayzer.cs.virginia.edu/">Project page</a> ·
27
+ <a href="https://huggingface.co/datasets/uva-cv-lab/Dynamic-RE10K">Dataset</a> ·
28
+ <a href="https://github.com/uva-cv-lab/wildrayzer">Code</a>
29
+ </p>
30
+
31
+ ## Model summary
32
+
33
+ WildRayZer is a self-supervised feed-forward framework for novel view synthesis
34
+ (NVS) in **dynamic in-the-wild videos** where both the camera and scene objects
35
+ move. It extends the static NVS model [RayZer](https://hwjiang1510.github.io/RayZer/)
36
+ to dynamic environments by adding:
37
+
38
+ 1. a **learned motion mask estimator** that flags dynamic regions per input
39
+ view, trained by distilling pseudo-masks from the residual between a static
40
+ renderer and the observed frames (DINOv3 + SSIM + co-segmentation + GrabCut);
41
+ 2. a **masked 3D scene encoder** that replaces dynamic image tokens with a
42
+ learnable noise embedding before scene aggregation (MAE-style token masking).
43
+
44
+ All supervision is **self-supervised** — no ground-truth depth, camera poses,
45
+ or motion masks are used. Given a set of unposed, uncalibrated dynamic images,
46
+ the model predicts camera parameters and motion masks and renders novel static
47
+ views in a single feed-forward pass.
48
+
49
+ ## This checkpoint
50
+
51
+ | Property | Value |
52
+ |---|---|
53
+ | File | `wildrayzer_2view.pt` (3.9 GB, fp32 state_dict) |
54
+ | Input resolution | 256 × 256 |
55
+ | Input / target views | 2 input → 6 target |
56
+ | Base dataset | Dynamic-RE10K (train split) + RealEstate10K (static mix-in) |
57
+ | Backbone | RayZer (28 transformer layers) + DINOv3 ViT-7B features |
58
+ | Framework | PyTorch ≥ 2.1, xFormers, transformers |
59
+
60
+ > The K=2 configuration matches the sparse-view setting used in the paper's
61
+ > main D-RE10K and D-RE10K-iPhone benchmarks. 3- and 4-input-view variants can
62
+ > be reproduced by retraining with the same pipeline — see
63
+ > [training details](#training).
64
+
65
+ ## How to use
66
+
67
+ Download the checkpoint and run the reference demo:
68
+
69
+ ```python
70
+ from huggingface_hub import hf_hub_download
71
+
72
+ ckpt_path = hf_hub_download(
73
+ repo_id="uva-cv-lab/wildrayzer-2view",
74
+ filename="wildrayzer_2view.pt",
75
+ )
76
+ # Pass ckpt_path to the WildRayZerDemo class or to inference.py
77
+ # via --config configs/wildrayzer_inference.yaml.
78
+ ```
79
+
80
+ The full inference pipeline, Gradio demo, and training code live in the
81
+ [companion repo](https://github.com/uva-cv-lab/wildrayzer). A ready-to-deploy
82
+ Space layout is provided under `demo/` in that repo.
83
+
84
+ Hardware requirements: CUDA GPU with **≥ 40 GB VRAM** (the motion-mask
85
+ predictor fuses DINOv3 ViT-7B patch features with image/Plücker tokens at
86
+ inference time — this 7B backbone is a hard dependency, not optional).
87
+
88
+ ## Training
89
+
90
+ Training proceeds in three stages over ~8× H100-days on 256×256 clips:
91
+
92
+ 1. **Stage 1 — RayZer pretraining.** Train the static backbone on
93
+ RealEstate10K with 2 input / 6 target views.
94
+ 2. **Stage 2 — Motion mask training.** Freeze the renderer; train the motion
95
+ mask predictor to match DINOv3+SSIM pseudo-labels derived from the frozen
96
+ renderer's residuals. A PSNR filter (threshold 17 dB) drops noisy samples.
97
+ 3. **Stage 3 — Joint masked reconstruction + copy-paste augmentation.** Unfreeze
98
+ the renderer; train jointly with MAE-style token masking and COCO
99
+ copy-paste augmentation that injects synthetic transients into static clips.
100
+
101
+ See `configs/wildrayzer_stage{1,2,3}_*.yaml` in the companion repo for exact
102
+ hyperparameters.
103
+
104
+ ## Evaluation
105
+
106
+ Numbers are from Table 2/3/4 of the paper (CVPR 2026).
107
+
108
+ **D-RE10K (static-region NVS, K=2 input views):**
109
+
110
+ | | PSNR ↑ | SSIM ↑ | LPIPS ↓ |
111
+ |--- |--- |--- |--- |
112
+ | NeRF On-the-go | 15.90 | 0.518 | 0.582 |
113
+ | 3DGS | 13.49 | 0.442 | 0.605 |
114
+ | WildGaussians | 16.12 | 0.512 | 0.624 |
115
+ | RayZer + SAV | 19.01 | 0.628 | 0.397 |
116
+ | **WildRayZer** | **21.78** | **0.734** | **0.308** |
117
+
118
+ **D-RE10K-iPhone (full-image NVS, K=2 input views):**
119
+
120
+ | | PSNR ↑ | SSIM ↑ | LPIPS ↓ |
121
+ |--- |--- |--- |--- |
122
+ | WildGaussians | 18.43 | 0.514 | 0.643 |
123
+ | RayZer + SAV | 18.52 | 0.516 | 0.502 |
124
+ | **WildRayZer** | **20.89** | **0.611** | **0.364** |
125
+
126
+ **Motion-mask quality (D-RE10K, self-supervised row):**
127
+
128
+ | | mIoU (K=2) | Recall (K=2) |
129
+ |--- |--- |--- |
130
+ | Co-segmentation | 53.9 | 85.1 |
131
+ | **WildRayZer** | **53.9** | **85.1** |
132
+
133
+ (WildRayZer also reports 52.1 / 54.2 mIoU for K=3 / K=8 — see paper.)
134
+
135
+ ## Intended use & limitations
136
+
137
+ **Intended use.**
138
+ - Research on self-supervised novel-view synthesis in dynamic, in-the-wild video.
139
+ - Transient-aware sparse-view rendering on casually captured indoor clips.
140
+ - Motion-mask prediction for dynamic regions in static-camera or handheld footage.
141
+
142
+ **Out of scope.**
143
+ - Per-frame segmentation: the predicted masks flag regions that break multi-view
144
+ consistency, not exhaustive instance boundaries — motion-mask may miss static
145
+ parts of moving objects (e.g. a stationary limb of a moving person).
146
+ - Heavily dynamic scenes where transient objects cover a large fraction of all
147
+ input views: reconstruction degrades because no view sees the occluded
148
+ background.
149
+ - Non-indoor domains: the checkpoint is trained on RealEstate10K-derived
150
+ indoor data; outdoor generalization is partial (see DAVIS examples in the
151
+ paper's supplementary).
152
+
153
+ **Known caveats.**
154
+ - Sensitive to the number of input views due to image-index positional
155
+ embeddings. This checkpoint is intended for K=2 input + T=6 target views.
156
+ - Requires ~40 GB VRAM at inference (DINOv3-7B backbone).
157
+ - The checkpoint was saved before the learnable `noise_token` was registered
158
+ in the state dict; on load you'll see a harmless *Missing keys: ['noise_token']*
159
+ warning. It's random-initialised (truncated normal, std 0.02) each launch.
160
+
161
+ ## Citation
162
+
163
+ ```bibtex
164
+ @inproceedings{chen2026wildrayzer,
165
+ title = {WildRayZer: Self-supervised Large View Synthesis in Dynamic Environments},
166
+ author = {Chen, Xuweiyi and Zhou, Wentao and Cheng, Zezhou},
167
+ booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
168
+ note = {Highlight},
169
+ year = {2026},
170
+ }
171
+ ```
172
+
173
+ ## License
174
+
175
+ Released under **CC BY-NC 4.0** — free for research and non-commercial use,
176
+ attribution required. For commercial licensing, contact the authors.
177
+
178
+ ## Acknowledgements
179
+
180
+ This work was supported by the Adobe Research Gift, the University of Virginia
181
+ Research Computing and Data Analytics Center, the AMD AI & HPC Cluster Program,
182
+ the ACCESS program, and the NAIRR Pilot. Computation was run on the Anvil
183
+ supercomputer (NSF OAC-2005632) at Purdue and on Delta / DeltaAI (NSF
184
+ OAC-2005572).