CoolFace
Datasetpublic

hiyasvyas/orthographic-views-vision-final-v4

Orthographic Projection Views — Vision FINAL v4 This is the final v4 training + eval dataset for the Ortho-LLM project. Fine-tuning data for a small vision-language model that, given a rendered image of a 3D block object, outputs dims: ZxYxX plus its third-angle orthographic projections (top / front / right) as ASCII grids. Companion model: hiyasvyas/ortho-vision-qlora-final-v4 Behavior Spec (the litmus test) Given an image of a solid built from unit cubes (unit… See the full description on the dataset page: https://huggingface.co/datasets/hiyasvyas/orthographic-views-vision-final-v4.

sourceHugging Facemitupdated 3mo agoView on Hugging Face
0likes32downloads
Dataset Card

Orthographic Projection Views — Vision FINAL v4

This is the final v4 training + eval dataset for the Ortho-LLM project.

Fine-tuning data for a small vision-language model that, given a rendered image of a 3D block object, outputs dims: ZxYxX plus its third-angle orthographic projections (top / front / right) as ASCII grids.

Companion model: `hiyasvyas/ortho-vision-qlora-final-v4`

Behavior Spec (the litmus test)

Given an image of a solid built from unit cubes (unit ground grid, height axis, and a marked FRONT edge), output one line dims: ZxYxX, then exactly three ASCII grids labeled top:, front:, right: — top = Y×X footprint, front = Z×X, right = Z×Y (third-angle) — using only . and #, with no other prose. Each grid's rows×cols must match the declared dims exactly.

What changed in FINAL v4

  • —Red FRONT edge + X/Y/Z axis letters in renders
  • —Height-graded cube colors
  • —Pedagogical shapes (L / stair / T / U / …) + overhang/sparse oversample
  • —Difficulty mix closer to golden; multi-camera renders
  • —Leading dims: ZxYxX scaffolding (from v3)

Why the labels are trustworthy

The three views are a deterministic function of the underlying voxel solid (project()). Labels are 100% correct by construction. Eval is exact-match, not a fuzzy judge.

Configs & splits

ConfigSplitRowsUse
defaulttrain~5,400SFT training (images × cameras)
defaultvalidation~246in-loop validation
goldengolden100held-out base-vs-tuned eval

The golden config is held out from training.

Record format

json
{
  "image": "<PNG, embedded>",
  "prompt": "Look at this 3D object built from unit cubes. ...",
  "completion": "dims: 2x3x2\ntop:\n##\n##\n##\nfront:\n##\n##\nright:\n###\n###"
}

Evaluation

Score format_ok, dims_ok, top_ok, front_ok, right_ok, and exact against deterministic gold on the golden config. Primary win metric: `exact`.

Reported FINAL v4 tuned (2 epochs, Qwen2.5-VL-3B QLoRA): exact 23% on golden (base ~0%). Wins audited byte-identical; leakage 2/100.

Loading

python
from datasets import load_dataset

train = load_dataset("hiyasvyas/orthographic-views-vision-final-v4", "default", split="train")
golden = load_dataset("hiyasvyas/orthographic-views-vision-final-v4", "golden", split="golden")
img = train[0]["image"]
print(train[0]["completion"])