超分概念集锦

超分概念

超分辨率(Super Resolution,SR),与超分相对应的是低分辨率图像(Low Resolution,LR),以及经常作为Ground Truth的高分辨率图像(High Resolution, HR)。
超分辨率是一项底层图像处理任务,将低分辨率的图像映射至高分辨率,以期达到增强图像细节的作用。图像模糊不清的原因有很多,比如各式噪声、有损压缩、降采样……超分辨率是计算机视觉的一个经典应用。SR是指通过软件或硬件的方法,从观测到的低分辨率图像重建出相应的高分辨率图像(说白了就是提高分辨率),在监控设备、卫星图像遥感、数字高清、显微成像、视频编码通信、视频复原和医学影像等领域都有重要的应用价值。

最早将深度学习用到SISR的是何凯明大神等人在ECCV2014年提到的SRCNN,因此可以说凯明大神是超分这一技术领域的祖师爷。自2016年开始举办的New Trends in Image Restoration and Enhancement workshop(NTIRE)开辟超分比赛以来,新模型新算法层出不穷。

超分入门的综述文章首先推荐:A Deep Journey into Super-resolution: A survey. 总结的非常干练精彩。

超分分类

一般来说,超分分为以下两种应用场景:
SISR: 只参考当前低分辨率图像,不依赖其他相关图像的超分辨率技术,称之为单幅图像的超分辨率(Single Image Super Resolution,SISR),需要注意的是对于一个低分辨率图像,可能存在许多不同的高分辨率图像与之相对应。
VSR: 参考多幅图像或多个视频帧的超分辨率技术,称之为多帧视频/多图的超分辨率(multi-frame super resolution/Video SR)。对于video SR,其核心思想就是用时间带宽换取空间分辨率。既可以通过多张图像来获得图像更多的信息,又可以综合考虑图像的前后帧语义,使得连续图像之间的信息表达有连续性。VSR目前主流的做法是通过多帧之间的帧间对齐(光流计算+运动补偿);多帧融合(超分重建)来得到最终的超分结果。

我们通常理解的超分辨率都是指SISR,我们只需要输入一张低分辨率图像而获得高分辨率图像的输出。 而VSR会利用视频的时间关联性来获得对某一帧的SR。

评价指标

常用的图像质量评估指标有如下三种,在此逐一进行介绍:

MSE:Mean Squared Error,逐个比较两幅图像的像素差,最终求解所有像素的均方误差
PSNR::Peak Signal to Noise Ratio,峰值信噪比,即峰值信号的能量与噪声的平均能量之比,数值越大表示失真越小,通常表示的时候取 log 变成分贝(dB),由于 MSE 为真实图像与含噪图像之差的能量均值,而两者的差即为噪声,因此 PSNR 即峰值信号能量与 MSE 之比。

第二个等式由于图像像素点数值以量化方式保存,bits 即每个像素点存储所占的位数。因此 MaxValue 即为 2^bits - 1。灰度图中的bits = 8,根据论文Video Super-Resolution Based on Deep Learning: A Comprehensive Survey:MaxValue always represents the maximum range of color value, which is usually 255。因此PSNR与MSE在本质上是相似的,只是PSNR相对而言更易于解读,一般取值范围:20-40。值越大,视频质量越好。

基于MSE改进而来的PSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它基于误差敏感的图像质量评价,并未考虑到人眼的视觉特性(人眼对空间频率较低的对比差异敏感度较高,人眼对亮度对比差异的敏感度较色度高,人眼对一个区域的感知结果会受到其周围邻近区域的影响等),因而经常出现评价结果与人的主观感觉不一致的情况。

SSIM:Structural Similarity, 由于基于像素的简单计算不符合人类视觉系统(Human Visual System,HVS)的评价结果,因此需要对评价方式进行重新考量。如果图片的最终目的是向人类进行展示的话,那么质量应该以人的主观测评为准。但是由于主管评价不方便且费时,因此我们试图用客观的 image quality assessment 来对图像进行评价,使其接近 HVS 的特点。SIMM的评价指标在如下三点:1. luminance,亮度;2. contrast,对比度;3. structure,结构。SSIM取值范围[0,1],值越大,表示图像失真越小。

VSR常见的光流法

本博客深入浅出,讲解的非常好,在此直接贴上链接。
https://blog.youkuaiyun.com/qq_41368247/article/details/82562165
关于超分的概念讲解,尤其是单帧SR没有充分考虑前后帧图像间的相关性,造成Video中出现波浪状纹路,解释见以下博客:
https://blog.youkuaiyun.com/Gavinmiaoc/article/details/90666538
关于近期VSR的论文与模型整理,可以见github上分享:
https://github.com/LoSealL/VideoSuperResolution

图像增强

上采样(UnSampling):相比于数据集的上采样与下采样,图像也有属于自己的上采样与下采样,对应着常见的用语:增强与压缩。在深度学习中图像的上采样包括反卷积(Deconvolution)、传统插值与上池化(UnPooling)。
反卷积: https://buptldy.github.io/2016/10/29/2016-10-29-deconv/ 卷积的本质就是矩阵运算,这篇博客通过对矩阵运算的讲解,将卷积与反卷积的数学本质解释的很透彻。
上池化: 也就是反池化,不需要学习,用的不是太多,参考论文Visualizing and Understanding Convolutional Networks,还有SegNet和DeconvNet
简单原理:在池化过程中,记录下max-pooling在对应kernel中的坐标,在反池化过程中,将一个元素根据kernel进行放大,根据之前的坐标将元素填写进去,其他位置补0
传统插值:包括双线性插值、三次样条插值,都属于传统的图像插值方法。注意:图像上采样几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素;而下采样是直接向下进行s倍的下采样。无论图像下采样还是图像上采样,采样方式有很多种。如最近邻插值,双线性插值,均值插值,中值插值等方法。插值只是上下采样的手段,务必了解这一点

