Low-Light Image Enhancement via Structure Modeling and Guidance 论文阅读

通过结构建模与引导的低光照图像增强

摘要

本文提出了一种新的低光照图像增强框架,通过同时进行外观和结构建模来实现 。该框架利用结构特征来指导外观增强,从而产生清晰且真实的结果。我们框架中的结构建模通过低光照图像中的边缘检测来实现 。这是通过设计一个结构感知的特征提取器和生成器 ,改进生成模型来实现的。检测到的边缘图能够准确强调关键的结构信息,并且边缘预测对暗区域中的噪声具有鲁棒性。此外,为了改进使用简单U-Net实现的外观建模,我们提出了一种新颖的结构引导增强模块,该模块带有结构引导的特征合成层。外观建模、边缘检测器和增强模块可以进行端到端训练。实验在代表性数据集(sRGB和RAW域)上进行,结果表明我们的模型在相同架构下,在所有数据集上始终达到最先进(SOTA)的性能。代码可在 https://github.com/xiaogang00/SMG-LLIE 获取。

1 引言

低光照增强旨在从黑暗且嘈杂的图片中恢复出正常光照且无噪声的图像,这是一个长期存在且重要的计算机视觉课题。它具有广泛的应用领域,包括低光照成像[11, 27, 50],并且也有益于许多下游视觉任务,例如夜间检测[28, 48, 64]。已经提出了一些方法来解决低光照增强问题。它们设计了学习调整颜色、色调和对比度的网络 [7, 10, 45, 63],并且一些近期工作还考虑了图像中的噪声 [24, 55]。这些工作大多优化输出与真实值(ground truth)之间的外观距离。然而,它们忽略了对暗区域结构细节的显式建模 ,因此导致模糊的结果和较低的SSIM[51]值,如图2所示。一些工作[34, 74]已经注意到利用结构信息(例如边缘)来促进增强的效果 。边缘通过区分暗区域中的不同部分来指导增强。此外,在暗区域中添加合理的边缘先验可以减少优化外观重建时的不适定程度。这些框架[34, 74]使用基于编码器-解码器的网络和回归损失来进行结构建模。然而,由于严重差的可见性和噪声导致的暗区域不确定性,相应的结构建模结果并不令人满意。此外,利用提取的结构信息的策略需要改进现有的简单拼接方法[34, 74]。

在本文中,我们提出利用一个用GAN损失训练的生成模型S\mathcal{S}S来执行边缘形式的结构建模。然后,我们设计了一种新机制E\mathcal{E}E,通过结构引导的特征合成来促进初始的低光照外观增强 (该模块表示为A\mathcal{A}A)。通过有效的结构建模和引导,我们的框架可以输出清晰、真实且具有令人满意的重建质量的结果,如图2所示。

图2: 来自SID-sRGB[3]的一个具有挑战性的低光照帧(a),通过SOTA方法©和我们的方法(e)增强。我们的方法可以从输入图像合成结构图(d),从而产生更清晰的细节、更鲜明的对比度和更生动的颜色。尽管©的PSNR高达28.17,但其SSIM较低,为0.75。我们的方法在dB和SSIM上都取得了高分,分别为28.60dB和0.80。

与先前的结构建模网络相比,所提出的生成模型S\mathcal{S}S有两个重要的修改。首先,我们注意到将结构感知描述符提供给S\mathcal{S}S的编码器和解码器的影响,这可以解耦外观表示并突出结构信息。因此,我们设计了一个结构感知特征提取器(SAFE)作为编码器部分,它通过空间变化操作(通过自适应长程和短程计算实现)从暗图像及其梯度中提取结构感知特征。提取的结构感知张量随后被馈送到解码器部分以生成所需的结构图。此外,与当前使用正常光照图像的结构图进行回归学习的方法不同,我们发现了使用GAN损失的优良特性。GAN损失可以减少生成的结构图中由噪声和不可见性引起的伪影,突出增强所需的基本结构。S\mathcal{S}S的主干网络实现为一个改进的StyleGAN。

