Skip to content
ModelListedExternal
Download

Okra Seg Detector

Single-class okra instance-segmentation weights, fine-tuned for a humanoid robot (Unitree G1) okra-harvest perception pipeline. Two architectures trained under identical data/masks/hyperparameters for comparison:

KindOtherVersionOkra11n segBgrade

Model source

Kind
Other
File size
5.74–6.48 MB
Version
vOkra11n seg
Updated
Oct 4, 2026
Source
Hugging Face

Source description

Okra Segmentation Detector (YOLO11n-seg / YOLOv8n-seg)

Single-class okra instance-segmentation weights, fine-tuned for a humanoid robot (Unitree G1) okra-harvest perception pipeline. Two architectures trained under identical data/masks/hyperparameters for comparison:

FileBase modelParamsSize
okra11n-seg.ptyolo11n-seg~2.9M5.7 MB
okra8n-seg.ptyolov8n-seg~3.4M6.5 MB

Results (validation: 440 images, 1011 okra instances)

Metricokra11n-segokra8n-seg
Box mAP@500.9060.901
Box mAP@50-950.8240.818
Mask mAP@500.9040.899
Mask mAP@50-950.7900.786
Mask precision0.9500.921
Mask recall0.8260.835

The two are essentially on par; yolo11n-seg is marginally ahead on mAP and precision and is smaller, while yolov8n-seg has slightly higher recall. Note: mask labels were SAM-generated (see below), so mask mAP measures agreement with the SAM teacher masks rather than against hand-drawn ground-truth contours.

How it was made

  • Data: 2,923 okra images (112 real field photos + 2,811 Roboflow-augmented), single class okra. Annotations were bounding boxes; converted to polygon masks with SAM 2.1-large (ultralytics.data.converter.yolo_bbox2segment).
  • Split: 2,483 train / 440 val, grouped by source image (augmentation variants kept in the same split to avoid validation leakage), stratified real vs synthetic.
  • Training: ultralytics 8.4.14, 100 epochs, imgsz=640, batch=16, single A10G GPU, seed=0.

Usage

from ultralytics import YOLO

model = YOLO("okra11n-seg.pt")          # or okra8n-seg.pt
results = model.predict("field.jpg", conf=0.30, retina_masks=True)
for r in results:
    print(r.boxes.xyxy, r.boxes.conf)   # okra boxes + confidence
    print(r.masks.xy)                   # okra polygon masks

Recommended ultralytics version for inference: 8.4.14 (matches training).

Intended use & limitations

  • Built for okra detection/segmentation in greenhouse/field harvest scenes, including green-on-green (okra against foliage). Detects okra pods; flowers are intentionally not flagged.
  • Single class only (okra). Not validated for ripeness grading.
  • Mask supervision is SAM-derived, not human-traced.

License

Derived from Ultralytics YOLO pretrained weights — AGPL-3.0.

Sources

1 source
Hugging FacePrimaryVersion 23527894137e89e4db1be68540ed37b554959890
huggingface.co/Kota0612/okra-seg-detector/tree/23527894137e89e4db1be68540ed37b554959890

Verified Aug 9

Model artifacts

2 artifacts

okra11n-seg.pt

pt · 5.74 MB · SHA-256 57a7791121ed…9e67 · Hugging Face

Download

okra8n-seg.pt

pt · 6.48 MB · SHA-256 374a90516efe…d419 · Hugging Face

Download

Source excerpts

2 excerpts

--- license: agpl-3.0 tags: - ultralytics - yolo - yolo11 - yolov8 - object-detection - instance-segmentation - agriculture - okra library_name: ultralytics pipeline_tag: image-segmentation --- # Okra Segmentation Detector (YOLO11n-seg / YOLOv8n-seg) Single-class **okra** instance-segmentation weights, fine-tuned for a humanoid robot (Unitree G1) okra-harvest perception pipeline. Two architectures trained under identical data/masks/hyperparameters for comparison: | File | Base model | Params | Size | |---|---|---|---| | `okra11n-seg.pt` | `yolo11n-seg` | ~2.9M | 5.7 MB | | `okra8n-seg.pt` | `yolov8n-seg` | ~3.4M | 6.5 MB | ## Results (validation: 440 images, 1011 okra instances) | Metric | **okra11n-seg** | **okra8n-seg** | |---|---|---| | Box mAP@50 | **0.906** | 0.901 | | Box mAP@50-95 | **0.824** | 0.818 | | Mask mAP@50 | **0.904** | 0.899 | | Mask mAP@50-95 | **0.790** | 0.786 | | Mask precision | **0.950** | 0.921 | | Mask recall | 0.826 | **0.835** | The two are essentially on par; **yolo11n-seg is marginally ahead** on mAP and precision and is smaller, while yolov8n-seg has slightly higher recall. Note: mask labels were SAM-generated (see below), so mask mAP measures agreement with the SAM teacher masks rather than against hand-drawn ground-truth contours. ## How it was made - **Data:** 2,923 okra images (112 real field photos + 2,811 Roboflow-augmented), single class `okra`. Annotations were **bounding boxes**; converted to polygon masks with **SAM 2.1-large** (`ultralytics.data.converter.yolo_bbox2segment`). - **Split:** 2,483 train / 440 val, grouped by source image (augmentation variants kept in the same split to avoid validation leakage), stratified real vs synthetic. - **Training:** [ultralytics](https://github.com/ultralytics/ultralytics) **8.4.14**, 100 epochs, `imgsz=640`, `batch=16`, single A10G GPU, `seed=0`. ## Usage ```python from ultralytics import YOLO model = YOLO("okra11n-seg.pt") # or okra8n-seg.pt results = model.predict("field.jpg", conf=0.30, retina_masks=True) for r in results: print(r.boxes.xyxy, r.boxes.conf) # okra boxes + confidence print(r.masks.xy) # okra polygon masks ``` > Recommended ultralytics version for inference: **8.4.14** (matches training). ## Intended use & limitations - Built for okra detection/segmentation in greenhouse/field harvest scenes, including green-on-green (okra again...

Source context: 19 downloads · 0 likes · Pipeline image-segmentation · Library ultralytics · Repo Kota0612/okra-seg-detector