网络结构设计
该论文是一篇ECCV 2020的文章。
PDF: Wavelet-Based Dual-Branch Network for Image Demoireing
Motivation
- 图像去摩尔纹不仅需要恢复高频图像细节,而且还需要去除频率跨度较大的波纹图案。
- 大多数现有的方法都是在RGB空间中进行处理,难以区分摩尔条纹和真实的图像内容,以及在处理低频摩尔图案中存在困难。
- 图像摩尔纹在频域中可以较轻松地处理。在经过小波变换后,摩尔条纹在某些小波子带中会更加明显,因此处理这些子带中可以更轻松地去除摩尔纹。
如下图所示,(a)是一幅有摩尔纹的图像,(b)是它对应的GT,©和(d)是其灰度图对应的2阶haar小波子带示意图,(e)是两者小波子带对应的差值图。可以看到,在某些子带内,两者几乎没有差异,而在一些子带内,差异明显。
Proposed method
1. Network structure - WDNet
整体网络结构如(a)所示,输入H x W x 3的图,经过2级haar小波变换得到频域**(H/4) x (W/4) x 48**尺寸的图,接下来网络主要部分是提出的双分支结构,一个是(b)中的Dense Branch,另一个是©中的Dilation Branch (主要由空洞卷积核普通卷积组成,普通卷积的作用是减少网格伪影)。
2. Direction perception module - DPM
这里作者借鉴的是一篇(Hu X, Zhu L, Fu C W, et al. Direction-aware spatial context features for shadow detection[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018: 7454-7462.
)的论文,通过对feature map进行8个不同方向的卷积,从而更好的捕获到不同方向的摩尔条纹信息。
hi,j表示为像素(i,j)的特征,我们通过重复以下操作n次,向右执行一轮数据转换(其他三个方向也执行类似的操作)
其中,n是特征图的宽度,aright 是递归转换层中向右方向的权重参数,aright 以及其他方向的权重被初始化为一个单位矩阵,并通过训练过程自动学习。
与图(c)相比,图(a)中的每个像素仅知道其局部空间上下文,而图(b)中的每个像素在第一轮数据转换后进一步了解四个主要方向上的空间上下文。 因此,经过两轮数据转换后,每个像素可以获得相关的方向感知全局空间上下文.
Loss function
网络的总损失:
其中,Ll1是网络输出与GT之间的L1损失(RGB空间),Lp是感知损失,Lw是小波频域的损失,La是attention loss。
Wavelet loss
C = (c1; c2; :::; cN) 和 C^ = (^ c1; c^2; :::; c^N) 是GT和估计得到的小波子带。
Attention loss
其中A表示网络中DPM的输出,M表示摩尔条纹的mask,如何得到这个mask呢?作者首先得到摩尔图像和GT之间的差异图,然后设置相应的阈值得到,d()表示下采样操作,为了使得M的尺寸与A一致,在本文中阈值设置为15.
Experiments
- the dense branch focuses on the local moire patterns (interlaced bright and dark areas)
- the dilation branch focuses on the whole areas contaminated by the moire patterns due to its larger receptive field.
除此之外,作者还将其方法扩展到去雨线和雨滴。下图为雨图的频域可视化结果。
思考
文章中使用不同方向的卷积操作来提取纹理信息,可以借鉴。
(recoded by xt)