NameFrame/dead-city-unreal-synthetic
Dead city: a synthetic detection capture rendered in Unreal Engine 300 rendered frames from a single Unreal Engine environment, carrying 10,693 labelled object instances. Every box and every mask here is read out of the engine's own per-instance ID buffer at render time. No model produced these labels and no one drew them by hand, so a label is wrong only where the scene description behind it is wrong. The environment was built by George Shachnev, who sent us the map and agreed… See the full description on the dataset page: https://huggingface.co/datasets/NameFrame/dead-city-unreal-synthetic.
Dead city: a synthetic detection capture rendered in Unreal Engine
300 rendered frames from a single Unreal Engine environment, carrying 10,693 labelled object instances. Every box and every mask here is read out of the engine's own per-instance ID buffer at render time. No model produced these labels and no one drew them by hand, so a label is wrong only where the scene description behind it is wrong.
The environment was built by George Shachnev, who sent us the map and agreed to it being captured and to being named here. The frames and the labels are ours; the environment is his, and no part of it is redistributed here.
The capture
Placement, pose and camera pose are sampled deterministically from the master seed (deterministic_per_logical_frame_and_instance), so the same seed over the same scene reproduces the same 300 frames.
Classes
By COCO's scale thresholds: 8,532 small, 2,161 medium, 0 large. The mean box covers 0.08% of the frame, which makes this a small-object capture.
Layout
images/ rendered RGB frames, unmodified PNG
segmentation/ per-instance ID buffers, one colour per instance
labels/ YOLO boxes, one text file per frame
annotations/ the same labels in COCO format
metadata/ per-frame camera, actor and spawn-manifest records
reports/ this capture's own report and validation output
capture.json the run contract: classes, camera policy, seed
data.yaml class names, ready for a YOLO trainerFrame N is the same scene across images/, segmentation/, labels/ and metadata/. No split is imposed: all 300 frames sit in one pool, so you can split them however the experiment needs.
Decode segmentation/*.png with a library that hands you channels in the order the file declares. The instance colours are exact 8-bit values, and a silent channel swap turns a correct mask lookup into an empty one.
Measured quality
This archive ships the validator's own output rather than a summary of it. From reports/validation.json:
- Corrupt images: 0 of 300
- Frames with no labels: 0
- Near-duplicate images: 11
- Cross-split leakage: 0
- Mean luminance 69.6; 72 underexposed frames, 0 overexposed
- Reconciled frame by frame: 300 requested, 300 images, 300 label files, 10,693 annotations
Known limitations
- The validator took 7.59 points off for
class-imbalance: rarest/commonest class ratio 0.052. - The validator took 1.83 points off for
near-duplicate-images: visually near-identical images in one split (dHash <= 4). - The validator took 0.21 points off for
underexposed-images: mean luminance < 35.0. - The validator took 0.07 points off for
blurry-images: variance-of-Laplacian < 100.0. - Check
build-provenancedid not pass: BUILDPROVENANCEUNVERIFIED: UNVERIFIEDREPOSITORYCOMMIT. - Check
labels-vs-rgbdid not pass: 35/1080 labelled instances are invisible in rgb.png (3.24%, 30/300 frames) -- masks painted where nothing was drawn: skateboard (1110, 322, 1125, 345) in plugin000000; bench (384, 397, 460, 441) in plugin000000; person (49, 58, 75, 91) in plugin000001; person (601, 267, 629, 287) in plugin000002. - Depth-probed people the engine could see, against people labelled: 0/34 engine-visible people unlabelled (0.00%, 300/300 frames).
- Rendered imagery carries a synthetic-to-real domain gap. Treat it as pre-training or augmentation material rather than a substitute for a real-world evaluation set.
Provenance and terms
The frames were rendered in Unreal Engine and labelled from the engine's instance buffers by NameFrameCapture, an editor plugin. capture.json carries the full build record, including the plugin and job hashes and the checks the build could not verify.
Environment and prop assets in the scene are licensed from third parties for use inside Unreal Engine projects. The rendered images and their labels are published here; the source assets are not, and no .uasset or map file is included. Read LICENSE before redistributing the imagery itself.
The capture pipeline, the other environments in this series and the measurements behind them are documented at <https://getnameframe.com>.
