深度学习(二十二)——ESPCN, FSRCNN, VESPCN, SRGAN, DemosaicNet, MemNet, RDN, ShuffleSeg

article/2025/11/10 14:17:01

https://antkillerfarm.github.io/

ESPCN

ESPCN(efficient sub-pixel convolutional neural network)是创业公司Magic Pony Technology的Wenzhe Shi和Jose Caballero作品。该创业团队主要来自Imperial College London,目前已被Twitter收购。

论文:

《Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network》

代码:

https://github.com/wangxuewen99/Super-Resolution/tree/master/ESPCN

在SRCNN和DRCN中,低分辨率图像都是先通过上采样插值得到与高分辨率图像同样的大小,再作为网络输入,意味着卷积操作在较高的分辨率上进行,相比于在低分辨率的图像上计算卷积,会降低效率。

ESPCN提出一种在低分辨率图像上直接计算卷积得到高分辨率图像的高效率方法。

这里写图片描述

ESPCN的核心概念是亚像素卷积层(sub-pixel convolutional layer)。如上图所示,网络的输入是原始低分辨率图像,通过两个卷积层以后,得到的特征图像大小与输入图像一样,但是特征通道为 r2 r 2 (r是图像的目标放大倍数)。将每个像素的 r2 r 2 个通道重新排列成一个 r×r r × r 的区域,对应于高分辨率图像中的一个 r×r r × r 大小的子块,从而大小为 r2×H×W r 2 × H × W 的特征图像被重新排列成 1×rH×rW 1 × r H × r W 大小的高分辨率图像。这个变换虽然被称作sub-pixel convolution, 但实际上并没有卷积操作。

通过使用sub-pixel convolution, 图像从低分辨率到高分辨率放大的过程,插值函数被隐含地包含在前面的卷积层中,可以自动学习到。只在最后一层对图像大小做变换,前面的卷积运算由于在低分辨率图像上进行,因此效率会较高。

参考:

http://blog.csdn.net/zuolunqiang/article/details/52401802

super-resolution技术日记——ESPCN

FSRCNN

FSRCNN(Fast Super-Resolution CNN)是Chao Dong继SRCNN之后的又一作品。

论文:

《Accelerating the Super-Resolution Convolutional Neural Network》

代码:

https://github.com/66wangxuewen99/Super-Resolution/tree/master/FSRCNN

这里写图片描述

上图是FSRCNN和SRCNN的网络结构对比图。其中的 Conv(fi,ni,ci) C o n v ( f i , n i , c i ) 中的 fi,ni,ci f i , n i , c i 分别表示filter的大小、数量和通道的个数。

FSRCNN主要做了如下改进:

1.直接输入LR的图片。这和ESPCN思路一致。

2.将SRCNN中的Non-linear mapping分为Shrinking、Mapping、Expanding三个阶段。

3.使用Deconv重建HR图像。

ESPCN的论文中指出他们的sub-pixel convolution效果优于Deconv。但由于ESPCN和FSRCNN出来的时间都差不多,尚未有他们两个正式PK的成绩。

参考:

http://blog.csdn.net/zuolunqiang/article/details/52411673

super-resolution技术日记——FSRCNN

VESPCN

看名字就知道,VESPCN(Video ESPCN)仍然是ESPCN原班人马Wenzhe Shi和Jose Caballero作品。

论文:

《Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation》

在视频图像的SR问题中,相邻几帧具有很强的关联性,上述几种方法都只在单幅图像上进行处理,而VESPCN提出使用视频中的时间序列图像进行高分辨率重建,并且能达到实时处理的效率要求。其方法示意图如下,主要包括三个方面:

这里写图片描述

一是纠正相邻帧的位移偏差,即先通过Motion estimation估计出位移,然后利用位移参数对相邻帧进行空间变换,将二者对齐。二是把对齐后的相邻若干帧叠放在一起,当做一个三维数据,在低分辨率的三维数据上使用三维卷积,得到的结果大小为 r2×H×W r 2 × H × W 。三是利用ESPCN的思想将该卷积结果重新排列得到大小为 1×rH×rW 1 × r H × r W 的高分辨率图像。

Motion estimation这个过程可以通过传统的光流算法来计算,DeepMind提出了一个Spatial Transformer Networks, 通过CNN来估计空间变换参数。VESPCN使用了这个方法,并且使用多尺度的Motion estimation:先在比输入图像低的分辨率上得到一个初始变换,再在与输入图像相同的分辨率上得到更精确的结果,如下图所示:

这里写图片描述

由于SR重建和相邻帧之间的位移估计都通过神经网路来实现,它们可以融合在一起进行端到端的联合训练。为此,VESPCN使用的损失函数如下:

