Skip to content

yan-roo/Kaggle_Sea-Lions-Counting

Repository files navigation

Sea Lion Population Counting

model architecture

This is our solution on NOAA Fisheries Steller Sea Lion Population Count
Based on @outrunner - The 1st-place winner in the competition

Hardware

The following specs were used to create the solution.

  • Ubuntu 16.04 LTS
  • Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz
  • 1x NVIDIA TitanXp

Installation

All requirements should be detailed in requirements.txt. Using Anaconda is strongly recommended.

$ conda create -n sealions python=3.6
$ source activate sealions
$ pip install -r requirements.txt

Dataset Preparation

Download the data from Kaggle or Use Kaggle Api

$ kaggle competitions download -c noaa-fisheries-steller-sea-lion-population-count

Unzip with the key (kaggle2017steller)

$ 7z x KaggleNOAASeaLions.7z

Crop and Divided Images into Training/Validation set

After unzip the 7z file, the data directory is structured as:

Kaggle_Sea-Lions-Counting
  +- TrainDotted
  +- Train
  +- Test
  +- data_password.txt
  +- MismatchedTrainImages.txt
  +- csv
  +- patch-image-csv.ipynb
  +- submit.py
  +- use-keras-to-count-sea-lions.ipynb

Create new directories and use patch-image-csv to create cropped images

$ mkdir 300x300
$ cd 300x300/
$ mkdir sea_lion
$ mkdir background
  +- 300x300
  |  +- sea_lion
  |  +- background

Training

Following the Jupyter Notebook use-keras-to-count-sea-lions. And you will get your training weights in logs directory.

Make Submission use submit.py

$ python submit.py

Use Kaggle API to submit result

$ kaggle competitions submit -c noaa-fisheries-steller-sea-lion-population-count -f submission.csv -m "Message"