FUMO: Prior-Modulated Diffusion for Single Image Reflection Removal
Paper • 2603.19036 • Published
How to use LulululuDe/FUMO with Diffusers:
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("LulululuDe/FUMO", dtype=torch.bfloat16, device_map="cuda")
prompt = "Turn this cat into a dog"
input_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png")
image = pipe(image=input_image, prompt=prompt).images[0]Pretrained weights for FUMO: Prior-Modulated Diffusion for Single Image Reflection Removal.
GitHub repository: https://github.com/Lucious-Desmon/FUMO
FUMO/
base_model/
vae/
text_encoder/
tokenizer/
scheduler/
diffusion/
controlnet/
unet/
refine/
nafnet_refine_final.pth
nafnet_refine_head_final.pth
huggingface-cli download LulululuDe/FUMO --local-dir ./checkpoints/FUMO
See the GitHub README for installation, prior generation, and inference instructions.
For inference, the main checkpoint arguments correspond to:
--pretrained_model_name_or_path ./checkpoints/FUMO/base_model
--controlnet_dir ./checkpoints/FUMO/diffusion/controlnet
--unet_dir ./checkpoints/FUMO/diffusion/unet
--refine_net_path ./checkpoints/FUMO/refine/nafnet_refine_final.pth
--refine_head_path ./checkpoints/FUMO/refine/nafnet_refine_head_final.pth
@article{xu2026fumo,
title={FUMO: Prior-Modulated Diffusion for Single Image Reflection Removal},
author={Xu, Telang and Zhang, Chaoyang and Zhai, Guangtao and Liu, Xiaohong},
journal={arXiv preprint arXiv:2603.19036},
year={2026}
}