SRCNN、DRCN、FSRCNN、ESPCN、SRGAN、RED…你都掌握了吗?一文总结超分辨率分析必备经典模型(一)(1)

简介: SRCNN、DRCN、FSRCNN、ESPCN、SRGAN、RED…你都掌握了吗?一文总结超分辨率分析必备经典模型(一)


本专栏由机器之心SOTA!模型资源站出品,每周日于机器之心公众号持续更新。 本专栏将逐一盘点自然语言处理、计算机视觉等领域下的常见任务,并对在这些任务上取得过 SOTA 的经典模型逐一详解。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。

本文将分 3 期进行连载,共介绍 16 超分辨率任务上曾取得 SOTA 的经典模型。


  • 第 1 期:SRCNN、DRCN、FSRCNN、ESPCN、SRGAN、RED
  • 第 2 期:VDSR、DRRN、LapSRN、RCAN、DSRN
  • 第 3 期:SFT-GAN、CSRCNN、CSNLN、HAN+、Config (f)

您正在阅读的是其中的第 1 期。前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及 API 等资源。


本期收录模型速览

模型 SOTA!模型资源站收录情况 模型来源论文
SRCNN https://sota.jiqizhixin.com/project/srcnn
收录实现数量:57
支持框架:PyTorch、TensorFlow、MindSpore
Image Super-Resolution Using Deep Convolutional Networks
DRCN https://sota.jiqizhixin.com/project/drcn
收录实现数量:1
支持框架:TensorFlow
Deeply-Recursive Convolutional Network for Image Super-Resolution
FSRCNN https://sota.jiqizhixin.com/project/fsrcnn
收录实现数量:8
支持框架:PyTorch、TensorFlow
Accelerating the Super-Resolution Convolutional Neural Network
ESPCN https://sota.jiqizhixin.com/project/espcn
收录实现数量:14
支持框架:PyTorch、TensorFlow
Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network
SRGAN https://sota.jiqizhixin.com/project/srgan
收录实现数量:4
支持框架:PyTorch、TensorFlow
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network
RED https://sota.jiqizhixin.com/project/red30-2
收录实现数量:13
支持框架:TensorFlow
Image Restoration Using Convolutional Auto-encoders with Symmetric Skip Connections


图像超分辨率(Super Resolution,SR)是指从低分辨率(Low Resolution,LR)图像中恢复高分辨率(High Resolution, HR)图像的过程,是计算机视觉和图像处理中一类重要的图像处理技术。SR在现实世界中有着广泛的应用,如医疗成像、监控和安全等。除了提高图像感知质量外,SR还有助于改善其他计算机视觉任务。一般来说,超分辨率分析是非常具有挑战性的,而且本身就是一个难题,因为总是有多个HR图像对应于一个LR图像。在已有文献中,研究人员提出了各种经典的SR方法,包括基于预测的方法、基于边缘的方法、统计方法、基于patch的方法和稀疏表示方法等。


近年来,随着深度学习技术的快速发展,基于深度学习的SR模型得到了快速发展,并在SR的各种基准上取得了最先进的性能。各种各样的深度学习方法已经被应用于SR任务,从早期的基于卷积神经网络(CNN)的方法到最近使用的生成对抗网络的SR方法。一般来说,使用深度学习技术的SR方法在以下主要方面有所不同:不同类型的网络架构、不同类型的损失函数、不同类型的学习原理和策略等。

超分辨率分析可以分为视频超分辨率VSR(Video Super Resolution) 和单帧超分辨率SISR(Single Image Super Resolution),本文重点关注单帧超分辨率分析方法。本文聚焦于深度学习技术,回顾SISR中必备的TOP模型。




1、 SRCNN

本文首次提出将深度学习技术应用于SR,得到经典的SRCNN(Super-Resolution CNN)模型。SRCNN结构很简单,但是效果很好。计算效率高,速度快。对于一个LR图像,首先使用bicubic 插值到所需的尺寸得到图像Y,然后学习一个映射F,使得F(Y)尽可能和ground-truth接近。该方法的完整学习过程包含三步:1)Patch extraction and representation,从Y中提取patches并表示为高维向量;Non-linear mapping,将高维向量映射到另一高维向量;reconstruction,整合上述的high-resolution patch-wise representation。上述三个步骤组成了一个卷积网络。如图1所示:


图1 给定一个低分辨率的图像Y,SRCNN的第一个卷积层提取一组特征图。第二层将这些特征图非线性地映射到高分辨率的patch表示上。最后一层结合空间邻域内的预测,生成最终的高分辨率图像F (Y)


