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

  1. Removed Dense Layers
  2. 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

  1. Train: 5088 Images
  2. Public test: 1200
  3. Private test: 3664
  4. Extra test: 95200
  5. 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

  1. flips
  2. scale
  3. rotation
  4. brightness
  5. contrast
  6. saturation
  7. conversion to grayscale
  1. Bagging
  2. Cyclic Learning Rate

Extra facts

  1. Prize => $12,000
  2. Time spent ~10 evenings
  3. Time to train on one GPU => 90 days
  4. Time to predict => 13 days
  5. ~20 GPUs used

UNet is great but has issues

  1. Many classes => PSPNet, etc
  2. Slow and heavy => lighter encoders
  3. Does not catch sharp corners => better loss function

66 classes