SAR-VesselBench / README.md
roth1414's picture
Add files using upload-large-folder tool
ae8b604 verified
|
Raw
History Blame Contribute Delete
4.69 kB
---
license: other
license_name: mixed-per-checkpoint
license_link: https://github.com/jroth1414/SAR-VesselBench#license
tags:
- sar
- remote-sensing
- vessel-detection
- xview3
- sentinel-1
- transfer-learning
library_name: pytorch
---
# SAR-VesselBench: 32 controlled vessel-detection checkpoints
Fine-tuned dark-vessel detectors for Sentinel-1 SAR from the SAR-VesselBench
label-efficiency study ([code and evidence](https://github.com/jroth1414/SAR-VesselBench)).
Two size-matched tracks (ViT-B/16 and ConvNeXt-V2-Base) each compare four
initializations β€” random, optical remote sensing, SAR, and ImageNet β€” at four
nested label budgets (12, 28, 56, and 111 xView3-SAR training scenes). Every
cell shares one CenterNet-style point detector, optimizer, schedule,
scene-level split, and seed, trained in strict FP32 on one eight-GPU H100
node, one single-GPU process per cell.
Each file here is the cohort-bound **best development checkpoint** of one
cell: a PyTorch Lightning checkpoint containing the full detector (encoder,
adapter, and 256-channel head; ~90M parameters ViT track, ~94M CNN track).
`TRAINING_COHORT.json` binds every checkpoint's SHA-256, selected epoch, and
development-selected operating threshold; verify any download against it.
## Results (seed-0 point estimates)
Development-selection F1 / once-scored held-out 16-scene test F1 at each
cell's checkpoint-bound operating threshold:
| Track | Init | 10% (12) | 25% (28) | 50% (56) | 100% (111) |
|---|---|---|---|---|---|
| ViT-B/16 | Random | 0.8030 / 0.7042 | 0.8563 / 0.7372 | 0.8912 / 0.8101 | 0.8958 / 0.8101 |
| ViT-B/16 | Optical (SatDINO) | 0.8902 / 0.8198 | 0.8802 / 0.8279 | 0.9136 / 0.8495 | 0.9268 / 0.8465 |
| ViT-B/16 | SAR (SARMAE) | 0.8857 / 0.8041 | 0.8624 / 0.7715 | 0.9161 / 0.8672 | 0.9289 / 0.8748 |
| ViT-B/16 | ImageNet (AugReg) | 0.8761 / 0.8103 | 0.8716 / 0.8051 | 0.9284 / 0.8545 | 0.9399 / 0.8569 |
| ConvNeXt-V2-B | Random | 0.7992 / 0.6571 | 0.8167 / 0.7065 | 0.8664 / 0.7807 | 0.8919 / 0.8124 |
| ConvNeXt-V2-B | Optical (BigEarthNet S2) | 0.7992 / 0.6712 | 0.8063 / 0.7024 | 0.8586 / 0.7616 | 0.8636 / 0.7948 |
| ConvNeXt-V2-B | SAR (BigEarthNet S1) | 0.8762 / 0.8000 | 0.8868 / 0.8025 | 0.8998 / 0.8521 | 0.9068 / 0.8221 |
| ConvNeXt-V2-B | ImageNet (FCMAE+sup) | 0.8856 / 0.7810 | 0.9005 / 0.8481 | 0.9221 / 0.8807 | 0.9387 / 0.8966 |
Headline findings: transfer concentrates its value under label scarcity; the
SAR-versus-optical contrast is architecture-dependent (SAR wins the CNN track
at every budget, optical leads the ViT track below half data, and the
held-out split confirms the sign at every budget); and held-out scoring
reverses one development-selection conclusion β€” the full-data ViT winner
flips from ImageNet to SAR. Two SAR test curves violate a 0.02 monotonicity
tolerance as the budget grows; treat the grid as descriptive seed-0 point
estimates. Test scenes are Sentinel-1 revisits of regions near training
scenes, so absolute values measure in-region generalization.
## File naming
`<arm>-f<fraction>-s0/checkpoints/best.ckpt`, where `<arm>` is one of
`vitrand`, `satdino`, `sarmae`, `vitin1k` (ViT track) or `cnnrand`, `beS2`,
`beS1`, `cnnin1k` (CNN track), and `<fraction>` is the label budget in
percent (10, 25, 50, 100).
## Loading
Checkpoints load through the study's code (`HeatmapLitModule.load_from_checkpoint`
from the [SAR-VesselBench repository](https://github.com/jroth1414/SAR-VesselBench),
which also defines the whole-scene tiled-inference path and the frozen
scorer). Inputs are three-channel decibel tensors `[VH, VV, VH-VV]`
normalized with the repository's committed training statistics; each cell's
operating threshold is recorded in `TRAINING_COHORT.json`.
## License β€” read before use
These checkpoints are fine-tuned derivatives of released pretrained
encoders, and each cell inherits its source's terms:
| Cells | Source encoder | Inherited terms |
|---|---|---|
| `sarmae-*` | SARMAE (SAR-1M) | **CC BY-NC 4.0 β€” noncommercial use only** |
| `satdino-*` | SatDINO (fMoW-RGB) | Apache-2.0 |
| `beS1-*`, `beS2-*` | BigEarthNet-v2 ConvNeXt | upstream model-card terms |
| `vitin1k-*`, `cnnin1k-*` | timm ImageNet-1K | Apache-2.0 |
| `vitrand-*`, `cnnrand-*` | none (random init) | MIT (this project) |
The four `sarmae-*` checkpoints may not be used commercially. Fine-tuning
data is xView3-SAR (Paolo et al., NeurIPS 2022); its labels and imagery
retain their own distribution terms.
## Citation
John Roth and Kyle Wagner. *Label-Efficient Dark-Vessel Detection in SAR:
Does SAR-Domain Pretraining Outperform Optical and ImageNet Transfer Across
ViT and CNN?* Johns Hopkins University, EN.705.643, August 2026.