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:

DetectorStart here
Oriented R-CNN0.70
Faster R-CNN0.60
FCOS0.20

The boxes are already computed. The page only chooses which ones to draw.

Pleiades airport — Rotated Faster R-CNN 3× at score ≥ 0.60, 27 aircraft

Pleiades airport — Rotated Faster R-CNN 3× at score ≥ 0.60, 27 aircraft

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.

ModelArchitectureOfficial Task 1 AP50Demo thresholdHub slug
Oriented R-CNNtwo-stage, oriented RPN74.88%0.70oriented_rcnn_dota_le90_3x
Rotated Faster R-CNNtwo-stage, horizontal RPN74.48%0.60rotated_faster_rcnn_dota_le90_3x
Rotated FCOSone-stage, anchor-free72.91%0.20rotated_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:

SceneSensor / sourceWhat it stresses
DOTA vehicles largeDOTA tilepacked buses and cars
Pleiades AirportPleiadesaircraft at mixed headings
Pleiades HD15 Miami MarinaPleiadespacked ships, harbors, a few vehicles
Pleiades Neo TucsonPleiades Neodense aircraft storage
SPOT StorageSPOTcircular tanks
NZ marinaopticallong 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.

DOTA vehicles large — Rotated Faster R-CNN 3×, 115 boxes at score ≥ 0.60

DOTA vehicles large — Rotated Faster R-CNN 3×, 115 boxes at score ≥ 0.60

DOTA vehicles large — Rotated FCOS 3×, 117 boxes at score ≥ 0.20

DOTA vehicles large — Rotated FCOS 3×, 117 boxes at score ≥ 0.20

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:

Pleiades Neo Tucson — Rotated Faster R-CNN 3×, 125 planes

Pleiades Neo Tucson — Rotated Faster R-CNN 3×, 125 planes

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.

Pleiades HD15 Miami marina — Rotated Faster R-CNN 3× at score ≥ 0.60

Pleiades HD15 Miami marina — Rotated Faster R-CNN 3× at score ≥ 0.60

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

NZ marina — Rotated Faster R-CNN 3×, 323 ships

NZ marina — Rotated Faster R-CNN 3×, 323 ships

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.

SPOT storage — Rotated Faster R-CNN 3×

SPOT storage — Rotated Faster R-CNN 3×


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.

PairMatchedF1Median IoU
FCOS vs Faster R-CNN1,0100.910.86
FCOS vs Oriented R-CNN9120.870.85
Faster R-CNN vs Oriented R-CNN9140.870.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:

ClassOriented R-CNNFaster R-CNNFCOS
ship545593617
plane144152145
small-vehicle109115117
storage-tank889296
large-vehicle696872
harbor104631
kept (all classes)9921,1021,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.



Written on September 6, 2026 by Jeff Faudi. Link to heading