为了利用获得的结构图来提升外观,我们设计了一个结构引导增强模块(SGEM)作为E\mathcal{E}E。SGEM的主要目标是学习可以改进初始外观建模结果的残差。在SGEM中,根据结构图生成空间自适应的核和归一化参数。然后,SGEM解码器每一层的特征将使用空间自适应卷积和归一化进行处理。尽管SGEM的整体架构采用简单的U-Net[38]形式,但它可以有效地增强原始外观。

S\mathcal{S}S、A\mathcal{A}A和E\mathcal{E}E可以同时进行端到端训练。我们在代表性基准上进行了广泛的实验。实验结果表明,我们的框架在所有数据集上使用相同架构,在PSNR和SSIM指标上都达到了SOTA性能,如图1所示。总之,我们工作的贡献有四个方面。

  1. 我们提出了一个新的低光照增强框架,通过同时进行结构建模和引导来促进外观增强。
  2. 我们设计了一种新颖的结构建模方法,其中结构感知特征通过GAN损失进行构建和训练。
  3. 提出了一种新颖的结构引导增强方法,用于在恢复的结构图指导下改进外观。
  4. 在sRGB和RAW域的不同数据集上进行了广泛的实验,展示了我们框架的有效性和泛化性。

图1: 我们的方法在不同的sRGB/RAW数据集 上使用相同的网络架构始终实现SOTA性能。

2 相关工作

基于学习的低光照增强。 当前基于深度学习的低光照图像增强方法主要优化输出与真实值之间的外观重建误差[24, 13, 24, 46, 57, 58, 61, 67, 68, 70, 1]。然而,即使使用SOTA方法[56],增强后的外观在暗区域也往往模糊。为此,一些工作利用结构信息[14, 16]来增强外观。为了获得结构图,其中一些使用离线计算的边缘/梯度[11, 41, 16, 36]或离线训练的网络[23],这些方法未与低光照数据自适应优化,因此不可避免地导致伪影。尽管已经提出了几种方法[74, 34]来同时训练边缘检测器和图像增强网络,并使用回归损失,但它们的改进仍然有限。此外,现有策略主要将提取的结构图与图像拼接以促进增强[34, 74, 16],然而,这不能在增强网络的所有层中设置引导。与当前工作不同,我们提出了一种新的生成模型,通过GAN损失从暗输入图像中鲁棒地提取边缘图,为每个特征层提供关键的边缘信息以进行增强。

用于恢复的生成模型。 生成模型的最新发展使得一系列网络(例如StyleGAN[15])能够在某些任务中实现显著的恢复效果,例如人脸恢复[12, 73, 59]。然而,它们的性能高度依赖于在几个类别内预训练的模型。在本文中,我们证明了带有GAN损失的生成模型可以以一种新颖的方式用于合成结构信息,用于低光照图像增强的恢复任务。这种方法不依赖于预训练模型,并且这种思想实际上可以扩展到各种恢复任务,开辟了一个新的研究方向。

3 方法

我们框架的概述如图 3 所示。所提出的框架对外观A\mathcal{A}A和结构S\mathcal{S}S都进行了显式建模,它们将分别在3.1节和3.2节中描述。结构图被用来通过模块E\mathcal{E}E指导外观建模的增强,这将在3.3节中介绍。整个框架可以如3.4节所述进行端到端训练。

图3: 我们框架的概述,包含显式的外观建模A\mathcal{A}A、结构建模S\mathcal{S}S和SGEME\mathcal{E}E。对IaI_{a}Ia和I^\widehat{I}I 的监督是正常光照图像Iˉ\bar{I}Iˉ,对IsI_{s}Is的监督是从Iˉ\bar{I}Iˉ提取的边缘Iˉs\bar{I}_{s}Iˉs。整个框架可以端到端训练。

3.1 外观建模

在我们的框架中,给定一个输入的低光照图像III,我们采用一个普通的U-Net[3]作为外观建模的网络,如图3(a)所示,其中Ia=A(I)I_{a}=\mathcal{A}(I)Ia=A(I)。实验结果表明,我们的方法与结构建模相结合,即使使用如此普通的外观预测网络,也能实现SOTA性能。

3.2 结构建模

