基于语义对比学习的低光照图像增强网络

文章链接ojs.aaai.org/index.php/A...
项目链接 : dongl-group.github.io/project\\_p...

导读

由于单个 RGB 图像存在低对比度和低能见度问题,低光图像增强LLE)仍然具有挑战性。在本文中,我们回答了一个有趣的与学习相关的问题------利用可获得的非配对的/曝光不足的图像和高级语义指导,是否可以提高最先进的低光图像增强模型的性能?

在这里,我们提出了一种有效的语义对比学习范式 用于LLE(即SCL-LLE)。在现有的低光图像增强先验知识之上,它将图像增强任务转换为多任务联合学习。其中,LLE 被转换为对比学习、语义亮度一致性和特征保存的三个约束,以确保曝光、纹理和颜色的一致性。SCL-LLE 允许 LLE 模型从未配对的正(正常光)/负(过度曝光)中学习,并使其与场景语义交互以规范化图像增强网络,但在以前的方法中很少研究高级语义知识和低级信号先验的交互。

最终,通过在现有的开放数据上进行训练,广泛的实验证明我们的方法在六个独立的跨场景数据集上超过了最先进的低光图像增强模型。此外,我们还讨论了 SCL-LLE 在极端黑暗条件下对下游语义分割任务的帮助潜力。

方法

从根本上说,低光图像增强可以被看作是寻找一个映射函数 <math xmlns="http://www.w3.org/1998/Math/MathML"> F F </math>F 的过程,使得 <math xmlns="http://www.w3.org/1998/Math/MathML"> I H = F ( I L ) I_H = {F}(I_L) </math>IH=F(IL) 成为期望的增强图像,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> I L I_L </math>IL 是输入图像。在我们的设计中,我们引入了两种不同的先验知识:

  • 一种是包括负样本 <math xmlns="http://www.w3.org/1998/Math/MathML"> I N I_N </math>IN(即欠曝光/过曝光图像)和正样本 <math xmlns="http://www.w3.org/1998/Math/MathML"> I P I_P </math>IP(即正常光照图像)的对比样本;
  • 另一种是包括语义分割的真实标签 <math xmlns="http://www.w3.org/1998/Math/MathML"> y y </math>y和语义预测 <math xmlns="http://www.w3.org/1998/Math/MathML"> y ~ \tilde{y} </math>y~的语义相关先验知识。

因此,我们构建了一个新的映射函数如下:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> I H = F ( I L , I N , I P ) I_H = {F} (I_L, I_N, I_P) </math>IH=F(IL,IN,IP)

如图2所示,我们为低光图像增强设计了一种新的语义对比学习框架(称为SCL-LLE):

SCL-LLE 包含图像增强网络语义分割网络特征提取网络 。具体而言,给定输入 <math xmlns="http://www.w3.org/1998/Math/MathML"> I L I_L </math>IL,首先应用图像增强网络,然后将增强的结果输入到接下来的语义分割网络中。对于任务模块,我们利用了三种主流网络:低光图像增强网络采用类似U-Net的骨干结构,通过生成像素校正曲线来重新映射每个像素;我们在这里使用的语义分割网络是流行的DeepLabv3+;特征提取网络采用的是VGG-16。我们使用三种损失函数对应于三个方面--对比学习、语义亮度一致性和特征保持。

对比亮度恢复模块

我们使用正常光照和过/欠曝光的图像作为低光照图像亮度恢复的正样本和负样本。需要注意的是,为了确保方法的灵活性,正样本和负样本可以在不同的场景中选择,并且与输入图像之间以及彼此之间都是不配对的。我们的目标是学习一种表示方法,将潜在特征空间中的"正"对拉在一起,并将"负"对之间的表示推开。

为此,我们需要考虑两个方面:构建"正"样本和"负"样本,以及找到这些样本的潜在特征空间进行对比。在我们的方法中,正样本由一张正常光照图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> I P I_{P} </math>IP 和通过低光图像增强网络增强的图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> I H I_H </math>IH生成。类似地,负样本由一张过/欠曝光图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> I N I_{N} </math>IN和增强的图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> I H I_H </math>IH生成。

