HDR image reconstruction from a single exposure using deep CNNs阅读札记
??论文于2017年发表TOG。
1 Abstract
??低动态范围(LDR)设备捕获高动态范围(HDR)场景图像容易出现过曝光问题,过曝光区域会失去纹理细节,挑战图像观看或计算机视觉任务。
??现有的大部分HDR图像重建方法需要一组不同的曝光LDR图像作为输入。
?? 为了解决图像饱和区域中信息丢失的估计问题。 ??(1)LDR输入图像由编码器网络转换,表示图像空间上下文的紧凑特征。 ??(2)将编码图像馈送到对数域运行HDR重建解码器网络HDR图像。 ???配备了网络,可在LDR编码器和HDR为了充分利用高分辨率图像细节,解码器域之间传输数据。
2 HDR Reconstruction Model
2.1 问题的公式化和约束(Problem formulation and constraints)
??最终HDR重构像素 H ^ ( i , c ) \hat{H}_{(i,c)} H^(i,c),使用混合值(blend value) α i α_i αi像素级混合(blending)计算得到的, ?? i i i:空间索引 ?? c c c:颜色通道 ?? D ( i , c ) D_{(i,c)} D
(i,c)
:输入LDR图像像素 y ^ ( i , c ) \hat{y} _{(i,c)} y^(i,c):CNN输出(在对数域中): f ( − 1 ) f^{(-1)} f(−1):逆相机曲线,将输入变换到线性域。 混合(blending)是一个线性斜坡,从阈值 τ τ τ的像素值开始,到最大像素值结束(), 本文使用 τ = 0.95 τ=0.95 τ=0.95,输入定义在 [ 0 , 1 ] [0,1] [0,1]范围内。 线性混合(linear blending)( α α α还用于定义训练中的损失函数,如第2.4节所述)。 混合分量的说明如下图所示(由于混合预测的重点是饱和区域周围的重建,因此其他图像区域可能会出现伪影(图(b))):
2.2 混合动态范围自动编码器(Hybrid dynamic range autoencoder)
完整的自动编码器架构如图所示:
:对输入的LDR图像进行卷积和最大池化,最终生成 W / 32 × H / 32 × 512 W/32 ×H/32 ×512 W/32×H/32×512的低维潜像表示(latent image representation)( W W W和 H H H分别为图像宽度和高度)。 :使用实现双线性上采样,将上采样的结果与编码器对应层进行跳跃连接(更好的恢复图像细节),对跳跃连接结果进行卷积;重复以上操作,最终重建高维HDR图像。 ⭐(1)由于本文目标是重建比训练中实际使用的图像更大的图像,因此潜在表示,而是。这种全卷积网络 (FCN) 可以在任何分辨率下进行预测,该分辨率是自动编码器缩减因子的倍数。 ⭐(2)因为编码器直接对LDR输入图像进行操作,解码器负责生成HDR数据,所以(这是通过使用损失函数来实现的,该函数将网络输出与HDR gt图像的对数进行比较)。 ⭐(3)网络的所有层都,在解码器的每一层之后。
2.3 域变换与跳跃连接(Domain transformation and skip-connections)
,用于在编码器和解码器中的高层和低层特征之间传输数据。 本文的自动编码器使用跳跃连接将编码器的每个层传输到解码器端的相应层。由于编码器和解码器处理不同类型的数据(见第2.2节),连接包括由逆相机曲线描述的域变换和对数变换,将LDR显示值映射到对数HDR表示。,其中 γ = 2 γ=2 γ=2。 本文沿着特征维度连接两个层,即两个 W × H × K W×H×K W×H×K维层连接为 W × H × 2 K W×H×2K W×H×2K层。然后解码器将这些特征进行线性组合,相当于通过 1 × 1 1×1 1×1的卷积层将 2 K 2K 2K特征数减少为 K K K。完整的LDR到HDR跳跃连接定义为: h i E , h i D h_i^E,h_i^D hiE,hiD:编码器层和解码器层张量 y E , y D ∈ R ( W × H × K ) y^E,y^D∈R^(W×H×K) yE,yD∈R(W×H×K)的所有特征通道 k ∈ 1 , . . . , K k∈{1,...,K} k∈1,...,K上的切片 h ~ i D \tilde{h} _i^D h~iD:解码器特征向量,其具有从跳跃连接向量 h i E h_i^E hiE融合的信息 b b b:特征融合的偏差 σ σ σ:激活函数,本文使用ReLU函数 ⭐(在域变换中使用小常数 ϵ ϵ ϵ以避免对数变换中的零值。) 给定 K K K个特征, h E 和 h D h^E和h^D hE和hD是 1 × K 1×K 1×K个向量, W W W是一个 2 K × K 2K×K 2K×K的权重矩阵,它将 2 K 2K 2K个串联的特征映射到 K K K维。它被初始化以执行编码器和解码器特征的添加,将权重设置为 添加跳跃连接可以更好地重建图像纹理细节,如图所示:
2.4 HDR损失函数(HDR loss function)
在本文系统中,HDR解码器被设计为在对数域中运行。因此,在给定预测的对数HDR图像 y ^ \hat{y} y^和线性gt图像H的情况下,直接损失在对数HDR值上被公式化, N N N:像素数 H ( i , c ) H_{(i,c)} H(i,c): H ( i , c ) ∈ R + H_{(i,c)}∈\mathbb{R}^+ H(i,c)∈R+ ϵ ϵ ϵ:小常数,消除零像素值处的奇异性 ⭐Weber-Fechner定律暗示了,因此在对数域中制定的损失使感知误差在整个亮度范围内大致均匀分布。
,因此本文提出另一种损失函数,分别处理照度和反射率。;, H ( i , c ) = I i R ( i , c ) H_{(i,c)}=I_iR_{(i,c)} H(i,c)=IiR(i,c)。通过对数亮度 L y ^ L^{\hat{y}} Ly^的高斯低通滤波器 G σ G_σ Gσ来近似对数照度,通过预测的对数HDR图像 y ^ \hat{y} y^和对数照度之间的差值来近似对数反射率, L y ^ L^{\hat{y}} Ly^:颜色通道的线性组合, L i y ^ = l o g ( ∑ c w c e x p ( y ^ i , c ) ) L^{\hat{y}}_i=log(∑_cw_c exp(\hat{y}_{i,c} ) ) Liy^=log(∑cwcexp(y^i,c)),其中 w = { 0.213 , 0.715 , 0.072 } w=\{0.213,0.715,0.072\} w={ 0.213,0.715,0.072}。 高斯滤波器的标准偏差设置为 σ = 2 σ=2 σ=2。 使用 I I I和 R R R得到的损失函数定义为: y y y: y = l o g ( H + ϵ ) y=log(H+ϵ) y=log(H+ϵ) λ λ λ:平衡参数,平衡照度和反射率的重要度。 本文使用 λ = 0.5 λ=0.5 λ=0.5。 使用不同 λ λ λ值进行优化的预测示例结果如图所示: 使用I/R损失,在大的饱和区域中,它往往会产生较少的伪影,如图所示(一种可能的解释是,损失函数中的高斯低通滤波器可能具有正则化效应,因为它使像素中的损失受到其邻域的影响):
3 HDR Image Dataset
下图显示了两个典型LDR数据集以及125K图像的HDR数据集的平均直方图。LDR数据分别由约2.5M和200K的Places和Flickr图像组成,HDR数据由虚拟相机从HDR数据集中捕获得到。 LDR直方图显示出像素值的相对均匀分布,除了接近最大值的明显峰值,表示由于饱和而丢失的信息。HDR直方图中,像素没有饱和,而是由指数衰减的长尾表示。
虚拟相机: 使用随机选择的相机校准来捕获场景的多个随机区域。这些区域被选择为具有随机大小和位置的图像裁剪,然后随机翻转并重新采样到320×320像素。相机校准包括曝光、相机曲线、白平衡和噪声级等参数。这为本文方法提供了一组增广的LDR和相应的HDR图像,分别用作训练的输入和gt值。
4 Training
初始化网络中的权重,本文对网络的不同部分使用不同的策略。 (1)由于使用来自VGG16网络的卷积层,于是可以在Places数据库中使用可用于大规模图像分类的预训练权重来初始化编码器。 (2)使用解码器反卷积以进行双线性上采样,并使用跳跃连接层的融合以执行特征添加。 (3)对于潜在图像表示(网络结构图最右侧)和最终特征缩减(网络结构图左上角)中