【CVPR 2025】本文参考论文HVI: A New Color Space for Low-light Image Enhancement
论文地址:arxiv

本人合集:

  • 2024ECCV 低光增强 Retinexformer(论文+代码讲解)
  • 2025CVPR 低光增强 HVI-CIDnet(论文+代码讲解)
  • 未完待续(争取一天一篇)

Part1:Method解读(对应论文章第三节、第四节与补充部分)

第三节:HVI色彩空间 (HVI Color Space)

在这里插入图片描述

低光图像增强(LLIE)任务中,直接在sRGB空间操作容易产生颜色偏差和亮度失真,而HSV空间虽然能分离亮度和颜色,但会引入红色不连续噪声和黑色平面噪声。为解决这些问题,论文提出了HVI(Horizontal/Vertical-Intensity)色彩空间。

核心思想:

  1. 解决HSV中的色彩空间噪声: HVI旨在通过最小化相似颜色的欧氏距离来减少色彩空间噪声,从而提升图像的感知质量。
  2. 基于HSV改进: HVI建立在HSV色彩空间之上,首先利用HSV解耦输入图像的亮度和颜色信息。

关键技术:

  1. 处理红色不连续噪声 (Red Discontinuity Noise):

    • 在HSV的色相(Hue, H)轴上,红色在 h = 0 h=0 h=0 h = 6 h=6 h=6 处由于模运算而出现不连续。
    • HVI对H轴进行极化 (Polarization) 操作,将其转换为正交的水平(h_orthogonal)和垂直(v_orthogonal)分量:
      h o r t h o g o n a l = cos ⁡ ( π h 3 ) h_{orthogonal} = \cos(\frac{\pi h}{3}) horthogonal=cos(3πh)
      v o r t h o g o n a l = sin ⁡ ( π h 3 ) v_{orthogonal} = \sin(\frac{\pi h}{3}) vorthogonal=sin(3πh)
    • 这样,色相在正交的h-v平面上形成一个角度,饱和度(Saturation, S)表示到原点的距离,从而确保红色区域的连续性。
  2. 处理黑色平面噪声 (Black Plane Noise):

    • 为了压缩低光区域同时保留高光区域,HVI引入了一个可学习的强度坍缩函数 (Adaptive Intensity Collapse Function) C k C_k Ck
      C k ( x ) = sin ⁡ ( π I m a x ( x ) 2 ) + ϵ k C_k(x) = \sqrt[k]{\sin(\frac{\pi I_{max}(x)}{2}) + \epsilon} Ck(x)=ksin(2πImax(x))+ϵ
      其中, I m a x ( x ) I_{max}(x) Imax(x) 是通过Max-RGB理论估计的像素x处的强度(即HSV中的V值), k ∈ Q + k \in \mathbb{Q}^{+} kQ+ 是一个可训练的参数,用于控制暗色点的密度, ϵ \epsilon ϵ 是一个极小值以避免梯度爆炸。
    • C k C_k Ck 作为一个半径映射函数,较小的 C k C_k Ck 对应较小的半径或较低的强度值,从而将黑色点聚集在一起。
  3. 构建HVI图像:

    • 最终的水平 ( H ^ \hat{H} H^) 和垂直 ( V ^ \hat{V} V^) 图通过以下方式形成:
      H ^ = C k ⊙ S ⊙ H o r t h o g o n a l \hat{H} = C_k \odot S \odot H_{orthogonal} H^=CkSHorthogonal
      V ^ = C k ⊙ S ⊙ V o r t h o g o n a l \hat{V} = C_k \odot S \odot V_{orthogonal} V^=CkSVorthogonal
      其中 ⊙ \odot 表示逐元素相乘。
    • H ^ \hat{H} H^ V ^ \hat{V} V^ 和原始强度图 I m a x I_{max} Imax 可以连接起来形成HVI图像。

优势:
HVI色彩空间保留了HSV解耦亮度和颜色的优点,同时通过极化HS和可学习的强度坍缩有效消除了红色和黑色噪声。由于参数k和 C k C_k Ck 的可训练性,HVI可以针对不同的光照条件进行优化。


模块四:颜色与强度解耦网络 (CIDNet - Color and Intensity Decoupling Network)

为了更有效地利用HVI空间中的颜色和亮度信息,论文提出了CIDNet,这是一个双分支的LLIE网络,用于分别建模HVI空间中的HV平面和I轴信息。
在这里插入图片描述

