← Back to project

3D-gen · v12 training data (evalclean pools, task mixture, per-task samples)

data snapshot 2026-09-03 · pools with every evaluation asset removed · three-tower v12 mixture 70 / 15 / 15
datav12mixturecontamination

TL;DR

Every evaluation asset is now out of the training pools: 22 eval / held-out manifests (23,456 unique sha; SWH20/50/60, text eval47/50/pool60, Toys4K pilot20, all val/test/viz16/sketchfab held-outs, the old v5 1% held-out) were JSON-joined against every train manifest → splits/*_train_evalclean.jsonl, residual overlap 0. Models trained only on these (v12 S1 onward) are clean on the WilD3D SWH tracks; roadv1 / roadfrz / v10 stay contaminated.
v12 mixture, identical for the three towers: text 70% (real captions 60% + synthetic assets 10%) · single image 15% · multi-image 15% (4 weighted views). Caption tiers are sampled with new caption_weights: real 0.40 / 0.12 / 0.08 / 0.40 (long-ish 80%), synthetic 0.45 / 0.15 / 0.15 / 0.25 (long-ish 70%).
Open item: real : synthetic is 6 : 1 in the committed yamls; roadv1 used 3 : 1 (0.6 / 0.2). Proposal on the table: 0.525 / 0.175 with images unchanged.

0 · What a training batch looks like

batch 1/8 — condition (left) → decoded 3D target (right). Renders are 4× supersampled (1024 → 256); the left-hand conditioning views are the dataset's renders_cond files as stored.
batch 2/8 — condition (left) → decoded 3D target (right). Renders are 4× supersampled (1024 → 256); the left-hand conditioning views are the dataset's renders_cond files as stored.
batch 3/8 — condition (left) → decoded 3D target (right). Renders are 4× supersampled (1024 → 256); the left-hand conditioning views are the dataset's renders_cond files as stored.
batch 4/8 — condition (left) → decoded 3D target (right). Renders are 4× supersampled (1024 → 256); the left-hand conditioning views are the dataset's renders_cond files as stored.
batch 5/8 — condition (left) → decoded 3D target (right). Renders are 4× supersampled (1024 → 256); the left-hand conditioning views are the dataset's renders_cond files as stored.
batch 6/8 — condition (left) → decoded 3D target (right). Renders are 4× supersampled (1024 → 256); the left-hand conditioning views are the dataset's renders_cond files as stored.
batch 7/8 — condition (left) → decoded 3D target (right). Renders are 4× supersampled (1024 → 256); the left-hand conditioning views are the dataset's renders_cond files as stored.
batch 8/8 — condition (left) → decoded 3D target (right). Renders are 4× supersampled (1024 → 256); the left-hand conditioning views are the dataset's renders_cond files as stored.

1 · Pools after evaluation-asset removal

train manifestrowsremovedSWH evalToys4k
capT1800k_train.jsonl1,647,9073,6046530
capT800k_train.jsonl769,1573,6177430
capT_synth_train.jsonl481,995000
pool1800k_train.jsonl1,648,0023,6046530
pool800k_pbr_train.jsonl679,3863,6177430
pool800k_train.jsonl769,1593,6177430
rolemanifestrowswith PBRtop subsets
S1/S2 image tasks (SS, shape)pool1800k_train_evalclean.jsonl1,644,39875%TexVerse 31%, SWH 24%, SketchfabV1 23%, ObjaverseXL_github 16%
S1/S2 text task (SS, shape)capT1800k_train_evalclean.jsonl1,644,30376%TexVerse 31%, SWH 24%, SketchfabV1 23%, ObjaverseXL_github 16%
tex image tasks / S3pool800k_pbr_train_evalclean.jsonl675,769100%SWH 45%, TexVerse 25%, SketchfabV1 17%, ObjaverseXL_github 6%
tex text taskcapT800k_pbr_train_evalclean.jsonl675,768100%SWH 45%, TexVerse 25%, SketchfabV1 17%, ObjaverseXL_github 6%
synthetic text taskcapT_synth_pbr_train_evalclean.jsonl481,993100%synth_coverage 100%
Composition by source subset. TexVerse + SWH + SketchfabV1 carry 78% of the 1.8M pool; the PBR-only 800k pool is SWH-heavy (45%).

2 · v12 task mixture and caption tiers

tierreal: weightreal: median wordssynthetic: weightsynthetic: median words
long0.40310.4525
medium0.12110.159
short0.0830.154
long + texture0.40540.2531
Left: identical 70/15/15 mixture for SS, shape and tex. Right: caption-tier weights; real captions lean on the two long tiers (80%), synthetic keeps 30% short/medium.
Caption length by tier (words). Real long+texture captions run ~54 words median; synthetic tiers are shorter (25 / 9 / 4 / 31).

3 · Multi-image task: view sampling

Per-view draw probability over the 16 renders_cond views.

4 · Samples per task

Text-to-3D samples (real captions): long / medium / short / long+texture tiers.
Same assets as image-to-3D (left, one random view) and multi-image-to-3D (right, 4 weighted views).
Synthetic coverage assets: generated conditioning image + caption tiers (branch / tier / generator).
Synthetic pool composition: 96% everyday objects from zimage; the hard-concept branches (topology, anatomy, science) are small in count but are the reason the pool exists.

5 · Open questions

auto-generated from manifests/splits/*_evalclean.jsonl and configs/mix_v12_*.yaml · figures: _lc/data_report/make_figs.py