Git Product home page Git Product logo

topoai's Introduction

TopoAI: Topological Approaches for Improved Structural Correctness

Course Project for the Computational Intelligence Lab (CIL) 2023 at ETH Zurich focusing on satelite road segmentation.

Team

Name Email Github
Alexander Spiridonov [email protected] aspiridon0v
Alexander Veicht [email protected] veichta
András Strausz [email protected] strausza
Richard Danis [email protected] richdanis

Setup

python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install git+https://github.com/bruel-gabrielsson/TopologyLayer.git
pip install -e .

Data

Name URL #images
CIL https://www.kaggle.com/competitions/cil-road-segmentation-2022 144
EPFL https://www.aicrowd.com/challenges/epfl-ml-road-segmentation 339
RoadTracer https://paperswithcode.com/dataset/roadtracer 4976

The preprocessed data can be downloaded using the following command:

wget https://polybox.ethz.ch/index.php/s/KhsD19D0iLEmyTH/download -O data.zip

The data is expected to have the following structure:

data
    ├── images
    │   ├── 000000_cil.jpg
    │   ├── 000000_epfl.jpg
    │   ├── 000000_roadtracer.jpg
    │   ├── 000001_cil.jpg
    │   ├── ...
    ├── masks
    │   ├── 000000_cil.png
    │   ├── 000000_epfl.png
    │   ├── 000000_roadtracer.png
    │   ├── 000001_cil.png
    │   ├── ...
    └── weights
        ├── 000000_cil.png
        ├── 000000_epfl.png
        ├── 000000_roadtracer.png
        ├── 000001_cil.png
        ├── ...

This can be achieved by running the following commands:

unzip data.zip

Splitting the Data

In order to split the data into train, val and test sets, run the following command:

python src/preprocessing/split_dataset.py --dataset data

This will create folder for each split containing images, masks and weights folders.

Training

The training can be started by running the following command:

python main.py --datasets <list of dataset> --model <model name> --device <device>

For a full list of arguments, run:

python main.py --help

Reproducing the Baseline

The baseline results can be reproduced by running the following commands:

python main.py --data_path data --datasets cil --epochs 300 --lr 0.001 --model unet++ --patience 40
python main.py --data_path data --datasets cil --epochs 300 --lr 0.001 --model spin --patience 40
python main.py --data_path data --datasets cil --epochs 300 --lr 3e-4 --model upernet-t --patience 40 --miou_weight 1 --focal_weight 1 --mse_weight 1

topoai's People

Contributors

veichta avatar richdanis avatar aspiridon0v avatar

Stargazers

鹤城北斗 avatar

Watchers

Kostas Georgiou avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.