Skip to content

Roadmap

High-level plan for Oriented-Det after v0.3 (four ResNet-FPN detectors, DOTA Task 1 zoo, HRSC Hub 3×, FAIR1M / SSDD / HRSID loaders, ONNX pre-NMS for FCOS / Oriented R-CNN / Faster R-CNN).

Maintainers: a longer planning doc lives at docs/roadmap-detailed.md (gitignored, local only).

Releases

Version Focus
v0.1 Shipped — Oriented R-CNN, Rotated Faster R-CNN, Rotated RetinaNet; DOTA; odet train; Hub
v0.1.1 Shipped — ProbIoU Faster R-CNN on Hub (DOTA zoo is now 1×: 74.42% official Task 1)
v0.2 Shipped — Rotated FCOS (anchor-free single-stage); DOTA le90 Hub rotated_fcos_dota_le90_1x (73.07% official Task 1)
v0.3 Shipped — HRSC2016 loader + Hub 3× zoo; FAIR1M loader + 1× recipes + tutorial; SSDD + HRSID native loaders + 1× recipes (finetune DOTA 1× Hub; no SAR zoo); ONNX pre-NMS restore (python -m export; DOTA 1024 tiles)
v0.4.0 Shipped — Rotated RTMDet (CSPNeXt-S + PAFPN); Hub rotated_rtmdet_dota_le90_3x, 77.60% official Task 1
v0.4.1 Shipped — Citation and discoverability (CITATION.cff, shared oriented/rotated + aerial/satellite copy)
v0.4.2 Native YOLO-OBB (already in the tree; COCO pretrain and DOTA training next)
v0.4.3 Rotated RTMDet-S multi-scale DOTA, after YOLO-OBB. Same 3× recipe as rotated_rtmdet_dota_le90_3x
v0.5–v0.8 Swin-FPN backbone; Oriented R-CNN + Swin-T on Hub; extend to FCOS / speed models
v1.0 Stable API, hosted docs, complete model zoo (accuracy / balanced / speed tiers)

v0.4.3 detail. MMRotate’s RTMDet-s MS+RR line is 79.98% mAP50. The multi-scale part is the tile set, not a new head: patch 1024, overlap 500, resize rates 0.5 / 1.0 / 1.5. Three train_tiles_dirs are enough; data_loader.shuffle already mixes them. Validation stays on the single-scale tiles. A number next to 79.98% also needs the multi-scale test split and patch merge, not only single-scale odet dota-submit. tools/tile_dota.py can set the overlap today. It has no resize-rate flag.

Model tiers (target v1.0)

Tier Models
Accuracy Oriented R-CNN, Rotated Faster R-CNN (probiou) — ResNet50 and Swin-T
Balanced Rotated FCOS
Speed RTMDet-R, native Rotated YOLO-OBB
Legacy Rotated RetinaNet (L1; MMRotate parity)
Datasets DOTA, HRSC2016, FAIR1M, SSDD, HRSID

Closed ablations (not Hub)

  • RetinaNet ProbIoU 1× — no zoo-worthy gain vs L1 (~63% vs 64% eval-val); keep L1 RetinaNet only
  • Extra FRCNN angle / rIoU-aux recipes — did not beat the published ProbIoU 1.0 / 0.1 recipe
  • FCOS 1× ProbIoU aux — 66.8% train-time mAP50 vs 76.5% for 1× KFIoU aux; recipe removed

Ongoing

  • Ongoing: Hosted MkDocs site and dataset tutorials
  • Ongoing: Optional GPU / fused CUDA rotated IoU/NMS (profiling-driven; unblocked now that FCOS shipped)
  • Ongoing: ONNX remaining scope — RetinaNet pre-NMS detect graph; keep_ratio + pad canvas (HRSC / SSDD / HRSID); sliding-window tiling. Three-detector DOTA-tile export shipped in v0.3 (python -m export; see ONNX export).

Out of scope (for now)

  • Ultralytics wrapper or AGPL dependencies
  • End-to-end DETR-style detectors in core odet train
  • MMCV / MMDet as runtime dependencies
  • RetinaNet ProbIoU Hub weights; FRCNN angle-fine-tune Hub twin without a clear eval-val win

See Contributing for areas where help is welcome.