Multiclass segmentation of cloud patterns in satellite images.
Code for Kaggle's Understanding Clouds from Satellite Images Challenge. This solution has scored 0.65455 (Dice) on private leaderboard and ranked 161st place (top 11%).
-
PyTorch
-
Ensemble of 4 pretrained models from Segmentation Models (Unet, FPN) and FastFCN (EncNet, DeepLabV3)
-
Optimizer: RAdam (lr=0.005)
-
Metric: Dice
-
Loss: Focal + log dice
-
Scheduler: ReduceLROnPlateau
-
Preprocessing: Resize from 1400x2100 to 320x480
-
Postprocessing: Threshold, Remove small masks, Draw convex hull mask
-
Albumentations augmentations
-
Trained on 80% of data (stratified based on mask areas)
-
35 epochs, models with best Dice score were selected for ensemble
Local dice: 0.64465
Public leaderboard score: 0.65574
Private leaderboard score: 0.65455
Model | Backbone | Local Dice |
---|---|---|
FPN | efficientnet-b4 | 0.46 |
Unet | efficientnet-b4 | 0.444 |
EncNet | resnet50 | 0.445 |
DeepLabV3 | resnet50 | 0.436 |
Class | Fish | Flower | Gravel | Sugar |
---|---|---|---|---|
Local Dice | 0.578186 | 0.750014 | 0.642398 | 0.608013 |