Instructions to use nasa-ibm-ai4science/Ice-Prospectivity-NASA-IBM-Lunar-Foundation-Model with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- TerraTorch
How to use nasa-ibm-ai4science/Ice-Prospectivity-NASA-IBM-Lunar-Foundation-Model with TerraTorch:
from terratorch.registry import BACKBONE_REGISTRY model = BACKBONE_REGISTRY.build("nasa-ibm-ai4science/Ice-Prospectivity-NASA-IBM-Lunar-Foundation-Model") - Notebooks
- Google Colab
- Kaggle
NASA-IBM LFM — Polar Ice Prospectivity
Fine-tuned polar ice-prospectivity checkpoint for the NASA-IBM Lunar Foundation Model (NASA-IBM LFM).
Dense regression of lunar polar ice prospectivity from an eight-layer polar map stack — a per-pixel estimate of where water ice is most likely within the upper ~1 m of regolith. This is the benchmark with the widest margin over baselines in the whole paper.
The released checkpoint uses full fine-tuning — the adaptation strategy that performed best here. Test RMSE 0.0293 ± 0.0013, MAE 0.0197 ± 0.0009, R² 0.9884 ± 0.0010: a 22% RMSE reduction over the strongest ImageNet-pretrained baseline (SwinV2-B, 0.0377 ± 0.0004), with a gap far beyond run-to-run variation. Every pretrained NASA-IBM LFM variant — full, LoRA, and frozen — outperforms all baselines on every metric.
Two distinct advantages contribute, and the paper separates them. Our encoder gives each modality its own pretrained patch-embedding adapter and concatenates the resulting tokens along the sequence axis (native token-level late fusion), whereas the baselines can only stack the input layers as channels at a shared stem. An architecturally identical random-init control shares that tokenization without lunar pretraining and already reaches RMSE 0.0397 ± 0.0004, ahead of five of the seven ImageNet baselines; lunar pretraining accounts for the remaining gap down to 0.0293.
📄 Full method and tables: paper · 💻 Fine-tuning code and configs: GitHub · 🧠 Pretrained backbone: nasa-ibm-lunar-fm
Qualitative ice-prospectivity predictions on test patches across the south and north poles. The last row shows our model using only slope, aspect, and DICE, illustrating competitive performance even with a drastically reduced input set.
Checkpoint at a glance
| Science theme | Polar volatiles |
| Task | Dense regression, continuous target in [0, 1] |
| Input | 8 polar modalities (9 channels), 256 × 256 px at 240 m/px |
| Extent | Within 10° latitude of each pole |
| Splits (train/val/test) | 108 / 23 / 25 patches |
| Backbone | NASA-IBM LFM ViT-B, FlexiViT patch size 8 (32 × 32 token grid) |
| Adaptation | Full fine-tuning with layer-wise LR decay 0.85 |
| Fusion | Per-modality PatchedInputAdapter, tokens concatenated along the sequence axis |
| Decoder | ViTDet Simple Feature Pyramid → FPN → sum-fuse → 4-stage GroupNorm+GELU head → 1×1 conv |
| Loss | MSE |
| Test RMSE / MAE / R² | 0.0293 ± 0.0013 / 0.0197 ± 0.0009 / 0.9884 ± 0.0010 |
| License | Apache-2.0 |
Repository contents
config.yaml TerraTorch config
ni_lfm_ps8_all_modalities_s42.ckpt Full fine-tuned encoder + decoder/head weights
Full fine-tuning modifies the encoder, so this checkpoint is self-contained (unlike the LoRA and frozen-encoder releases for the other benchmarks). You do not need to separately download the base backbone to run inference.
Benchmark dataset
Ships as part of SomBench. The polar map stack is from Coyan et al. (2025), packaged as eight static layers within 10° latitude of each pole at 240 m/px:
| Key | Layer | Category |
|---|---|---|
DICE |
Ice stability depth | Thermophysical constraint |
TMAX |
Maximum surface temperature | Thermophysical constraint |
LPSR |
Permanently shadowed regions (PSRs) | Illumination state |
LPSR_DEN |
PSR density | Cold-trap "halo" spatial context |
LPSR_DIS |
Distance to PSRs | Cold-trap "halo" spatial context |
slope |
Slope | Terrain control |
aspect |
Aspect (sine–cosine pair, 2 channels) | Terrain control |
CUR |
Curvature | Terrain control |
Eight modalities, nine channels — aspect is stored as a sine–cosine pair to avoid angular wrap-around. Topographic derivatives are computed from the DTM; thermal layers come from a numerical thermal model calibrated to Diviner observations. PSRs are computed via horizon/visibility modeling.
Only slope and aspect were seen during pretraining. The other six inputs are registered as new input
modalities into the pretrained backbone at fine-tuning time.
About the target
The regression target is the final continuous ice-prospectivity map of Coyan et al. (2025), originally computed as a knowledge-driven fuzzy overlay of the eight input layers. This matters for interpretation: the model learns to reproduce a physically motivated expert model, not measured ice.
Intended use
Emulating and extending the Coyan et al. polar ice-prospectivity map — for example over new polar terrain, at reduced input availability (see the ablation below), or as a differentiable component in a larger analysis. Also a starting point for fine-tuning on other polar dense-regression targets.
Out of scope.
- The target is a model, not a measurement. Outputs regress a knowledge-driven fuzzy-overlay prospectivity map. They are not measured ice, not a resource estimate, and not evidence of ice presence at any location.
- Not validated for mission decisions — landing-site selection, ISRU resource prospecting, or traverse planning. Prospectivity maps of this kind are exploration-targeting aids and this emulation inherits every assumption of the underlying fuzzy overlay.
- Polar only — within 10° latitude of each pole, at 240 m/px. Behavior outside that extent or resolution is untested.
- Not evaluated on other planetary bodies; no geodetic reference frame is maintained (inherited from the backbone).
Usage
Runs through TerraTorch, configured from YAML. The companion repo adds the SomBench benchmark datamodules, backbone wrappers, support for registering new input modalities into the pretrained backbone (needed here for the six polar-only layers), and FlexiViT patch-embedding interpolation.
git clone https://github.com/NASA-IMPACT/NASA-IBM-Lunar-Foundation-Model && cd $_
pip install -e .
# reproduce the fine-tune
terratorch fit --config configs/finetune/ice_prospectivity.yaml
# evaluate a released checkpoint
terratorch test --config configs/finetune/ice_prospectivity.yaml \
--ckpt_path ice_prospectivity/checkpoint.ckpt
from huggingface_hub import snapshot_download
local = snapshot_download("nasa-ibm-ai4science/Ice-Prospectivity-NASA-IBM-Lunar-Foundation-Model")
Exact registry names and full hyperparameters are in the GitHub repo.
Evaluation
All backbones are fine-tuned through TerraTorch with the data loaders, splits, augmentations, loss, and evaluation metric held fixed — only encoder weights and initialization differ. Values are mean ± standard deviation over 5 random seeds; bold is the best per column, underline the second best.
Baselines are ResNet-50, ViT-B MAE, ConvNeXt-B, ConvNeXt-V2-B, SwinV2-B, and DaViT-B initialized from public ImageNet-1k/22k weights, plus two from-scratch controls: a random-init ResNet-50 and an architecturally identical random-init copy of our model. The baselines share the same FPN, decoder, and head, but — lacking native multimodal support — must early-concatenate the nine input bands as channels at the stem, whereas our model uses per-modality pretrained adapters with token-level late fusion.
Full eight-modality polar stack
| Model | RMSE ↓ | MAE ↓ | R² ↑ |
|---|---|---|---|
| ResNet-50 (ImageNet) | 0.0788 ± 0.0004 | 0.0568 ± 0.0004 | 0.9162 ± 0.0009 |
| ResNet-50 (random init) | 0.0695 ± 0.0007 | 0.0495 ± 0.0005 | 0.9347 ± 0.0013 |
| ViT-B MAE (ImageNet) | 0.0917 ± 0.0009 | 0.0674 ± 0.0007 | 0.8865 ± 0.0021 |
| ConvNeXt-B (IN22k) | 0.0442 ± 0.0008 | 0.0301 ± 0.0005 | 0.9737 ± 0.0009 |
| ConvNeXtV2-B (IN22k) | 0.0439 ± 0.0008 | 0.0298 ± 0.0006 | 0.9739 ± 0.0010 |
| SwinV2-B (ImageNet) | 0.0377 ± 0.0004 | 0.0256 ± 0.0003 | 0.9808 ± 0.0004 |
| DaViT-B (ImageNet) | 0.0469 ± 0.0007 | 0.0321 ± 0.0005 | 0.9704 ± 0.0009 |
| NASA-IBM LFM (ps8, random init) | 0.0397 ± 0.0004 | 0.0271 ± 0.0003 | 0.9787 ± 0.0005 |
| NASA-IBM LFM (ps8, full FT) | 0.0293 ± 0.0013 | 0.0197 ± 0.0009 | 0.9884 ± 0.0010 |
| NASA-IBM LFM (ps8, LoRA) | 0.0330 ± 0.0005 | 0.0224 ± 0.0004 | 0.9853 ± 0.0004 |
| NASA-IBM LFM (ps8, frozen) | 0.0357 ± 0.0007 | 0.0246 ± 0.0005 | 0.9828 ± 0.0007 |
Modality-count ablation
Starting from the two modalities seen during pretraining (aspect, slope) at m = 2 and incrementally adding polar-stack layers that neither model ever saw during pretraining, in the order DICE → TMAX → LPSR → LPSR_DEN → LPSR_DIS → CUR. Compared against ConvNeXt-B as one of the strongest convolutional baselines. Test-set RMSE (lower is better), mean ± std over 3 random seeds; bold is the lower mean per column.
| Model | m=2 (as, sl) |
m=3 +DICE |
m=4 +TMAX |
m=5 +LPSR |
m=6 +DEN |
m=7 +DIS |
m=8 +CUR |
|---|---|---|---|---|---|---|---|
| ConvNeXt-B (IN22k) | 0.2083 ± 0.0086 |
0.0614 ± 0.0007 |
0.0522 ± 0.0007 |
0.0513 ± 0.0004 |
0.0509 ± 0.0005 |
0.0517 ± 0.0007 |
0.0437 ± 0.0002 |
| NASA-IBM LFM (ps8) | 0.1981 ± 0.0063 |
0.0434 ± 0.0006 |
0.0412 ± 0.0009 |
0.0393 ± 0.0002 |
0.0403 ± 0.0010 |
0.0398 ± 0.0004 |
0.0288 ± 0.0011 |
At m = 2 the two models are within seed variance of one another. The m = 8 LFM value (0.0288 ± 0.0011) differs slightly from the main table's 0.0293 ± 0.0013 because the ablation uses 3 seeds rather than 5.
What to read from these tables
- Widest margin in the paper. Full fine-tuning cuts RMSE from 0.0377 (best baseline) to 0.0293 — roughly 22% — and the gap exceeds seed spread by an order of magnitude. All three pretrained variants beat all seven baselines on every metric.
- Architecture and pretraining both contribute, and they can be separated. The random-init control shares our token-level late fusion without any lunar pretraining and reaches 0.0397, already ahead of five of the seven ImageNet baselines. Pretraining accounts for the rest of the way to 0.0293. The baselines' handicap is structural: they can only stack the nine bands as channels at a shared stem.
- Full fine-tuning is the right choice here — one of only two benchmarks in the paper where it beats LoRA. The extra capacity to adapt pays off in a small-sample regime with six input modalities never seen in pretraining. LoRA (0.0330) still beats every baseline if you need the parameter savings.
- Three modalities are enough to match a baseline using all eight. At m = 3 (aspect, slope, DICE) our model reaches RMSE 0.0434 ± 0.0006, matching ConvNeXt-B's full eight-layer result (0.0437 ± 0.0002). The pretraining advantage is realized in the sparse-input regime, not only at full stack.
- Slope and aspect alone are insufficient. At m = 2 both models collapse to RMSE ≈ 0.2 regardless of pretraining — terrain shape alone does not determine ice prospectivity, and DICE is the single most informative addition.
Training configuration
| Framework | TerraTorch, YAML-configured |
| Backbone | ViT-B, patch size 8, 32 × 32 token grid, 12 blocks |
| Encoder taps | blocks 2, 5, 8, 11 → distinct SFP scale heads (upsample 4× / 2× / identity / MaxPool → strides 4/8/16/32) |
| Fusion | one pretrained PatchedInputAdapter per modality, tokens concatenated along the sequence axis (preserves per-modality pretraining) |
| Fusion (baselines) | early channel-concatenation of the nine bands at a shared stem |
| Neck / decoder | torchvision FPN unifying all levels to 256 channels → bilinear upsample to finest scale → sum-fuse → upsample to 256 × 256 → 4-conv GroupNorm+GELU head → 1 × 1 regression conv |
| Loss | MSE |
| Optimizer | AdamW, β = (0.9, 0.98), ε = 1e-6, weight decay 0.05, gradient-norm clip 0.5 |
| LR | 3e-4 on both backbone and head; layer-wise LR decay 0.85 on our pretrained backbone, flat on every baseline |
| Schedule | batch size 4, 130 warm-up steps (≈10 epochs) then cosine decay to 1e-6, 100 epochs |
| Normalization | per-channel z-score standardization |
| Augmentation | D4 group (rotations + flips) |
| Seeds | 5 (main comparison), 3 (ablation) |
Every ablation configuration uses the same architecture, LR schedule, and training length as its baseline row, so the comparison stays controlled to the axis being varied.
Limitations
- The target is a knowledge-driven model, not measured ice. The single most important caveat — see About the target and Out of scope.
- 25 test patches, drawn from the same two polar regions as training. Metrics are within-domain and carry wide confidence intervals.
- Six of eight input modalities were never pretrained on, so this checkpoint is tied to the specific polar stack and its processing conventions.
Citation
@article{fraccaro2026lfm,
title = {Multimodal-Multiresolution Foundation Model for Lunar Remote Sensing},
author = {Fraccaro, Paolo and Nyirjesy, Gabby and Szwarcman, Daniela and Patil, Himanshu
and Gaur, Vishal and Lal, Rohit and Slank, Rachel A. and Dawson, Geoffrey
and Debary, Hiyam and Dionelis, Nikolaos and Barker, Michael K. and Annex, Andrew
and Viswanathan, Vishnu and Morse, Zachary and Schaefer, Ethan I. and Kumar, Ankur
and Watson, Campbell D. and Dawson-Rigas, Rebekah I. and Maskey, Manil
and Roy, Sujit and Ramachandran, Rahul and Bernab\'e-Moreno, Juan},
year = {2026}
}
@misc{sombench2026collection,
author = {Patil, Himanshu and Nyirjesy, Gabby and Slank, Rachel A. and Gaur, Vishal
and Szwarcman, Daniela and Fraccaro, Paolo and Dionelis, Nikolaos and Barker, Michael K.
and Annex, Andrew and Viswanathan, Vishnu and Morse, Zachary and Schaefer, Ethan I.
and Debary, Hiyam and Kumar, Ankur and Lal, Rohit and Dawson, Geoffrey
and Watson, Campbell and Dawson-Rigas, Rebekah I. and Maskey, Manil
and Bernab\'e-Moreno, Juan and Ramachandran, Rahul and Roy, Sujit},
title = {{SomBench}: Benchmark Dataset for Advancing Machine Learning in Lunar Science},
year = {2026},
howpublished = {\url{https://huggingface.co/collections/nasa-ibm-ai4science/lunar-fm-ml-ready-benchmark-dataset-sombench}}
}
@article{coyan2025prospectivity,
title = {Prospectivity mapping for lunar polar water ice},
author = {Coyan, Jessica A. and others},
year = {2025}
}
Please also cite TerraMind (Jakubik et al., 2025), TerraTorch (Gomes et al., 2025), and FlexiViT (Beyer et al., 2023). Data products courtesy of LOLA and Diviner.
Acknowledgments
Supported by NASA under Award No. 80MSFC25M0084. Data products courtesy of LOLA, Diviner, and USGS.
Contact: Sujit Roy (sujit.roy@nasa.gov) · Paolo Fraccaro (paolo.fraccaro@ibm.com)
- Downloads last month
- 43