mnthnx64 / pytorch-deliniation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Multi-Region Transfer Learning for Segmentation of Crop Field Boundaries in Satellite Images with Limited Labels

Authors: Manthan Satish, Hannah Rae Kerner, Saketh Sundar

This repository contains the code implementation for the paper "Multi-Region Transfer Learning for Segmentation of Crop Field Boundaries in Satellite Images with Limited Labels" accepted at the 2023 AAAI Workshop on AI to Accelerate Science and Engineering (AI2ASE) 2023.

Usage

Environment Setup

To create a new environment, utilize the provided YAML file:

conda env create -f environment.yml

Downloading Data

Use the links below to download the data for each region. Some contain only the labels while others contain the images as well

Place the downloaded data in the data folder.

Download Images from Google Earth Engine (GEE):

Utilize the .js script located in data_helpers/gee_images_downloader.js to download images from Google Earth Engine.

Processing Data

The data should be stored in the data folder. It will be stored in the following structure:

  • images_mar, images_jun, images_sep: Directories containing satellite images corresponding to different months (March, June, September).
  • masks: Directory containing labeled masks or ground truth data for crop field boundaries.
  • masks_filled: Directory potentially filled with processed or augmented mask data if applicable.

It will look something like this:

data
├── country
│   ├── images_mar
│   │   ├── image_1.png
│   │   ├── image_2.png
│   │   ├── ...
│   ├── images_jun
│   │   ├── image_1.png
│   │   ├── image_2.png
│   │   ├── ...
│   ├── images_sep
│   │   ├── image_1.png
│   │   ├── image_2.png
│   │   ├── ...
│   ├── masks
│   │   ├── image_1.png
│   │   ├── image_2.png
│   │   ├── ...
│   ├── masks_filled
│   │   ├── image_1.png
│   │   ├── image_2.png
│   │   ├── ...
├── ...

Training

To train the model, run the following command:

python train.py --config config.yaml

Fine Tuning

To fine tune the model, run the following command:

python fine_tune.py --config config.yaml

Testing

To test the model, run the following command:

python test.py --config config.yaml

Inference

To run inference on the model, run the following command:

python inference.py --config config.yaml

Citation

If you find this repository useful in your research, please cite our paper:

@article{hkerner2023multitlf,
    title={Multi-Region Transfer Learning for Segmentation of Crop Field Boundaries in Satellite Images with Limited Labels},
    author={Satish, Manthan and Kerner, Hannah Rae and Sundar, Saketh},
    journal={AAAI Workshop on AI to Accelerate Science and Engineering (AI2ASE)},
    year={2023}
}

About

License:MIT License


Languages

Language:Python 83.8%Language:JavaScript 11.6%Language:Shell 4.6%