jdihlmann commited on
Commit ·
5890110
1
Parent(s): 81a62cb
Polish Arbor model card
Browse files- .gitattributes +3 -0
- README.md +51 -14
- assets/arbor_teaser.jpg +3 -0
- assets/demo_examples.png +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
*.jpg filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
*.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -10,25 +10,34 @@ pipeline_tag: text-to-3d
|
|
| 10 |
|
| 11 |
# Arbor
|
| 12 |
|
| 13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
Please note: For individuals or organizations generating annual revenue of US $1,000,000 (or local currency equivalent) or more, regardless of the source of that revenue, you must obtain an enterprise commercial license directly from Stability AI before commercially using Arbor, derivative works of Arbor, or outputs from Arbor. See https://stability.ai/license and https://stability.ai/enterprise.
|
| 16 |
|
| 17 |
## Model Description
|
| 18 |
|
| 19 |
-
- Developed by: Stability AI
|
|
|
|
| 20 |
- Model type: Text and geometry constrained 3D generation model
|
| 21 |
- Repository: https://github.com/Stability-AI/arbor
|
| 22 |
-
-
|
| 23 |
- Base stack: TRELLIS text-to-3D and TRELLIS.2 constraint encoding components
|
| 24 |
|
| 25 |
## Files
|
| 26 |
|
| 27 |
- `arbor_sparse_structure_config.json`: public inference config for Arbor sparse-structure generation.
|
| 28 |
-
- `slat_flow_txt_dit_B_64l8p2_geo_router_v1_ft_fp16.json`: SLAT mesh generation config used by the
|
| 29 |
-
- `denoiser_ema0.9999_step0053000.pt`:
|
| 30 |
- Optional parity artifact, if uploaded: `denoiser_step0053000.pt`.
|
| 31 |
|
|
|
|
|
|
|
| 32 |
## Quickstart
|
| 33 |
|
| 34 |
```bash
|
|
@@ -43,10 +52,10 @@ conda install pytorch==2.4.0 torchvision==0.19.0 pytorch-cuda=11.8 -c pytorch -c
|
|
| 43 |
hf auth login
|
| 44 |
hf auth whoami
|
| 45 |
python scripts/download_model_from_hf.py --repo-id StabilityLabs/arbor --output-dir artifacts/model
|
| 46 |
-
python examples/run_manual_example.py --example
|
| 47 |
```
|
| 48 |
|
| 49 |
-
For non-interactive shells,
|
| 50 |
|
| 51 |
```bash
|
| 52 |
read -s HF_TOKEN
|
|
@@ -55,9 +64,24 @@ unset HF_TOKEN
|
|
| 55 |
hf auth whoami
|
| 56 |
```
|
| 57 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 58 |
## Evaluation Outputs
|
| 59 |
|
| 60 |
-
The
|
| 61 |
|
| 62 |
```bash
|
| 63 |
arbor-evaluate \
|
|
@@ -65,12 +89,18 @@ arbor-evaluate \
|
|
| 65 |
--hull examples/constraints/bus__bus_013__19cbb410/hull_constraint.ply \
|
| 66 |
--avoidance examples/constraints/bus__bus_013__19cbb410/avoidance_constraint.ply \
|
| 67 |
--touch examples/constraints/bus__bus_013__19cbb410/touchable_constraint.ply \
|
| 68 |
-
--
|
| 69 |
--sparse-structure outputs/manual_examples/bus_013/ss_surface.npz \
|
| 70 |
--output-dir outputs/manual_examples/bus_013/evaluation
|
| 71 |
```
|
| 72 |
|
| 73 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 74 |
|
| 75 |
## Intended Uses
|
| 76 |
|
|
@@ -80,10 +110,17 @@ Intended uses include research and creative workflows involving constrained 3D a
|
|
| 80 |
|
| 81 |
Arbor is not intended to generate factual representations of people, events, products, or places. Use must comply with Stability AI's Acceptable Use Policy and license terms.
|
| 82 |
|
| 83 |
-
##
|
| 84 |
|
| 85 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 86 |
|
| 87 |
-
##
|
| 88 |
|
| 89 |
-
|
|
|
|
| 10 |
|
| 11 |
# Arbor
|
| 12 |
|
| 13 |
+
Explicit Geometric Conditioning for Controllable 3D Asset Generation
|
| 14 |
+
|
| 15 |
+

