【LUT技术专题】LLFLUT++: 基于拉普拉斯金字塔的LUT方法

在这里插入图片描述

本文将围绕《LLFLUT++: High-resolution Photo Enhancement in Real-time: A Laplacian Pyramid Network》展开完整解析。论文提出LLF-LUT++ 端到端框架,通过拉普拉斯金字塔分解与重建融合全局和局部算子,结合图像自适应 3D LUT 与两种权重融合策略实现全局色调调整,借助空间 - 频率 Transformer 权重预测器 高效提取权重,利用图像自适应可学习局部拉普拉斯滤波器 细化高频分量边缘细节,在单 GPU 上实现 4K 图像 13ms 实时处理,在 HDR + 数据集上 PSNR 提升 2.64dB,在 MIT-Adobe FiveK 和 HDR + 两大基准数据集上,无论 480p 还是 4K 分辨率,其定量(PSNR、SSIM 等)和定性表现均优于现有先进方法。参考资料如下:
[1]. 论文地址
[2]. 代码地址


专题介绍

Look-Up Table(查找表,LUT)是一种数据结构(也可以理解为字典),通过输入的key来查找到对应的value。其优势在于无需计算过程,不依赖于GPU、NPU等特殊硬件,本质就是一种内存换算力的思想。LUT在图像处理中是比较常见的操作,如Gamma映射,3D CLUT等。

近些年,LUT技术已被用于深度学习领域,由SR-LUT启发性地提出了模型训练+LUT推理的新范式。
本专题旨在跟进和解读LUT技术的发展趋势,为读者分享最全最新的LUT方法,欢迎一起探讨交流,对该专题感兴趣的读者可以订阅本专栏第一时间看到更新。

系列文章如下:
【1】SR-LUT
【2】Mu-LUT
【3】SP-LUT
【4】RC-LUT
【5】EC-LUT
【6】SPF-LUT
【7】Dn-LUT
【8】Tiny-LUT
【9】3D-LUT
【10】4D-LUT
【11】AdaInt-LUT
【12】Sep-LUT
【13】CLUT
【14】ICELUT
【15】AutoLUT
【16】SA-3DLUT
【17】SABLUT
【18】SVDLUT


一、研究背景

照片增强的重要性不言而喻,其可以提升图像视觉美感。现有HDR 成像技术需依赖增强算子保留场景细节与色彩,但传统方法需工程师手动调整或专业软件精细修图,效率低。直接应用现有的图像增强方案存在以下的问题:

  1. 基于学习的方法:性能强但计算量随图像尺寸线性增长,4800 万像素图像需海量计算资源(数百亿 FLOPs)和存储空间(超 20GB / 张)。
  2. 混合方法(如 3D LUT 类):高效低内存,但全局算子局部效果差,高分辨率图像下采样(最高 16 倍)导致细节丢失,最典型的例子是3D-LUT

因此,论文提出兼顾实时性与高性能的高分辨率图像增强框架,解决全局与局部增强失衡问题。

思维导图如下所示:
在这里插入图片描述

二、LLFLUT方法

如标题所述,LLFLUT的核心思路是利用拉普拉斯金字塔分解与重建,在低频分量进行全局色调调整,在高频分量逐步细化局部边缘细节。它的网络整体流程图如下所示:
在这里插入图片描述
整体流程比较复杂,分为2个阶段,第一个阶段是粗增强,会增强得到2个输出,第一个是大图的粗增强结果 I ˉ \bar{I} Iˉ以及下采样的增强结果 I ˉ LR \bar{I}_{\text{LR}} IˉLR。大图的粗增强结果会利用拉普拉斯分解出多个层,然后进行逐层的增强,底层还会使用canny算子来提取边缘,加入edge map的信息辅助,最终逐层向上融合得到增强结果 I ^ \hat{I} I^
下面将分阶段来讲解。

2.1 粗增强阶段

