【深度递归网络超分辨率双三次插值图像】

news2024/11/15 9:03:46

MuRNet: A deep recursive network for super resolution of bicubically interpolated images

(MuRNet:深度递归网络超分辨率双三次插值图像)

在许多实际情况下(如打印机设备和相机内插值),只有低分辨率图像的插值版本可用。本文提出了一种新的低复杂度高性能图像超分辨率网络,它从低分辨率图像的双三次插值版本开始产生高质量的超分辨率图像。所提出的方案的主要思想是开发特征生成块,该特征生成块能够使用多个局部空间范围和多个分辨率水平来产生特征,将它们融合以提供丰富的特征图集合,并且在递归框架中使用它们。设计这种递归块的目的不是简单地提供一种轻型网络,如传统上在设计这种网络时所做的那样,而是提供一种低计数的高性能乘法-累加运算。实验结果表明,当同时考虑超分辨能力、参数个数和乘累加运算次数时,该网络的性能优于其他递归超分辨网络。

介绍

单幅图像超分辨率是计算机视觉领域的一个重要问题,它将低分辨率图像放大到期望的分辨率水平。图像的退化在其采集中是不可避免的,其固有地涉及模糊和下采样的过程。因此,恢复退化图像中丢失的高频成分是单幅图像超分辨率的主要目标。从基于子带重构的方法到利用压缩采样的方法,已经开发了各种方法来从其低分辨率版本恢复高分辨率图像。
一般来说,方式学习计划为基础的单一图像超分辨率发展中做出某些假设图像恢复方法。如果这些假设,在实践中,不满意,这样的计划的性能造成不利影响。退化图像之间的映射和地面实况是高度非线性和复杂的数学。然而,大多数的方式学习计划非线性映射能力不足。增加的非线性功能方式基于学习的图像超分辨率方法可能妨碍他们收敛到一个最优的解决方案。因此,如果用于超分辨率的方案基于从数据学习最有用的信息,则可以预期其有效地处理真实世界的情况。
近年来,LeCun等人和Goodfellow等人提出的深度学习技术已经主导了计算机视觉的各个领域,如图像识别、图像语义分割、图像去模糊和图像超分辨率。深度神经网络的非线性端到端映射能力显著改善了单图像超分辨率任务的性能,优于经典方案的性能。在许多真实世界的应用中,例如打印系统和照相机,使用双三次插值操作将低分辨率图像固有地插值到期望的分辨率水平。尽管双三次插值操作为图像的平滑区域提供了可接受的视觉质量,但是它在图像的高频区域(诸如包含边缘的区域)中产生伪像。许多深度学习图像超分辨率方案执行原始低分辨率图像和地面实况之间的映射。然而,这妨碍了它们对一些真实世界应用的适用性,在这些真实世界应用中,低分辨率图像的内插版本是不可避免的,因为这样的图像是由诸如打印机之类的图像捕获设备产生的。在文献中存在许多超分辨率方案,这些方案基于输入图像是双三次插值图像的假设。Dong等人的超分辨率卷积神经网络(SRCNN)是基于深度学习的单幅图像超分辨率的开创性方法。该方案包括执行用于执行图像超分辨率的三个步骤的网络第一步,从双三次插值的低分辨率图像中提取特征。第二步,将生成的要素映射到高分辨率空间。最后,使用高分辨率特征图来重建高分辨率图像。尽管SRCNN优于基于非深度学习的图像超分辨率方案,但鉴于其在网络中采用有限数目的层,其性能受到限制。
Kim等人的深度递归卷积网络(DRCN)是采用递归卷积神经网络的单幅图像超分辨率的首要工作。在该网络中,通过卷积层递归地执行非线性映射。此外,它使用多监督技术,其中最终高分辨率图像作为地面实况的各种中间高分辨率估计的加权和而获得。尽管DRCN在其体系结构中采用递归神经网络,但是由于使用了非常宽的卷积层,其在参数数目和乘累加(MACC)操作方面的复杂性仍然很高。
Kim等人的极深超分辨率(VDSR)网络是利用具有残差学习的深度网络来解决单幅图像超分辨率问题的第一个工作。由于低分辨率图像和高分辨率图像是相关的,因此它们之间的残差信号是稀疏的。学习残差信号而不是高分辨率图像在深度网络中更有效,因此,它导致改进的性能。另外,在VDSR中使用多尺度训练减少了用于训练的参数的总数。
Lim等人提出的增强型深度超分辨率网络(Enhanced Deep Super Resolution Network,EDSR)是一种用于单幅图像超分辨率的深度网络。在EDSR中,低分辨率图像被馈送到残差块序列。EDSR中的每个残差块包括两个卷积层,在这两个卷积层之间具有ReLU激活函数。残差块序列的输出的分辨率经由子像素卷积操作增加到期望水平。EDSR的性能远高于VDSR的性能,这是由于EDSR使用了大量的参数。
Tai等人的深度递归残差网络(DRRN)利用参数共享技术设计网络。该网络由多个递归块构成,每个递归块采用相同的参数集。此外,在每个递归块中使用的跳跃连接促进了反向传播中的信息流,并防止网络具有梯度消失问题。该网络是在性能和参数数量之间提供折衷的良好示例。
Tai等人提出的用于图像恢复的MemNet受到哺乳动物记忆的同时短期和长期信息存储和处理能力的启发。来自网络的不同块(称为存储块)的特征被连接并馈送到执行维度缩减的门单元。MemNet中使用的各种存储块之间的密集连接导致了单幅图像超分辨率的良好性能。然而,这些连接导致网络参数的数量增加。
Haris等人的深度反投影网络(DBPN)采用残差块,残差块使用分别涉及上采样和下采样的转置卷积操作和步长卷积操作来生成特征图。虽然DBPN在图像超分辨率方面有很好的性能,但它使用了数百万个参数,这将阻碍它在现实世界中的应用。此外,考虑到转置卷积涉及的零填充,该转置卷积不是获得高分辨率特征图的非常有效的操作。
残差密集网络(RDN)使用由使用分级密集连接彼此连接的卷积层的级联组成的残差密集块,以便超分辨低分辨率图像。融合不同层次上生成的特征使得网络能够提供良好的图像超分辨率性能。然而,网络所采用的参数的数量超过2000万。
Jiang等人提出了超密集块,并将其用于称为边缘增强生成对抗网络(边缘增强GAN)的网络中。它们的块使用二维结构用于卷积层,卷积层使用水平和垂直密集连接彼此连接,这促进了反向传播信息的流动。该网络为图像超分辨率提供了良好的性能,但代价是使用了大量的参数。
Yi等人提出了一种新的多时相超密集存储网络,通过将卷积LSTM嵌入超密集残差块(UDRB)中,以构造超密集存储块(UDMB),用于提取和保持时空相关性。鉴于该模块能够提取时空相关信息,该网络能够为视频序列的超分辨率提供很好的性能。
从上面的讨论可以清楚地看出,现有的用于图像超分辨率问题的深度学习方案的焦点在于提供高性能。然而,这通常是以增加参数数量为代价来实现的。控制参数数量增加的一种方法是在网络的递归框架中使用特征生成块,其中执行涉及这种块的足够数量的递归,使得网络的表示能力变得足够高。融合不同类型的特征可以产生更丰富和更具有代表性的特征地图,这可以提高超分辨率网络的性能。该方案的主要思想是设计一个模块,通过生成丰富的特征集并融合它们,使网络在递归框架中具有良好的表示能力。在所提出的递归块的设计中,采用以下三种策略来产生丰富的特征组合。
1)多尺度卷积:通过采用具有不同大小的核的卷积来生成使用不同空间范围的特征,即,所生成的特征由短程和长程空间信息表征。
2)亚像素卷积:执行卷积操作,随后执行深度到空间转置操作(也称为像素混洗操作),以便生成具有不同分辨率级别的特征。
3)特征融合:将从不同空间范围产生的特征和从不同分辨率级别产生的特征与用于产生这两种类型特征的特征融合,以便递归块提供非常丰富和有代表性的特征图集合。

