XReflection - An Easy-to-use Toolbox for Single-image Reflection Removal#

XReflection is a neat toolbox tailored for single-image reflection removal (SIRR). We offer state-of-the-art SIRR solutions for training and inference, with a high-performance data pipeline, multi-GPU/TPU/NPU support, and more!

📰 News and Updates#

  • [Upcoming] More models are on the way!

  • [2025-05-26] Release a training/testing pipeline.

💡 Key Features#

  • All-in-one integration for the state-of-the-art SIRR solutions. We aim to create an out-of-the-box experience for SIRR research.

  • Multi-GPU/TPU support via PyTorchLightning.

  • Pretrained model zoo.

  • Fast data synthesis pipeline.

📝 Introduction#

Please visit the Installation for more features and usage.

🚀 Installation#

Requirements#

Make sure you have the following system dependencies installed:

  • Python >= 3.10

  • PyTorch >= 2.5

  • PyTorchLightning >= 2.5

  • CUDA >= 12.1 (for GPU support)

Installation Commands#

# Clone the repository
git clone https://github.com/hainuo-wang/XReflection.git
cd XReflection

# Install dependencies
pip install -r requirements.txt
python setup.py develop

📦 Getting Started#

Inference with Pretrained Models#

Run reflection removal on an image:

TODO

Training a Model#

python tools/train.py --config configs/train_config.yaml

Data Preparation#

Training dataset#

  • 7,643 images from the Pascal VOC dataset, center-cropped as 224 x 224 slices to synthesize training pairs.

  • 90 real-world training pairs provided by Zhang et al..

  • 200 real-world training pairs provided by IBCLN (In our training setting 2, † labeled in our paper).

Testing dataset#

  • 45 real-world testing images from CEILNet dataset.

  • 20 real testing pairs provided by Zhang et al..

  • 20 real testing pairs provided by IBCLN.

  • 454 real testing pairs from SIR² dataset, containing three subsets (i.e., Objects (200), Postcard (199), Wild (55)).

Download all in one from https://checkpoints.mingjia.li/sirs.zip

🌟 Features in Detail#

Pretrained Model Zoo#

Access pretrained models for various SIRR algorithms:

TODO

🙏 License and Acknowledgement#

This project is licensed under the Apache License 2.0. See the LICENSE file for details.

The authors would express gratitude to the computational resource support from Google’s TPU Research Cloud.

📧 Contact#

If you have any questions, please email peiyuan_he@tju.edu.cn