在本文中,我们采用边缘信息进行结构建模,这是一种适用于各种场景的通用表示。我们发现有效的生成模型,例如StyleGAN[15],可以被修改为低光照图像的强大结构估计器S\mathcal{S}S ,如图3(b)所示。配备了结构回归损失GAN损失 ,S\mathcal{S}S可以准确预测有利于外观增强的有效结构图 。在本文中,我们使用StyleGAN的主干来构建S\mathcal{S}S 。给定输入图像III,我们可以获得其结构图S\mathcal{S}S为
Is=S(I)=G(F(I)),(1)I_{s}=\mathcal{S}(I)=\mathcal{G}(\mathcal{F}(I)), (1)Is=S(I)=G(F(I)),(1)

其中F\mathcal{F}F是编码器部分,即"结构感知特征提取器(SAFE)",包含NNN层和两个映射函数;G\mathcal{G}G是解码器部分,即"结构感知生成器(SAG)"。F\mathcal{F}F和G\mathcal{G}G使我们的框架能够比以前的生成模型和边缘检测器执行更好的结构建模。

3.2.1 结构感知特征提取器------编码器 (SAFE)

虽然传统的基于编码器的生成模型可以用作结构提取器,但通过将结构特征馈送到编码器和生成器两者中,可以改进其性能。先前基于编码器的生成模型仅从内容特征中提取信息,这适用于内容生成(例如sRGB图像),但对于结构建模而言不足。此外,生成模型的传统特征提取器主要利用短程操作[37, 42, 47],例如CNN。然而,如[56]所指出的,在低信噪比(SNR)的暗区域制定有用的表示需要长程操作。

因此,我们在SSS中设计了SAFE,如图3(b)所示,其主要目标是提取可靠的结构特征,以便后续在SAG中使用。与传统的生成模型编码器不同,SAFE从有助于边缘建模的内容和梯度图中获取所需信息。在SAFE中制定了空间变化的操作进行特征提取。

梯度图的构建。 如图3(b)所示,输入图像III通过一个多层编码器F1,...,FN\mathcal{F}{1},...,\mathcal{F}{N}F1,...,FN进行提取,每一层都进行下采样。假设每一层的输入特征是fi,i∈[1,N]f_{i},i\in[1,N]fi,i∈[1,N],我们获取fif_{i}fi在xxx轴和yyy轴方向上的梯度图,即{g+x(fi)\{g_{+x}(f_{i}){g+x(fi), g−x(fi)g_{-x}(f_{i})g−x(fi), g+y(fi)g_{+y}(f_{i})g+y(fi), g−y(fi)g_{-y}(f_{i})g−y(fi), g+x,+y(fi)g_{+x,+y}(f_{i})g+x,+y(fi), g+x,−y(fi)g_{+x,-y}(f_{i})g+x,−y(fi), g−x,+y(fi)g_{-x,+y}(f_{i})g−x,+y(fi), g−x,−y(fi)}g_{-x,-y}(f_{i})\}g−x,−y(fi)},其中ggg是计算一阶梯度的函数。这些梯度图强调了边缘区域,有利于结构特征的构建。

用于结构的空间变化特征提取。 我们在编码器中设计了空间变化的操作,以有效提取结构特征。对于fif_{i}fi和g(fi)g(f_{i})g(fi),我们设置了相应的长程编码器(LRE)和短程编码器(SRE)模块。Transformer块已被证明在长程建模中具有非凡的能力[52, 53, 55, 4, 65, 52],而CNN块能够提取短程特征。因此,LRE和SRE分别实现为Transformer块和CNN块。为了构建高效的Transformer模块,我们采用了基于窗口的注意力机制[25]和局部增强的前向模块[52]的Transformer块。假设LRE和SRE模块表示为Fl\mathcal{F}{l}Fl和Fs\mathcal{F}{s}Fs,则特征提取过程可以写为

li=Fil(fi),si=Fis(fi),l_{i}= \mathcal{F}^{l}{i}(f{i}), s_{i}= \mathcal{F}^{s}{i}(f{i}),li=Fil(fi),si=Fis(fi), (2) ▽li=▽Fil(▽g(fi)),▽si=▽Fis(▽g(fi)),\bigtriangledown l_{i}=\bigtriangledown\mathcal{F}^{l}{i}(\bigtriangledown g(f{i})), \bigtriangledown s_{i}=\bigtriangledown\mathcal{F}^{s}_{i}(\bigtriangledown g(f _{i})),▽li=▽Fil(▽g(fi)),▽si=▽Fis(▽g(fi)),