此外,对于潜在特征空间,除了使用图像的外观之外,我们选择了一个预训练的VGG-16模型来提取特征图 <math xmlns="http://www.w3.org/1998/Math/MathML"> f ∈ R C × H × W f\in \mathbb{R}^{C\times H\times W} </math>f∈RC×H×W,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> G i j l G^{l}{ij} </math>Gijl是层 <math xmlns="http://www.w3.org/1998/Math/MathML"> l l </math>l中特征图 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i和 <math xmlns="http://www.w3.org/1998/Math/MathML"> j j </math>j之间的内积:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> G i j l = ∑ k f i k l f j k l G
{i j}^{l}=\sum_{k} f_{i k}^{l} f_{j k}^{l} </math>Gijl=k∑fiklfjkl

其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> k k </math>k 表示向量长度。然后,我们从特征提取网络的层 <math xmlns="http://www.w3.org/1998/Math/MathML"> 1 , . . . , L 1, . . . , L </math>1,...,L 中获得一组Gram矩阵 <math xmlns="http://www.w3.org/1998/Math/MathML"> { G 1 , G 2 , ... , G L } \{G^{1}, G^{2}, \ldots, G^{L}\} </math>{G1,G2,...,GL}。

Gram 矩阵 <math xmlns="http://www.w3.org/1998/Math/MathML"> G G </math>G 是潜在图像特征的定量描述。与三元组损失类似,我们的目标是:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> d ( E I H , E I P ) ≪ d ( E I H , E I N ) d (E_{I_{H}}, E_{I_{P}})\ll d (E_{I_{H}}, E_{I_{N}}) </math>d(EIH,EIP)≪d(EIH,EIN)

其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> E E </math>E表示期望。我们希望特征 <math xmlns="http://www.w3.org/1998/Math/MathML"> I H I_{H} </math>IH和 <math xmlns="http://www.w3.org/1998/Math/MathML"> I P I_{P} </math>IP之间的距离小于特征 <math xmlns="http://www.w3.org/1998/Math/MathML"> I H I_{H} </math>IH和 <math xmlns="http://www.w3.org/1998/Math/MathML"> I N I_{N} </math>IN之间的距离。对比学习损失 <math xmlns="http://www.w3.org/1998/Math/MathML"> L c L_{c} </math>Lc可以表示为:

其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> α \alpha </math>α 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> β \beta </math>β 是超参数,我们在实验中将它们分别设置为 0.3 和 0.04。

语义亮度一致性约束模块

为了更好地保持图像细节并充分利用其语义信息,我们提出了一种语义一致性损失函数来限制亮度一致性和平滑性。这个约束可以确保增强图像中相同语义部分的一致性,这在避免局部过/欠曝光方面是至关重要的,正如后面的实验所证明的。

在真实场景中,属于同一语义类别的元素具有聚集或相邻的位置,并且应具有一致的亮度(例如天空和道路)。现有的增强网络无法使亮度不一致的部分变得平滑。基于这个观察,我们定义每个语义类别中所有像素的亮度级别的平均值 <math xmlns="http://www.w3.org/1998/Math/MathML"> B B </math>B 如下:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> B s = 1 n ∑ i ∈ θ s ( B I H i ) B_{s}=\frac{1}{n}\sum_{i\in {\theta_{s}}}^{}(B_{I_{H}}^{i}) </math>Bs=n1i∈θs∑(BIHi)