整体框架 (如图2所示):

  1. HVI变换 (HVI Transformation): 输入的sRGB图像首先被转换到HVI色彩空间,分解为强度图 ( I m a x I_{max} Imax) 和HV颜色图 ( H ^ \hat{H} H^, V ^ \hat{V} V^)。可训练的密度参数k在此阶段用于调整低强度色彩平面的色点密度。
  2. 双分支增强网络 (Dual-branch Enhancement Network):
    • 架构: 基于UNet架构,包含一个编码器和一个解码器,其中嵌入了多个Lighten Cross-Attention (LCA) 模块,并使用跳跃连接。
    • 双分支设计:
      • I-分支 (Intensity-branch): 用于估计整个图像的光照度,即亮度增强。
      • HV-分支 (HV-branch): 用于抑制暗区的噪声和色度,即颜色去噪。输入为HV颜色图和强度图的拼接,因为极低光图像的亮度分量也可能包含少量噪声。
    • LCA模块 (Lighten Cross-Attention Module):【详见补充部分】
      • 动机: 图像的光照强度与噪声强度成反比。低光图像中也可能存在仅需少量去噪和增强的高光区域。因此,利用强度特征指导HV分支进行去噪可以减少全局色偏并实现更有效的噪声抑制。反之,HV分支去噪后的强度信息通过交叉注意力传递给I分支,可以产生更平滑的增强结果。
      • 作用: 实现I分支和HV分支之间的信息交互和相互指导。
  3. 感知逆HVI变换 (Perceptual-inverse HVI Transformation - PHVIT): 增强后的HVI图通过PHVIT映射回sRGB空间。
    • 首先将增强后的 H ^ e n h a n c e d \hat{H}_{enhanced} H^enhanced V ^ e n h a n c e d \hat{V}_{enhanced} V^enhanced 通过 C k C_k Ck (使用训练好的k值)和 ϵ \epsilon ϵ 转换回中间变量 h ^ ′ \hat{h}' h^ v ^ ′ \hat{v}' v^
      h ^ ′ = H ^ e n h a n c e d C k + ϵ \hat{h}' = \frac{\hat{H}_{enhanced}}{C_k + \epsilon} h^=Ck+ϵH^enhanced
      v ^ ′ = V ^ e n h a n c e d C k + ϵ \hat{v}' = \frac{\hat{V}_{enhanced}}{C_k + \epsilon} v^=Ck+ϵV^enhanced
    • 然后将 h ^ ′ \hat{h}' h^ v ^ ′ \hat{v}' v^ 以及增强后的强度图 I ^ I \hat{I}_I I^I(来自I分支的输出)转换为HSV空间的H、S、V分量:
      H n e w = arctan ⁡ ( v ^ ′ h ^ ′ ) ( m o d 1 ) H_{new} = \arctan(\frac{\hat{v}'}{\hat{h}'}) \pmod 1 Hnew=arctan(h^v^)(mod1)
      S n e w = α S ( h ^ ′ ) 2 + ( v ^ ′ ) 2 S_{new} = \alpha_S \sqrt{(\hat{h}')^2 + (\hat{v}')^2} Snew=αS(h^)2+(v^)2
      V n e w = α I I ^ I V_{new} = \alpha_I \hat{I}_I Vnew=αII^I
      其中 α S \alpha_S αS α I \alpha_I αI 是可自定义的线性参数,用于调整图像的饱和度和亮度。
    • 最后,将得到的HSV图像转换为sRGB图像。

损失函数:
为了全面监督CIDNet的训练,损失函数结合了sRGB空间和HVI空间的指导:
L = λ ⋅ l ( I ^ H V I , I H V I ) + l ( I ^ , I ) L = \lambda \cdot l(\hat{I}_{HVI}, I_{HVI}) + l(\hat{I}, I) L=λl(I^HVI,IHVI)+l(I^,I)
其中, I H V I I_{HVI} IHVI I I I 分别是原始真实图像在HVI空间和sRGB空间的表示, I ^ H V I \hat{I}_{HVI} I^HVI I ^ \hat{I} I^ 是网络输出的增强后图像在对应空间的表示。 λ \lambda λ 是平衡两个空间损失的权重超参数。这种设计有助于在HVI空间(特别是针对红色和黑色区域,得益于优化的k和 C k C_k Ck)更接近sRGB的概率分布,并继承sRGB空间的像素级结构细节。


补充部分:ID-Net详细网络结构 (Supplementary Material)

根据论文补充材料第9节 “Architecture Details of CIDNet” 和图13,CID-Net的核心是Lighten Cross-Attention (LCA) 模块
在这里插入图片描述

