/CNN_class_wave_images

Deep Learning model (CNN) that categorically classifies wave images by wave height.

Primary LanguageJupyter Notebook

CNN_class_wave_images

This repository is framed in the final project of "Introduction to Data Science and Machine Learning" postgraduate degree by Universitat de Barcelona (2021-2022 course).

Overview

The main objective of this project is to develop a Convolutional Neural Network model that classifies sea waves images into different categories according to their energy (by using the significant wave height, Hs, as a proxy of the wave energy).

This classification problem has been tackled in two ways:

  • As a multiclass problem, classifying the wave images into 4 categories: Calm, Low, Moderate and High energy waves.
  • As a binary problem, classifying the wave images into 2 categories: Low and High energy waves.

Contents of the repository

This repository is organised in two folders:

It is important to note that the two datasets in this folder are already pre-processed. The data found here can already be used directly for the developed model.

wave height data

Here, you will find the matrix with the timeseries of the waves in CSV format. This file contains the time, the significant wave height (Hs, in meters), and other wave parameters such as the peak wave period (Tp, in seconds), and the wave direction (Dir, in degrees).

Due to the fact that the source of the wave Hs database is from numerical modelling (SIMAR dataset from Puertos del Estado), a pre-process of validation and calibration with instrumental data were needed. In the data pre-processing folder you can find the MATLAB script and some plots developed for wave calibration.

wave images data

Here, you will find the images used to train and test the model. The images have been edited in order to "help" the model for the classification, again, in the data pre-processing folder you can find the notebook developed.

The source of the original images is from the Video Monitoring System of Castelldefels beach managed by Coastal Morphodynamics (UPC) and Coastal Ocean Observatory (ICM-CSIC).

Besides the data pre-processing folder mentioned before, here, you will find the notebooks developed as follows:

  • 1- Preparing the data for the model.
  • 2- Training the model.
  • 3- Check the results of the model.

These notebooks are developed for both multiclass and binary approach.

Results

The following confusion matrices show the results obtained from the test set for both multiclass and binary approach.

Multiclass Approach Binary Approach
cf_m_multiclass! cf_m_binary!
Test accuracy = 0.627 Test accuracy = 0.863