作者在粗增强阶段使用了2种方式,一种是不带空间感知的,另一种是带空间感知加权的,因为加了空间信息会增大计算量,所以是在小分辨率上用,不带的在大分辨率上使用,如下图所示:
在这里插入图片描述
(b)图展示的方式就是3D-LUT中使用到的方法,通过预测的weight加权得到一个最终的3DLUT作用到原始图像上。(c)图展示的是一个空间加权预测的方式,会推理出每一个lut的每一个点的权重,这样再进行加权,显然它会比前面一种方式更加复杂,计算量也更大,它的计算公式如下: O ( i , j , k ) h , w , c = Φ h , w , c ( I ( i , j , k ) r , I ( i , j , k ) g , I ( i , j , k ) b , ω h , w ) = ∑ t = 0 T − 1 ω t h , w M t c ( I ( i , j , k ) r , I ( i , j , k ) g , I ( i , j , k ) b ) \begin{array}{r} O_{(i, j, k)}^{h, w, c}=\Phi^{h, w, c}\left(I_{(i, j, k)}^{r}, I_{(i, j, k)}^{g}, I_{(i, j, k)}^{b}, \omega^{h, w}\right) \\ =\sum _{t=0}^{T-1} \omega_{t}^{h, w} M_{t}^{c}\left(I_{(i, j, k)}^{r}, I_{(i, j, k)}^{g}, I_{(i, j, k)}^{b}\right) \end{array} O(i,j,k)h,w,c=Φh,w,c(I(i,j,k)r,I(i,j,k)g,I(i,j,k)b,ωh,w)=t=0T1ωth,wMtc(I(i,j,k)r,I(i,j,k)g,I(i,j,k)b)其中 O ( i , j , k ) h , w , c O_{(i,j,k)}^{h,w,c} O(i,j,k)h,w,c表示坐标 ( h , w ) (h,w) (h,w)处通道 c c c的输出像素值, ω t h , w \omega_t^{h,w} ωth,w为像素级权重图, M t c M_t^c Mtc为第 t t t个3D LUT基的映射函数,通过加权求和多个3D LUT基的映射结果,实现像素级的全局色调调整。
可见以上两个图像分别对应着大图的粗增强结果 I ˉ \bar{I} Iˉ以及下采样的增强结果 I ˉ LR \bar{I}_{\text{LR}} IˉLR的计算过程
为了实现这个过程,作者设计了如下的网络来实现这个操作,网络的输入是原图下采样的输入图像,因此计算量不会太大。
在这里插入图片描述
其中Learned weight points即大图所使用到的权重,而Learned Weight maps是小图所使用到的权重。其中的网络结构如下所示:
在这里插入图片描述
其中图(a)和图(b)分别代表Fourier-Swin Transformer encoder block和 basic Swin Transformer decoder block,是常见算子的一个组合,包含window的自注意力机制以及LN和FFT变换。
通过以上网络结构的设计,可以实现一个轻量级的粗增强过程,可以看到这部分很好的权衡了计算量和效果。

2.2 拉普拉斯金字塔增强阶段

摘出右半部分进行描述:
在这里插入图片描述
底层的输入有4个,最小分辨率的增强结果 I LR I_{\text{LR}} ILR、最小分辨率经过canny算子提取的edge map、拉普拉斯金字塔的最后2层 l ˉ n \bar{l}_n lˉn l ˉ n − 1 \bar{l}_{n-1} lˉn1,当然为了让他们分辨率一样还需要upsample的支持,他们会被concat到一起得到一个10输入通道的图,经过一系列网络处理后,得到两个逐像素的输出用于做refine,用于refine的操作叫做LLF Remapping Function,处理后可以得到增强后的高频细节 l ^ n − 1 \hat{l}_{n-1} l^n1 这个过程用公式描述: l ^ n − 1 = r ( l ‾ n − 1 , g n − 1 , α n − 1 , β n − 1 ) \hat{l}_{n-1}=r\left(\overline{l}_{n-1}, g_{n-1}, \alpha_{n-1}, \beta_{n-1}\right) l^n1=r(ln1,gn1,αn1,βn1)其中, l ˉ n − 1 \bar{l}_{n-1} lˉn1为分解得到的原始高频分量, g n − 1 g_{n-1} gn1为对应层的参考值, α n − 1 \alpha_{n-1} αn1 β n − 1 \beta_{n-1} βn1为该层学习到的参数, r ( ⋅ ) r(\cdot) r()为可学习重映射函数, l ^ n − 1 \hat{l}_{n-1} l^n1为细化后的高频分量,用于保留局部边缘细节。

