MARE Lunar Rover Baselines

Segmentation and depth models trained on the synthetic MARE Lunar Rover Dataset, recorded in the MARE simulator. They are the baselines of the MARE paper; the training and evaluation code is in MARE-Dataset-Baselines.

All models were trained on maps 000-005, selected on map 006 and scored on map 007, terrain never seen in training. Scores are at the dataset's native resolution.

Folder Task Model Input Test
depth monocular depth Depth Anything V2-Small, fine-tuned rgb_central AbsRel 0.027, RMSE 1.63 m, δ<1.25 0.984
object objects U-Net, ResNet-34 encoder (ImageNet) rgb_central mIoU 0.596
object_deeplabv3plus objects DeepLabV3+, ResNet-50 encoder (ImageNet) rgb_central mIoU 0.570
object_segformer objects SegFormer-B2 (MiT-B2 encoder, ImageNet) rgb_central mIoU 0.586
rear_object objects U-Net, ResNet-34 encoder (ImageNet) rear_rgb mIoU 0.666
rear_shadow shadows U-Net, ResNet-34 encoder (ImageNet) rear_rgb mIoU 0.849
shadow shadows U-Net, ResNet-34 encoder (ImageNet) rgb_central mIoU 0.854
shadow_deeplabv3plus shadows DeepLabV3+, ResNet-50 encoder (ImageNet) rgb_central mIoU 0.804
shadow_segformer shadows SegFormer-B2 (MiT-B2 encoder, ImageNet) rgb_central mIoU 0.801
spad_object objects U-Net, ResNet-34 encoder (ImageNet) spad mIoU 0.484
spad_shadow shadows U-Net, ResNet-34 encoder (ImageNet) spad mIoU 0.709

Each folder holds model.safetensors and config.json (class names, input size, per-class test IoU, training settings, code commit and dataset revision).

Usage

Segmentation models are segmentation-models-pytorch networks; inputs are RGB images resized to input_size (width, height) and normalized with the ImageNet mean and standard deviation.

import json
import segmentation_models_pytorch as smp
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file

config = json.load(open(hf_hub_download("raulcastar/mare-lunar-baselines", "object/config.json")))
model = smp.Unet("resnet34", encoder_weights=None, classes=config["classes"])
model.load_state_dict(load_file(hf_hub_download("raulcastar/mare-lunar-baselines", "object/model.safetensors")))
model.eval()

Use smp.DeepLabV3Plus("resnet50", ...) and smp.Segformer("mit_b2", ...) for the other architectures. The depth model is Depth Anything V2-Small fine-tuned for metric depth: load the base model with transformers.AutoModelForDepthEstimation, then depth/model.safetensors; metric depth in metres is 10 / predicted_depth.

With the training repository, mare_baselines.predict runs any of these models on a folder of images:

hf download raulcastar/mare-lunar-baselines --local-dir results/hub
docker compose run --rm train mare_baselines.predict --run object --results /results/hub --images /data

License

The U-Net, DeepLabV3+ and depth weights are released under CC BY 4.0. The SegFormer weights derive from NVIDIA's MiT-B2 ImageNet weights and are subject to the NVIDIA SegFormer license (non-commercial use).

Citation

@misc{castilla2026mare,
  title         = {{MARE}: An Open-Source Lunar Rover Simulator with Shadow Ground Truth for Perception and Autonomy},
  author        = {Castilla-Arquillo, Ra{\'u}l and Olivares-Mendez, Miguel},
  year          = {2026},
  eprint        = {2610.28465},
  archivePrefix = {arXiv},
  primaryClass  = {cs.RO},
  url           = {https://arxiv.org/abs/2610.28465}
}
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

Dataset used to train raulcastar/mare-lunar-baselines

Paper for raulcastar/mare-lunar-baselines