Giter VIP home page Giter VIP logo

lsmcolab / semantic-segmentation-under-adverse-conditions Goto Github PK

View Code? Open in Web Editor NEW
21.0 3.0 3.0 1.06 MB

Original PyTorch implementation of the paper "Semantic Segmentation under Adverse Conditions: A Weather and Nighttime-aware Synthetic Data-based Approach", published at the British Machine Vision Conference (BMVC) 2022.

Python 100.00%
semantic-segmentation silver synthetic-data adverse-conditions

semantic-segmentation-under-adverse-conditions's Introduction

Semantic Segmentation under Adverse Conditions: A Weather and Nighttime-aware Synthetic Data-based Approach

alt text

This repository contains the original implementation of the paper Semantic Segmentation under Adverse Conditions: A Weather and Nighttime-aware Synthetic Data-based Approach, published at the BMVC 2022.


Recent semantic segmentation models perform well under standard weather conditions and sufficient illumination but struggle with adverse weather conditions and nighttime. Collecting and annotating training data under these conditions is expensive, time-consuming, error-prone, and not always practical. Usually, synthetic data is used as a feasible data source to increase the amount of training data. However, just directly using synthetic data may actually harm the model’s performance under normal weather conditions while getting only small gains in adverse situations. Therefore, we present a novel architecture specifically designed for using synthetic training data. We propose a simple yet powerful addition to DeepLabV3+ by using weather and time-of-the-day su- pervisors trained with multi-task learning, making it both weather and nighttime aware, which improves its mIoU accuracy by 14 percentage points on the ACDC dataset while maintaining a score of 75% mIoU on the Cityscapes dataset.


πŸ”§ Environment Setup

To reproduce our experiments, please follow these steps:

1. Make sure you have the requirements

  • Python (>=3.8)
  • PyTorch (=1.10.1) # Maybe it works with other versions too!

2. Clone the repo and install the dependencies

git clone https://github.com/lsmcolab/Semantic-Segmentation-under-Adverse-Conditions.git
cd Semantic-Segmentation-under-Adverse-Conditions
pip install -r requirements.txt

3. Update paths accordeing to your enivorment

  • Update this part in main.py:
    opts.data_root_cs = "/home/kerim/DataSets/SemanticSegmentation/cityscapes"#Update as necessary
    opts.data_root_acdc = "/home/kerim/DataSets/SemanticSegmentation/ACDC"#Update as necessary
    opts.data_root_awss = "/home/kerim/Silver_Project/AWSS"#Update as necessary
  • Update datasets/(AWSS.py, cityscapes.py, and ACDC.py) according to where you store these three datasets.

⏳ Training

Please update the following line:


πŸ”Ž Testing

Please update the following lines:


πŸŽ₯ Datasets and Simulator

  • Our AWSS dataset can be downloaded using this link: AWSS.
  • The Cityscapes and ACDC datasets can be downloaded from these links: Cityscapes and ACDC.
  • The Silver simulator can be downloaded using this link: Silver.

🎯 Results

  • Quantitative Results: mIoU results for our approach Vs. standard domain adaptation methods. Training our weather and nighttime-aware architecture on both Cityscapes and AWSS, improves the performance on ACDC dataset and achieves adequate peformance on Cityscapes. Best results are bolded. Fnt stands for Fine-Tuned. alt text

  • Qualitative Results: Visual comparison between baselines and our approach. Segmentation results are shown on ACDC and Cityscapes dataset, respectively. alt text


πŸ“§ Contact


πŸ“ Citing

If you find this code useful for your research, please cite the paper:

@inproceedings{kerim2022Semantic,
  title={Semantic Segmentation under Adverse Conditions: A Weather and Nighttime-aware Synthetic Data-based Approach},
  author={Kerim, Abdulrahman and Chamone, Felipe and Ramos, Washington LS and Marcolino, Leandro Soriano and Nascimento, Erickson R and Jiang, Richard},
  booktitle={33nd British Machine Vision Conference 2022, BMVC 2022},
  year={2022}
}

Acknowledgements

This work was funded by the Faculty of Science and Technology of Lancaster University. We thank the High End Computing facility of Lancaster University for the computing resources. The authors would also like to thank CAPES and CNPq for funding different parts of this work.

πŸ›‘οΈ License

Project is distributed under MIT License

semantic-segmentation-under-adverse-conditions's People

Contributors

a-kerim avatar ericksonrn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

semantic-segmentation-under-adverse-conditions's Issues

requirements.txt without direct references

Hi! Would it be possible to provide a requirements.txt that does not contain direct references (as shown below)? Or alternatively version number for the listed packages. I'm trying to install per the instructions but am unable to install these packages as they do not exist locally. Thank you.

cycler @ file:///tmp/build/80754af9/cycler_1637851556182/work
keras @ file:///home/ktietz/ci_310/keras_split_1643826818613/work/keras-2.6.0-py2.py3-none-any.whl
kiwisolver @ file:///opt/conda/conda-bld/kiwisolver_1638569886207/work
matplotlib @ file:///tmp/build/80754af9/matplotlib-suite_1647441664166/work
mkl-random @ file:///tmp/build/80754af9/mkl_random_1626186064646/work
numexpr @ file:///tmp/build/80754af9/numexpr_1640704208950/work
packaging @ file:///tmp/build/80754af9/packaging_1637314298585/work
python-dateutil @ file:///tmp/build/80754af9/python-dateutil_1626374649649/work
scipy @ file:///tmp/build/80754af9/scipy_1641555001653/work
seaborn @ file:///tmp/build/80754af9/seaborn_1629307859561/work
six @ file:///tmp/build/80754af9/six_1623709665295/work
torch-poly-lr-decay @ git+https://github.com/cmpark0126/pytorch-polynomial-lr-decay.git@9251dd7190eccfb1cd08e1ebce52e03cff0cb58a
tornado @ file:///tmp/build/80754af9/tornado_1606942300299/work

Dataset structure

Hi, good work!

But i came a cross a issue when retrain the network for cityscapes dataset:
image
I doubt that my folder structure is not align with the model,so the model didn't load the image right. Can you provide your dataset structure for the cityscapes? Much appreciate.

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.