BSRGAN | 一种针对真实图像退化的盲图像超分模型
1. 摘要
众所周知,当图像超分的预假设退化模型与真实图像的退化方式不匹配时,模型的性能会出现性能下降,甚至负面效果现象。尽管已有集中退化模型考虑的额外的影响因素(比如模糊核以及程度),但是它们仍然无法有效覆盖真实图像的多样性退化方式。
为解决该问题,本文设计了一种更复杂但实用的退化模型,它包含对模糊、下采样以及噪声退化的随机置换(也就是说每种退化对应多种类型,且顺序会进行随机调整)。具体来说,模糊退化通过两个卷积(各向同性与各向异性高斯模糊)进行模拟;下采样从最近邻、双线性以及双三次插值中随机挑选;噪声则通过不同噪声水平的高斯噪声、不同压缩质量的JPEG压缩、逆转ISP生成的传感器噪声等。
为验证所设计的新的退化模型的有效性,我们训练了一个深度盲ESRGAN超分模型并将其对不同退化的合成、真实图像进行处理。实验结果表明:新的退化模型有助于显著提升深度超分模型的实用性,为RealSR应用提供了一种有效的解决方案。
本文的主要贡献包含以下几点:
- 提出了一种针对SISR的实用退化模型,它考虑并设计了更复杂的退化空间;
- 基于上述所设计的退化模型合成的训练数据训练了盲SISR,所得模型在不同类型真实退化数据上取得了非常好的效果;
- 据我们所知,本文是首个针对广义盲超分采用手工方式设计退化模型的方案;
- 本文突出了精确的退化模型对于DNN-SRSR实用的重要性。
论文: https://arxiv.org/abs/2103.14006
代码: https://github.com/cszn/BSRGAN
2. 前人的工作总结
由于本文主要聚焦于“如何设计一种实用退化模型”并用于训练深度盲SISR模型。所以我们先来看一下已有退化模型存在的问题,然后再引出本文的方案。
现有的图像超分大多采用bicubic或者blur-down方式制作训练数据;稍微复杂点的则采用模糊、下采样、噪声组合的方式。噪声往往假设为加性高斯白噪声,它往往难以匹配真实图像的噪声分布;事实上,噪声往往源于传感器噪声和JPEG压缩噪声,而这两种噪声通常具有信号依赖性、非均匀性。无论模糊退化精确与否,如果噪声不能有效匹配均会导致严重的超分性能下降。也就是说,现有的退化模型面对真实图像退化是仍有很大的改善空间。
除了上述人工模拟退化外,还有一些其他盲图像超分方案。大概有这么几个研究方向:
- 先对LR图像估计退化参数,然后采用非盲方案生成HR图像。然而非盲方案往往对退化误差非常敏感,因此生成的结果要么过度锐利、要么过度平滑;
- 同时进行模糊核与HR图像估计,比如IKC。然而这些方法并没有将噪声纳入考虑,往往导致不精确的模糊核估计,进而影响HR重建质量。
- 采用监督方式采集LR/HR数据对,比如RealSR、DRealSR。然而成对训练数据的收集成本非常高,同时所学习得到的模型会受限于LR域图像。
- 基于非成对训练数据,采用类似CycleGAN的思路进行模型的训练或者采用KernelGAN从Source域图像估计模糊核,然后对Source与Target两个域图像同时进行退化制作训练数据。尽管这类方法精确的退化模糊核估计非常关键,如果模糊核估计不准确会导致模型性能变得比较差。
- 据我们所知,尚无深度盲SISR可以直接用于广义图像超分。
3. 本文方法
在提出所设计的退化模型之前,我们再来看一下关于退化模型的几点影响因素:
- 从传统退化模型的角度来看,模糊、下采样以及噪声会影响真实图像的退化;针对此,一种可能的方式之提升退化模型空间,使得尽可能大并与真实退化尽可能接近。
- HR与LR可能均存在噪声与模糊,因此没有必要采用模糊/下采样/噪声生成LR图像;针对此,我们采用随机置换方式扩展退化空间。
- 传统退化模型的模糊核空间会随尺度变化,这使得实际大尺度因子确定比较棘手;针对此,我们可以利用小尺度的模糊核的分析计算设计大尺度因子。
- 尽管bicubic退化并不适用于真实LR图像,但是它可以用于数据增强,并且一种一种清洗和锐化图像的比较好的选择。针对此,对于大尺度因子我们可以在退化之前先执行一次bicubic下采样。
不失一般性,本文主要针对广泛采用的x2和x4两个尺度设计退化模型。接下来,我们将从四个角度(模糊、下采样、噪声以及随机置换策略)来介绍退化模型。
3.1 模糊
模糊是一种常用的图像退化。我们提出从HR与LR两个空间对模糊建模。一方面,传统的SISR退化先对HR进行模糊然后再下采样;另一方面,真实LR图像可能是模糊的,因此在LR空间进行模糊建模是可行的。
针对SISR,我们采用两个高斯模糊:$B_{iso}$ (表示各项同性高斯核)、$B_{ansio}$(表示各向异性高斯核)。考虑到HR与LR图像可以被两个模糊操作进行退化,模糊退化空间得到了极大的扩展。
在模糊核设计方面,尺寸在7×7, 9×9, ⋯ ,21×21之间均匀采样;各项同性高斯核的核宽从[0.1, 2.4] (x2)、 [0.1, 2.8] (x4)之间均匀采样;对于各项异性高斯核,旋转角度从[0, π]之间均匀采样,每个周长度从[0.5, 6] (x2)与[0.5, 8] (x4)之间均匀采样。采用Reflection填充以确保模糊输出的空间一致性。
3.2 下采样
在下采样方面,可能最直接的方法是最近邻插值。然而所得到的LR图像会存在朝左上角
0.5×(s−1) 像素不对齐问题。作为补救措施,我们采用2D线性网络插值方法将21×21各项同性高斯核的中心移动0.5×(s−1)像素,先卷积然后最近邻下采样,我们采用$D_{nearest}^s$表示这种类型的下采样。
此外,我们还采用的双三次与双线性插值方法,分别表示为$D_{bilinear}^s$, $D_{bicubic}^s$
。更进一步定义上下采样方法$D_{down-up}s=D_{down}D_{up}^a$,它先按照尺度s/a下
采样,然后按照尺度a上采样。这里的插值方法从双线性、双三次中随机选择,尺度a从[0.5,s]中采样。
很明显,上述四种下采样方法在HR空间具有模糊操作,而$D^s_{down−up}$ 可以对LR空间引入上采样模糊。在实际应用时,我们对上述四种下采样均匀采样选择并对HR图像下采样。
3.3 噪声
因其可以通过不用的源导致,真实图像中的噪声无处不在。除了广泛采用的高斯噪声外,我们所设计的退化模型还考虑了JPEG压缩噪声以及传感器噪声。接下来,我们将针对这三类噪声进行介绍。
3.3.1 高斯噪声
$N_G$当对噪声一无所知时,高斯噪声假设是一种最保守的选择。为合成高斯噪声,我们采用了3D零均值高斯噪声模型$N(0,Σ)$。该噪声模型具有两个特例:(1) 当$Σ=σ^2I$时,它退化后广泛采用的加性高斯噪声模型;(2) 当$Σ=σ^2I$时,它退化后广泛采用的灰度加性高斯噪声模型。在我们所设计的退化模型中,我们采用高斯噪声进行数据合成。具体来说,广义噪声与两种特殊情况的选择概率分别为0.2, 0.4, 0.4。对于σ来说,它从范围1/255, 2/255, ⋯ , 25/255 内均匀选择。
3.3.2 JPEG压缩噪声
$N_{JPEG}$在带宽与空间减少方面,JPEG是最广泛采用的图像压缩标准。对于高压缩情形,它带来了烦人的8x8块伪影/噪声。压缩程度会受到压缩因子影响,其范围为[0, 100]。当压缩质量大于90时,一般不会导致明显的伪影。在我们所设计的退化模型中,JPEG的质量因子从[30, 95]之间均匀选择。由于JPEG是最流程的图像格式,我们以概率0.75和1采用两个JPEG压缩,后者为最终的退化操作。
3.3.3 相机传感器噪声
$N_S$在数码相机中,输出图像由raw传感器数据经由ISP处理得到。Brooks等人设计了一种传感器噪声合成方法并成功的设计了一种有效的Raw图像降噪模型。如果ISP流水线不进行降噪,传感器噪声会引入非高斯噪声恶化输出图像。为合成这类噪声,我们通过逆ISP流水线得到raw图像,并添加传感器噪声到合成raw图像。 按照AdobeDNG方案,这里的前向ISP流水线包含去马赛克(采用matlab中的demosaic)、曝光补偿(全局尺度从[$2^{−0.1}$, $2^{0.3}$]选择)、白平衡(红蓝增益从[1.2, 2.4]中均匀选择)、XYZ(D50)颜色空间转换(raw数据头信息中抽取)、RGB颜色空间转换、色调映射(手动选择最佳拟合曲线)、gamma校正等。注:我们以概率0.25执行该噪声合成操作。
3.4 随机置换
尽管传统的退化模型简单、方便,但难以覆盖真实LR图像的退化空间。一方面,真实LR图像可以是HR图像的噪声、模糊、下采样以及JPEG压缩版本;另一方面,退化模型假设LR图像是HR图像的双线性下采样、模糊以及噪声版本。也就是说,LR图像可以是按照模糊、下采样、噪声不同顺序得到。因此,我们在新的退化模型中设计了一种随机置换策略。具体来说,对退化序列${B_{iso}, B_{aniso}, D^s, NG, N_{JPEG},N_S}$进行顺序随机置换,随机置换可以大幅扩展退化空间。
- 首先,其他退化模型(比如bicubic以及其他传统退化模型)仅仅是本文退化模型的特例;
- 其次,模糊退化空间可以通过四种下采样中的模糊以及两种模糊操作的组合得到扩展;
- 然后,噪声特性会受模糊核下采样而出现变换,进一步扩展了退化空间。
上图给出了本文所提出退化模型的示意图。对于HR图像,我们可以通过调整不同的退化操作、退化参数生成不同的LR图像。对于x4尺度,我们在退化之前以0.25概率额外执行了双线性/双三次下采样。
为更好的理解所设计的退化模型,有必要添加以下讨论分析。
- 退化模型主要用于合成退化LR图像。它最直接的应用是基于成对LR/HR图像训练深度盲图像超分。具体来说,退化模型可以基于大尺度HR图像数据生成无限对齐的训练数据,从而不会受有限数据、不对齐问题约束。
- 因其包含过多退化参数与随机置换策略,所提退化模型不适用于模拟已退化LR图像。
- 尽管该退化模型可以生成某些真实场景鲜少出现的极限退化,但这仍有助于提升深度盲图像超分的泛化性能。
- 具有大容量的DNN具有单模型处理不同退化的能力,比如DnCNN可以处理不同倍率、不同程度JPEG压缩、不同噪声水平,且具有与VDSR相当性能。
- 我们可以通过调整退化参数,添加更多合理的退化类型以改善特定应用的实用性。
4. 实验
超分模型并非本文核心,现有超分网络均可作为选择,本文选择了ESRGAN作为基线模型,并做了几点改动:(1) 由于本文的目的是:在未知退化前提下,解决更广义的盲图像超分。训练数据方面采用DIV2K、Flickr2K、WED以及源自FFHQ的2000人脸图像;(2)采用了更大的图像你块72×72;(3) 损失方面采用了L1、VGG感知、PatchGAN三个损失的组合,组合系数1, 1, 0.1。
在训练超参方面,优化器为Adam,batch=48,固定学习率1×$10^{−5}$。整个训练大约花费10天(亚马逊云,4个V100)。
4.1 测试数据集
与此同时,我们还提供了两个数据集:DIV2K3D与RealSRSet。两者信息如下:
RealSRSet:包含20个从网络下载或者现有测试集中挑选的真实图像;
DIV2K3D:它基于DIV2K验证集采用三种不同退化类型制作。这三种退化类型分别是:(1) 各项异性高斯模糊+x4最近邻下采样;(2) 各向异性高斯模糊+x2最近邻下采样+x2双三次下采样+JPEG压缩(压缩范围为[41, 90]);(3) 本文所提退化模型。
4.2 DIV2K3D实验
上表&上图给出了不同超分模型在DIV2K3D数据集上的性能对比与视觉效果对比。从中可以看到:
- 由于RRDB与ESRGAN是在简单的双三次退化数据集上所训练,它们在DIV2K3D上的表现并不好。
- 由于考虑更实用的退化,FSSR、RealSR的表现要比ESRGAN更优。
- 对退化类型1方面,由于在类似退化数据集上进行的训练,IKC取得了很好的PSNR与SSIM指标;而RealSR取得了最佳LPIPS指标;对于其他两个类型,这些方法表现出了严重的性能下降。
- 本文所提BSRNet方法取得了整体最佳的PSNR与SSIM指标;所提BSRGAN取得了整体最佳LPIPS指标。
- 在视觉质量方面,IKC与RealSR难以移除噪声重建锐利边缘;而FSSR可以重建锐利边缘但同时引入了伪影问题;本文所提BSRGAN取得了最佳视觉质量。
4.3 RealSRSet实验
上表给出了不同方法在RealSRSet数据上的性能对比。由于RealSRSet的真值不可知,我们采用了无参考图像质量评价方法(NIQE、NRQM、PI)进行度量。从上表可以看到:BSRGAN并未取得最佳指标。但是BSRNet取得了更好的视觉感知质量,见下图对比。比如:BSRGAN可以移除未知传感器噪声、未知复合噪声同时重建锐利边缘和细节;相反,FSSR与RealSR生成某些高频伪影。这种定量与定性指标的不一致性意味着:无参考IQA并不能总是匹配视觉感知质量,IQA应该随新的SISR方法更新迭代。我们进一步还认为:SISR的IQA应该随图像退化类型而更新演变。