SISR是一个逆问题,对于一个低分辨率图像,可能存在许多不同的高分辨率图像与之对应,因此通常在求解高分辨率图像时会加一个先验信息进行规范化约束。
SISR方法:
1)基于插值的方法(在大尺度因子上的表现很差)
2)基于重构的方法(在大尺度因子上的表现很差)
3)基于实例的方法(主要方法)
对于图像超清这个问题来说,存在一个关键性的问题,即一张低清图像可能对应着多张高清图像,那么问题来了。
我们把低分辨率图像中需要高清化的部分分成A,B,C,D等几个部分,那么A可能对应A1,A2,A3,A4,B对应B1,B2,B3,B4,以此类推。假设A1,B1,C1,D1对应一张完美的高清图片。那么现有的算法可能生成的是A1,B2,C3,D4这样的混搭,从而导致生成的高清图像模糊。
为了解决上述问题,需要在生成图像的同时引入先验知识。画家在拥有了人脸的知识之后,就可以画出令人信服的高清细节。类比到图像超清问题中,先验知识即是告知算法该选择哪一种高清结果。
在图像超清问题中,这样的知识体现为让像素之间有相互依赖的关系。这样,就可以保证A、B、C、D四个不同的部分对于高清版的选择是一致的。
SRGAN:
感知损失L(SR) = 内容损失 + 对抗损失
内容损失二选一:
1)MSE(像素空间)
2)基于训练好的以ReLu为激活函数的损失函数(特征空间)
生成器网络中的残差块为16个。
在生成网络中,作者应用了分布相同的B残差块,每个残差块都有两个卷积层,卷积层后面加上batch-normalization,并用PReLU作为激活函数。卷积层的卷积核都是3×3,并有64个特征图。在这个网络里面,作者通过训练两个子像素卷积层来提高分辨率。
最后,对内容损失分别设置成基于均方误差、基于VGG模型低层特征和基于VGG模型高层特征三种情况作了比较
结论:在基于均方误差的时候表现最差,基于VGG模型高层特征比基于VGG模型低层特征的内容损失能生成更好的纹理细节
ESRGAN:
增强型的SRGAN
一、改进点与创新点:
1、引入残差密集块,并且将残差密集块(RRDB)中的残差作为基本的网络构建单元而不进行批量归一化(有助于训练更深的网络)。
使用残差缩放(residual scaling)
2、借用相对GAN的思想,让判别器判断的是相对真实性而不是绝对真实度 (RaGAN)。相对平均GAN学习判断“是否一个图像相比于另一个更真实”而不是“是否一个图像是真或假”
3、利用VGG的激活前的特征值改善感知损失,会使得生成的图像有更加清晰的边缘(为亮度的一致性和纹理恢复提供更强的监控)
二 、算法的提出
目的:提高SR的总体感知质量
网络中的G的改进:
1)去掉BN层 2)使用残差密集块(RRDB)代替原始基础块,其结合了多残差网格和密集连接。
去掉BN层有助于增强性能和减少计算复杂度,并且当测试数据和训练数据存在差异很大时,BN有可能会引入伪影,从而限制网络的泛化能力。
仍然使用SRGAN的高级设计架构,但是会引入基本块RRDB。由于更多的层和更多的连接总会提高网络性能。RRDB比residual block拥有更深更复杂的结构。RRDB拥有residual-in-residual结构,残差学习应用于不同的层。但是本次是在多残差中使用了密集块
新的方式训练网络: 1)使用残差缩放 2)使用较小的初始化
参考自:https://blog.youkuaiyun.com/qxqsunshine/article/details/85223123