文章目录
- Abstract
- 3. Proposed Method
- 3.1 Network Structure
- 3.2. Pyramid Color Embedding (PCE)
- 3.3. Objective Function
Abstract
微光图像增强(LLIE)研究了如何细化光照,获得自然的正常光照图像。目前的LLIE方法主要侧重于提高光照,而没有合理地将颜色信息纳入LLIE过程中来考虑颜色的一致性。因此,增强后的图像与地面真值之间往往存在色差。
为了解决这个问题,我们提出了一种新的深颜色一致性网络,称为DCC-Net,以保持LLIE的颜色一致性。提出了一种新的“分而治之”的协同策略,该策略可以共同保存颜色信息,同时增强光照。
具体来说,我们的DCC-Net解耦策略将每个彩色图像解耦为两个主要成分,即灰度图像和颜色直方图。使用灰度图像生成合理的结构和纹理,颜色直方图有利于保持颜色的一致性。即利用两者协同完成LLIE任务。
为了匹配图像的颜色特征和内容特征,减小增强后图像与真实图片的颜色一致性差距,我们还设计了一种新的金字塔颜色嵌入(PCE)模块,可以更好地将颜色信息嵌入LLIE过程中。
在6个真实数据集上的大量实验表明,我们的DCC-Net增强后的图像更加自然和丰富多彩,与目前最先进的方法相比效果更好。
3. Proposed Method
在本节中,我们将介绍DCC-Net的框架(见图2)和细节,其目的是在获取正常光图像时保持颜色的一致性和自然性。DCC-Net有三个子网(即G-Net、C-Net、R-Net)和一个金字塔颜色嵌入(PCE)模块。
DCC-Net的总体框架。可以看出,有三个子网G-Net, C-Net和R-Net,其中G-Net的目标是恢复内容信息丰富的灰度图像,C-Net的重点是学习颜色分布,R-Net将灰度图像和颜色信息结合起来,恢复自然且颜色一致的正常光图像。
3.1 Network Structure
- G-Net
给定一个输入的微光图像,G-Net的目标是预测包含丰富结构和纹理信息的正常光图像的灰度图像,而不包含颜色信息。此过程表述为
G pre = G N e t ( S low ) G_{\text {pre }}=G N e t\left(S_{\text {low }}\right) Gpre =GNet(Slow )
式中, G p r e G_{pre} Gpre为预测灰度图像, S l o w S_{low} Slow为输入微光图像,GNet为G-Net的变换。具体来说,G-Net采用了encoder-decoder pipeline ,这与经典的U-Net类似。
对于G-Net,我们使用l1 loss来重建灰度图像:
l g = 1 H × W ∥ G p r e − G high ∥ 1 , l_g=\frac{1}{H \times W}\left\|G_{p r e}-G_{\text {high }}\right\|_1, lg=H×W1∥Gpre−Ghigh ∥1,
式中, l g l_g lg为灰度图像重建损失, G h i g h G_{high} Ghigh为常光图像的灰度图像,H和W为灰度图像 G h i g h G_{high} Ghigh的高度和宽度。因此,G-Net没有考虑色彩信息,而是致力于恢复纹理和结构。 - C-Net
颜色直方图是一种颜色特征,广泛应用于图像检索系统[9]中。颜色直方图主要描述不同颜色在整个图像中的比例,而不关心颜色的空间位置。在本文中,我们计算了RGB颜色空间中的颜色直方图。具体来说,图像的颜色直方图应为N × 256的矩阵,其中N = 3对应三个颜色通道(R、G、B), 256与像素值的范围一致。
基于颜色直方图设计了C-Net,用于颜色特征学习。C-Net的目标是获得与正常光图像一致的颜色特征(见图2)。我们还利用了C-Net的编码器-解码器管道,它通过以下公式将输入的微光图像转换为预测的颜色直方图 :
C pre = C N e t ( S low ) C_{\text {pre }}=C N e t\left(S_{\text {low }}\right) Cpre =CNet(Slow )
其中 C p r e C_{pre} Cpre为得到的颜色直方图,CNet为C-Net的计算过程。为了更好地重建颜色直方图,我们还使用l1 loss来约束C-Net,可以描述如下:
l c = 1 N × 256 ∥ C pre − C high ∥ 1 , l_c=\frac{1}{N \times 256}\left\|C_{\text {pre }}-C_{\text {high }}\right\|_1 \text {, } lc=N×2561∥Cpre −Chigh ∥1,
其中 l c l_c lc为彩色直方图重建损失, C h i g h C_{high} Chigh为正常光照图像的真实彩色直方图。注意,颜色直方图不能描述图像中的内容和细节。也就是说,C-Net把所有的注意力都放在学习一致的颜色特征上,这有利于增强。 - R-Net
R-Net在G-Net和C-Net获得的灰度图像和颜色直方图的基础上,将它们结合起来,协同恢复正常光图像。将输入的微光图像、预测的灰度图像和颜色直方图通过R-Net变换为常光图像,如下所示:
S pre = R N e t ( S low , G pre , C pre ) S_{\text {pre }}=R N e t\left(S_{\text {low }}, G_{\text {pre }}, C_{\text {pre }}\right) Spre =RNet(Slow ,Gpre ,Cpre )
式中 S p r e S_{pre} Spre为增强图像。
为了在像素级重建正常光图像,我们使用彩色图像重建损失 l r l_r lr,其定义如下:
l r = 1 N × H × W ∥ S pre − S high ∥ 1 , l_r=\frac{1}{N \times H \times W}\left\|S_{\text {pre }}-S_{\text {high }}\right\|_1 \text {, } lr=N×H×W1∥Spre −Shigh ∥1,
式中, N 、 H 、 W N、H、W N、H、W分别表示正常光图像 S h i g h S_{high} Shigh的通道数、高度、宽度。
在结构层面上,我们采用SSIM损失作为约束:
l ssim = 1 − SSIM ( S pre , S high ) l_{\text {ssim }}=1-\operatorname{SSIM}\left(S_{\text {pre }}, S_{\text {high }}\right) lssim =1−SSIM(Spre ,Shigh )
其中相似函数SSIM(·)描述为
SSIM ( x , y ) = 2 μ x μ y + c 1 μ x 2 + μ y 2 + c 1 ⋅ 2 σ x y + c 2 σ x 2 + σ y 2 + c 2 \operatorname{SSIM}(x, y)=\frac{2 \mu_x \mu_y+c_1}{\mu_x^2+\mu_y^2+c_1} \cdot \frac{2 \sigma_{x y}+c_2}{\sigma_x^2+\sigma_y^2+c_2} SSIM(x,y)=μx2+μy2+c12μxμy+c1⋅σx2+σy2+c22σxy+c2
其中,
x
,
y
∈
R
H
×
W
×
3
x, y∈R^{H×W×3}
x,y∈RH×W×3表示待测的两幅图像,
µ
x
,
µ
y
∈
R
µ_x,µ_y∈R
µx,µy∈R表示两幅图像的均值,
σ
x
,
σ
y
∈
R
σ_x,σ_y∈R
σx,σy∈R为两幅图像对应的方差,
c
1
c_1
c1和
c
2
c_2
c2为防止分母为零的两个常数参数。
此外,还采用total variation loss
l
t
v
l_{tv}
ltv作为正则化项,以保持增强图像的平滑性。
3.2. Pyramid Color Embedding (PCE)
PCE模块的设计是为了更好地将颜色信息嵌入R-Net中,如图3所示。可见,PCE具有六个金字塔结构的颜色嵌入(CE)模块。CE实现了颜色特征的动态嵌入。CE的主要组成部分是解决信息不匹配问题的双亲和矩阵(dual affinity matrix , DMA)。
图3: 金字塔颜色嵌入(PCE)和颜色嵌入(CE)模块的详细结构,其中表示
⊙
\odot
⊙逐元素乘法,⊕表示逐元素加法,⊗表示上采样操作。
-
Dual affinity matrix
从G-Net和C-Net可以得到对应的灰度图像和颜色直方图,分别提供丰富的结构和纹理细节,以及颜色信息。R-Net应用了这两种方法来达到更好的增强效果。由于颜色直方图不包含空间信息,简单地将它们连接在一起会导致增强图像中的光照不准确。此外,简单的拼接还会导致颜色信息与内容不匹配,可能会在增强后的图像中产生色差。
为了解决信息不匹配问题,获得更好的颜色信息嵌入,提出了一种新的颜色嵌入模块,该模块可以根据颜色与内容特征之间的亲和度,将颜色特征动态地融合到R-Net中。提出的双亲和矩阵(dual affinity matrix, DAM)的目的是计算亲和矩阵来匹配颜色和内容特征,进一步防止增强后的图像产生不一致的颜色。具体来说,给定颜色特征 C C C和内容特征 F F F,大小为 N × H × W N × H ×W N×H×W, DAM首先计算每个位置的曼哈顿距离和C与F的内积,公式如下:
M ( x , y ) = − ∥ F ( x , y ) − C ( x , y ) ∥ 1 , P ( x , y ) = F ( x , y ) ⋅ C ( x , y ) , \begin{gathered} M(x, y)=-\|F(x, y)-C(x, y)\|_1, \\ P(x, y)=F(x, y) \cdot C(x, y), \end{gathered} M(x,y)=−∥F(x,y)−C(x,y)∥1,P(x,y)=F(x,y)⋅C(x,y),
其中 F ( x , y ) , C ( x , y ) ∈ R N F (x, y), C (x, y)∈R^N F(x,y),C(x,y)∈RN表示F, C在(x, y)的向量, M , P ∈ R H × W M, P∈R^{H×W} M,P∈RH×W是曼哈顿距离矩阵和内积矩阵。那么,对偶亲和矩阵A (dual affinity matrix)可计算为:
A = 2 × sigmoid ( M ) ⊙ tanh ( P ) , A=2 \times \operatorname{sigmoid}(M) \odot \tanh (P), A=2×sigmoid(M)⊙tanh(P),
其中 t a n h ( ⋅ ) tanh(·) tanh(⋅)和 s i g m o i d ( ⋅ ) sigmoid(·) sigmoid(⋅)分别为tanh函数和sigmoid函数。注意,对于每个位置 ( x , y ) (x, y) (x,y), M ( x , y ) ≤ 0 M(x, y)≤0 M(x,y)≤0,使得 s i g m o d ( M ) ∈ [ 0 , 0.5 ] sigmod (M)∈[0,0.5] sigmod(M)∈[0,0.5]。因此,我们使用 2 × s i g m o i d ( M ) 2 × sigmoid (M) 2×sigmoid(M)来保证 A ∈ [ 0 , 1 ] A∈[0,1] A∈[0,1]的范围。 -
Color embedding
CE得到颜色信息的动态嵌入,其结构如图3所示。CE获得对偶亲和矩阵A后,对A与颜色特征C进行逐元素乘法,将加权的颜色特征与内容特征F求和,得到嵌入特征的颜色信息:
E = A ⊙ C + F E=A\odot C+F E=A⊙C+F
式中E为R-Net解码器中使用的输出特性。还有一个颜色特征C的上采样操作,以改变其分辨率,然后作为原始颜色特征进一步输入到下一个CE中。 -
Pyramid structure
给定颜色特征,我们可以利用它们来指导增强过程,以获得一致的颜色。为了充分探究颜色信息,我们给出了包含6个金字塔结构CEs的PCE(如图3所示)。给定第i个CEs的颜色特征 C i C_i Ci和内容特征 F i F_i Fi, PCE在每一层由浅到深的特征描述如下:
E i , C i + 1 = C E ( F i , C i ) , i = 1 , 2 , ⋯ , 6 E_i, C_{i+1}=C E\left(F_i, C_i\right), i=1,2, \cdots, 6 Ei,Ci+1=CE(Fi,Ci),i=1,2,⋯,6
其中 E i E_i Ei表示输出特征, C E ( ⋅ ) CE(·) CE(⋅)表示CE的变换。 C i C_i Ci由第 ( i − 1 ) (i−1) (i−1)个CE计算。相反,在R-Net的编码器中, F i F_i Fi是从对应层复制过来的。金字塔结构将颜色特征嵌入六层。换句话说,递进式设计可以充分利用色彩信息。因此,增强后的图像颜色将更加一致。
3.3. Objective Function
我们的DCC-Net的目标功能被描述为 :
l
total
=
λ
g
l
g
+
λ
c
l
c
+
λ
r
l
r
+
λ
s
s
i
m
l
s
s
i
m
+
λ
t
v
l
t
v
l_{\text {total }}=\lambda_g l_g+\lambda_c l_c+\lambda_r l_r+\lambda_{s s i m} l_{s s i m}+\lambda_{t v} l_{t v}
ltotal =λglg+λclc+λrlr+λssimlssim+λtvltv
其中
λ
g
,
λ
c
,
λ
r
,
λ
s
s
i
m
,
λ
t
v
λ_g, λ_c, λ_r, λ_{ssim},λ_{tv}
λg,λc,λr,λssim,λtv是几个权衡参数。其中,
l
g
l_g
lg和
l
c
l_c
lc分别用于恢复灰度图像和颜色直方图。利用
L
r
L_r
Lr和
l
s
s
i
m
l_{ssim}
lssim对标准光图像进行像素级和结构级的重建。为了防止过拟合和保持平滑性,可以将
L
t
v
L_{tv}
Ltv视为正则化项。