(θ,θΔ)=argminθ,θΔIHRtf(ILRt1:t+1;θ)22+i=±1[βILRt+iILRt22+λ(x,yΔt+i)] ( θ ∗ , θ Δ ∗ ) = arg ⁡ min θ , θ Δ ⁡ ‖ I t H R − f ( I t − 1 : t + 1 ′ L R ; θ ) ‖ 2 2 + ∑ i = ± 1 [ β ‖ I t + i ′ L R − I t L R ‖ 2 2 + λ H ( ∂ x , y Δ t + i ) ]

第一项是衡量重建结果和Golden标准之间的差异,第二项是衡量相邻输入帧在空间对齐后的差异,第三项是平滑化空间位移场。

SRGAN

SRGAN还是ESPCN原班人马的作品。

论文:

《Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network》

SRGAN将生成式对抗网络(GAN)用于SR问题。其出发点是传统的方法一般处理的是较小的放大倍数,当图像的放大倍数在4以上时,很容易使得到的结果显得过于平滑,而缺少一些细节上的真实感。因此SRGAN使用GAN来生成图像中的细节。

传统的方法使用的代价函数一般是最小均方差(MSE),即:

lSRMSE=1r2WHx=1rWy=1rH(IHRx,yGθG(ILR)x,y)2 l M S E S R = 1 r 2 W H ∑ x = 1 r W ∑ y = 1 r H ( I x , y H R − G θ G ( I L R ) x , y ) 2

该代价函数使重建结果有较高的信噪比,但是缺少了高频信息,出现过度平滑的纹理。SRGAN认为,应当使重建的高分辨率图像与真实的高分辨率图像无论是低层次的像素值上,还是高层次的抽象特征上,和整体概念和风格上,都应当接近。

这里写图片描述

上图展示了MSE和GAN方法的区别。

整体概念和风格如何来评估呢?可以使用一个判别器,判断一副高分辨率图像是由算法生成的还是真实的。如果一个判别器无法区分出来,那么由算法生成的图像就达到了以假乱真的效果。

因此,该文章将代价函数改进为:

lSR=lSRX+103lSRGen l S R = l X S R + 10 − 3 l G e n S R

第一部分是基于内容的代价函数(content loss),第二部分是基于对抗学习的代价函数(adversarial loss)。

论文中以VGG作为基础网络,因此content loss又可表述为:

lSRVGG/i,j=1Wi,jHi,jx=1Wi,jy=1Hi,j(ϕi,j(IHR)x,yϕi,j(GθG(ILR))x,y)2 l V G G / i , j S R = 1 W i , j H i , j ∑ x = 1 W i , j ∑ y = 1 H i , j ( ϕ i , j ( I H R ) x , y − ϕ i , j ( G θ G ( I L R ) ) x , y ) 2

adversarial loss为:

lSRGen=n=1NlogDθD(GθG(ILR)) l G e n S R = ∑ n = 1 N − log ⁡ D θ D ( G θ G ( I L R ) )

SRGAN的网络结构如下图所示:

这里写图片描述

由于SRGAN的目标不在于最小化MSE,因此通常情况下,它的PSNR和SSIM都不是太好,但的确能提供一些其它方法无法提供的细节。

DemosaicNet

DemosaicNet是MIT CSAIL的在读博士生Michaël Gharbi的作品。

论文:

《Deep Joint Demosaicking and Denoising》

代码:

https://github.com/mgharbi/demosaicnet

在《图像处理理论(四)》中,我们提到了ISP处理的一般流程。而SR的一大用途就在于ISP。

这里写图片描述

上图是ISP处理的一般流程,其中的Demosaic和Image Enhancement,都可以通过NN的端到端学习一次性完成。DemosaicNet就是其中的代表,它的网络结构如下:

这里写图片描述

和之前的网络不同,DemosaicNet的输入是原始的Bayer Array数据,而输出是处理好的图片。

由于并没有那么多图片的Bayer Array数据,因此通常的做法是使用HR图片经采样得到Bayer Array数据。

DemosaicNet的设计借鉴了ResNet的Skip Connection的方案,只不过使用Concat代替了ResNet的Add操作而已。

这里再额外补充两点:

1.Demosaic处理不当,会导致如下问题:

这里写图片描述

2.将出错的mine hard case,进行retrain,可以有效的提升模型的效果。

这里写图片描述

MemNet

MemNet是南京理工大学的作品。

论文:

《MemNet: A Persistent Memory Network for Image Restoration》

代码:

https://github.com/tyshiwo/MemNet

这里写图片描述

这里写图片描述

这里写图片描述

没啥好讲的,无非RNN和Resnet在原理上是等价的而已。结构上和DRCN几乎一样,不知道谁抄谁。。。

参考:

https://mp.weixin.qq.com/s/KxQ-GRnEYEdmS2H-DHIHOg

