TaoSunVoyage / Road_Segmentation_ML

Road Extraction from Satellite Images with an ensemble of 3 U-Nets

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Road Segmentation

EPFL CS-433 Machine Learning - Project 2

crowdAI username: Tao Sun, submission ID: 23803

Team Members: Tao Sun, Xiao Zhou, Jimin Wang

Instructions

In order to reproduce the result we submitted to crowdAI, please follow the instructions as following:

  • Please make sure Python 3.6 and packages in requirements.txt are installed.
pip install -r requirements.txt
  • Please kindly download dataset from crowdAI, and then upzip and move training and test_set_images folders under the data\ folder.

  • If you want to get the results we submitted in the crowdAI, we have prepared models for you. Please download it from here, then unzip and move the three weights file into weights\ folder. Then run run.py, you will get the submission.csv under the submission\ folder.

python run.py
  • If you want to retrain our models, please run train_predict.py, you will then directly get the submission.csv under the submission\ folder.
python train_predict.py

Modules

data.py

Functions for preprocessing data, building data generator and saving data.

losses.py, metrics.py

Define: Dice coefficient, Dice loss, BinaryCrossentropy+Dice loss and F1 score.

model.py

  • unet: Modified U-Net with dropout and batch-normalization
  • unet_dilated: U-Net with dilated convolution as bottlenect

mask_to_submission.py

Helper functions for generating crowdAI submission file.

train_predict.py

Script to retrain models and get the prediction results as we submitted in crowdAI.

run.py

Script to generate the same submission file as we submitted in crowdAI with pretrained models.

License

The project is licensed under the MIT License.

About

Road Extraction from Satellite Images with an ensemble of 3 U-Nets

License:MIT License


Languages

Language:Python 100.0%