BeaverCube Cloud Segmentation โ€” SmallCloudNet

U-Net trained to detect clouds in imagery simulated from the Matrix Vision mvBlueFOX-IGC-200w camera on the BeaverCube 2 CubeSat (MIT), using the CloudSEN12-L1C Sentinel-2 dataset.

Model details

Property Value
Architecture U-Net (SmallCloudNet)
Parameters 1.86M
Input size (training) 33ร—33 px
Input size (inference) any (fully convolutional)
Classes clear, thick cloud, thin cloud, shadow

Performance

Metric Value
Mean IoU 0.38
Mean F1 0.54
Accuracy 64%
Clear IoU 0.58
Thick cloud IoU 0.45
Shadow IoU 0.27
Thin cloud IoU 0.22

Usage

import torch
from model import SmallCloudNet

model = SmallCloudNet(in_ch=3, num_classes=4)
checkpoint = torch.load("best_model.pth", map_location="cpu")
model.load_state_dict(checkpoint["model_state_dict"])
model.eval()

# img: float32 tensor (1, 3, H, W) normalised to [0, 1]
with torch.no_grad():
    logits = model(img)               # (1, 4, H, W)
    mask   = logits.argmax(dim=1)     # (1, H, W)

Training data

CloudSEN12-L1C (Sentinel-2 L1C), preprocessed to simulate BlueFOX GSD (153.75 m) via:

  1. Gaussian PSF blur (ฯƒ = 1.6 px, derived from Kowa 16mm lens Airy disk)
  2. 15.65ร— INTER_AREA downsample (512ร—512 โ†’ 33ร—33)
  3. Read + shot noise augmentation applied each epoch
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