/bdn-refremv

Primary LanguagePythonMIT LicenseMIT

bdn-refremv

Deep Bidirectional Estimation for Single Image Reflection Removal. This package is the implementation of the paper:

Seeing Deeply and Bidirectionally: A Deep Learning Approach for Single Image Reflection Removal
Jie Yang*, Dong Gong*, Lingqiao Liu, Qinfeng Shi.
In European Conference on Computer Vision (ECCV), 2018.
(* Equal contribution)

Requirements

  • Python packages
    pytorch>=0.4.0
    numpy
    pillow
    
  • An NVIDIA GPU and CUDA 9.0 or higher

Conda environment

A minimal conda environment for running the test.sh is provided.

conda env create -f env.yml

Usage

  • Download our pretrained model here. Unpack the archive into model folder.

  • Put test images into samples folder, and run script bash test.sh.

Examples and Real-world Testing Images

Two examples (on real-world images taken by a mobile phone) are shown in the following: from left to right: I (observed image with reflection), B (recovered reflection-free image) and R (the intermediate reflection image). Please see details and examples in our paper.

More real-world reflection images can be found in /samples for testing.

Datasets

The synthetic datasets used for training and testing in our paper:

Citation

If you use this code for your research, please cite our paper:

@inproceedings{eccv18refrmv,
  title={Seeing deeply and bidirectionally: a deep learning approach for single image reflection removal},
  author={Yang, Jie and Gong, Dong and Liu, Lingqiao and Shi, Qinfeng},
  booktitle={Proceedings of the European Conference on Computer Vision (ECCV)},
  pages={654--669},
  year={2018}
}