No description, website, or topics provided.
Switch branches/tags
Nothing to show
Clone or download
Latest commit a4150d2 Sep 14, 2017

Kaggle Carvana Image Masking Challenge solution with Keras

This solution was based on Heng CherKeng's code for PyTorch. I kindly thank him for sharing his work. 128x128, 256x256, 512x512 and 1024x1024 U-nets are implemented. Public LB scores for each U-net are:

U-net LB score
128x128 0.990
256x256 0.992
512x512 0.995
1024x1024 0.996


Update 28.8.2017

  • Added loss with weighted boundary (thanks to lyakaap)

Update 15.8.2017

  • Added Hue/Saturation/Value augmentation.
  • Switched to RMSprop optimizer as default.
  • Added multithreaded inference with inference and data loading done on separate threads. This reduced inference time by 40% in my tests. You can run to try it.

Update 10.8.2017

  • Added 1024x1024 U-net
  • Not using predict_generator anymore due to memory constraints with large input

Update 9.8.2017

  • Using Binary Crossentropy Dice Loss in place of Binary Crossentropy
  • Callbacks now use val_dice_loss as a metric in place of val_loss


  • Keras 2.0 w/ TF backend
  • sklearn
  • cv2
  • tqdm
  • h5py



Place 'train', 'train_masks' and 'test' data folders in the 'input' folder.

Convert training masks to .png format. You can do this with:

mogrify -format png *.gif

in the 'train_masks' data folder.


Run python to train the model.

Test and submit

Run python to make predictions on test data and generate submission.