File size: 2,814 Bytes
b6618a8 82c7859 b6618a8 82c7859 b6618a8 82c7859 b6618a8 82c7859 b6618a8 82c7859 b6618a8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | ---
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
```bash
pip install torch torchvision
pip install segmentation-models-pytorch
```
### Load Model
```python
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
```python
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. |