SRN-DeblurNet:高效高质量去除复杂图像模糊

1. 介绍

图像去模糊一直以来都是计算机视觉和图像处理领域内的一个重要问题。给定一张因运动或失焦而模糊(由相机摇晃、目标快速移动或对焦不准而造成)的图像,去模糊的目的是将其恢复成有清晰的边缘结构和丰富真实的细节的图像。

图像去模糊是从粗糙到精细(coarse-to-fine)的过程,在传统方法与基于深度学习的方法中,一般使用金字塔结构中不同分辨率逐渐去重建得到清晰的图像,这篇文章也是使用这样的方式从而提出了一个新的模糊去除方法Scale-recurrent Network(SRN-DeblurNet)。相比一些现有的方法其具有结构简单、参数量少、且容易训练的特点,性能也是比较好的。

2. 图像处理中的网络结构

SRN-DeblurNet:高效高质量去除复杂图像模糊_第1张图片
上图中的前3幅图展示了图像处理的不同CNN网络结构,图(a)中是经典的U型结构,这个结构是文章算法采用了的;图(b)是级联形式的网络,文章采用参数共享的网络来减少参数与训练的难度,此外文章在级联出使用LSTM之类的网络进行特征提取,更好重建清晰图;图(c)是使用膨胀卷积的网络,这样回增大网络的感受野。而文章是将这些网络设计中的优点集成,从而得到这篇文章的网络结构SRN,见图(d)所示。

3. 网络设计

3.1 网络结构

文章的网络结构见下图所示,它是一个由多个尺度图像输如构建的多层网络,类似于构建一个重构金字塔,逐级优化从而得到最后的重建清晰图。具体的网络结构见具体原文所示。
SRN-DeblurNet:高效高质量去除复杂图像模糊_第2张图片

3.2 Scale-recurrent Network(SRN)

在网络中的中间数据 h i h^i hi与输出数据 I i I^i Ii其重构的数学表达为:
在这里插入图片描述
其中,i=1代表的是最好的尺度,也就是分辨率最大的层级, B i B^i Bi, I i I^i Ii是不同层级的模糊图与重建之后的图像, N e t S R Net_{SR} NetSR是重建网络, θ S R \theta_{SR} θSR是网络中的参数。
在公式1中已经描述了网络的大致结构,除此之外网络还有一些可以灵活设计的部分:

  1. 网络中的循环网络部分,可供选择的有RNN、LSTM、GRU,文章里面从实际的效果上选择的是ConvLSTM;
  2. 对于上采样操作的选择,可选的有deconvolution layer、sub-pixel
    convolution与图像resize,文章里面选用的是双线性差值方式;

3.3 使用ResBlocks的编解码器

3.3.1 编解码网络

编解码结构的U型网络在实际中有广泛使用,但这样的结构对于这篇文章所要处理的任务来说就有点并不是适合,主要的原因有:

  1. 对于去模糊的任务,感受野需要很大才能处理严重模糊的情况,这就导致了需要增加网络的层数,但会带来大量的参数与中间特征,而且中间的特征分辨率过小也无法有效复原清晰图像;
  2. 在编解码器中添加过多的卷积操作会使得网络转换的效率下降;
  3. 文章的结构中间采用了循环网络;

3.3.2 编解码器中的ResBlock

在本论文中,我们将表明直接应用已有的编码器-解码器结构不能得到最优结果。相对而言,我们的编码器-解码器 ResBlock 网络会放大各种 CNN 结构的优势并实现训练的可行性。同时,这还会产生非常大的感受野,这对运动模糊很大的图像的去模糊至关重要

对于上面|问题文章设计了两个基础网络block:Encoder ResBlocks(EBlocks) 与 Decoder ResBlocks(DBlocks),他们两个是呈现相互对称的形式,这些模块的stride为2。
对于网络引入循环网络,这里将公式1的描述进行了修改,则添加了循环网络的描述为:
SRN-DeblurNet:高效高质量去除复杂图像模糊_第3张图片

3.4 网络的损失函数

网络的损失函数采用的是 L 2 L_2 L2损失函数,这个损失函数在一些精度要求不高的场景下可以使用,其固有的性质会使得重建结果模糊化,丢失高频信息,其损失函数定义为( k i = 1.0 k_i=1.0 ki=1.0):
在这里插入图片描述

4. 实验结果

网络的总体性能:
SRN-DeblurNet:高效高质量去除复杂图像模糊_第4张图片
多尺度重建对于性能的影响:
SRN-DeblurNet:高效高质量去除复杂图像模糊_第5张图片

5. 最后

你可能感兴趣的:(--,图像画质增强,图像重建,去模糊,deblur,SRN-DeblurNet)