其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> s s </math>s表示第 <math xmlns="http://www.w3.org/1998/Math/MathML"> s s </math>s 个类别,我们可以分别得到代表各个类别的多个平均值 <math xmlns="http://www.w3.org/1998/Math/MathML"> { B 1 , B 2 , ... } \{B_{1}, B_{2}, \ldots \} </math>{B1,B2,...}。 <math xmlns="http://www.w3.org/1998/Math/MathML"> n n </math>n 表示该类别中具有真值 <math xmlns="http://www.w3.org/1998/Math/MathML"> y y </math>y 的语义像素的数量。我们用 <math xmlns="http://www.w3.org/1998/Math/MathML"> θ s \theta_{s} </math>θs 表示属于类别 <math xmlns="http://www.w3.org/1998/Math/MathML"> s s </math>s 的像素索引集合, <math xmlns="http://www.w3.org/1998/Math/MathML"> B I H i B_{I_{H}}^{i} </math>BIHi 表示增强图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> I H I_{H} </math>IH 中类别 <math xmlns="http://www.w3.org/1998/Math/MathML"> s s </math>s 处的亮度级别。语义亮度一致性损失 <math xmlns="http://www.w3.org/1998/Math/MathML"> L s c L_{sc} </math>Lsc 定义如下:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> L s c = ∑ s = 1 S ∑ i ∈ θ s ( B I H i − B s ) 2 − ∑ s = 1 S ( p s ∗ log ⁡ q s ) L_{sc}=\sum_{s=1}^{S}\sum_{i\in {\theta_{s}}}^{}(B_{I_{H}}^{i}-B_{s})^{2}-\sum_{s=1}^{S}(p_{s}*\log q_{s}) </math>Lsc=s=1∑Si∈θs∑(BIHi−Bs)2−s=1∑S(ps∗logqs)

其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> S S </math>S 是语义预测 <math xmlns="http://www.w3.org/1998/Math/MathML"> y ~ \tilde{y} </math>y~ 中的类别数量, <math xmlns="http://www.w3.org/1998/Math/MathML"> p s p_{s} </math>ps 表示真值, <math xmlns="http://www.w3.org/1998/Math/MathML"> q s q_{s} </math>qs 表示语义预测 <math xmlns="http://www.w3.org/1998/Math/MathML"> y ~ \tilde{y} </math>y~ 中的预测值。

特征保持模块

许多低层次的视觉任务使用感知损失来使期望的图像与其真实图像在感知上保持一致。为了与感知损失的典型用法区分开来,我们将其重新定义为特征保留损失,以保留增强前后的图像特征。特征保留损失 <math xmlns="http://www.w3.org/1998/Math/MathML"> L f r L_{fr} </math>Lfr 定义如下:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> L f r = 1 C l W l H l ( f l ( I L ) − f l ( I H ) ) 2 L_{fr}=\frac{1}{C_{l}W_{l}H_{l}}(f^{l}(I_{L})-f^{l}(I_{H}))^{2} </math>Lfr=ClWlHl1(fl(IL)−fl(IH))2

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> f l ( I L ) f^{l}(I_{L}) </math>fl(IL) 表示输入图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> I L I_{L} </math>IL 在第 <math xmlns="http://www.w3.org/1998/Math/MathML"> l l </math>l 层的特征图 <math xmlns="http://www.w3.org/1998/Math/MathML"> f ∈ R C × H × W f\in \mathbb{R}^{C\times H\times W} </math>f∈RC×H×W, <math xmlns="http://www.w3.org/1998/Math/MathML"> f l ( I H ) f^{l}(I_{H}) </math>fl(IH) 表示增强图像 <math xmlns="http://www.w3.org/1998/Math/MathML"> I H I_{H} </math>IH 在第 <math xmlns="http://www.w3.org/1998/Math/MathML"> l l </math>l 层的特征图。

