文章链接:https://arxiv.org/abs/2502.20272
代码连接:https://github.com/Fediory/HVI-CIDNet
Hugging Face Demo:https://huggingface.co/spaces/Fediory/HVI-CIDNet_Low-light-Image-Enhancement_
亮点直击
为LLIE任务引入了一种新的全球首个可训练的颜色空间,该空间由极化的HS和可训练的强度唯一定义。这提供了一个有效工具,消除了HSV空间产生的颜色空间噪声,显著增强了低光图像的亮度。
进一步提出了一种新颖的LLIE网络CIDNet,用于在HVI空间中同时建模低光图像的强度和色度。尽管该网络轻量且计算高效,参数较少(1.88M)且计算负载较低(7.57GFLOPs),但它能够在不同光照条件下学习精确的光度映射。
定量和定性实验的综合结果表明,本文的方法在10个数据集上的不同指标上均优于各种类型的现有最先进(SOTA)方法。
总结速览
解决的问题
颜色偏差和亮度伪影
:现有基于sRGB空间的低光图像增强(LLIE)方法由于sRGB的高颜色敏感性,容易产生颜色偏差和亮度伪影。
YUV和Lab均不能解决亮度问题。
红色和黑色噪声伪影
:使用HSV颜色空间虽然解决了亮度问题,但会引入显著的红色不连续噪声(Red Discontinuity Noise)和黑色平面噪声(Black Plane Noise),尤其是在红色主导或极暗图像中。
提出的方案
新的颜色空间HVI(Horizontal/Vertical-Intensity)
:
通过极化的HS映射(Polarized HS Maps)减少红色坐标的欧几里得距离,消除红色不连续噪声。
引入可学习的强度压缩函数(Adaptive Intensity Collapse Function),压缩低光区域的半径以消除黑色噪声。
使用双分支结构(HV分支和强度分支)分别建模颜色和亮度信息,实现颜色与亮度的解耦。
在HVI空间中学习精确的光度映射函数,适应不同光照条件。
应用的技术
双分支结构:HV分支处理颜色信息,强度分支处理亮度信息。
光度映射优化:通过神经网络学习颜色和亮度的最佳映射关系。
达到的效果
在10个基准数据集上,全球首个可训练的颜色空间结合CIDNet的表现优于现有最先进方法。
目前,所有的代码,算法,训练权重,基于11个数据集(LOLv1, LOLv2-real, LOLv2-synthetic, DICM, LIME, NPE, MEF, VV, Sony-Total-Dark, SICE, LOL-Blur)的测试结果,均已开源。模型的demo也可以在hugging face网站上免费体验到,欢迎大家来使用我们的HVI-CIDNet方法。下面我们对我们的论文进行详细的介绍。
关键动机
低光图像增强(LLIE)旨在提升暗光环境下捕获图像的视觉质量,同时抑制噪声和颜色失真。
传统的图像增强方法大多基于常见的
sRGB色彩空间
,但其有个致命缺点——颜色和亮度高度耦合,增强时易引发色偏和亮度伪影。
后来,研究者改用HSV色彩空间(把颜色解耦为为色调、饱和度和亮度),虽然取得了一些进展,但增强效果始终不理想,会导致红色与黑暗区域产生严重伪影。
我们认为是HSV中有两种特殊的噪点导致了这个问题(如图1b):
(1)红色间断噪点:在HSV中,红色色调(Hue)在色环的两端(0°和360°)是同一个颜色,但算法处理时容易割裂,导致噪点。
(2)黑色平面噪点:低光区域的像素亮度极低,而HSV的变换过度放大这些黑暗区域,把噪声也过度放大,导致信噪比极低。
图1. sRGB-HSV-HVI的颜色空间变换过程与动机
为了解决这两种噪声,我们基于HSV,设计了一个HVI色彩空间。只需简单两步就可以解决这个问题:
(1)极坐标化HS平面,让相邻的红色区域在数学上更连续,彻底消除断裂式噪点(见图1c),确保颜色空间内相似色彩的欧氏距离最小化,提高红色区域内的信噪比。
(2)HVI引入了一个可学习的光强压缩函数(
),动态压缩低光区域强度,抑制噪声,同时保留高光细节,维持色彩空间级别的更高信噪比(见图1d)。
基于HVI的特性,我们进一步设计
双分支解耦网络CIDNet
来作为一个新的低光增强基准线方法。实验表明,HVI-CIDNet
在10+1个基准数据集
(外加一个LOL-Blur联合任务数据集)
上均达到SOTA性能
。例如,在极端暗光数据集Sony-Total-Dark上,PSNR相比最优基线提升6.68 dB,且模型参数量仅1.88M,计算量7.57 GFLOPs,显著优于现有方法。
HVI颜色空间变换
接下来,我将们介绍如何基于一张sRGB格式的图像,对其进行
HVI正变换(sRGB->HVI)
。
第一步
:根据Max-RGB理论,计算每个像素的强度(Intensity)通道,构建强度图I-Map(
):
第二步
:利用I-Map中像素的值,来得到HSV中的色相
(Hue)和饱和度
(Saturation):