Kaggle: Carvana Image Masking Challenge
Vladimir Iglovikov
Data Scientist at Lyft
Kaggle Master
PhD in Physics
Kaggle: Carvana Image Masking Challenge
(1st out of 735)
Classification
Cat (0.99)
Dog(0.01)
Classification to Segmentation: FCN8
- Removed Dense Layers
- Added Simple Decoder (Upsampling + Conv)
FCN8 to SegNet
FCN8
SegNet
Replaced simple Decoder with Hierarchical Decoder
SegNet to UNet
SegNet
UNet
Added skip connections
Any binary Image Segmentation => UNet
Medical Imaging
Satellite Imaging
MICCAI 2017 (Top medical imaging conference)
Robotic Instrument Segmentation
9 research groups + our team.
4 evenings. 1st place.
(Paper in preparation)
Gastrointestinal Image ANAlysis (GIANA)
11 research groups + our team
8 evenings. 1st place.
(2 papers in preparation)
Kaggle: Carvana Image Masking Challenge
- Train: 5088 Images
- Public test: 1200
- Private test: 3664
- Extra test: 95200
- Resolution 1918x1280
Team
UNet modifications
UNet
UNet11
UNet with random weight initialization
UNet with pre-trained VGG11 encoder
Metric and Loss Function
Binary cross entropy
Augmentations and tricks
- flips
- scale
- rotation
- brightness
- contrast
- saturation
- conversion to grayscale
- Bagging
- Cyclic Learning Rate
Extra facts
- Prize => $12,000
- Time spent ~10 evenings
- Time to train on one GPU => 90 days
- Time to predict => 13 days
- ~20 GPUs used
UNet is great but has issues
- Many classes => PSPNet, etc
- Slow and heavy => lighter encoders
- Does not catch sharp corners => better loss function
66 classes
Blog post: Carvana Image Masking Challenge–1st Place Winner's Interview
Winning code: https://github.com/asanakoy/kaggle_carvana_segmentation
Weights for UNet11 trained on Carvana: https://github.com/ternaus/TernausNet
Title TextTitle Text
By Vladimir Iglovikov
Title TextTitle Text
- 3,710