  Removing undesired reflections from a photo taken in front of glass is of
great importance for enhancing visual computing systems' efficiency. Previous
learning-based approaches have produced visually plausible results for some
reflections type, however, failed to generalize against other reflection types.
There is a dearth of literature for efficient methods concerning single image
reflection removal, which can generalize well in large-scale reflection types.
In this study, we proposed an iterative gradient encoding network for single
image reflection removal. Next, to further supervise the network in learning
the correlation between the transmission layer features, we proposed a feature
co-occurrence loss. Extensive experiments on the public benchmark dataset of
SIR$^2$ demonstrated that our method can remove reflection favorably against
the existing state-of-the-art method on all imaging settings, including diverse
backgrounds. Moreover, as the reflection strength increases, our method can
still remove reflection even where other state of the art methods failed.
