The 3D segmentation training harness — what it is, what we will run, how long it takes.
2026-08-13 · management overview · navigate with ↓ / ↑ or scroll
A survey vehicle laser-scans the road: tens of millions of 3D points per segment. The model assigns each point one of nine classes — automatically.
Training one model is easy. Knowing which of dozens of variants is genuinely better — and proving it months later — is the hard part. The harness automates that:
Three versioned data tiers (raw → canonical → framework-ready); train/validation/test split fixed per corridor before tiling — no leakage possible.
Guided repetition: label a tile → get scored against human labels → adjust millions of parameters. One pass through all tiles = one epoch; useful models need tens of them.
Rendered from the actual telemetry files of our first real training run (3 epochs, one corridor section, laptop GPU). Falling loss = better guesses.
machinery proof, not accuracy claims · in development visual check-ins: every couple of epochs, top-down images of predictions vs ground truth rendered straight into TensorBoard.
Measured: predictions ~1–2 min per small corridor; full report stage ~72 min single-core today — optimisation planned (precedent: ~4.5 h → ~7 min).
| Phase | Experiment | Question |
|---|---|---|
| first | E2 · Voxel oracle | Which resolution keeps thin assets visible? (analysis, no training) |
| Split decision | Which corridors are train / validation / final exam — frozen once. (pending) | |
| E1 · SPT pilot | The deciding baseline, on the Azure GPU cluster. | |
| E9 · Challenger screen | Do alternative models beat it? Cheap, local, already proven. | |
| after baseline | E3–E6 · Ablations | Which ingredients earn their keep: features, losses, imbalance handling, head design. |
| E8 · Tiling study | Best tile length & overlap. | |
| later | E7 · Scale-up | Faster variant for production throughput. |
| E10–E14 · Label leverage | Pseudo-labels, weak supervision, self-supervised pretraining, active learning. |
Each experiment expands into "cells" — one run per model, loss function, feature set, … as frozen in the configs today. 51 training runs + 3 analysis cells:
Lighter bar = analysis only, no training. First wave (E2 + E1 + E9) = 7 cells; the rest unlock as the baseline and label pipelines mature. Statistical repeats add on top.
Measured anchor (4 verified runs): one epoch over one segment = 16–20 s train + 12–25 s validation on a laptop GPU. Scaled linearly to 50 segments, per 50-epoch run:
caveat Quality metrics from this run (guardrail IoU 0.37, terrain 0.53 after 3 epochs) are code-path proof, not model-quality claims: draft labels, thinned data, smoke-only split.
Deliberately not claimed yet: final data splits, the E1 pilot, the E2 verdict, human-quality annotations.
| Point cloud | Millions of 3D dots from a laser scanner; our raw material. | Loss | The training error signal; lower = better guesses. |
| Segmentation | Assigning a class label to every point. | IoU / mIoU | Overlap between predicted and true regions (0–1); mIoU averages over classes. The standard score. |
| Epoch | One complete pass of the training data through the model. | Checkpoint | A saved snapshot of the model's learned parameters. |
| Voxel | A small cube of space; "one point per cube" thins the cloud without losing shape. | Inference | Running a trained model on new data. |
| TensorBoard | The live dashboard charting a training run as it happens. | Harness | Our automation around all of the above: configs, gates, provenance, reports. |