LCA模块 (Lighten Cross-Attention Module - 如图13所示):

LCA模块旨在增强亮度分支(I-branch)和颜色分支(HV-branch)中图像结构的交互,学习它们之间的互补信息。它包含三个主要部分:

  1. 交叉注意力块 (Cross Attention Block - CAB):
    在这里插入图片描述

    • 目的: 促进HV特征和强度特征之间的相互指导。
    • 机制: 为了强制CAB学习来自对偶分支的信息(例如,HV分支仅使用I分支的信息来优化自身),它将一个分支作为查询(Query, Q),另一个分支作为键(Key, K)和值(Value, V)。
    • 以I分支为例:
      • 输入为 Y I ∈ R H ^ × W ^ × C ^ Y_I \in \mathbb{R}^{\hat{H} \times \hat{W} \times \hat{C}} YIRH^×W^×C^
      • 查询 Q = W ( Q ) Y I Q = W^{(Q)}Y_I Q=W(Q)YI
      • K = W ( K ) Y I K = W^{(K)}Y_I K=W(K)YI 和值 V = W ( V ) Y I V = W^{(V)}Y_I V=W(V)YI(注意这里原文描述似乎应为从对偶分支获取K和V,更准确地说,一个分支的Q与另一分支的K、V进行注意力计算)。严格按照图13的结构,一个分支的输入 Y I Y_I YI(或 Y H V Y_{HV} YHV)会分别生成Q、K、V。然后,例如I分支的Q会和HV分支的K、V计算注意力,反之亦然。
      • 特征嵌入卷积层 ( W ( Q ) , W ( K ) , W ( V ) W^{(Q)}, W^{(K)}, W^{(V)} W(Q),W(K),W(V)): 包含一个 1 × 1 1 \times 1 1×1 的深度可分离卷积 (depth-wise convolution) 和一个 3 × 3 3 \times 3 3×3 的组卷积 (group convolution)。
      • 注意力计算:
        Y I o u t = W ( V ⊗ Softmax ( Q ⊗ K T / α H ) + Y I i n p u t ) Y_I^{out} = W(V \otimes \text{Softmax}(Q \otimes K^T / \alpha_H) + Y_I^{input}) YIout=W(VSoftmax(QKT/αH)+YIinput)
        (注意:标准Transformer中是 Q ⊗ K T Q \otimes K^T QKT。图示中为矩阵乘法后加Softmax,再与V做矩阵乘法,然后与输入相加。 α H \alpha_H αH 是多头注意力因子。)
        图13更清晰地展示了:来自一个分支的特征(例如 Y H V Y_{HV} YHV)被分割(split)并用于生成Q,而来自另一个分支的特征(例如 Y I Y_I YI)被分割用于生成K和V。然后Q与K、V进行交叉注意力计算。输出会加回到原始输入特征上。
    • CAB在I路和HV路具有对称结构。
  2. 颜色去噪层 (Color Denoise Layer - CDL),用于HV-branch:
    在这里插入图片描述
    在这里插入图片描述

    • 理论基础: 基于光线分解为不同波长的光及对应饱和度的思想 ( P = Σ ( S ⊙ W ) P = \Sigma(S \odot W) P=Σ(SW))。增强过程建模为 P ^ = Σ ( ( S + Δ S ) ⊙ ( W + Δ W ) ) \hat{P} = \Sigma((S+\Delta S) \odot (W+\Delta W)) P^=Σ((S+ΔS)(W+ΔW)),其中 Δ S \Delta S ΔS Δ W \Delta W ΔW 表示颜色偏差和特征噪声。
    • 结构 (如图14所示):
      1. 输入张量 P P P (来自HV分支,尺寸 H × W × C H \times W \times C H×W×C)
      2. 光度分解 (Photometric decomposition): 首先用一个 1 × 1 1 \times 1 1×1 深度可分离卷积进行初步光度分解,得到 H × W × μ C H \times W \times \mu C H×W×μC 的张量。
      3. 分解为波长和饱和度: 接着通过一个 3 × 3 3 \times 3 3×3 深度可分离组卷积层将其分解为模拟的波长(W)和饱和度(S)分量。
      4. 计算偏差: Δ W = tanh ( DWConv 3 × 3 ( W ) ) \Delta W = \text{tanh}(\text{DWConv}_{3 \times 3}(W)) ΔW=tanh(DWConv3×3(W)) Δ S \Delta S ΔS 的计算方式相同。使用tanh激活函数。
      5. 重构: P ′ = ( S + Δ S ) ⊙ ( W + Δ W ) P' = (S + \Delta S) \odot (W + \Delta W) P=(S+ΔS)(W+ΔW)
      6. 最后, P ′ P' P 通过一个 1 × 1 1 \times 1 1×1 点卷积 (Point-wise convolution) 转换为增强后的输出张量,并与残差相加。
  3. 强度增强层 (Intensity Enhance Layer - IEL),用于I-branch:
    在这里插入图片描述
    在这里插入图片描述

    • 理论基础: Retinex理论,将图像分解为光照L和反射R ( I = L ⊙ R I = L \odot R I=LR)。增强过程建模为 I ^ = ( L + Δ L ) ⊙ ( R + Δ R ) \hat{I} = (L+\Delta L) \odot (R+\Delta R) I^=(L+ΔL)(R+ΔR)
    • 结构 (如图14所示,与CDL结构一致但理论基础不同):
      1. 输入张量 Y ^ I \hat{Y}_I Y^I
      2. 通过特征嵌入卷积层( W ( I ) W^{(I)} W(I) W ( R ) W^{(R)} W(R),实际操作中可能是共享或分离的卷积)分解为模拟的 Y I Y_I YI (类比光照) 和 Y R Y_R YR (类比反射)。
      3. 增强公式: Y ~ I = W s ( ( tanh ( W s Y I ) + Y I ) ⊙ ( tanh ( W s Y R ) + Y R ) ) \tilde{Y}_I = W_s((\text{tanh}(W_s Y_I) + Y_I) \odot (\text{tanh}(W_s Y_R) + Y_R)) Y~I=Ws((tanh(WsYI)+YI)(tanh(WsYR)+YR))
        其中 W s W_s Ws 表示深度可分离卷积层, ⊙ \odot 表示逐元素乘法,tanh激活函数用于计算残差项。
      4. 最后将输出与残差(输入 Y ^ I \hat{Y}_I Y^I)相加。

