docs: link UniSAR-7M and add framework figure and manuscript citation
Browse files- .gitattributes +1 -0
- README.md +47 -9
- assets/framework_overview.png +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
assets/framework_overview.png filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -7,11 +7,30 @@ tags:
|
|
| 7 |
- self-supervised-learning
|
| 8 |
- feature-extraction
|
| 9 |
library_name: pytorch
|
|
|
|
|
|
|
| 10 |
---
|
| 11 |
|
| 12 |
# DINOSAR
|
| 13 |
|
| 14 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
## Released checkpoints
|
| 17 |
|
|
@@ -20,9 +39,9 @@ Pretrained SAR image encoders for **DINOSAR: Large-Scale SAR Self-Supervised Pre
|
|
| 20 |
| [dinosar_s16_unisar7m_60e.pth](dinosar_s16_unisar7m_60e.pth) | ViT-S/16 | UniSAR-7M | 60 | 330360 | 384 |
|
| 21 |
| [dinosar_b16_unisar7m_60e.pth](dinosar_b16_unisar7m_60e.pth) | ViT-B/16 | UniSAR-7M | 60 | 275340 | 768 |
|
| 22 |
|
| 23 |
-
Both models are pretrained on UniSAR-7M
|
| 24 |
|
| 25 |
-
Files contain teacher backbone-only PyTorch tensor state dictionaries. They exclude projection heads and optimizer states and are intended for feature extraction and downstream initialization, not exact training resumption. See
|
| 26 |
|
| 27 |
## Loading
|
| 28 |
|
|
@@ -37,8 +56,8 @@ from dinosar.model import load_backbone_from_config
|
|
| 37 |
|
| 38 |
name = "dinosar_b16_unisar7m_60e" # or dinosar_s16_unisar7m_60e
|
| 39 |
repo = "YTang/DINOSAR"
|
| 40 |
-
#
|
| 41 |
-
revision = "
|
| 42 |
weights = hf_hub_download(repo, name + ".pth", revision=revision)
|
| 43 |
config_path = hf_hub_download(repo, "configs/" + name + ".yaml", revision=revision)
|
| 44 |
config = yaml.safe_load(Path(config_path).read_text())["model"]
|
|
@@ -57,10 +76,29 @@ print(cls.shape, patches.shape)
|
|
| 57 |
|
| 58 |
The encoders use one input channel, patch size 16, and four register tokens. For the classification evaluation pipeline, use grayscale imagery, aspect-ratio-preserving resize and zero padding to 224 x 224, conversion to a [0, 1] tensor, and normalization with mean 0.219 and standard deviation 0.220. Use the companion code's `ResizeAndPad` implementation to match evaluation behavior. These statistics describe the prepared image representation, not arbitrary raw complex-valued SAR measurements. Dense prediction tasks use their own documented preprocessing protocols.
|
| 59 |
|
| 60 |
-
##
|
| 61 |
|
| 62 |
-
|
| 63 |
|
| 64 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
|
| 66 |
-
|
|
|
|
| 7 |
- self-supervised-learning
|
| 8 |
- feature-extraction
|
| 9 |
library_name: pytorch
|
| 10 |
+
datasets:
|
| 11 |
+
- YTang/UniSAR-7M
|
| 12 |
---
|
| 13 |
|
| 14 |
# DINOSAR
|
| 15 |
|
| 16 |
+
**Self-supervised SAR image encoders with content-aware view construction.**
|
| 17 |
+
|
| 18 |
+
DINOSAR learns transferable representations from single-channel synthetic aperture radar imagery. Its Content-Aware Multi-Crop (CAMC) strategy constructs informative and diverse views for teacher–student self-distillation.
|
| 19 |
+
|
| 20 |
+
**Paper:** *DINOSAR: Large-Scale SAR Self-Supervised Pretraining with Content-Aware View Construction*
|
| 21 |
+
**Status:** Submitted to the **International Journal of Digital Earth (IJDE)**.
|
| 22 |
+
|
| 23 |
+
[UniSAR-7M dataset](https://huggingface.co/datasets/YTang/UniSAR-7M) · [Pretrained checkpoints](#released-checkpoints) · [Citation](#citation)
|
| 24 |
+
|
| 25 |
+
[](assets/framework_overview.png)
|
| 26 |
+
|
| 27 |
+
*DINOSAR pretraining framework.* CAMC generates two global views and local views from a SAR structural content map and content anchors. The teacher processes global views, while the student processes all views. The teacher is updated by an exponential moving average of the student. Click the figure for full resolution.
|
| 28 |
+
|
| 29 |
+
## Method
|
| 30 |
+
|
| 31 |
+
CAMC derives structural content maps from multi-scale ratio-gradient responses and samples views by balancing informative scattering content, anchor proximity, and coverage diversity. Pretraining combines image-level DINO distillation, patch-level iBOT distillation, and KoLeo regularization. Teacher targets use Sinkhorn–Knopp normalization; student predictions use softmax.
|
| 32 |
+
|
| 33 |
+
The ViT backbones use single-channel inputs, rotary position embeddings (RoPE), and four register tokens. They follow the DINOv3-compatible architecture with a single-stage self-distillation recipe. The exported teacher encoders provide global image representations and spatial patch features for downstream learning.
|
| 34 |
|
| 35 |
## Released checkpoints
|
| 36 |
|
|
|
|
| 39 |
| [dinosar_s16_unisar7m_60e.pth](dinosar_s16_unisar7m_60e.pth) | ViT-S/16 | UniSAR-7M | 60 | 330360 | 384 |
|
| 40 |
| [dinosar_b16_unisar7m_60e.pth](dinosar_b16_unisar7m_60e.pth) | ViT-B/16 | UniSAR-7M | 60 | 275340 | 768 |
|
| 41 |
|
| 42 |
+
Both models are pretrained for 60 epochs on [UniSAR-7M](https://huggingface.co/datasets/YTang/UniSAR-7M), a corpus of 7,047,666 SAR image samples, using CAMC. The [Dataset Card](https://huggingface.co/datasets/YTang/UniSAR-7M#data-sources-and-composition) documents the source composition, curation, download instructions, and usage considerations. Different effective batch sizes produce different step counts: 1280 for ViT-S and 1536 for ViT-B.
|
| 43 |
|
| 44 |
+
Files contain teacher backbone-only PyTorch tensor state dictionaries. They exclude projection heads and optimizer states and are intended for feature extraction and downstream initialization, not exact training resumption. See [manifest.json](manifest.json) and [SHA256SUMS](SHA256SUMS) for file metadata and integrity verification.
|
| 45 |
|
| 46 |
## Loading
|
| 47 |
|
|
|
|
| 56 |
|
| 57 |
name = "dinosar_b16_unisar7m_60e" # or dinosar_s16_unisar7m_60e
|
| 58 |
repo = "YTang/DINOSAR"
|
| 59 |
+
# Fixed revision containing the released weights and model configurations.
|
| 60 |
+
revision = "159c352055e64dc5703f59254920bc8473870272"
|
| 61 |
weights = hf_hub_download(repo, name + ".pth", revision=revision)
|
| 62 |
config_path = hf_hub_download(repo, "configs/" + name + ".yaml", revision=revision)
|
| 63 |
config = yaml.safe_load(Path(config_path).read_text())["model"]
|
|
|
|
| 76 |
|
| 77 |
The encoders use one input channel, patch size 16, and four register tokens. For the classification evaluation pipeline, use grayscale imagery, aspect-ratio-preserving resize and zero padding to 224 x 224, conversion to a [0, 1] tensor, and normalization with mean 0.219 and standard deviation 0.220. Use the companion code's `ResizeAndPad` implementation to match evaluation behavior. These statistics describe the prepared image representation, not arbitrary raw complex-valued SAR measurements. Dense prediction tasks use their own documented preprocessing protocols.
|
| 78 |
|
| 79 |
+
## Intended use and validation
|
| 80 |
|
| 81 |
+
The encoders support frozen feature extraction and initialization for downstream SAR classification, detection, segmentation, and image–text retrieval. Task-specific heads, annotations, and training protocols are required for those applications. The pretrained backbones alone do not constitute complete detectors, segmenters, or image–text models.
|
| 82 |
|
| 83 |
+
Both released files were matched by SHA256 to their final pretraining evaluation checkpoints and verified by strict loading and a finite-output forward pass. Reproducing manuscript results requires the corresponding downstream evaluation settings. Transfer performance can depend on sensor characteristics, acquisition conditions, and image preprocessing; see the [dataset limitations](https://huggingface.co/datasets/YTang/UniSAR-7M#intended-uses-and-limitations) for the scope of the pretraining corpus.
|
| 84 |
+
|
| 85 |
+
## Licensing
|
| 86 |
+
|
| 87 |
+
The weight license statement is pending provenance review. Code, upstream dependencies, and training imagery have separate usage terms; the companion software license should not be interpreted as a blanket license for the weights or dataset. Training-data attribution and usage information is provided in the [Dataset Card](https://huggingface.co/datasets/YTang/UniSAR-7M#source-attribution-and-usage-terms).
|
| 88 |
+
|
| 89 |
+
## Citation
|
| 90 |
+
|
| 91 |
+
If DINOSAR contributes to your research, please cite the associated manuscript:
|
| 92 |
+
|
| 93 |
+
Yan Tang, Yifeng Jin, Zekai Miao, Min Ji, Yu Duan, Shaoming Zhang, and Jianmei Wang. *DINOSAR: Large-Scale SAR Self-Supervised Pretraining with Content-Aware View Construction.* 2026. **Submitted to the International Journal of Digital Earth (IJDE).** Yan Tang and Yifeng Jin contributed equally.
|
| 94 |
+
|
| 95 |
+
```bibtex
|
| 96 |
+
@unpublished{tang2026dinosar,
|
| 97 |
+
title = {{DINOSAR}: Large-Scale {SAR} Self-Supervised Pretraining with Content-Aware View Construction},
|
| 98 |
+
author = {Tang, Yan and Jin, Yifeng and Miao, Zekai and Ji, Min and Duan, Yu and Zhang, Shaoming and Wang, Jianmei},
|
| 99 |
+
year = {2026},
|
| 100 |
+
note = {Submitted to the International Journal of Digital Earth}
|
| 101 |
+
}
|
| 102 |
+
```
|
| 103 |
|
| 104 |
+
This citation records the current submission status. Publication details will be updated when available.
|
assets/framework_overview.png
ADDED
|
Git LFS Details
|