Skip to content

michal-nahlik/kaggle-clouds-2019

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Understanding Clouds from Satellite Images

Multiclass segmentation of cloud patterns in satellite images.

alt text alt text

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%).

Description

  • 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

Results

Local dice: 0.64465
Public leaderboard score: 0.65574
Private leaderboard score: 0.65455

Model raw output dice

Model Backbone Local Dice
FPN efficientnet-b4 0.46
Unet efficientnet-b4 0.444
EncNet resnet50 0.445
DeepLabV3 resnet50 0.436

Class dice score after ensemble and postprocessing

Class Fish Flower Gravel Sugar
Local Dice 0.578186 0.750014 0.642398 0.608013

Example of mask and model output

alt text

About

Kaggle - Understanding Clouds from Satellite Images - multiclass image segmentation

Topics

Resources

Stars

Watchers

Forks