Patch extraction and representation。在图像恢复中有一个常用的策略就是从图像密集提取图像块,然后用一组预先训练好的基(PCA、DCT、Haar等)来表示。这等同于用一组滤波器对图像进行卷积,每个滤波器对应一个基。SRCNN的第一层可以如下表示:



其中,W1对应 n1个滤波器,每个滤波器大小为 c×f_1 ×f_1 ,其中,c是图像通道数,RGB就是3通道,灰度图像是单通道。f_1是滤波器尺寸。卷积之后就得到n1个特征图。接着对滤波器响应应用 ReLU,即 max(0,x)。

Non-linear mapping。经过上一步卷积,我们得到一个n1维特征向量,对应一个图像块,这一步,将一个n1维特征向量映射到一个n2维向量。对于大的滤波器,非线性映射不是对应图像块,而是对应特征图中的 “块”。这一步可以看做如下卷积:



Reconstruction。这一步就是对高分辨率图像块的权值平均,这个平均可以看做对一组特征图的一个预先定义的滤波器,使用下面的卷积表示:


在SRCNN中,上述三个步骤作为一个卷积网络共同训练。


当前SOTA!平台收录SRCNN共57个模型实现。

项目 SOTA!平台项目详情页
SRCNN 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/srcnn


2、 DRCN

SRCNN的层数较少,同时感受野也较小(13x13)。本文提出的DRCN (Deeply-Recursive Convolutional Network for Image Super-Resolution)使用更多的卷积层增加网络感受野(41x41),同时为了避免过多网络参数,使用递归神经网络(RNN)。网络的基本结构如图2,输入图像是原始LR图像经过插值上采样后的图像


图2 DRCN架构


与SRCNN类似,DRCN分为三个模块,第一个是Embedding network,相当于特征提取;第二个是Inference network, 相当于特征的非线性变换;第三个是Reconstruction network,即从特征图像得到最后的重建结果。其中的Inference network是一个递归网络,即数据循环地通过该层多次。将这个循环展开,就等效于使用同一组参数的多个串联的卷积层。DRCN将每一层的卷积结果都通过同一个Reconstruction Net得到一个重建结果,从而共得到D个重建结果,再把它们加权平均得到最终的输出。另外,受到ResNet的启发,DRCN通过skip connection将输入图像与H_d的输出相加后再作为Reconstruction Net的输入(如图2所示),相当于使Inference Net去学习高分辨率图像与低分辨率图像的差,即恢复图像的高频部分。

以上得到的Basic Model 虽然简单且功能强大,但作者发现训练深度递归网络非常困难(最多训练三个循环层)。作者分析有以下几点原因:1)梯度的消失和爆炸。梯度爆炸是由链式梯度的乘法性质造成的。对于深度递归,可以呈指数增长。梯度消失问题正好与梯度爆炸相反。梯度呈指数级的速度到零向量。因此,梯度爆炸和消失的存在使深度递归网络掌握远距离像素信息间的关系非常困难。2)经过多次递归想要保留原始LR信息并不容易。在SR任务中,输出与输入非常相似,所以LR图像的信息非常重要,需要为后续更深的递归层保留输入图像的精确信息。3)存在一个寻找最优递归次数的问题。如果递归对于给定的任务来说太深,就需要减少递归的次数。寻找最优数需要训练许多具有不同递归深度的网络。

由此,作者提出了如下改进技术:1)Recursive-Supervision:监督每层递归,以减轻梯度消失/爆炸的影响。假设在推理层中卷积过程反复使用相同的卷积核,使用相同的重建层来预测每一次递归重建的SR图像。重建层输出D个预测图像,所有预测都在训练期间同时受到监督。将所有D个预测图像通过加权求和来计算最终输出(权重由网络学习得到)。通过递归减轻了训练递归网络的困难,通过反向传播将不同预测损失产生的反传梯度求和提供平滑效果,能够有效缓解梯度爆炸或消失。此外,由于监督能够利用所有中间层的预测信息,因此,对最佳递归次数选择的重要性降低了。2)Skip-Connection:对于图像重建任务,输入和输出图像高度相关,所以可以直接通过skip层连接将LR信息直接传输到SR重建层。改进后的Advanced Model如图3所示。

图3 (a): Advanced Model,带有递归监督和skip connection。重建网络是共享的,用于递归预测。使用中间递归的所有预测来获得最终的输出。(b): 将深度监督应用于Basic Model。与(a)不同的是,(b)中的模型使用不同的重建网络进行递归,并且使用了更多的参数。(c): (a)的扩展结构示例,没有参数共享(没有递归)。权重参数的数量与深度的平方成正比

当前SOTA!平台收录DRCN共1个模型实现。

