基于深度学习的超分辨率图像技术一览

news2024/11/26 18:28:32

超分辨率(Super-Resolution)即通过硬件或软件的方法提高原有图像的分辨率,图像超分辨率是计算机视觉和图像处理领域一个非常重要的研究问题,在医疗图像分析、生物特征识别、视频监控与安全等实际场景中有着广泛的应用。

SR取得了显著进步。一般可以将现有的SR技术研究大致分为三大类:监督SR,无监督SR和特定领域SR(人脸)。

先说监督SR。

如今已经有各种深度学习的超分辨率模型。这些模型依赖于有监督的超分辨率,即用LR图像和相应的基础事实(GT)HR图像训练。虽然这些模型之间的差异非常大,但它们本质上是一组组件的组合,例如模型框架,上采样方法,网络设计和学习策略等。从这个角度来看,研究人员将这些组件组合起来构建一个用于拟合特定任务的集成SR模型。由于图像超分辨率是一个病态问题,如何进行上采样(即从低分辨率产生高分辨率)是关键问题。基于采用的上采样操作及其在模型中的位置,SR模型可归因于四种模型框架:预先采样SR,后上采样SR,渐进上采样SR和迭代上下采样SR,如图所示。

基于深度学习的超分辨率图像技术一览-图片1
基于深度学习的超分辨率图像技术一览-图片2

除了在模型中的位置之外,上采样操作如何实现它们也非常重要。为了克服插值法的缺点,并以端到端的方式学习上采样操作,转置卷积层(Transposed Convolution Layer)和亚像素层(Sub-pixel Layer)可以引入到超分辨率中。转置卷积层,即反卷积层,基于尺寸类似于卷积层输出的特征图来预测可能的输入。具体地说,它通过插入零值并执行卷积来扩展图像,从而提高了图像分辨率。为了简洁起见,以3×3内核执行2次上采样为例,如图所示。首先,输入扩展到原始大小的两倍,其中新添加的像素值被设置为0(b)。然后应用大小为3×3、步长1和填充1的内核卷积(c)。这样输入特征图实现因子为2的上采样,而感受野最多为2×2。

基于深度学习的超分辨率图像技术一览-图片3

由于转置卷积层可以以端到端的方式放大图像大小,同时保持与vanilla卷积兼容的连接模式,因此它被广泛用作SR模型的上采样层。然而,它很容易在每个轴上产生“不均匀重叠(uneven overlapping)”,并且在两个轴的乘法进一步产生了特有的不同幅度棋盘状图案,从而损害了SR性能。亚像素层也是端到端学习的上采样层,通过卷积生成多个通道然后重新整形,如图所示。首先卷积产生具有s2倍通道的输出,其中s是上采样因子(b)。假设输入大小为h×w×c,则输出大小为h×w×s2c。之后,执行整形(shuffle)操作产生大小为sh×sw×c的输出(c)。感受野大小可以达到3×3。

基于深度学习的超分辨率图像技术一览-图片4

由于端到端的上采样方式,亚像素层也被SR模型广泛使用。与转置卷积层相比,亚像素层的最大优势是具有较大的感知场,提供更多的上下文信息,能帮助生成更准确的细节。然而,亚像素层的感受野的分布是不均匀的,块状区域实际上共享相同的感受野,这可能导致在块边界附近的一些畸变。各种深度学习的模型已经被用于SR,如图所示。

基于深度学习的超分辨率图像技术一览-图片5

