Learning Dual Convolutional Neural Networks for Low-Level Vision

原文链接

  https://arxiv.org/pdf/1805.05020v1.pdf

摘要

  本文为low-level vision问题(如超分辨率,边缘滤波、去雨、去雾等)提出了一种双边卷积神经网络。这些问题的共同之处是对目标信号两种成分的估计:大致结构细节。受到这个启发,本文提出的模型由两个平行的分支组成,分别以端到端的方式恢复图像的结构和细节。恢复的结构和细节可以根据特定的任务使用不同的合成模型来合成目标图像。DualCNN是处理low-level vision的一个灵活的框架,可以容易地与现有的CNN模型合作。

引言

  当前的方法无非是使用单纯的深度网络或残差网络,单纯的深度网络在层数变深时效果会变差,残差网络虽然解决了这个问题。但是基于残差网络的VDSR模型无法修复结构中的低频错误。
  为了解决这个问题,本文提出的DualCNN包含两个分支,一个较浅的子网络来恢复结构,一个较深的子网络来恢复细节

提出的算法

  模型的结构如下图所示:
  

  其中,Net-S恢复结构,Net-D恢复细节。损失函数如下所示:
\displaystyle \mathcal L_ x(S, D)=|\phi(S)+\varphi(D)-X|_ 2^ 2
  其中X表示gt的label,S和D分别表示S网络和D网络的输出。ϕ和φ取决于任务。

应用

  在去雾问题中: \displaystyle I=J D+S(1-D)   其中I是有雾图,J是无雾图,S是大气光,D是平均传输图。因此可以设\phi(S)=S(1-D)\varphi(S)=JD。则第一个损失函数变成了:
\displaystyle \mathcal L_ x(S, D)=|J D+S(1-D)-I|_ 2^ 2
  S和D各自的损失函数保持不变,在测试时,使用下式来恢复无雾图:
\displaystyle J_{e s t}=\frac{I-S}{\max {D, d_ 0}}+S
  其中d_ 0用来防止分母被0除,通常取值为0.1。