The oriented-det zoo now has four detector families. Three of them are on the same canvas: Oriented R-CNN 3×, Rotated Faster R-CNN 3×, and Rotated FCOS 3× — the Hub weights served by the optical demo. All eight DOTA slugs (1× and 3×) now quote official Task 1. The fourth family, Rotated RetinaNet 3×, is 73.89% Task 1 (OBB); it is not on this page. The accuracy pick remains Oriented R-CNN 1× at 76.73% — this page serves 3× weights for tighter boxes.
They are on a static page you can open in a browser. No Python, no GPU, no upload:
dl4eo.com/object-detection-optical-satellite
Pick a detector, pick a scene, then move the confidence slider. The boxes are precomputed; the page only filters what is drawn.

The checkpoints were trained on DOTA (academic-use). The six scenes are a mix of DOTA tiles and commercial optical rasters used as research illustration — not a commercial product. For production detectors on your own imagery, contact DL4EO.
What is on the page Link to heading
Three Hub 3× slugs, ResNet-50 + FPN, DOTA le90. Predictions were inferred at --score-thr 0.05 --nms-thr 0.1. Slider defaults are the page operating points — not the zoo metric. Published AP50 below is official Task 1 (hidden test), not leaky eval-val.
| Model | Architecture | Official Task 1 AP50 | Demo threshold | Hub slug |
|---|---|---|---|---|
| Oriented R-CNN | two-stage, oriented RPN | 74.88% | 0.70 | oriented_rcnn_dota_le90_3x |
| Rotated Faster R-CNN | two-stage, horizontal RPN | 74.48% | 0.60 | rotated_faster_rcnn_dota_le90_3x |
| Rotated FCOS | one-stage, anchor-free | 72.91% | 0.20 | rotated_fcos_dota_le90_3x |
1× Task 1 for the same three families is 76.73% / 74.42% / 73.07%. Finetune from 1×; 3× AP50 is a drop or a wash. The 3× gain is AP75 (51.23 / 45.39 / 45.39). RetinaNet is 71.72% → 73.89% (OBB; HBB is *_hbb). Full table: v0.2.0 zoo.
The page default is Oriented R-CNN. Switching models also resets the slider to that checkpoint’s deploy floor. That is the same trick as the macOS FCOS walkthrough: do not copy 0.70 onto FCOS, or you will drop half the boxes.
Six scenes:
| Scene | Sensor / source | What it stresses |
|---|---|---|
| DOTA vehicles large | DOTA tile | packed buses and cars |
| Pleiades Airport | Pleiades | aircraft at mixed headings |
| Pleiades HD15 Miami Marina | Pleiades | packed ships, harbors, a few vehicles |
| Pleiades Neo Tucson | Pleiades Neo | dense aircraft storage |
| SPOT Storage | SPOT | circular tanks |
| NZ marina | optical | long piers, many headings |
Vehicles: the two-stage models agree, FCOS agrees on geometry Link to heading
The large DOTA bus depot is a packed lot of school buses and cars. At each model’s operating point the counts sit on top of each other: 113 (Oriented R-CNN) / 115 (Faster R-CNN) / 117 (FCOS). Headings follow the parking rows. The visible difference is score calibration, not box shape — FCOS spreads confidence across a wider band; the two-stage heads pile many boxes near 1.00.


If you only look at that DOTA-like tile, you could believe the three detectors are interchangeable. The other five images are there to stop that.
Planes, ships, tanks Link to heading
Airport. All three Oriented-Det models keep 27 aircraft on the Pleiades apron, boxes that follow fuselage heading. That is the easy scene, and it is in the demo so you can see a clean overlay before the marinas get busy.
Tucson. A denser aircraft field. Oriented R-CNN keeps 117 planes (plus 6 helicopters); Faster R-CNN 125 planes plus 13 helicopters; FCOS 118 planes plus 11 helicopters. The overlay is the one I would send someone who still thinks axis-aligned boxes are “good enough” for aircraft:

Miami marina. After a tight merge NMS (IoU 0.1), ship counts line up: 262 / 270 / 277. Harbor is the class that still splits the heads. At the deploy floors, Faster R-CNN keeps 40 harbors; FCOS 24; Oriented R-CNN 10. Oriented’s 0.70 floor is the strictest two-stage setting on the page.