ResNet学习残差而不是彻底的映射,已被SR模型广泛采用,如上图(a)所示。其中,残差学习策略可以大致分为两种类型,即全局和局部残差学习。由于超分辨率是图像到图像的转换任务,其中输入图像与目标图像高度相关,全局残差学习仅学习两个图像之间的残差。在这种情况下,它避免学习从完整图像到另一个图像的复杂转换,而只需要学习残差图来恢复丢失的高频细节。由于大多数区域残差接近于零,模型的复杂性和学习难度都大大降低。这种方法在预上采样的SR框架普遍采用。局部残差学习类似于ResNet的残差学习,用于缓解不断增加的网络深度引起的退化问题并提高学习能力。实践中,上述方法都是通过快捷连接(通常有小常数因子的缩放)和逐元素加法操作实现的。区别在于,前者直接连接输入图像和输出图像,而后者通常在不同深度的网络中层之间添加多个快捷方式。• 递归学习递归学习(以递归方式多次应用相同模块)也被超分辨率采用,如上图 (b)所示。在实践中,递归学习固有地带来了消失(vanishing)或爆涨(exploding)梯度问题,因此残差学习和多信号监督等一些技术通常与递归学习相结合,以减轻这些问题。• 通道关注考虑到不同通道之间特征表征的相互依赖和作用,一种“挤压-激发(SAE,squeeze-and-excitation)”模块明确对通道相互依赖性建模,来提高表示能力,如上图(c)所示。其中用全局平均池化将每个输入通道压缩到通道描述子(即一个常数)中,然后将这些描述子馈送到两个全连接层产生通道尺度因子。基于通道乘法,用尺度因子重新缩放输入通道得到最终输出。• 致密连接致密连接在视觉任务中变得越来越流行。在致密块的每个层,所有前层的特征图用作输入,并且其自身特征图用作所有后续层的输入,在一个有l层致密块中带来l·(l - 1)/ 2个连接。致密连接,不仅有助于缓解梯度消失问题、增强信号的传播并促进特征重用,而且在连接之后采用小增长率(即致密块的通道数)和通道缩减来大大减少参数量。为了融合低级和高级特征以提供更丰富的信息来重建高质量的细节,致密连接被引入SR领域,如上图(d)所示。• 多路径学习多路径学习指模型存在多个路径传递特征,这些路径执行不同的操作以提供更好的建模功能。具体而言,它可以分为三种类型:全局法、局部法和特定尺度法。全局多路径学习是指用多个路径提取图像不同方面的特征。这些路径可以在传播中相互交叉,从而大大增强了特征提取的能力。本地多路径学习用新块进行多尺度特征提取,如上图(e)所示。该块采用不同内核大小的卷积同时提取特征,然后将输出连接起来并再次进行相同的操作。快捷方式通过逐元素添加来连接该块的输出和输入。通过这种局部多路径学习,SR模型可以更好地从多个尺度提取图像特征,进一步提高性能。特定尺度多路径学习共享模型的主要部分(即特征提取的中间部分),并分别在网络的开头和结尾附加特定尺度的预处理路径和上采样路径,如上图(f)所示。在训练期间,仅启用和更新与所选尺度对应的路径。这样大多数参数在不同尺度上共享。• 高级卷积卷积运算是深度神经网络的基础,改进卷积运算可获得更好的性能或更快的速度。这里给出两个方法:扩张卷积(Dilated Convolution)和群卷积(Group Convolution)。众所周知,上下文信息有助于在图像超分辨率生成逼真的细节。扩张卷积能将感受野增加两倍,最终实现更好的性能。群卷积以很少的性能损失可减少大量的参数和操作,如上图(g)所示。• 像素递归学习大多数SR模型认为这是一个与像素无关的任务,因此无法正确地确定生成像素之间的相互依赖性。在人注意力转移机制推动下,一种递推网络可依次发现参与的补丁并进行局部增强。以这种方式,模型能够根据每个图像自身特性自适应地个性化最佳搜索路径,从而充分利用图像全局的内依赖性(intra-dependence)。不过,需要长传播路径的递归过程,特别对超分辨率的HR图像,大大增加了计算成本和训练难度。• 金字塔池化金字塔池化模块更好地利用全局和局部的上下文信息,如上图(h)所示。具体地,对于尺寸为h×w×c的特征图,每个特征图被划分为M×M个区间,并经历全局平均池化产生M×M×c个输出。然后,执行1×1卷积输出压缩到一个单信道。之后,通过双线性插值将低维特征图上采样到与原始特征图相同的大小。使用不同的M,该模块可以有效地整合全局和局部的上下文信息。• 小波变换众所周知,小波变换(WT)是一种高效的图像表示,将图像信号分解为表示纹理细节的高频小波和包含全局拓扑信息的低频小波。将WT与基于深度学习的SR模型相结合,这样插值LR小波的子带作为输入,并预测相应HR子带的残差。WT和逆WT分别用于分解LR输入和重建HR输出。另外学习策略问题,涉及损失函数的设计(包括像素损失,内容损失,纹理损失,对抗损失和周期连续损失)、批处理归一化(BN)、课程学习(Curriculum Learning)和多信号监督(Multi-supervision)等等。