其中▽∈{+x,−x,+y,−y,+y+x,+y−x,−y+x,−y−x}\bigtriangledown\in\{^{+x},^{-x},{}{+y},{}{-y},{}^{+x}{+y},{}^{-x}{+y},{}^{ +x}{-y},{}^{-x}{-y}\}▽∈{+x,−x,+y,−y,+y+x,+y−x,−y+x,−y−x},lil_{i}li是长程特征,sis_{i}si是短程特征。我们采用另一个长短程融合 (LSR-F)模块来合并长程和短程操作的输出,其架构是多层感知机 。假设LSR-F表示为Fif\mathcal{F}^{f}_{i}Fif,那么针对fff和ggg的空间变化提取特征可以表示为

hi=Fif(li,si),▽hi=▽Fif(▽li,▽si).h_{i}=\mathcal{F}^{f}{i}(l{i},s_{i}),\quad\bigtriangledown h_{i}=\bigtriangledown \mathcal{F}^{f}{i}(\bigtriangledown l{i},\bigtriangledown s_{i}).hi=Fif(li,si),▽hi=▽Fif(▽li,▽si). (3)

此外,这些不同方向的空间变化提取特征可以通过梯度融合(Grad-F)模块自适应地合并,如下所示:

fi+1=Fig(hi,hi+x,−hix, −yhi, +yhi,y+xhi,+y−xhi,−y+xhi,−y−xhi),\begin{split} f_{i+1}=\mathcal{F}^{g}{i}(h{i},&{}^{+ x}{h{i}},{-}^{x}{h{i}},\ {}{-y}h{i},\ {}{+y}h{i},\\ &{}^{+x}{y}h{i},{}^{-x}{+y}h{i},{}^{+x}{-y}h{i},{}^{-x}{- y}h{i}),\end{split}fi+1=Fig(hi,hi+x,−hix, −yhi, +yhi,y+xhi,+y−xhi,−y+xhi,−y−xhi), (4)

其中Fig\mathcal{F}^{g}_{i}Fig表示Grad-F模块。

3.2.2 结构感知 StyleGAN 生成器 (SAG)

在获得结构感知特征fi,i∈[1,N]f_{i},i\in[1,N]fi,i∈[1,N]之后,下一步是获取StyleGAN主干的www空间。遵循先前带有用于退化数据的编码器的StyleGAN模型[59],fNf_{N}fN首先被映射到zzz空间,然后映射到www空间,如下所示:

w=Mw(z)=Mw(Mz(P(fN))),w=\mathcal{M}{w}(z)=\mathcal{M}{w}(\mathcal{M}{z}(\mathcal{P}(f{N}))),w=Mw(z)=Mw(Mz(P(fN))), (5)

其中Mw\mathcal{M}{w}Mw和Mz\mathcal{M}{z}Mz是映射函数,P\mathcal{P}P是池化操作。提取的fi,i∈[1,N]f_{i},i\in[1,N]fi,i∈[1,N]作为噪声图,将结构信息馈送到生成器G\mathcal{G}G中,如图3(b)所示。

3.3 结构引导增强模块

输入低光照图像III的结构建模结果IsI_{s}Is(原文此处笔误,应为IsI_{s}Is)可用于增强外观预测结果IaI_{a}Ia。这种增强可以从两个方面解释。首先,使用结构信息可以增强图像细节,特别是对于低SNR的暗区域,有助于生成清晰真实的结果 。第二个效果是边缘信息有助于区分不同的暗区域并在它们之间建立更好的关系

假设结构引导增强模块(SGEM)表示为E\mathcal{E}E,它也可以实现为一个简单的U-Net。如图 3(c)(c)(c) 所示,其输入是IaI_{a}Ia和III的拼接,它们的差异可以为IaI_{a}Ia的增强提供粗略的方向。这样,增强可以表示为

I^=E(Ia⊕I∣Is)+Ia,\widehat{I}=\mathcal{E}(I_{a}\oplus I|I_{s})+I_{a},I =E(Ia⊕I∣Is)+Ia, (6)

其中⊕\oplus⊕是拼接操作,IsI_{s}Is是增强的条件,这是通过E\mathcal{E}E中的"结构引导特征合成"实现的。

