1. Introduction
Rain is a common weather phenomenon which dramatically degrades the quality of images and affects many computer vision tasks such as detection [17] and segmentation [1]. The forward rain generation procedure [19], [35], [8], [12], [16] is usually simplified as: \begin{equation*}{\mathbf{O}} = {\mathbf{B}} + {\mathbf{R}},\tag{1}\end{equation*} where O, B, R denote the rainy image, clean background and rain layer [Fig. 1(a)]. Image deraining is formulated as an ill-posed inverse problem of the rain generation (1), aiming to recover the clean image B from rainy image O.