南京理工大学ICCV 2017论文:图像超分辨率模型MemNet

RDN

Residual Dense Network是美国东北大学的张宇伦的作品。

Yulun Zhang,西安电子科技大学本科(2013年)+清华硕士(2017年),现为博士一年级。
个人主页:
http://yulunzhang.com/

论文:

《Residual Dense Network for Image Super-Resolution》

这里写图片描述

该论文在比较Residual block和Dense block的基础之上,提出了Residual dense block。

这里写图片描述

这里写图片描述

中规中矩的论文吧,熟悉Residual block和Dense block的人应该能秒懂,不多说了。

这类基本结构的SR应用除了MemNet和RDN之外,还有更早的SRResnet和SRDensenet,光听名字估计就知道是怎么回事了,灌水利器啊!

参考:

https://mp.weixin.qq.com/s/_r3MKxMTIR856ezEozFOGA

残差密集网络:利用所有分层特征的图像超分辨率网络

ShuffleSeg

ShuffleSeg是开罗大学的Mostafa Gamal和Mennatullah Siam的作品(2018.3)。看名字应该是阿拉伯人,而且一男一女。

论文:

《ShuffleSeg: Real-time Semantic Segmentation Network》

代码:

https://github.com/MSiam/TFSegmentation

这里写图片描述

这是一个语义分割的网络,本来不该放在这里。然而既然要灌水,那就灌的更猛一些吧。ShuffleNet也难逃毒手。

参考:

https://mp.weixin.qq.com/s/W2reKR5prcf3_DMp53-2yw

新型实时形义分割网络ShuffleSeg:可用于嵌入式设备

Fast Image Processing

这里写图片描述

上图是照片界常用的几种修图方式之一。一般将这些图片风格转换的算法,称为图像处理算子(image processing operators)。如何加速image processing operators的计算,就成为了学界研究的课题之一。

本文提出的模型就是用来加速image processing operators计算的。它是Intel Lab的Qifeng Chen和Jia Xu于2017年提出的。

论文:

《Fast Image Processing with Fully-Convolutional Networks》

代码:

https://github.com/CQFIO/FastImageProcessing

Demo网站:

http://cqf.io/ImageProcessing/


http://chatgpt.dhexx.cn/article/UujQrDSn.shtml

相关文章

超分文章记录 SRCNN-FSRCNN-ESPCN-VDCN-DRCN-RDN-LapSRN-SRDenseNet-SRGAN

1.Learning a Deep Convolutional Network for Image Super-Resolution(SRCNN 2014 ECCV ) 1、总结 第一篇用深度学习做超分的文章,就是用深度学习来表示传统方式。结构比较简单。 源码地址: SRCNN CODE 2、思路 先用 bicubic…

Introducing RDNA Architecture

Introducing RDNA Architecture The RDNA architecture white paper https://www.amd.com/system/files/documents/rdna-whitepaper.pdf The all new Radeon gaming architecture powering “Navi” 全新 Radeon 游戏架构为 Navi 提供动力 Table of Contents Introduction R…

Fluent案例:肾动脉RDN治疗过程的仿真

1 问题背景 肾动脉消融(Renal denervation,简称RDN)是一种治疗高血压的办法,其基本原理为利用插入肾动脉的电极消融导管进行射频消融,使肾动脉血管壁附近的交感神经因高温而损伤失活,减少神经系统过度活跃的…

LDAP 中的 RDN

什么是 RDN,RDN 和 DN 又有什么关系呢? 很多第一次接触到 LDAP 的童鞋,经常会被一堆名字搞得晕头转向。 RDN(relative distinguished name)中文翻译就是相对专有名字。 一般指dn逗号最左边的部分,如 cnb…

超分算法RDN:Residual Dense Network for Image Super-Resolution 超分辨率图像重建

这篇文章总结分析了ResNet 和DenseNet的优缺点,并将其结合,提出了新的结构ResidualDenseNet。文章中对ResNet 和DenseNet以及MemNet都进行了简单的对比分析。四篇原文都放在下面。 参考文档: RDN:https://arxiv.org/pdf/1802.0879…

图像超分算法小合集二:FSRCNN、DRCN、RDN、EDSR

目录 FSRCNNDRCNRDNEDSR 文章: FSRCNN : Accelerating the Super-Resolution Convolutional Neural Network DRCN: Deeply-Recursive Convolutional Network for Image Super-Resolution RDN: Residual Dense Network for Image Super-Resolution EDSR:E…

初识RDMA技术——RDMA概念,特点,协议,通信流程

1. RDMA概念 在DMA技术中,外部设备(PCIe设备)能够绕过CPU直接访问主机的系统主存; RDMA(Remote Direct Memory Access)在概念上是相对于DMA而言的。指外部设备能够绕过CPU,不仅可以访问本地主机…