3.3.1 结构引导特征合成

假设SGEM的解码器中有KKK层,每一层的输入是dj∈Rb×p×q,j∈[1,K]d_{j}\in\mathbb{R}^{b\times p\times q},j\in[1,K]dj∈Rb×p×q,j∈[1,K],其中bbb、ppp和qqq分别是通道数、特征高度和宽度。在第jjj层,我们首先将结构图IsI_{s}Is调整到与djd_{j}dj相同的大小,记为IsjI^{j}{s}Isj。为了利用结构图的引导,我们提出从IsjI^{j}{s}Isj生成空间变化的核和归一化图。生成可以分别通过结构引导卷积(SGC)和结构引导归一化(SGN)完成。如图3©所示,SGC为不同位置产生不同的核。特征图可以处理如下:

Kj=Gc,j(Isj),d^j=dj∗Kj,\mathcal{K}{j}=\mathcal{G}{c,j}(I^{j}{s}),\quad\widehat{d}{j}=d_{j}* \mathcal{K}_{j},Kj=Gc,j(Isj),d j=dj∗Kj, (7)

其中d^j∈Rb×p×q\widehat{d}{j}\in\mathbb{R}^{b\times p\times q}d j∈Rb×p×q,"∗*∗"是卷积操作,Kj∈R(b×(kh×kw))×p×q\mathcal{K}{j}\in\mathbb{R}^{(b\times(k_{h}\times k_{w}))\times p\times q}Kj∈R(b×(kh×kw))×p×q和Gc,j\mathcal{G}{c,j}Gc,j分别是第jjj层合成的核(khk{h}kh和kwk_{w}kw是核的高度和宽度)和SGC。SGN可以为不同位置预测不同的归一化图来处理特征图,如下所示:

αj,γj=Gn,j(Isj),dˉj=IN(d^j)∘αj+γj,\alpha_{j},\gamma_{j}=\mathcal{G}{n,j}(I^{j}{s}),\quad\bar{d}{j}=IN(\widehat {d}{j})\circ\alpha_{j}+\gamma_{j},αj,γj=Gn,j(Isj),dˉj=IN(d j)∘αj+γj, (8)

其中αj∈Rb×p×q\alpha_{j}\in\mathbb{R}^{b\times p\times q}αj∈Rb×p×q和γj∈Rb×p×q\gamma_{j}\in\mathbb{R}^{b\times p\times q}γj∈Rb×p×q是第jjj层的归一化参数,∘\circ∘表示哈达玛积(逐元素乘),dˉj∈Rb×p×q\bar{d}{j}\in\mathbb{R}^{b\times p\times q}dˉj∈Rb×p×q,INININ是实例归一化操作,Gn,j\mathcal{G}{n,j}Gn,j是第jjj层的SGN。在第jjj层,特征可以增强为

dj+1=C(dj)+dˉj,d_{j+1}=\mathcal{C}(d_{j})+\bar{d}_{j},dj+1=C(dj)+dˉj, (9)

其中C\mathcal{C}C是U-Net第jjj层中的原始卷积。

3.4 损失函数

我们的框架是端到端训练的,损失函数可以分为三个部分。

外观建模损失。 外观建模部分A\mathcal{A}A的损失函数是IaI_{a}Ia与真实值Iˉ\bar{I}Iˉ之间的重建误差。该损失在像素级别和感知级别计算,如下所示:

La=∣∣Ia−Iˉ∣∣+∣∣Φ(Ia)−Φ(Iˉ)∣∣,\mathcal{L}{a}=||I{a}-\bar{I}||+||\Phi(I_{a})-\Phi(\bar{I})||,La=∣∣Ia−Iˉ∣∣+∣∣Φ(Ia)−Φ(Iˉ)∣∣, (10)

其中Φ()\Phi()Φ()从VGG网络[39]中提取特征。

结构建模损失。 监督S\mathcal{S}S的一种方法是使用正常光照数据的结构作为真实值,并利用回归损失。这种策略被现有的边缘预测方法[40, 33]采用。对于输入III,我们假设真实值是从Iˉ\bar{I}Iˉ提取的边缘图(使用Canny边缘检测器[2]),记为Iˉs\bar{I}_{s}Iˉs。回归损失是二元交叉熵,如下所示:

