Dual Conv_Tencent(CVPR 18')

1. Learning Dual Convolutional Neural Networks for Low-Level Vision

  Low-level vision tasks usually involve the estimation of two components, low-frequency structures and high-frequency details
  低层视觉问题通常涉及到目标结果的结构和细节部分的估计, 这个Dual Conv包含了两个分支, 分别可以端到端的估计目标结果的结构和细节信息。基于估计的结构的细节信息, 目标结果可分别通过特定问题的成像模型(SR, Edge-Preserve Filter)来得到。

  A DualCNN consists of two branches, one shallow sub-network to estimate the structures and one deep sub-network to estimate the details
  Net-S是一个shallow network, 因为它提取的是结构信息, 所以不需要太深, 太深反而会有很大噪声
  Net-D是一个deep network, 需要估计细节, 究竟用多深的网络, 文章下面会在不同的IP的时候用不同的模型

  The modular design of a DualCNN makes it a flexible framework for a variety of low-level vision problems.
  DualCNN就和Siamese一样, 它不是网络模型, 只是一种架构, Net-D和Net-S可以根据实际需要替换成需要的网络模型


2. 结构分析

Dual Conv_Tencent(CVPR 18')_第1张图片
Dual conv architecture
Dual Conv_Tencent(CVPR 18')_第2张图片

  Loss函数由S, D和S和D相加重构出的最终结果与实际标签之间的loss三者组成
  这里以几个问题理解一下这个复杂的loss function

  • X从哪儿来?
      X是ground truth label, 那在SR就是downsample之前的原图, NR就是添加噪声前的原图

  • S_gt和D_gt从哪儿来?
      这个也是每个IP不一样, 就是你希望Net-D学出来的Detail图应该是什么样, Net-S学出来的Structure图应该是什么样
      SR的话S图是HR图加上Gaussian Filter, D图是HR - S图, 其实S图就是低通图, D图就是高通图, 获取高通图的途径就是在原图中剪掉低通图

  • α λ γ 这三个值的意义是什么?
      类似style transfer(这个回头看一下Andrew Ng这个部分), 这三个值就是看你最终是希望那个学习的结果离Ground Truth更近, 相当于style transfer中的风格loss和值loss的平衡

  • ϕ(), ψ()的意义是什么?
      这是Net-S和Net-D学习结果的组合方式, 根据不同的任务来设置, 就是最终的学习结果是如何通过高通图和低通图组合到一起的
      the forms of the functions ϕ(), and ψ(), are knownand depend on the domain knowledge of each task


3. Example(SR)

Training Data
we generate the training data by randomly sampling 250 thousands 41�x41 patches from 291 natural images

Ground Truth
Sgt=guassian filter(X)
X就是sample前的原图
Dgt=X−Sgt
高通图

Super Para
ϕ(S)=S, ψ(D)=D
α=1, λ=0.001, γ=0.01
也就是说权重侧重在最终的合成图要尽量像原图

你可能感兴趣的:(Dual Conv_Tencent(CVPR 18'))