摘要
夜間拍攝的圖像常常面臨諸如低光和模糊等挑戰,這些問題主要是由于昏暗環境和長時間曝光的頻繁使用所導致。現有方法要么獨立處理這兩種退化問題,要么依賴于通過復雜機制生成的精心設計的先驗知識,這導致了較差的泛化能力和較高的模型復雜度。為了解決這些挑戰,我們提出了一種名為LIEDNet的端到端框架,以高效且有效地在真實和合成數據上恢復高質量圖像。具體而言,所提出的LIEDNet由三個關鍵組件組成:視覺狀態空間模塊VSSM,局部特征模塊LFM 以及雙重門控Dconv前饋網絡DGDFFN。VSSM和LFM的結合使得模型能夠捕捉全局和局部特征,同時保持較低的計算開銷。此外,DGDFFN通過提取多尺度結構信息來提高圖像保真度。在真實和合成數據集上的大量實驗表明,LIEDNet在恢復低光、模糊圖像方面具有優越性能。代碼可在https://github.com/MingyuLiu1/LIEDNet 獲取。
引言
圖像修復專注于從其退化的版本中重建清晰的圖像,在多個領域有著廣泛應用,包括去霧[1]、去模糊[2]、去雨[3]和低光增強[4]。在低光場景下,夜間攝影通常采用長時間曝光來捕獲更多光線并改善照明。然而,這樣得到的圖像往往仍然存在可見度低和色彩失真的問題。此外,相機抖動或動態場景造成的運動模糊和噪聲會進一步降低長曝光期間的圖像質量[5]。因此,現實世界中的夜間圖像經常表現出如低亮度和模糊等混合退化現象,相比單一來源的退化問題,這提出了更為復雜的挑戰。
隨著深度學習的迅速發展,針對低光圖像增強(LLIE)[6]–[12]和圖像去模糊[13]–[22]提出了許多方法。然而,大多數方法獨立處理這些退化問題。具體來說,現有的LLIE技術能夠有效增強圖像亮度并減少噪聲,但往往忽視了運動模糊引起的空間退化。另一方面,當前的去模糊方法是為在正常光照條件下捕捉的圖像設計的,并且難以從低可見度圖像中提取運動模糊信息,導致次優結果。因此,簡單地結合LLIE和去模糊技術不足以解決混合退化挑戰[5]。
為了解決這些挑戰,LEDNet [5]引入了LOLBlur數據集,并提出了一種專門在其上訓練的端到端框架。盡管做出了這樣的努力,由于無法捕捉精細紋理和結構細節,該框架未能實現最佳修復質量。隨后,開發了一種名為FourierDiff [23]的零樣本方法來聯合處理LLIE和去模糊。最近,VQCNIR [24]和Ye等[25]研究了集成可靠的先驗知識以增強修復性能的方法。然而,這些方法嚴重依賴于通過復雜模塊獲得的精心設計的先驗知識,這阻礙了模型的泛化能力,并不可避免地增加了計算成本。
我們注意到,在低光圖像中,亮度并非均勻分布。因此,僅 LEDNet 依靠全局信息可能導致照明過度或不足增強[5],如圖2(a)所示。整合局部和全局特征有助于緩解增強過程中的局部偽影。然而,如圖2(b)所示,這種組合仍然難以消除模糊并恢復精細的紋理細節。這一局限性源于場景內的不同元素,例如移動物體和背景,經歷不同的模糊運動,每一種都需要特定的信息才能進行有效的去模糊。因此,源自固定尺度感受野的空間線索不足以準確去模糊。
基于上述觀察,我們提出了一種名為 LIEDNet 的輕量級端到端框架,用于從未清晰的低光圖像中恢復高質量圖像。與之前的最先進方法相比,我們的模型展示了更優越的性能和更低的模型復雜度,如圖1所示。模型的核心是Local Mamba Block (LMB),它集成了三個基本模塊:(1) 全局特征模塊(GFM),(2) 局部特征模塊(LFM),以及(3) 雙重門控Dconv前饋網絡(DGDFFN)。雖然基于 Transformer 的模型擅長獲取像素級別的關系以進行圖像修復[7],[16],[26],但它們的高計算復雜度限制了實際應用。相比之下,視覺狀態空間模塊(VSSM)提供了線性復雜度的同時有效地建模長程依賴,成為傳統Transformer架構更為高效的替代方案。因此,我們將 VSSM 作為 GFM 納入我們的框架中。此外,應用了一個基于CNN的模塊來增強局部特征提取,減少了色彩失真并提高了局部區域的修復質量。基于GDFFN [16],DGDFFN采用多分支架構來在門控分支內捕捉多尺度特征,促進顯著的模糊減輕和精確的紋理及結構細節恢復。
我們的主要貢獻總結如下:
- 我們提出了LIEDNet,這是一種專為聯合低光增強和去模糊任務設計的輕量級網絡,實現了效率和效果的平衡。
- 我們引入了使用VSSMs捕獲長程依賴性和CNNs提取局部信息的Local Mamba Blocks。此外,我們集成了新型的DGDFFN來提供多尺度結構特征。通過利用豐富的局部和全局線索,所提出的網絡顯著增強了修復質量。
- 在合成和真實世界數據集上的廣泛實驗表明了模型的卓越性能以及低計算開銷。
II. 相關工作
A. 低光照圖像增強
低光照圖像增強(LLIE)旨在恢復在次優光照條件下拍攝的圖像。傳統方法如直方圖均衡化[27]–[32]、伽馬校正[33]–[35]和Retinex理論[36]–[40]通常會產生偽影,且難以泛化到復雜的真實場景。近年來,基于學習的方法[6]、[41]–[43]在LLIE任務中表現出顯著改進。首個基于CNN的LLIE方法LLNet[41]利用自編碼器對低光照圖像進行去噪和光照增強。后續研究[6]、[8]、[44]將Retinex理論融入深度學習框架以提升性能。此外,無監督學習被探索用于增強網絡的泛化能力。Zero-DCE[42]和Zero-DCE++[43]將LLIE建模為圖像特定的曲線估計任務。最近,RetinexMamba[8]和MambaLLIE[45]嘗試基于Mamba的網絡解決LLIE問題。盡管現有LLIE方法表現優異,但它們未能解決由運動模糊引起的空間退化。相比之下,我們的方法通過整合VMamba與CNN來捕獲全局和局部特征,指導網絡恢復具有清晰紋理的正常光照圖像。
B. 圖像去模糊
由于圖像去模糊是病態問題,傳統方法通常將其建模為優化問題[46]–[48],并利用稀疏圖像先驗[48]、局部平滑先驗[49]或暗通道先驗[50]等約束解空間。然而,對手工先驗的依賴限制了這些方法在復雜場景中的泛化能力。基于學習的方法(如CNN模型)在去模糊任務中取得了顯著進展[13]–[15]、[51]–[54]。SRN[14]提出了一種從粗到細的多尺度圖像恢復網絡,DMPHN[15]則利用多塊分層網絡整合多尺度信息。此外,基于Transformer的方法因擅長捕獲全局上下文信息,在圖像去模糊中表現出色[16]、[26]、[55]。Restormer[16]在通道維度而非空間維度應用自注意力機制,顯著提升了去模糊效果。為降低Transformer的計算復雜度,EVSSM[17]提出了一種基于Mamba的高效去模糊框架。然而,現有方法大多針對日間光照條件設計,在低光照環境中性能顯著下降。我們提出的LIEDNet通過高效提取低光照數據的結構信息,克服了這一局限性。
C. 聯合低光照增強與去模糊
低光照模糊圖像恢復仍是一個相對未被充分探索的領域。簡單地將LLIE與去模糊網絡結合無法充分解決其內在復雜性。先前工作如LEDNet[5]提出了統一網絡以同時處理LLIE和去模糊。隨后,FourierDiff[23]提出零樣本擴散模型來解決光照與結構細節的聯合退化問題。Ye等人[25]采用基于Transformer的框架并結合結構先驗來恢復混合退化的圖像。最近,VQCNIR[24]引入碼本先驗以應對復雜退化。然而,這些方法通常涉及高計算復雜度和復雜機制。相比之下,我們的方法提供了一種更高效的解決方案,在降低模型復雜度的同時實現了可靠的性能。
D. 視覺狀態空間模型
近年來,狀態空間模型(State Space Models, SSMs)[56]–[59]展現了在保持線性復雜度的同時捕獲長程依賴關系的卓越能力。因此,許多工作專注于將視覺SSM應用于計算機視覺任務[45]、[60]–[64]。例如,VMamba[61]提出了跨掃描策略以彌合有序序列與非因果視覺圖像之間的差距。MambaSR[60]將Mamba擴展應用于圖像超分辨率。EVSSM[17]則提出了基于SSM的高效去模糊網絡。后續研究如Retinex-Mamba[8]、WaveMamba[10]和MambaLLIE[45]聚焦于利用SSM進行低光照增強。基于Mamba在圖像恢復中的成功,本研究首次將Mamba應用于低光照增強與去模糊聯合任務的高效恢復。
III. 方法
A. 前置知識
狀態空間模型
狀態空間模型(SSMs)源自線性時不變(LTI)系統,其中輸入 x ( t ) ∈ R x(t) \in \mathbb{R} x(t)∈R 通過隱式潛在狀態 h ( t ) ∈ R N h(t) \in \mathbb{R}^N h(t)∈RN 映射到輸出響應 y ( t ) ∈ R y(t) \in \mathbb{R} y(t)∈R, N N N 表示狀態大小。系統可數學形式化為線性常微分方程(ODE):
h ′ ( t ) = A h ( t ) + B x ( t ) , y ( t ) = C h ( t ) + D x ( t ) , h'(t) = A h(t) + B x(t), \quad y(t) = C h(t) + D x(t), h′(t)=Ah(t)+Bx(t),y(t)=Ch(t)+Dx(t),
其中 A ∈ R N × N A \in \mathbb{R}^{N \times N} A∈RN×N, B ∈ R N × 1 B \in \mathbb{R}^{N \times 1} B∈RN×1, C ∈ R 1 × N C \in \mathbb{R}^{1 \times N} C∈R1×N, 和 D ∈ R D \in \mathbb{R} D∈R 是權重參數。
為了實際實現,連續 SSM 需轉換為離散版本。具體而言,矩陣 A A A 和 B B B 通過零階保持(ZOH)模型轉換為離散形式 A ˉ \bar{A} Aˉ 和 B ˉ \bar{B} Bˉ:
A ˉ = exp ? ( Δ A ) , B ˉ = ( Δ A ) ? 1 ( exp ? ( A ) ? I ) ? Δ B , \bar{A} = \exp(\Delta A), \quad \bar{B} = (\Delta A)^{-1}(\exp(A) - I) \cdot \Delta B, Aˉ=exp(ΔA),Bˉ=(ΔA)?1(exp(A)?I)?ΔB,
其中 Δ \Delta Δ 和 I I I 分別表示時間尺度參數和單位矩陣, exp ? ( ? ) \exp(\cdot) exp(?) 是指數函數。
隨后,方程可重寫為:
h t = A ˉ h t ? 1 + B ˉ x t , y t = C h t + D x t . h_t = \bar{A} h_{t-1} + \bar{B} x_t, \quad y_t = C h_t + D x_t. ht?=Aˉht?1?+Bˉxt?,yt?=Cht?+Dxt?.
最近,Mamba[65] 被引入以實現動態特征表示,使得參數 B ˉ \bar{B} Bˉ, C C C 和 Δ \Delta Δ 依賴于輸入。基于類似遞歸結構,Mamba 能夠從長序列中捕獲信息,從而激活大量像素以貢獻于恢復過程。此外,Mamba 采用并行掃描算法[66] 優化訓練和推理過程。
B. 總體流程
提出的 LIEDNet 管道如圖 3 ( a ) 3(a) 3(a) 所示。總體上,LIEDNet 由編碼器-解碼器架構組成。我們表示輸入退化圖像為 I ∈ R H × W × 3 I \in \mathbb{R}^{H \times W \times 3} I∈RH×W×3,其中 H H H 和 W W W 分別是圖像的高度和寬度。
圖像首先通過補丁嵌入模塊處理,提取淺層特征 F s ∈ R ( H / r ) × ( W / r ) × C F_s \in \mathbb{R}^{(H/r) \times (W/r) \times C} Fs?∈R(H/r)×(W/r)×C,其中 r r r 是縮放因子。隨后, F s F_s Fs? 通過三級編碼器處理,每級包含多個局部 Mamba 模塊(LMBs)和級間下采樣層。此過程降低空間分辨率同時增加通道容量,在瓶頸處生成深層特征 F b ∈ R ( H / 8 ) × ( W / 8 ) × 4 C F_b \in \mathbb{R}^{(H/8) \times (W/8) \times 4C} Fb?∈R(H/8)×(W/8)×4C。為引入中間監督,我們從 F b F_b Fb? 預測 I ^ ↓ 8 \hat{I}_{\downarrow8} I^↓8?,并利用下采樣的真實標簽 Y ↓ 8 Y_{\downarrow8} Y↓8? 計算低光增強損失。解碼器逐步將特征上采樣回原始圖像尺寸。跳躍連接用于將編碼器特征傳遞到對應解碼器層,增強特征表示。最終,通過將輸入退化圖像 I I I 與恢復圖像 I ^ \hat{I} I^ 相加,生成最終輸出。我們計算 I ^ \hat{I} I^ 與 Y Y Y 之間的去模糊損失。
C. 局部 Mamba 模塊 (LMB模塊)
我們引入 LMB 模塊以通過有效整合全局和局部信息來增強特征表示。LMB 的架構如圖 3(b) 所示,包含三個關鍵組件:用于全局特征提取的VSSM、用于獲取局部特征的LFM,以及用于多尺度特征學習(多尺度學習通過結合不同層級的特征,使模型既能關注局部細節,又能理解全局上下文)的 DGDFFN。給定輸入特征 F i F_i Fi?,首先應用層歸一化(LN)進行初步處理。隨后,特征通過 VSSM 和 LFM 并行處理。最后,DGDFFN 用于學習和細化結構信息。
全局特征模塊VSSM:受 Mamba 捕獲長程依賴關系的能力啟發,我們在 LIEDNet 中利用 VSSM 作為全局特征模塊。如圖 3 ( c ) 3(c) 3(c) 所示,我們遵循先前工作[61],通過兩個并行分支處理輸入特征 F n ∈ R H × W × C F_n \in \mathbb{R}^{H \times W \times C} Fn?∈RH×W×C。具體而言,第一個分支通過線性層后接 3 × 3 3×3 3×3 深度卷積層和 SiLU 激活函數處理特征,隨后通過 2D選擇性掃描模塊2D-SSM和層歸一化。第二個分支通過線性層擴展特征,后接 SiLU 激活函數。最終,通過點積結合兩分支特征,并通過線性層將通道數還原為 C C C。
整個過程表示為:
F 1 , F 2 = Chunk ( F n ) , F 1 ′ = LN ( 2 D S S M ( SiLU ( Dw 3 × 3 ( ? ( F 1 ) ) ) ) ) , F_1, F_2 = \text{Chunk}(F_n), \quad F'_1 = \text{LN}(2DSSM(\text{SiLU}(\text{Dw}_{3 \times 3}(\phi(F_1))))), F1?,F2?=Chunk(Fn?),F1′?=LN(2DSSM(SiLU(Dw3×3?(?(F1?))))),
F 2 ′ = SiLU ( ? ( F 2 ) ) , F global = ? ( F 1 ′ ⊙ F 2 ′ ) . F'_2 = \text{SiLU}(\phi(F_2)), \quad F_{\text{global}} = \phi(F'_1 \odot F'_2). F2′?=SiLU(?(F2?)),Fglobal?=?(F1′?⊙F2′?).
局部特征模塊LAM:在低光條件下,局部區域的照明差異較大,全局操作容易導致次優恢復結果[5]。此外,去模糊需要豐富的局部信息以有效恢復紋理細節。受 Squeeze-and-Excitation 框架[67] 啟發,我們引入 LFM 以更有效地捕捉局部特征。如圖 3(d) 所示,我們首先將歸一化后的特征沿通道維度通過全局平均池化(GAP)層,生成大小為 H × W × 1 H \times W \times 1 H×W×1 的特征圖。然后,通過兩個插入 ReLU 激活函數的 1×1 卷積層提取深層特征。最終,通過 Sigmoid 函數處理深層特征,獲得通道權重 W W W,用于自適應調整每個通道的重要性。具體表示為:
W = σ ( W 1 × 1 ( ReLU ( W 1 × 1 ( GAP ( F n ) ) ) ) ) , F local = W ⊙ F n . W = \sigma(W_{1 \times 1}(\text{ReLU}(W_{1 \times 1}(\text{GAP}(F_n))))), \quad F_{\text{local}} = W \odot F_n. W=σ(W1×1?(ReLU(W1×1?(GAP(Fn?))))),Flocal?=W⊙Fn?.
雙門控卷積前饋網絡DGDFFN:為從圖像特征中獲取更多結構信息,我們提出 DGDFFN,其架構如圖 3(e) 所示。我們首先使用 1×1 卷積層處理輸入特征,然后將特征拆分為三個分支。主分支使用 3×3 深度卷積層和 GeLU 激活函數。同時,我們將默認 GDFFN[16] 中的門控分支從 3×3 深度卷積擴展為 3×3 和 5×5 深度卷積的組合。隨后,通過 ReLU 激活函數拼接特征,并通過 1×1 卷積層將通道數從 2 C 2C 2C 降至 C C C。最終,主分支和門控分支的特征通過逐元素乘法結合,生成輸出特征。DGDFFN 的過程表示為:
F 1 , F 2 , F 3 = Chunk ( W 1 × 1 ( F n ′ ) ) , F m = GeLU ( Dw 3 × 3 ( F 1 ) ) , F_1, F_2, F_3 = \text{Chunk}(W_{1 \times 1}(F'_n)), \quad F_m = \text{GeLU}(\text{Dw}_{3 \times 3}(F_1)), F1?,F2?,F3?=Chunk(W1×1?(Fn′?)),Fm?=GeLU(Dw3×3?(F1?)),
F g = W 1 × 1 ( ReLU ( Dw 3 × 3 ( F 2 ) ) ⊕ ReLU ( Dw 5 × 5 ( F 3 ) ) ) , F_g = W_{1 \times 1}(\text{ReLU}(\text{Dw}_{3 \times 3}(F_2)) \oplus \text{ReLU}(\text{Dw}_{5 \times 5}(F_3))), Fg?=W1×1?(ReLU(Dw3×3?(F2?))⊕ReLU(Dw5×5?(F3?))),
F ′ = W 1 × 1 ( F m ⊙ F g ) . \quad F' = W_{1 \times 1}(F_m \odot F_g). F′=W1×1?(Fm?⊙Fg?).
D. 損失函數
我們遵循[5] 實現低光增強損失 L lle L_{\text{lle}} Llle? 和去模糊損失 L deb L_{\text{deb}} Ldeb?。
低光增強損失
由于 LLIE 和去模糊的目標不同,中間監督是必要的,尤其是對于曝光調整的約束。因此,我們在編碼器特征的最小(×8)下采樣尺度上應用 L 1 L_1 L1? 損失和感知損失:
L lle = ∥ I ^ ↓ 8 ? Y ↓ 8 ∥ 1 + λ per ∥ f VGG19 ( I ^ ↓ 8 ) ? f VGG19 ( Y ↓ 8 ) ∥ 1 , L_{\text{lle}} = \| \hat{I}_{\downarrow8} - Y_{\downarrow8} \|_1 + \lambda_{\text{per}} \| f_{\text{VGG19}}(\hat{I}_{\downarrow8}) - f_{\text{VGG19}}(Y_{\downarrow8}) \|_1, Llle?=∥I^↓8??Y↓8?∥1?+λper?∥fVGG19?(I^↓8?)?fVGG19?(Y↓8?)∥1?,
其中 f VGG19 ( ? ) f_{\text{VGG19}}(\cdot) fVGG19?(?) 表示預訓練的 VGG19 模型[68], ∥ ? ∥ \|\cdot\| ∥?∥ 表示 L 1 L_1 L1? 損失函數。
去模糊損失
我們同樣利用 L 1 L_1 L1? 損失和感知損失定義去模糊損失 L deb L_{\text{deb}} Ldeb?:
L deb = ∥ I ^ ? Y ∥ 1 + λ per ∥ f VGG19 ( I ^ ) ? f VGG19 ( Y ) ∥ 1 . L_{\text{deb}} = \| \hat{I} - Y \|_1 + \lambda_{\text{per}} \| f_{\text{VGG19}}(\hat{I}) - f_{\text{VGG19}}(Y) \|_1. Ldeb?=∥I^?Y∥1?+λper?∥fVGG19?(I^)?fVGG19?(Y)∥1?.
因此,最終損失定義為:
L = λ lle L lle + λ deb L deb , L = \lambda_{\text{lle}} L_{\text{lle}} + \lambda_{\text{deb}} L_{\text{deb}}, L=λlle?Llle?+λdeb?Ldeb?,
其中 λ per , λ lle , λ deb \lambda_{\text{per}}, \lambda_{\text{lle}}, \lambda_{\text{deb}} λper?,λlle?,λdeb? 分別設置為 0.01、0.8 和 1。