Skip to content

This repository holds the code developed within the scope of the Tropical Cyclones project at the Φ-lab, ESRIN/ESA.

Notifications You must be signed in to change notification settings

raquelcarmo/tropical_cyclones

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tropical Cyclones

workflow

Overview

This repository holds an application of computer vision to the detection and categorization of Tropical Cyclones (TC) using Sentinel-1 Synthetic Aperture Radar data. This project is the result of a joint research collaboration between the Φ-lab (ESRIN/ESA) and Ifremer.

The code developed was used for the following publication to IGARSS 2021:

A. R. Carmo, N. Longépé, A. Mouche, D. Amorosi and N. Cremer, Deep Learning Approach for Tropical Cyclones Classification based on C-Band Sentinel-1 SAR Images, 2021 IEEE International Geoscience and Remote Sensing Symposium IGARSS, 2021, pp. 3010-3013, doi:10.1109/IGARSS47720.2021.9554111.

This repository is intended as a means to reproduce the results shown in the paper and to stimulate further research in this direction.

Installation

To install requirements: python -m pip install -r requirements.txt

Contents

This repository contains the following:

  1. the source code of the project in the code folder;
  2. demonstration Jupyter notebooks in the notebooks folder, to reproduce the same results as the scripts in python;
  3. pre-trained models in the models folder;
  4. requirements.txt containing the packages that require installation in order to run the code;
  5. config.yml containing the configuration variables needed to run the scripts.

Data

The data was kindly collected and provided in open access by Ifremer, through the CyclObs API. The data can be downloaded using the data_download.py script in the code folder via

python code/data_download.py

The directory to store the images should be configured in the data_path variable from the configuration file config.yml.

Extraction from API

Initially, .nc products will be downloaded from the CyclObs API and stored in a folder called nc, which will contain the files stratified by category, i.e. distributed over 5 different folders named categoryX, where 'X' represents each of the categories from 1 to 5.

Convertion from .nc to .png

In this stage, and depending on the SAR features selected (max. 3, one for each channel of the resulting image), each feature will be extracted from each .nc product and stacked along the 3rd-axis to create an image (stored as .png). For this, a new folder will be created with the features' siglas (e.g. 'VV_VH_WS'). Inside this folder, 6 additional folders will be created:

  • a csv folder containing files (csv) with the full dataset and respective labels;
  • 5 folders named categoryX, where 'X' represents each of the categories 1 to 5, containing the images of all TCs from that category.

Usage

Detection

Performing the detection of Tropical Cyclones requires a configuration file defining the model parameters, training procedure and logging parameters, which can be found in config.yml. Training is run via the script detect.py as follows

python code/detect.py

This will create the directory specified as results_path in the configuration file config.yml, containing the scores, saved models and logs.

Categorization

Performing the categorization involves similar steps as the detection task, except the script name, which is called categorize.py and is used as follows

python code/categorize.py

About

This repository holds the code developed within the scope of the Tropical Cyclones project at the Φ-lab, ESRIN/ESA.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published