Ls=−[Iˉslog⁡Is+(1−Iˉs)log⁡(1−Is)], Iˉs=C(Iˉ),\mathcal{L}{s}=-[{\bar{I}}{s}\log I_{s}+(1-\bar{I}{s})\log(1-I{s})],~{}\bar{I }_{s}=C(\bar{I}),Ls=−[IˉslogIs+(1−Iˉs)log(1−Is)], Iˉs=C(Iˉ), (11)

其中CCC是Canny检测器。此外,内容的不可见性和暗图像中噪声的影响会加剧估计结构的不适定程度。因此,仅凭回归损失很难从暗输入图片中检测结构细节。我们发现GAN损失在应对回归损失的缺点方面是有效的。GAN损失通过设置一个判别器D\mathcal{D}D来实现,如下所示:

Lg=EI(log⁡(1+exp⁡(−D(Is)))),Ld=EI(log⁡(1+exp⁡(−D(Iˉs))))+EI(log⁡(1+exp⁡(+D(Is)))),\begin{split}\mathcal{L}{g}=&\mathbb{E}{I}(\log(1 +\exp(-\mathcal{D}(I_{s})))),\\ \mathcal{L}{d}=&\mathbb{E}{I}(\log(1+\exp(-\mathcal {D}(\bar{I}{s}))))+\\ &\mathbb{E}{I}(\log(1+\exp(+\mathcal{D}(I_{s})))),\end{split}Lg=Ld=EI(log(1+exp(−D(Is)))),EI(log(1+exp(−D(Iˉs))))+EI(log(1+exp(+D(Is)))), (12)

其中Lg\mathcal{L}{g}Lg和Ld\mathcal{L}{d}Ld分别是S\mathcal{S}S和D\mathcal{D}D的损失函数,E\mathbb{E}E是均值操作。

SGEM损失。 SGEM E\mathcal{E}E用于细化外观建模,其损失也是重建误差,如下所示:

Lm=∣∣I^−Iˉ∣∣+∣∣Φ(I^)−Φ(Iˉ)∣∣.\mathcal{L}_{m}=||\widehat{I}-\bar{I}||+||\Phi(\widehat{I})-\Phi(\bar{I})||.Lm=∣∣I −Iˉ∣∣+∣∣Φ(I )−Φ(Iˉ)∣∣. (13)

总体损失函数。 整个框架以端到端方式训练,总体损失函数为

L=λ1La+λ2Ls+λ3Lg+λ4Lm,\mathcal{L}=\lambda_{1}\mathcal{L}{a}+\lambda{2}\mathcal{L}{s}+\lambda{3}\mathcal{L}{g}+\lambda{4}\mathcal{L}_{m},L=λ1La+λ2Ls+λ3Lg+λ4Lm, (14)

其中λ1\lambda_{1}λ1、λ2\lambda_{2}λ2、λ3\lambda_{3}λ3、λ4\lambda_{4}λ4是损失权重。

4 实验

4.1 实现细节

我们在PyTorch[32]中实现了我们的框架。由于计算资源有限,我们的框架在4个RTX3090 GPU上进行训练。为了最小化损失,我们采用Adam[18]优化器,动量设置为0.9。

4.2 数据集

现有的低光照增强数据集具有不同的属性。SID[3]是一个在sRGB和RAW域都具有挑战性的数据集,许多暗区域需要结构引导来增强。对于SID,每个输入样本是一对短曝光和长曝光图像,低光照图像由于在极暗环境中捕获而具有严重噪声。我们使用SID中索尼相机捕获的子集进行实验。此外,我们还采用了LOL[62]数据集,该数据集分为LOL-real和LOL-synthetic。LOL-real中的低光照图像是从真实世界收集的;LOL-synthetic是通过合成创建的。

4.3 sRGB 域的比较

我们将我们的方法与大量SOTA低光照增强方法进行比较,包括SID[3]、

表1: LOL-real数据集上的定量比较。

表2: LOL-synthetic数据集上的定量比较。

