用户:Floweronhead/沙盒

维基百科,自由的百科全书

超解析度成像(Super-resolution imaging,缩写SR),是一种提高影片解析度的技术。在一些称为“光学SR”的SR技术中,系统的绕射极限被超越;而在其他所谓的“几何SR”中,数位感光元件的分辨率因而提高。超解析度成像技术用于一般图像处理和超高解析度显微镜。


小波变换相关技术[编辑]

在2000年以来,小波变换的技术被使用在提高影像的解析度。

DASR[1][编辑]

DASR (Demirel-Anbarjafari Super Resolution)是使用离散小波变换(Discrete wavelet transform)来进行超解析度成像的方法。当时,超解析度成像通常是以内插影像的像素值来完成,而作者认为,对影像中的高频部份进行内插是造成品质降低的主要理由,因为内插高频部份让物体的边界变得模糊且平滑,于是提出使用离散小波变换的算法来减轻这个问题。

影像可以表示成二维的讯号,经过二维的离散小波变换,可以被分解成四个不同频段的影像,分别是:low-low (LL), low-high (LH), high-low (HL) 和 high-high (HH),各自代表在不同维度是高频或低频,举例来说,LH就是在原影像的第一维(x轴)是低频而在第二维(y轴)是高频的分解后结果。


深度神经网路相关技术[编辑]

随著神经网路的流行,相关技术也被应用在提高图片解析度。

SRCNN[2][编辑]

SRCNN ( Super-resolution convolution neural network )是一个神经网路,输入是一个低解析度(视觉上)的图像,而输出是一个高解析度的图像,这里需要注意的是,在将图像喂进神经网路前,需要先经过一个预处理bicubic interpolation,将原始图片变成跟想要的高解析度图像一样大小后,再喂进神经网路中。而神经网路做的事情,主要分成三个步骤区块特征抽取与表达(Patch extraction and representation)、非线性对应(non-linear mapping)以及重建(reconstruction)。

区块特征抽取与表达(Patch extraction and representation)[编辑]

这一步就如同一般的CNN ( convolution neural network ),只是没有经过max-pooling,公式如下。

代表已经经过bicubic interpolation的图像,则为这层神经网路的输出,代表的filter(是图像的channel数量,而则为filter的大小),代表卷积(convolution),是偏移量(bias),最后的则代表激活函数RELU。

非线性对应(non-linear mapping)[编辑]

非线性对应,基本上就是持续利用一般CNN的方式将前一步每一块的维的特征向量,分别转换成维的特征向量,公式如下。

重建(reconstruction)[编辑]

在重建的步骤中,我们要考虑的是每一个像素所要的值是多少,这个步骤可以想成在多个相关的高维度的特征向量中,取一个平均,很凑巧的,这刚好也很像一般的卷积层(convolution layer),公式如下。

训练方法[编辑]

在SRCNN中所采用的差异函数(Loss Function)是简单的平均方根差(Mean Square Error),定义为重建后的相片每一个像素与真正的图片的每一个像素的差异,公式如下。

为SRCNN的参数,为给定的SRCNN重建的图像,则为真正的高解析度图像,为拿来训练神经网路的图像数量或者是一个batch中所有的图像数量。

"Perceptual Losses for Real-Time Style Transfer and Super-Resolution"[3][编辑]

这篇论文提供了一个做法,可以应用在图像风格转移(Style Transfer)以及超高解析度(Super-resolution)。

整个系统由两个神经网路组成,其中一个是图像转移网路,另一个则是可以用来定义各种差异的差异网路

图像转移网路[编辑]

图像转移网路的输入为一张图像,输出也是一张图像,而这个网路的参数以表示。

这个图像转移网路由5个residual block[4]所组成,而所有非residual的convolution layer后面都会接上batch normalization。激活函数(activation function)的部分,除了在最后的输出层(output layer)使用scaled tanh使得输出的数值在0到255之间,其他都是使用RELU。

convolution layer的filter(kernel)的数量上,第一层和最后一层使用个,其他层则是使用个。

差异网路[编辑]

差异网路定义了各种差异函数(loss function),输入为两张图像,一张来自图像转移网路,一张则是真正的高解析度影像,输出为一个实数(scalar)。

而这篇论文所使用的差异网路是16层的VGG网路[5],并事先利用Image Net训练过。差异函数的部分,使用了两个不同于传统简单的差异函数。(CHW代表feature map各个维度的数值)

特征重建差异(Feature Reconstruction Loss)[编辑]

这个差异函数的设计理念在于,当我们在看两张图片像不像时,我们并不是一个一个像素的比较,而是比较两张图片中的特征像不像。因此,他拿差异网路中某一层的输出,当作一个图片特征值,再以两张图片的特征值的Euclidean Distance当作差异。

风格重建差异(Style Reconstruction Loss)[6][7][编辑]

除了一般的特征以外,我们也会需要图像转移网路正确的重建颜色、材质等等的内容,因此必须再加上风格重建差异函数。 在定义风格重建差异之前,我们先定义Gram矩阵

接著差异函数就可以定义为

而一般比较每一个像素差异的差异函数,则可以写为

有了这两个网路后,训练图像转移网路的方法则是最小化各式差异函数的权重和(weighted sum),优化的方法是梯度下降法(Stochastic Gradient Descent(l()是差异函数(loss function)))。

这篇论文在高解析度图像这个传统问题上,给了一个快速且有效的解法,快速的原因在于,在遇到一张新的图片时,只需要把图像喂进图像转移网路就好(一次forward pass)。而在结果上,也大大的超越了之前的做法(一样使用深度神经网路)SRCNN。

参见条目[编辑]

参考资料[编辑]

  1. ^ Gholamreza Anbarjafari Hasan Demirel. Image Super Resolution Based on Interpolation of Wavelet Domain High Frequency Subbands and the Spatial Domain Input Image. ETRI Journal. 2010, (Volume 32). 
  2. ^ Chao, Dong; Chen Change, Loy; Kaiming, He; Xiaoou, Tang. Image Super-Resolution Using Deep Convolutional Networks. 2015-05-27. arXiv:1501.00092可免费查阅. 
  3. ^ Johnson, Justin; Alahi, Alexandre; Fei-Fei, Li. Perceptual Losses for Real-Time Style Transfer and Super-Resolution. 2016-03-26. arXiv:1603.08155可免费查阅. 
  4. ^ Kaiming, He; Xiangyu, Zhang; Shaoqing, Ren; Jian, Sun. Deep Residual Learning for Image Recognition. 2015-12-10. arXiv:1512.03385可免费查阅. 
  5. ^ Karen, Simonyan; Andrew, Zisserman. Very Deep Convolutional Networks for Large-Scale Image Recognition. 2014-09-04. arXiv:1409.1556可免费查阅. 
  6. ^ Leon A., Gatys; Alexander S., Ecker; Matthias, Bethge. Texture Synthesis Using Convolutional Neural Networks. 2015-05-27. arXiv:1505.07376可免费查阅. 
  7. ^ Leon A., Gatys; Alexander S., Ecker; Matthias, Bethge. A Neural Algorithm of Artistic Style. 2015-05-27. arXiv:1508.06576可免费查阅.