今天介绍的这篇文章是有关 CMOS 中的 Bayer pattern 的,这篇文章通过对 Bayer pattern 中的双曝光设计来实现联合的去噪以及去模糊的任务。
Abstract
在成像系统中,由噪声和模糊引起的图像退化始终是一项持续性挑战,其根源在于硬件和方法论两方面的局限性。单图像解决方案面临着降噪与运动模糊之间的固有权衡:短曝光虽能捕捉清晰的动态,但会导致噪声放大;长曝光可减少噪声,却会引入模糊。基于学习的单图像增强算法往往因信息有限而过度平滑。采用连拍模式的多图像解决方案通过捕捉更多时空信息避免了这一权衡,但常因相机 / 场景运动导致的错位问题而难以处理。为解决这些局限,我们提出一种基于物理模型的图像恢复方法,该方法利用新型双曝光四拜耳(Quad-Bayer)图案传感器。通过在同一起始点捕捉不同时长的短曝光和长曝光图像对,该方法可在单幅图像内融合互补的噪声 - 模糊信息。我们进一步引入四拜耳合成方法(B2QB),将拜耳图案的传感器数据模拟为四拜耳数据,以助力模型训练。基于此双曝光传感器模型,我们设计了一种名为 QRNet 的分层卷积神经网络,用于恢复高质量 RGB 图像。该网络集成了输入增强模块和多级特征提取模块,以提升恢复质量。实验表明,在合成数据集和真实数据集上,该方法的性能均优于现有最先进的去模糊和去噪方法。
Introduction
- 图 1
现代成像流程本质上受制于硬件的根本限制,不可避免地会产生噪声和模糊伪影,这些限制包括散粒噪声、读取噪声、传感器分辨率有限、量化误差,以及低光等非理想拍摄条件。此外,运动模糊问题尤其在手持相机拍摄时依然突出。因此,降噪和去模糊一直是计算摄影领域的长期挑战。随着数字摄影的普及,在真实场景条件下生成高质量图像成为重要需求。延长曝光时间这一直接方法虽能收集更多光子,但需要场景保持静止,这在受控环境之外往往不切实际。因此,针对噪声和模糊的有效后处理方法至关重要。
去噪通常依赖精确的噪声模型,尽管噪声源于原始传感器数据,但现有模型常基于 RGB 数据训练。近期研究试图更有效地模拟原始噪声 [1],[2] 或改进噪声模型估计 [3]-[7],但在纹理保留方面仍显不足。对于去模糊任务,未知模糊核或运动的常见盲解场景使建模复杂化,同时合成模糊与真实模糊之间的领域差异持续存在 [8]-[10]。利用短曝光 - 长曝光连拍图像的联合去噪去模糊方法 [11]-[13] 可提供更多信号,但未对齐的输入数据使融合过程困难重重。
短曝光与长曝光图像的特性具有互补性:短曝光像素可捕捉锐利边缘,长曝光像素则包含极少噪声且色彩准确。通过融合这两种曝光图像,我们能够在有效恢复纹理的同时,精确估计模糊核。图像处理领域的一项最新进展是引入了四拜耳(Quad-Bayer)传感器[14],[15],该传感器在单一马赛克图案中整合了两种曝光类型。作为彩色滤光片阵列(CFA)的最小单元,这种图案具有 4×4 的分辨率,如图 1(i)所示。
为充分发挥四拜耳传感器的性能,我们提出开发一种联合图像去模糊与去噪流程。我们的方案具有两大显著优势:
-
- 与单图像方法 [1]–[6],[8]–[10] 相比,同时利用短曝光和长曝光像素可通过融入更丰富的信息增强图像重建任务。
-
- 如图 1 (j) 所示,两种曝光类型像素的同步采集消除了连拍图像方法 [11]–[13] 中常见的错位问题。
我们提出 QRNet,这是一种用于 Quad-Bayer RAW 图像联合去模糊和去噪的端到端神经网络。为适配 Quad-Bayer 布局,我们采用 Pixel Unshuffle 技术 [16] 对单通道输入的颜色和曝光信息进行重组,得到 16 个通道。为缓解下采样导致的不连续伪影,我们引入输入增强模块(IEB)。该模块除了通过 Pixel Shuffle 获得的 16 个通道外,还包含通过平均池化和卷积得到的三个额外分支。随后,所有分支通过通道注意力机制进行融合。此外,QRNet 采用多级架构,促进层级间的特征交互,增强网络有效表征特征的能力。
为便于对我们提出的成像流程进行训练和评估,我们引入了一个名为四拜耳到 RGB 数据集(QR 数据集)的新合成数据集。由于配备四拜耳传感器且能够灵活调整光圈数、ISO 和焦距等相机参数的相机难以大量收集四拜耳图像与 RGB 图像对,因此该数据集至关重要。数据集中的图像最初使用数码单反相机(尼康 D5200)拍摄,涵盖城市环境、公园、森林、山脉等多样场景。为生成合成四拜耳图像与 RGB 图像对,我们从长曝光和短曝光的拜耳 RAW 图像对中采样四拜耳对应图像。为确保合成四拜耳图像与 RGB 图像对之间的正确对齐,我们提出了一种拜耳到四拜耳(B2QB)采样方案。最终得到的数据集包含 701 个训练对和 30 个验证对,所有图像对的分辨率均为 3016×2008 像素。
我们使用 QR 数据集和真实 Quad-Bayer 数据对 QRNet 进行了全面评估。定性和定量实验均表明,所提出的流程能够恢复具有强烈噪声或极度模糊场景的图像,性能优于现有方法。总体而言,本文的主要贡献如下:
- 提出了一种新颖的解决方案,利用四拜耳传感器以联合方式应对去噪和去模糊的挑战;
- 引入了拜耳到四拜耳采样方法(B2QB),并构建了一个包含 731 对对齐的四拜耳与 RGB 图像对的大型 QR 数据集;
- 开展了广泛的实验,在 RGB 空间和 RAW 空间中对图像去噪和去模糊方法进行比较,以证明 QRNet 所取得的显著进展。
METHODOLOGY
A. Problem Formulation
我们旨在从具有四拜耳图案的退化双曝光 RAW 图像(以下简称四拜耳图像)中恢复清晰锐利的 RGB 图像。我们首先引入一个图像恢复模型。假设 i i i 是清晰锐利的图像, o o o 是模糊且含噪的观测图像。假设 k k k 是由某些运动场定义的模糊核, n n n 是加性噪声,则退化图像 o o o 的形成过程为:
o = k ∗ i + n (1) o = k * i + n \tag{1} o=k∗i+n(1)
其中 ∗ 表示卷积算子。此外,我们希望模型还能够对输入的四拜耳数据进行去马赛克处理,转换为 RGB 格式。假设 q q q 是一幅退化的四拜耳图像,我们旨在通过所提出的 QRNet 恢复出清晰锐利的 RGB 图像 y y y。我们将该问题表述为:在输入 q q q 和 QRNet 参数 Θ \Theta Θ 的条件下,最大化输出图像的后验概率:
Θ ∗ = arg max Θ p ( y ∣ q , Θ ) (2) \Theta^* = \arg\max_{\Theta} p(y|q, \Theta) \tag{2} Θ∗=argΘmaxp(y∣q,Θ)(2)
其中, y y y 在优化过程中作为真值。所有符号说明汇总于表 I(即表格 1 )。训练过程的详细信息如下所述 。
- 表 1
B. Quad-Bayer Pre-processing
- 图 2
对于真实的双曝光 RAW(原始)图像,存在两种退化类型(模糊和噪声),在训练 QRNet 时,我们需要对它们进行建模。由于我们通过拍摄运动视频来采集合成的训练用四拜耳(Quad - Bayer)数据 x x x,所以对运动模糊进行了建模。为了对 RAW 噪声建模,我们基于文献 [4] 向 x x x 中添加噪声。此外,我们提出一种放大方案,并使用伽马校正来匹配四拜耳输入和 RGB 真实标签(基准真值 )之间的亮度,这有助于 QRNet 的收敛。这些是如图 2(a)所示的连续操作,具体细节总结如下:
- 噪声建模(NM):由于噪声出现在 RAW 图像上,我们基于物理模型 [4] 向四拜耳(Quad-Bayer)图像块 x x x 添加噪声 n n n,即 N M ( x ) = x + n NM (x)=x+n NM(x)=x+n;
- 放大处理(AM):由于长曝光像素和短曝光像素的曝光时间不同,我们将短曝光像素乘以系数 A 来对齐它们的亮度,即 A M ( x s h o r t ) = A ・ x s h o r t AM(x_{short})=A・x_{short} AM(xshort)=A・xshort 短曝光像素;
- 伽马校正(GC):我们对长曝光和短曝光像素都应用伽马校正,使四拜耳图像的整体亮度与目标 RGB 图像具有可比性。它通过 G C ( x ) = ( x + ϵ ) ( 1 / λ ) GC (x)=(x+ϵ)^{(1/λ)} GC(x)=(x+ϵ)(1/λ) 实现,其中系数 λ = 2.2 , ϵ = 10 − 8 λ=2.2,ϵ=10^{-8} λ=2.2,ϵ=10−8 ( ϵ ϵ ϵ 用于避免数值不稳定)。
需要注意的是,在执行预处理之前,四拜耳(Quad - Bayer)图像已被归一化到 [0, 1] 范围 。
C. Network Architecture
- 图 3
所提出的四拜耳到 RGB 映射网络(QRNet)如图 2(b)所示。这是一个端到端网络,可从输入的四拜耳图像中恢复出 RGB 图像。它也是一种多级架构,我们根据特征或图像分辨率从上到下将其定义为 1 到 5 级,例如,第 5 级具有原始分辨率。我们将详细设计描述如下:
Data Re-arrangement 考虑到四拜耳(Quad-Bayer)布局的特点,短曝光像素和长曝光像素在单个通道内密集排列。直接在这种布局上应用卷积层会给特征提取带来挑战,因为卷积层必须额外区分在两种不同曝光级别下捕获的像素之间的空间关系。为缓解这一问题,我们对输入的四拜耳数据执行两次 Pixel Unshuffle [16]。如图 3 所示,该操作根据像素的曝光时间和颜色将其分离到不同的通道中。
Input enhancement block 我们注意到,像素反洗牌(Pixel Unshuffle)下采样后的特征中,相邻像素并不连续(例如图 3 中的像素 S11 和 S21)。这种采样方法可能会导致锯齿状伪影。为缓解这一问题,我们提出了如图 2(c)所示的输入增强块(IEB)。除像素反洗牌操作外,我们还引入了三个额外的平均池化分支。该模块融合了原始四拜耳数据中连续性更好的相邻像素的亮度值。
受文献 [90] 启发,我们通过通道注意力机制将三个平均池化下采样数据与像素反洗牌下采样数据进行融合。随后,我们通过另一个卷积层将通道注意力特征与像素反洗牌下采样数据提取的特征进行组合。
Multi-level feature extraction 基于输入增强块(IEB)的输出结果,我们进一步设计了一个三级结构(图 2(b)的上部三级),用于融合短曝光和长曝光像素的信息。在第 1 至第 3 级中,我们使用残差块 [65] 来提升特征表示能力。对于第 2 级和第 3 级,前一级的信息会在进入残差块之前进行融合。所有卷积层均采用 3×3 卷积核。由于大部分操作在第 1 至第 3 级执行(这些层级的图像或特征分辨率较小),因此该架构在推理阶段具有较高的效率。
Feature interactions between levels QRNet 的第 1 至 5 级通过对前一级特征进行上采样建立关联。对于第 1 至 3 级,每两个相邻层级之间分别在起始和末尾存在两种连接:
- 起始连接:融合前一级信息与下一级输入,随后通过卷积层强化特征融合并压缩通道数,使当前层级具备多尺度特征,从而扩大感受野并增强特征表示能力。
- 末尾连接:将前一级的完整信息传递至下一级。
对于第 4 级和第 5 级,层级关联通过 Pixel Shuffle upsampling 和拼接操作实现,与输入金字塔的下采样操作形成对应。这种设计允许每个层级利用多尺度特征,进而提升图像恢复效果。
D. Loss Functions
与现有图像恢复方法类似,我们采用 L1 损失作为重建损失,以使生成的图像接近真实标签。其定义为:
L recon = E [ ∥ G ( q ) − y ∥ 1 ] (3) \mathcal{L}_{\text{recon}} = \mathbb{E}\left[\| \mathbf{G}(q) - y \|_1 \right] \tag{3} Lrecon=E[∥G(q)−y∥1](3)
为进一步重建图像的高频部分,我们在训练过程中引入频域损失 [10]。该损失函数在频域中衡量生成图像与真实标签之间的 L1 距离,定义如下:
L freq = E [ ∥ F ( G ( q ) ) − F ( y ) ∥ 1 ] (4) \mathcal{L}_{\text{freq}} = \mathbb{E}\left[ \| \mathcal{F}(\mathbf{G}(q)) - \mathcal{F}(y) \|_1 \right] \tag{4} Lfreq=E[∥F(G(q))−F(y)∥1](4)
最终的 loss 是两个 loss 之和
L o v e r a l l = L r e c o n + α L f r e q (5) L_{overall} = L_{recon} + \alpha L_{freq} \tag{5} Loverall=Lrecon+αLfreq(5)
DATASET COLLECTION
- 图 4
在本节中,我们将介绍四拜耳转 RGB 映射数据集(QR 数据集)的数据采集细节。我们选择合成训练图像对,而非通过四拜耳模块采集,原因有三:
- 1)更改四拜耳模块的设置过程繁琐且耗时;
- 2)针对四拜耳传感器数据,尚无有效的去马赛克方法(即难以获取相应的 RGB 图像,作为所提算法的目标图像);
- 3)采集多组四拜耳和 RGB 图像对时,很难实现完美对齐。
因此,我们提出一条数据采集流程,用于生成对齐且配对的四拜耳和 RGB 图像。该流程包含以下四个连续步骤:
Preparation. 考虑到上述动机,为构建充足的数据集以学习四拜耳(Quad - Bayer)到 RGB 的映射关系,我们先采集拜耳(Bayer)RAW 图像,再对像素进行采样以得到对应的四拜耳图像 (即 B2QB 方案)。由于四拜耳 RAW 数据包含两种曝光(信息),我们需要成对的长曝光和短曝光拜耳 RAW 图像。为采集这些图像,我们首先从 YouTube 下载了 30 个高清视频 (2160p) 这些视频涵盖不同的真实场景 (如乡村、城市、山脉、森林等),且几乎无噪声。
Data modeling 为更好地采集图像,我们对这些视频进行后处理,生成成对的 “动态” 片段和 “静态” 片段,分别用于采集长曝光图像和短曝光图像。具体而言,我们将每个原始视频切割成时长为 2.5 秒的片段,采样步长为 45 秒。对于每个片段,我们将其插值为原时长的 2 倍,即 5 秒,这样的片段称为 “动态” 片段。从 “动态” 片段中提取中间帧并重复该帧,以形成时长为 5 秒、帧率与对应 “动态” 片段相同的 “静态” 片段。这些成对的 “动态” 和 “静态” 片段组成一组,并整合为一个用于采集的视频,如图 4 所示 。
Data capturing 为控制实验环境,我们使用尼康 D5200 数码单反相机(DSLR)在高分辨率显示器上采集编辑后的视频片段,该相机可拍摄 14 位 RAW 图像。除显示器外,关闭所有其他光源,且显示器完全占据相机的视野(FOV)。我们采用 ISO 100 的低感光度、1 秒的快门速度和 f/16 的光圈值,以尽可能消除噪声。长快门速度会导致过曝和严重模糊,而短快门速度会产生暗淡且含噪的图像,因此 1 秒的快门速度是一种折中的设置。在此条件下拍摄的 RAW 图像几乎无噪声。相机通过三脚架固定在距离显示器 3 米处,并由可编程快门线控制每 5 秒拍摄一张图像。采集动态图像 mov 和静态图像 sta 对的工作流程如图 4 所示。
由于 mov 和 sta 的总曝光时间和 ISO 感光度相同,因此它们的亮度一致。然而,真实四拜耳图像的长曝光和短曝光像素因曝光时间不同而亮度各异。因此,我们对静态图像 sta 应用曝光比 A 进行处理,即处理后的 sta′=sta×A。在本文中,我们根据真实四拜耳设备将 A 设置为 4。
B2QB Scheme 采集完成后,我们获得了成对的模糊图像和清晰图像(即 mov 和 sta′),两者含有少量噪声且亮度不同,分别将其视为长曝光图像和短曝光图像。然后,我们按照图 5(a)所示的 B2QB 方案合成对应的四拜耳数据,生成分辨率为 DSLR 输出一半的缩小图像,分别记为 x l x_l xl(长曝光)和 x s x_s xs(短曝光)。最后,将长曝光和短曝光四拜耳数据结合,得到双曝光四拜耳数据 x x x。对于目标 RGB 图像,我们通过对拜耳图案 sta 进行去马赛克处理,并采用相同的采样方案以最小化边缘差异。具体步骤如下:
- 白平衡:固定绿色通道增益 w g = 1 w_g=1 wg=1,红色通道增益 w r w_r wr 和蓝色通道增益 w b w_b wb 分别从区间 [1.6, 1.8] 和 [1.4, 1.6] 中均匀采样。
- 伽马校正:应用 λ = 2.2 \lambda=2.2 λ=2.2的伽马校正(指数计算)。
- 去马赛克:采用文献 [92] 的方法进行去马赛克处理。
- 锐化后处理:使用 MATLAB 的 “imsharpen” 工具对图像进行后处理。
- 采样:采用与四拜耳数据相同的采样方案,得到目标 RGB 图像 y y y。
整个合成流程生成了 731 个元组( x s x_s xs、 x l x_l xl、x、 y s y_s ys、 y l y_l yl、 y y y),其中每个双曝光四拜耳图像 x x x 与锐化后的 RGB 图像 y y y 构成一对。这些图像的分辨率为 3016×2008,共分为 701 个训练元组和 30 个验证元组。
此外,我们使用索尼 IMX 586 四拜耳模块采集了 24 张真实四拜耳图像用于测试,其数据排列方式与合成数据一致。采集的图像均为室内场景,分辨率为 4608×3456,数据为 10 位。
- 图 5
EXPERIMENT
A. Implementation Details
我们对 QRNet 进行 200 个 epoch 的训练,每个 epoch 包含 2500 次迭代,批量大小为 16。为便于训练,首先选择 4 张全分辨率图像,然后从每张全分辨率图像中裁剪出 4 个 320×320 的图像块。学习率初始化为 1 × 10 − 4 1 \times 10^{-4} 1×10−4,在第 100 个 epoch 到第 200 个 epoch 期间,学习率线性衰减至 5 × 10 − 7 5 \times 10^{-7} 5×10−7。频域损失参数 α 设置为 0.01。我们使用 Adam 优化器 [78],其中 β₁=0.5,β₂=0.999。QRNet 的所有可训练参数均从标准正态分布中随机初始化。我们使用 PyTorch 1.0.0 和 CUDA 9.0 实现 QRNet,并在 4 块 NVIDIA TITAN Xp GPU 上进行训练,整个训练过程大约需要 30 小时。
B. Experiment Details
Experiment settings,为进行全面且公平的比较,我们首先将所提出的 QRNet 与其他方法进行对比,对比场景为从退化的双曝光四拜耳图像到清晰锐利的 RGB 图像 y y y。此外,我们还在以下四个流程中进行对比:
- 基于短曝光 RAW 的方法:从退化的短曝光四拜耳图像到清晰锐利的 RGB 图像 y y y
- 基于长曝光 RAW 的方法:从退化的长曝光四拜耳图像到清晰锐利的 RGB 图像 y y y
- 基于短曝光 RGB 的方法:从退化的短曝光 RGB 图像到清晰锐利的 RGB 图像 y y y
- 基于长曝光 RGB 的方法:从退化的长曝光 RGB 图像到清晰锐利的 RGB 图像 y y y
为保证公平性,其他方法的训练数据选择方案、训练轮次(epoch)和批量大小(batch size)均与 QRNet 一致。由于合成元组 x s x_s xs、 x l x_l xl、 x x x、 y s y_s ys、 y l y_l yl、 y y y几乎无噪声,我们在合成数据中添加不同等级的噪声以模拟真实应用场景,用于基准测试。
Noise modeling 我们基于物理模型 [4] 在 RAW 空间中添加噪声n,其表达式可表示为:
n = n s + n r + n q , x ∗ + n s ∼ P ( x ∗ ⋅ K ) / K , n r ∼ G ( 0 , σ 2 ) , n q ∼ U ( − 1 / ( 2 q u ) , 1 / ( 2 q u ) ) , (6) \begin{aligned} n &= n_s + n_r + n_q, \\ x_* + n_s &\sim \mathcal{P}(x_* \cdot K)/K, \\ n_r &\sim \mathcal{G}(0, \sigma^2), \\ n_q &\sim \mathcal{U}(-1/(2qu), 1/(2qu)), \\ \tag{6} \end{aligned} nx∗+nsnrnq=ns+nr+nq,∼P(x∗⋅K)/K,∼G(0,σ2),∼U(−1/(2qu),1/(2qu)),(6)
其中, x ∗ x^* x∗ 是干净的 RAW 图像。 n s n_s ns、 n r n_r nr 和 n q n_q nq 分别是散粒噪声、读取噪声和量化噪声。 P \mathcal{P} P、 G \mathcal{G} G 和 U \mathcal{U} U 分别表示泊松分布、高斯分布和均匀分布。这里,K 和 σ \sigma σ 是噪声模型的超参数,在实验中我们设置 K = 0.25 K = 0.25 K=0.25、 0.5 0.5 0.5 或 0.75 0.75 0.75 , σ = 5 \sigma = 5 σ=5 ,用于模拟不同的噪声水平。 q u qu qu 是静态量化步长。在向 RAW 图像添加噪声后,我们将曝光比 A 与短曝光像素相乘 。
Evaluation metrics, 我们使用峰值信噪比(PSNR)和结构相似性(SSIM)指标 [94],在 QR 数据集中的 30 个验证元组上评估成对图像的质量。此外,我们借助 PyTorch - OpCounter [95] 库来计算乘加运算量(MACs) 。在 NVIDIA RTX 3090 GPU 上,针对 512×512 的图像块,通过对 10000 个图像块进行 10 次前向传播,取时间平均值来计算处理时间。这些计算均基于 PyTorch 1.7.0 和 CUDA 11.0 完成。