【图像超分辨】RDN
RDN
- 网络结构
- 实现细节
- 讨论(与其他网络的区别)
- 实验设置
- 实验结果
- 参考博客
RDN——Residual Dense Network—— 残差深度网络。RDN是基于深度学习的超分方法之一,发表于CVPR 2018。
网络结构
RDN网络结构分为4个部分:
- SFENet(Shallow Feature Extraction Net, 浅层特征提取网络);
- RDBs( Residual Dense Blocks, 残差稠密块);
- DFF(Dense Feature Fusion, 稠密特征块 );
- Up-Sampling Net(上采样网络)。
SFENet:
包含两个CONV层,用于提取浅层特征。
RDBs:
包含D个RDB,用于提取各层特征,一个RDB提取出一个局部特征。RDB结构如下图(c)所示:
可以看出,RDB = Residual block(残缺块) + Dense block(稠密块)
由于网络深度的增加,每层CONV层的特征会逐渐分级(得到hierarchical features),因为有不同的感受野(receptive fileds)。而Hierarchical features对图像重建提供了重要信息, 我们要充分利用所有层的信息和特征。
一个RDB结构分为3个部分:
CM(Contiguous Memory 近邻记忆)
RDB含有C个[CONV+ReLU],CM机制会将上一个RDB的状态发送到当前RDB中的每一个CONV层,也就是图(c)的小桥们;LFF(Local Feature Fusion 局部特征融合)
LLF将前一个RDB的各个状态与当前RDB的所有CONV层融合在一起。
RDN中,前一个RDB输出的feature-map 是直接与当前RDB串联起来的,这时,减少feature的数量就很有必要了。我们使用一个11的CONV来减少feature的数量/控制输出信息:11CONV用于减少通道数,并保持nh,nw不变;LRL(Local Residual Learning 局部残差学习)
也就是将以下两者加起来,看c图下部的红箭头以及绿色加号:前一RDB的输出 + 上面LFF的1*1CONV的输出。引入LRL以进一步提高信息流、提高网络表示能力,以达到更好的性能。
DFF(Dense Feature Fusion, 稠密特征块 ):
DFF在全局上提取各层特征。包含两个部分:
- GFF(global feature fusion 全局特征融合)
GFF 用于将所有RDB提取到的特征融合在一起,得到全局特征。GFF分为两部分:1x1 CONV 融合一系列的特征(1*1CONV的作用就是减少通道数,并保持Nh, Nw)。3x3 CONV 为下一步的GRL进一步提取特征; - GRL(global residual learning 全局残差学习)
就是RDN结构图中的绿色加号。就是实现:浅层特征 + 所有RDB提取到的特征; - UPNet(Up-Sampling Net 上采样网络)
该模块表示网络最后的上采样+卷积操作。实现了输入图片的放大操作。
实现细节
- 除了用于融合局部或全局特征的CONV层的kernel size = 1x1 外,其他的CONV层都是 3x3的;
- kernel size = 3x3的CONV层,都用SAME padding 以保持inputsize不变
浅层特征提取层、局部全局特征融合层的CONV的filter数量都是G0 = 64; - 其他层(RDB中)的CONV的filter数量都是G,并使用ReLU作为其激活函数;
- 使用ESPCNN(Sub-Pixel)来提高粗分辨率特征,从而使得UPNet性能更好;
- RDN最后的CONV,若需要输出彩色高清图像,则可设置其输出的channel = 3;若需要输出灰度高清图像,可设置其输出的channel = 1。
讨论(与其他网络的区别)
Difference to DenseNet:
- 与DenseNet不同:移除了BN层,以提高运算速度降低计算复杂度和GPU内存的消耗;
- 与DenseNet不同:移除了Pooling层,防止其将像素级的信息给去除掉;
- 与DenseNet不同:使用GFF将各RDB提取的特征全部concat起来,充分利用。而DenseNet 整个网络中只使用每一个DenseBlock最后的输出。
Difference to SRDenseNet:
- 在RDB中,提取全局特征时不使用Dense Connection,取而代之的是
- DFF(Dense Feature Fusion, 稠密特征块,包含GFF和GRL)
损失函数:SRDenseNet使用L2 ;RDN使用L1(提高了性能,加快了收敛)。
Difference to MemNet:
- 损失函数:MemNet使用L2 ;RDN使用L1(提高了性能,加快了收敛);
- MemNet要用Bicubic插值方式对LR图片进行上采样,从而使LR图片达到所需的大小,这就导致特征提取和重建过程都在HR空间(高分辨率空间)中进行;而RDN从原始的LR图片(低分辨率图片)提取各层特征,很大程度上减少了计算的复杂度,并提高了性能;
- MemNet中包含了递归和门限单元,这使得当前层不能接收上一层的输入,而RDB的前后模块是有交互的
实验设置
数据集:
- 数据集: DIV2K(800 training imgs + 100 vali imgs + 100 testing imgs);
- 训练:DIV2K——800 training img + 5 vali img;
- 测试:五个standard benchmark datasets:Set5 [1], Set14 [33], B100 [18], Urban100 [8], and Manga109 [19]。
退化模型:
训练的输入图片(LR)使用DIV2K的高清图片通过下面3种退化模型得到:
- BI模型:Bicubic插值方式对高清图片进行下采样, 缩小比例为x2,x3,x4;
- BD模型:先对高清图片做(7*7卷积,1.6方差)高斯滤波,再对滤波后图片做下采样, 缩小比例为x3;
- DN模型:①Bicubic插值方式对高清图片进行下采样, 缩小比例为x3,②再加30%的高斯噪声。
实验结果
可看出, CM, LRL, and GFF 缺一不可,缺一个性能就下降。
- 在BI退化模型下:
- 在BD和DN退化模型下:
参考博客
超分辨率-RDN
【图像超分辨】RDN相关推荐
- 图像超分辨重构(SR)论文整理————适用于刚接触这个领域的初级研究者。(持续更新)
因为最近需要研究一下超分辨重构问题,因此将相关工作进行整理,选取了部分论文进行介绍.如有错误,烦请留言指正.如有版权问题,也请联系博主. 已盘点文章 SRCNN(16,PAMI) VDSR(16,CV ...
- 双目图像超分辨:现状、挑战与展望
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 双目图像超分辨(Stereo Image SR)当前处于起步阶段,领域内算法数量不多,性能还有较大的提 ...
- 【项目实战课】基于Pytorch的SRGAN图像超分辨实战
欢迎大家来到我们的项目实战课,本期内容是<基于Pytorch的SRGAN图像超分辨实战>.所谓项目实战课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战 ...
- 【视频课】业界最强数据增强库使用与人脸图像超分辨实践!
前言 数据是深度学习系统的输入,对深度学习的发展起着至关重要的作用,但是又容易被很多人忽视,尤其是缺少实战的学习人员.数据增强又是其中至关重要的内容,为了让大家能够掌握好深度学习中数据的使用,我们开设 ...
- 【每周CV论文】初学深度学习图像超分辨应该要读的文章
欢迎来到<每周CV论文>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 图像超分辨是一个非常实际应用价值的方向,今天给大 ...
- pythonb超分辨成像_深度原理与框架-图像超分辨重构-tensorlayer
图像超分辨重构的原理,输入一张像素点少,像素较低的图像, 输出一张像素点多,像素较高的图像 而在作者的文章中,作者使用downsample_up, 使用imresize(img, []) 将图像的像素 ...
- 多功能的图像超分辨模型:用于盲图像超分辨的非对称卷积神经网络
哈工大.台湾国立清华大学与香港中文大学的研究人员联合提出用于盲图像超分辨的非对称卷积网络,该文收录于IEEE Transactions on Systems, Man, and Cybernetics ...
- ECCV 2020 | 空间-角度信息交互的光场图像超分辨,性能优异代码已开源
光场相机可以记录当前场景不同视角的图像,每个视角图像的上下文信息(空间信息)与不同视角之间的互补信息(角度信息)都有助于提升图像超分辨的性能. 近日,来自国防科技大学.上海科技大学等单位的学者提出了新 ...
- 近期两篇双目图像超分辨算法论文解读 |AAAI2020 SPL2020
点击我爱计算机视觉标星,更快获取CVML新技术 本文为52CV群友谦Sir投稿. 双目图像可以提供同一场景左右两个视角的信息.合理利用双目图像所包含的互补信息可以进一步提升图像超分辨的性能. 随着双摄 ...
- 【学习笔记】图像超分辨
参考文章:2020 图像超分最新综述及上采样技术一览 定义 图像超分辨是将低分辨图像恢复为高分辨图像的方法. F ( ⋅ ) F(\cdot) F(⋅)为超分辨模型, θ \theta θ为模型参数. ...
最新文章
- SpringBoot项目优化和Jvm调优(亲测,真实有效)
- uva 10152 ShellSort
- SpringBoot的全局异常处理的优雅吃法!要进来学习下吗
- spring cloud(三) config
- 【技术干货】浅析State-Thread
- (五):C++分布式实时应用框架——微服务架构的演进
- JAVA程序员已成为最疯狂的加班行业,没有之一?
- JavaWeb关于工程运行的笔记
- 运维派送红包福利,参与就有!
- 华为云GaussDB首次亮相2021服贸会,为数字人民币提供坚实数据底座
- 【BirdDog】 Full NDI在体育/电竞直播中的降成本、轻量化、多机位现场制作
- 代数基础 | Kronecker积
- vue3+ts实现todolist功能
- 呵呵,一个bug你改了两天?难吗?
- 基于51单片机的智能自动感应垃圾桶
- Cause: java.sql.SQLException: Field ‘id‘ doesn‘t have a default value
- Stata:市场调整模型(MA)计算的并购事件的累积超额回报(CAR)
- Linux系统ORACLE 19C OEM监控管理
- 小米8(Dipper)编译魔趣MK100全流程记录
- 应用 | 小O地图在通勤路线规划的应用