本篇论文是2019年2月份,发表在arxiv上的篇关于超分辨率的一篇综述。这篇文章系统且全面的介绍了一些基于深度学习的超分辨率方法。其中包括:

  • 超分辨率问题的定义 (problem setting)
  • benchmark datasets
  • 性能评价指标 (performance metrics)
  • 基于深度学习的超分辨率方法
  • 特定领域的超分辨率应用 (domain-specific application)

此外作者对比每个超分辨率方法,指出了网络的优点以及局限。最后对该领域的一些开放性问题(open issuse) 以及挑战提出了未来研究的方向。

超分辨率问题的定义(problem setting)

图像的超分辨率要解决的问题是:从一张低分辨率(LR)的图像中,恢复出一张高分辨率(HR)的图像。

通常来说,我们通过下面的方式得到低分辨率的图像:
$$
I_{x}=\mathcal{D}\left(I_{y} ; \delta\right)
$$
$I_x$ 表示低分辨率图像,$I_y$ 表示高分辨率图像,$D()$ 表示下采样的映射函数,$\delta$ 表示映射函数的参数。图片清晰度不够的原因可能有很多种,例如聚焦,图片压缩,传感器噪声等问题。一些学者提出了下面的模型来模拟这种失真的映射。
$$
\mathcal{D}\left(I_{y} ; \delta\right)=\left(I_{y} \otimes \kappa\right) \downarrow_{s}+n_{\zeta},{\kappa, s, \zeta} \subset \delta
$$
$I_{y} \otimes \kappa$ 表示HR图片与模糊核(blur kernel)k的卷积操作,下箭头表示下采样,$n_{\zeta}$ 表示方差为$\zeta$ 的白高斯噪声。


目前大多数的数据库,产生LR图像的方法是直接对SR图像做一些下采样(双三次插值算法(bicubic interpolation)),同时对图片作抗锯齿(anti aliasing),去模糊等操作(blur) 。关于下采样,上采样的一些方法可以看 这个课件,或这里

关于超分问题,我们更关注的是如何由低分辨率的图片得到高分辨率的图片,即:
$$
\hat{I}_{y}=\mathcal{F}\left(I_{x} ; \theta\right)
$$
其中$\mathcal{F}()$ 为超分模型,由低分辨率图片生成高分辨率的图片。

对于一个典型的超分辨率问题来说,我们需要从一个LR图像中恢复出它的HR版本。模型的目标是最小化我们恢复出来的图片与原始HR图片的差距,目标方程如下:
$$
\hat{\theta}=\underset{\theta}{\arg \min } \mathcal{L}\left(\hat{I}_{y}, I_{y}\right)+\lambda \Phi(\theta)
$$
其中$\mathcal{L}\left(\hat{I}_{y}, I_{y}\right)$ 为生成的HR图像与原始图像的Loss,公式尾项是一个正则项。目前使用较多的loss为像素级别的MSE loss,同时一些组合型的loss也经常被使用。引入正则项的目的是控制参数的变化,使得网络更容易收敛。正则项可以看这里。


Benchmark dataset

在一个典型的超分辨率的文章中,通常需要对一些公开数据集上进行试验,在这些公开数据集上的效果指标作为这个算法性能的评价标准。主要使用的数据集有:


Image Quality Assessment

图片质量的评价是一个与感知,视觉相关的问题。通常存在客观和主观的两类方法。其中客观方法根据指标计算模型直接计算得出,如MSE。主观方法则与人们的感知更为接近。下面介绍一下常用的评价方法。

Peak Signal-to-Noise Ratio(峰值信噪比)

峰值信号比是一种图像的客观评价标准。他用最大值信号与背景噪声信号(重建与原始信号的差)的比值作为评价标准:
$$
\begin{aligned} \operatorname{MSE} &=\frac{1}{N} \sum_{i=1}^{N}(I(i)-\hat{I}(i))^{2} \ \operatorname{PSNR} &=10 \cdot \log _{10}\left(\frac{L^{2}}{\mathrm{MSE}}\right) \end{aligned}
$$
其中L为图像点颜色的最大数值,若采样点采样8位表示,那么L = 255。该指标更加注重像素点之间的误差。典型的PSNR值在20到40之间。指标越高越好。

但是由于PSNR指标更多的放映相同位置上像素值的差异,而未考虑到人眼的视觉感知,因此作为质量评价指标是存在缺陷的。但这个指标仍是目前使用最多的一个指标。

人眼视觉特征

  1. 对空间频率较低的对比差异敏感度高
  2. 人眼对亮度对比差异的敏感度较色度高
  3. 人眼对一个区域的感知结果会影响到周围邻近区域

SSIM(Structural Similarity 结构相似性)

SSIM分别从亮度,对比度,结构三个方面度量图片的相似性。

