/deep-surf

Creating surf related data using live beach cam feeds

Primary LanguagePython

deep-surf

The goal of this repo is to record the number of surfers currently in the water at Scheveningen Noord. We aim to make those predictions using Object Detection. In the future we aim to be able to record wave height and wave quality using Deep Learning and to apply our methodology to beaches all over the world.

Contributions are welcome, please read our guidelines.

Currently this repo includes:

  • Tools to make data collection easy

Installation

Use Python 3.6! Because TensorFlow 1.10 does not support Python 3.7.

Install package inside virtualenv

Create a virtualenv, for example:

python -m venv ~/pyvenvs/deepsurf

Activate it:

source ~/pyvenvs/deepsurf/bin/activate

Now install the package + dependencies + test dependencies (e.g. flake8 and pytest) in editable mode:

pip install -e ".[test]"

You need to re-activate the virtualenv to be able to make use of the newly installed executables

You can now import deepsurf from Python, as long as the virtualenv is active. Even in Jupyter Notebook. Any changes you make in this directory directly take effect, because it's installed in editable mode (-e flag).

Data

There are two key data elements: Images and Annotations.

Images

Image data is collected hosted on scheveningenlive.nl. We currently collect data from two web cams:

  1. Surf Webcam sample webcam data

  2. Sportsstrand Webcam

Annotations

Annotations record objects that can be found in an image and thier respective location in that image.

Command Line Tools

We have command line tools! In this repo command line tools are well documented and can be found here.