再说无监督SR。

现有的超分辨率工作主要集中在监督学习上,然而难以收集不同分辨率的相同场景的图像,因此通常通过对HR图像预定义退化来获得SR数据集中的LR图像。为了防止预定义退化带来的不利影响,无监督的超分辨率成为选择。在这种情况下,只提供非配对图像(HR或LR)用于训练,实际上得到的模型更可能应对实际场景中的SR问题。• 零击(zero shot)超分辨率单个图像内部的统计数据足以提供超分辨率所需的信息,所以零击超分辨率(ZSSR)在测试时训练小图像特定的SR网络进行无监督SR,而不是在大数据集上训练通用模型。具体来说,核估计方法直接从单个测试图像估计退化内核,并在测试图像上执行不同尺度因子的退化来构建小数据集。然后在该数据集上训练超分辨率的小CNN模型用于最终预测。ZSSR利用图像内部特定信息的跨尺度复现这一特点,对非理想条件下(非bi-cubic退化核获得的图像,受模糊、噪声和压缩畸变等影响)更接近现实世界场景的图像,比以前的方法性能提高一大截,同时在理想条件下(bi-cubic插值构建的图像),和以前方法结果差不多。尽管这样,由于需要在测试期间为每个图像训练单个网络,使得其测试时间远比其他SR模型长。• 弱监督SR为了在超分辨率中不引入预退化,弱监督学习的SR模型,即使用不成对的LR-HR图像,是一种方案。一些方法学习HR-LR退化模型并用于构建训练SR模型的数据集,而另外一些方法设计周期循环(cycle-in-cycle)网络同时学习LR-HR和HR-LR映射。由于预退化是次优的,从未配对的LR-HR数据集中学习退化是可行的。一种方法称为“两步法”:

  • 1)训练HR-LR 的GAN模型,用不成对的LR-HR图像学习退化;
  • 2)基于第一个GAN模型,使用成对的LR-HR图像训练LR- HR 的GAN模型执行SR。

对于HR到LR 的GAN模型,HR图像被馈送到生成器产生LR输出,不仅需要匹配HR图像缩小(平均池化)获得的LR图像,而且还要匹配真实LR图像的分布。训练之后,生成器作为退化模型生成LR-HR图像对。对于LR到HR 的GAN模型,生成器(即SR模型)将生成的LR图像作为输入并预测HR输出,不仅需要匹配相应的HR图像而且还匹配HR图像的分布 。在“两步法”中,无监督模型有效地提高了超分辨率真实世界LR图像的质量,比以前方法性能获得了很大改进。无监督SR的另一种方法是将LR空间和HR空间视为两个域,并使用周期循环结构学习彼此之间的映射。这种情况下,训练目的包括推送映射结果去匹配目标的域分布,并通过来回(round trip)映射使图像恢复。• 深度图像先验知识CNN结构在逆问题之前捕获大量的低级图像统计量,所以在执行SR之前可使用随机初始化的CNN作为手工先验知识。具体地讲,定义生成器网络,将随机向量z作为输入并尝试生成目标HR图像I。训练目标是网络找到一个Iˆ y,其下采样Iˆy与LR图像Ix相同。因为网络随机初始化,从未在数据集上进行过训练,所以唯一的先验知识是CNN结构本身。虽然这种方法的性能仍然比监督方法差很多,但远远超过传统的bicubic上采样。此外,表现出的CNN架构本身合理性,促使将深度学习方法与CNN结构或自相似性等先验知识相结合来提高超分辨率。

