Eklavya16's picture
Update README.md
b6618a8 verified
metadata
license: apache-2.0
tags:
  - computer-vision
  - image-segmentation
  - satellite-imagery
  - remote-sensing
  - pytorch
  - uncertainty-estimation
datasets:
  - 38-cloud
metrics:
  - iou
  - dice
  - precision
  - recall
  - f1

🌍 AERIS β€” Cloud Detection for Landsat 8

AERIS (Automated Environmental Remote Imaging System) is a deep learning model for cloud segmentation in Landsat 8 satellite imagery with built-in uncertainty quantification using Monte Carlo Dropout.

The model performs high-accuracy binary segmentation on 4-channel satellite inputs (RGB + NIR).


πŸ”Ž Model Description

  • Architecture: U-Net
  • Encoder: ResNet34
  • Input: 4-channel (Red, Green, Blue, Near-Infrared)
  • Input Size: 256 Γ— 256
  • Output: Binary cloud segmentation mask
  • Framework: PyTorch + segmentation-models-pytorch
  • Uncertainty Estimation: MC Dropout (30 stochastic forward passes)

AERIS not only predicts cloud masks but also provides calibrated confidence estimates for more reliable remote sensing workflows.


πŸ“Š Performance

Evaluation on the 38-Cloud dataset:

Metric Score
Validation IoU 92.20%
Dice Coefficient 94.28%
Precision 92.15%
Recall 96.73%
F1 Score 94.28%
Expected Calibration Error (ECE) 0.70%

Low ECE indicates strong confidence calibration.


πŸ‹οΈ Training Details

  • Dataset: 38-Cloud (16,800 training patches)
  • Loss Function: Combined Dice + Binary Cross-Entropy
  • Optimizer: AdamW (learning rate = 1e-4)
  • Epochs: 30
  • Hardware: NVIDIA RTX 4060

πŸš€ Usage

Installation

pip install torch torchvision
pip install segmentation-models-pytorch

Load Model

import torch
import segmentation_models_pytorch as smp

model = smp.Unet(
    encoder_name="resnet34",
    in_channels=4,
    classes=1
)

model.load_state_dict(torch.load("Aeris_Model.pth", map_location="cpu"))
model.eval()

Inference

with torch.no_grad():
    output = model(input_tensor)  # input_tensor shape: [B, 4, 256, 256]

For uncertainty estimation, run multiple stochastic forward passes with dropout enabled.


πŸ“Œ Intended Use

  • Satellite image preprocessing
  • Atmospheric correction pipelines
  • Cloud cover estimation
  • Weather monitoring systems
  • Remote sensing research

⚠️ Limitations

  • Trained only on Landsat 8 imagery
  • Input size fixed at 256Γ—256 patches
  • Performance may degrade on unseen satellite domains
  • Binary cloud detection (does not classify cloud types)

πŸ“œ License

This model is released under the Apache 2.0 License.


🀝 Contributions

Contributions, improvements, and research collaborations are welcome.