No description, website, or topics provided.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
.ipynb_checkpoints
keras
torch
README.md Update README.md Nov 4, 2018
overview.png
result_gen.py
sample.csv Add support for generating segmentation masks from RLE pixels Sep 6, 2018
train_sample.csv
train_ship_segmentations.csv
train_ship_segmentations_v2.csv
unet-model.ipynb

README.md

Aisbus Ship Detection Challenge

A deep learning model that detects all ships in satellite images as quickly as possible.. The solution is based on U-Net model. The work in this repository is a step by step implementation from loading the data in pandas data frame to training a deep learning model for the Kaggle challenge.

The ipython notebook unet-model.ipynb has the python code for solution. For designing the solution and choosing the model for the solution first we analyze the dataset we have. The dataset has satellite images of ships in ocean or on docks as th input images. The expected output is given in train_segmentations.csv in the form of ImageId -> RLE Encoded Vector. The output of the images in data set are encoded using Run Length Encoding (RLE), the expected output for the problem is a RLE mask of ships with background as a two color image.

The goal of choosing U-Net model for the solution is based on the data set we have. After mining the dataset and observing the positive samples (i.e. those samples which have at least one ship in the input image) in the dataset U-Net is one choice for solution based on its application. U-Net is a segmentation model which uses a strong data augmentation to use the available annotated samples more efficiently. Its architecture consists of a contracting path to capture context and a symmetric expanding path that enables precise localization.

Results

By training the model for 5 epochs on a batch size of 200 I achieved a baseline accuracy of 50.12%. And yet the model has to be trained on full training data for a larger time to see the progress.