【LLIE专题】通过预训练模型先验提升暗光增强模型复原效果
Boosting Image Restoration via Priors from Pre-trained Models(CVPR,2024)
- 专题介绍
- 一、研究背景
- 二、PTG方法
- 2.1 总体方案
- 2.2 详细方案
- 2.2.1 PTG-SVE
- 核心思想
- 关键公式与流程
- 技术创新
- 2.2.2 PTG-CSA
- 核心思想
- 关键公式与流程
- 技术创新
- 两节关联与整体逻辑
- 三、实验结果
- 1.定量实验
- 2.定性实验
- 3.消融实验
- 四、总结
本文将对 Boosting Image Restoration via Priors from Pre-trained Models,这篇暗光增强算法进行讲解。参考资料如下:
[1] PTG文章
专题介绍
在低光照环境下,传统成像设备往往因画面昏暗、细节丢失而受限。LLIE(低照度暗光增强)技术应运而生,它通过提升图像亮度、对比度,减少噪点并恢复色彩细节,让暗夜变得清晰可见。
LLIE技术从传统方法如直方图均衡化、Retinex模型等起步,近年来借助深度学习,尤其是卷积神经网络(CNN),GAN模型,扩散模型实现了质的飞跃。这些算法能自动学习图像特征,精准处理低光照图像,效果显著优于传统技术。
本专题将聚焦LLIE技术的核心原理、应用案例及最新进展,让我们一起见证LLIE如何点亮暗夜,开启视觉新视界!欢迎一起探讨交流!
系列文章如下
【1】ZeroDCE
【2】HVI
【3】CLIP-LIT
【4】GLARE
【5】Retinexformer
【6】SG-LLIE
【7】GPP-LLIE
【8】FusionNet
【9】EnligtenGAN
此论文总体框架如下:
一、研究背景
- 预训练模型在图像恢复中的潜力:CLIP(Contrastive Language-Image Pre-Training是 OpenAI 于 2021 年发布的多模态预训练神经网络模型,它通过大量图像 - 文本对进行预训练,能学习图像和文本之间的对齐关系)、Stable Diffusion等预训练模型在高级视觉任务中表现优异,但在低级别图像恢复任务(如低光增强、去雨、去噪、去模糊等)中的应用价值尚未被充分挖掘。
- 传统图像恢复方法的不足:图像恢复是病态问题,单纯增加模型参数易导致过拟合,且传统方法依赖的物理变量先验(如深度、语义特征)泛化能力较弱,适用范围有限。
- 预训练模型的优势:预训练模型在训练过程中接触过多种退化图像,其提取的特征可能包含与图像恢复相关的信息,可用于辅助目标恢复网络的学习。
- 此论文方案:提出了一种借助预训练模型先验来提升图像恢复效果的方法,设计了轻量级的预训练引导细化模块(PTG-RM),该模块能利用预训练模型的现成特征(OSF),有效提高多种图像恢复任务的性能。
二、PTG方法
2.1 总体方案
- 动机
作者假设先验知识g可以有效地表示为从各种预训练模型G中提取的特征,即(g = G(I_d))。请注意,G通常不是针对图像恢复目标进行训练的,但可能已经接触过具有各种退化的图像。因此,它很可能学习到有用的信息来帮助图像恢复。因此作者提出了一种新颖的方法,即使这些网络已经达到了当前的上限,该方法也使用g来改进由F(F是初始复原模型)进行的初始恢复。 - 挑战
利用g来辅助F并非易事。首先,特征g与复原任务本质上并不一致,因为它们可能代表不同的方面。 例如,CLIP的特征更侧重于语义信息,这使得与复原的直接对齐具有挑战性。此外,这些先验呈现出不同的形状,例如CLIP模型的一维(1D)特征,而F中的特征通常是二维的。为了协调表示和形状上的差异,作者提出了一个细化模块R,用于细化F的初始复原结果。此外,作者引入了一种新颖的方法,通过R中的有效注意力机制利用g来制定最优神经操作范围。这隐含地提炼了与复原相关的信息,有效地提升了最终性能。 - 方案
给定输入图像 I d I_{d} Id,得到初始恢复结果为 I ^ c = F ( I d ) \hat{I}_{c}=F(I_{d}) I^c=F(Id)。作者旨在使用所提出的预训练引导细化模块(PTG-RM)对结果进行细化,得到 I ˉ c = R ( I ^ c , I d , g ) \bar{I}_{c}=R(\hat{I}_{c}, I_{d}, g) Iˉc=R(I^c,Id,g) 。
R是一种简单的编码器 - 解码器结构。R的编码器和解码器分别表示为 R e R_{e} Re和 R d R_{d} Rd。为确保轻量化实现,在潜在空间中进行蒸馏,避免了将g与恢复相关特征对齐的需求。潜在特征f通过初始增强结果与原始输入图像之间的组合输入 R e R_{e} Re得出,表示为 f = R e ( I ^ c ⊕ I d ) f = R_{e}(\hat{I}_{c} \oplus I_{d}) f=Re(I^c⊕Id),其中 ⊕ \oplus ⊕表示拼接操作。得到的f处于 R h × w × c \mathbb{R}^{h × w × c} Rh×w×c空间中,其中h、w和c分别代表特征高度、宽度和通道数。先验信息用于进一步学习潜在特征,即 f ˉ = C ( A ( f , g ) , g ) \bar{f}=C(A(f, g), g) fˉ=C(A(f,g),g),其中A和C分别代表预训练引导的空间可变增强(PTG - SVE)和预训练引导的通道 - 空间注意力(PTG - CSA)模块。最终的增强结果由解码器得到,即 [ I m , I r ] = R d ( f ^ ) [I_{m}, I_{r}]=R_{d}(\hat{f}) [Im,Ir]=Rd(f^),它由两个分量组成。第一个分量 I m I_{m} Im代表用于减轻初始增强结果中误差的校正掩码。第二个分量 I r I_{r} Ir是用于处理伪影并添加额外细节的残差细化。最终结果表示为
I ‾ c = I d + ( I ^ c − I d ) × I m + I r . ( 1 ) \overline{I}_{c}=I_{d}+\left(\hat{I}_{c}-I_{d}\right) × I_{m}+I_{r} . (1) Ic=Id+(I^c−Id)×Im+Ir.(1) - 核心组件
- PTG-SVE(空间变化增强)
- PTG-CSA(通道-空间注意力)
2.2 详细方案
PTG-SVE和PTG-CSA的流程如上图所示。在PTG-SVE中,输入为可学习的空间embedding S m S_{m} Sm、OSF g以及输入特征 f f f;通过操作 R s R_{s} Rs和 R l R_{l} Rl生成短程和长程处理后的特征( f s f_{s} fs和 f t f_{t} ft);可学习的空间embedding S m S_{m} Sm、OSF g、输入特征 f f f自适应地制定空间权重( M M M),以融合特征( f s f_{s} fs和 f t f_{t} ft),得到 f ^ \hat{f} f^。在PTG-CSA中,OSF g通过 R c R_{c} Rc为 f ^ \hat{f} f^设定通道注意力 M c M_{c} Mc。此外,g与可学习的空间表示 S c S_{c} Sc(作者图中应该写错了)和 f ^ \hat{f} f^相结合生成 M s M_{s} Ms,然后使用空间卷积 C P C_{P} CP(通过 R P R_{P} RP获得)生成空间注意力图 M ^ s \hat{M}_{s} M^s, M ^ s \hat{M}_{s} M^s再通过 R o R_{o } Ro进一步处理。通道注意力和空间注意力输出( f f f和 f ^ s \hat{f}_{s} f^s)通过 R f R_{f} Rf合并,以增强特征 f ˉ \bar{f} fˉ。
2.2.1 PTG-SVE
核心思想
PTG-SVE 模块的核心目标是利用预训练模型特征 g = G ( I d ) g=G(I_d) g=G(Id)中隐含的图像质量信息,为特征图每个位置自适应确定最优神经操作范围(短距离/长距离操作的融合权重),从而实现不同区域的针对性优化。
关键公式与流程
-
范围分数图生成
通过位置嵌入 S m S_m Sm、预训练特征变换 T m ( g ) T_m(g) Tm(g) 和编码器特征 f f f生成“范围分数图” M M M,公式如下:
M = R m ( f ⊕ T m ( g ) ⊕ S m ) M = \mathcal{R}_m(f \oplus \mathcal{T}_m(g) \oplus \mathcal{S}_m) M=Rm(f⊕Tm(g)⊕Sm)
其中, S m = P ( S ) S_m = P(S) Sm=P(S) 为二维坐标 S S S 的位置嵌入映射, T m T_m Tm 为可学习的特征变换函数, R m \mathcal{R}_m Rm 为范围学习模块。 -
短/长距离操作融合
采用 CNN( R s \mathcal{R}_s Rs)和 Transformer( R l \mathcal{R}_l Rl)分别处理短距离和长距离特征 f s , f l f_s, f_l fs,fl,通过 ( M ) 加权融合:
f s = R s ( f ) , f l = R l ( f ) , f ^ = M × f s + ( 1 − M ) × f l f_s = \mathcal{R}_s(f), \quad f_l = \mathcal{R}_l(f), \quad \hat{f} = M \times f_s + (1-M) \times f_l fs=Rs(f),fl=Rl(f),f^=M×fs+(1−M)×fl
该机制相比传统依赖固定 SNR 值的方法(传统依赖固定 SNR 值的方法,通过预设的 SNR 阈值判断图像区域质量。若某区域 SNR 值低于阈值,认定该区域质量差,倾向选择长距离操作来捕捉非局部特征,因为长距离操作(如基于 Transformer 的操作)能获取更广泛的上下文信息,有助于恢复受损严重区域的细节;反之,对于 SNR 值高于阈值、质量相对较好的区域,优先采用短距离操作(如基于 CNN 的操作),利用其对局部特征的精确捕捉能力,进行精细化的恢复处理。但这种方法存在局限性,当图像的初始恢复结果已接近性能上限时,固定的 SNR 阈值难以自适应调整,可能导致优化失效。)更灵活,能根据输入动态调整融合策略。
技术创新
- 动态权重生成:无需预计算 SNR 等物理指标,直接通过预训练特征和空间位置信息学习最优操作范围,适应不同退化场景。
- 统一表征:通过位置嵌入将 1D 预训练特征(如 CLIP)与 2D 恢复特征对齐,解决特征维度不匹配问题。
2.2.2 PTG-CSA
核心思想
PTG-CSA 模块通过预训练特征 ( g ) 增强通道和空间维度的注意力机制,筛选与恢复相关的特征,抑制噪声和伪影,进一步优化恢复结果。
关键公式与流程
-
通道注意力计算
对特征 f ^ \hat{f} f^ 进行池化操作 O \mathcal{O} O,结合预训练特征变换 T c ( g ) T_c(g) Tc(g) 生成通道注意力图 M c M_c Mc:
M c = R c ( O ( f ^ ) ⊕ T c ( g ) ) , f ^ c = f ^ × M c M_c = \mathcal{R}_c(\mathcal{O}(\hat{f}) \oplus \mathcal{T}_c(g)), \quad \hat{f}_c = \hat{f} \times M_c Mc=Rc(O(f^)⊕Tc(g)),f^c=f^×Mc
其中 R c \mathcal{R}_c Rc 为通道注意力模块, M c M_c Mc用于加权重要特征通道。 -
空间注意力计算
通过预测位置相关的卷积核 C p \mathcal{C}_p Cp生成空间注意力图 M s M_s Ms:
C p = R p ( f ^ , T c ( g ) , S c ) , M ^ s = f ^ ∗ C p , M s = R o ( M ^ s ) \mathcal{C}_p = \mathcal{R}_p(\hat{f}, \mathcal{T}_c(g), \mathcal{S}_c), \quad \hat{M}_s = \hat{f} * \mathcal{C}_p, \quad M_s = \mathcal{R}_o(\hat{M}_s) Cp=Rp(f^,Tc(g),Sc),M^s=f^∗Cp,Ms=Ro(M^s)
其中 S c \mathcal{S}_c Sc为空间位置嵌入, R p \mathcal{R}_p Rp生成卷积核参数, ∗ * ∗ 表示逐位置卷积, R o \mathcal{R}_o Ro将特征映射至单通道生成注意力图。
C p C_p Cp 是实现空间注意力机制的核心中间变量,其设计目的是通过预训练模型特征生成位置相关的动态卷积核,从而自适应优化空间特征权重。 C p ∈ R h × w × ( k h × k w × c ) \mathcal{C}_p \in \mathbb{R}^{h \times w \times (k_h \times k_w \times c)} Cp∈Rh×w×(kh×kw×c),其中 k h , k w k_h, k_w kh,kw 是卷积核尺寸(如3×3), c c c 是特征通道数。该输出本质上是为特征图每个位置 ( h , w ) (h, w) (h,w)预测一组卷积核参数,实现“逐位置动态卷积”。
传统空间注意力通常使用固定尺寸的卷积核(如3×3)对全局特征进行处理,无法适应不同位置的特征分布差异。而 C p C_p Cp 基于当前位置的特征 f ^ \hat{f} f^、预训练先验 T c ( g ) \mathcal{T}_c(g) Tc(g)和位置信息 S c \mathcal{S}_c Sc动态生成卷积核,使每个位置的卷积操作具有针对性。例如,在图像噪声严重区域, C p C_p Cp会生成更注重全局上下文的卷积核;在细节丰富区域,则生成侧重局部特征的卷积核。 -
特征融合
合并通道和空间注意力特征:
f ‾ = R f ( f ^ c ⊕ f ^ s ) \overline{f} = \mathcal{R}_f(\hat{f}_c \oplus \hat{f}_s) f=Rf(f^c⊕f^s)
其中 f ^ s = f ^ × M s \hat{f}_s = \hat{f} \times M_s f^s=f^×Ms, R f \mathcal{R}_f Rf 为融合模块,最终通过解码器生成残差 I r I_r Ir 和校正掩码 I m I_m Im。
技术创新
- 动态卷积核:空间注意力通过预测位置特异性卷积核实现,而非固定核函数,能更精准捕捉局部特征分布。
- 无监督引导:仅依赖预训练特征 g g g,无需额外标注信息,适用于监督和无监督恢复任务。
两节关联与整体逻辑
- PTG-SVE 与 PTG-CSA 的协同:前者通过动态操作范围(全局和局部自适应融合)优化特征结构,后者通过注意力机制增强关键特征,两者共同构成“先定位后增强”的处理链条。
三、实验结果
本文是一个通用的增强模型,这里只介绍在低光增强方面的实验。
1.定量实验
- 实验设置
- 数据集:
- 低光增强:LOL-real、SIDD;
- 对比方法:
- 传统SOTA恢复模型:UHD、URetinex、SNR等;
- 结合预训练模型的方法:CLIP、BLIP2、Stable Diffusion等。
- 数据集:
- 核心结果
- 低光增强:使用了本文提出的模块,所有方法均有较大提升。
- 低光增强:使用了本文提出的模块,所有方法均有较大提升。
2.定性实验
- 可视化对比
- 低光增强:Fig.4显示,此论文恢复的图像噪声更少,暗区细节(如树叶纹理、物体轮廓)更清晰,而基线方法(如SNR)存在明显噪点和色彩失真。
- 用户研究
- A/B测试:80名参与者对基线与此论文结果进行盲选,在低光增强、去雨等任务中,Ours被选择的比例超过75%(如运动去模糊任务中偏好率达83.13%)。
- A/B测试:80名参与者对基线与此论文结果进行盲选,在低光增强、去雨等任务中,Ours被选择的比例超过75%(如运动去模糊任务中偏好率达83.13%)。
3.消融实验
- 组件必要性验证
- 删除PTG-SVE(SP):在LOL-real数据集上,URetinex的PSNR从24.70dB降至23.45dB,SSIM从0.878降至0.868,证明空间变化增强对区域自适应优化的重要性。
- 删除PTG-CSA的通道/空间注意力(CA/SA):仅保留CA时,SNR的SSIM从0.892降至0.879;仅保留SA时,PSNR从25.50dB降至24.25dB,说明两者需协同作用。
- 固定SNR掩码vs动态范围分数图:直接使用SNR值作为融合掩码时,SNR在LOL-real的PSNR为24.77dB(Ours为25.50dB),证明动态学习的M更适应复杂退化。
四、总结
此论文提出预训练引导细化模块PTG-RM,利用CLIP等预训练模型的现成特征,通过PTG-SVE和PTG-CSA组件自适应优化图像恢复,在低光增强、去雨等多任务上显著提升性能,且模型轻量化。
感谢阅读,欢迎留言或私信,一起探讨和交流。
如果对你有帮助的话,也希望可以给博主点一个关注,感谢。