What this page is evidence of
Three states, and nothing moves between them without a committed artifact behind it.
- 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
- 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
- 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
- Contains modified Copernicus Sentinel data 2020, processed by Morton Analytics. Level-1 GRD read from the Sinergise
sentinel-s1-l1cmirror on the AWS Open Data Registry; Copernicus Sentinel data licence CC BY-SA 3.0 IGO. - Learned detector: Bastani, F., Wolters, P., Hendrix, R., Ferdinando, J. and Kembhavi, A., "Vessel Detection in Sentinel-1 Imagery", Allen Institute for AI xView3 submission; code and weights
xview3-nov20-combo8at allenai/sar_vessel_detect, Apache License 2.0. The weights were trained on xView3 labels (CC BY-NC-SA 4.0); this is an evaluation of the published checkpoint, not a fine-tune. - AIS: NOAA Office for Coastal Management and BOEM, MarineCadastre.gov, 2020 daily vessel traffic data, public domain.
- Map tiles: OpenStreetMap contributors, ODbL. Map library: Leaflet, BSD-2.
- GRD calibration and geocoding, CFAR detector, association, scoring and this page: Morton Analytics LLC.
Limitations
- One scene, one date, one phenomenology. No tracks across passes, so nothing here is a tracker.
- Nothing under 50 m was detected by any detector, CFAR or learned. The length-bin table shows where the misses are; the fix is a detector trained on labels from this kind of scene.
- AIS is incomplete truth. An unmatched detection is either a non-reporting vessel or a transient sea-surface return; a single pass cannot tell which.
- Geocoding is a thin-plate spline through the annotation grid moved to ellipsoid height, with no terrain correction. That holds over open water; it would not over land.
- The anchorage on this date held large ships at rest. It was chosen to prove the loop, not to stress the detector.
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.