Skip to content

Latest commit

 

History

History
89 lines (66 loc) · 2.59 KB

File metadata and controls

89 lines (66 loc) · 2.59 KB

Robust Burned Area Delineation through Multitask Learning

Code and dataset for Robust Burned Area Delineation through Multitask Learning, (ECML PKDD, MACLEAN Workshop 2023)

Note

Dataset available at hf.co/datasets/links-ads/wildfires-cems.

Installation

First, create a python environment (preferably Python 3.10), then install the package itself:

$ python -m venv .venv
$ source .venv/bin/activate
$ pip install -e .

Then, install mmsegmentation:

$ pip install -U openmim
$ mim install mmengine
$ mim install "mmcv>=2.0.0"

At last, you can install mmseg by running:

$ pip install "mmsegmentation>=1.0.0"

Data preparation

Make sure the dataset is formatted following the schema in datasets.py. By default, the script expects data to be located in data/ems. This can also be achieved by symlinking the dataset to this location:

$ ln -s <absolute_path_to_data> data/ems

Experiments

The experiments exploit a mixture of PyTorch Lightning's and mmsegmentation's logging features to handle most of the experiment's configuration. Each run creates by default a folder in output/ with the following structure:

outputs/
└── <experiment_name>/
    ├── weights/
    │   ├── <checkpoint_1>.pth
    │   ├── <checkpoint_2>.pth
    │   └── ...
    ├── config.py
    └── tensorboard logs...

This folder can later be used to resume training or perform inference.

Training

Using mmseg configuration files (sort of), you can train a model by running:

$ python tools/launch.py train -c <config_path>

Testing and Inference

Once a model has been trained, you can test it by running:

# if you just want to compute the metrics
$ python tools/launch.py test -e <experiment_path> [-c <checkpoint_path>]
# if you want to save the predictions
$ python tools/launch.py test -e <experiment_path> [-c <checkpoint_path>] --predict

Where experiment_path is the full or relative path to the experiment directory (including the version subdir), and checkpoint_path is the full or relative path to the checkpoint file (including the .pth extension).

Citing this work

@inproceedings{arnaudo2023burned,
  title={Robust Burned Area Delineation through Multitask Learning},
  author={Arnaudo, Edoardo and Barco, Luca and Merlo, Matteo and Rossi, Claudio},
  booktitle={Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases},
  year={2023}
}