Home - SummerBigData/Iceberg GitHub Wiki

Welcome to the Iceberg wiki!

Click on the side pages to direct yourself to the exploration of interest.

If there are any questions, feel free to email me here: [email protected]

Programming Assignment: Statoil/C-CORE Iceberg Classifier Challenge

Overview

Icebergs present a navigational threat to many areas around the world, including the east coast of Canada. The Sentinel-1 satellite constellation uses C-Band horizontally polarized radar to penetrate the atmosphere and records reflections in horizontal and vertical polarization. These values are given in dB. The goal is to identify whether a candidate object is an iceberg or a ship. In terms of computer vision, this gives us a two-channel, 75 x 75 image with values ranging substantially. We are also provided the angle in degrees between the satellite, ship or iceberg, and the earth's surface.

Here is an image of the first 25 objects, where the polarization have been mapped to color:

Seven python codes were written (so far)

  • iceDataPrep.py: Called to grab data, arrange or reshape data, and perform augmentation here
  • icecnn.py: The main code for training a convolutional neural network on the dataset here
  • icecnnTester.py: Use the weights and model from main code to double check the percentages, used for unsupervised learning here
  • iceunsup.py: Use pseudo-labeled data augmentation to train a convolutional neural network here
  • iceSubmit.py: Uses a successful model and weights to create a formatted submission csv file here
  • iceVAE.py: Applies a variational autoencoder on the images to look for groupings and may aid in data augmentation here