贡献

1)提出了一种用于单幅图像超分辨率问题的新递归块,其生成由不同空间范围和不同分辨率水平产生的非常丰富的特征集合,以便提供最先进的性能。
2)通过仔细选择滤波器的数目,递归块的参数总数以及因此网络的参数总数保持较低。
3)递归过程为网络提供了一个充分有效的深度,但操作的数量是保持低的小数量的参数递归使用的块。

方法

Overall architecture of the network

请添加图片描述
提出的图像超分辨率网络的总体架构如图1所示。将空间分辨率与地面真实值相同的双三次插值低分辨率图像输入到所提出的网络中。使用卷积层提取双三次插值图像的特征,卷积层使用64个卷积滤波器,每个滤波器大小为7 × 7 × 1。这些特征映射然后由递归块处理,递归块将在下一小节中开发和解释。递归网络的使用将增加图像超分辨率方案的非线性映射能力,并且因此,如果使用足够大数量的递归,同时保持网络的参数数量不变,则将导致高分辨率图像的更好估计。然而,由于网络的有效深度随着递归次数的增加而增加,因此网络的梯度消失问题将出现,从而阻碍其学习过程。针对这一问题,提出了一种全局残差跳跃连接的方法,通过该方法,深度网络可以学习到真实图像与双三次插值图像之间的残差。在完成所有递归之后,递归块的输出特征映射被馈送到卷积层,该卷积层使用大小为7 × 7 × 64的单个卷积滤波器,以获得残差图像。最后,将残差图像与双三次插值图像相加,得到估计的高分辨率图像。

Proposed recursive block

我们的目标是通过提取和融合各种不同类型的特征图来提高图像超分辨率网络的表示能力,同时保持尽可能少的参数数量和运算数量为了减少网络的参数数目,使用递归块来执行用于图像超分辨率的非线性映射,该递归块从一次递归到下一次递归使用相同的参数集。由于递归网络中的操作数与使用递归块执行的递归数成正比,因此作出特别努力以通过保持其参数数尽可能低而使所提出的递归块在每次递归中执行的操作数最小化。为了获得丰富的特征集,在递归块中生成两种不同类型的特征映射。具体地,生成具有不同空间范围的特征和处于不同分辨率水平的特征,并将其与输入到递归块的特征级联。
图2显示了所提出的递归块的结构,其中𝑠(𝑖-1)和𝑠(𝑖)表示递归中第𝑖块的输入和输出特征。我们现在解释如何使用卷积运算生成两种类型的特征以及如何将生成的特征图与输入到递归块的特征图融合。
(i)不同空间范围的特征生成:卷积运算通过处理局部信息来生成新的特征值。卷积核的更小和更大的大小可以导致捕获短范围和长范围局部信息以生成新的特征值。通过在递归块的第一分支中使用多尺度卷积层来获得具有这些特性的特征图。特征映射𝑢(𝑖)是通过对输入特征映射𝑠(𝑖-1)进行多尺度卷积运算得到的。多尺度卷积通过用不同大小的核执行卷积运算并将结果级联来执行。在进行多尺度卷积时,前32个通道采用32个3 × 3 × 64的核函数,另外32个通道采用32个5 × 5 × 64的核函数,将得到的两组特征图拼接得到特征图𝑢(𝑖)。
(ii)不同分辨率级别的特征生成:为了生成在用于图像超分辨率的不同分辨率水平下获得的特征,可以使用特征图放大方法。去卷积操作(也称为转置卷积操作)和亚像素卷积操作是用于放大特征图的基于神经网络的方法中的两种。然而,由于前者使用零填充来增加特征地图的空间分辨率,因此得到的特征地图遭受棋盘状伪像。因此,在所提出的递归块的第二分支中采用亚像素卷积层来放大特征图。为了放大输入的特征映射𝑠(𝑖-1),它们需要经历一个亚像素卷积运算,其中包括一个卷积层,有32个核,每个核的大小为5 × 5 × 64,以及一个深度到空间转置运算,深度到空间因子为2。因此,得到的特征张量𝑎(𝑖)具有8个通道。应当注意,通过使用该子像素卷积层,𝑎(𝑖)中的每个特征图的空间分辨率增加了2倍。特征图𝑎(𝑖)进一步与使用8个核(每个核大小为3 × 3 × 8)的卷积层进行卷积,以获得特征图𝑏(𝑖)。通过使用该卷积运算,处理新分辨率级别中的特征。因此,得到的特征张量𝑏(𝑖)具有8个通道。
(iii)特征融合:如前所述,我们设计递归块的目标是生成一组丰富的具有良好表示能力的特征映射。为此,我们将生成的两个特征映射𝑢(𝑖)和𝑏(𝑖)与输入到块中的特征映射𝑠(𝑖-1)连接起来。特征映射𝑏(𝑖)的空间维度与特征映射𝑠(𝑖-1)和𝑢(𝑖)的空间维度不匹配。因此,在级联操作之前,𝑏(𝑖)的通道的空间分辨率通过一个有32个大小为5 × 5 × 8的核的跨距卷积层降低到𝑠(𝑖-1)和𝑢(𝑖)的空间分辨率。生成的特征张量𝑣(𝑖)具有32个通道。此卷积中的步幅必须与子像素卷积的深度到空间因子具有相同的值。将𝑣(𝑖)步长卷积运算的输出与特征映射𝑢(𝑖)和𝑠(𝑖− 1)连接起来,以获得具有160个通道的特征张量𝑟(𝑖)。最后,通过使用1 × 1卷积层将特征张量𝑟(𝑖)的通道数减少到𝑠(𝑖−1),以使其通道数与块的输入通道数相同。考虑到递归块的特征生成能力,如上所述,以及它被所提出的方案使用,我们将我们的网络称为多空间范围和分辨率水平特征生成深度递归网络(MuRNet)。

MuRNet: Training

递归块中的所有卷积层之后都是ReLU激活。
由于人眼对光照信息更为敏感,因此首先将原始RGB图像转换为YCbCr图像,然后仅将其Y通道输入到网络中。在输出端,恢复的Y通道被重新组合到Cb和Cr通道,并且恢复的YCBCr图像被变换回RGB图像。对于DRRN和MemNet,来自数据集BSD200和Yang等人提供的图像也用于训练MuRNet。应当指出,从BSD200训练集中去除了Woman图像,因为相同的图像也用于评估。所有图像被分成30 363个48 × 48的子图像以产生训练样本。为了生成退化的低分辨率图像,对原始高分辨率图像应用双三次下采样操作。采用包括翻转和旋转90度、180度和270度的数据扩充来将训练样本的数目增加到242 904。MuRNet经过多尺度训练,因此,一组参数足以用于所有比例因子。通过He等人的方法初始化所有层的权重,该方法考虑了激活函数以及滤波器的数量和内核大小。
为了更新网络的权重和优化损失函数,采用随机梯度下降(SGD)方法沿着Nestrov加速算法和值为0.9的动量参数。初始值0.1用于学习速率,然后在每10个时期之后将其减小10倍。权重衰减参数设置为 1 0 − 4 10^{−4} 104
与通过采用𝓁2范数损失函数获得的性能相比,使用𝓁1范数表示高分辨率估计和地面真实之间的损失导致改进的性能。然而,由于MemNet和DRRN作为两种重要的超分辨率轻量递归网络,在高分辨率估计和地面真实之间使用𝓁2损失函数,因此MuRNet使用相同的损失函数。估计的高分辨率图像和地面实况之间的损失的𝓁2范数由下式给出

其中𝐲𝑗𝐱𝑗 是第𝑗层低分辨率和地面实况训练样本,𝚯 是MuRNet中的参数集,𝑁和𝜁分别是批次中的训练样本数和权重衰减参数。

Differences between MuRNet and the existing recursive light-weight super resolution networks

