TideTrace oil slick segmenter

Three class semantic segmentation of Sentinel-1 SAR: sea, look-alike, mineral oil. Trained for TideTrace, the SIH26143 oil spill attribution console.

Files

file what it is
oil_unet_best.pt the shipped checkpoint, weights and metadata, kept under 80 MB
oil_unet_best.report.json metrics, and the dB threshold baseline on the same tiles
last_state.pt optimiser state for resuming a Kaggle session, not needed for inference
training_state.json epoch and best metrics, small enough to poll
code/app/ the source snapshot that produced the weights

Architecture

  • UnetPlusPlus, encoder timm-efficientnet-b0, ImageNet initialised
  • 3 classes, 512 tiles, VV and VH in dB with VV repeated to a third channel
  • Weighted cross entropy plus soft Dice, oil class weighted 2.5
  • AdamW 1e-4, cosine schedule, AMP

The checkpoint carries its own architecture and normalisation statistics, so inference never guesses what it was trained on.

Honest evaluation

The report file always prints the trained model next to the published -22 dB dark patch baseline, measured on identical validation tiles. A model that does not beat that baseline is not worth shipping, and the comparison is there so anyone can check rather than take it on trust.

Intended use

Detecting candidate oil slicks in SAR for investigation. Output is a ranked likelihood, not proof that any vessel discharged anything.

Licence

MIT for the weights and code. Training data is CC BY 4.0 from Zenodo; cite it.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support