CoolFace
Datasetpublic

movensys/cube-detection-obb

Colored Cubes OBB Detection Dataset A small object-detection dataset for oriented bounding box (OBB) detection of four colored cubes (green, yellow, blue, red). Intended for training and benchmarking YOLO-OBB style models in robotic-manipulation and pick-and-place contexts. Dataset Summary Task: Oriented bounding box detection (4-point polygon per object) Classes: 4 — green_cube, yellow_cube, blue_cube, red_cube Images: 215 total · 1280×720 JPEG Format:… See the full description on the dataset page: https://huggingface.co/datasets/movensys/cube-detection-obb.

sourceHugging Facemitupdated 5mo agoView on Hugging Face
0likes110downloads
Dataset Card

Colored Cubes OBB Detection Dataset

A small object-detection dataset for oriented bounding box (OBB) detection of four colored cubes (green, yellow, blue, red). Intended for training and benchmarking YOLO-OBB style models in robotic-manipulation and pick-and-place contexts.

Dataset Summary

  • Task: Oriented bounding box detection (4-point polygon per object)
  • Classes: 4 — green_cube, yellow_cube, blue_cube, red_cube
  • Images: 215 total · 1280×720 JPEG
  • Format: Ultralytics YOLO-OBB
  • Splits:
SplitImagesgreenyellowbluered
train150150153147150
val4343444243
test2222222222

Every image contains all four cubes.

Directory Layout

.
├── dataset.yaml          # Ultralytics data config
├── train/
│   ├── images/           # 00001.jpg …
│   └── labels/           # 00001.txt …
├── val/
│   ├── images/
│   └── labels/
└── test/
    ├── images/
    └── labels/

Label Format

Each labels/*.txt has one object per line, in YOLO-OBB format:

class_id  x1 y1  x2 y2  x3 y3  x4 y4
  • class_id — integer 0–3 (see dataset.yaml)
  • x*, y* — polygon corner coordinates, normalized to [0, 1] by image width/height, traversed in order (TL → TR → BR → BL).

Example:

0 0.3460 0.5683  0.4078 0.5917  0.3890 0.7493  0.3271 0.7259

Usage

With Ultralytics YOLO

bash
pip install ultralytics huggingface_hub
python
from huggingface_hub import snapshot_download
from ultralytics import YOLO

local_dir = snapshot_download(
    repo_id="<your-username>/cubes-obb",
    repo_type="dataset",
)

model = YOLO("yolo11n-obb.pt")
model.train(data=f"{local_dir}/dataset.yaml", epochs=100, imgsz=1280)

Loading labels manually

python
from pathlib import Path

def load_obb(label_path):
    out = []
    for line in Path(label_path).read_text().splitlines():
        parts = line.split()
        cls = int(parts[0])
        coords = list(map(float, parts[1:]))  # 8 floats
        out.append((cls, coords))
    return out

Class Mapping

IDName
0green_cube
1yellow_cube
2blue_cube
3red_cube

Author

Mohsin Ali — Movensys

Collection & Annotation

Images were captured for a cube pick-and-place / OBB-detection research workflow. Labels are in Ultralytics YOLO-OBB polygon format.

Limitations

  • Small scale (215 images). Fine for fine-tuning a pretrained OBB model, too small to train from scratch.
  • Every image contains all four cubes in similar scenes. Models trained here may not generalize to scenes with missing cubes, unseen backgrounds, occlusion, or varying lighting.
  • Single resolution (1280×720). Resize / letterbox if your pipeline expects another size.

License

Released under the MIT License. See LICENSE.

Citation

If you use this dataset, please cite:

@misc{cubes_obb_dataset,
  title        = {Colored Cubes OBB Detection Dataset},
  author       = {Mohsin Ali},
  year         = {2026},
  howpublished = {Hugging Face Datasets},
}