
_START_ARTICLE_
超解析度成像
_START_SECTION_
深度神经网络相关技术
_START_PARAGRAPH_
随着神经网络的流行，相关技术也被应用在提高图片分辨率。
_START_SECTION_
SRCNN
_START_PARAGRAPH_
SRCNN ( Super-resolution convolution neural network )是一个神经网络，输入是一个低分辨率（视觉上）的图像，而输出是一个高分辨率的图像，这里需要注意的是，在将图像喂进神经网络前，需要先经过一个预处理bicubic interpolation，将原始图片变成跟想要的高分辨率图像一样大小后，再喂进神经网络中。而神经网络做的事情，主要分成三个步骤区块特征抽取与表达（Patch extraction and representation）、非线性对应（non-linear mapping）以及重建（reconstruction）。
_START_SECTION_
区块特征抽取与表达（Patch extraction and representation）
_START_PARAGRAPH_
这一步就如同一般的CNN ( convolution neural network )，只是没有经过max-pooling，公式如下。_NEWLINE_代表已经经过bicubic interpolation的图像，则为这层神经网络的输出，代表个的filter（是图像的channel数量，而则为filter的大小），代表卷积（convolution），是偏移量（bias），最后的则代表激活函数RELU。
_START_SECTION_
非线性对应（non-linear mapping）
_START_PARAGRAPH_
非线性对应，基本上就是持续利用一般CNN的方式将前一步每一块的维的特征向量，分别转换成维的特征向量，公式如下。
_START_SECTION_
重建（reconstruction）
_START_PARAGRAPH_
在重建的步骤中，我们要考虑的是每一个像素所要的值是多少，这个步骤可以想成在多个相关的高维度的特征向量中，取一个平均，很凑巧的，这刚好也很像一般的卷积层（convolution layer），公式如下。
_START_SECTION_
训练方法
_START_PARAGRAPH_
在SRCNN中所采用的差异函数（Loss Function）是简单的平均方根差（Mean Square Error），定义为重建后的相片每一个像素与真正的图片的每一个像素的差异，公式如下。_NEWLINE_为SRCNN的参数，为给定的SRCNN重建的图像，则为真正的高分辨率图像，为拿来训练神经网络的图像数量或者是一个batch中所有的图像数量。
_START_SECTION_
"Perceptual Losses for Real-Time Style Transfer and Super-Resolution"
_START_PARAGRAPH_
这篇论文提供了一个做法，可以应用在图像风格转移（Style Transfer）以及超高分辨率（Super-resolution）。_NEWLINE_整个系统由两个神经网络组成，其中一个是图像转移网络，另一个则是可以用来定义各种差异的差异网络。
_START_SECTION_
图像转移网络
  
    
      
        
          f
          
            W
          
        
      
    
    {\displaystyle f_{W}}
_START_PARAGRAPH_
图像转移网络的输入为一张图像，输出也是一张图像，而这个网络的参数以表示。_NEWLINE_这个图像转移网络由5个residual block所组成，而所有非residual的convolution layer后面都会接上batch normalization。激活函数（activation function）的部分，除了在最后的输出层（output layer）使用scaled tanh使得输出的数值在0到255之间，其他都是使用RELU。_NEWLINE_convolution layer的filter（kernel）的数量上，第一层和最后一层使用个，其他层则是使用个。
_START_SECTION_
差异网络
  
    
      
        ϕ
      
    
    {\displaystyle \phi }
_START_PARAGRAPH_
差异网络定义了各种差异函数（loss function），输入为两张图像，一张来自图像转移网络，一张则是真正的高分辨率影像，输出为一个实数（scalar）。_NEWLINE_而这篇论文所使用的差异网络是16层的VGG网络，并事先利用Image Net训练过。差异函数的部分，使用了两个不同于传统简单的差异函数。（CHW代表feature map各个维度的数值）
_START_SECTION_
特征重建差异（Feature Reconstruction Loss）
_START_PARAGRAPH_
这个差异函数的设计理念在于，当我们在看两张图片像不像时，我们并不是一个一个像素的比较，而是比较两张图片中的特征像不像。因此，他拿差异网络中某一层的输出，当作一个图片特征值，再以两张图片的特征值的Euclidean Distance当作差异。
_START_SECTION_
风格重建差异（Style Reconstruction Loss）
_START_PARAGRAPH_
除了一般的特征以外，我们也会需要图像转移网络正确的重建颜色、材质等等的内容，因此必须再加上风格重建差异函数。_NEWLINE_在定义风格重建差异之前，我们先定义Gram矩阵。_NEWLINE_接着差异函数就可以定义为_NEWLINE_而一般比较每一个像素差异的差异函数，则可以写为_NEWLINE_有了这两个网络后，训练图像转移网络的方法则是最小化各式差异函数的权重和（weighted sum），优化的方法是梯度下降法（Stochastic Gradient Descent（l()是差异函数（loss function）））。_NEWLINE_这篇论文在高分辨率图像这个传统问题上，给了一个快速且有效的解法，快速的原因在于，在遇到一张新的图片时，只需要把图像喂进图像转移网络就好（一次forward pass）。而在结果上，也大大的超越了之前的做法（一样使用深度神经网络）SRCNN。