RAMEN YOLO-OBB detector
An oriented-bounding-box (OBB) detector for the head camera of a Unitree G1, built by Team RAMEN for the IROS 2026 Humanoid IKEA Assembly Challenge (assembling a children's table). It finds the work area, the table legs and their tips, the holes, the table top and both hands.
Our inference code uses it in two places:
- RAMEN-Ori overlay: the detections are drawn onto the head image that the
RAMEN-Ori policies take as input.
All RAMEN-Ori models were trained with this exact file (commit
8221d0a). - Upper-level planner: the detections tell the planner where the parts are.
Code: ramen-g1-ikea-assembly
(training in model/yolo_obb/, data tools in data/yolo_obb/, inference in inference/desktop/perception/).
Model
- Ultralytics YOLO11m-OBB, fine-tuned from Ultralytics'
pretrained
yolo11m-obb.pt. Input size 800. - Classes:
| id | class |
|---|---|
| 0 | workspace |
| 1 | leg |
| 2 | leg_tip |
| 3 | hole |
| 4 | table_top |
| 5 | hand_right |
| 6 | hand_left |
Training
- Data (5,190 training images, 640 x 480):
- 956 head-camera frames from
BitRobot/G1_WBT_Dex1_Building-Children-Table, annotated by us (10 more frames are the validation set). - 724 frames from a head-camera (left eye) video of a different environment, labelled in two rounds: 101 frames whose predicted boxes we all corrected, then 623 more (195 corrected by us, 428 left as the pseudo-labels of a detector trained after the first round).
- 3,510 synthetic images made from the BitRobot frames, 1,170 of each kind:
v5_material_random(the colour and shine of the work mat changed),v4_flatandv8_zoomout_random(the scene pasted onto Places365 backgrounds). - The real frames, the
head_leftframes, thev5_material_randomimages and all their labels are inTeam-RAMEN/ramen-g1-ikea-assembly-yolo-obb. The Places365 images are not redistributed; the scripts indata/yolo_obb/augmentation/scripts/rebuild them from Places365.
- 956 head-camera frames from
- Recipe: up to 100 epochs with early stopping (patience 20; stopped at epoch 45, best at 25), batch 4, image size 800, seed 42. Augmentation: mosaic 0.5, HSV value 0.7, rotation 10°, translation 0.2, scale 0.6, perspective 0.001, no horizontal flip (the left and right hands are different classes), no random erasing.
- Config:
model/yolo_obb/configs/m_lowaug_v11b.yamlwithdata/yolo_obb/configs/dataset_v11b.yaml.
Files
runs/m_lowaug_v11b/weights/best_20260818.pt (42 MB) at commit 8221d0aef45d63666537c1f030810fb9b56dd1ed.
This repository was renamed from Team-RAMEN/IROS2026_RAMEN_Hara_yoloobb_upperpolicy; the RAMEN-Ori checkpoints
still record that name together with this commit.
Evaluation
On the 10 validation frames (lab scene): mAP50-95 0.7986, mAP50 0.9746. The validation set is very small and comes from the same lab as most of the training data, so these numbers say little about other scenes.
Usage
from huggingface_hub import hf_hub_download
from ultralytics import YOLO
path = hf_hub_download(
"Team-RAMEN/ramen-g1-ikea-assembly-yolo-obb",
"runs/m_lowaug_v11b/weights/best_20260818.pt",
revision="8221d0aef45d63666537c1f030810fb9b56dd1ed",
)
results = YOLO(path).predict("head_left.png", imgsz=800, conf=0.25)
In our inference config this is yolo.ckpt_ref / yolo.ckpt_file in
inference/desktop/lower_policy/configs/policy_config.yaml. The RAMEN-Ori overlay draws the boxes with
confidence ≥ 0.30 and line width 2.
Limitations
- Scenes: trained on one lab setting plus one other environment. Expect misses in new scenes.
- Do not swap the weights under a RAMEN-Ori model. The policies were trained on overlays drawn by this file; a different detector changes their input.
License
This model is released under the GNU Affero General Public License v3.0, because it was fine-tuned with Ultralytics from Ultralytics' pretrained weights, which are AGPL-3.0 (an enterprise license is available from Ultralytics; see Ultralytics licensing).
Training data
- The BitRobot frames are adapted from
BitRobot/G1_WBT_Dex1_Building-Children-Tableby BitRobot, licensed under CC BY 4.0. We extracted frames, annotated them and (for the synthetic images) changed the background or the work mat. - 2,340 of the training images use Places365 backgrounds. Places365 is provided for non-commercial research and educational purposes; see its terms.