Brighten-and-Colorize: A Decoupled Network for Customized Low-Light Image Enhancement

@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

代码链接:GitHub - wangchx67/BCNet: This is the official pytorch implementation of "Brighten-and-Colorize: A Decoupled Network for Customized Low-Light Image Enhancement" (ACM MM 2023)

1、研究背景

        低光照图像增强旨在改善在低光照条件下拍摄的图像的感知质量。大多数现有方法主要关注亮度信息的改善,而忽视了色度信息的重要性,导致色彩失真和应用受限。(2023年时发在ACM)

2、与之前阅读文章比较技术思路不同点

  • BCNet架构:采用多任务学习框架,包含一个编码器和两个特定任务的解码器。编码器输入低光照图像的亮度信息,两个解码器分别输出预测的亮度和色度。
  • 亮度和色度的解耦:将LLIE任务分解为亮度增强和色度增强两个子任务。亮度子任务关注获得良好曝光的亮度,色度子任务则利用低光照图像的色度信息作为指导,类似于用户引导的图像着色。
  • 定制化增强:在测试阶段,用户可以通过修改色度指导来生成定制化的结果,包括改变基于参考图像的色彩风格和调整饱和度。

3、与之前阅读文章比较实验结果不同点

  • 多任务学习:通过共享编码器,两个子任务之间可以交换信息,提高网络效率。
  • 色度指导的可操作性:用户可以在不损失亮度细节的情况下,通过调整色度指导来实现定制化增强。
  • 色彩分类损失:引入色彩分类损失来解决色度增强中的色度消失问题。

在这篇论文中,BCNet的损失函数由多个部分组成,以确保在亮度和色度两个子任务中都能获得良好的性能。以下是损失函数的具体定义:

  1. 亮度重建损失 (Lightness Reconstruction Loss):
    • 使用Charbonnier损失来监督亮度的像素级重建,定义为: Llightness​=∥L^−Lgt​∥2+ϵ2​ 其中,L^ 是预测的亮度图,Lgt​ 是真实的亮度图,ϵ 是一个小常数,防止除零错误。
  1. 结构相似性损失 (SSIM Loss):
    • 结构相似性指数(SSIM)用于衡量预测图像与真实图像在视觉上的相似度,定义为:Lssim​=1−SSIM(L^,Lgt​)
  1. 总变分损失 (Total Variation Loss):
    • 用于保持图像细节,定义为: Ltv​=∑i,j​(L^i,j​−L^i+1,j​)2+(L^i,j​−L^i,j+1​)2​
  1. 色度重建损失 (Chrominance Reconstruction Loss):
    • 使用L1损失来作为色度重建损失,因为L1损失对色度的多模态性质更为鲁棒,定义为: Lchrominance​=∥C^−Cgt​∥1​ 其中,C^ 是预测的色度图,Cgt​ 是真实的色度图。
  1. 感知损失 (Perceptual Loss):
    • 利用预训练的VGG网络提取特征,通过比较预测图像和真实图像的特征来计算感知损失,定义为: Lperceptual​=∥Φ(I^)−Φ(Igt​)∥2​ 其中,Φ 表示VGG网络的特征提取函数,I^和 Igt​ 分别是增强后的图像和真实图像。
  1. 色彩分类损失 (Color Classification Loss):
    • 将色度图量化为离散颜色类别,并计算分类损失,以生成多样化的颜色,定义为: Lclass​=H(Ppred​,Pgt​) 其中,H 表示交叉熵损失函数,Ppred​ 和 Pgt​ 分别是预测的颜色分布和真实的颜色分布。

总的损失函数 Ltotal​ 是这些损失的加权和:Ltotal​=λ1​Llightness​+λ2​Lssim​+λ3​Ltv​+λ4​Lchrominance​+λ5​Lperceptual​+λ6​Lclass​其中,λ1​ 到 λ6​ 是各个损失项的权重,用于平衡它们对总损失的贡献。这些损失函数共同作用,以确保在亮度和色度两个方面都能获得高质量的图像增强效果。

4、现场问题记录

        文中并未提及色度信息和亮度信息是如何从RGB图像中获取的,通过查阅其参考文献和代码发现其色空间转换可能使用了CIELAB颜色空间转换。

        文中提到的色空间转换(Color Space Transformation)是将图像从RGB颜色空间转换到CIELAB颜色空间。CIELAB颜色空间将颜色信息从RGB的三个通道(红、绿、蓝)分离成两个不相关的维度:亮度(L)和色度(A和B),其中A和B通道表示颜色的对立属性,例如从绿色到红色和从蓝色到黄色。

在BCNet中,色空间转换的实现步骤如下:

  1. 从RGB到CIELAB的转换:
    • 首先,将输入的RGB图像转换到CIELAB颜色空间。这一步骤通常涉及几个子步骤,包括线性变换和非线性压缩,以近似人眼对颜色的感知。
  1. 分解亮度和色度:
    • 在CIELAB颜色空间中,亮度通道(L)与色度通道(A和B)被明确分开。亮度通道包含了图像的明暗信息,而色度通道包含了颜色的色调和饱和度信息。
  1. 使用色度信息作为着色指导:
    • 在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的平方和取根号等一系列操作得到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值