Skip to content
/ ai4b Public

machine and deep learning for agricultural parcel delineation

Notifications You must be signed in to change notification settings

fkroeber/ai4b

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI4Boundaries - Agricultural parcel delineation based on multitemporal Sentinel-2 data

Note
For all details of content, see the master's thesis in the context of which the models and data processing pipelines were developed.

This repository contains the code to train and evaluate two supervised models for agricultural parcel delineation. The 1st one (machine learning driven OBIA) is based on a hierarchical watershed segmentation embedded in a Bayesian optimisation framework and combined with a random forest classifier. The 2nd one (deep instance segmentation) is an enhanced Mask-RCNN architecture incorporating attention mechanisms, oriented region proposals/bounding boxes and mask scoring. Both models were trained and evaluated using an enhanced version of the AI4Boundaries dataset. The corresponding scripts for exploratory data analysis and data preprocessing are also provided in this repository. The final configurations and weights for the trained models can be downloaded here.

Repository structure

|-- README.md
|-- docs
|   |-- overview_deep.png
|   `-- overview_obia.png
|-- env.yaml
`-- src
    |-- dl
    |   |-- all.py
    |   |-- mm_extensions
    |   |   |-- README.md
    |   |   |-- dataloading
    |   |   |   |-- __init__.py
    |   |   |   |-- conversion.py
    |   |   |   |-- dataset.py
    |   |   |   `-- loading.py
    |   |   |-- evaluation
    |   |   |   |-- __init__.py
    |   |   |   |-- coco_api.py
    |   |   |   `-- rot_coco_metric.py
    |   |   `-- models
    |   |       |-- __init__.py
    |   |       |-- backbones.py
    |   |       |-- mask_heads.py
    |   |       `-- utils.py
    |   `-- postprocess.py
    |-- eda
    |   |-- eda_images.py
    |   `-- eda_labels.py
    |-- eval
    |   |-- all.py
    |   |-- instance.py
    |   `-- segment.py
    |-- obia
    |   |-- all.py
    |   |-- cws.py
    |   |-- gradient.py
    |   `-- rf.py
    |-- preprocess
    |   |-- filtering.py
    |   `-- subsetting.py
    `-- utils
        |-- common.py
        `-- geo.py

Model A: Machine learning driven OBIA

Model B: Deep instance segmentation

About

machine and deep learning for agricultural parcel delineation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages