Open a browser. Pick a detector, pick a scene, move the slider.
dl4eo.com/object-detection-optical-satellite
Three detectors are on the page. Give each its own starting score, or the comparison lies:
| Detector | Start here |
|---|---|
| Oriented R-CNN | 0.70 |
| Faster R-CNN | 0.60 |
| FCOS | 0.20 |
The boxes are already computed. The page only chooses which ones to draw.

The checkpoints were trained on DOTA. The six scenes mix DOTA tiles and commercial optical pictures, shown here so you can compare the boxes. For a detector 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 those 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 ResNet table: v0.2.0 zoo. The zoo peak is RTMDet-S 3× at 77.60%, which this page does not serve.
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.


Counts and headings on this 3× tile sit together. The other five images on the page are the ones that split the heads. The 1× demo.jpg bus lot is a separate case: Rotated Faster R-CNN stays messy on the diagonal rows, in OrientedDet and in official MMRotate — see that check.
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 for these 3× weights, FCOS storage-tank is 84.06 and Faster R-CNN is 84.91. The 1× pair in the zoo table is 84.28 and 84.41.

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.
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