由于颜色自然度是低光照增强的重要考虑因素之一,我们添加了一个颜色一致性项 <math xmlns="http://www.w3.org/1998/Math/MathML"> L c c L_{cc} </math>Lcc,将其与特征保留项结合起来。 <math xmlns="http://www.w3.org/1998/Math/MathML"> L c c L_{cc} </math>Lcc 约束三个通道的比例,以防止增强图像中可能出现的颜色偏差。此外,为了避免相邻像素之间的过度和锐利变化,还在 <math xmlns="http://www.w3.org/1998/Math/MathML"> L c c L_{cc} </math>Lcc 中嵌入了一个光照平滑惩罚项。 <math xmlns="http://www.w3.org/1998/Math/MathML"> L c c L_{cc} </math>Lcc 的表达式如下:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> L c c = ∑ ∀ ( p , q ) ∈ ξ ( J p − J q ) 2 + λ 1 M ∑ m = 1 M ∑ p ∈ ξ ( ∥ ▽ x A m p ∥ + ∥ ▽ y A m p ∥ ) , ξ = { R , G , B } L_{cc} =\sum_{\forall (p,q)\in \xi }(J^p-J^q)^2 + \lambda \frac{1}{M}\sum_{m=1}^{M}\sum_{p\in \xi }(\|{\triangledown x{A}{m}^{p}} \|+\|{\triangledown y{A}{m}^{p}} \|), \xi=\{ R,G,B \} </math>Lcc=∀(p,q)∈ξ∑(Jp−Jq)2+λM1m=1∑Mp∈ξ∑(∥▽xAmp∥+∥▽yAmp∥),ξ={R,G,B}

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> J p J^p </math>Jp 表示增强图像中 <math xmlns="http://www.w3.org/1998/Math/MathML"> p p </math>p 通道的平均强度值, <math xmlns="http://www.w3.org/1998/Math/MathML"> ( p , q ) (p,q) </math>(p,q) 表示一对通道, <math xmlns="http://www.w3.org/1998/Math/MathML"> M M </math>M 是迭代次数, <math xmlns="http://www.w3.org/1998/Math/MathML"> ▽ x \triangledown x </math>▽x 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> ▽ y \triangledown y </math>▽y 分别表示水平和垂直梯度操作。曲线参数图 <math xmlns="http://www.w3.org/1998/Math/MathML"> A A </math>A 是每次迭代的输出。我们在实验中将 <math xmlns="http://www.w3.org/1998/Math/MathML"> λ \lambda </math>λ 设置为200,以获得最佳结果。特征保留损失 <math xmlns="http://www.w3.org/1998/Math/MathML"> L f p L_{fp} </math>Lfp 是 <math xmlns="http://www.w3.org/1998/Math/MathML"> L f r L_{fr} </math>Lfr 和 <math xmlns="http://www.w3.org/1998/Math/MathML"> L c c L_{cc} </math>Lcc 的总和。

实验

与同行方法跨数据集比较

1.视觉质量比较

我们首先检查所提方法在亮度、颜色、对比度和自然度方面是否能够实现视觉上令人满意的结果。从图3中我们观察到,所有现有方法都在全局或局部区域存在过/欠曝光或不均匀曝光的情况。相比之下,我们的方法在前景和背景中恢复了更多细节和更好的对比度,使增强图像在颜色映射上更加真实、生动和自然。

2.无参考图像质量评估

我们采用了NIQE用于评估图像恢复结果并进行定量比较,而无需参考图像作为标准。较小的NIQE值表示更自然和更受感知偏好的质量。表1中报告了五个数据集(DICM、LIME、MEF、VV和NPE)上的NIQE结果。SCL-LLE在五个数据集中有两个取得了最好的结果,并且具有最低的平均NIQE值,表明它具有跨场景的稳定性。

3.全参考图像质量评估

对于全参考图像质量评估,我们采用峰值信噪比(PSNR,单位为dB)和结构相似度(SSIM)指标来定量比较不同方法的性能。我们在这里使用了SICE数据集的第二部分。如表2所示,我们的方法在所有同行方法中获得了最佳的PSNR和SSIM值。

4.人工主观调查

我们进行了人工主观调查进行比较。对于五个测试数据集(DICM、LIME、MEF、VV和NPE)中的每个图像,我们使用七种方法对其进行增强,并要求11名被试者对增强后的图像进行排名。我们规定每个图像的得分为1到5,值越低表示图像质量越好。最终的结果显示在表1和图4中。如表1和图4所总结的那样,我们的方法被认为具有最佳的图像质量。

消融实验

