@misc{wang2023brightenandcolorizedecouplednetworkcustomized,
title={Brighten-and-Colorize: A Decoupled Network for Customized Low-Light Image Enhancement},
author={Chenxi Wang and Zhi Jin},
year={2023},
eprint={2308.03029},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2308.03029},
}
主要作者:Chenxi Wang,Zhi Jin
发表单位: 中山大学深圳校区
关键词:微光增强
实验数据库:LLIE
1、研究背景
低光照图像增强旨在改善在低光照条件下拍摄的图像的感知质量。大多数现有方法主要关注亮度信息的改善,而忽视了色度信息的重要性,导致色彩失真和应用受限。(2023年时发在ACM)
2、与之前阅读文章比较技术思路不同点
- BCNet架构:采用多任务学习框架,包含一个编码器和两个特定任务的解码器。编码器输入低光照图像的亮度信息,两个解码器分别输出预测的亮度和色度。
- 亮度和色度的解耦:将LLIE任务分解为亮度增强和色度增强两个子任务。亮度子任务关注获得良好曝光的亮度,色度子任务则利用低光照图像的色度信息作为指导,类似于用户引导的图像着色。
- 定制化增强:在测试阶段,用户可以通过修改色度指导来生成定制化的结果,包括改变基于参考图像的色彩风格和调整饱和度。
3、与之前阅读文章比较实验结果不同点
- 多任务学习:通过共享编码器,两个子任务之间可以交换信息,提高网络效率。
- 色度指导的可操作性:用户可以在不损失亮度细节的情况下,通过调整色度指导来实现定制化增强。
- 色彩分类损失:引入色彩分类损失来解决色度增强中的色度消失问题。
在这篇论文中,BCNet的损失函数由多个部分组成,以确保在亮度和色度两个子任务中都能获得良好的性能。以下是损失函数的具体定义:
- 亮度重建损失 (Lightness Reconstruction Loss):
-
- 使用Charbonnier损失来监督亮度的像素级重建,定义为: Llightness=∥L^−Lgt∥2+ϵ2 其中,L^ 是预测的亮度图,Lgt 是真实的亮度图,ϵ 是一个小常数,防止除零错误。
- 结构相似性损失 (SSIM Loss):
-
- 结构相似性指数(SSIM)用于衡量预测图像与真实图像在视觉上的相似度,定义为:Lssim=1−SSIM(L^,Lgt)
- 总变分损失 (Total Variation Loss):
-
- 用于保持图像细节,定义为: Ltv=∑i,j(L^i,j−L^i+1,j)2+(L^i,j−L^i,j+1)2
- 色度重建损失 (Chrominance Reconstruction Loss):
-
- 使用L1损失来作为色度重建损失,因为L1损失对色度的多模态性质更为鲁棒,定义为: Lchrominance=∥C^−Cgt∥1 其中,C^ 是预测的色度图,Cgt 是真实的色度图。
- 感知损失 (Perceptual Loss):
-
- 利用预训练的VGG网络提取特征,通过比较预测图像和真实图像的特征来计算感知损失,定义为: Lperceptual=∥Φ(I^)−Φ(Igt)∥2 其中,Φ 表示VGG网络的特征提取函数,I^和 Igt 分别是增强后的图像和真实图像。
- 色彩分类损失 (Color Classification Loss):
-
- 将色度图量化为离散颜色类别,并计算分类损失,以生成多样化的颜色,定义为: Lclass=H(Ppred,Pgt) 其中,H 表示交叉熵损失函数,Ppred 和 Pgt 分别是预测的颜色分布和真实的颜色分布。
总的损失函数 Ltotal 是这些损失的加权和:Ltotal=λ1Llightness+λ2Lssim+λ3Ltv+λ4Lchrominance+λ5Lperceptual+λ6Lclass其中,λ1 到 λ6 是各个损失项的权重,用于平衡它们对总损失的贡献。这些损失函数共同作用,以确保在亮度和色度两个方面都能获得高质量的图像增强效果。
4、现场问题记录
文中并未提及色度信息和亮度信息是如何从RGB图像中获取的,通过查阅其参考文献和代码发现其色空间转换可能使用了CIELAB颜色空间转换。
文中提到的色空间转换(Color Space Transformation)是将图像从RGB颜色空间转换到CIELAB颜色空间。CIELAB颜色空间将颜色信息从RGB的三个通道(红、绿、蓝)分离成两个不相关的维度:亮度(L)和色度(A和B),其中A和B通道表示颜色的对立属性,例如从绿色到红色和从蓝色到黄色。
在BCNet中,色空间转换的实现步骤如下:
- 从RGB到CIELAB的转换:
-
- 首先,将输入的RGB图像转换到CIELAB颜色空间。这一步骤通常涉及几个子步骤,包括线性变换和非线性压缩,以近似人眼对颜色的感知。
- 分解亮度和色度:
-
- 在CIELAB颜色空间中,亮度通道(L)与色度通道(A和B)被明确分开。亮度通道包含了图像的明暗信息,而色度通道包含了颜色的色调和饱和度信息。
- 使用色度信息作为着色指导:
-
- 在BCNet中,低光照图像的色度信息(A和B通道)被用作着色任务的指导。尽管低光照图像的色度信息可能不饱和,但它提供了颜色提示和边界信息,有助于恢复适当的颜色。
文中没有详细描述具体的数学公式或算法步骤,但通常RGB到CIELAB的转换先需要将RGB转到CIEXYZ(见链接https://zhuanlan.zhihu.com/p/364684230?utm_psn=1813505401104248834),再通过以下公式将CIEXYZ转到CIELAB颜色空间:
其中,(X, Y, Z) 是从RGB转换来的线性颜色空间的值,(X_0, Y_0, Z_0) 是参考白点的线性颜色空间值也称三刺激值,其具体值可参考下表,(L^*, a^*, b^*) 是CIELAB颜色空间的亮度和色度值。
- 亮度通道 L:表示颜色的亮度或明暗程度,范围从0(黑色)到100(白色)。
- 色度通道 A:表示从绿色到红色的范围,其中正数值表示红色方向,负数值表示绿色方向。
- 色度通道 B:表示从蓝色到黄色的范围,其中正数值表示黄色方向,负数值表示蓝色方向。
色空间转换是图像处理中常见的步骤,它允许算法更有效地处理颜色信息,特别是在需要区分颜色和亮度信息的应用中,如图像着色、增强和分割等。在BCNet中,这种转换是实现亮度和色度解耦的关键步骤,使得网络能够独立地处理这两个方面,从而提高低光照图像增强的效果。
色度信息由色度通道A和B的平方和取根号等一系列操作得到。