大家好,又见面了,我是你们的朋友全栈君。
一、文献梳理
1、研究背景
传统网络特点:增加了网络深度,使用残差,梯度裁剪等方法降低训练难度;使用memory block记忆块建立MeMNet,希望能够保存底层,浅层的特征。
传统网络问题:不能充分使用每层的图片信息,大部分方法没有使用层次特征
2、实验
1)数据集设置
- 训练数据集:DIV2K
- 训练数据增强:随机水平或垂直翻转90度
- 测试数据集:Set5、Set14、BSD100自然场景图像、Urban100城市场景图像
2)训练集预处理
- BI方式:双线性插值、缩小比率2,8,16
- BD方式:先对原图进行高斯滤波,高斯核为7*7,标准差为1.6,然后再下采样
- DN方式:双线性插值加30%高斯噪声
3)结果
(1)模型分析:对其中的模块进行对比
(2) 其他模型比较
(3)鲁棒性分析(通过预处理BN或DN加入噪音后,再次对图像进行重建对比)
- RDN与其他现金方法相比,能恢复更锐利的边缘与更精细的细节,其层次特征具有鲁棒性。
1)模型意义
- 提出一个统一的框架,它通过不同的退化模型使用残差密集网络(RDB)生成高质量的超分辨率图像,网络充分利用原始低分辨率图像的所有层次特征
- 提出残差密集模块(RDB),它不仅可以通过连续记忆(CM)机制从一个RDB读取状态,还可以通过局部密集连接充分利用其中的所有层。然后通过局部特征融合(LFF)自适应地保留累积的特征。
- 提出全局特征融合以自适应地融合LR空间中所有RDB的分层特征。利用全局残差学习,将浅层特征和深层特征结合在一起,从原始LR图像中得到全局密集特征。
二、基础准备
1、局部特征
局部特征则是从图像局部区域中抽取的特征,包括边缘、角点、线、曲线和特别属性区域。常见的局部特征包括角点类和区域类两大类描述方式、局部图像特征具有在图像中蕴含数量丰富、特征间相关度小、遮挡情况下不会因为部分特征的消失而影响其他特征的检测和欺骗等特点。
2、全局特征
全局特征是指图像的整体属性,常见的全局特征包括颜色特征、纹理特征和形状特征,比如强度直方图等。由于是像素级的底层可是特征。因此,全局特征具有良好的不变性、计算简单、表示直观等特点,但特征维度较高、计算量大是其缺点。此外,全局特征描述不适用图像混叠和有遮挡的情况。
3、超分中的残差网络(详见本人博客)
残差学习有效缓解了随着网络深度增加引发的梯度消失现象,使得提高网络深度,还能保持很好的性能与效率。残差学习很适合做图像超分,因为低质量与高质量图像之间相似度很高,而他们的参数其实很稀疏,即残差学习使网络所要学习的东西变少了。
4、密集连接网络
每个层从前面的所有层获得额外的输入,并将自己的特征映射投递到后续的所有层使用级联方式;它每一层与前面所有层在通道维度上连接(不是相加是合并)在一起,实现特征的复用。密集连接有效的缓解了梯度消失问题,加强了特征传播,鼓励特征复用,减少了参数量。
三、论文重点
1、创新
- RDB由密集连接层和局部特征融合构成
- 一个RDB的输出作为下一个RDB的输入,产生一种连续的状态(RDB串行)
- RDB中的每一个卷积层都可以直接访问后续所有层,并传递需要保存的信息
2、网络结构
网络的基本流程是在局部特征融合(LFF)完成之后,网络会进行全局特融合(GFF),将每一个RDB的输出结果与最初的卷积提出的浅层结果进行特征融合。
特征提取网络:前2个卷积层,用于浅层特征提取
残差密集模块:局部特征融合,局部特征学习(红色部分)
密集特征融合:局部特征融合,局部特征学习(concat到上采样之前)
上采样:sub-pixel,在网络的最后利用上采样和卷积实现图像的放大
3、公式表达
4、RDB模块
- d-th RDB:,(卷积层的权重),
- LFF:1*1卷积处理部分
- LRF:
5、算法流程
- DFF(密集特征融合):GFF(全局特征融合)+GRL(全局特征学习)
- GFF:将D个RDB输出结果concat起来,1*1卷积层用于自适应融合不同层的特征,3*3卷积层进一步提取特征
- GRL:将浅层特征与最高层的全局融合特征进行残差连结,最后将特征送入上采样中,最终得到放大后的图片输出。
补充:
Contigous memory(连续存储机制):意思是dense connection,连续的连接保证了连续的低级和高级特征信息存储和记忆,每一个RDB模块的输出结果,concate上一个RDB模块 输出,以及所有的卷积层之间的信息,其包括全局信息也包括层级信息,保证了信息不丢失。
6、算法对比
1)RDB与DenseNet区别
- RDN是针对分辨率重构的,DesNet是用于高级CV任务的
- RDB中去掉了DenseNet中的BN和pooling模块
- DenseNet中每一个dense block的输出是concat起来的,而RDB中的利用局部特征融合将RDB中各层信息都进行了融合
- RDB利用全局特征融合将各个模块中的信息都concat起来,并利用了最开始的特征,DenseNet忽略了层次特征(RDN的连接更密集)
2)RDB与SRDenseNet区别
- 加入Contigous memory,使先前的RDB模块和 当前的模块信息直接融合
- 利用LFF,RDB模块实现更大的增长率
- RDB中LRL的应用增加了信息和梯度的流动
- RDB内部没有密集连接,而是使用GFF与GRL
- RDB使用L1 loss,SRDenseNet L2 loss
3)RDB与MemNet区别
- MemNet需要对原图使用双线性插值对低分辨率图像进行上采样。RDN直接使用低分辨率图像减少了计算量增加了效率
- MemNet中包含递归单元和门限单元模块,不接受先前模块的输入,而RDB的各个模块之间是有信息交流的
- MemNet不能完全从原始的低分辨输入中提取层次特征,而RDN利用GRL将所有的信息都利用起来
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151247.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...