CIDNet整体网络结构概述 (参考图2 和LCA描述):

  • 输入: sRGB低光图像。
  • HVI转换层: 将sRGB图像转换为HVI色彩空间的强度图 ( I m a x I_{max} Imax) 和HV颜色图。
  • 初始特征提取:
    • 强度图通过一个 3 × 3 3 \times 3 3×3 卷积(I-branch Conv 3 × 3 3 \times 3 3×3)生成初始强度特征。
    • HV颜色图与强度图拼接后,通过一个 3 × 3 3 \times 3 3×3 卷积(HV-branch Conv 3 × 3 3 \times 3 3×3)生成初始HV特征。
    • (根据图2(b)的图例和补充材料对LCA中特征嵌入卷积的描述,这些初始卷积层可能就是LCA模块内部的特征嵌入卷积的一部分,或者是独立的初始卷积层)。
  • UNet骨干网络:
    • 编码器: 包含多个下采样阶段。在每个阶段,特征分别通过I-branch和HV-branch(这两个分支内部包含LCA模块进行交互)。图2显示编码器有3个LCA模块,特征图尺寸逐步减半(H/2xW/2xC, H/4xW/4x2C, H/8xW/8x4C)。
    • 瓶颈层: 可能也包含LCA模块。
    • 解码器: 包含多个上采样阶段,与编码器对应阶段通过跳跃连接(Skip Connection)相连。每个阶段同样包含LCA模块进行I特征和HV特征的处理与交互。图2显示解码器也有3个LCA模块。
  • 输出特征处理:
    • 解码器输出增强后的强度特征(来自I-branch)和增强后的HV特征(来自HV-branch)。
    • 增强后的强度特征直接作为 I ^ I \hat{I}_I I^I
    • 增强后的HV特征( H ^ e n h a n c e d \hat{H}_{enhanced} H^enhanced, V ^ e n h a n c e d \hat{V}_{enhanced} V^enhanced)与 I ^ I \hat{I}_I I^I 一起送入PHVIT模块。
  • PHVIT层: 将增强后的HVI分量转换回sRGB图像。

总结来说,CIDNet是一个基于UNet结构的双分支网络,其核心创新在于HVI色彩空间的使用以及在网络每一层级通过精心设计的LCA模块实现颜色信息(HV-branch)和强度信息(I-branch)的深度解耦、交互与协同增强。 LCA模块内的CAB负责跨分支信息融合,而IEL和CDL则分别针对强度和颜色信息依据不同的物理模型进行精细调整。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