SAE Eletroquad 2026 - Hook segmentation (YOLO26n-seg)

Instance-segmentation model for the "hang the wire" hook mission of the SAE Brasil Eletroquad 2026 competition, trained by Black Bee Drones. It segments two classes - rose (each visible segment of the suspended rope) and sphere (the orange sphere on the rope) - and runs on every control-loop tick of the mission. The team finished 2nd overall (official results).

  • Base model: yolo26n-seg.pt (Ultralytics)
  • Task: instance segmentation
  • Classes: rose (0), sphere (1)
  • Input size: 960
  • Dataset: blackbeedrones/sae-2026-hook

Mission

The drone takes off, finds the orange sphere mounted on one of two suspended ropes, parks a fixed distance from it, picks which side of the rope to fly along, turns perpendicular to the rope, descends on LIDAR, releases a hook with a servo, and lands. Because each visible rope segment is its own rose instance, the controller can measure both rope arms and choose a side. The mission runs on a Jetson Orin Nano through Nectar SDK.

Results

Evaluated on the dataset's test split (395 images, 501 instances), NMS iou=0.6. The numbers below are Ultralytics-native (COCO 101-point interpolation); see SUMMARY.md for the full breakdown, including the SDK/torchmetrics figures (which run a different curve discretization and read systematically lower at mAP@50-95).

Metric Box Mask
mAP@50 0.9929 0.9844
mAP@50-95 0.9640 0.8535

Per-class mAP@50-95:

Class Box Mask
rose 0.9450 0.7555
sphere 0.9831 0.9515

Operating-point precision / recall / F1 at the per-class optimal confidences (from the F1 curve):

Class conf Box P / R / F1 Mask P / R / F1
rose 0.47 0.963 / 0.975 / 0.969 0.946 / 0.958 / 0.952
sphere 0.70 0.987 / 0.993 / 0.990 0.987 / 0.993 / 0.990

Training results Mask PR curve Confusion matrix Prediction samples

Recommended inference settings

Setting Value
imgsz 960
iou (NMS) 0.6
conf (rose) 0.47
conf (sphere) 0.70

Predict at the lower of the two confidences and apply a per-class filter, so each class keeps its own threshold.

Usage

Nectar SDK

from nectar.ai.segmentation import Segmentor
from nectar.ai.detection.postprocess import PerClassConfidenceFilter

# loads weights/best.pt from the Hub
segmentor = Segmentor("blackbeedrones/sae-2026-hang-all-yolo26n-seg-v2-960")
segmentor.load()

result = segmentor.segment(image, conf=0.47, iou=0.6, imgsz=960)

# rose=0, sphere=1
per_class = PerClassConfidenceFilter(threshold_mapping={0: 0.47, 1: 0.70}, default_threshold=0.47)
kept = per_class.filter(result.to_supervision())
for seg in result:
    print(seg.class_name, f"{seg.confidence:.2f}", f"area={seg.mask_area}px")

Ultralytics

from huggingface_hub import hf_hub_download
from ultralytics import YOLO

weights = hf_hub_download("blackbeedrones/sae-2026-hang-all-yolo26n-seg-v2-960", "weights/best.pt")
model = YOLO(weights)
results = model.predict("image.jpg", imgsz=960, iou=0.6, conf=0.47)

Training

Trained with Ultralytics through the Nectar SDK on blackbeedrones/sae-2026-hook (Roboflow sae-2026-hang v2: 9,235 train / 396 val / 395 test images). Full configuration in experiment.config.yaml.

Parameter Value
Base model yolo26n-seg.pt
Image size 960
Batch size 48
Epochs up to 250, early-stopped at 165 (patience 20)
LR / schedule 0.01, linear with cosine (cos_lr), lrf=0.01
Weight decay 5e-4
Warmup 3 epochs
EMA on (decay 0.9997)
Augmentation mosaic 1.0 (closed last 10 epochs), HSV, fliplr 0.5, scale 0.5, translate 0.1
Mask overlap_mask=true, mask_ratio=4
Seed 42

Files

  • weights/best.pt - recommended checkpoint (best validation).
  • weights/last.pt, weights/epoch*.pt - last and per-epoch checkpoints.
  • evaluation/ - curves, confusion matrix, prediction samples, per-class CSV/JSON.
  • experiment.config.yaml, args.yaml, results.csv - training configuration and log.
  • SUMMARY.md - full evaluation breakdown and threshold analysis.

References

Downloads last month
4,056
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Dataset used to train blackbeedrones/sae-2026-hang-all-yolo26n-seg-v2-960

Collection including blackbeedrones/sae-2026-hang-all-yolo26n-seg-v2-960

Evaluation results