Octopus "Nity" — Segmentation + Detection Models
Small deployable models for a captive Octopus vulgaris monitoring pipeline. The heavy
teachers (GroundingDINO + SAM2 for masks; large VLM for labels) are used offline only;
these are the distilled students meant to run continuously on commodity hardware.
Contents
octo_seg_v3_lraspp_BEST.pt — deployable single-class octopus segmenter (LR-ASPP, 3.2 M params).
Auto-labelled by GroundingDINO+SAM2 (SAM2 video propagation), distilled to this compact head.
octo_seg_v*_*.pt — size/architecture sweep (compact U-Net widths + LR-ASPP variants).
clip_mlp_hardneg_v2.pt — CLIP ViT-B/32 + MLP octopus presence detector (letterbox preprocessing,
mined reflection/IR hard negatives).
Results
- Presence gate: mask-area as a presence signal reaches AUC 0.86 overall, 0.99 vs. tank-glass
reflections (0% reflection false-positives at threshold, 88% present-recall) — reflection-robust.
- Pixel masks (limitation): IoU plateaus ~0.47 (video-diversity generalisation gap); improving
via more diverse training footage, not a larger model.
- Detector: ~96.8% on an internal detection test set.
Checkpoint format (seg)
torch.load(...) dict with state_dict, arch (unet/lraspp), base_ch, in_size, val.
Inference: see segment_octopus.py in the project repo.
Ethics
Private-aquarium footage, EC directive 2010/63/EU sub-threshold, FELASA-compliant. No raw footage in the models.