HVI: ANewColor Space for Low-light Image Enhancement
论文信息
题目: HVI: ANewColor Space for Low-light Image Enhancement
HVI:一种用于低光图像增强的新色彩空间
源码:https://github.com/Fediory/HVI-CIDNet
论文创新点
摘要
低光图像增强(LLIE)是一项至关重要的计算机视觉任务,旨在从受损的低光图像中恢复详细的视觉信息。现有的许多LLIE方法都基于标准RGB(sRGB)色彩空间,由于sRGB固有的高色彩敏感度,这些方法往往会产生色彩偏差和亮度伪影。虽然使用色调、饱和度和明度(HSV)色彩空间转换图像有助于解决亮度问题,但它会引入明显的红色和黑色噪声伪影。为了解决这些问题,我们提出了一种用于LLIE的新色彩空间,即水平/垂直-明度(HVI),它由极化的HS映射和可学习的明度定义。前者通过缩小红色坐标间的距离来消除红色伪影,而后者通过压缩低光区域来消除黑色伪影。为了充分利用色彩和明度信息,我们进一步引入了一种·新颖的颜色和明度解耦网络(CIDNet)
,以在HVI空间中学习不同光照条件下准确的光度映射函数。基准测试和消融实验的综合结果表明,所提出的结合CIDNet的HVI色彩空间在10个数据集上优于现有方法。代码可在https://github.com/Fediory/HVI-CIDNet获取。
1. 引言
在低光条件下,成像传感器常常捕获到带有严重噪声的微弱光信号
,导致低光图像的视觉质量较差。要从这些退化的图像中获得高质量图像,需要进行低光图像增强
(LLIE),其目的是在提高图像亮度的同时,减少噪声和色彩偏差的影响。
现有的大多数LLIE方法都致力于寻找合适的图像亮度,通常是通过采用深度神经网络在标准RGB(sRGB)空间中学习低光图像与正常光图像之间的映射关系
。然而,图像亮度与sRGB三个通道的颜色紧密耦合
,即文献[17, 36]中提到的高色彩敏感度,这使得这些LLIE方法恢复的图像出现明显的色彩失真,如图1(a)所示。
受Kubelka-Munk理论的启发,最近的一些方法试图将图像从sRGB色彩空间转换到HSV色彩空间
。这些方法有助于更准确地实现亮度增强,但它们会放大局部色彩空间噪声,在结果中引入严重的伪影。如图1(b)所示,从sRGB到HSV的转换破坏了红色(①红色不连续噪声)和黑色(②黑色平面噪声)颜色的连续性,导致相似颜色的欧氏距离增加,并在最终图像中引入伪影(见①和②的放大图像)。这两种噪声会在以红色为主或极暗图像的增强过程中产生严重的伪影。
为了解决这些问题,我们引入了一种名为水平/垂直-明度(HVI)的新色彩空间,专门为LLIE任务设计
。其核心思路是通过缩小相似颜色的欧氏距离来最小化色彩空间噪声
。为此,我们在色调和饱和度(HS)平面上进行极化操作,以缩小相似红色点坐标间的距离,从而消除HSV主空间中的红色不连续噪声(见图1(c))。对于黑色平面噪声问题,我们引入了一个可训练的暗度密度参数k及其相应的自适应明度压缩函数 C k C_{k} Ck,它将低光区域的半径压缩为零,并随着明度的增加逐渐扩展到值为一,如图1(d)所示。这有助于在保持原始图像外观的同时消除黑色噪声伪影。
我们进一步提出了一种LLIE网络,称为颜色和明度解耦网络
(CIDNet),以利用HVI空间中的色彩和明度信息来优化颜色和明度。在将图像转换到HVI空间后,CIDNet利用两个网络分支,即HV分支和明度分支,分别对解耦后的颜色和亮度信息进行建模,以便在不同光照条件下学习准确的光度映射并恢复更自然的颜色。我们的贡献总结如下:
- 我们为LLIE任务引入了一种新的
HVI色彩空间
,它由极化的HS和可训练的明度唯一确定。这提供了一种有效的工具,消除了HSV空间中产生的色彩空间噪声,大幅增强了低光图像的亮度
。 - 我们进一步提出了一种新颖的LLIE网络CIDNet,用于在HVI空间中同时对低光图像的明度和色彩进行建模。尽管它参数相对较少(188万)、计算量较小(75.7亿次浮点运算),具有轻量化和高效计算的特点,但它能够在不同光照条件下学习准确的光度映射。
- 定量和定性实验的综合结果表明,我们的方法在10个数据集上的不同指标上优于各种最先进(SOTA)方法。
2. 相关工作
2.1. 低光图像增强
单阶段方法
单阶段深度学习方法已广泛应用于LLIE。现有方法针对上述问题提出了不同的解决方案。例如,RetinexNet基于Retinex理论,通过解耦照度和反射率来增强图像
。Bread利用YCbCr色彩空间解耦噪声和色彩失真的纠缠
,并设计了一个颜色自适应网络来处理光增强图像中遗留的色彩失真问题。然而,RetinexNet和Bread在亮度控制方面可能不准确,并且在黑色区域存在颜色偏差
。
基于扩散的方法
随着去噪扩散概率模型(DDPMs)的发展,基于扩散的生成模型在LLIE任务中取得了显著成果,能够生成更准确合适的图像。然而,它们仍然存在局部过曝或颜色偏移等问题。最近的LLIE扩散方法试图通过纳入全局监督亮度校正或采用局部颜色校正器来应对这些挑战。其他方法,如Diff-Retinex,在LLIE任务中利用基于扩散的模型重新思考Retinex理论,旨在从sRGB色彩空间中将图像分解为照度和反射率。然而,这些扩散模型往往无法完全解耦亮度和颜色信息。
2.2. 色彩空间
RGB
目前,最常用的是sRGB色彩空间。由于与人类眼睛的视觉识别原理相同,sRGB广泛应用于数字成像设备。然而,sRGB中图像亮度和颜色与三个通道紧密相关,色彩空间中的轻微干扰会导致生成图像的亮度和颜色发生明显变化。因此,sRGB不是低光增强的理想色彩空间。
HSV和YCbCr
HSV色彩空间使用圆柱坐标系表示RGB色彩模型中的点,它确实将图像的亮度和颜色从RGB通道中解耦出来。然而,在HSV色彩空间中增强图像时,红色不连续性和黑色平面噪声带来了重大挑战,导致出现各种明显的伪影。为了规避与HSV相关的问题,一些方法也将sRGB图像转换到YCbCr色彩空间,该空间有一个亮度轴(Y)和反射颜色平面(CbCr)。虽然它解决了HSV中色调维度的不连续问题,但Y轴仍与CbCr平面部分耦合,导致严重的颜色偏移。
3. HVI色彩空间
HVI空间建立在HSV色彩空间的基础上,旨在解决HSV空间中出现的色彩空间噪声问题
。HVI的核心思想是,恢复后的图像对于各自的颜色应该具有良好的感知质量,即相似颜色的欧氏距离较小。下面我们详细介绍HVI变换,首先应用HSV色彩空间解耦输入图像的亮度和颜色信息,这可能会导致色彩空间噪声(例如红色不连续性和黑色平面)。然后,我们在HVI中引入提出的极化HS操作和可学习的明度压缩函数,以有效解决这些问题。
3.1. HSV中的色彩空间噪声
明度图
在LLIE任务中,一个关键方面是从sRGB输入图像中准确估计场景的光照强度图。以前的方法在很大程度上依赖于Retinex理论,使用深度学习直接生成相应的正常光图。虽然这种方法符合统计原理,但往往难以符合物理定律和人类感知,导致泛化能力有限。因此,我们参考Max-RGB理论来估计明度图,即HSV中的Value,而不是使用神经网络生成它。根据Max-RGB理论,对于每个像素x,我们可以估计图像 I m a x ∈ R H × W I_{max } \in \mathbb{R}^{H ×W} Imax∈RH×W的明度图如下:
I m a x ( x ) = m a x c ∈ { R , G , B } ( I c ( x ) ) I_{max }(x)=max _{c \in\{R, G, B\}}\left(I_{c}(x)\right) Imax(x)=maxc∈{
R,G,B}(Ic(x))
明度图经过sRGB-HSV变换后可能会产生各种红色和黑色噪声,我们分别介绍如下。
色调/饱和度平面
现实世界中的低光图像通常包含大量噪声,识别和去除这些噪声是LLIE任务中的一个关键挑战。最近的研究表明,低光图像中的噪声是色调和饱和度变化的主要原因,这是Reintex理论的一般情况,而对光强度的影响最小。因此,解耦具有高色彩敏感度的sRGB色彩空间对LLIE任务是有利的。通过利用基于像素的光度不变性和双色反射建模,sRGB可以解耦为照度和色度分量,从而得到HSV(色调/饱和度-明度)色彩空间。在这种表示中,Value图(V)分量对应于光强度图( V = I m a x V=I_{max } V=Imax),而HS平面形成一个独立于照度约束的色度平面。具体来说,sRGB图像到饱和度图(S)的变换定义如下:
s = { 0 , I m a x = 0 Δ I m a x , I m a x ≠ 0 , s=\left\{\begin{array}{ll} 0, & I_{max }=0 \\ \frac{\Delta}{I_{max }}, & I_{max } \neq 0 \end{array},\right. s={
0,ImaxΔ,Imax=0Imax=0,
其中 Δ = I m a x − m i n ( I c ) \Delta=I_{max }-min (I_{c}) Δ=Imax−min(Ic),s是S中的任意像素。色调图(H)的公式为:
h = { 0 , i f s = 0 I G − I B Δ m o d 6 , i f I m a x = I R 2 + I B − I R Δ , i f I m a x = I G 4 + I R − I G Δ , i f I m a x = I B , h=\left\{\begin{array}{ll} 0, & if s=0 \\ \frac{I_{G}-I_{B}}{\Delta} mod 6, & if I_{max }=I_{R} \\ 2+\frac{I_{B}-I_{R}}{\Delta}, & if I_{max }=I_{G} \\ 4+\frac{I_{R}-I_{G}}{\Delta}, & if I_{max }=I_{B} \end{array},\right. h=⎩
⎨
⎧0,ΔIG−IBmod6,2+ΔIB−IR,4+ΔIR−IG,ifs=0ifImax=IRifImax=IGifImax=IB,
其中h是H中的任意像素。
色彩空间噪声
将sRGB图像转换到HSV空间有效地将亮度与颜色解耦,能够实现更准确的颜色去噪和更自然的照度恢复
。然而,这种变换也会放大红色和暗区的噪声
,这在LLIE任务中至关重要。如图1(b)所示,在HSV色彩空间中增强图像亮度会产生更平衡的亮度水平,但红色不连续和黑色平面中的过多噪声会引入明显的伪影,特别是在输出图像的红色和暗区,这大大降低了感知质量。
为了解决这个问题,我们提出了HVI色彩空间,它在保持亮度和颜色解耦的同时,最大限度地减少了这些伪影。
3.2. 具有极化HS和可压缩明度的水平/垂直平面
我们解决色彩空间噪声问题的主要方法是确保更相似的颜色具有更小的欧氏距离。沿着色调轴,红色在 h = 0 h=0 h=0和 h = 6 h=6 h=6处看起来相同,这是由于色调轴的模运算将相同颜色分布在光谱的两端。为了解决红色不连续问题,我们对H中每个像素的色调轴(h)进行极化操作,得到正交的 h = cos ( π h 3 ) h=\cos (\frac{\pi h}{3}) h=cos(3πh)和 v = sin ( π h 3 ) v=\sin (\frac{\pi h}{3}) v=sin(3πh)。当色调轴被极化时,它在正交化的 h − v h-v h−v平面内形成一个角度,s表示离原点的距离。
对于黑色平面噪声问题,我们旨在压缩低光强度区域,同时保留较高强度区域。然而,不同数据集和网络的最佳压缩程度各不相同,因此通过学习过程使该区域自适应压缩非常重要。为了实现这一点,我们引入了一个自适应明度压缩函数 C k C_{k} Ck如下:
C k ( x ) = sin ( π I m a x ( x ) 2 ) + ε k C_{k}(x)=\sqrt[k]{\sin \left(\frac{\pi I_{max }(x)}{2}\right)+\varepsilon} Ck(x)=ksin(2πImax(x))+ε
其中 k ∈ Q + k \in \mathbb{Q}^{+} k∈Q+是一个可训练参数,用于控制暗色点密度,一个小的 ε = 1 × 1 0 − 8 \varepsilon=1 ×10^{-8} ε=1×10−8用于避免梯度爆炸。本质上, C k C_{k} Ck是一个半径映射函数,较小的 C k C_{k} Ck对应较小的半径或较低的强度值。因此,随着 C k C_{k} Ck减小,黑色点聚集在一起。然后,我们将水平( H ^ \hat{H} H^)图和( V V V)图形式化为:
H ^ = C k ⊙ S ⊙ H , V ^ = C k ⊙ S ⊙ V , \begin{aligned} \hat{H} & =C_{k} \odot S \odot H, \\ \hat{V} & =C_{k} \odot S \odot V, \end{aligned} H^V^=Ck⊙S⊙H,=Ck⊙S⊙V,
其中 h ∈ H h \in H h∈H, v ∈ V v \in V v∈V, ⊙ \odot ⊙表示逐元素乘法。H、 v ^ \hat{v} v^和 I m a x I_{max } Imax可以连接形成一个HVI图像。
通过这些操作,HVI空间构建了一个强大的色彩空间,它保留了HSV的优点,同时消除了红色和黑色噪声。更重要的是,由于k和 C k C_{k} Ck,HVI是可训练的,如下所述,可以创建专门设计的神经网络,在各种光照条件下对HVI进行低光图像增强优化。
4. 颜色和明度解耦网络
为了更有效地利用HVI空间中的色彩和亮度信息,我们引入了一种新颖的双分支LLIE网络,称为颜色和明度解耦网络(CIDNet),分别对HVI空间中的HV平面和I轴信息进行建模,如图2所示。CIDNet使用HV分支抑制暗区的噪声和色度,并利用I分支估计整个图像的照度。
CIDNet的整体框架可以分为三个连续的主要步骤。在双分支增强网络之前应用HVI变换,增强后,CIDNet执行感知逆HVI变换,将图像映射到sRGB空间。下面我们详细介绍每个步骤。
4.1. HVI变换
如3.2节所述,HVI变换将sRGB图像分解为两个分量:一个包含场景照度信息的明度图和一个包含场景颜色和结构信息的HV颜色图。具体来说,我们首先使用公式(1)计算明度图,即 I I = I m a x I_{I}=I_{max }