【RDMA】技术详解(一):RDMA概述

目录 0、前言 一、技术背景 1 传统的 TCP/IP 网络通信的弊端 2 新的网络通信技术(TOE and RDMA) 2.1 TOE (TCP/IP协议处理工作从CPU转移到网卡) 2.2 RDMA (绕过CPU,数据直接‘传’到对端内存&#xf…

Oriented rcnn

oriented rcnn代码解析 文章目录 rpn_head.forward_trainroi_head.forward_train class OrientedRCNN(RotatedTwoStageDetector) 类似rotated faster rcnn它们都继承两阶段检测器类。 所以训练的整体框架都如下: rpn_head.forward_train 代码主体👇 …

srcnn fsrcnn espcn rdn超分网络的结构

1.Srcnn Code: 数据集制作方法:以x2为例 训练数据:一张原始图作为高分辨率图像(h, w),先下采样到(h/2, w/2),然后再cubic上采样到(h, w)得到低分辨率图像&a…

RDD

RDD <1> 概述一. 什么是RDD二. spark 编程模型1. DataSource2. SparkContext3. Diver&#xff08;1&#xff09;SparkConf&#xff08;2&#xff09;SparkEnv&#xff08;3&#xff09;DAGScheduler&#xff08;4&#xff09;TaskScheduler&#xff08;5&#xff09;Sche…

RDNet

RDNet&#xff1a;Density Map Regression Guided Detection Network for RGB-D Crowd Counting and Localization IntroductionMethodExperiments Introduction Motivation&#xff1a;Regression-based方法有局限性&#xff0c;希望还是使用detection-based可以估计出每个人…

【超分辨率】(RDN)Residual Dense Network for Image Super-Resolution论文翻译

机翻&#xff0c;我尽量调整了公式和图片的排版 发现机翻根本看不了&#xff0c;自己人工翻译了下&#xff0c;其中摘要、网络部分&#xff08;第三节&#xff09;为人工翻译。 自己翻译过程中难免会出错&#xff0c;希望各位海涵&#xff0c;同时也欢迎各位提出翻译过程中的错…

LIIF超分辨率之RDN(残差密集网络)

1. 背景 用PaddlePaddle复现论文LIIF&#xff0c;LIIF中使用的Encoder是RDN&#xff0c;本文介绍一下RDN。 RDN论文&#xff1a;https://arxiv.org/abs/1802.08797 Torch代码&#xff1a; https://github.com/yinboc/liif/blob/main/models/rdn.py 2. RDN的组成 RDN网络结…

图像超分辨之RDN(Residual Dense Network)

论文&#xff1a; Residual Dense Network for Image Super-Resolution Github&#xff1a; https://github.com/yulunzhang/RDN https://github.com/hengchuan/RDN-TensorFlow 整体结构&#xff1a; RDN&#xff08;Residual Dense Network&#xff09;主要包含4个模块。…

超分辨率-RDN

一、简介 RDN——Residual Dense Network—— 残差深度网络 RDN是基于深度学习的超分方法之一&#xff0c;发表于CVPR 2018 二、结构 RDN网络结构分为4个部分&#xff1a; 1、SFENet(Shallow Feature Extraction Net, 浅层特征提取网络) 2、RDBs( Residual Dense Blocks, 残…

【图像超分辨】RDN

RDN 网络结构实现细节讨论&#xff08;与其他网络的区别&#xff09;实验设置实验结果参考博客 RDN——Residual Dense Network—— 残差深度网络。RDN是基于深度学习的超分方法之一&#xff0c;发表于CVPR 2018。 网络结构 RDN网络结构分为4个部分&#xff1a; SFENet(Shall…

【图像复原】RDN论文详解(Residual Dense Network for Image Restoration)

这是CVPR2018的一篇文章&#xff0c;提出了针对图像复原任务的CNN模型RDN(residual dense network)。 RDN主要是提出了网络结构RDB(residual dense blocks)&#xff0c;它本质上就是残差网络结构与密集网络结构的结合。 1.残差网络&#xff08;resnet&#xff09;与密集网络&am…

超分之RDN

这篇文章提出了一种结合ResNet结构和DenseNet结构的深度超分网络——Residual Dense Network(后文简称RDN)。RDN基于Residual Dense Block(后文简称RDB)块以及全局残差连接来提取全局特征&#xff0c;而RDB块基于Dense结构和局部残差连接进一步提取局部特征。通过这种结构&…

Java线程中的用户态和内核态

内核态用户态是什么? 操作系统对程序的执行权限进行分级,分别为用户态和内核态。用户态相比内核态有较低的执行权限&#xff0c;很多操作是不被操作系统允许的&#xff0c;简单来说就是用户态只能访问内存,防止程序错误影响到其他程序&#xff0c;而内核态则是可以操作系统的…