定量分析。 我们采用PSNR和SSIM[51]进行评估。更高的SSIM意味着结果中具有更多的高频细节和结构。表1和表2显示了在LOL-real和LOL-synthetic上的比较。我们的方法超过了所有基线,并且由于成功的结构建模和引导,SSIM的改进非常明显。这些数字要么来自各自的论文,要么通过运行各自的公共代码获得。表3显示了在SID上的比较。可以看出,尽管先前的SOTA方法(例如SNR[56])可以实现高PSNR,但它们相应的SSIM值并不令人满意。我们的框架再次具有优于其他方法的最佳性能,并且在SSIM上明显优于其他方法。

定性分析。 我们在图4中展示了视觉样本,将我们的方法与在LOL-real和LOL-synthetic上实现最佳性能的基线进行比较。我们的结果显示出更好的视觉质量,具有更高的对比度、更准确清晰的细节、更自然的颜色一致性和亮度。图5还显示了在SID上的视觉比较。虽然SID中的输入图像具有明显的噪声和弱光照,但我们的方法可以产生比其他方法更真实、伪影更少的结果。

4.4 RAW 域的比较

我们将我们的方法与现有的为RAW输入设计的低光照图像增强方法进行比较。基线包括CAN [5], DeepUPE [44], SID [3], EEMEFN [74], LLPackNet [20], FIDE [55], DID [29], SGN [8], DCE [9], RED [21], 和 ABF [6]。与sRGB域上的增强相比,RAW输入具有更多信息,从而导致具有更高PSNR和SSIM的增强。

定量结果如表4所示。我们的方法在RAW域上在PSNR和SSIM方面仍然获得SOTA性能。我们的方法产生了表征图像丰富度和清晰度的最佳SSIM,因为我们的方法明确地制定了有效的结构建模。图5中的定性结果也支持我们的框架在RAW域中的优越性。如图所示,这些结果也表明我们的方法有效地增强了图像亮度并揭示了细节,同时抑制了伪影。

4.5 消融研究

我们考虑以下消融设置,通过从我们的框架中单独移除不同的组件。

  1. "Ours w/o A\mathcal{A}A": 移除模块A\mathcal{A}A,仅将输入图像和结构图设置为E\mathcal{E}E的输入。
  2. "Ours w/o S\mathcal{S}S": 删除结构建模模块S\mathcal{S}S,框架变为两个串联网络的结构,用于外观建模。
  3. "Ours w/o F\mathcal{F}F": 用传统的StyleGAN编码器[59]替换SAFE。
  4. "Ours w/o G\mathcal{G}G": 移除E\mathcal{E}E中的结构引导特征合成,并将S\mathcal{S}S的输出设置为E\mathcal{E}E的输入。
  5. "Ours w/o S.G. "_: 使用SOTA的基于编码器-解码器的边缘预测网络[33]来实现S\mathcal{S}S。
  6. "Ours w/o GAN ": 在没有GAN损失的情况下训练S\mathcal{S}S。

表4: SID RAW域上的定量比较。

图4: LOL-real(顶部)和LOL-synthetic(底部)的视觉比较。"Ours"噪声更少,可见性更清晰。

我们在sRGB域的所有三个数据集上进行了消融研究。表5总结了结果。与所有消融设置相比,我们的完整设置产生了更高的PSNR和SSIM。比较"Ours w/o A\mathcal{A}A"和"Ours"显示了在我们的框架中同时进行外观和结构建模的必要性。而"Ours w/o S\mathcal{S}S"和"Ours"之间的比较证明了结构引导对于增强外观建模的有效性。结果还显示了"SAFE"("Ours w/o F\mathcal{F}F" vs. "Ours")、"结构引导特征合成"("Ours w/o GGG" vs. "Ours")以及结构建模中GAN损失("Ours w/o GAN" vs. "Ours")的效果。此外,比较"Ours w/o S.G."和"Ours"证明了我们的S\mathcal{S}S相对于现有的基于编码器-解码器的低光照图像边缘检测网络的优越性。

此外,为了证明我们框架的鲁棒性,我们进行了评估设置,其中在输入图像中添加了额外噪声(高斯分布,均值为0,方差范围从30到50)。结果在表5中显示为"Ours with noise",其接近没有噪声的情况,显示了我们的框架对扰动的鲁棒性。

4.6 结构建模评估

