应该不断沉淀自己,提升自己。
2020 CVPR : DRD-Net
这篇文章是2020年CVPR的一篇文章,主要是提出了一种基于两个结构相似的子网络分别用于去雨和恢复细节的DRD-Net。
代码:Coming soon!
(目前看到的论文版本不像是CVPR格式的,害)
对于现有的图像去雨方法,传统方法在去除暴雨时效果不佳,基于学习的方法则会导致图像细节丢失、伪影及颜色失真等图像退化。
本文则是提出了DRD-Net,一种基于上下文聚合网络的细节恢复的图像去雨方法。
主要是引入了两个具有综合损失函数的子网络,用于去雨和修复因消除而丢失的细节信息。
首先是提出了一种残差网络,结合了SE操作和残差block,充分利用空间上下文信息。
其次是设计了一种新的连接模块即结构细节上下文聚合块(SDCAB),聚合上下文信息,获取大的感受野。
然后是提出了一种细节修复网络,找回丢失的细节,激励丢失的细节返回来消除图像退化。
在我看来:
1、双子网络的结构形似2018年CVPR-DualCNN。
2、具体网络有RESCAN和JORDER的影子,各取所长。
3、提出了一种细节修复网络,修复细节加进高频的细节分量。
网络结构:
根据网络结构图可以看出,DRD-Net由雨残差网络和细节修复网络两个结构相似的子网络构成。
雨残差子网络将(SE)操作与残差块相结合,充分利用空间上下文信息,目的是去除雨图中的雨纹。
细节修复子网络集成了结构细节上下文聚合块(SDCAB)来聚合大感受野的上下文特征信息,以恢复丢失的细节到去雨的图像。
简单来说,就是输入一幅雨图,首先是分别进行特征的提取,然后去雨残差子网络得雨纹图像,与原始雨图做负残差到初步的去雨图像,细节修复子网络则是由高频细节得到细节修复特征,两者进行加和得到去雨之后的图像。
其中雨残差子网络与RESCAN有些像,而细节修复网络中的SDCAB模块则与JORDER中的上下文扩张卷积一致。
具体实现:
1、雨图建模:
两种形式:
2、雨残差网络
如图,子网络由3个卷积层和16个带有SE模块的RRB组成。
结构:
损失函数:
雨残差子网络的残差模块使用了SE模块。
整体网络由3个卷积层和16个ResBlock组成,
第一个卷积层可以看做一个编码器,将雨图转换为特征图,后两个卷积层被用来恢复特征图的RGB通道数。
RRB(Rain Residual Block)雨残差块:
模块具体网络结构如图:
将SE操作合并到网络的残差块中。
由于SE可以建模不同特征通道之间的相关性,我们可以通过赋予更大的权重来强化具有更多上下文信息的特征通道。
相反,空间上下文信息较少的特征通道只获得较小的权重。
在训练过程中,雨残网络自动学习各通道的权值,使具有更多空间上下文信息的特征图获得更高的权重。
3、细节修复网络
如图,细节修复子网络也是由3个卷积层和16个SDCAB结构细节上下文聚合网络组成。
结构表示为:
综合损失函数:
其中,I p表示雨图减去雨纹的初步去雨图像,Oi表示数据集中雨图,Ii表示数据集中的无雨图,g() 表示子网络要学习到的映射。
SDCAB:
SDCAB由不同尺度的扩张卷积和1x1的卷积组成,这里采用了扩张因子为1、3、5的扩张卷积来获取更多的上下文信息扩大感受野。
并将扩张卷积的输出进行级联来获取最重要的特征,并使用了1x1的卷积来减少特征维度。
同时该模块中也使用了残差学习操作。
扩张卷积级联层:
所以,SDCAB模块可以表达为:
4、损失函数
两个参数分别为0.1 和 1.0