再往上的循环只是少了edge map的输入,其他的输入还是一样,因此输入是9个通道,通过不断的循环得到拉普拉斯金字塔复原的所有高频细节,最后跟最小分辨率的增强结果 I LR I_{\text{LR}} ILR进行金字塔重建得到输出。

其中Remapping操作的公式如下: r ( i ) = { g + sign ⁡ ( i − g ) σ r ( ∣ i − g ∣ σ r ) α if  i ≤ σ r g + sign ⁡ ( i − g ) ( β ( ∣ i − g ∣ − σ r ) + σ r ) if  i > σ r r(i)= \begin{cases} g+\operatorname{sign}(i-g)\sigma _{r}\left(\frac{|i-g|}{\sigma _{r}}\right)^{\alpha} & \text{if } i\leq \sigma _{r} \\ g+\operatorname{sign}(i-g)\left(\beta (|i-g|-\sigma _{r})+\sigma _{r}\right) & \text{if } i>\sigma _{r} \end{cases} r(i)={g+sign(ig)σr(σrig)αg+sign(ig)(β(igσr)+σr)if iσrif i>σr

描述传统局部拉普拉斯滤波器的像素值重映射规则, i i i为输入像素值, g g g为参考像素值, σ r \sigma_r σr为强度阈值(固定为0.1), α \alpha α β \beta β为手动调参的形状参数, sign ⁡ ( ⋅ ) \operatorname{sign}(\cdot) sign()为符号函数;该公式分两段定义像素值的非线性变换,实现局部边缘增强,我们在每一层的2个逐像素的输出就是这个形状参数,相当于自适应学习这个过程,而不是手工的调节。

2.3 损失函数

如下所示,包含几个损失函数: L 1 = ∑ i = 1 H × W ( ∥ I ^ [ i ] − R [ i ] ∥ 1 + ∥ I ^ L R [ i ] − R L R [ i ] ∥ 1 ) \mathcal{L}_{1}=\sum_{i=1}^{H \times W}\left(\| \hat{I}[i]-R[i]\| _{1}+\left\| \hat{I}_{L R}[i]-R_{L R}[i]\right\| _{1}\right) L1=i=1H×W(I^[i]R[i]1+ I^LR[i]RLR[i] 1)定义框架的L1重建损失, H × W H \times W H×W为图像像素总数, I ^ [ i ] \hat{I}[i] I^[i] R [ i ] R[i] R[i]分别为高分辨率增强图像与参考图像的第 i i i个像素值, I ^ LR [ i ] \hat{I}_{\text{LR}}[i] I^LR[i] R LR [ i ] R_{\text{LR}}[i] RLR[i]为对应低分辨率图像的像素值;通过同时约束HR和LR图像的像素误差,保证增强结果的全局一致性。
L p = ∑ l 1 H l W l ∑ h , w ∥ ϕ ( I ^ ) h w l − ϕ ( R ) h w l ∥ 2 2 \mathcal{L}_{p}=\sum_{l} \frac{1}{H^{l} W^{l}} \sum_{h, w}\left\| \phi(\hat{I})_{h w}^{l}-\phi(R)_{h w}^{l}\right\| _{2}^{2} Lp=lHlWl1h,w ϕ(I^)hwlϕ(R)hwl 22计算感知层面的损失, ϕ ( ⋅ ) \phi(\cdot) ϕ()为预训练特征提取网络(如AlexNet), l l l为网络的特征层索引, H l W l H^l W^l HlWl为第 l l l层特征图的尺寸, ϕ ( I ^ ) h w l \phi(\hat{I})_{hw}^l ϕ(I^)hwl ϕ ( R ) h w l \phi(R)_{hw}^l ϕ(R)hwl分别为增强图像和参考图像在第 l l l ( h , w ) (h,w) (h,w)位置的特征值;通过约束特征空间的L2距离,提升增强图像的视觉感知质量。
最后总的损失函数是: L = L 1 + λ s L s + λ m L m + λ p L p \mathcal{L} = \mathcal{L}_1 + \lambda_s \mathcal{L}_s + \lambda_m \mathcal{L}_m + \lambda_p \mathcal{L}_p L=L1+λsLs+λmLm+λpLp L 1 \mathcal{L}_1 L1为重建损失, L s \mathcal{L}_s Ls为平滑正则化项( λ s = 0.0001 \lambda_s=0.0001 λs=0.0001), L m \mathcal{L}_m Lm为单调性正则化项( λ m = 10 \lambda_m=10 λm=10), L p \mathcal{L}_p Lp为LPIPS感知损失( λ p = 0.01 \lambda_p=0.01 λp=0.01);通过加权融合多类损失,平衡“像素级精度”与“视觉感知质量”,同时保证3D LUT映射的平滑性和单调性,这个平滑性和单调性损失可看3D-LUT讲解。

三、实验结果

首先讲一下消融实验。实验结果如下图所示,结论如下:
在这里插入图片描述在这里插入图片描述

1.组件有效性:像素级权重图、空间 - 频率 Transformer、可学习局部拉普拉斯滤波器等核心组件均能独立提升性能,全组件融合时性能最优(HDR+ 480p PSNR 达 28.43dB)。
2. 权重融合策略:组合 “权重点 + 权重图” 的融合策略优于单一权重点 / 权重图,PSNR 提升 1.32dB,兼顾效率与精度。
3. 金字塔层数:低频图像分辨率降至 64×64 时,性能仅下降 0.08dB,但计算量减少 30%,验证了自适应金字塔分解的合理性。

接着是定量实验
在这里插入图片描述
在这里插入图片描述

结论如下:

  1. 在HDR+ 和MIT-Adobe FiveK两大基准数据集上,LLF-LUT++ 在 480p 和 4K 分辨率下,PSNR、SSIM(越高越好)、LPIPS、△E(越低越好)四项核心指标均全面优于现有先进方法(如 DPRNet、LLF-LUT、DeepLPF 等),验证了方法的高性能。
  2. 相比基线模型 LLF-LUT,LLF-LUT++ 在参数减少 14K 的前提下,HDR + 数据集原始分辨率 PSNR 提升 2.64dB,MIT-Adobe FiveK 数据集原始分辨率 PSNR 提升 0.32dB,实现 “更少参数 + 更高性能”。
  3. 480p 分辨率下,LLF-LUT++ 在 HDR + 数据集 PSNR 达 28.43dB(比 SOTA 方法 DPRNet 高 0.58dB),在 MIT-Adobe FiveK 数据集 PSNR 达 26.06dB(比 LLF-LUT 高 0.53dB),局部细节与色彩还原精度显著提升。
  4. LLF-LUT++ 实现4K 高分辨率图像实时处理:单 NVIDIA Tesla V100 32GB GPU 上,4K 图像处理耗时仅 13.50ms / 张,远低于 DPRNet(104.6ms / 张)、DeepLPF(386.62ms / 张)等 SOTA 方法。
  5. 平衡计算复杂度与性能:相比 LLF-LUT,LLF-LUT++ 虽 MACs 从 2.923G 增至 3.720G,但运行时间减少 7.01ms,且性能大幅提升,在 “效率 - 性能” 权衡中表现最优。
  6. 低参数量优势:仅 717K 参数,远低于 DPRNet(2.9M)、DeepLPF(1.72M),具备边缘设备部署潜力。

然后是定性实验
在这里插入图片描述
在这里插入图片描述
结论如下:

  1. 细节保留:在草地纹理、水面灯光反射等复杂场景中,LLF-LUT++ 能精准保留高频细节,边缘清晰无模糊。
  2. 色彩还原:在天空雾区、高动态范围场景中,颜色还原自然保真,无过曝 / 欠曝、色偏等问题。
  3. 伪影控制:通过可学习局部拉普拉斯滤波器优化,有效避免传统方法的光晕伪影,视觉效果更自然。

四、总结

LLF-LUT++ 实现4K 图像 13.50ms / 张实时处理,参数 717K(比 LLF-LUT 少 14K);在两大基准数据集上,480p 和 4K 分辨率的定量(PSNR 最高提升 2.64dB)与定性表现均优于现有 SOTA 方法;它融合全局与局部增强的设计,有效解决细节丢失和局部效果差的问题。
作者也给出了一些问题,例如可能受训练数据集偏见影响,存在潜在社会偏见风险;色彩转换具有主观性,难以满足所有用户偏好;比基础 3D LUT 计算量大(MACs 更高),直接用于视频会产生帧间闪烁。这些是以后优化的目标。


感谢阅读,欢迎留言或私信,一起探讨和交流,如果对你有帮助的话,也希望可以给博主点一个关注,谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值