acanadaSpl commited on
Commit
a2aeec8
·
verified ·
1 Parent(s): 52b3b9d

Idol weights (FP32) and model card

Browse files
README.md ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: apache-2.0
3
+ library_name: idol
4
+ pipeline_tag: image-to-3d
5
+ tags:
6
+ - gaussian-splatting
7
+ - 3d
8
+ - image-to-3d
9
+ ---
10
+
11
+ # Idol
12
+
13
+ **A single image to a 3D object.** Idol turns one picture of an object into a 3D Gaussian splat (up to
14
+ 1,048,576 Gaussians). Code and inference: [github.com/speridlabs/idol-sdk](https://github.com/speridlabs/idol-sdk) ·
15
+ Demo: [Hugging Face Space](https://huggingface.co/spaces/speridlabs/idol).
16
+
17
+ ## Files
18
+
19
+ | file | |
20
+ |---|---|
21
+ | `denoiser.safetensors` | rectified-flow transformer, 370M parameters, EMA weights, FP32 |
22
+ | `decoder.safetensors` | octree decoder that places the anchor points, 51M parameters, FP32 |
23
+ | `decoder_gs.safetensors` | Gaussian decoder, 32 Gaussians per anchor, 237M parameters, FP32 |
24
+ | `birefnet.safetensors` | BiRefNet background remover |
25
+ | `config.json` | model configs and inference defaults |
26
+
27
+ ## Usage
28
+
29
+ ```bash
30
+ pip install git+https://github.com/speridlabs/idol-sdk
31
+ python -m idol.sample --image photo.jpg --mode real
32
+ ```
33
+
34
+ ```python
35
+ from idol import IdolPipeline
36
+
37
+ pipeline = IdolPipeline.from_pretrained("speridlabs/idol")
38
+ output = pipeline("photo.jpg", mode="real") # mode="synthetic" for renders and generated images
39
+ output.gaussian.save_ply("photo.ply")
40
+ ```
41
+
42
+ The image encoders, [DINOv3](https://huggingface.co/facebook/dinov3-vith16plus-pretrain-lvd1689m) and the
43
+ [FLUX.2](https://huggingface.co/black-forest-labs/FLUX.2-dev) VAE, are gated: request access, then `hf auth login`.
44
+
45
+ Defaults: seed 42, 50 Euler steps, CFG 3.0, time shift 3.0, 262,144 Gaussians.
birefnet.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9ab37426bf4de0567af6b5d21b16151357149139362e6e8992021b8ce356a154
3
+ size 444473596
config.json ADDED
@@ -0,0 +1,89 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "denoiser": {
3
+ "name": "LatentSeqMMFlowModel",
4
+ "args": {
5
+ "q_token_length": 8192,
6
+ "in_channels": 16,
7
+ "cam_channels": 5,
8
+ "out_channels": 16,
9
+ "model_channels": 1024,
10
+ "cond_channels": 1280,
11
+ "cond2_channels": 128,
12
+ "num_refiner_blocks": 2,
13
+ "num_blocks": 24,
14
+ "num_heads": 16,
15
+ "mlp_ratio": 4,
16
+ "pe_mode": "3d_ot_repo",
17
+ "qk_rms_norm": true,
18
+ "share_mod": true,
19
+ "use_shift_table": true,
20
+ "use_fp16": true
21
+ }
22
+ },
23
+ "decoder": {
24
+ "name": "OctreeProbabilityFixedlenDecoder",
25
+ "args": {
26
+ "pcd_pe_mode": "pcd_ape_v2",
27
+ "model_channels": 1024,
28
+ "cond_channels": 16,
29
+ "num_blocks": 4,
30
+ "num_heads": 16,
31
+ "mlp_ratio": 4,
32
+ "share_mod": true,
33
+ "use_fp16": true
34
+ }
35
+ },
36
+ "decoder_gs": {
37
+ "name": "GaussianFixedlenDecoder",
38
+ "args": {
39
+ "pcd_pe_mode": "pcd_ape_v2",
40
+ "in_channels": 3,
41
+ "model_channels": 1024,
42
+ "cond_channels": 16,
43
+ "num_blocks": 16,
44
+ "num_heads": 16,
45
+ "mlp_ratio": 4,
46
+ "use_fp16": true,
47
+ "use_learned_offset_scale": true,
48
+ "use_per_offset": true,
49
+ "representation_config": {
50
+ "lr": {
51
+ "_xyz": 1.0,
52
+ "_features_dc": 1.0,
53
+ "_opacity": 1.0,
54
+ "_scaling": 1.0,
55
+ "_rotation": 0.1
56
+ },
57
+ "perturb_offset": true,
58
+ "perturbe_size": 1.5,
59
+ "offset_scale": 0.05,
60
+ "num_gaussians": 32,
61
+ "2d_filter_kernel_size": 0.1,
62
+ "3d_filter_kernel_size": 0.0009,
63
+ "scaling_bias": 0.004,
64
+ "opacity_bias": 0.1,
65
+ "scaling_activation": "softplus"
66
+ }
67
+ }
68
+ },
69
+ "image_size": 1024,
70
+ "max_voxel_level": 8,
71
+ "max_sampled_points": 8192,
72
+ "sigma_min": 1e-05,
73
+ "image_encoders": {
74
+ "dinov3": "facebook/dinov3-vith16plus-pretrain-lvd1689m",
75
+ "flux2_vae": "black-forest-labs/FLUX.2-dev",
76
+ "resolution": 1024
77
+ },
78
+ "defaults": {
79
+ "seed": 42,
80
+ "steps": 50,
81
+ "cfg_strength": 3.0,
82
+ "rescale_t": 3.0,
83
+ "num_gaussians": 262144,
84
+ "crop_margin": {
85
+ "synthetic": 1.2,
86
+ "real": 1.7
87
+ }
88
+ }
89
+ }
decoder.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9da4d7676bfcadb1c3fdfbff796e6257dadf82d26ec05be7717c79b2b13a1c4e
3
+ size 203171696
decoder_gs.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3087eb8ee5763206a53e4078acf2a1bf382dab5147d407ec13a2cf39c04cc544
3
+ size 949083036
denoiser.safetensors ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ded2cacf671bf3978ebc62729087abdbd318ef4752e6805b4c9fc8ffa51fe716
3
+ size 1482258308