文献阅读 Image Super-Resolution Using Deep Convolutional Networks
论文信息:http://arxiv.org/abs/1501.00092
介绍
单图像超分辨率(SR)是一个图像处理领域的经典问题,即从低分辨率图像(LR)中重建高分辨率图像(HR)。显然该问题方案不唯一,需要先验信息来约束。主要的超分辨率方法有三类,基于插值的、重建的、基于示例的。当前主流的方法是基于示例的,利用给定的样例来学习高频细节。其中又分为两个类别,一种是基于内部相关性的,另一个是基于外部数据集的。
基于外部示例方法之中,代表性的稀疏编码方法需要多个步骤,首先把图像分割成小块,然后用低分辨率字典编码,再把得到的系数用高分辨率字典还原。该方向主要研究优化字典和高效的映射函数。
本文展示了上述流程等价于一个 Deep CNN。本文直接设计了一个从低分辨率图像到高分辨率图像的端到端网络,没有显式的字典学习,也没有显式的补丁提取和聚合,是直接学习得到的,几乎没有前后处理。
该方法有以下几个优点:
- 虽然很简单,但效果出众,完全前馈的,跑的很快。
- 可以很方便的在大型数据集上训练,得到更好的效果。
- 可以在 RGB 通道上同时处理,效果还能提。
相关工作
SR 方法可以分成四类:预测模型、边缘算法、图像统计方法、基于块(示例)的方法,当前基于示例的方法最好。基于示例的方法利用自相似特性,并从输入图像。基于外部的方法,主要研究怎么让字典或者流形更紧凑,以及如何在这些空间上表示 patch。
Freeman 2000 的工作最早指出,字典就是高分辨率和低分辨率对,匹配即低分辨率空间中最近邻。后面还有更复杂的稀疏编码公式,有流形嵌入技术、随机森林等等,意在提高映射精度和速度。这些方法主要研究怎么提取 patch,进行多步的预处理和后处理。
很多工作专注于单通道和灰色图像,彩色图像就转化 YCbCr,并仅在亮度上使用 SR;部分结果考虑了 RGB 多通道,但也没有分析不同通道的性能和恢复三个通道的必要性。
ReLU 和 GPU 训练的技术使得更深的 CNN 得以实现,在图像分类上大获成功。
已经有一些深度学习的图像恢复研究,主要是全连接的 MLP 网络,主要用于自然图像降噪和雨水污垢降噪,也有基于内部示例的方法中有应用神经网络,但是并不是端到端的。本论文创新的使用端到端的 CNN 来训练,取得速度和质量上的双重进步。
CNN 超分辨率
对于低分辨率图像,使用双三次插值将其放大,使其与输出图片对齐,这是唯一的预处理。(本文提到双三次插值也是卷积,但好像当年 cuda 不好跑这个,所以是预处理,现在 pytorch 可以直接跑)。
接下来我们需要三个步骤:patch 提取,非线性映射,重建。本文将依次说明这都是卷积。
patch 提取
传统提取 patch 就是把图片切成密集的小块,然后用预训练的基来表示他们(如 PCA、DCT、Haar),因此可以被看作一个滤波器的卷积
其中 是一个 的 个滤波器,其中 是图片通道数, 是滤波器的空间大小,卷积核大小为 。输出 个特征图,也就是 维度的向量。
非线性映射
第一层给每个图像块提取 维度特征,第二步我们把它映射为 维度的向量。
其中, 是 个 个参数的滤波器。
重建
在传统方法中,是根据预测出的重叠高分辨率补丁进行平均,这也可以看作一个卷积。
这里 对应于大小为 的 个滤波器。
对比系数编码方案
稀疏编码方案也差不多,求出特征向量,然后用尽量少的基向量表示。一般这是一个优化问题
最好情况下是选取 ,而这是一个 NP-hard 的问题,所以退而求其次的选择 范数。求解需要梯度法、匹配法等迭代方法。
训练
学习端到端映射函数 需要估计网络参数 ,因此本文采用均方误差 MSE 作为损失函数
使用 MSE 有利于获得更高的 PSNR,不过 SSIM 指标也不错。
训练采用随机裁剪 并使用高斯模糊降低分辨率的方法。另外,由于经过滤波器边界会变小,所以仅对中心图片算 Loss。
评估
训练数据
分别 使用 91 张小训练集,和 ImageNet 的 395909 张图片作为大训练集上进行训练。基线 SC 的指标是 31.42dB,小训练集上得到 32.39 dB,ImageNet 上得到 32.52 dB。
使用大训练集能提高网络的指标,但是没有那么有用。另一方面网络参数只有 8032 个参数,甚至对比 91 个图片都是不会过拟合的。
超分辨率滤波器
作者似乎观察到了每个滤波器的用途,有 Laplacian/Gaussian 滤波器,有边缘及纹理提取滤波器。
模型以及性能权衡
模型采用 ,PSNR 是 32.52 dB,运行时间 0.18s。
参数 扩大一倍,运行时间在 0.60s,PSNR = 32.60。缩小一倍则仅需 0.05s,PSNR = 32.26。
如果增大滤波器大小 ,也能获得相似的效果提升,但是比起性能降低太多了。
当前的网络是 9-1-5,作者尝试了更深的网络 9-1-1-5,其收敛更慢,但是效果没有显著改进。
关于通道数,同时在 YCbCr 上训练还不如双三次插值。RGB 三通道略微比默认方法仅 Y 通道好一点。总的来说仅 Y 通道可以在性能和效果上取得平衡。