CoolFace
Datasetpublic

0326BlueW/robotic-garbage-obb

Robotic Garbage OBB Dataset (robotic-garbage-obb) This dataset is designed for robotic parallel gripper grasping and top-down garbage classification using Oriented Bounding Boxes (OBB). Images are captured in a real robotic bird's-eye view workspace (pure black background tabletop) using Intel RealSense cameras, labeled with oriented bounding boxes to provide both classification and exact planar yaw ($\theta$) orientation angles for robotic parallel grippers. πŸ“Έβ€¦ See the full description on the dataset page: https://huggingface.co/datasets/0326BlueW/robotic-garbage-obb.

sourceHugging Facecc-by-4.0updated 23h agoView on Hugging Face
0likes23downloads
Dataset Card

Robotic Garbage OBB Dataset (robotic-garbage-obb)

[image]

This dataset is designed for robotic parallel gripper grasping and top-down garbage classification using Oriented Bounding Boxes (OBB).

Images are captured in a real robotic bird's-eye view workspace (pure black background tabletop) using Intel RealSense cameras, labeled with oriented bounding boxes to provide both classification and exact planar yaw ($\theta$) orientation angles for robotic parallel grippers.


πŸ“Έ Data Sources & Composition

The dataset contains 472 top-down images curated specifically for robotic tabletop grasping:

  • β€”Real-world Robotic Captures:
  • β€”Captured directly from the bird's-eye view camera of a robotic manipulation platform using Intel RealSense cameras against a matte black background.
  • β€”Paired aligned depth maps (.npy, uint16 mm) and JET heatmaps are provided in demo/captures/.
  • β€”AI-Synthesized Augmentation (Google Nano Banana):
  • β€”Part of the dataset images were generated using Google's Nano Banana AI model to enrich visual diversity, augment object orientation distributions, and balance class frequencies.
  • β€”All AI-generated images underwent strict manual screening to ensure visual fidelity, realistic tabletop shadows, and consistent perspective alignment with physical robot workspace conditions.
  • β€”OBB Manual Annotation:
  • β€”All images were verified and annotated with oriented bounding boxes (OBB) providing 4-corner coordinates and yaw grasping angles.

🏷️ Category Definitions & Gripper Physics Constraints

The dataset is categorized into 4 actionable robotic grasping classes:

Class IDClass NameDescriptionRobotic Grasping Strategy
0plasticRecyclable plastics (PET bottles, beverage cups, pudding cups, etc.)Gripper aligns with the major/minor axis to enclose volume.
1metalRecyclable metal containers (aluminum cans, tin cans, coffee cans, etc.)Aligns with cylindrical symmetry axis.
2paperRigid structural paper containers (Tetra Pak foil cartons, fresh house milk cartons, instant noodle paper bowls, paper bento boxes)Has structural rigidity and height for the gripper to close firmly.
3general_wasteNon-recyclable or non-graspable waste (crumpled tissue paper, straws, plastic wrap, flat paper sheets / paper scraps)Parallel grippers cannot grasp flat thin sheets resting directly on table surfaces; therefore, flat paper is classified as general_waste.

πŸ“ Dataset Structure

text
robotic-garbage-obb/
β”œβ”€β”€ dataset.yaml            # YOLO dataset configuration
β”œβ”€β”€ train/                  # 330 images (70%)
β”‚   β”œβ”€β”€ images/
β”‚   └── labels/
β”œβ”€β”€ val/                    # 71 images (15%)
β”‚   β”œβ”€β”€ images/
β”‚   └── labels/
β”œβ”€β”€ test/                   # 71 images (15%)
β”‚   β”œβ”€β”€ images/
β”‚   └── labels/
β”œβ”€β”€ demo/
β”‚   └── captures/           # RealSense pairs: {stem}_color.png, {stem}_depth.npy (uint16 mm), {stem}_depth_jet.png
└── demo.gif                # Inference preview GIF

πŸ“ Annotation Format (YOLO-OBB)

Each label file contains 9 normalized space-separated values per object:

text
<class_index> <x1> <y1> <x2> <y2> <x3> <y3> <x4> <y4>

where $(x1, y1)$ through $(x4, y4)$ are the 4 clockwise corner coordinates normalized to $[0, 1]$.


πŸš€ Usage with Ultralytics YOLO11-OBB

bash
from ultralytics import YOLO

# Train YOLO11-OBB model
model = YOLO("yolo11x-obb.pt")
model.train(data="dataset.yaml", epochs=300, imgsz=1024, batch=16)

πŸ“„ License