CoolFace
Datasetpublic

Ysobel/SemDetect

NUpbr Ball Detection & Description Dataset Synthetic renders of soccer balls (from the NUpbr generator) with bounding boxes and free-text visual descriptions, for training semantic ball detectors that generalise to ball appearances not seen during training. Dataset structure train/metadata.csv # 1440 images, 72 ball instances train/*.png validation/metadata.csv # 320 images, 16 ball instances validation/*.png test/metadata.csv # 300 images, 15… See the full description on the dataset page: https://huggingface.co/datasets/Ysobel/SemDetect.

sourceHugging Facemitupdated 2mo agoView on Hugging Face
0likes611downloads
Dataset Card

NUpbr Ball Detection & Description Dataset

Synthetic renders of soccer balls (from the NUpbr generator) with bounding boxes and free-text visual descriptions, for training semantic ball detectors that generalise to ball appearances not seen during training.

Dataset structure

train/metadata.csv        # 1440 images, 72 ball instances
train/*.png
validation/metadata.csv   # 320 images, 16 ball instances
validation/*.png
test/metadata.csv         # 300 images, 15 ball instances
test/*.png
meta/*.yaml                # per-frame raw render annotation (provenance), one per image, matched by filename stem
ball_descriptions.csv      # one row per ball instance (103 rows): Ball Name, Description

Loads directly with:

python
from datasets import load_dataset
ds = load_dataset("imagefolder", data_dir=".")

metadata.csv columns

columnmeaning
file_nameimage filename, relative to the split folder
width, heightimage dimensions in pixels
x1, y1, x2, y2ball bounding box in pixels
class_namealways ball
instance_idwhich of the 103 distinct ball instances appears in this image (e.g. ball_000)
descriptionfree-text visual description of this ball instance, joined in from ball_descriptions.csv
meta_filefilename of the matching raw per-frame annotation in meta/

Split

The split is by ball instance, not by image: every image of a given ball instance lives entirely in one split. This means validation and test measure generalisation to ball appearances/descriptions the model never saw during training, not just held-out camera angles of a known ball.

splitimagesinstances
train1440 (69.9%)72
validation320 (15.5%)16
test300 (14.6%)15

Each ball instance contributes exactly 20 images across its assigned split.

Notes

  • —Filenames were renumbered sequentially (0000.png ... 2059.png) across the whole dataset.

License and acknowledgments

Released under the MIT license (see LICENSE). Images were rendered with NUpbr, a synthetic data generator built by the NUbots RoboCup team at the University of Newcastle, Australia; this dataset and the descriptions/annotations were produced independently by Ysobel Sims.