文章目錄
- 1 概述
- 2 模塊
- 2.1 總體說明
- 2.2 LE曲線(Light Enhance Curve)
- 2.3 DCE-Net
- 2.4 無監督損失
- 2.4.1 空間一致性損失
- 2.4.2 曝光控制損失
- 2.4.3 顏色恒定損失
- 2.4.4 照明平滑度損失
- 2.5 ZeroDCE++
- 3 效果
- 3.1 不同損失函數組合的效果
- 3.2 參數設置影響
- 3.3 訓練數據的影響
- 3.4 不同模型效果對比
- 參考文獻
1 概述
本文提出了名為Zero-DCE的圖像亮度增強方法,速度很快,泛化能力很強。作者訓練了一個輕量級深度網絡DCENet,用于對給定圖像進行高階曲線參數估計,每個像素會估計一個高階曲線,用于調整每個像素的亮度。該曲線估計方法經過專門設計,充分考慮了像素值范圍、單調性和可微性等特性。
Zero-DCE的優勢在于其對參考圖像的寬松假設:訓練過程中既不需要配對數據也不需要非配對數據,整個是一個無監督的過程。
2 模塊
2.1 總體說明
圖2-1展示了ZeroDCE的網絡架構。該框架通過設計深度曲線估計網絡(DCE-Net),能夠根據輸入圖像生成一組最佳擬合的亮度增強曲線(LE曲線)。隨后,系統通過迭代應用這些曲線對輸入圖像的RGB通道所有像素進行映射處理,最終獲得增強后的圖像。
2.2 LE曲線(Light Enhance Curve)
作者嘗試設計一種能夠自動將低光圖像映射到增強版本的自適應曲線。該曲線參數完全依賴輸入圖像,其設計包含三個目標:
1)增強圖像的每個像素值應保持在[0,1]的標準化范圍內,避免因溢出截斷導致的信息丟失;
2)曲線需保持單調性以保留相鄰像素間的對比度差異;
3)曲線形態應盡可能簡潔,并在梯度反向傳播過程中保持可微性。
作者根據這三個目標設計的曲線為
LE(I(x);α)=I(x)+αI(x)(1?I(x))(2-1)LE(I(x);\alpha) = I(x) + \alpha I(x) (1 - I(x)) \tag{2-1} LE(I(x);α)=I(x)+αI(x)(1?I(x))(2-1)
其中,xxx表示像素坐標;I(x)I(x)I(x)為原始的像素值;已經被歸一化為[0,1][0, 1][0,1];LE(I(x);α)LE(I(x);\alpha)LE(I(x);α)為亮度增強后的像素值;α∈[?1,1]\alpha \in [-1, 1]α∈[?1,1]是訓練得到的參數,每個像素位置不同。
作者將LE曲線分別單獨應用于RGB通道,而不僅僅是在照明通道上應用。這種三通道調整可以更好地保留固有顏色,減少過飽和的風險。
圖2-1(b)展示了不同α\alphaα下像素的映射關系。顯然,LE曲線符合上述三個目標。此外,LE曲線使我們能夠增加或減少輸入圖像的動態范圍。這一功能不僅有助于增強低光區域,還有助于消除過曝偽影。
從圖2-1(b)中不難看出,當α=1\alpha=1α=1時,原先為0.2的值會被映射到0.4左右;當α=?1\alpha=-1α=?1時,原先為0.2的值會被映射到0.05左右。可見LE曲線既可以增強亮度,也可以減弱亮度,結果取決于模型預測的α\alphaα值大小。
式2-1所示的LE曲線可以經過多次迭代得到更高階的曲線,有很強的非線性表達能力。
LEn(x)=LEn?1(x)+αnLEn?1(x)(1?LEn?1(x))(2-2)LE_n(x) = LE_{n-1}(x) + \alpha_n LE_{n-1}(x)(1 - LE_{n-1}(x)) \tag{2-2} LEn?(x)=LEn?1?(x)+αn?LEn?1?(x)(1?LEn?1?(x))(2-2)
其中,nnn表示迭代的次數,在本文中n=8n=8n=8。
圖2-1?展示了當α1=α2=α3=?1\alpha_1=\alpha_2=\alpha_3=-1α1?=α2?=α3?=?1時,α4\alpha_4α4?取不同值時的LE4(x)LE_4(x)LE4?(x)曲線。這是為了展示其非線性表達能力。
高階曲線能夠調整圖像在更寬動態范圍內的表現。然而,由于ααα參數應用于所有像素,這種全局調整仍存在局限性——容易導致局部區域過度或不足增強。為解決這一問題,作者將α參數化為逐像素的配置方案,即給定輸入圖像中每個像素都對應一條最佳擬合的動態范圍調節曲線。因此,式2-2可重新表述為
LEn(x)=LEn?1(x)+An(x)LEn?1(x)(1?LEn?1(x))(2-3)LE_n(x) = LE_{n-1}(x) + A_n(x) LE_{n-1}(x)(1 - LE_{n-1}(x)) \tag{2-3} LEn?(x)=LEn?1?(x)+An?(x)LEn?1?(x)(1?LEn?1?(x))(2-3)
其中,AAA為參數矩陣圖。
作者假設局部區域內的像素具有相同的強度(以及相同的調整曲線),因此輸出結果中的相鄰像素仍能保持單調關系。通過這種方式,像素級的高階曲線也符合三個目標。
作者在圖2-2中展示了三個通道的估計曲線參數圖示例。不同通道的最佳擬合參數圖雖然調整趨勢相似,但數值存在差異,這表明低光圖像的三個通道具有相關性與差異性。曲線參數圖精準呈現了不同區域的亮度特征(例如墻面上的兩處反光點)。通過這些擬合圖,可直接進行像素級曲線映射生成增強版圖像。如圖2-2(e)所示,增強版圖像能清晰呈現暗部內容并保留亮部細節。
在可視化方面,作者對所有迭代(n=8n=8n=8)的曲線參數圖進行平均,并將數值歸一化到[0,1][0,1][0,1]范圍內。AnRA_n^RAnR?,AnGA_n^GAnG?,AnBA_n^BAnB?分別表示RGB三個通道的最佳LE曲線參數,通過熱力圖進行可視化。
2.3 DCE-Net
為實現輸入圖像與其最佳擬合曲線參數圖之間的映射關系,作者提出了一種深度曲線估計網絡(DCE-Net)。該網絡以低光圖像作為輸入,輸出對應高階曲線的像素級參數圖。
DCE-Net的詳細架構不是重點,這里不進行詳述,可參考圖2-3。需要注意的是,作者去除了破壞相鄰像素關聯性的下采樣和批量歸一化層。然后,對于尺寸為256×256×3的輸入圖像,該網絡僅需79,416個可訓練參數和5.21G次浮點運算量,因此具有輕量化特性,適用于移動平臺等計算資源受限的設備。
2.4 無監督損失
亮度增強訓練的數據對難以獲得,因此作者設計了四個不需要真值的損失函數,用于評價經過網絡后生成的圖像的亮度。
2.4.1 空間一致性損失
空間一致性損失LspaL_{spa}Lspa?通過保留輸入圖像與其增強版本之間相鄰區域的差異,促進了增強圖像的空間一致性。
Lspa=1K∑i=1K∑j∈Ω(i)(∣(Yi?Yj)∣?∣(Ii?Ij)∣)2(2-4)L_{spa} = \frac{1}{K} \sum^K_{i=1} \sum_{j \in \Omega(i)} (|(Y_i - Y_j)| - |(I_i - I_j)|)^2 \tag{2-4} Lspa?=K1?i=1∑K?j∈Ω(i)∑?(∣(Yi??Yj?)∣?∣(Ii??Ij?)∣)2(2-4)
其中,KKK表示局部區域的數量,?(i)?(i)?(i)代表以該區域為中心的四個相鄰區域(上方、下方、左側、右側)。分別用YYY和III表示增強版圖像與原始輸入圖像中對應局部區域的平均強度值。實驗中作者經驗性地將局部區域尺寸設定為4×4。該損失函數在其他區域尺寸條件下保持穩定。
2.4.2 曝光控制損失
為抑制欠曝光/過曝光區域,作者設計了曝光控制損失函數LexpL_{exp}Lexp?來調控曝光水平。該損失函數通過測量局部區域平均亮度值與最佳曝光度E之間的距離進行評估。作者參照現有研究將E設定為RGB色彩空間中的灰度級別。實驗中將E設為0.6,作者實驗發現在[0.4,0.7]范圍內調整E值并未顯著影響性能表現。
該損失函數LexpL_{exp}Lexp?可表示為
Lexp=1M∑k=1M∣Yk?E∣(2-5)L_{exp} = \frac{1}{M} \sum^M_{k=1} |Y_k - E| \tag{2-5} Lexp?=M1?k=1∑M?∣Yk??E∣(2-5)
其中M表示大小為16×16的非重疊局部區域的數量,Y是增強圖像中局部區域的平均強度值。
取不同的EEE進行訓練的效果如下圖2-5所示。
2.4.3 顏色恒定損失
根據灰度世界顏色恒定性假設(該假設認為每個傳感器通道的顏色在整個圖像中平均為灰色),設計了顏色恒定性損失函數,用于校正增強圖像中可能出現的顏色偏差,并建立三個調整后的通道之間的關聯關系。顏色恒定性損失函數LcolL_{col}Lcol?可表示為
Lcol=∑?(p,q)∈?(Jp?Jq)2,?={(R,G),(R,B),(G,B)}(2-6)L_{col} = \sum_{\forall (p,q) \in \epsilon} (J^p - J^q)^2, \epsilon = \{(R,G), (R,B), (G,B)\} \tag{2-6} Lcol?=?(p,q)∈?∑?(Jp?Jq)2,?={(R,G),(R,B),(G,B)}(2-6)
其中,JpJ_pJp?表示增強圖像中ppp通道的平均強度值,(p,q)(p,q)(p,q)表示一對通道。
2.4.4 照明平滑度損失
為了保持相鄰像素之間的單調性關系,也就是相鄰像素之間的變化盡可能一致,作者在每個曲線參數圖AAA中添加了一個光照平滑損失。光照平滑損失LtvAL_{tvA}LtvA?的定義為
LtvA=1N∑n=1N∑c∈ξ(∣?xAnc∣+∣?yAnc∣)2,ξ={R,G,B}(2-7)L_{tvA} = \frac{1}{N}\sum^N_{n=1} \sum_{c \in \xi} (|\nabla_xA_n^c| + |\nabla_yA_n^c|)^2, \xi = \{R,G,B\} \tag{2-7} LtvA?=N1?n=1∑N?c∈ξ∑?(∣?x?Anc?∣+∣?y?Anc?∣)2,ξ={R,G,B}(2-7)
其中,NNN是迭代次數,?x\nabla_x?x?和?y\nabla_y?y?分別表示水平和垂直梯度算子。
2.5 ZeroDCE++
ZeroDCE++只是輕量化了模型,效果還是ZeroDCE更好。
為了進一步輕量化模型,作者深入研究了增強性能與網絡結構、曲線估計及輸入尺寸之間的關系。研究發現:
1)DCE-Net中使用的卷積層可替換為更高效的深度可分離卷積,可在不顯著影響性能的前提下減少網絡參數;
2)不同迭代階段(Zero-DCE共八次迭代)的曲線參數估計結果大多相似。圖2-6展示了不同迭代階段的曲線參數估計圖及其差異圖對比。觀察發現,曲線參數圖具有高度一致性,差異圖中的數值差異微乎其微。這些結果表明,曲線參數圖可在多數情況下重復使用于不同迭代階段,因此可將曲線參數估計圖數量從24個精簡至3個;
3)本文的方法對輸入圖像尺寸不敏感。因此,可采用降采樣的輸入作為曲線參數估計網絡的輸入,再將估計的曲線參數圖上采樣回原始分辨率進行圖像增強。低分辨率輸入能顯著降低計算成本。
基于上述發現,我們從三個方面對Zero-DCE進行了改進。
第一,通過將卷積層替換為深度可分離卷積來重新設計DCE-Net,從而減少網絡參數。每個深度可分離卷積層由兩部分組成:首先是步長為1的3×3深度卷積,其次是步長同樣為1的1×1逐點卷積。
第二,重新構建曲線估計模型,僅需估算3個曲線參數圖,然后在不同迭代階段重復使用這些參數,而無需像傳統方法那樣在八次迭代中估算24個參數圖。因此,方程2-3可重新表述為
LEn(x)=LEn?1(x)+A(x)LEn?1(x)(1?LEn?1(x))(2-8)LE_n(x) = LE_{n-1}(x) + A(x) LE_{n-1}(x)(1 - LE_{n-1}(x)) \tag{2-8} LEn?(x)=LEn?1?(x)+A(x)LEn?1?(x)(1?LEn?1?(x))(2-8)
第三,可以將降采樣后的圖像作為網絡輸入來估計曲線參數圖。默認情況下,在Zero-DCE++中將輸入圖像按12倍比例降采樣,以平衡增強效果與計算成本。即使采用極端降采樣比例,本文的方法仍能保持良好性能。具體原因簡要說明如下:首先,雖然本文使用降采樣后的輸入來估計曲線參數,但基于局部區域像素具有相同強度(以及相同調整曲線)的假設,會將縮小后的曲線參數圖重新調整至與原始輸入圖像相同的尺寸。從輸入圖像到增強圖像的映射是在原始分辨率下完成的。其次,提出的空間一致性損失函數促使結果保留輸入圖像的內容特征。第三,本框架采用的是區域級而非像素級的損失函數。
這些修改使Zero-DCE++具有微小的網絡(10K可訓練參數,0.115G FLOPs用于大小為1200×900×3的圖像),實時推理速度(在單個GPU/CPU上對大小為1200×900×3的圖像進行推理時為1000/11 FPS)和快速訓練(20分鐘)等優點。
3 效果
3.1 不同損失函數組合的效果
圖3-1中展示了采用不同損失函數組合訓練的ZeroDCE模型效果。
無空間一致性損失LspaL_{spa}Lspa?時,對比度表現(如云層區域)明顯遜色于完整模型。這表明LspaL_{spa}Lspa?在保留輸入圖像與增強圖像相鄰區域差異方面具有關鍵作用。
無曝光控制損失LexpL_{exp}Lexp?,則無法有效恢復低光區域細節。
無顏色恒定性損失LcolL_{col}Lcol?時,會出現嚴重的色彩偏移現象。該變體在應用曲線映射時忽略了三個通道間的關聯性。
無光照平滑性損失LtvAL_{tvA}LtvA?會破壞相鄰區域間的關聯性,導致明顯的偽影生成。
3.2 參數設置影響
圖3-2表示了在不同的參數設置下訓練得到的模型效果,l?f?nl-f-nl?f?n分別表示lll層卷積,fff表示特征圖的通道數,nnn表示迭代次數。
在圖3-2(b)中,僅需3個卷積層的Zero?DCE3?32?8Zero-DCE_{3?32?8}Zero?DCE3?32?8?模型就能取得令人滿意的效果。Zero?DCE7?32?8Zero-DCE_{7?32?8}Zero?DCE7?32?8?和ZeroDCE7?32?16ZeroDCE_{7?32?16}ZeroDCE7?32?16?模型在視覺效果上表現最佳,展現出自然曝光與恰當對比度。當迭代次數減少至1次時,如圖3-2(d)所示,Zero?DCE7?32?1Zero-DCE_{7?32?1}Zero?DCE7?32?1?模型的性能出現明顯下降。這是因為單次迭代的曲線調整能力有限,說明本文的方法需要采用更高階的曲線模型。綜合考慮效率與修復效果之間的平衡,最終選定Zero?DCE7?32?8Zero-DCE_{7?32?8}Zero?DCE7?32?8?作為最優模型。
3.3 訓練數據的影響
為測試訓練數據的影響,作者對Zero-DCE模型進行了不同數據集的再訓練:
1)僅使用原始訓練集中2422張圖像中的900張低光圖像(Zero?DCELowZero-DCE_{Low}Zero?DCELow?)
2)采用DARK FACE數據集提供的9000張未標注低光圖像(ZeroDCELargeLZeroDCE_{LargeL}ZeroDCELargeL?)
3)使用SICE數據集中Part1和Part2子集經過數據增強組合后的4800張多曝光圖像(Zero?DCELargeLHZero-DCE_{LargeLH}Zero?DCELargeLH?)
如圖3-3?和(d)所示,在剔除過曝訓練數據后,Zero-DCE即使使用更多低光圖像(即ZeroDCELargeLZeroDCE_{LargeL}ZeroDCELargeL?),仍傾向于過度增強明亮區域(如人臉)。這些結果表明,在網絡訓練過程中使用多曝光訓練數據具有合理性和必要性。
此外,當使用多種曝光訓練數據時(即Zero?DCELargeLHZero-DCE_{LargeLH}Zero?DCELargeLH?),Zero-DCE能更好地恢復暗部區域,如圖3-3(e)所示。
3.4 不同模型效果對比
不同模型之間的可視化效果對比可見圖3-4。
不同模型之間的指標對比可見表3-1。
不同模型之間的速度對比可見表3-2。
參考文獻
[1] Zero-Reference Deep Curve Estimation for Low-Light Image Enhancement
[2] Learning to Enhance Low-Light Image via Zero-Reference Deep Curve Estimation