河套 IT TALK 67:(原创) 基于深度学习的超分技术(万字长文)
当我们谈论视频技术时,超高清视频(Ultra High Definition,简称UHD)无疑是当今最令人兴奋的领域之一。上期,我们介绍了使用复杂的算法来创建一个三维声场,给观众带来音频的空间感、方位感、高还原度、高沉浸度、临场感,个性化的三维声技术。本期,我们就聊聊最近非常火的基于深度学习的超分技术。
1. 前言
视频超分技术(Video super-resolution),简称VSR,是将低分辨率(Low Resolution,简称:LR)的视频转换为高分辨率(High Resolution,简称:HR)视频的过程。与单图像超分技术(Single Image Super-Resolution,简称:SISR)不同,这不是把视频图像的每一帧恢复到更多的细节,更重要的是能够保持整个视频帧的运动一致性。
为什么我们不直接看高分辨率的视频,而要使用超分技术去逆向转换呢?答案也非常简单:因为没有高清片源。高清视频是最近几年才火起来的事情,在这之前大量的视频片源就没有高清。而且我们经常在手机上观看以为的高清视频,投射到大的液晶屏幕上,就显得模糊不清,因为同样像素的视频内容,被延展到更大屏幕上,只会把原本很小的彩色像素点拉成一个一个肉眼可见的彩色小方块。如果不通过超分技术,要么忍受这种模糊,要么就只能在高清电视上重新去搜索匹配的高清片源,但又要花钱不是?能搜到片源还算好的,好多时候,花钱也未必能解决问题。比如在医学图像领域(MRT、CT、PET等等),出于图像扫描技术的局限,片源的分辨率很难做上来,如果没有超分技术,那些原始医疗图像扫描完,医生看到就都是惨不忍睹的噪点。
2. 什么是深度学习?
第一次正式提出深度学习这个词儿的是加州大学的计算机科学教授丽娜·德克特(Rina Dechter)。她在 1986 年的一篇论文中率先使用了深度学习(Deep Learning)。深度学习是机器学习的一种,它使用多层人工神经网络 (ANN) 对数据中的复杂模式进行建模。对于必须将多少层的 ANN 视为“深度”并没有严格的规定,但通常,具有多个隐藏层的神经网络可被视为深度学习模型。实际上,深度学习模型可以有几十层、几百层甚至几千层。然而,层数本身并不是决定深度学习模型性能的唯一因素,其他因素如每层神经元数量、使用的激活函数和训练方法也会对深度学习模型产生重大影响。模型的有效性。
深度学习使用多层从原始输入中逐步提取更高级别的特征。例如,在图像处理中,较低层可以识别边缘,而较高层可以识别与人类相关的概念,例如数字、字母或面孔。从另一个角度来看深度学习,深度学习是指“计算机模拟”或“自动化”人类从源(例如,狗的图像)到学习对象(狗)的学习过程。
深度学习的算法本来就有很多种,比较经典的包括:深度神经网络(Deep Neural Networks, 简称DNN)、深度置信网络(Deep Belief Networks, 简称DBN)、深度强化学习(Deep Reinforcement Learning, 简称DRN)、递归神经网络(Recurrent Neural Networks, 简称RNN)、卷积神经网络(Convolutional Neural Networks, 简称CNN)以及我们最近非常火的应用在ChatGPT中的Transformer。这些算法被广泛应用在计算机视觉、语音识别、自然语言处理、机器翻译、生物信息学、药物设计、气象科学、信息管理等领域。视频超分当然是其中的热门应用场景。
3. 为什么现在才热起来?
你可能会好奇,为啥基于深度学习的视频超分技术最近才火起来?深度学习也不是一个新鲜概念了。万事万物的发展都是相互关联和相互促进的,任何技术领域的拐点或者奇点爆发,都是经过长时间的铺垫和蓄能酝酿。在25年前,我还在读研究生的时候,当时的课题就是通过神经网络的方式用紫外光传感器对制冷系统中润滑油质量分数的实时测量。我理解为什么深度学习被研究人员一直追捧,但总是雷声大雨点小,主要有以下几个约束:1. 计算机的处理性能;2. 网络速度的局限;3. 学习样本的局限,以及在学习样本中的数字版权问题;4. 缺乏良好的开源软件管理系统让算法被充分共享。近些年,以上瓶颈都已经化解,深度学习开始出现了爆炸式的增长。
4. 基于深度学习的超分技术的优势
有一些传统的超分技术,包括小波变换和第二代小波变换的频域超分技术、使用卡尔曼滤波器的迭代自适应滤波算法、最大后验(MAP)和马尔可夫随机场(MRF)的概率方法等等,毫无疑问,这些传统超分技术表现并不如意。近期,基于深度学习的视频超分算法表现出了比传统超分算法明显的优势,主要表现以下几点:
- 学习复杂关系的能力强:传统方法依靠手工制作的特征和启发式方法在低分辨率视频帧中插入缺失的信息。这限制了他们学习低分辨率和高分辨率视频帧之间复杂关系的能力,并且他们可能无法生成视觉上令人愉悦的高辨率视频。基于深度学习的方法可以学习低分辨率和高分辨率视频帧之间更复杂的关系,使它们能够产生更准确和视觉上令人愉悦的结果。
- 不必依赖特定运动模型:传统方法假设视频帧有特定的运动模型,例如全局运动或块运动。这会限制它们处理视频帧之间复杂运动的能力,并可能导致运动伪影和高辨率视频中的模糊。基于深度学习的方法可以处理视频帧之间的复杂运动。
- 计算成本低:传统方法的计算成本可能很高,并且可能需要大量计算资源才能生成高分辨率视频。这限制了它们实时执行超分计算的能力,并可能使它们对某些应用不切实际。许多基于深度学习的视频超分方法可以实时进行超分计算,这对于低成本视频流和实时视频分析等应用很重要。
- 对噪声和伪影的鲁棒性强:传统方法对输入视频帧中的噪声和伪影敏感,并且在面对嘈杂或低质量输入帧时可能会产生模糊或失真的结果。而基于深度学习的方法对输入视频帧中的噪声和伪影的鲁棒性更强,即使输入帧有噪声或失真,也能生成高质量的高辨率视频。
5. 超分技术中没有“The One”?
正是因为前面提到的优势,使得基于深度学习的超分技术最近成为视频处理和计算机视觉领域许多应用的热门选择,显示出巨大潜力。现在,深度学习如春笋般在超分技术领域开得漫山遍野,但目前尚未出现一种深度学习的超分算法展露绝对的优势,达到普遍“令人满意”的状态。以至于直到当下,不管在研究领域,还是在生态运用领域,所有的算法都是百花争鸣,各有千秋。之所以出现这种状况,有以下几个原因:
- 不同的数据集:基于深度学习的视频超分算法需要在特定的数据集上进行训练和评估,以确保其有效性。然而,不同的数据集具有不同的特征,例如分辨率、噪声水平和运动模式。这会影响视频超分算法的性能,这意味着在一个数据集上表现良好的方法在另一个数据集上可能表现不佳。这其实也暴露了深度学习一直以来的问题,就是结果的不可预知性。
- 不同视频类型的运动特征差异巨大:视频帧可以有不同类型的运动,例如全局运动、局部运动和复杂运动。不同的视频超分方法可能更适合处理不同类型的运动,这意味着在一种类型的运动上表现良好的方法可能在另一种类型的运动上表现不佳。
- 不同因素的权衡,鱼与熊掌不可兼得:不同的视频超分方法可能会在计算复杂度、视觉质量和速度等因素之间做出不同的权衡。例如,生成高质量高分辨率视频的方法可能计算量大且速度慢,而速度更快的方法可能生成质量较低的视频。
看来我们要简单明了地单刀直入,讲明白基于深度学习的超分技术并不容易,必须要娓娓道来。
6. 超分技术的基本概念和评价指标
高清视频的退化公式
谈超分技术,必须要懂得基础图像的知识,首当其冲,就是要理解高清视频的退化公式:
峰值信噪比(PSNR)
PSNR是峰值信噪比 (Peak Signal-to-Noise Ratio)的英文缩写。
其中L表示颜色值的最大范围,通常为255,N表示图像中像素的总数,MSE经常作为损失函数出现。MSE表示输出视频和原始视频的均方误差(Mean Square Error)。
尽管PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。
结构相似性(SSIM)
SSIM是结构相似性(Structural SIMilarity)的英文缩写。
SSIM是一种衡量两幅图像相似度的指标。SSIM 在图像处理社区以及电视和社交媒体行业得到广泛采用。该指标首先由德州大学奥斯丁分校的图像和视频工程实验室(Laboratory for Image and Video Engineering)提出。而如果两幅图像是压缩前和压缩后的图像,那么SSIM算法就可以用来评估压缩后的图像质量。SSIM公式基于样本之间的三个比较衡量:亮度 (luminance)、对比度 (contrast) 和结构 (structure)。
目前除了PSNR和SSIM,还有一些其他的指标也被使用,包括:信息保真度标准(IFC)、视觉信息保真度(VIF)、基于运动的视频完整性评估指数(MOVIE)和视频多方法评估融合(VMAF)等等,但是这些指标也并无完美,目前缺乏客观指标来验证视频超分辨率方法还原真实细节的能力。该领域目前正在进行研究。很多机构组织的视频超分技术比拼的基准测试,普遍都是用PSNR , SSIM等客观指标来评价,当然也会依赖于平均意见得分(MOS)非常主观的评价进行纠偏和修正。
7. 基于深度学习的超分算法示例
既然基于深度学习的超分技术对应的算法很多,我们就无法做到一一解释,不仅让本篇的篇幅冗长,而且全部都是专业术语,相信也会超级乏味,吓阻你们继续读下去。所以我们仅摘录其中典型的算法给大家简单解释一下,希望能让大家有一个基本概况的了解。但即便如此,今天谈到的超分算法也有9大类16个算法,而这些只是诸多超分算法中的一小部分。
7.1 预上采样
“预上采样”部分意味着低分辨率输入图像在被输入深度学习模型之前首先使用简单的算法(例如双线性插值)增加尺寸。这样做的原因是为模型提供更详细的信息以供处理,从而产生更高质量的输出图像。通过在输入图像通过模型之前对其进行上采样,模型可以更好地理解图像的细节和纹理,并产生更准确和详细的输出。总的来说,预上采样超分辨率是一种通过使用输入图像的放大版本的深度学习模型来使低分辨率图像看起来更好的技术。
7.1.1 SRCNN
SRCNN是超分卷积神经网络(Super-Resolution Convolutional. Neural Network)的缩写。
SRCNN 架构,由三层组成:补丁提取层(Patch Extraction and Representation)、非线性映射层(Non-Linear Mapping)和重建层(Reconstruction)。补丁提取层用于从输入中提取密集补丁,并使用卷积滤波器表示它们。非线性映射层由 1×1 卷积滤波器组成,用于改变通道数并添加非线性。最后,重建层来重建高分辨率图像。
补充小知识:卷积神经网络(Convolutional Neural Networks)
卷积神经网络(Convolutional Neural Networks,简称:CNN) 背后的基本思想是使用卷积层从输入数据中自动学习和提取特征。卷积是一种数学运算,它将两个函数结合起来产生第三个函数,该函数表示一个原始函数如何被另一个函数修改。在 CNN 中,卷积层将一组过滤器应用于输入数据,这些过滤器可以识别图像中的特定特征或模式,例如边缘、角或纹理。
CNN 通常由多层组成,包括卷积层、池化层和全连接层。池化层用于减小输入的空间大小,同时保留重要特征,全连接层用于根据卷积层和池化层学习到的特征进行预测。CNN 已被证明在许多图像和视频相关任务中非常有效,例如对象检测、图像分类和分割。
7.1.2 VDSR
VDSR是非常深超分 (Very Deep Super Resolution) 的缩写,VDSR是对 SRCNN 的改进,增加了以下功能:
使用具有小型 3×3 卷积滤波器的深度网络,而不是具有大型卷积滤波器的小型网络。VDSR基于VGG 架构(VGG代表视觉几何组(Visual Geometry Group),是具有多层的标准深度卷积神经网络)。
网络尝试学习输出图像和插值输入的残差,而不是学习直接映射(如 SRCNN),如上图所示。这种操作简化了任务,将初始的低分辨率图像添加到网络输出中以获得最终的 高分辨率输出。
通过梯度裁剪用于训练具有更高学习率的深度网络。梯度裁剪是一种在训练期间用于防止梯度变得太大或太小的技术。当梯度的范数超过某个阈值时,按比例缩小梯度,使其范数等于阈值。这有助于稳定训练过程并防止数值不稳定,以帮助模型更快收敛并产生更好的结果。避免在某些情况下,梯度会变得太大或太小,这会导致优化算法发散或收敛太慢。
7.2 后上采样
上文说到的预上采样,存在诸多不便:
- 预上采样首先使用简单的上采样算法增加输入图像的分辨率,这在计算上可能很昂贵,尤其是对于大图像。
- 预上采样有时会导致过度拟合,模型会记住上采样算法的细节,而不是学习图像的底层特征。
- 预上采样用于提高输入图像分辨率的上采样算法是固定的,这可能导致分辨率与训练分辨率不同的图像输出图像质量较低。
预上采样首先使用简单的上采样算法提高输入图像的分辨率,而后上采样在图像经过超分模型处理后再执行上采样。具体来说就是低分辨率输入图像通过深度学习模型,学习从图像中提取高级特征和细节。一旦模型处理完图像,就会使用学习到的上采样算法将生成的特征图上采样到所需的分辨率。最终通过将上采样的特征图与原始低分辨率图像相结合而获得高分辨率图像。
这样一来,后上采样在处理图像之前不需要额外的上采样步骤,从而降低计算复杂度和内存使用量。同时由于上采样算法是作为模型的一部分学习的,又会避免过度拟合。最后,深度学习模型可以在上采样之前从低分辨率输入图像中学习最相关的特征和细节,更有效地处理不同的分辨率,从而产生更准确和更详细的输出图像。
7.2.1 FSRCNN
FSRCNN是快速超分卷积神经网络(Fast Super-Resolution Convolutional Neural Network)的缩写。
从上图可以看出,和SRCNN相比,FSRCNN有以下变化:
- 更少的参数:与 SRCNN 相比,FSRCNN 的参数更少,这使其速度更快,内存效率更高。使用多个 3×3 卷积,而不是使用大的卷积滤波器,类似于视觉几何组(VGG)网络通过简化架构来减少参数数量的工作方式。
- 更快的推理:在初始 5×5 卷积之后使用 1×1 卷积来减少通道数量,从而减少计算和内存。FSRCNN 旨在通过使用较少数量的过滤器和减小中间特征图的大小来比 SRCNN 更快。这使其能够实时或接近实时地执行超分辨率,使其适用于现实世界的应用。
- 多个上采样阶段:FSRCNN 使用多个上采样阶段来逐渐提高图像的分辨率,这有助于保留精细细节并减少伪影。上采样是通过使用学习的反卷积滤波器完成的,从而改进了模型。
- 端到端训练:FSRCNN 是端到端训练的,这意味着整个网络一起优化,而不是使用单独的预处理步骤进行上采样。一开始没有预处理或上采样。特征提取发生在低分辨率空间中。这会导致更好的性能和更有效地使用训练数据。
- 更好的结果:FSRCNN 已被证明在多项基准测试中优于 SRCNN,包括 PSNR 和视觉质量指标。这意味着它可以生成质量更好的超分辨率图像,尤其是对于高放大倍数。
FSRCNN 最终取得了比 SRCNN 更好的结果,同时速度也更快。
7.2.2 ESPCN
ESPCN是高效的像素卷积神经网络(Efficient Sub-Pixel CNN)的缩写。
在图像处理中,亚像素(Sub-Pixel)是指像素的一部分。像素是可以显示在数字屏幕上或打印在纸上的图像的最小单位。亚像素是用于表示像素的不同颜色分量的较小单元。
数字图像中的每个像素都由三种颜色成分组成:红色、绿色和蓝色 (RGB)。一个亚像素代表每个颜色分量的一小部分。例如,在 RGB 图像中,每个像素包含三个亚像素,每个亚像素对应一个颜色分量。
亚像素用于各种图像处理技术,包括亚像素渲染和亚像素运动估计。在亚像素渲染中,亚像素用于在图像中创建更高分辨率或更平滑边缘的外观。在亚像素运动估计中,亚像素通过分析相邻亚像素之间的颜色值差异来估计视频中对象的运动。
ESPCN技术中,亚像素卷积用于通过重新排列低分辨率图像的通道以形成更高分辨率的图像来提高图像的分辨率,其中高分辨率图像中的每个像素对应于低分辨率图像中的一组亚像素。亚像素卷积层将低分辨率特征图作为输入,通过重新排列低分辨率特征图的通道输出高分辨率特征图。通过以这种方式重新排列通道,亚像素卷积层能够有效地提高图像的分辨率,而不会引入伪影或模糊。
ESPCN 引入了亚像素卷积的概念来代替反卷积层进行上采样。这解决了与之相关的两个问题:
- 反卷积发生在高分辨率空间,因此计算成本更高。
- 它解决了反卷积中的棋盘问题,这是由于卷积的重叠操作而发生的(如下图所示)。
亚像素卷积通过将深度转换为空间来工作,如下图所示。来自低分辨率图像中多个通道的像素被重新排列到高分辨率图像中的单个通道。举个例子,尺寸为 5×5×4 的输入图像可以将最后四个通道中的像素重新排列为一个通道,从而产生 10×10 高分辨率图像。
7.3 残差网络
残差网络(Residual Networks, 简称:ResNets),是一种常用于超分辨率方法的神经网络架构,有时也称为SRResNet 。在 ResNets 中,网络的每一层都包含一个残差块,其中包含绕过一层或多层的快捷连接。快捷连接使网络能够学习残差函数,这些函数捕获层的输入和输出之间的差异。这有助于防止在训练非常深的神经网络时可能出现的梯度消失问题。
ResNets 用于学习低分辨率输入图像和高分辨率输出图像之间的映射。该网络在成对的低分辨率和高分辨率图像上进行训练,残差块用于学习将低分辨率输入映射到高分辨率输出的残差函数。优势是它们能够学习非常深的映射,这可以产生更高质量的高分辨率图像。ResNets 还有助于解决过度拟合的问题,这种问题在小型数据集上训练深度神经网络时可能会发生。
7.3.1 EDSR
EDSR是增强的深度超分(Enhanced Deep Super Resolution)的缩写,由多个残差块组成。EDSR中的残差块如上图所示。EDSR基于SRResNet,与 SRResNet 相比,有以下一些优点:
- EDSR 使用比 SRResNet 更深的网络,这使其能够学习低分辨率和高分辨率图像之间更复杂的映射。EDSR 还使用比 SRResNet 中使用的残差块计算效率更高的残差块,这有助于降低该方法的总体计算成本。
- EDSR 的另一个进步是删除批量归一化层(Batch Normalization layers,简称:BN),因为批量归一化会在超分辨率图像中引入不需要的伪影。EDSR 使用一种称为“均值减法”的标准化形式来标准化每一层的输入。这有助于减少在训练深度神经网络时可能发生的内部协变量偏移问题,而不会引入不需要的伪影。因为去除 BN 会提高准确度,还可减少高达 40% 的内存,从而使网络训练更加高效。
- EDSR 还使用一种称为 Charbonnier 损失的新型损失函数,这是一种 L1 损失,它对异常值的敏感度低于 SRResNet 中使用的均方误差 (MSE) 损失。这有助于减少超分辨率图像中的伪影并获得更高质量的结果。
7.3.2 MDSR
MDSR是多尺度深度超分(multi-scale deep super-resolution)的缩写。
MDSR 是 EDSR 的扩展,具有多个输入和输出模块,可在 2x、3x 和 4x 提供相应的分辨率输出。一开始,存在用于特定尺度输入的预处理模块,由两个具有 5×5 内核的残差块组成。
MDSR使用多个尺度来学习低分辨率和高分辨率图像之间的映射。MDSR可以更有效地处理具有不同细节级别的图像。通过使用多个子网络,该方法可以学习对具有不同细节量的图像的不同部分进行上采样。这有助于保留图像中的高频细节并生成更高质量的超分辨率图像。
MDSR预处理层中使用更大的内核,增加网络感受野同时保持其浅层和计算效率。神经网络的感受野是指网络中每个神经元对输入图像敏感的区域。在超分技术领域,感受野越大越好,因为它允许网络捕获有关输入图像的更多信息并产生更高质量的高分辨率图像。增加神经网络感受野的一种方法是使用更大的卷积核。然而,使用更大的内核也会增加网络中的参数数量,这会导致过度拟合和更慢的训练时间。在多尺度深度超分辨率方法中,一种保持网络浅层同时仍实现高感受野的方法是在网络的预处理层中使用更大的卷积核。这些层通常在低分辨率输入图像上运行,并用于提取与超分辨率相关的高级特征。通过在这些层中使用更大的内核,网络可以在不增加太多参数数量的情况下捕获有关输入图像的更多信息。这有助于提高网络性能,同时保持其计算效率。
MDSR在特定比例的预处理模块的末尾是共享残差块,这是所有分辨率数据的公共块。最后,在共享残差块之后是特定比例的上采样模块。
MDSR比 EDSR 等方法的计算效率更高。这是因为每个子网络都被训练为以较小的因子对输入图像进行上采样,这需要更少的层和更少的参数。这可以导致更快的训练时间和更低的计算成本。
MDSR的缺点是它们的实施和训练比 EDSR 等方法更复杂。这是因为它们涉及训练多个子网络并组合它们的输出以生成最终的超分辨率图像。这可能需要更仔细地调整超参数和更长的训练时间。尽管与单尺度 EDSR 相比,MDSR 的整体深度是 5 倍,但由于共享参数,参数数量仅为 2.5 倍,而不是 5 倍。MDSR 取得了与规模特定的 EDSR 相当的结果。
总的来说,多尺度深度超分辨率和EDSR都各有优缺点。方法的选择取决于应用程序的具体要求以及可用于训练和推理的资源。7.3.3 CARN
CARN是级联残差网络(Cascading Residual Network)的缩写。CARN在传统残差网络之上提出了以下改进:
局部和全局级别的级联机制,合并来自多个层的特征并赋予网络接收更多信息的能力。
除了 CARN 之外,在递归网络架构的帮助下,还提出了一个更小的 CARN-M,它具有更轻的架构,并且结果不会有太大的恶化。
CARN 中的全局连接如上图所示。每个具有 1×1 卷积的级联块的顶点接收来自所有先前级联块的输入和初始输入,从而导致信息的有效传输。
7.4 多阶段残差网络
多级残差网络(Multi-Stage Residual Networks),顾名思义,涉及使用多级或多级残差网络将图像从低分辨率图像上采样到高分辨率图像。
多阶段残差网络中,低分辨率输入图像首先通过预处理阶段,该阶段通常由一组具有小感受野的卷积层组成。预处理阶段的输出然后通过一系列残差阶段,每个残差阶段包含多个残差块。
在每个阶段,网络学习按特定因子(例如 2 倍或 4 倍)对图像进行上采样。然后将每个阶段的输出传递到下一个阶段,下一个阶段通过提高分辨率进一步细化图像。
多阶段残差网络的一个优点是它们可以在使用相对较少的参数的同时生成高质量的超分图像。这是因为使用残差连接和小的卷积滤波器可以帮助提高网络的效率。
总体而言,多级残差网络是一种强大且流行的超分技术,已在多个基准数据集上实现了最先进的性能。7.4.1 BTSRN
BTSRN是平衡两阶段残差网络(balanced two-stage residual networks)的缩写。
BTSRN使用两级残差网络将图像从低分辨率图像上采样到高分辨率图像。与使用多个阶段并增加上采样级别的多阶段残差网络相比,BTSRN 平衡每个阶段中使用的滤波器数量以提高网络性能。
BTSRN 的第一阶段由一系列对低分辨率输入图像进行操作的残差块组成(如上图,第一阶段由 6 个残差块组成。)。此阶段通常将输入图像的分辨率提高两倍或四倍。第一阶段的输出随后被传递到第二阶段,第二阶段进一步将图像上采样到所需的高分辨率输出。
BTSRN 的第二阶段使用一组相似的残差块,但过滤器数量与第一阶段不同(如上图,第二阶段由 4 个残差块组成。)。每个块中的过滤器数量是平衡的,以确保网络能够有效地学习低级和高级特征。
BTSRN 的一个优点是它可以在使用相对较少的参数的同时生成高质量的超分辨率图像。通过平衡每个阶段的过滤器数量,BTSRN 可以有效地学习不同尺度下输入图像的特征,这有助于提高网络性能。
7.5 递归网络
递归网络(Recursive Networks)是使用递归或迭代过程从低分辨率输入生成高分辨率图像。这种技术有时也称为迭代超分辨率(Iterative Super-Resolution)。
递归网络背后的基本思想是首先使用简单的插值方法(例如双三次插值)生成高分辨率图像的初始估计。然后将该初始估计输入深度神经网络,该网络通过学习提取和合并额外的高频细节进一步完善估计。
在神经网络的每一轮处理之后,使用另一种插值方法(例如最近邻插值)将生成的图像放大到所需的分辨率。然后将放大后的图像反馈到神经网络中进行进一步处理。这个过程会重复多次,通常是 5 到 10 轮,直到输出图像达到所需的分辨率。
递归网络的一个优点是即使输入图像的分辨率非常低,它们也可以生成高质量的超分辨率图像。这是因为网络能够在多个尺度上逐步细化图像,提取低分辨率输入中不存在的高频细节。
然而,递归网络的计算成本可能很高,尤其是在使用具有多层的深度神经网络时。此外,该方法的迭代性质有时会导致对训练数据的过度拟合,从而导致新图像的泛化性能不佳。因此,需要仔细的正则化和验证技术来确保递归网络在各种不同的图像和输入分辨率上表现良好。
总体而言,BTSRN 是一种强大而有效的超分辨率技术,已在多个基准数据集上实现了最先进的性能。
7.5.1 DRCN
DRCN是深度递归卷积网络(Deeply-Recursive Convolutional Network)的缩写。
DRCN使用具有大量卷积层的非常深的神经网络来生成高质量的超分辨率图像。
DRCN 背后的基本思想类似于递归网络,因为它使用迭代过程从低分辨率输入中逐渐生成更详细的图像。然而,DRCN 不是每次迭代都使用相对较浅的神经网络,而是使用具有多级递归的非常深的网络。
DRCN 架构由两个主要组件组成:特征提取网络和重建网络。特征提取网络负责从输入图像中学习一组低级和高级特征。该网络通常由多层卷积和池化操作组成,类似于典型的卷积神经网络。
另一方面,重建网络负责根据特征提取网络学习的特征生成高分辨率输出图像。该网络使用一系列反卷积层(也称为转置卷积层)将特征图放大到所需的分辨率。
除了这两个主要组件之外,DRCN 还在特征提取网络的每一层和重建网络的相应层之间加入了跳跃连接。这些跳过连接允许网络绕过某些层并保留来自早期处理阶段的重要信息。
DRCN 的一个优势是它能够从输入图像中捕获非常复杂和高级的特征,这要归功于其深层架构。然而,这也意味着 DRCN 的计算成本可能很高,并且需要大量的训练数据才能获得良好的结果。此外,跳跃连接的使用有时会导致过度拟合,因此需要仔细的正则化和验证技术以确保良好的泛化性能。
7.5.2 DRRN
DRRN是深度递归残差网络(Deep Recursive Residual Network)的缩写。
DRRN建立在残差网络 (ResNet) 架构和递归网络中使用的递归方法之上。
DRRN 利用一个深度神经网络架构,该架构由几个残差块组成,它们之间有跳跃连接。每个残差块包含多个卷积层和批量归一化层,残差连接将输入直接传递到块的输出。这允许网络学习低分辨率输入和高分辨率输出图像之间的残差或差异,然后将其添加到低分辨率输入以生成超分辨率图像。
DRRN 的递归方面来自于它使用递归过程来细化超分辨图像。在每次递归迭代中,首先使用双三次插值或其他简单的上采样方法对低分辨率输入图像进行放大。然后由 DRRN 网络处理此放大图像以生成初始超分辨率图像。然后在下一次递归迭代中将这个超分辨率图像用作网络的输入,进一步完善它。这个过程一直持续到达到所需的超分辨率水平。
由于使用了残差连接和递归方法,DRRN 的优势之一是它能够使用相对较少的参数生成高质量的超分辨率图像。此外,批归一化层的使用有助于加快训练速度并提高泛化性能。然而,DRRN 的计算成本仍然很高,尤其是在每个残差块使用大量递归迭代或大量卷积层时。
7.6 渐进重建网络
渐进重建网络(Progressive Reconstruction Networks(PRN))采用渐进方法生成高分辨率图像。它涉及生成一系列中间图像,每个图像的分辨率都比前一个图像高,直到达到所需的最终分辨率。
PRN 方法包括三个主要阶段:从粗到精阶段、残差学习阶段和重建阶段。
- 第一阶段,使用双三次插值或其他简单的上采样方法将低分辨率输入图像放大到中等分辨率。然后将该中间分辨率图像用作深度神经网络的输入,该网络生成分辨率稍高的输出图像。这个过程重复多次,每个阶段的输出用作下一个阶段的输入,直到达到最终所需的分辨率。
- 第二阶段,PRN 网络使用残差学习方法来细化第一阶段生成的中间图像。残差学习方法涉及学习中间图像与其对应的高分辨率地面实况图像之间的差异。这允许网络学习生成低分辨率输入图像中不存在的高频细节。
- 最后的重建阶段,将中间图像组合起来生成最终的高分辨率图像。这是使用融合技术完成的,该融合技术以保留在残差学习阶段学习到的高频细节的方式组合中间图像。
PRN 的优势之一是它能够以相对较少的参数生成高质量图像,这要归功于渐进式重建和残差学习的使用。此外,PRN 生成的中间图像可用于其他计算机视觉任务,例如图像修复或去噪。然而,PRN 的计算成本仍然很高,尤其是在生成高分辨率图像时,并且可能需要大量的计算资源来训练和部署。
7.6.1 LAPSRN
LapSRN 是拉普拉斯金字塔超分网络(Laplacian Pyramid Super-Resolution Network)的缩写。LapSRN通过使用一系列拉普拉斯金字塔对低分辨率图像进行逐步上采样来生成高分辨率图像。拉普拉斯金字塔是一种多尺度图像表示,可将图像分解为一系列子带,每个子带包含不同级别的细节。
LapSRN 方法包括三个主要阶段:特征提取阶段、拉普拉斯金字塔构造阶段和重建阶段。
- 在特征提取阶段,低分辨率输入图像由深度神经网络处理,提取多个尺度的特征图。然后使用这些特征图在下一阶段构建拉普拉斯金字塔。
- 在拉普拉斯金字塔构造阶段,使用拉普拉斯金字塔分解将特征图分解为一系列子带。每个子带代表不同的细节级别,频率最高的子带包含最详细的信息。
- 在重建阶段,拉普拉斯金字塔用于通过使用深度神经网络逐步对每个子带进行上采样来生成高分辨率图像。上采样以自下而上的方式完成,最高频率的子带首先被上采样,然后是较低频率的子带。上采样过程是使用卷积层和像素洗牌操作的组合完成的,这允许网络学习生成高频细节。
由于使用了拉普拉斯金字塔分解,LapSRN 的优势之一是它能够以相对较少的参数生成高质量图像。此外,拉普拉斯金字塔的使用允许网络生成高频细节,而不会引入其他超分辨率方法中常见的伪影。然而,LapSRN 的计算成本仍然很高,尤其是在生成高分辨率图像时,并且可能需要大量的计算资源来训练和部署。
7.7 多分支网络
多分支网络(Multi-branch networks),也称为多分支卷积神经网络,是一种具有多个分支的深度学习架构,每个分支以不同的方式处理输入数据。每个分支由一系列卷积层组成,然后是激活函数和池化层。
每个分支中卷积层的输出以某种方式组合,通常是将它们连接起来,然后传递到网络中的下一层或分支。这允许网络通过同时以多种方式处理输入数据来捕获输入数据的不同方面。
在超分辨率任务中,多分支网络可用于通过利用输入图像的不同尺度和分辨率来生成具有更精细细节的高质量图像。例如,一个分支可以处理低分辨率的输入图像,而另一个分支可以处理高分辨率的图像。然后可以组合这些分支的输出,以生成比使用单个分支可能具有更多细节的高分辨率图像。
多分支网络已成功用于各种计算机视觉任务,例如对象识别、分割和检测。多分支网络还在超分辨率任务中生成具有改进的感知质量和精细细节的高质量图像。然而,多分支网络的计算成本可能很高,并且需要大量资源来训练和部署。
7.7.1 CMSC
CMSC是级联多尺度交叉网络(Cascaded Multi-Scale Cross-Network)的缩写。CMSC是一种利用级联多尺度网络生成高分辨率图像的超分辨率方法。CMSC 由两个主要阶段组成:从粗到精阶段和微调阶段。
- 在粗到精阶段,输入的低分辨率图像首先使用双三次插值放大 2 倍,然后由一系列多尺度网络处理。序列中的每个网络都设计为以不同的规模运行,并专注于图像的不同方面。然后组合这些网络的输出以生成中间高分辨率图像。
- 在微调阶段,使用单尺度网络进一步细化中间高分辨率图像。微调网络使用内容损失和对抗性损失的组合进行训练,以提高生成图像的感知质量。
CMSC 的关键特征之一是它使用跨网络连接,它允许在网络的不同规模和阶段之间共享信息。这有助于提高网络的准确性和稳定性,并使其能够生成具有精细细节的高质量图像。
CMSC 的另一个优势是它能够通过相应地调整网络架构和训练策略来处理不同的比例因子。这使其成为一种通用且适应性强的方法,可应用于广泛的超分辨率任务。
7.8 注意力网络
注意力网络(Attention-Based Networks)是指一系列深度学习模型,它们利用注意力机制来提高超分辨率图像的质量。引入这些网络是为了解决传统超分辨率技术的局限性,传统超分辨率技术通常使用固定且统一的滤波器来插值低分辨率图像。基于注意力的网络使用一组可学习的权重,这些权重可以根据图像内容自适应地调整每个像素的滤波器系数。这使网络能够专注于图像最重要的特征,并生成具有更清晰边缘和更多细节的高质量超分辨率图像。
基于注意力的网络在超分辨率方面的主要优势在于它们能够选择性地关注图像中的重要特征,并生成具有更准确细节的高质量超分辨率图像。此外,这些网络可以处理复杂的图像结构和图像内容的变化,使其适用于计算机视觉中的广泛应用,例如对象识别、图像分类和自然语言处理。
7.8.1 SelNet
SelNet是具有注意力机制的选择性卷积神经网络(Selective Convolutional Neural Network with Attention Mechanism)的缩写。SelNet是2019年提出的一种基于注意力的超分辨率网络。SelNet旨在选择性地强调图像中的重要特征,同时抑制不相关的细节,使其能够生成高分辨率的质量超分辨率图像。
SelNet 由一系列卷积层组成,后面是一组注意力模块,这些模块自适应地加权特征图中每个像素的重要性。注意模块由一组卷积层和一个 soft-max 函数组成,该函数根据每个像素与参考特征的相似性为其分配权重。参考特征是在训练期间学习的,代表图像内容的学习表示。
SelNet 的关键优势在于它能够自适应地选择和强调重要的图像特征,同时抑制不相关的细节。这是通过注意力机制实现的,它允许网络学习强调图像重要区域的空间变化加权方案。
与其他基于注意力的网络相比,SelNet 相对简单,但可以有效生成高质量的超分辨率图像。
7.8.2 RCAN
RCAN是剩余通道注意力网络(Residual Channel Attention Networks)的缩写。
RCAN是 2018 年提出的另一种基于注意力的超分辨率网络。RCAN 旨在通过使用通道注意力机制来增强网络层之间剩余连接的学习。
RCAN 由一系列残差块组成,其中每个残差块包含一个卷积层,后跟一个通道注意模块。通道注意模块对每个残差块的特征图进行操作,并根据每个通道与图像重建任务的相关性自适应地对每个通道的重要性进行加权。
RCAN 中的通道注意力模块包括两个步骤:第一步计算每个通道的平均特征激活,而第二步使用一组全连接层来学习一组通道权重,放大或抑制每个通道的重要性渠道。这允许网络有选择地强调重要通道,同时抑制嘈杂或不相关的通道。
RCAN 的关键优势在于它能够更有效地学习网络层之间的残余连接。通过结合通道注意机制,RCAN 可以学习选择性地放大或抑制每个残差连接的重要性,从而导致更有效的信息流和更好的生成高质量超分辨率图像的性能。
7.9 生成模型
生成模型(Generative models)是指一类深度学习模型,它学习从低分辨率输入图像生成高分辨率图像。这些模型通常在低分辨率和高分辨率图像对的数据集上进行训练,目标是学习两者之间的映射。
超分辨率生成模型的优势在于能够生成训练集中不存在的高分辨率图像。这使得它们可用于图像修复和具有复杂内容的图像的超分辨率等任务。然而,它们也可能比其他超分辨率方法的计算成本更高,并且可能需要更大量的训练数据才能获得良好的性能。
7.9.1 SRGAN
SRGAN是超分生成对抗网络(Super-Resolution Generative Adversarial Networks)的缩写。
SRGAN使用生成对抗网络 (GAN) 从低分辨率输入图像生成高分辨率图像。
SRGAN 的架构由两个网络组成:生成器网络和鉴别器网络。生成器网络接收低分辨率图像并生成高分辨率图像,而鉴别器网络试图区分生成的高分辨率图像和真实的高分辨率图像。这两个网络以对抗方式进行训练,其中生成器尝试生成可以欺骗鉴别器的图像,而鉴别器则尝试正确区分真实图像和生成的图像。
SRGAN 的关键创新是使用感知损失函数,它衡量生成的高分辨率图像与特征空间中相应的地面真值高分辨率图像之间的差异。具体来说,感知损失函数基于预训练的深度神经网络,该网络计算网络不同层的特征图。通过使用感知损失函数,SRGAN 能够生成高分辨率图像,这些图像不仅在视觉上与地面真实图像相似,而且具有相似的高级特征和结构。
SRGAN 已被证明在视觉质量和定量指标(如峰值信噪比 (PSNR) 和结构相似性指数 (SSIM))方面实现了最先进的性能。它们还能够生成具有精细细节和纹理的图像,这对于医学成像和卫星成像等应用非常重要。
7.9.2 EnhanceNet
EnhanceNet 使用深度神经网络来学习低分辨率和高分辨率图像之间的映射。它基于条件 GAN 的概念,其中生成器网络从低分辨率输入图像生成高分辨率图像,鉴别器网络区分生成的高分辨率图像和真实高分辨率图像。
EnhanceNet 的架构由编码器-解码器网络组成,其中编码器网络将输入图像下采样为低分辨率特征图,解码器网络将特征图上采样为所需的高分辨率输出图像。该网络使用像素级损失和对抗性损失的组合进行训练,其中像素级损失衡量生成的高分辨率图像与真实高分辨率图像之间的差异,而对抗性损失鼓励生成器网络生成与图像无法区分的图像。真正的高分辨率图像。
EnhanceNet 的独特之处之一是在编码器和解码器网络之间使用残差连接,这有助于在上采样过程中保留输入图像的高频细节。此外,EnhanceNet 还采用了一种感知损失函数,该函数结合了预训练的深度卷积神经网络(例如 VGG),以根据感知特征来衡量生成的高分辨率图像与真实高分辨率图像之间的相似性。
8. 本期专业术语和缩略语汇总
好了,恭喜你能看到这里,说明这个万字长文确实让您受益了。这是迄今为止,网络上最为详细的介绍超分技术的文章了,整整写了18000多字。今天,我们就先聊到这里,下一期,我们再展开谈一下超高清视频的另外一个话题:数字版权管理。