initialneil commited on
Commit
e840ad2
·
verified ·
1 Parent(s): 5c3e7af

Add model card

Browse files
Files changed (1) hide show
  1. README.md +128 -0
README.md ADDED
@@ -0,0 +1,128 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ pretty_name: DEGAS Pretrained Avatars
3
+ license: cc-by-nc-sa-4.0
4
+ language:
5
+ - en
6
+ tags:
7
+ - 3d
8
+ - avatar
9
+ - gaussian-splatting
10
+ - smplx
11
+ - degas
12
+ library_name: pytorch
13
+ ---
14
+
15
+ # DEGAS: pretrained full-body Gaussian avatars
16
+
17
+ Trained avatars for [**DEGAS: Detailed Expressions on Full-Body Gaussian
18
+ Avatars**](https://initialneil.github.io/DEGAS) (3DV 2025), built on the
19
+ [DREAMS-AVATAR](https://huggingface.co/datasets/initialneil/DREAMS-AVATAR) captures.
20
+
21
+ - **Code:** [github.com/initialneil/DEGAS](https://github.com/initialneil/DEGAS)
22
+ - **Dataset:** [initialneil/DREAMS-AVATAR](https://huggingface.co/datasets/initialneil/DREAMS-AVATAR)
23
+ - **Paper:** [arXiv:2408.10588](https://arxiv.org/abs/2408.10588)
24
+ - **Registration:** [Holistic-Multiview-Tracker](https://github.com/initialneil/Holistic-Multiview-Tracker)
25
+
26
+ ## Available avatars
27
+
28
+ | Avatar | Trained on | Iterations | Face driven by |
29
+ |---|---|---|---|
30
+ | `P1_smplx` | P1C1 | 800k | the fitted SMPL-X expression + jaw |
31
+ | `P1_dpe` | P1C1 | 800k | a per-frame 512-d DPE code, mesh face neutralised |
32
+ | `P2_smplx` | P2C1 | 800k | SMPL-X expression + jaw *(training, uploads when it finishes)* |
33
+ | `P3_smplx` | P3C1 | 800k | SMPL-X expression + jaw *(training, uploads when it finishes)* |
34
+ | `P4_smplx` | P4C1 | 800k | SMPL-X expression + jaw *(training, uploads when it finishes)* |
35
+
36
+ `P1_smplx` and `P1_dpe` are the same subject, the same data, the same architecture and the
37
+ same schedule. They differ **only** in how the face is animated, so they are a clean
38
+ side-by-side of the two options the code supports.
39
+
40
+ Each capture's `C1` session is the training session and `C2` is held out, so evaluating an
41
+ avatar on `PxC2` is a genuine cross-session drive.
42
+
43
+ ## Layout
44
+
45
+ Each avatar is stored exactly as `degas_eval.py --model_path` expects:
46
+
47
+ ```
48
+ avatars/<NAME>/
49
+ config.yaml the run's own config, paths made portable
50
+ avatar.json provenance: subject, capture, face path
51
+ point_cloud/iteration_800000/checkpoint.pt the model (~1.3 GB)
52
+ point_cloud/iteration_800000/point_cloud.ply the Gaussians
53
+ point_cloud/iteration_800000/smplx_refined.pt the refined SMPL-X parameters
54
+ ```
55
+
56
+ ## Usage
57
+
58
+ ```bash
59
+ git clone --recursive https://github.com/initialneil/DEGAS && cd DEGAS
60
+ # install per the repo's Setup section, and place SMPLX_NEUTRAL.npz under model/data/
61
+
62
+ pip install -U "huggingface_hub[cli]"
63
+ hf download initialneil/DEGAS --include "avatars/P1_smplx/*" --local-dir weights
64
+ hf download initialneil/DREAMS-AVATAR --repo-type dataset \
65
+ --include "data/P1C2/*" --local-dir DREAMS-AVATAR
66
+
67
+ python degas_eval.py \
68
+ --dat_dir DREAMS-AVATAR/data/P1C2 \
69
+ --ip none \
70
+ --model_path weights/avatars/P1_smplx \
71
+ --configs configs/degas_config.yaml,configs/degas_vae_driver.yaml,configs/dreams/p1_train_base.yaml,configs/dreams/p1_face_B.yaml \
72
+ dataset.cache_dir=cache/P1C2_eval_cam3 \
73
+ dataset.test.cam_select=[3] \
74
+ "dataset.test.frm_list=np.arange(0, 293, 8).tolist()"
75
+ ```
76
+
77
+ Three things fail quietly rather than loudly, so they are worth stating plainly:
78
+
79
+ 1. **The run's saved `config.yaml` is applied last**, so an avatar is always evaluated
80
+ under its own face setting. Only CLI overrides outrank it, which is why the test split
81
+ is set on the command line above.
82
+ 2. **Give every capture its own `dataset.cache_dir`.** Decoded frames are named
83
+ `cam%02d/%08d.jpg` with no capture in the path, so a shared cache would serve P1C1's
84
+ frame 110 for P1C2's frame 110.
85
+ 3. **For `P1_dpe`, override `dataset.with_face_dpe`** to the session you are driving with
86
+ (`DREAMS-AVATAR/data/P1C2/dpe/dpe-multi-faces.zip`). The stored config points at the
87
+ *training* session's codes.
88
+
89
+ For `P1_dpe`, swap the face config to `configs/dreams/p1_face_A_dpe.yaml` and add that
90
+ override.
91
+
92
+ ## Training setup
93
+
94
+ 800k iterations per avatar, roughly 41 h on a single RTX 3090. Trained on all frames of the
95
+ `C1` session across 29 of 32 cameras at `2x` (1024x750). **cam03**, the frontal tele face
96
+ closeup, is held out as an unseen view, and the whole `C2` session is held out as an unseen
97
+ session. The DPE codes were extracted from cam07 and cam30, both frontal tele views inside
98
+ the training split, so no evaluation view leaks into the face conditioning.
99
+
100
+ ## Limitations
101
+
102
+ - One subject per avatar. These are personalised avatars, not a generalisable model.
103
+ - Driving signal must be a registered SMPL-X sequence in the DREAMS-AVATAR convention.
104
+ - Densification is disabled during training, and there is no oral-cavity geometry, so teeth
105
+ render as a specular smear when the mouth opens wide.
106
+ - The SMPL-X body model is **not** included here. Register at
107
+ [smpl-x.is.tue.mpg.de](https://smpl-x.is.tue.mpg.de/) and install it yourself.
108
+
109
+ ## Licence
110
+
111
+ **[CC BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/)**, non-commercial
112
+ use only, matching the DEGAS code. The DREAMS-AVATAR captures these were trained on are
113
+ [CC BY-NC 4.0](https://creativecommons.org/licenses/by-nc/4.0/). Any commercial use needs
114
+ formal permission first.
115
+
116
+ ## Citation
117
+
118
+ ```bibtex
119
+ @misc{shao2024degas,
120
+ title={DEGAS: Detailed Expressions on Full-Body Gaussian Avatars},
121
+ author={Zhijing Shao and Duotun Wang and Qing-Yao Tian and Yao-Dong Yang and Hengyu Meng and Zeyu Cai and Bo Dong and Yu Zhang and Kang Zhang and Zeyu Wang},
122
+ year={2024},
123
+ eprint={2408.10588},
124
+ archivePrefix={arXiv},
125
+ primaryClass={cs.CV},
126
+ url={https://arxiv.org/abs/2408.10588}
127
+ }
128
+ ```