ICCV 2021

How to Train Neural Networks for Flare Removal

1Rice University 2Google Research 3Adobe Inc.

Code and data are available here!

Video

Abstract

When a camera is pointed at a strong light source, the resulting photograph may contain lens flare artifacts. Flares appear in a wide variety of patterns (halos, streaks, color bleeding, haze, etc.) and this diversity in appearance makes flare removal challenging. Existing analytical solutions make strong assumptions about the artifact's geometry or brightness, and therefore only work well on a small subset of flares. Machine learning techniques have shown success in removing other types of artifacts, like reflections, but have not been widely applied to flare removal due to the lack of training data. To solve this problem, we explicitly model the optical causes of flare either empirically or using wave optics, and generate semi-synthetic pairs of flare-corrupted and clean images. This enables us to train neural networks to remove lens flare for the first time. Experiments show our data synthesis approach is critical for accurate flare removal, and that models trained with our technique generalize well to real lens flares across different scenes, lighting conditions, and cameras.

Overall pipeline

Our approach consists of three steps: 1) We generate training input by randomly compositing a flare-free natural image and a flare image. 2) A convolutional neural network is trained to recover the flare-free scene (in which the light source may also have been removed, which is undesirable). 3) After prediction, we blend the input light source back into the output image.

BibTeX

@inproceedings{wu2021train,
      title={How to Train Neural Networks for Flare Removal},
      author={Wu, Yicheng and He, Qiurui and Xue, Tianfan and Garg, Rahul and Chen, Jiawen and Veeraraghavan, Ashok and Barron, Jonathan T},
      booktitle={Proceedings of the IEEE/CVF International Conference on Computer Vision},
      pages={2239--2247},
      year={2021}
    }
}