I. Introduction
Every computer vision task begins with the acquisition of the images to be probed. The successful task execution and achievement of desired results is massively contingent on the quality that these image data possess, therefore, computer vision researches dedicate a great deal of effort to ensure the best possible level of quality. Bad weather is one of the biggest adversaries to vision experts as it cannot be mitigated during acquisition and can severely affect the quality of the input data. Environmental phenomena such as rain, mist, fog and haze can pose a great hindrance to the imaging pipeline.