我们进行了消融实验来证明每个损失组件的有效性。图5(a-e)展示了 <math xmlns="http://www.w3.org/1998/Math/MathML"> L c L_{c} </math>Lc、 <math xmlns="http://www.w3.org/1998/Math/MathML"> L s c L_{sc} </math>Lsc和 <math xmlns="http://www.w3.org/1998/Math/MathML"> L f r L_{fr} </math>Lfr损失函数效果的可视化样本及其对应的直方图。表3显示了每个损失在五个测试集上的平均NIQE分数。 对比学习损失 <math xmlns="http://www.w3.org/1998/Math/MathML"> L c L_{c} </math>Lc在控制曝光水平方面起着重要作用。没有语义亮度一致性约束损失 <math xmlns="http://www.w3.org/1998/Math/MathML"> L s c L_{sc} </math>Lsc和没有特征保留损失 <math xmlns="http://www.w3.org/1998/Math/MathML"> L f r L_{fr} </math>Lfr的结果相对于最终结果具有较低的对比度(如天空区域)。 从相应的直方图中还可以看出,最终的损失保持了平滑的高斯混合样式的全局分布,几乎没有过曝光或欠曝光区域。与此同时,图5(b-d)的直方图中出现了不理想的单侧过曝光或欠曝光区域。 为了验证实验中负样本选择的合理性,我们在不同的设置下重新训练了SCL-LLE,如图5(g)所示,并根据表3的结果,移除负样本后,SCL-LLE倾向于使用偏置的白平衡(色温)来增强光照充足的区域,例如天空和人脸的颜色变暗。同时,如图5(h-i)所示,移除过曝光或欠曝光的负样本会导致白平衡偏移方向相反。上述的结果表明,在我们的训练框架中使用负样本的合理性和必要性。

语义分割和低光图像增强

我们在Cityscapes验证集的Frankfurt、Lindau和Munster子集上使用语义分割性能来测试增强前后的效果。此外,我们使用一系列伽马值进行标准的正伽马变换,以模拟较低亮度的图像。如表4所示,在所有方法中,当场景变暗时,我们的方法的分割性能趋向于最佳。

总结

本文提出了一种有效的语义对比学习范式(SCL-LLE)来解决低光图像增强问题。SCL-LLE 揭示了如何使用非配对的负样本和正样本生成视觉上令人愉悦的图像,并说明了我们如何利用语义信息来保持输入和输出之间的视觉相似性。基于特征提取网络和语义分割网络,我们将图像增强视为多任务联合学习,其中SCL-LLE被转化为对比学习、语义亮度一致性和特征保留的三个约束,同时确保颜色、纹理和曝光的一致性。实验证明,我们的方法在六个跨域数据集上相对于现有最先进的LLE模型表现出明显的改进。同时,实验证明我们的SCL-LLE有潜力引导下游的语义分割任务获得更好的性能。

相关推荐
欧阳小猜1 小时前
深度学习②【优化算法(重点!)、数据获取与模型训练全解析】
人工智能·深度学习·算法
小欣加油2 小时前
leetcode 904 水果成篮
c++·算法·leetcode
有Li2 小时前
CXR-LT 2024:一场关于基于胸部X线的长尾、多标签和零样本疾病分类的MICCAI挑战赛|文献速递-深度学习人工智能医疗图像
论文阅读·人工智能·算法·医学生
君万2 小时前
【LeetCode每日一题】56. 合并区间
算法·leetcode·golang
墩墩同学2 小时前
【LeetCode题解】LeetCode 287. 寻找重复数
算法·leetcode·二分查找
小南家的青蛙2 小时前
LeetCode第55题 - 跳跃游戏
算法·leetcode·职场和发展
啊我不会诶3 小时前
CF每日4题(1500-1700)
c++·学习·算法
shuououo4 小时前
集成算法学习笔记
笔记·学习·算法
呼啸长风4 小时前
漫谈散列函数
算法
NAGNIP5 小时前
彻底搞懂 RoPE:位置编码的新范式
算法