【论文精读】Low-Light Image Enhancement via a Deep Hybrid Network

目录

  • 论文出处
  • 摘要
  • 网络结构
    • A.内容流
    • B.边缘流
  • 损失函数
    • MSE损失
    • 感知损失
    • 对抗性损失
    • 总的损失

论文出处

IEEE TRANSACTIONS ON IMAGE PROCESSING, VOL. 28, NO. 9, SEPTEMBER 2019

摘要

1、提出了一种混合神经网络,由两个不同的流组成:
1)内容流:通过编解码器网络估计微光输入图像的全局内容,但是该部分会损失输入图像中的细节内容;
2)边缘流:提出了一种新的空间可变递归神经网络,在另一个自动编码器的指导下对边缘细节进行建模。
因此,网络可以同时学习微光图像的全局内容和显著性结构。
2、利用感知损失和对抗性损失对网络进行训练,产生令人愉悦的增强图像。
3、该网络仅仅是从原问题出发——微光图像增强,并未对其它论文中出现的问题进行讨论。

网络结构

【论文精读】Low-Light Image Enhancement via a Deep Hybrid Network_第1张图片
该模型由两个流组成,上面的内容流是残差编解码器,旨在恢复大部分场景。下面的边缘流通过空间变化的RNN进行显著边缘预测。为了在两个流之间构建通信,在上采样阶段桥接两个网络。除了MSE损失外,我们还采用了感知损失和对抗性损失来进一步提高视觉质量。

A.内容流

构建了基于残差编解码器体系结构的内容分支,具体的内容预测设计如下:
1)将编码器中的前两卷积层改为空洞卷积,以扩大接收范围;
2)将边缘流中的解卷积模块的特征连接起来。
残差编解码器网络有三个卷积模块,每个模块由多个卷积层、ReLU层和skip link组成。具体地说,来自第一、第二和第三卷积的特征分别具有输入图像大小的1/2、1/4、1/8的大小。相应的解码器引入了上采样操作来放大特征映射。

B.边缘流

引用了具有空间可变的RNN的边缘流,以学习输入图像和相应地图的权重映射。具体是利用输入图像在 k k k位置上的像素 x [ k ] x[k] x[k],将先前的隐藏状态 h [ k − 1 ] h[k-1] h[k1]转移到当前状态 h [ k ] h[k] h[k]。一维中的空间递归关系可以由下式建模:
h [ k ] = ( 1 − p [ k ] ) ∘ x [ k ] + p [ k ] ∘ h [ k − 1 ] (1) h[k]=(1-p[k])\circ x[k]+p[k]\circ h[k-1]\tag{1} h[k]=(1p[k])x[k]+p[k]h[k1](1)
其中 p [ k ] p[k] p[k]是平衡 x [ k ] x[k] x[k] h [ k ] h[k] h[k]之间的加权因子。
CNN依赖于图像内容来学习相应的权重图 p p p公式(1)是在某一指定频率具有单位增益的归一化滤波器
但该方法不能直接应用于微光图像增强任务,当直接使用标准化的RNN时,若输入微光图像,则输出仍是微光图像。如下图所示:
【论文精读】Low-Light Image Enhancement via a Deep Hybrid Network_第2张图片
由于空间上的RNN等价于归一化滤光器,因此RNN的输出在给定弱光输入 ( a ) (a) (a)的情况下仍然是微光图像 ( b ) (b) (b)。相反,我们改进的空间可变RNN学习显著的边缘相关特征,如 ( c ) (c) (c)所示。
根据以上内容,提出了一种边缘流来弥补微光图像的结构信息丢失,改进的空间变异RNN模型:
h [ k ] = g [ k ] ∘ x [ k ] + p [ k ] ∘ h [ k − 1 ] (2) h[k]=g[k]\circ x[k]+p[k]\circ h[k-1]\tag{2} h[k]=g[k]x[k]+p[k]h[k1](2)
不同于等式(1),引入了一种新的于 p p p无关的权重图 g g g,使得当前图像像素信息 x [ k ] x[k] x[k]和先前的隐藏状态 h [ k − 1 ] h[k−1] h[k1]可以更灵活地融合。
【论文精读】Low-Light Image Enhancement via a Deep Hybrid Network_第3张图片
上图所示,输入信息由微光图像及其对应的梯度组成。CNN依赖于输入信息生成权重图 g g g p p p。多尺度特征 x x x进一步由输入图像组成。一个方向空间变化的RNN,特别是从左到右(图中的红色箭头),采用所生成的权重图 g g g p p p以及多尺度特征 x x x来递归地生成隐藏状态,即边缘特征。请注意,对于每个特定方向,输入图像被视为一组一维序列。
在本文中,我们还采用了带有跳跃连接的编解码器结构来计算像素方向的权重 g [ k ] g[k] g[k] p [ k ] p[k] p[k]。我们发现该网络与内容分支具有相似的属性,并且它们的特征表示具有相似的比例,这使得能够合理地连接到内容流。此外,为了生成输入图像的多尺度特征 x x x,我们使用{1/2,1/4,1/8}的比率,然后将它们的大小调整到原始大小,并将它们与原始图像连接在一起。因此,我们的空间变异RNN中的 x [ k ] x[k] x[k]可以通过粗尺度的处理达到更全局的范围。利用多尺度特征 x x x以及学习到的权重图 g g g p p p,我们的RNN依赖于公式(2)从四个不同的方向扫描图像。因此,生成四个隐含激活图来学习不同的边缘相关特征。我们根据每个位置的最大响应来选择最优方向,从而整合了这些特征。这是通过逐节点的最大汇集来实现的,其有效地选择响应最大的方向作为要传播的期望的显著边缘信息。
混合网络学习到内容和边缘相关特征后,将这些特征融合在一起,再加上两个额外的卷积层。