在本节中,我们对结构建模进行了消融研究。由于我们将正常光照图像的边缘图设置为真实值,我们使用预测与真实值之间的交叉熵(CE)和L2L_{2}L2距离作为度量。我们比较了同样采用结构建模的消融设置,即"Ours w/o GAN"、"Ours w/o S.G."和"Ours w/o F\mathcal{F}F"。结果报告在表6中。与所有消融设置相比,我们的完整设置从低光照图像中实现了最准确的结构建模。通过比较"Ours w/o F\mathcal{F}F"和"Ours w/o S.G."与"Ours",我们可以证明我们的SSS在结构建模上优于其他替代方案。通过比较"Ours"与"Ours w/o GAN",我们展示了GAN损失在低光照图像结构建模中的效果。图6中也提供了视觉比较。我们可以看到,没有GAN损失,边缘预测的不确定性会增加,导致边缘预测中出现伪影。与"Ours w/o F\mathcal{F}F"和"Ours w/o S.G."的结果相比,我们的结果具有更多的边缘细节和更少的伪影。

表6: 第4.6节消融研究的结果。

图5: SID的sRGB(顶部)和RAW(底部)域的视觉比较。"Ours"噪声更少,视觉细节更清晰。

表5: 第4.5节消融研究的结果。

4.7 用户研究

我们进行了一项大规模用户研究,有100名参与者进行人类主观评估,并根据在SID和LOL上的平均PSNR选择了五个最强的基线。所有方法都在SID上训练,我们在从iPhone 8拍摄的真实低光照照片(总共50张图像)上评估它们的性能。拍摄环境多种多样,包括室内和室外场景。遵循[56]中的设置,通过用户对图7中所示的六个问题进行评分来完成评估,分数范围从1(最差)到5(最好)。图7展示了不同方法的评分分布。我们可以看到我们的框架获得了更多的高分和更少的低分,显示了我们结果的优越感知质量。

4.8 使用更多数据的结构建模

所有上述结果(我们的和基线的)都是从没有额外数据训练的网络中获得的。配对低光照和正常光照数据的收集,即III和Iˉ\bar{I}Iˉ,是困难且昂贵的,而监督结构建模S\mathcal{S}S的配对数据是容易获得的,因为真实值Iˉs\bar{I}_{s}Iˉs可以通过边缘检测算法从Iˉ\bar{I}Iˉ获得。因此,我们可以轻松地从包含正常光照数据的另一个数据集中为S\mathcal{S}S获取额外的数据对。遵循[60],我们采用AVA数据集[31]来获取数据对以微调S\mathcal{S}S。通过为非常暗的区域合成更好的结构,结果可以再次得到改善,如表7所示(Ours with E.D.)。

4.9 使用其他结构表示的我们的方法

在这项工作中,我们采用边缘进行结构建模,因为边缘是适用于各种场景的通用结构表示。我们的框架也适用于其他结构表示,例如分割图和深度图。我们采用在ADE20K[72]和MIX 6[35]上训练的DPT模型[35]来提取正常光照数据的分割图和深度图。并将它们用作真实值来训练S\mathcal{S}S。如表7所示,所有这些结果("Ours with Seg."和"Ours with Dep.")都优于表1、2、3中的基线,证明了我们的结构建模和引导策略的有效性。

5 结论

在本文中,我们提出了一个新的框架来进行结构建模,并利用恢复的结构图来增强外观建模结果。与现有方法不同,我们框架中的结构建模是通过一个带有结构特征的改进生成模型进行的,并使用GAN损失进行训练。我们进一步设计了一个新颖的结构引导增强模块,用于通过结构引导的特征合成层进行外观增强。在sRGB和RAW域上的大量实验证明了我们框架的有效性。

局限性。 当仅使用现有的低光照数据集训练时,我们的模型在极暗区域(几乎没有任何信息)的结构生成可能会产生伪影。如第4.8节所述,通过使用大规模数据进行训练可以缓解这个问题,但这需要更多的计算资源和更长的训练时间。

表7: 第4.8节和4.9节实验的结果。
图7: 用户研究的结果。纵坐标表示从所有参与者那里收到的评分频率。

相关推荐
NAGNIP6 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab7 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab7 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP11 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年11 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼11 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS11 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区12 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈12 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang13 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx