Morton Analytics
NGA RCO Maritime Domain Awareness · Spiral 1 concept

Which vessels in this SAR pass have no AIS identity?

One Sentinel-1 pass over the San Pedro Bay anchorage. Radar detections are correlated against AIS positions interpolated to the second of the pass. Vessels with an identity go to one list, vessels without one to another with the nearest AIS report as a hint, and the whole thing is scored against AIS as truth, by vessel length.

Open data only (Copernicus Sentinel-1 Level-1 GRD, NOAA AIS). One scene, dual-polarization input at 10 m, a threshold detector compared with a published learned detector. This is a Morton Analytics demonstration, not an NGA system; no government-furnished or classified data was used.

What this page is evidence of

Three states, and nothing moves between them without a committed artifact behind it.

Demonstrated here
  • Sentinel-1 GRD ingest: windowed read from public S3, gamma0 calibration, thermal-noise subtraction, geocoding to a 10 m UTM grid
  • 10 m dual-polarization input (VV and VH)
  • Cell-averaging CFAR ship detection with hull-scale merging
  • Learned detector: the published AI2 xView3 checkpoint, evaluated on this scene
  • Repeat-pass static-target filter
  • AIS interpolation to scene time, dead reckoning for one-sided reports
  • Gated optimal assignment of detections to AIS vessels
  • Precision, recall and F1 against AIS truth, recall by length bin
  • GeoJSON data packet with detection IDs and matched MMSIs
Proposed for Government evaluation
  • Detector fine-tuned on our own AIS-derived labels, rerun on the same scenes so the change is attributable
  • Sentinel-2 EO as the second phenomenology behind the same detection schema
  • Cross-scene tracker with stable object IDs
  • Parquet and PostGIS data packet with provenance columns
  • Scene-triggered batch pipeline on one cloud service provider
Not yet demonstrated
  • Tracking across observations
  • Any EO phenomenology
  • Re-identification or position prediction
  • Multi-cloud, edge, or tip-and-cue
  • F1 for a tracking model at the LOE minimum
  • Any classified or government-furnished data

The scene

Click a point for its properties. The rectangle is the AOI; the map tiles are OpenStreetMap, not the radar image.

Scorecard

AIS vessels are truth. A matched detection is a true positive, an unmatched detection a false positive, an AIS vessel with no detection a false negative. AIS is incomplete truth (Class B, non-reporting vessels), so precision is a lower bound.

Recall by vessel length

Counts

Detector comparison

Same scene, same AIS truth, same association and scoring. The first row is the earlier run on a non-commercial input, kept so the change is visible.

Match distance, detection centroid to interpolated AIS position

The residual: detections with no AIS identity

This list is the product. Each unmatched detection carries the nearest AIS report of any vessel within 60 minutes and 1 km, or none.

AIS vessels the detector missed

Map to LOE 1, Spiral 1 objectives

The six objectives as written in the challenge's Lines of Effort document, each with its evidence state on this page.

Method and reproduce

Data

Steps, GRD run

    Unchanged steps

      Reproduce

      
        

      Attribution

      Limitations

      Privacy

      The server writes one line per request to its application log: path, method, status code and a coarse user-agent class (browser, bot, or command line). It sets no cookies and writes no IP addresses or referrers at the application layer. The hosting platform (DigitalOcean App Platform) keeps its own connection logs, which we do not control or export. Map tiles and fonts are requested by your browser directly from OpenStreetMap, cdnjs and Google Fonts under their own policies.