Source code to reproduce results from
Efficient semantic segmentation with pyramidal fusion Marin Oršić, Siniša Šegvić Pattern Recognition, 2020.
In Defense of Pre-trained ImageNet Architectures for Real-time Semantic Segmentation of Road-driving Images Marin Oršić*, Ivan Krešo*, Siniša Šegvić, Petra Bevandić (* denotes equal contribution) CVPR, 2019.
- Python 3.7+
pip install -r requirements.txt
From https://www.cityscapes-dataset.com/downloads/ download:
- leftImg8bit_trainvaltest.zip (11GB)
- gtFine_trainvaltest.zip (241MB)
Either download and extract to datasets/
or create a symbolic link datasets/Cityscapes
Expected dataset structure for Cityscapes is:
gtFine/
train/
aachen/
aachen_000000_000019.png
...
...
val/
...
leftImg8bit/
train/
aachen/
aachen_000000_000019.png
...
...
val/
...
Pre-trained Cityscapes models available
- Download and extract to
weights
directory.
Set evaluating = True
inside config file (eg. configs/rn18_single_scale.py
) and run:
python eval.py configs/rn18_single_scale.py
python train.py configs/rn18_single_scale.py --store_dir=/path/to/store/experiments
- Use config
configs/rn18_single_scale.py
for your experiments - If you need to use another dataset, create a symbolic link to the folder inside
dataset/custom_dataset
and add support for the dataset indata/custom_data/custom_data.py
(use Cityscapes files as template) - You do not have to install and set up Cython since we have added new methods for confusion matrix and metrics calculation
- Be careful when naming the experiments folders so you do not override something. Output folder should contain saved best model and last model, pickle file with validation mIoU and loss values.
- When evaluating, be sure to set
evaluating = True
in config and provide correct path of the saved model.