|
| 16 |
+
|
| 17 |
+
[Project Page](https://arbor.jdihlmann.com/) | [Paper](https://arbor.jdihlmann.com/downloads/arbor_paper.pdf) | [GitHub](https://github.com/Stability-AI/arbor) | [Citation](#citation)
|
| 18 |
+
|
| 19 |
+
Arbor generates 3D assets from a text prompt and typed geometry constraints. Hull regions mark where geometry should exist, avoidance regions mark space that should stay empty, and touch regions mark surfaces the object should contact or keep reachable.
|
| 20 |
|
| 21 |
Please note: For individuals or organizations generating annual revenue of US $1,000,000 (or local currency equivalent) or more, regardless of the source of that revenue, you must obtain an enterprise commercial license directly from Stability AI before commercially using Arbor, derivative works of Arbor, or outputs from Arbor. See https://stability.ai/license and https://stability.ai/enterprise.
|
| 22 |
|
| 23 |
## Model Description
|
| 24 |
|
| 25 |
+
- Developed by: [Stability AI](https://stability.ai/)
|
| 26 |
+
- Authors: Jan-Niklas Dihlmann, Andreas Engelhardt, Simon Donne, Hendrik Lensch, Mark Boss
|
| 27 |
- Model type: Text and geometry constrained 3D generation model
|
| 28 |
- Repository: https://github.com/Stability-AI/arbor
|
| 29 |
+
- Project page: https://arbor.jdihlmann.com/
|
| 30 |
- Base stack: TRELLIS text-to-3D and TRELLIS.2 constraint encoding components
|
| 31 |
|
| 32 |
## Files
|
| 33 |
|
| 34 |
- `arbor_sparse_structure_config.json`: public inference config for Arbor sparse-structure generation.
|
| 35 |
+
- `slat_flow_txt_dit_B_64l8p2_geo_router_v1_ft_fp16.json`: SLAT mesh generation config used by the release pipeline.
|
| 36 |
+
- `denoiser_ema0.9999_step0053000.pt`: public Arbor sparse-structure checkpoint.
|
| 37 |
- Optional parity artifact, if uploaded: `denoiser_step0053000.pt`.
|
| 38 |
|
| 39 |
+
The GitHub code downloads these files automatically when possible. You can also download them explicitly with the helper script shown below.
|
| 40 |
+
|
| 41 |
## Quickstart
|
| 42 |
|
| 43 |
```bash
|
|
|
|
| 52 |
hf auth login
|
| 53 |
hf auth whoami
|
| 54 |
python scripts/download_model_from_hf.py --repo-id StabilityLabs/arbor --output-dir artifacts/model
|
| 55 |
+
python examples/run_manual_example.py --example chair_080 --output-root outputs/manual_examples --evaluate
|
| 56 |
```
|
| 57 |
|
| 58 |
+
For non-interactive shells, pass a token without saving it in shell history:
|
| 59 |
|
| 60 |
```bash
|
| 61 |
read -s HF_TOKEN
|
|
|
|
| 64 |
hf auth whoami
|
| 65 |
```
|
| 66 |
|
| 67 |
+
## Demo Examples
|
| 68 |
+
|
| 69 |
+
The GitHub release includes curated constraint meshes and a public evaluator that renders condition-following panels.
|
| 70 |
+
|
| 71 |
+

|
| 72 |
+
|
| 73 |
+
Run the examples with:
|
| 74 |
+
|
| 75 |
+
```bash
|
| 76 |
+
python examples/run_manual_example.py --example bus_013 --output-root outputs/manual_examples --evaluate
|
| 77 |
+
python examples/run_manual_example.py --example chair_080 --output-root outputs/manual_examples --evaluate
|
| 78 |
+
python examples/run_manual_example.py --example piano_038 --output-root outputs/manual_examples --evaluate
|
| 79 |
+
python examples/run_manual_example.py --example sink_015 --output-root outputs/manual_examples --evaluate
|
| 80 |
+
```
|
| 81 |
+
|
| 82 |
## Evaluation Outputs
|
| 83 |
|
| 84 |
+
The public `arbor-evaluate` command computes condition metrics and renders inspection panels without training code or benchmark launchers.
|
| 85 |
|
| 86 |
```bash
|
| 87 |
arbor-evaluate \
|
|
|
|
| 89 |
--hull examples/constraints/bus__bus_013__19cbb410/hull_constraint.ply \
|
| 90 |
--avoidance examples/constraints/bus__bus_013__19cbb410/avoidance_constraint.ply \
|
| 91 |
--touch examples/constraints/bus__bus_013__19cbb410/touchable_constraint.ply \
|
| 92 |
+
--reference-mesh examples/constraints/bus__bus_013__19cbb410/gt_mesh.ply \
|
| 93 |
--sparse-structure outputs/manual_examples/bus_013/ss_surface.npz \
|
| 94 |
--output-dir outputs/manual_examples/bus_013/evaluation
|
| 95 |
```
|
| 96 |
|
| 97 |
+
`--reference-mesh` is optional. It adds reference metrics such as Chamfer distance and F-score. It is not used for generation.
|
| 98 |
+
|
| 99 |
+
The evaluator writes `metrics.json`, `metrics_flat.json`, and a four-view `condition_panel.png`. Pass `--save-gif` to also write `condition_orbit.gif`; the default speed is 150 ms per frame.
|
| 100 |
+
|
| 101 |
+
## Coordinate Note
|
| 102 |
+
|
| 103 |
+
Arbor follows constraints inside the normalized TRELLIS object box. It does not generate in metric world units. TRELLIS tends to center the asset and make it use the available box, so constraints should describe relative shape inside that box. If one region grows, another part can look smaller because the final asset is still normalized to the same space.
|
| 104 |
|
| 105 |
## Intended Uses
|
| 106 |
|
|
|
|
| 110 |
|
| 111 |
Arbor is not intended to generate factual representations of people, events, products, or places. Use must comply with Stability AI's Acceptable Use Policy and license terms.
|
| 112 |
|
| 113 |
+
## Citation
|
| 114 |
|
| 115 |
+
```bibtex
|
| 116 |
+
@misc{dihlmann2026arbor,
|
| 117 |
+
author = {Dihlmann, Jan-Niklas and Engelhardt, Andreas and Donne, Simon and Lensch, Hendrik and Boss, Mark},
|
| 118 |
+
title = {Arbor: Explicit Geometric Conditioning for Controllable 3D Asset Generation},
|
| 119 |
+
booktitle = {Preprint},
|
| 120 |
+
year = {2026}
|
| 121 |
+
}
|
| 122 |
+
```
|
| 123 |
|
| 124 |
+
## Safety
|
| 125 |
|
| 126 |
+
Users should evaluate generated outputs for their own application constraints and apply additional mitigations where needed. Report safety issues to safety@stability.ai and security issues to security@stability.ai.
|
assets/arbor_teaser.jpg
ADDED
|
Git LFS Details
|
assets/demo_examples.png
ADDED
|
Git LFS Details
|