Skip to content
NAMEFRAMECommercial PreviewApply for Pilot
Glossary

The words this site uses, defined.

Synthetic data has a vocabulary that overlaps confusingly with graphics, photogrammetry and machine learning, and the same word often means three things. These are the definitions used throughout this site, each with a value from the capture the rest of the pages are built on.

Ground truth

The correct answer a model is trained against. In a photographed dataset it is a person’s judgement, agreed between annotators. In a rendered one it is the value the renderer used, which is a stronger claim: not the best available opinion but the number that produced the image.

How it is read out of Unreal Engine.

Identity buffer

A second render of the same frame in which every object is painted a unique flat colour, with no lighting or shading. Reading a mask becomes selecting a colour, and occlusion is already resolved because the renderer had to decide which surface was in front in order to draw it.

The reference capture used 289 colours across 289 classes, no collisions, checked with a tolerance of 0, because “approximately this colour” is how anti-aliasing invents objects.

Occlusion

One object hiding part of another. It is the reason bounding boxes derived from projected 3D bounds are wrong: those give you a box around where the object would be, not around the part you can see.

Derived from the identity buffer, occlusion needs no handling at all. An object two-thirds hidden contributes one-third of its pixels, and the box tightens by itself.

Truncation

An object cut off by the edge of the frame rather than by another object. It is a real case a detector must handle, so it is labelled and flagged rather than dropped. 168 instances in the reference capture are truncated.

Instance vs semantic segmentation

Semantic segmentation says a pixel is a crate. Instance segmentation says which crate. Two crates touching are one blob in the first and two objects in the second, which is the difference between measuring area and counting things.

Instance masks can always be collapsed into semantic ones. The reverse is not recoverable, which is why a capture should store instances. The long version.

Camera intrinsics and extrinsics

Extrinsics are where the camera is and which way it points. Intrinsics are what the camera does to what it sees: focal length, principal point, and the projection from metres to pixels.

The reference capture records position, quaternion and Euler angles per frame, with a 64° horizontal field of view, in a coordinate frame it names: ned-z-down. What gets written down.

Domain randomization

Deliberately varying things that do not matter to the task, so a model stops relying on them. Lighting, textures, object placement, weather, camera angle. The bet is that a model which has seen enough variation treats the real world as one more variant.

It is not the same as realism, and the two can pull in opposite directions. Wildly randomised textures help some tasks and destroy others; the answer depends on whether appearance carries information for your problem.

Sim-to-real gap

The performance you lose when a model trained in simulation meets the world. It is made of sensor noise, lens behaviour, material response, and everything a renderer approximates.

The only useful measurement is your own: train on synthetic, evaluate on real. Any number quoted without that experiment is a number from somebody else’s task. Where it actually costs you.

Dataset coverage

Which parts of the space your data actually spans: distances, object sizes, view angles, lighting, class balance. Most disappointing training results are a coverage problem wearing a realism costume.

The reference capture spans 33.19 to 187.81 metres and 13.41° to 43.44° of camera pitch. Narrow, and stated, which is the point. The measured distributions.

Determinism

The same inputs producing the same outputs. In a generator it means a seed and a configuration fully determine a run, so an experiment can be repeated and a bad batch can be reached again.

The reference run is seeded at 67 with a hashed configuration snapshot, and a check relabels two frames and compares them byte for byte on every capture. How it is enforced.

Spawn manifest

A per-frame record of what the placement engine was asked for, what it placed, what it refused, and why. Hashed, and reconciled against a run index afterwards.

Across the reference capture that is 3,360 placement candidates over 40 frames. What the spawner does.

Fail-closed validation

Checks that stop a run rather than warn about it. A gate that logs a problem and continues produces a dataset that looks complete and is not.

Twelve of thirteen checks passed on the reference capture. The one that did not is published with the rest. Why that matters.

Nothing here is a stub written to catch a search. If an entry grows enough to deserve its own page, it will get one; until then a definition with a real number beside it is more useful than twelve pages of three sentences.