← Back to project

3D Gen · v12 recipe and WilD3D benchmark

how v12 was trained, and where it stands vs TRELLIS.2 / TRELLIS-text / TIGON · 2026-09-15
trainingbenchmarkimage-to-3Dtext-to-3Dv12

TL;DR

Image-to-3D: on par with TRELLIS.2-4B end-to-end and on geometry; materials clearly better (LPIPS −18%, PSNR +5 dB, wins 64–74% of cases).
Text-to-3D: ~0.9 CLIP-T behind TRELLIS-text / TIGON. Cause: the SS tower barely reads text (sensitivity 1.28 vs 2.1 for images). Not a sampler issue, not a pipeline issue.
8 of the 50 eval meshes exist verbatim in the training pool under other ids (one mesh 2,163×). Geometry numbers exclude them; eval split needs a geometry-hash rebuild.

1 · Stages

S1 20k → S2 106k per tower → S3 32k. Effective batch 256 everywhere; WSD schedule; EMA 0.9999.

2 · Data

Per-batch task mix. The tex tower uses only assets that have PBR latents (0.55M + 0.48M).

3 · ROAD

Loss = flow matching + 0.5·L_proj + 0.1·L_opt. shape / tex / unify: no ROAD.

4 · CFG sweeps (per tower, text path, 8 pinned assets, picked by eye)

towerimage pathtext path
SS24 steps · cfg 10 · rescale 0.7 · [0.6, 1] · rt 5same
shapeofficial: 12 · 7.5 · 0.5 · [0.6, 1] · rt 3same
texofficial: 12 · cfg 1.0 (off) · [0.6, 0.9] · rt 324 · 7.5 · 0.5 · [0.9, 1] · rt 5
(a) Condition-sensitivity probe. SS reads at t 0.95→0.8 (text ~4× weaker than image); tex reads only at t ≥ 0.95, outside the official window (shaded).
(b) tex tower, GT geometry locked. Released setting (cfg 1, [0.6,0.9]) loses the prompt's stripes/colours; window [0.9,1] + cfg ≥ 3.5 brings them back; cfg 7.5 rs 0.5 chosen.
(c) SS tower, whole chain re-run per column. cfg and step count change the structure itself (building, bed, mug); cfg 10 + 24 steps chosen. Text path stays worse than the image path on the same asset.
(d) shape tower, same SS coords in every column, normal channel. cfg 1 → 12.5 and window changes barely move the surface → kept the official setting.

5 · WilD3D benchmark scores

Image-to-3D

scorecardmetricTRELLIS.2-4Bours (separate towers)
E2ECLIP ↑0.8670.866
E2EULIP-I ↑0.4540.454
E2EUni3D-I ↑0.3950.389
Geometry-GTChamfer ↓0.04090.0393
Geometry-GTF@0.01 ↑0.5470.568
Geometry-GTF@0.02 ↑0.7270.746
Geometry-GTNormal cons. ↑0.6750.694 *
Texture-GT (on GT geometry)LPIPS ↓0.1890.155 *
Texture-GT (on GT geometry)PSNR ↑17.322.4 *
Texture-GT (on GT geometry)SSIM ↑0.6060.664 *
Texture-GT (on GT geometry)CLIP-I ↑0.9510.962 *
Texture-GT set-levelFID ↓123100
Texture-GT set-levelCMMD ↓0.0450.024

Text-to-3D

model (n=50, same prompts)CLIP-T ×100 ↑ULIP-T ↑Uni3D-T ↑Hungarian-CLIP ↑KD-DINOv2 ×100 ↓FD-point ↓
GT asset (ceiling)26.450.1680.271
TRELLIS-text-xl27.850.1830.29284.829.145.9
TIGON27.740.1850.28784.524.843.8
ours (separate towers)26.980.1660.28386.016.538.6
Left: ours vs TRELLIS.2-4B per metric (% better, n=42). Right: text-to-3D, prompt alignment (blue) vs resemblance to real assets (orange).
Image-to-3D examples: input | GT | ours | TRELLIS.2-4B.
Text-to-3D examples, same assets: prompt | GT | ours | TRELLIS-text | TIGON. Pump, vessel, building: our structure falls apart; the rest are on par.
The duplicate-mesh trap: rows 1–2 are one recoloured mesh present 2,163× in training — memorised (F@0.01 = 1.00), not generated. Excluded from the numbers.

6 · Next

v12 S2 finals = shape / tex / SS 106k EMA · results: eval_suite results sfv50_sep106k, text_sfv50_v12