Chao Dong、Xiaoou Tang 等首次将卷积神经网络(CNN)用于图像超分辨,并将这种只有三层的 CNN 命名为 SRCNN(Convolutional Neural Networks for SuperResolution)。首先将高分辨率图像缩小至相应倍数,再通过 bicubic 插值放大为目标尺寸。第一层网络对输入的低分辨率图像进行特征提取,第二层网络进行非线性映射,第三层输出仅有一张特征图,即为重建得到的高分辨率图像。这种网络结构简单,未使用池化层和全连接层;卷积核越大,实验效果越好。
我的理解(拙见),这三层卷积应该称为“重建网络”更为恰当,因为在进行卷积之前,已经先用了BICUBIC将LR变为HR,已经进行了分辨率提高这一步骤。这三层卷积主要在高维度进行特征提取和重建。
由于 SRCNN 网络层数少,感受野小,训练收敛慢,Jiwon Kim 等基于残差学习和梯度裁剪,利用 20 层的卷积网络实现针对不同放大尺度的图像超分辨模型,命名为 VDSR(Very Deep convolutional networks for Super-Resolution)。VDSR使用比 SRCNN 大 104 倍的学习率,使用跳跃连接将输入与学习到的残差融合生成高分辨率图像,每个卷积层卷积核尺寸为 3 × 3,输入与输出尺寸一致。VDSR 越深效果越好,随着深度的增加,PSNR 更早地达到稳定值;使用残差网络,仅迭代几轮,网络就能达到很好的效果。
拉普拉斯金字塔网络(Laplacian Pyramid Super-Resolution Network,LapSRN)采用级联的残差网络,在特定的层输出残差结果,逐步学习。网络由两个分支,分别用于提取特征和重建,特征提取网络将提取到的特征(残差)送入重建网络,重建网络逐级融合特征,上采样得到高分辨率图像。这种方法基于上述模型定义新的损失函数。其中,x 代表低分辨率图像,y 代表高分辨率图像,r 是残差,s 代表当前运算在某个 scale 进行,L 是总 scale 数,ρ 代表偏微分。特征提取分支主要关注高频细节(图中的边边角角),图像重建分支主要在上采样提高分辨率的基础上,利用特征提取分支的结果来弥补高频细节。
生成对抗网络的生成器由许多残差网络和两个上采样器组成,它尽可能生成真实的图片去“欺骗”判别器,判别器尽可能判断图片是来自生成器还是来自原图,两者形成对抗,当生成器生成的图像能骗过判别器,那么这个生成器就合格了。由于传统方法使用 MSE 损失函数容易使恢复后的图像细节过于平滑,缺少细节,GAN 则可以生成更逼真的细节。SRGAN 使用感知损失和对抗损失来恢复图片的真实感。感知损失即比较重建后的图片和原图的差别;对抗损失即生成网络和对抗网络的博弈。虽然SRGAN 的 PSNR 和 SSIM 等指标较低,但视觉效果明显优于其他算法,细节保留较好。
超深卷积神经网络能提取分层特征,但大部分深度神经网络模型并不能很好地从原始低分辨图像中利用中间层的特征。密集残差超分辨网络(Residual Dense Network for Image Super-Resolution,RDN)通过密集连接的卷积层提取丰富的局部特征。普通残差网络融合输入和输出特征,而密集连接网络内部每一层输出可以连接前面所有层的输出(从而形成一个连续内存机制。利用RDB(Residual Dense Block)中的局部特征融合,每层网络自适应地从之前和当前局部特征中学习到更有效的特征,从而稳定网络训练。在充分获取密集的局部特征后,利用全局特征融合,对全局层次特征进行整体联合自适应学习。
残差通道注意力网络(Residual Channel Attention Networks,RCAN)是对残差网络的进一步探索。简单地将残差模块进行拼接不能带来更好的效果,且网络越深越难训练,低分辨率输入图像包含较多低频信息,如果不加挑选地对待高低频信息,网络的性能很难提高。通道注意力机制通过考虑通道之间的相互依赖关系自适应调整通道特征,忽略大量低频信息,允许网络的主要部分专注于学习高频信息。网络的主要部分是级联的残差组,每个残差组中包含级联的残差通道注意力模块。残差通道注意力模块是一种改进的残差模块,引入了通道注意力机制。Rg,b 代表通道注意力函数,Fg,b 和 Fg,b-1 代表通道注意力模块的输出和输入,模块从输入中学习残差 Xg,b。
生成对抗网络(Generative Adversarial Networks,GAN)的生成器接收一个随机噪声,通过噪声生成图片。在理想状态下,生成器能生成足以以假乱真的图片 G(z),判别器难以判定图片究竟是不是真实的。生成对抗网络的交叉熵损失
其中 x 表示真实图像,z 表示输入生成器 G 的噪声,G(z) 代表 G 生成的图像;D(x)代表判别网络 D 判断真实图片是否真实的概率,D(G(z)) 是 D 判断 G 生成的图片是否真实的概率。G 的目的是希望 D(G(z)) 尽可能大,V (D, G) 尽可能小。而 D 的目的是希望 D(x) 尽可能大,D(G(z)) 尽可能小,V (D, G) 尽可能大。由此可见,D 希望损失越大越好,G 希望损失越小越好。
条件生成对抗网络(Conditional Generative Adversarial Networks,cGAN)为生成器、判别器都额外加入了一个条件,这个条件指定了生成图像的特征。生成器 G必须生成和条件 y 匹配的样本,判别器 D不仅要判别图像是否真实,还要判断图像和条件 y 是否匹配。cGAN 的交叉熵损失变为
Phillip 等用 cGAN 进行图像风格迁移:将输入的遥感图像变为地图,将漫画风格的房屋变为真实照片的房屋,将灰白色的花变成彩色的,为素描画上色。同样,这种图像风格迁移模型能将模糊的图像变为清晰的图像。相比作为条件的图像,原 cGAN 中的输入噪声可忽略不计,因此生成器的输入只有一张作为条件的图像。损失函数定义为
其中,LcGAN 中各字母定义与 V (D, G) 中相同,L1 损失指真实图像 x 与生成的图像 G(y) 之间的差值。用 L1 损失可加快模型收敛并提高生成图像的精度。
可见,一版的GAN生成器输入的是噪声,而cGAN的输入是一张图片,要求生成具有这张图片特征的新图片。对抗使得生成器生成的图片能够以假乱真。