特定SR。

特定SR领域主要包括深度图、人脸图像、高光谱图像和视频等内容的SR应用。面部图像超分辨率,即面部幻觉(FH, face hallucination),通常可以帮助其他与面部相关的任务。与通用图像相比,面部图像具有更多与面部相关的结构化信息,因此将面部先验知识(例如,关键点,结构解析图和身份)结合到FH中是非常流行且有希望的方法。利用面部先验知识的最直接的方式是约束所生成的HR图像具有与基础事实(GT)的HR图像相同的面部相关信息。与全色图像(PAN,panchromatic images),即具有3个波段的RGB图像相比,有数百个波段的高光谱图像(HSI,hyperspectral images)提供了丰富的光谱特征并有助于各种视觉任务。然而,由于硬件限制,收集高质量的HSI比收集PAN更困难,收集的HSI分辨率要低得多。因此,超分辨率被引入该领域,研究人员倾向于将HR PAN和LR HSI结合起来预测HR HSI。就视频超分辨率而言,多个帧提供更多的场景信息,不仅有帧内空间依赖性而且有帧间时间依赖性(例如,运动、亮度和颜色变化)。大多数方法主要集中在更好地利用时空依赖性,包括显式运动补偿(例如,光流算法、基于学习的方法)和递归方法等。

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

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

相关文章

30 张图解 HTTP 常见的面试题

前言 在面试过程中,HTTP 被提问的概率还是比较高的 我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大的,通过问答 图解的形式由浅入深的方式帮助大家进一步的学习和理解 HTTP 协议。 HTTP 基本概…

持续集成交付CICD:使用Maven命令上传Nexus制品

目录 一、实验 1.使用Maven命令上传Nexus制品(第一种方式) 2.使用Maven命令上传Nexus制品(第二种方式) 一、实验 1.使用Maven命令上传Nexus制品(第一种方式) (1)指定一个 hoste…

Blender学习--制作带骨骼动画的机器人

1. 首先创建一个机器人模型 时间关系,这部分步骤有时间补充 2. 然后为机器人创建一副骨架 时间关系,这部分步骤有时间补充 3.骨骼绑定 切换到物体模式,选中机器人头部,Shift选中骨骼,切换到姿态模式,&am…

zcms企业官网建站系统源码搭建-支持页面自定义

1.支持mysql,sqlite,access三种数据库。 2.模板和标签与asp版的zzzcms通用。 3.asp版的zzzcms的access数据库可直接使用。 4.支持手机站。 (增删改查不做描述): 网站信息 名称,logo,微信&…

记录一次云原生线上服务数据迁移全过程

文章目录 背景迁移方案调研迁移过程服务监控脚本定时任务暂停本地副本服务启动,在线服务下线MySQL 数据迁移Mongo 数据迁移切换新数据库 ip 本地服务启动数据库连接验证服务打包部署服务重启前端恢复正常监控脚本定时任务启动旧服务器器容器关闭 迁移总结 背景 校园…

pytorch一致数据增强

分割任务对 image 做(某些)transform 时,要对 label(segmentation mask)也做对应的 transform,如 Resize、RandomRotation 等。如果对 image、label 分别用 transform 处理一遍,则涉及随机操作的…

基于深度学习的yolov7植物病虫害识别及防治系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介简介YOLOv7 系统特性工作流程 二、功能三、系统四. 总结 一项目简介 # YOLOv7植物病虫害识别及防治系统介绍 简介 该系统基于深度学习技术,采…

【KCC@南京】KCC南京“数字经济-开源行”活动回顾录

11月26日,由KCC南京、中科南京软件研究所、傲空间、PowerData联合主办的 KCC南京“数字经济-开源行” 的活动已圆满结束。此次活动,3 场主题研讨,11 场分享,现场参会人数 60,线上直播观看 3000,各地小伙伴从…

