1. INTRODUCTION
Single image deraining is a classical problem in low-level computer vision which aims to remove rain streaks from a rainy image. Traditional methods, such as Gaussian mixture model [1], kernel based method [2], [3], sparse coding [4]–[6], low rank approximation [7],[8], representation learning [9], and dictionary learning [10],[11] have been employed in deraining task. Though these methods can improve the quality of rainy images to some extent, they fail to learn the distribution of rain streaks with different scales, shapes, and directions. Thus relatively low performances are obtained.