迈向快速灵活稳健的微光图像增强
Posted AI浩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了迈向快速灵活稳健的微光图像增强相关的知识,希望对你有一定的参考价值。
文章目录
摘要
现有的微光图像增强技术不仅难以兼顾视觉质量和计算效率,而且在未知的复杂场景中通常无效。在本文中,我们开发了一种新的自校准照明(SCI)学习框架,用于在现实世界的低光场景中快速、灵活和鲁棒的增光图像。具体来说,我们建立了一个权重共享的级联照明学习过程来处理这个任务。考虑到级联模式的计算负担,我们构造了自校正模块,实现了各阶段结果之间的收敛,产生了仅使用单个基本块进行推理的增益(这在以往的工作中尚未得到利用),大大降低了计算成本。然后定义无监督训练损失,提高模型适应一般场景的能力。进一步,我们进行了全面的探索,挖掘了SCI的内在属性(现有工作中所缺乏的),包括操作不敏感的适应性(在不同简单操作的设置下获得稳定的性能)和模型无关的一般性(可应用于基于照明的现有工作,以提高性能)。大量的实验和烧蚀研究充分证明了我们在质量和效率上的优势。在微光人脸检测和夜间语义分割等方面的应用充分揭示了SCI的潜在实用价值。。源代码可在以下网站获得
https://github.com/vis-opt-group/SCI。
1. 简介
微光图像增强旨在使隐藏在黑暗中的信息可见,从而提高图像质量,近年来在多个新兴的计算机视觉领域受到了广泛关注[18,24,25]。下面,我们将梳理两个相关课题的发展过程。进一步,我们描述了我们的主要贡献。
基于模型的方法。一般来说,Retinex理论[16]描述了微光图像增强的基本物理规律,即微光观测可分解为照度和反射率(即清晰图像)。Fu等[5,6]使用
ℓ
2
-norm
\\ell_2 \\text -norm
ℓ2-norm 作为解决方案,首先利用
ℓ
2
-norm
\\ell_2 \\text -norm
ℓ2-norm 来约束光照。Guo等[8]采用相对总变异量[28]作为照度的约束。然而,它的致命缺陷在于过度曝光的外观。Li等人[13]在统一的优化目标中对噪声去除和弱光增强进行了建模。[10]中的工作提出了一种半解耦分解模型,以同时提高亮度和抑制噪声。一些作品(如LEACRM[17])也利用相机的响应特性进行增强。由于受到定义的正则化的限制,它们通常会产生不令人满意的结果,并且需要根据实际场景手动调整大量参数。
基于网络的方法。通过调整曝光时间,[3]中的工作构建了一个新的数据集,称为LOL数据集。本工作还设计了视网膜网,它往往产生非自然的增强结果。KinD[34]通过引入一些训练损失和调整网络架构,改善了视网膜网中出现的问题。DeepUPE[22]定义了一个用于增强低光输入的照明估计网络。[30]中的工作提出了一种递归的频带网络,并采用半监督策略进行训练。EnGAN[11]在非配对监督下设计了一种注意增强的发生器。SSIENet[33]建立了一个分解型的架构来同时估计照度和反射率。ZeroDCE[7]启发式地构建了一条具有学习参数的二次曲线。最近,Liu等人用架构搜索构建了一个受retina启发的展开框架。不可否认,这些深度网络设计得很好。然而,它们并不稳定,很难实现持续的优越性能,特别是在未知的现实场景中,不清楚的细节和不适当的暴露无处不在。
我们的贡献。为了解决上述问题,我们开发了一种新的自校准照明(SCI)学习框架,用于快速、灵活和鲁棒的微光图像增强。通过对光照学习过程的中间输出进行再开发,构造自校正模块,赋予单个基本块更强的表示性和各阶段结果之间的收敛性,实现加速。更具体地说,我们的主要贡献可以总结为:
- 我们开发了一个自校正的共享权重照明学习模块,使各阶段的结果收敛,提高了曝光稳定性,大大减少了计算量。据我们所知,这是第一个利用学习过程加速微光图像增强算法的工作。
- 我们定义了无监督训练损耗,在自校正模块的作用下约束各阶段的输出,赋予了对不同场景的适应能力。属性分析表明,SCI具有操作不敏感的适应性和模型无关的通用性,这是现有文献所没有的。
- 我们进行了大量的实验,以证明我们的方法优于其他最先进的方法。进一步在黑暗人脸检测和夜间语义分割方面的应用,揭示了我们的实用价值。简言之,SCI重新定义了基于网络的微光图像增强领域的视觉质量、计算效率和下游任务的性能的峰值点。
2. 该方法
在本节中,我们首先介绍了具有权重共享的照明学习,然后构建了自校正模块。其次介绍了无监督训练损失。最后,对我们构建的SCI进行了全面的讨论。
2.1. 照明学习与权重共享
根据Retinex理论,弱光观测y和期望的清晰图像z之间存在联系:y = z⊗x,其中x表示光照分量。通常,照明被视为核心组件,需要优化的主要是微光图像增强。根据Retinex理论,去除估计的照度可以进一步获得增强的输出。在这里,受文献[8,14]中提出的照明的阶段优化过程的启发,通过引入带有参数θ的映射
H
θ
\\mathcalH_\\boldsymbol\\theta
Hθ来学习照明,我们提供了一个渐进的视角来建模该任务,基本单元被写为:
F
(
x
t
)
:
u
t
=
H
θ
(
x
t
)
,
x
0
=
y
x
t
+
1
=
x
t
+
u
t
(1)
\\mathcalF\\left(\\mathbfx^t\\right):\\left\\\\beginarrayl \\mathbfu^t=\\mathcalH_\\boldsymbol\\theta\\left(\\mathbfx^t\\right), \\mathbfx^0=\\mathbfy \\\\ \\mathbfx^t+1=\\mathbfx^t+\\mathbfu^t \\endarray\\right. \\tag1
F(xt):ut=Hθ(xt),x0=yxt+1=xt+ut(1)
其中
u
t
\\mathbfu^t
ut和
x
t
\\mathbfx^t
xt分别表示t -th阶段的残差项和光照
(
t
=
0
,
…
,
t
−
1
)
(t=0, \\ldots, t -1)
(t=0,…,t−1)。需要注意的是,我们没有在
H
θ
\\mathcalH_\\theta
Hθ中标记阶段号,因为我们采用了权值共享机制,即在每个阶段中使用相同的体系结构
H
\\mathcalH
H和权值
θ
\\theta
θ。
事实上,参数化算子 H θ \\mathcalH_\\boldsymbol\\theta Hθ学习了光照和弱光观测之间的简单残差表示 u t \\mathbfu^t ut。这一过程受到一个共识的启发,即光照和弱光观测在大多数地区是相似的或存在线性联系。与采用弱光观测与光照之间的直接映射(现有工作中常用的模式,如[14,22])相比,学习残差表示大大降低了计算难度,既保证了性能又提高了稳定性,特别是在曝光控制方面。
事实上,我们可以直接利用上述构建的过程与给定的训练损失和数据来获得增强的模型。但值得注意的是,具有多个权值共享块的级联机构不可避免地增加了可预见的推理成本。回顾这个共享过程,每个共享块都希望输出尽可能接近预期目标的结果。再进一步说,理想的情况是第一个块可以输出期望的结果,满足任务需求。与此同时,后一个块输出与第一个块相似甚至完全相同的结果。这样,在测试阶段,我们只需要一个块来加快推理速度。接下来,我们将探讨如何实现它。
2.2. Self-Calibrated模块
在这里,我们的目标是定义一个模块,使每个阶段的结果收敛到同一状态。我们知道每一级的输入都来源于前一级,第一级的输入被明确定义为微光观测。一个直观的想法是,我们是否可以将各个阶段的输入(第一级除外)与微光观测(即第一级的输入)连接起来,间接探索各个阶段之间的收敛行为。为此,我们引入了一个自校正地图,并将其添加到微光观测中,以表示每一级输入与第一级输入之间的差异。具体来说,自校正模块可以表示为
G
(
x
t
)
:
z
t
=
y
⊘
x
t
s
t
=
K
ϑ
(
z
t
)
v
t
=
y
+
s
t
(2)
\\mathcalG\\left(\\mathbfx^t\\right):\\left\\\\beginarrayl \\mathbfz^t=\\mathbfy \\oslash \\mathbfx^t \\\\ \\mathbfs^t=\\mathcalK_\\vartheta\\left(\\mathbfz^t\\right) \\\\ \\mathbfv^t=\\mathbfy+\\mathbfs^t \\endarray\\right. \\tag2
G(xt):⎩
⎨
⎧zt=y⊘xtst=Kϑ(zt)vt=y+st(2)
其中t≥1,
v
t
v^t
vt是每个阶段的转换输入,
K
ϑ
\\mathcalK_\\vartheta
Kϑ是引入的参数化算子,具有可学习参数
ϑ
\\vartheta
ϑ。那么t阶段(t≥1)基本单位的转换可写成
F
(
x
t
)
→
F
(
G
(
x
t
)
)
(3)
\\mathcalF\\left(\\mathbfx^t\\right) \\rightarrow \\mathcalF\\left(\\mathcalG\\left(\\mathbfx^t\\right)\\right) \\tag3
F(xt)→F(G(xt))(3)
实际上,我们构建的自校正模块是通过整合物理原理,逐步校正每一级的输入,间接影响每一级的输出。为了评估自校正模块对收敛性的影响,我们在图3中绘制了各阶段结果的tSNE分布,我们可以很容易地观察到,每个阶段的结果确实收敛到相同的值。但在没有自校正模块的情况下,就不会出现这种现象。此外,上述结论也反映出我们确实实现了第2.1节最后一段所描述的意图,即使用权重共享模式训练多个级联块,但只使用单个块进行测试。
为了理解我们建立的SCI框架,我们还在图2中提供了总体流程图。
2.3. 非监督训练的损失
考虑到现有配对数据的不准确性,我们采用无监督学习来扩大网络能力。我们定义总损耗为
L
total
=
α
L
f
+
β
L
s
\\mathcalL_\\text total =\\alpha \\mathcalL_f+\\beta \\mathcalL_s
Ltotal =αLf+βLs,其中
L
f
\\mathcalL_f
Lf和
L
s
\\mathcalL_s
Ls分别代表保真度和平滑损耗。α和β是两个正平衡参数。保真度损失是为了保证估计的照度与各阶输入之间像素级的一致性,公式为:
L
f
=
∑
t
=
1
T
∥
x
t
−
(
y
+
s
t
−
1
)
∥
2
(4)
\\mathcalL_f=\\sum_t=1^T\\left\\|\\mathbfx^t-\\left(\\mathbfy+\\mathbfs^t-1\\right)\\right\\|^2 \\tag4
Lf=t=1∑T∥
∥xt−(y+st−1)∥
∥2(4)
其中T为总级数。实际上,这个函数利用重新定义的输入 y + s t − 1 y + s^t−1 y+st−1来约束输出照度 x t x^t xt,而不是手工制作的地面真相或普通的低光输入。
光照的平滑性是本课题的广泛共识[7,34]。在这里,我们采用具有空间变异’ 1范数[4]的平滑项,表示为 以上是关于迈向快速灵活稳健的微光图像增强的主要内容,如果未能解决你的问题,请参考以下文章 RetinexNet: Deep Retinex Decomposition for Low-Light Enhancement
L
s
=
∑
i
=
1
N
∑
j
∈
N
(
i
)
w
i
,
j
∣
x
i
t
−
x
j