(MuRNet与现有递归轻量级超分辨率网络的差异)

在本小节中,讨论了提出的MuRNet和两个现有递归轻量级超分辨率网络(即DRRN 和MemNet)之间的差异。DRRN、MemNet和提出的MuRNet之间的主要区别在于它们的递归块的设计和使用方式。
1)DRRN和MemNet的递归块都被设计成使用单个局部空间范围并在单个分辨率级别上生成特征。另一方面,MuRNet的递归块被设计成使用多个局部空间范围和在多个分辨率水平上生成特征。结果,融合后的特征具有更高的表示能力。
2)DRRN采用递归块,使用相当大量的滤波器,这导致大量的参数和操作,以提供良好的性能。MemNet使用多个递归块,这些递归块在内部和之间具有密集的连接。这些密集的连接导致在参数和操作的数量方面增加网络的复杂性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356554.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot+WebSocket+VUE实现一个简单的聊天机器人

文章目录前言SpringBootwebsocket引入jar包在Spring Boot的配置类中添加WebSocket配置创建聊天机器人处理器创建WebSocket处理器服务端测试启动springboot服务调用测试方法,能收到消息vue websocket使用代码地址前言 要实现一个简单的聊天机器人,可以使…

深入前端尾递归

在深入探讨前端尾递归前,我们先来了解递归和尾调用两个概念 递归 在函数内部调用自身,一般来说递归有两个状态 递归状态(继续递归)最终状态(终止递归) 递归式方法可以被用于解决很多的计算机科学问题&a…

QT学习记录(六)类对象属性

