GCANet——用于图像去雾及去雨的门控上下文聚合网络

南楼画角 提交于 2019-12-15 22:29:58

       这段时间一直有各种杂事,现在暂时告一段落,重心要转到毕设上来了,所以写了这么个专栏,关于对论文的一些理解,算是做个阅读笔记吧。由于之前的论文看的七零八落,没有系统的整理过,为了养成良好的习惯,从今天开始不定期更新本专栏,对自己读过的论文力求用最简单的语言表述出来,由于毕设的需求,本系列论文大部分是图像去雾及其相关领域的,小白一枚,还请各位大佬多多指教。

       第一篇文章,让我们看一下发表于WACV 2019上的Gated Context Aggregation Network for Image Dehazing and Deraining,原论文见:https://arxiv.org/abs/1811.08747,关于该会议如果大家感兴趣也可以看一下:http://wacv19.wacv.net/

       从论文题目可以看出,文章的适用领域是图像去雾和去雨,搭建的网络为“门控上下文聚合网络”,该网络是基于端到端的,即直接建立模糊图像和清晰图像之间的联系,而不去套用那些先验知识,如经典的暗通道先验(DCP)、颜色衰减先验(CAP)等;

先看下网络的整体结构图吧,声明一下,以下大部分图片均来自原论文:

       如上图所示,该网络由四部分组成,从左到右依次为编码器(最左边连续的三个卷积模块)、平滑扩张残差模块(中间带有虚线箭头的卷积模块)、门控融合子网(图中已标出,其作用是融合不同级别的特征)和解码器(最右边的一个反卷积模块和两个卷积模块)。

       该网络运行流程就是给定一个模糊的输入图像,首先通过编码器将其编码为特征图,然后利用平滑扩张卷积和门控融合子网络聚合更多上下文信息并融合不同级别的特征,而没有进行常规的下采样,最后将增强的特征图解码回原始图像空间以获得目标雾度残留(残差)。 通过将其添加到输入的模糊图像上,我们将获得最终的无雾图像。

       这其中有两个概念大致地说一下:

1.残差:通常意义的残差就是网络输入输出的差值,具体到图像去雾领域可以将残差理解成我们预估的雾,即有雾图像-清晰图像=残差。而关于残差网络建议大家去看一下何凯名大佬的论文,其中有详细的讲解。

2.平滑扩张卷积:也叫做平滑空洞卷积,即对原来的空洞卷积的改进,。简单来说空洞卷积就是在标准的卷积图中添加空洞,以此来增加感受野,但这样带来的问题就是得到的特征图中的相邻像素值之间是相互独立的,即特征图中的每个像素点对应于输入图像中的值(范围)是各不相同的,这样就违背了图像的局部相关性;而平滑空洞卷积就是先对输入图做一次常规卷积,然后在进行空洞卷积,这样得到的特征图的相邻像素就包含共同信息了。

       GCANet旨在直接回归模糊图像和目标清洁图像之间的残差。 以下内容是对原文的部分翻译,仅供大家参考理解:

       在本文中,我们提出了一种新的端到端门控上下文聚合网络(表示为“GCANet”),用于图像去雾。由于扩张卷积被广泛用于聚合上下文信息的有效性而不牺牲空间分辨率,我们也采用它来帮助通过覆盖更多相邻像素来获得更准确的恢复结果。然而,原始的扩散卷积将产生所谓的“网格伪影”,因为当扩张率大于1时,输出中的相邻单元是从输入中的完全独立的集合计算的。最近,有研究者以组合方式分析了扩张卷积,并提出平滑扩张卷积,这可以大大减少这种网格伪影。因此,我们也将这一想法融入我们的上下文聚合网络中。先前的研究工作表明,融合不同级别的特征通常对低级别和高级别任务都有益。受此启发,我们进一步提出了一个门控子网络来确定不同级别的重要性,并根据它们相应的重要性权重对它们进行融合。 之前也有研究者在其网络中使用门控融合模块,但它们直接融合了不同衍生输入图像的去雾结果而不是中间特征。

       由上文可知,论文作者巧妙地将平滑扩张卷积用到了自建的上下文聚合网络中,并使用门控融合子网来融合不同级别的中间特征,使得最终的去雾效果更加真实有效。我们也应受此启发,多多结合相关领域的最新发现,看其是否可以应用到自己的研究领域,多做假设,大胆猜测,或许下一个突破口就蕴含在某个idea中~~

       对于最终的损失函数,本文采用的是基于残差的均方差函数,具体如下:

其中r和r^分别是基本事实和预测的残差。 在运行时,我们将r^添加到输入模糊图像上以获得最终预测的无雾图像。

注意,我们的学习目标是无雾图像和输入模糊图像之间的残差。

最后看三组效果图吧:

------------

-------------

-------------

       整体还不错,至少从主观层面来说,恢复的已经很清晰了,至于客观方面,建议大家阅读下原论文,其中使用各种指标对最终的去雾效果进行了探究,在这一过程中也能学到很多东西,有种茅塞顿开的感觉。

如果本篇内容对你有一点点帮助,请点个赞或者收藏关注一下,让我们一起努力

刚创建了一个公众号,一开始的文章是和csdn博客同步的,后续会着重来做这一块,比如发布第一手信息,抽个奖啥的,希望各位小伙伴支持一下,加个关注,如果能帮忙宣传一下就更完美了,爱你们,还是那句话,让我们一起努力,共同进步~

公众号为“非著名IT表演艺术家”,比较中二的名字,就是灵光一闪,然后这个名字就冒出来了……

大家也可以扫码关注,拜托了:

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!