利用原始图像(raw images)实现真实场景的超分辨率
由于(1)缺乏真实的训练数据和(2)模型输入的信息丢失,大多数现有的超分辨率方法在实际场景中表现不佳。
为了解决问题,本文:
(1)提出了一种新的管道,通过模拟数码相机的成像过程来生成逼真的训练数据
(2)开发了一个双卷积神经网络来利用原始图像捕获的射线信息。
此外,提出了学习空间变化的颜色变换,这有助于更有效的颜色校正。
用以表示对象的像素的数量,即,图像分辨率,与相机焦距的平方成正比。
虽然可以使用长焦距镜头获得高分辨率图像,但捕获场景的范围通常受到限制。因此,用户通常希望使用短焦距相机(例如广角镜头)以较低的分辨率拍摄宽范围场景,然后应用单图像超分辨率技术,从低分辨率版本恢复高分辨率图像。
大多数最先进的超分辨率方法对合成数据有效,但由于缺乏真实的训练数据和网络输入的信息丢失,它们对摄像机或手机拍摄的真实图像(如图1(c))效果不佳。
Figure 1.
为了解决这些问题并实现真实场景的超分辨率,提出了一种生成训练数据的新管道和一种利用额外原始信息的双CNN模型。如下所述。
本文直接使用原始数据恢复高分辨率清晰图像,优点如下:
(i)原始像素中可以利用更多信息。因为它们通常为12或14位,而ISP产生的通常为8位。
(ii)原始数据与场景辐射成比例,而ISP包含非线性操作,如色调映射。因此,成像过程中的线性退化(包括模糊和噪声)在处理后的RGB空间中是非线性的,给图像恢复带来了更多困难。典型的ISP管道如图2,除了位深度之外,ISP管道中还有额外的信息损失,例如噪声降低和压缩。
(iii)ISP中的去马赛克步骤与超分辨率高度相关,因为这两个问题都涉及相机的分辨率限制。因此,用预处理图像解决超分辨率问题是次优的,可能不如用一个统一的模型同时解决这两个问题。
Figure 2.
本文介绍了一种新的利用摄像机传感器原始数据(raw data)的超分辨率方法。
现有的原始图像处理网络通常学习从退化的原始图像到所需的彩色输出的直接映射函数。但是原始数据中不含有ISP系统中有关颜色校正的信息,因此用它训练的网络只能用于一个特定的相机。
为了解决这个问题:
提出了一个双CNN架构(后文会有详细介绍架构),如下图:
将退化的原始图像和彩色图像作为输入,这样模型可以地推广到不同的摄像机。
该模型由两个平行分支组成。第一个分支利用原始数据恢复清晰的结构和细节,第二个分支以低分辨率RGB图像为参考恢复高保真颜色。
【为了利用多尺度特征】,在编码器-解码器框架中使用密集连接的卷积层进行图像恢复。对于颜色校正分支,提出学习【像素方向的颜色变换】来处理更复杂的空间变化的颜色操作。此外,引入特征融合,以更准确的颜色校正估计。
(1)设计了一个新的数据生成管道,它能够合成真实的原始数据和颜色训练数据,以实现图像超分辨率。
(2)开发了一种双网络结构,利用原始数据和彩色图像实现真实场景的超分辨率,可以推广到不同的摄像机。
(3)为了获得更好的性能,提出学习空间变化的颜色变换以及特征融合。
(4)实验表明,使用原始数据解决该问题有助于恢复精细细节和清晰结构,更重要的是,所提出的网络和数据生成管道在实际场景中实现了卓越的单图像超分辨率效果。
讨论了最先进的超分辨率方法以及基于学习的原始图像处理。
SR. 很多SR方法是基于预处理的彩色图像,因此在生成逼真的细节方面有局限性。本文提出在统一的框架下同时利用原始数据和彩色图像,以获得更好的超分辨率。
Joint super-resolution and demosaicing. 针对该问题的许多现有方法估计具有多个低分辨率帧的高分辨率彩色图像。Zhou等人提出了一种用于单图像超分辨率with mosaiced images的深度残差网络。然而,该模型是在Gamma校正的图像对上训练的,这对于真实的线性数据可能不起作用。更重要的是,这些作品没有考虑到相机ISP应用的复杂颜色校正步骤,因此无法恢复高保真的颜色外观。与之不同的是,本文算法同时解决了图像恢复和颜色校正问题,更适合于实际应用。
基于学习的原始图像处理。Jiang等人提出学习大量局部线性滤波器来逼近复杂的非线性ISP管道。Schwartz等人使用深度CNN学习特定数码相机的颜色校正操作。Chen等人利用原始数据训练神经网络作为快速微光成像的输入。本文学习了原始图像超分辨率背景下的颜色校正。使用低分辨率彩色图像作为参考,以处理来自更多不同ISP系统的图像,而不是学习特定相机的颜色校正管道。
大多数超分辨率方法通过使用固定的双三次模糊核对HR彩色图像进行下采样来生成训练数据。用同方差高斯噪声模拟噪声。如(一、介绍)所述,这样合成的数据与实际图像并不相似。
此外,我们需要生成低分辨率的原始数据来训练提出的的双CNN,这通常通过直接拼接低分辨率彩色图像来实现,但是这种方法忽略了一个事实,即彩色图像已经由ISP系统的非线性操作处理,而原始数据应该来自像素的线性颜色测量(linear color measurements)。
为了解决这些问题,我们通过模拟退化图像的成像过程,从高质量的原始图像生成真实的训练数据。
首先通过对高质量的原始图像下采样来合成GT线性颜色测量(ground truth linear color measurements),使一个像素可以有它的GT红,绿和蓝的值。特别地,对于Bayer模式原始数据(图4),我们将一个Bayer模式传感器块定义为一个新的虚拟传感器,其中所有颜色测量都是可用的。
Figure 4.
表示一个Bayer模式原始图像,其中虚线包围的传感器是一个Bayer模式块。
这样,就可以通过对每个像素的所有三种颜色的线性测量得到所需的图像X_lin∈(H, W, 3)。通过对齐新传感器中每种颜色的质心来补偿颜色偏移伪影。
利用GT线性测量X_lin,我们可以通过模拟摄像机ISP系统的颜色校正步骤(如颜色空间转换和色调调整)生成GT彩色图像X_gt∈(H, W, 3)。
对于模拟,我们使用Dcraw,这是一种广泛使用的原始数据处理软件。
为了生成退化的低分辨率原始图像X_raw∈(H/2, W/2),分别对X_lin应用模糊、下采样、Bayer采样和噪声:
是Bayer采样函数,它按照Bayer模式对图像进行拼接。是采样因子为2的下采样函数。由于成像过程可能受到失焦效应和相机抖动的影响,将离焦模糊建模为不同大小的磁盘核,以及由随机走动生成的适度运动模糊。∗为卷积运算符。为了合成更真实的训练数据,在生成的原始数据中加入异方差高斯噪声n:
其中,噪声n的方差取决于像素强度x;σ1和σ2是噪声的参数。
最后,使用AHD对原始图像X_raw进行demosaice,AHD是一种常用的demosaicing方法,并由Dcraw进一步处理以生成低分辨率彩色图像X_ref∈(H/2, W/2, 3)。将X_ref压缩为8位JPEG,这与数码相机中通常所做的一样。Dcraw中颜色校正步骤的设置与生成X_gt中使用的设置相同,因此参考颜色与GT很好地对应。
该管道综合了真实数据,使得在X_raw和X_ref上训练的模型能够很好地泛化到真实的退化原始图像和彩色图像。
由上述双CNN架构图可知,输入即为X_raw与X_ref。
原始数据中没有数码相机ISP系统中进行过的色彩校正和色调增强的相关信息,一幅原始图像可能对应于由不同ISP管道的不同图像处理算法生成的多个ground truth彩色图像,这会混淆网络训练,所以利用神经网络直接学习一个从原始图像到高分辨率彩色图像的映射函数是很幼稚的方法。
为了解决这个问题,我们提出了一个双分支的CNN,下图所示:
Figure 5.
第一个分支利用原始数据恢复所有颜色通道的高分辨率linear measurements;
第二个分支估计变换矩阵,以低分辨率彩色图像为参考恢复高保真彩色外观。
参考图像补充了原始数据的局限性;因此,使用原始数据和颜色数据联合训练两个分支可以从本质上帮助恢复更好的结果。
Figure 6.
根据预测的学习第二个分支,也就是颜色校正的分支,该分支使用颜色参考图像X_ref重建最终结果。
使用一个CNN来估计一个变换,以产生一个图像的全局颜色校正。
修正可以表示为:,其中表示线性图像像素[i,j]处的RGB值。但是,当摄像机ISP的颜色变换涉及空间变化操作时,这种全局校正策略不能很好地工作。
为了解决这个问题,我们学习像素级转换,对每个空间位置进行不同的颜色校正:
采用一个U-Net结构来预测图7中的转换
Figure 7.
从一个编码器开始,该编码器包括三个卷积层和2×2平均池化,来提取编码特征g2(X_ref)。
为了估计空间变化的变换,采用了一个由连续的反卷积层和卷积层组成的解码器。该解码器将编码特征扩展到所需的分辨率H×W。将编码器和解码器中具有相同分辨率的特征映射连接起来,以利用层次特征。
最后,解码器的输出层为每个像素生成3×3的权重,形成像素级变换矩阵L(X_ref)。
将变换L(X_ref)应用于恢复图像,有利于使矩阵估计网络感知图像恢复分支中的特征,使L(X_ref)更准确地适应恢复图像的结构。因此,我们使用来自第一个分支g1(X_raw)的编码特征为g2(X_ref)开发特征融合。由于g2(X_ref)和g1(X_raw)可能具有不同的尺度,我们通过加权和来融合它们,在加权和中学习权重以自适应地更新特征。将特征融合表述为:
φ为一个1×1卷积。将更新后的g2(X_ref)放回原来的分支中,后续的解码器可以进一步利用融合后的特征进行变换估计。卷积使用零初始化,以避免中断颜色校正分支的初始行为。
使用MIT-Adobe 5K数据集。数据集由5000张大小约为2000×3000的原始照片组成。在手动去除带有明显噪声和模糊的图像后,获得1300张高质量的图像用于训练,150张用于测试,这些图像由19种佳能相机拍摄。使用3.1节中描述的方法来合成训练和测试数据集。离焦模糊半径随机采样[1,5],运动核的最大尺寸随机采样[3,11]。噪声参数σ1、σ2分别取自[0,10^−2]和[0,10^−3]。
使用Xavier初始化器作为网络权值,使用LeakyReLU(斜率为0.2)作为激活函数。采用L1loss函数对网络训练,使用Adam优化器,初始学习率为2 × 10^−4。
输入为256×256,batch size:6。
使用4×10^4迭代来训练模型,每2×10^3更新一次学习率:降低0.96倍,然后再使用另一个4×10^4迭代以更低的学习率10^−5。
在测试阶段,将输入分割成重叠的patch,并分别对每个patch进行处理。将重建的高分辨率patch放回相应位置,并在重叠区域进行平均。
由于LR原始输入没有ISP系统内进行颜色转换和色调调整的信息,因此原始图像处理方法只能近似一个特定相机的颜色校正,无法恢复测试集中不同相机类型的良好结果。此外,原始处理模型的训练过程受到预测结果和GT之间色差的影响,不能专注于恢复尖锐结构。因此,图6(c)中的结果仍然模糊。
上图(d)-(e)显示,以LR彩色图像作为输入的SR方法生成具有正确颜色的更尖锐的结果,但仍然缺乏精细细节。
相比之下,通过利用颜色输入和原始辐射信息,我们的方法在上图(f)中具有清晰的结构和精细的细节。
(1)没有颜色校正分支的情况下,如下图(c);
(2)使用前文提到的全局颜色校正策略只能恢复整体颜色外观,如下图(d)中的背景;
(3)使用低分辨率彩色图像作为我们网络的两个分支的输入,这是通过自适应地改变图像恢复分支的填充层实现的。如下图(e),由于ISP系统中的信息丢失,没有原始输入的模型无法生成精细结构和细节;
(4)没有特征融合的网络无法预测精确的变换,并且倾向于在下图(f)中的细微结构周围产生颜色伪影。
评估了我们的数据生成方法以及在实际捕获图像上提出的网络。
(1)如图1(d)和上图(d)所示,使用我们的管道生成的数据重新训练后,RDN的结果变得更加清晰。
(2)提出的双CNN模型无法通过以前的数据进行训练来生成清晰的图像(上图(e))。我们通过在合成数据集上训练所提出的网络(如图1(e)和上图(f)所示),在更锐利的边缘和更精细的细节上获得更好的结果,这证明了所提出的数据生成管道以及原始超分辨率算法的有效性。
(1)提出了一种新的管道,通过模拟数码相机的成像过程来生成逼真的训练数据。
(2)提出了一个双CNN来利用原始数据中记录的辐射信息。