损失函数

MSE损失

该损失度量增强后的图像与真实图像之间的内容差异,使用输出图像与目标图像之间的欧几里德距离,表达式如下:
L m s e = 1 N ∑ i = 1 N ∣ ∣ G ( R ) − I ∣ ∣ 2 (3) \mathcal{L}_{mse}=\frac{1}{N}\sum_{i=1}^N||G(R)-I||^2\tag{3} Lmse=N1i=1NG(R)I2(3)
其中 N N N表示每个进程中的图像数量。

感知损失

为了提高生成器的增强效果,利用感知损失对生成器进行约束。
L p e r = 1 C j W j H j ∣ ∣ ϕ j { G ( R ) } − ϕ j I ∣ ∣ 2 (4) \mathcal{L}_{per}=\frac{1}{C_jW_jH_j}||\phi_j\{G(R)\}-\phi_j{I}||^2\tag{4} Lper=CjWjHj1ϕj{ G(R)}ϕjI2(4)
其中 ϕ j \phi_j ϕj表示由VGG16网络通过第 j j j次卷积得到的特征图。

对抗性损失

L a d v = E I ∽ P c l e a r ( I ) [ l o g   D ( I ) ] + E R ∽ P l o w ( L ) [ l o g ( 1 − D ( G ( L ) ) ) ] (5) \mathcal{L}_{adv}=\underset{I\backsim P_{clear}(I)}{\mathbb{E}}[log\ D(I)]+\underset{R\backsim P_{low}(L)}{\mathbb{E}}[log(1-D(G(L)))]\tag{5} Ladv=IPclear(I)E[log D(I)]+RPlow(L)E[log(1D(G(L)))](5)

总的损失

通过组合MSE损失、感知损失和对抗性损失。最终损失函数定义为:
L t o t a l = L m s e + λ p L p e r + λ a L a d v (6) \mathcal{L}_{total}=\mathcal{L}_{mse}+\lambda_p\mathcal{L}_{per}+\lambda_a\mathcal{L}_{adv}\tag{6} Ltotal=Lmse+λpLper+λaLadv(6)

你可能感兴趣的:(论文精读,深度学习,pytorch,神经网络,机器学习)