项目 SOTA!平台项目详情页
DRCN 前往 SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/drcn


相关文章
|
机器学习/深度学习 传感器 人工智能
首篇!最全的全景分割综述(RGB图像/医学图像/LiDAR)(下)
本文对现有的全景分割方法进行了第一次全面的综述。因此,基于所采用的算法、应用场景和主要目标的性质,对现有全景技术进行了定义良好的分类。此外,还讨论了全景分割在通过伪标记标注新数据集中的应用。接下来,进行消融研究,以从不同角度了解全景方法。此外,还讨论了适用于全景分割的评估指标,并对现有解决方案的性能进行了比较,以了解最新技术并确定其局限性和优势。最后,阐述了当前主题技术面临的挑战以及近期吸引大量关注的未来趋势,这可以作为未来研究的起点。
首篇!最全的全景分割综述(RGB图像/医学图像/LiDAR)(下)
|
机器学习/深度学习 传感器 编解码
史上最全 | 基于深度学习的3D分割综述(RGB-D/点云/体素/多目)(上)
3D目标分割是计算机视觉中的一个基本且具有挑战性的问题,在自动驾驶、机器人、增强现实和医学图像分析等领域有着广泛的应用。它受到了计算机视觉、图形和机器学习社区的极大关注。传统上,3D分割是用人工设计的特征和工程方法进行的,这些方法精度较差,也无法推广到大规模数据上。在2D计算机视觉巨大成功的推动下,深度学习技术最近也成为3D分割任务的首选。近年来已涌现出大量相关工作,并且已经在不同的基准数据集上进行了评估。本文全面调研了基于深度学习的3D分割的最新进展,涵盖了150多篇论文。论文总结了最常用的范式,讨论了它们的优缺点,并分析了这些分割方法的对比结果。并在此基础上,提出了未来的研究方向。
史上最全 | 基于深度学习的3D分割综述(RGB-D/点云/体素/多目)(上)
|
传感器 机器学习/深度学习 编解码
一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)(下)
目前3D目标检测领域方案主要包括基于单目、双目、激光雷达点云、多模态数据融合等方式,本文主要介绍基于激光雷达雷达点云、多模态数据的相关算法,下面展开讨论下~
一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)(下)
|
机器学习/深度学习 编解码 人工智能
SRCNN、DRCN、FSRCNN、ESPCN、SRGAN、RED…你都掌握了吗?一文总结超分辨率分析必备经典模型(一)(2)
SRCNN、DRCN、FSRCNN、ESPCN、SRGAN、RED…你都掌握了吗?一文总结超分辨率分析必备经典模型(一)
281 0
|
存储 算法 计算机视觉
【检测|RCNN系列-5】Light-Head R-CNN的稳精度、提速度之路(附论文获取方式)
【检测|RCNN系列-5】Light-Head R-CNN的稳精度、提速度之路(附论文获取方式)
138 0
|
机器学习/深度学习 编解码 人工智能
SRCNN、DRCN、FSRCNN、ESPCN、SRGAN、RED…你都掌握了吗?一文总结超分辨率分析必备经典模型(一)(3)
SRCNN、DRCN、FSRCNN、ESPCN、SRGAN、RED…你都掌握了吗?一文总结超分辨率分析必备经典模型(一)
283 0
|
机器学习/深度学习 编解码 人工智能
VDSR、DRRN、LapSRN、RCAN、DSRN…你都掌握了吗?一文总结超分辨率分析必备经典模型(二)(2)
VDSR、DRRN、LapSRN、RCAN、DSRN…你都掌握了吗?一文总结超分辨率分析必备经典模型(二)
246 0
|
机器学习/深度学习 编解码 监控
VDSR、DRRN、LapSRN、RCAN、DSRN…你都掌握了吗?一文总结超分辨率分析必备经典模型(二)(1)
VDSR、DRRN、LapSRN、RCAN、DSRN…你都掌握了吗?一文总结超分辨率分析必备经典模型(二)
361 0
|
机器学习/深度学习 边缘计算 人工智能
一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)(上)
目前3D目标检测领域方案主要包括基于单目、双目、激光雷达点云、多模态数据融合等方式,本文主要介绍基于激光雷达雷达点云、多模态数据的相关算法,下面展开讨论下~
一文尽览 | 基于点云、多模态的3D目标检测算法综述!(Point/Voxel/Point-Voxel)(上)
|
编解码 算法 计算机视觉
学不动系列 | YolactEdge:边缘设备上的实时实例分割(Xavier: 30 FPS,附源码与论文)(一)
学不动系列 | YolactEdge:边缘设备上的实时实例分割(Xavier: 30 FPS,附源码与论文)(一)
200 0