<think>好的,我现在需要回答用户关于算法实现原理和辨率重建算法的问题。首先,我得理解用户的需求。用户提到了参考的四个引用,涉及不同的算法如SRCNN、POCS以及深度学习方法。用户可能希望了解这些算法的基本原理,以及如何实现它们。 首先,我应该明确辨率重建的基本概念辨率重建是通过算法从低辨率图像恢复高辨率图像的过程。这可以为传统方法和基于深度学习的方法。传统方法可能包括插值、基于重建的方法如POCS,以及基于学习的方法如稀疏编码。而深度学习方法如SRCNN、ESPCN、EDSR等则是近年来主流的方法。 接下来,我需要整理每个引用中的信息。引用1提到深度学习模型在中的应用,提高了质量但需要大量资源。引用2详细介绍了SRCNN算法,说明其是端到端的CNN方法。引用3讨论了POCS算法,使用迭代和约束集来重建图像。引用4指出深度学习方法的挑战,如模型复杂度和计算资源需求。 用户的问题包括实现原理和算法细节,所以需要点解释传统方法和深度学习方法,并举例说明几个关键算法如SRCNN和POCS。同时,要结合引用中的信息,比如SRCNN的结构、POCS的迭代过程,以及深度学习方法的优缺点。 需要注意回答的结构要清晰,步骤解释,并且符合用户要求的格式,如使用中文,数学公式用$...$,独立公式用$$...$$。此外,要生成相关问题,并正确添加引用标识。 现在需要确保覆盖以下几点: 1. 辨率重建的定义和应用场景。 2. 传统算法:插值法、POCS算法(引用3)、逆滤波(引用1)。 3. 深度学习方法:SRCNN(引用2、4)、其他模型如ESPCN、EDSR。 4. 实现原理,包括数学公式和网络结构。 5. 优缺点比较,引用中的挑战如计算资源(引用1、4)、PSNR评估(引用3)。 6. 提供代码示例,可能来自引用2或4。 7. 生成相关问题。 需要检查是否有遗漏的引用内容,并正确标注引用标识。例如,在讨论POCS算法时引用[^3],SRCNN引用[^2][^4],深度学习挑战引用[^1]。 然后,编写回答部,确保每个算法部都有对应的原理和公式。例如,SRCNN的三层卷积结构可以用数学公式表示,POCS的迭代公式使用$$...$$。代码部选取SRCNN的简单示例,如引用2中的MATLAB或引用4的Python代码,但用户提供的引用中没有具体代码,可能需要用伪代码或结构描述。 最后,生成相关问题,涵盖传统与深度方法、评估指标、优化方向、计算资源挑战等,参考用户提供的示例问题的结构。 需要确保所有引用都正确标注,没有格式错误,数学公式正确使用LaTeX,如$y = W_1 * x + b_1$,以及独立公式: $$ x^{(k+1)} = P_C \left( x^{(k)} + \lambda (y - H x^{(k)}) \right) $$ 总结后,组织成用户要求的层次结构,步骤说明,保持语言口语化但专业,避免使用Markdown格式,仅使用换行和段落隔。</think>### 辨率重建算法实现原理 辨率重建(Super-Resolution, SR)是通过算法从低辨率(LR)图像恢复高辨率(HR)图像的过程,核心原理包括**插值优化**、**频域重建**和**深度学习映射**。以下是关键实现方法: --- #### 一、传统算法 1. **插值法** 通过双线性或双三次插值直接放大图像,但会导致模糊。例如,双三次插值公式为: $$f(x,y) = \sum_{i=0}^3 \sum_{j=0}^3 a_{ij} x^i y^j$$ 其局限性在于无法恢复高频细节。 2. **基于重建的方法** - **POCS算法(凸集投影)** 通过迭代约束(如平滑性、非负性)逼近真实图像。迭代公式为: $$x^{(k+1)} = P_C \left( x^{(k)} + \lambda (y - H x^{(k)}) \right)$$ 其中$H$为退化模型,$P_C$为投影到约束集的操作。实验显示其PSNR提升显著。 - **逆滤波复原** 通过频域逆滤波补偿退化,但易受噪声放大影响。 --- #### 二、深度学习方法 1. **SRCNN(辨率卷积神经网络)** - **结构**:三层卷积网络(特征提取→非线性映射→重建)。数学表达为: $$F(y) = W_2 * \sigma(W_1 * y + b_1) + b_2$$ 其中$W_i$为卷积核,$\sigma$为ReLU激活函数[^2]。 - **优势**:端到端映射,无需人工设计特征,重建质量高。 2. **ESPCN(高效子像素卷积)** 在LR空间提取特征,最后通过子像素卷积层放大图像,减少计算量。 3. **EDSR(增强深度残差网络)** 去除冗余模块(如批归一化),通过残差学习提升性能,但参数量较大。 --- #### 三、关键挑战与优化 1. **计算资源**:深度模型需大量GPU资源训练。 2. **纹理细节**:像素级损失易导致图像过平滑,需结合对抗损失(如GAN)。 3. **实时性**:轻量化设计(如MobileNet)可部署到移动设备。 --- #### 四、代码示例(SRCNN简化版) ```python import tensorflow as tf def srcnn_model(input_shape=(32, 32, 1)): model = tf.keras.Sequential([ tf.keras.layers.Conv2D(64, 9, activation='relu', padding='same', input_shape=input_shape), tf.keras.layers.Conv2D(32, 1, activation='relu', padding='same'), tf.keras.layers.Conv2D(1, 5, padding='same') ]) model.compile(optimizer='adam', loss='mse') return model ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值