Self-Aware Object Detection via Degradation Manifolds
Paper β’ 2602.18394 β’ Published
Paper: arXiv:2602.18394 (Becker et al., 2026)
Implementation by: RobotFlow Labs / AIFLOW Labs
Saga adds degradation-aware self-awareness to any object detector. A lightweight embedding head trained via multi-layer contrastive learning detects when input quality degrades (blur, noise, rain, fog, compression) β enabling safety-critical systems to flag unreliable perception rather than trusting silent failures.
| Metric | Value |
|---|---|
| AUROC (pristine vs degraded) | 0.7991 |
| Detector backbone | yolov10m |
| Training epochs | 7 |
| Embedding dimension | 128 |
| Severity | 1 | 2 | 3 | 4 | 5 |
|---|---|---|---|---|---|
| Paper | 88.64 | 89.70 | 89.75 | 95.28 | 97.14 |
| Ours | TBD | TBD | TBD | TBD | TBD |
import torch
from anima_saga.wrappers.detector_registry import PaperDetectorWrapper
from anima_saga.core.prototype import PristinePrototype
# Load model
model = PaperDetectorWrapper("yolov10m", embedding_dim=128, freeze_backbone=True)
model.load_state_dict(torch.load("pytorch/saga_awareness_v1.pth")["model_state_dict"])
model.eval().cuda()
# Load prototype
prototype = PristinePrototype.load("checkpoints/pristine_prototype.pkl")
# Inference
image = torch.randn(1, 3, 640, 640).cuda() # Your image here
with torch.no_grad():
embedding = model(image)
score = prototype.score_cosine(embedding)
# score ~ 0: pristine, score > 0.5: degraded
print(f"Degradation score: {score.item():.4f}")
| File | Description |
|---|---|
pytorch/saga_awareness_v1.pth |
PyTorch checkpoint (resume training) |
pytorch/saga_awareness_v1.safetensors |
SafeTensors (fast loading) |
onnx/saga_awareness_v1.onnx |
ONNX (cross-platform) |
tensorrt/saga_awareness_v1_fp16.trt |
TensorRT FP16 (Jetson/L4) |
tensorrt/saga_awareness_v1_fp32.trt |
TensorRT FP32 |
checkpoints/pristine_prototype.pkl |
Pristine prototype for scoring |
configs/paper_cuda.toml |
Training config (reproducibility) |
logs/training_history.json |
Loss curves + metrics |
Input (640x640) β YOLOv10-m backbone β Multi-layer features
β 1x1 conv + attention pooling per layer
β Concatenate β MLP projection β L2 normalize
β Cosine distance from pristine prototype = degradation score
@article{becker2026selfaware,
title={Self-Aware Object Detection via Degradation Manifolds},
author={Becker, Stefan and Weiss, Simon and H\"ubner, Wolfgang and Arens, Michael},
journal={arXiv preprint arXiv:2602.18394},
year={2026}
}
Apache 2.0