--- library_name: transformers tags: - SAR - EO - regression - sentinel-1 - ocean - wave-height - earth-observation - remote-sensing - satellite-imagery - synthetic-aperture-radar - foundation-model - linear-probing - oceanography - marine-forecasting - open-source - ocean-wind license: apache-2.0 pipeline_tag: image-classification base_model: - galeio-research/OceanSAR-1 --- # Model Card for OceanSAR-1-wave ## Model Details ### Model Description OceanSAR-1-wave is a linear probing head for significant wave height (SWH) prediction built on top of the OceanSAR-1 foundation model. It leverages the powerful features extracted by OceanSAR-1 to accurately predict ocean wave heights from Synthetic Aperture Radar (SAR) imagery. - **Developed by:** Thomas Kerdreux, Alexandre Tuel @ [Galeio](http://galeio.fr) - **Deployed by:** Antoine Audras @ [Galeio](http://galeio.fr) - **Model type:** Linear Regression Head on Vision Foundation Model - **License:** Apache License 2.0 - **Base model:** OceanSAR-1 (ResNet50/ViT variants) - **Training data:** Sentinel-1 Wave Mode (WV) SAR images with collocated wave height measurements ## Uses ### Direct Use This model is designed for significant wave height prediction from SAR imagery over ocean surfaces. It can be used for: - Near-real-time wave height estimation from SAR images - Marine weather forecasting - Ocean state monitoring - Maritime safety applications - Wave climate studies ### Performance Results The model achieves state-of-the-art performance in linear probing on significant wave height prediction, with performance varying by backbone architecture: | Backbone | SWH RMSE (m) | |----------|--------------| | ResNet50 | 0.63 | | ViT-S/16 | 0.57 | | ViT-S/8 | 0.55 | | ViT-B/8 | 0.54 | ## How to Use ```python import torch from transformers import AutoModelForImageClassification # Load the foundation model and the linear probing head oceansar = AutoModelForImageClassification.from_pretrained("galeio-research/OceanSAR-1") # Prepare your SAR image (should be single-channel VV polarization) # Here using random data as example dummy_image = torch.randn(1, 1, 256, 256) # (C, H, W) # Extract features with torch.no_grad(): outputs = oceansar(dummy_image) # For regression, use the single output value as the wave height prediction wave_height = outputs.logits.item() # Output in meters ``` ## Training Details ### Training Data - **Dataset:** Sentinel-1 Wave Mode (WV) SAR images with collocated wave height measurements - **Source:** Wave height measurements from altimeters, buoys, and wave models - **Preprocessing:** Same as base OceanSAR-1 model ## Evaluation ### Metrics Significant wave height prediction performance is evaluated using Root Mean Square Error (RMSE), achieving: - 0.63 m RMSE with ResNet50 backbone - 0.57 m RMSE with ViT-S/16 backbone - 0.55 m RMSE with ViT-S/8 backbone - 0.54 m RMSE with ViT-B/8 backbone ### Comparison to Other Models The model outperforms existing approaches: - MoCo: 0.77 m RMSE - DeCUR: 0.82 m RMSE - SoftCon (ViT-S/14): 0.78 m RMSE - SoftCon (ViT-B/14): 0.79 m RMSE ## Technical Specifications ### Hardware Requirements - Same as base model - Minimal additional computational cost for inference ### Dependencies - PyTorch >= 1.8.0 - Transformers >= 4.30.0 - Base OceanSAR-1 model ### Input Specifications - Same as base OceanSAR-1 model - Single channel (VV polarization) SAR images - 256x256 pixel resolution ## Citation **BibTeX:** ```bibtex @article{kerdreux2025efficientselfsupervisedlearningearth, title={Efficient Self-Supervised Learning for Earth Observation via Dynamic Dataset Curation}, author={Kerdreux, Thomas and Tuel, Alexandre and Febvre, Quentin and Mouche, Alexis and Chapron, Bertrand}, journal={arXiv preprint arXiv:2504.06962}, year={2025}, eprint={2504.06962}, archivePrefix={arXiv}, primaryClass={cs.CV}, url={https://arxiv.org/abs/2504.06962}, } ``` ## Acknowledgements This work was granted access to the HPC resources of IDRIS and TGCC under the allocation 2025-[A0171015666] made by GENCI.