luuuulinnnn commited on
Commit
b4a0ddd
·
verified ·
1 Parent(s): c294581

Upload README.md with huggingface_hub

Browse files
Files changed (1) hide show
  1. README.md +52 -0
README.md ADDED
@@ -0,0 +1,52 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # EVS — Extrapolative Visual Sensing with Geometry-Aware Sensor Tokens
2
+
3
+ A generative **video diffusion** model for **posed scene extrapolation**: given a short observed video
4
+ and a target camera trajectory, generate the video along that trajectory — extrapolating into unobserved
5
+ regions while staying **consistent on revisit** (when the camera returns to previously-seen content).
6
+
7
+ Built on **Wan2.1-VACE-14B**, trained with **Diffusion Forcing**, and conditioned via **Plücker camera
8
+ control** + a **geometry-aware "sensor token"** design.
9
+
10
+ ## Method
11
+
12
+ **Diffusion Forcing (in-context memory).** Independent per-frame noise levels; the observed frames sit in
13
+ the same latent sequence at noise ≈ 0 (clean) while target frames are denoised. Memory is *in-context* — the
14
+ model's self-attention reads the clean observed frames; no separate memory module.
15
+
16
+ **Sensor token (the contribution).** Each token carries, beyond its content latent:
17
+ 1. **Ray position embedding** — the token's world-frame Plücker ray, added to self-attention Q/K, so tokens
18
+ that view the same content (e.g. a revisited camera pose) retrieve each other *by geometry*.
19
+ 2. **Evidence weight** — a depth-free **depth-hypothesis co-visibility** count (how many frames observe the
20
+ token's content), injected as an attention key-boost + a content channel (and a knownness prior).
21
+
22
+ **Camera control.** PermaVid-style Plücker `SimpleAdapter`, additive at the patch embedding (not via the
23
+ VACE control branch). Per-frame timesteps require no architecture surgery (Wan `DiTBlock` already accepts
24
+ per-token modulation). All new modules are zero-init, so an untrained model equals the base Wan T2V model.
25
+
26
+ ## Data
27
+
28
+ **RealEstate10K** (static real-estate walkthroughs, smooth cinematic camera). Clips are built as smooth
29
+ **out-and-back** trajectories over consecutive frames (forward then retrace) for a genuine revisit with real
30
+ GT, plus a **forward-split** eval mode (observe a prefix, extrapolate the forward continuation into unseen).
31
+ Geometry (ray codes + evidence) is a pure function of the poses and is precomputed/cached.
32
+
33
+ ## Repo layout
34
+
35
+ ```
36
+ code/
37
+ evs_model.py sensor-token model (ray-PE + evidence + camera + Diffusion Forcing)
38
+ cache_re10k.py RealEstate10K -> cached clips (latents + poses + ray + evidence)
39
+ cache_smooth.py DL3DV smooth out-and-back builder (earlier data source)
40
+ train_df.py FSDP trainer (per-frame DF noise, target-masked flow-matching, resume + safe save)
41
+ infer_df.py Diffusion-Forcing sampling (clean context + generated target)
42
+ make_*_viz.py qualitative viz (revisit / data / forward-split comparisons)
43
+ make_eval_metrics.py forward-split extrapolation metrics (PSNR/SSIM on generated frames)
44
+ *.sbatch, evs_fsdp*.yaml SLURM + accelerate-FSDP launch configs
45
+ docs/
46
+ DESIGN.md, BUILD_LOG.md design rationale + running build log
47
+ ```
48
+
49
+ ## Status
50
+
51
+ Work in progress. Model + pipeline implemented and verified; training on RealEstate10K. Checkpoints and
52
+ qualitative samples: see the companion HuggingFace repo.