NZ marina. Same story at smaller GSD. FCOS keeps the most ships (340 plus 7 harbors); Oriented R-CNN the fewest (283 ships). Faster R-CNN sits in the middle (323 ships plus 6 harbors).

SPOT storage. Compact circular tanks are close (88 / 92 / 96). On official Task 1, FCOS is not ahead of Faster R-CNN on tanks (84.06 vs 84.91).

How the three Oriented-Det models compare to each other Link to heading
I matched boxes 1-to-1 at oriented IoU ≥ 0.5 with the same class, after each model’s deploy threshold, on all six images together.
| Pair | Matched | F1 | Median IoU |
|---|---|---|---|
| FCOS vs Faster R-CNN | 1,010 | 0.91 | 0.86 |
| FCOS vs Oriented R-CNN | 912 | 0.87 | 0.85 |
| Faster R-CNN vs Oriented R-CNN | 914 | 0.87 | 0.84 |
FCOS vs Faster R-CNN is the closest pair. Oriented R-CNN at 0.70 is the leaner two-stage head — same objects on the DOTA-like tile, fewer harbors and helicopters once the slider sits on its deploy floor. The residual is elongated classes (ships, harbors) and dense marinas, not a different geometry.
Totals at operating points, all six images:
| Class | Oriented R-CNN | Faster R-CNN | FCOS |
|---|---|---|---|
| ship | 545 | 593 | 617 |
| plane | 144 | 152 | 145 |
| small-vehicle | 109 | 115 | 117 |
| storage-tank | 88 | 92 | 96 |
| large-vehicle | 69 | 68 | 72 |
| harbor | 10 | 46 | 31 |
| kept (all classes) | 992 | 1,102 | 1,110 |
In parity with MMRotate Link to heading
MMRotate is the research reference — see the v0.1.1 parity notes and the ProbIoU post. I did run a reference MMRotate Rotated Faster R-CNN on the same six images, same matching rule.
The short version: the three Oriented-Det 3× checkpoints are comparable to that MMRotate run. They do not look like a different product category. Pairwise F1 against MMRotate stays in the high 0.8s; the residual is concentrated on a few dense, out-of-DOTA rasters rather than on the DOTA-like tile.
Latency, for orientation only Link to heading
These numbers are inference duration stored in the prediction JSON — useful as a rough ordering, not as a benchmark. FCOS is the fastest of the three Oriented-Det heads; the two R-CNN heads sit in the same latency band. The MMRotate reference run is in the same order of magnitude.
For a proper Apple Silicon timing table, the FCOS vs Oriented R-CNN macOS note is the better source. The demo page does not re-run the models.
How to read the slider Link to heading
| Detector | Start here | Why |
|---|---|---|
| Oriented R-CNN | 0.70 | peaked two-stage scores; the page default |
| Rotated Faster R-CNN | 0.60 | peaked two-stage scores |
| FCOS | 0.20 | sigmoid head; 0.70 will hide most of the scene |
If you want a fair visual comparison, leave each model on its default threshold, then switch the radio buttons. Dragging all three to the same number is how you convince yourself FCOS is “worse.”
Reproduce the overlays Link to heading
The page is static, but the boxes come from the same CLI as every other post in this series:
odet pretrained download oriented_rcnn_dota_le90_3x
odet pretrained download rotated_faster_rcnn_dota_le90_3x
odet pretrained download rotated_fcos_dota_le90_3x
odet image-demo path/to/scene.jpg hf://oriented_rcnn_dota_le90_3x \
--score-thr 0.70 --nms-thr 0.1 --out-file out_orcnn.png
Swap the slug and threshold for Faster R-CNN (0.60) or FCOS (0.20). Keep --nms-thr 0.1.
Links Link to heading
- Demo: dl4eo.com/object-detection-optical-satellite
- oriented-det on GitHub · PyPI · docs
- Pretrained zoo
- Previous: Rotated FCOS vs Oriented R-CNN on macOS · Oriented-Det v0.2.0 · v0.1.1 / MMRotate parity