Code release for the paper "Automating global landslide detection with heterogeneous ensemble deep-learning classification"
Ganerød, A. J., Franch, G., Lindsay, E., & Calovi, M. (2023). Automating global landslide detection with heterogeneous ensemble deep-learning classification. arXiv preprint arXiv:2310.05959.
preprint: https://arxiv.org/abs/2310.05959
data, code, and models: https://zenodo.org/records/13471162
Install dependencies
# clone project repository
git clone https://github.com/franchg/global-landslide-mapping
cd global-landslide-mapping
# create and activate environment
# adjust python version if needed
PYTHON_VERSION=3.11
python$PYTHON_VERSION -m venv .venv
source .venv/bin/activate
# install requirements
pip install -r requirements.txtDownload data from Zenodo by executing the script in the data/ folder
cd data
bash download_data.shDownload models from Zenodo by executing the script in the models/ folder
cd models
bash download_pretrained_models.shSee the notebook notebooks/test_enseble_classification.ipynb for running the models on the test data and generating the results.
Train an ensemble of models with one of the following configurations contained in the folder configs/experiment/:
- all_channels - all channels
- sentinel1_2 - Sentinel-1 and Sentinel-2 bands
- sentinel1 - Sentinel-1 bands
- sentinel2 - Sentinel-2 bands
# train on GPU using all channels as input
# this will train an ensemble of 90 models (2 lr x 5 losses x 9 models)
# the result will be saved in the folder `logs/train/multirun/`
python src/train.py --multirun hparams_search=grid_search trainer=gpu experiment=all_channels.yaml