菜鸟学基础算法(简单高效去雨算法)(1)

作者:CV君

分享一篇论文AAAI 2021录用论文 EfficientDeRain: Learning Pixel-wise Dilation Filtering for High-Efficiency Single-Image Deraining ,其提出了极其快速高效的图像去雨算法,平均 6ms 即可处理一幅图像,比之前的state-of-the-art方法(RCDNet,CVPR2020)快80倍!目前代码已开源。

论文作者信息:

菜鸟学基础算法(简单高效去雨算法)(2)

作者团队来自南洋理工大学、日本九州大学、阿里巴巴、天津大学,通讯作者为九州大学的Lei Ma。

看一下该算法在Rain100H数据集上与其他算法的比较结果(以PSNR和SSIM为评价标准):

菜鸟学基础算法(简单高效去雨算法)(3)

菜鸟学基础算法(简单高效去雨算法)(4)

可见在去雨效果上非常接近最好的结果,速度却是最快,非常难得!

去雨的视觉效果:

菜鸟学基础算法(简单高效去雨算法)(5)

算法原理

该算法的原理非常简单,最重要的思想是把去雨看为图像的逐像素滤波问题。而滤波操作是高度优化的操作,在GPU上的实现必定非常快。

看懂下面这张图,即可完全理解作者的算法思想:

菜鸟学基础算法(简单高效去雨算法)(6)

图像经深度卷积网络学习逐像素的卷积核参数,然后与原图做卷积即得最终的去雨后图像,训练的时候需要(有雨、无雨)的图像对。

作者指出,尽管上述思想没有问题,但因为逐像素卷积核大小的问题,如果只学习普通卷积核(即每个像素预测三个通道的3x(3x3)个参数)如上图中的(a)部分,对于雨条较大的图像很难取得满意的效果,因为毕竟卷积的过程是寻找周围非雨条像素赋以高权重的加权,卷积核如果没有覆盖到非雨条像素,肯定效果不好。

为在尺度上应对大雨条,所以作者做了改进,让神经网络预测多尺度的空洞卷积核,如(b)子图中是预测4个尺度的空洞卷积核,空洞卷积后再把结果加权,获得最终的去雨图像。

所以算法的核心思路可总结为:学习多尺度空洞卷积 图像加权融合。

因为上面所有步骤仅涉及现代GPU特别擅长的卷积操作,故速度非常快。

另外,在图像去雨领域,数量大、质量高的成对数据集是非常少的,所以作者发明了RainMix增广算法,简单一句话介绍就是雨条图像各种变换后再加权的数据增广方法

下图表达了RainMix的核心思路:

菜鸟学基础算法(简单高效去雨算法)(7)

实验结果

具体实验配置不再赘述,请看下图去雨的视觉效果:

菜鸟学基础算法(简单高效去雨算法)(8)

可见,对比较难的情况,如头发、面部、含细丝的图像,该文算法取得了较好的视觉效果。

下表展示了在Raindrop数据集上的数值比较结果:

菜鸟学基础算法(简单高效去雨算法)(9)

虽然 EfficientDeRain 数值上略逊于最好的方法,但已经很棒了,毕竟这可是快了80倍的算法!

下图是作者评估的算法各个部分对结果影响的比较:

菜鸟学基础算法(简单高效去雨算法)(10)

可见空洞卷积、SSIM损失函数和RainMix都使去雨数值效果更好,但真正带来大幅效果提升的是数据增广方法RainMix。表中亦列出了计算时间,测试机器GPU为NVIDIA Quadro P6000。

这篇AAAI 2021 论文的核心思想并不难,可以说在速度上做到了去雨算法的极致,CV君以为其特别具有启发的一点是把去雨看为卷积问题,直接预测卷积核,对于其他图像恢复问题,亦可尝试。

作者已经开源了代码、数据和预训练模型,欢迎试用比较!

论文:https://arxiv.org/pdf/2009.09238.pdf

代码:https://github.com/tsingqguo/efficientderain

感谢作者开源~

作者提供的数据和模型,国内无法下载,CV君已将其搬到国内,在我爱计算机视觉公众号后台回复“高效去雨”,即可收到打包下载。

,