类对象属性用来描述类对象的一些信息和当前的状态。类对象属性可以由类的编写者在编写类的时候定义,也可以由类的使用者在使用对象的时候定义。 由类的编写者定义 QPROPERTY()宏就是用来定义一个对象属性。 以第二行属性举例 QPROPERTY(bool enabled READ isEnabl…

Makefile基础使用和实战详解

Makefile基础使用和实战详解一、基础1.1、简单的Makefile1.2、多文件编译1.3、伪对象.PHONY二、变量2.1、自动变量2.2、特殊变量2.3、变量的类别2.4、变量及其值的来源2.5、变量引用的高级功能2.6、override 指令三、模式四、函数4.1、addprefix 函数4.2、filter函数4.3、filte…

【JavaWeb】网络层协议——IP协议

目录 IP协议结构 IP地址管理 特殊IP 解决IP地址不够用 动态分配IP地址 NAT网络地址转换 IPV6 IP协议结构 版本:就是IP协议的版本号。目前只有 4 和 6。这里介绍的是IPV4 首部长度:单位是4字节。于TCP首部长度完全一致,也是可变的&…

python--pygame实现各级菜单栏目设置

随着学期的开始,同学们也即将进入计算机相关课程的课程设计了,对于python课程设计的小伙伴,可能有些是需要利用pygame来写应该小游戏的,因为最近很多小伙伴同学也在想我要一些基于python的pygame模块做的游戏项目,此外…

SpringBoot 2.x 实战专题——SpringBoot 2.6.X版本循环依赖(内含教学视频+源代码)

SpringBoot 2.x 实战专题——SpringBoot 2.6.X版本循环依赖(内含教学视频源代码) 教学视频源代码下载链接地址:https://download.csdn.net/download/weixin_46411355/87462754 目录SpringBoot 2.x 实战专题——SpringBoot 2.6.X版本循环依赖…

React SSR

ReactDOMServer 参考链接:https://zh-hans.reactjs.org/docs/react-dom-server.html ReactDOMServer 对象允许你将组件渲染成静态标记。通常,它被使用在 Node 服务端上 // ES modules import * as ReactDOMServer from react-dom/server; // CommonJS v…

全栈之路-前端篇 | 第二讲.基础前置知识【应用服务端与编程语言】学习笔记

欢迎关注「全栈工程师修炼指南」公众号 点击 👇 下方卡片 即可关注我哟! 设为「星标⭐」每天带你 基础入门 到 进阶实践 再到 放弃学习! 涉及 企业运维、网络安全、应用开发、物联网、人工智能、大数据 学习知识 “ 花开堪折直须折,莫待无花…

谓词exsits用法及与in的使用区别

exists用法 大白话的说,exists的执行,是依次拿外层表的每条记录,去和exsits后的子查询表按你所定义的运算规则(如果有的话)做运算,如果存在结果,也就是有返回数据,无论这部分数据有…

MySQL中使用索引优化

目录 一.使用索引优化 数据准备 避免索引失效应用-全值匹配 避免索引失效应用-最左前缀法则 避免索引失效应用-其他匹配原则 1、 2、 3、 4、 5、 一.使用索引优化 索引是数据库优化最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的MySQL的性能优化…

Pandas库入门仅需10分钟

数据处理的时候经常性需要整理出表格,在这里介绍pandas常见使用,目录如下: 数据结构导入导出文件对数据进行操作 – 增加数据(创建数据) – 删除数据 – 改动数据 – 查找数据 – 常用操作(转置&#xff0…

Linux 配置RAID组

目录 配置RAID(软件RAID) 创建RAID组 RAID中出现坏盘如何操作 RAID 添加热备盘 删除RAID组 RAID所解决的问题 提升硬盘的I/O吞吐率 提高硬盘的读写能力 提高硬盘的安全性 进行备份 减少硬盘成本 RAID级别 存储RAID——RAID级别_静下心来敲木鱼的博…

Spring Boot中使用@Autowire装配接口是怎么回事?

在学习使用Spring Boot框架时候,发现了一个特别的现象UserMapper是一个接口,在另一个类中好像直接使用Autowired装配了一个UserMapper对象???我纳闷了一会儿,接口居然可以直接实例对象吗?根据我…

测试开发之Django实战示例 第十三章 上线

在上一章,为其他程序与我们的Web应用交互创建了RESTful API。本章将学习如何创建生产环境让我们的网站正式上线,主要内容有:配置生产环境创建自定义中间件实现自定义管理命令1创建生产环境现在该将Django项目正式部署到生产环境中了。我们将按…

深度解读依赖注入DI源码

spring-framework-5.3.10 版本依赖注入代码的入口在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory#populateBean 。如果想搞清楚为什么是这里需要去学习下Bean的生命周期,这里就不介绍了。AutowiredAutowired private OrderServic…

电子科技大学操作系统期末复习笔记(五):文件管理

目录 前言 文件管理:基础 基本概念 文件 文件系统 文件系统的实现模型 文件的组成 文件名 文件分类 文件结构 逻辑结构 物理结构 练习题 文件管理:目录 文件控制块FCB FCB:File Control Block FCB信息 目录 基本概念 目…

CAN通信笔记-位时间、Tq及采样点同步

本文框架1.前言2. 位时间2.1 位时间定义2.2 位时间计算3. Tq3.1 Tq的计算3.1.1 举个例子3.2 位时间与Tq的换算4. 采样点同步4.1 硬同步4.2 重同步4.2.1 延长PBS1的重同步4.2.2 缩短PBS2的重同步1.前言 本篇记录些关于CAN的一些学习笔记,说实话CAN协议发展的已经非常…

【项目设计】—— 负载均衡式在线OJ平台

目录 一、项目的相关背景 二、所用技术栈和开发环境 三、项目的宏观结构 四、compile_server模块设计 1. 编译服务(compiler模块) 2. 运行服务(runner模块) 3. 编译并运行服务(compile_run模块) 4…

MicroBlaze系列教程(6):AXI_IIC的使用(24C04 EEPROM)

文章目录 @[toc]AXI_IIC简介MicroBlaze硬件配置常用函数使用示例波形实测参考资料工程下载本文是Xilinx MicroBlaze系列教程的第6篇文章。 AXI_IIC简介 一般情况下,使用FPGA实现I2C协议主要有两种方式:一种是基于Verilog实现起始位、停止位、ACK产生和判断、数据的发送和接收…