抓取真实浏览器设备指纹fingerprint写入cookie方案

一个关于抓取真实浏览器设备指纹写入cookie方案,用户访问页面获取到用户设备生成指纹id,通过js把指纹存入cookie,然后用php进行获取cookie存的指纹值到后台。 用途:追踪用户设备,防恶意注册,防恶意采集 浏…

1827_ChibiOS中OSLIB的邮箱机制

全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 1. 邮箱其实是一个环形队列; 2. 使用场景上,邮箱主要是用来实现异步单向的一些消息或者数据处理的。在处理机制上&#xff…

C语言 预处理 + 条件编译宏 + 井号运算符

预处理阶段任务 预处理指令 条件编译宏 条件编译宏的作用在于根据编译时的条件进行代码的选择性编译,从而实现不同环境、不同配置或不同功能的编译版本。 这可以用于实现调试模式和发布模式的切换,平台适配,以及选择性地编译不同的功能模块等…

【Spring 基础】00 入门指南

【Spring 基础】00 入门指南 文章目录 【Spring 基础】00 入门指南1.简介2.概念1)控制反转(IoC)2)依赖注入(DI) 3.核心模块1)Spring Core2)Spring AOP3)Spring MVC4&…

组件之间传值

目录 1:组件中的关系 2:父向子传值 3:子组件向父组件共享数据 4:兄弟组件数据共享 1:组件中的关系 在项目中使用到的组件关系最常用两种是,父子关系,兄弟关系 例如A组件使用B组件或者C组件…

大师学SwiftUI第18章Part2 - 存储图片和自定义相机

存储图片 在前面的示例中,我们在屏幕上展示了图片,但也可以将其存储到文件或数据库中。另外有时使用相机将照片存储到设备的相册薄里会很有用,这样可供其它应用访问。UIKit框架提供了如下两个保存图片和视频的函数。 UIImageWriteToSavedPh…

CCF刷题记录 -- 202305-2:矩阵运算 --python解法

2023.12.7 主要算法 矩阵置换矩阵相乘 满分注意点 运算顺序,利用了矩阵运算法则中的(A*B)*c A*(B*C) # 矩阵置换 def zhihuan(a):b[]for i in range(d):c []for j in range(n):c.append(a[j][i])b.append(c)return b# 矩阵相乘 def ju_zh…

C# WPF上位机开发(通讯协议的编写)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 作为上位机,它很重要的一个部分就是需要和外面的设备进行数据沟通的。很多时候,也就是在这个沟通的过程当中,上…

SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(一)——环境准备及项目配置

作者:超图研究院技术支持中心-于丁1 SuperMap iObject.NET三维场景拖拽框选实现详解及完整源代码(一)——环境准备及项目配置   三维场景框选是一种在三维空间中进行选择和操作的功能,它可以让使用者通过鼠标拖动来创建一个矩形…

stu06-VSCode里的常用快捷键

Alt Z:文字自动换行。当一行的文字太长时,可以使用。或者查看→自动换行Alt Shift ↓ :快速复制当前行到下一行Alt Shift ↑ :快速复制当前行到上一行Alt B:在默认浏览器中打开当前.html文件Ctrl Enter&#xf…

前端 Web Workers 简介

简介 以前我们总说,JS 是单线程没有多线程,当 JS 在页面中运行长耗时同步任务的时候就会导致页面假死影响用户体验,从而需要设置把任务放在任务队列中;执行任务队列中的任务也并非多线程进行的,然而现在 HTML5 提供了…

如何一个例子玩明白GIT

一个例子玩明白GIT GIT的介绍和教程五花八门,但实际需要用的就是建仓、推送、拉取等操作,这儿咱可以通过一个例子熟悉这些操作,一次性搞定GIT的使用方法学习。下面这个例子的内容是内容是建立初始版本库,然后将数据复制到 "远…