Git Product home page Git Product logo

foggysynscapes's Introduction

Semantic Understanding of Foggy Scenes with Purely Synthetic Data

arXiv

Forked from github.com/sakaridis/fog_simulation-SFSU_synthetic.
Adapted by Martin Hahner at the Computer Vision Lab of ETH Zurich.

Introduction

This is the source code we used in our ITSC 2019 paper titled
Semantic Understanding of Foggy Scenes with Purely Synthetic Data,
to create Foggy Synscapes, a foggy version of the original Synscapes dataset.

foggy_images

The pipeline computes transmittance maps,
which can be combined with the original clear-weather image
to obtain foggy versions of the clear-weather image.

Pipeline Overview

pipeline

Getting Started

This demo runs our fog simulation pipeline on an example clear-weather image from Synscapes and writes the results to ./output/demo/.

Requirements

  • MATLAB
    The code has been developed in MATLAB R2018b and tested in MATLAB 2019a, too.

How to run the demo

  1. Clone this repository
    git clone https://github.com/MartinHahner88/FoggySynscapes.git
    
  2. Go to MATLAB's Command Window and assign FOG_SIMULATION_ROOT to the path you have cloned this repository into
    FOG_SIMULATION_ROOT = '/path/to/FoggySynscapes';
    
  3. Change MATLAB's current folder
    cd(fullfile(FOG_SIMULATION_ROOT, 'source'));
    
  4. Run Demo.m
    Demo;
    

Generating Foggy Synscapes all by yourself

Due to the license agreement of the Synscapes dataset,
we unfortunatelly cannot directly distribute Foggy Synscapes.

But if you follow the instructions below, you can reproduce Foggy Synscapes all by yourself. *

* given you have access to the original Synscapes dataset

Requirements

  • Synscapes
    You need the original dataset as a starting point.

  • Python
    The code has been developed and tested using Python 3.7.4.

  • MATLAB
    The code has been developed in MATLAB R2018b and tested in MATLAB 2019a, too.

How to reproduce Foggy Synscapes:

  1. Request the original Synscapes dataset by sending a kind email to the authors.

  2. Then you need to convert the .exr depth files provided by the Synscapes dataset to .mat depth files that are compatible to our fog simulation pipeline. You can do this for example by using the provided exr_to_mat.py python script.

  3. Finally, you can modify FoggySynscapes.m according to your needs and generate your own version of
    Foggy Synscapes.

Note: In our paper we used beta values of [0.005, 0.01, 0.02, 0.03, 0.06].

Citations

If you use our work, please cite our publication and the Synscapes White Paper:

@inproceedings{FoggySynscapes,
  author    = {Hahner, Martin and Dai, Dengxin and Sakaridis, Christos and Zaech, Jan-Nico and Van Gool, Luc},
  title     = {Semantic Understanding of Foggy Scenes with Purely Synthetic Data},
  booktitle = {IEEE International Conference on Intelligent Transportation Systems (ITSC)}, 
  year      = {2019},
}

@article{Synscapes,
    author    = {Magnus Wrenninge and Jonas Unger},
    title     = {Synscapes: A Photorealistic Synthetic Dataset for Street Scene Parsing},
    url       = {http://arxiv.org/abs/1810.08705},
    year      = {2018},
}

License

Our fog simulation pipeline is made available for non-commercial use only.
For details, please refer to the license agreement.

Contact

Martin Hahner
martin.hahner[at]vision.ee.ethz.ch
https://www.trace.ethz.ch/foggy_synscapes

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.