首先计算图片的mean和variance:
$$
\begin{aligned} \mu_{I} &=\frac{1}{N} \sum_{i=1}^{N} I(i) \ \sigma_{I} &=\left(\frac{1}{N-1} \sum_{i=1}^{N}\left(I(i)-\mu_{I}\right)^{2}\right)^{\frac{1}{2}} \end{aligned}
$$
亮度(luminance)指标($\hat{I}$ 指生成的图片):
$$
\mathcal{C}_{l}(I, \hat{I})=\frac{2 \mu_{I} \mu_{\hat{I}}+C_{1}}{\mu_{I}^{2}+\mu_{\hat{I}}^{2}+C_{1}}
$$
对比度(contrast)指标:
$$
\mathcal{C}_{c}(I, \hat{I})=\frac{2 \sigma_{I} \sigma_{\hat{I}}+C_{2}}{\sigma_{I}^{2}+\sigma_{\hat{I}}^{2}+C_{2}}
$$
结构对比度(structure comparison)指标:
$$
\begin{aligned} \sigma_{I \hat{I}} &=\frac{1}{N-1} \sum_{i=1}^{N}\left(I(i)-\mu_{I}\right)\left(\hat{I}(i)-\mu_{\hat{I}}\right) \ \mathcal{C}_{s}(I, \hat{I}) &=\frac{\sigma_{I \hat{I}}+C_{3}}{\sigma_{I} \sigma_{\hat{I}}+C_{3}} \end{aligned}
$$
其中$C_1 = (K_1L)^2$,$C_2 = (K_2L)^2$,$C_3 = C_2 / 2$。

SSIM的指标有三面三个指标组合而成:
$$
\operatorname{SSIM}(I, \hat{I})=\left[\mathcal{C}_{l}(I, \hat{I})\right]^{\alpha}\left[\mathcal{C}_{c}(I, \hat{I})\right]^{\beta}\left[\mathcal{C}_{s}(I, \hat{I})\right]^{\gamma}
$$
通常使用下面这个形式:
$$
\operatorname{SSIM}(I, \hat{I})=\frac{\left(2 \mu_{I} \mu_{\hat{I}}+C_{1}\right)\left(\sigma_{I \hat{I}}+C_{2}\right)}{\left(\mu_{I}^{2}+\mu_{\overline{I}}^{2}+C_{1}\right)\left(\sigma_{I}^{2}+\sigma_{\tilde{I}}^{2}+C_{2}\right)}
$$
一般的,$k_1 = 0.01,k_2 = 0.03, L =255$。

此外还有一些主观的评价方法(mean opinion score),利用志愿者对生成图片的质量进行五个等级的评价,来确定图片的质量。

对于图片的颜色空间来说,常用的颜色空间有RGB空间与YCbCr。


基于有监督的超分辨率方法

超分辨率框架分类

超分辨率框架总结下来有以下四种:

  1. Pre-upsampling Super-resolution
  2. Post-upsampling Super-resolution
  3. Progressive Upsampling Super-resolution
  4. Iterative Up-and-down Sampling Super-resolution

如下图:

Pre-upsampling Super-resolution

该方法在将图片送入网络前先用传统方法进行图片的放大(bicubic interpolation上采样),将图片放大到输出的要求大小,然后送入CNN网络中,学习一个端到端的从LR到HR的映射。

该方法的优点在于神经网络仅需要学习一张粗糙的(传统方法放大的)图片到HR图片的映射,大大降低了网络学习的难度;同时这种结构可以任意控制图片放大倍数。该方法框架也成为了一种较为主流的框架。

该方法的缺点在于:传统的图片放大算法中通常需要包含去噪,去模糊等操作,需要花费很大的时间以及空间。


Post-upsampling Super-resolution

该方法将LR到HR的整个过程作为网络学习的目标,上采样层在网络的末端,这种设计可以极大发挥网络的潜力,同时能够显著降低网络训练时消耗的时间与空间。在train和inference阶段速度带来了很大的提升。

缺点:仅通过一个upsample层来放大图片,使得网络学习的难度大大提升;由于upsample层的放大尺度是固定的,如果更换一个倍数,就要更换一个训练模型。


Progressive Upsampling Super-resolution

渐进式的上采样可以解决上诉post结构的问题(例如LapSRN网络 laplacian pyramid SR network)。该结构采用许多CNN的级联结构,每个阶段进行一个上采样重构HR,生成放大2倍,4倍,8倍等结果。

该模型的缺点是结构复杂,训练难度大等等。


Iterative Up-and-down Sampling Super-resolution

该结构反复的放大,缩小图片,试图学习到一种后映射(back projection)的关系,该模型可以很好的学习到LR与HR之间的映射关系。基于该框架的网络DBPN也获得了NTIRE 2018的冠军。尽管这种up-down的结构设计标准还未确定,DBPN网络中存在着大量的复杂的结构设计以及繁重的人工设计过程,但是这种结构有很大的研究潜力。还需要进一步探索。

传统插值算法

  1. 最近邻插值
  2. 线性插值
  3. 双三次插值

详见这里